More Related Content
PDF
PDF
PDF
2値化CNN on FPGAでGPUとガチンコバトル(公開版) PDF
PDF
Tensor flow usergroup 2016 (公開版) PDF
PDF
電波望遠鏡用の分光器をAltera SDK for OpenCL使ってサクッと作ってみた PDF
第4回 配信講義 計算科学技術特論A (2021) What's hot
PDF
PDF
第1回 配信講義 計算科学技術特論A (2021) PDF
2015年度GPGPU実践プログラミング 第10回 行列計算(行列-行列積の高度な最適化) PDF
PPTX
なにわTech20170218(tpu) tfug PDF
PDF
PDF
DEEP LEARNING、トレーニング・インファレンスのGPUによる高速化 PDF
PDF
GPGPU Seminar (GPU Accelerated Libraries, 2 of 3, cuSPARSE) PDF
2015年度GPGPU実践プログラミング 第7回 総和計算 PDF
PDF
Chainerチュートリアル -v1.5向け- ViEW2015 PDF
PPTX
PDF
PPTX
論文紹介:「End-to-end Sequence Labeling via Bi-directional LSTM-CNNs-CRF」 PDF
ディープラーニングフレームワーク とChainerの実装 Similar to 2012研究室紹介(大川)
PDF
Synthesijer.Scala (PROSYM 2015) PPTX
PPTX
PDF
PPTX
PPTX
Androidとfpgaを高速fifo通信させちゃう PPTX
STARC RTL設計スタイルガイドによるVerilog HDL並列記述の補強 PDF
PDF
FPGAをロボット(ROS)で「やわらかく」使うには PDF
第3回ローレイヤー勉強会 : FPGAでコンピュータを作ってみた PDF
ACRi_webinar_20220118_miyo PDF
PPTX
How to use STARC RTL Design Style Guide Verilog-HDL 2011 version PDF
Synthesijer fpgax 20150201 PDF
PPT
PDF
PDF
PDF
FPGAを用いた世界最速のソーティングハードウェアの実現に向けた試み PDF
多数の小容量FPGAを用いた スケーラブルなステンシル計算機の開発 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
• 興味を持ったら説明会にどうぞ