Weitere ähnliche Inhalte
Ähnlich wie 2012研究室紹介(大川)
Ähnlich wie 2012研究室紹介(大川) (20)
2012研究室紹介(大川)
- 1. 2012/10/2 Utsunomiya University, Dept. of Information Systems Sci. 1
研究室紹介(2012)
宇都宮大学 大学院工学研究科
情報システム科学専攻
大川猛
- 2. 2012/10/2 Utsunomiya University, Dept. of Information Systems Sci. 2
大川研究室の研究テーマ
• Reconfigurable Computingという研究分野
(リコンフィギャラブル:機能可変)
• 【1】機能可変なハードウェア(FPGAなど)による、
プログラム実行の変化に対応する実行時最適化方式
• 目的: 処理性能向上、消費電力削減
+ 設計生産性向上(コスト削減)
• 【2】 FPGAを含む分散システム向け基本ソフトウェア
• 目的: 処理性能向上、消費電力削減
+ 設計生産性向上(コスト削減)
- 3. 2012/10/2 Utsunomiya University, Dept. of Information Systems Sci. 3
FPGAとは
• FPGA : Field Programmable Gate Array
• 現場(フィールド)で(機能を)プログラム可能なゲートアレイ
• ゲートアレイとは: トランジスタ(ゲートアレイ)を作ってある半導体
基板に、配線層だけをオーダーメイドで作る製造手法
• フィールドでプログラム可能にする方法は?
• 配線+スイッチをたくさん用意しておく
• スイッチのON/OFFで、配線を(ある程度)自由につなぎかえる
• スイッチ=トランジスタ
mem mem
- 4. 2012/10/2 Utsunomiya University, Dept. of Information Systems Sci. 4
FPGAのデザインフロー
ソース
(RTL) デザイン検証
論理シミュレーション
Synthesis (RTL)
論理合成
論理シミュレーション
Implementation (ゲートレベル)
配置配線
タイミング情報を含めた
コンフィギュレーション シミュレーション
データ生成
FPGAデバイスへの 実デバイスでの
ダウンロード 動作検証
- 5. 2012/10/2 Utsunomiya University, Dept. of Information Systems Sci. 5
RTLの例 (Verilog-HDL)
module bcount4 ( RSTb, clk, Q );
output [3:0] Q; クロックが立ち上がる度に
input RSTb, clk;
always @ (posedge clk)
begin
if (!RSTb) ここに書かれたことをする
Q <= 4'h00; (レジスタQを書き換える)
else →Register Transfer Level
Q <= Q + 4'h01;
end
endmodule
- 6. 2012/10/2 Utsunomiya University, Dept. of Information Systems Sci. 6
RTLからの回路合成後のネットリスト例
module bcount4 ( clk, RSTb, Q );
output [3:0] Q;
input clk, RSTb;
wire N7, N8, N9, N10, N4, N5, N6, n1, ¥add_12/carry[2] , ¥add_12/carry[3] ;
AND2 I11 ( .A(n1), .B(RSTb), .Y(N10) );
AND2 I6 ( .A(Q[1]), .B(Q[0]), .Y(¥add_12/carry[2] ) );
XOR2 I7 ( .A(Q[1]), .B(Q[0]), .X(N4) );
AND2 I4 ( .A(Q[2]), .B(¥add_12/carry[2] ), .Y(¥add_12/carry[3] ) );
XOR2 I5 ( .A(Q[2]), .B(¥add_12/carry[2] ), .X(N5) );
AND2 I8 ( .A(RSTb), .B(N4), .Y(N9) );
DF ¥Q_reg[0] ( .CP(clk), .A(N10), .X(Q[0]), .Y(n1) );
XOR2 I3 ( .A(Q[3]), .B(¥add_12/carry[3] ), .X(N6) );
AND2 I9 ( .A(N5), .B(RSTb), .Y(N8) );
DF ¥Q_reg[1] ( .CP(clk), .A(N9), .X(Q[1]) );
AND2 I10 ( .A(N6), .B(RSTb), .Y(N7) );
DF ¥Q_reg[2] ( .CP(clk), .A(N8), .X(Q[2]) );
DF ¥Q_reg[3] ( .CP(clk), .A(N7), .X(Q[3]) );
endmodule
- 7. 2012/10/2 Utsunomiya University, Dept. of Information Systems Sci. 7
機能可変なハードウェア(FPGA)の応用
• FPGAは最大で約200万の基本素子が搭載
• 超並列で計算するシステムを設計することが可能
• 例)
• 画像処理・画像認識・音声処理
• 流体シミュレーション・電磁界シミュレーション
【1】プログラム実行の変化に対応する実行時最適化方式
• 複雑なアプリ → 入力データにより処理の負荷が大幅に変動する
• 通常の固定的なハードウェアは、画一的処理しかしない。
• 機能可変なハードウェアを活用し、ハードウェアを必要に応じてプログラム
• 機能可変なシステムを如何に設計するか(プログラミングモデル)
• RTLでの設計では難しい → 高位言語合成、設計言語の適材適所組合せなど
- 8. 2012/10/2 Utsunomiya University, Dept. of Information Systems Sci. 8
問題1:FPGAに作った回路を
どうやってソフトウェアから動かす?
• ALTERA SOPC Builder
• Xilinx EDK (Embedded Development Kit)
→FPGAベンダーからツールが販売されています
– Xilinx EDKの概要
– プラットフォーム・ベースの回路設計ツール
• IP部品をバスに接続することで、FPGA回路を設計可能
– 組込みソフトウェア開発ツール
• FPGA上のARMハードコアもしくはMicroBlazeソフトコアを上記プラット
フォームに接続
• ソフトウェア開発(C/C++)Eclipse環境
• JTAG経由でのデバッグ(ソースコードレベル)
• OS
– XMK(Xilinx Micro Kernel)
– 商用Linux (MontaVista, WindRiver, BlueCat…)
– 商用RTOS(VxWorks)
- 9. 2012/10/2 Utsunomiya University, Dept. of Information Systems Sci. 9
問題2:FPGAに作ったソフトウェアを
どうやって外部のシステム(PC等)から
動かす? FPGA ソフトウェア
C/C++
PC
ソフトウェア
Java・C#など
CPU CPU
自分の
作った
回路
【2】FPGAを含む分散システム向け基本ソフトウェア
FPGAとPCを接続する為のソフトウェア開発
◦ FPGA上のソフトウェアはC/C++で記述、何らかのOS・ミドルウェアを使用
FPGA上の回路やソフトウェアをオブジェクトとして扱うことで
開発生産性を向上(オブジェクト指向の設計が可能)
ORB(オブジェクト要求ブローカ)の考え方
- 10. 2012/10/2 Utsunomiya University, Dept. of Information Systems Sci. 10
教育方針
• 学部の卒業生には
• 【防御力】企業に勤めた時に周囲の環境に負けない力
• 自分で成長するための力、這い上がれる力 (メタスキル)
• 【防御力】情報技術者としての常識
• プログラミング・情報整理術・情報検索術
• 【攻撃力】就職活動でアピールできる力
• 自分を売り込む能力 (プレゼン能力)
• 大学院の卒業生には
• 上記の力にくわえて・・・
• 【防御力】セルフマネジメント力
• 計画的に物事を進める力、プロジェクトを失敗しないスキル
• 【攻撃力】情報技術者としての強み
• 世界一・世界初の成果
- 11. 2012/10/2 Utsunomiya University, Dept. of Information Systems Sci. 11
大川研究室のまとめ
• つまり研究テーマは、
• 【1】機能可変なハードウェア(FPGAなど)による、
プログラム実行の変化に対応する実行時最適化方式
• 【2】 FPGAを含む分散システム向け基本ソフトウェア
• 応用は、
• Android(スマートフォン)・組込みシステム・ロボッ
ト制御
• 情報工学と半導体・電子工学の境界
= ソフトウェアとハードウェアの境界
Reconfigurable Computing
• 興味を持ったら説明会にどうぞ