SlideShare uma empresa Scribd logo
1 de 31
Baixar para ler offline
マルチパラダイム型
高水準ハードウェア設計環境の検討
高前田 伸也
奈良先端科学技術大学院大学 情報科学研究科
E-mail: shinya_at_is_naist_jp
2016年2月29日 15:25-15:50
IEICE VLD@沖縄県青年会館
目次
n 背景:FPGAと高位合成の流行
l 逐次記述からRTLに変換する動作合成だけでOK?
l 内容に応じて異なるパラダイムを使い分けるのが重要
n 提案:マルチパラダイム型高位ハードウェア設計
l 異なるモデル(RTL・データフロー・逐次)を密結合
l 要素技術:Veriloggen.Dataflow
• オペレータオーバーロードによる
データフローを主体とした演算パイプライン設計
n 評価
l Veriloggen.Dataflowの設計効率の評価
l PyCoRAM逐次合成器を用いたマルチパラダイム方式の初期評価
n まとめ
VLD2016-02 Shinya T-Y, NAIST 2
FPGAと高位合成、流行ってますね
n アクセラレータとしての
FPGA
l 機械学習(深層学習)
l データセンター
l スパコン,など
n 高位合成ツールの普及
l Vivado HLSが無料で利用可能
l (Altera, Xilinx共に)
OpenCLによる設計が可能
l オープンソースの高位合成ツールも登場
• LegUp (C)
• Synthesijer (Java)
• Polyphony (Python)
VLD2016-02 Shinya T-Y, NAIST 3
Microsoft Catapult [Putnam+, ISCA'14]
高位合成だけでOK?
n No.
n 動作合成では記述できない・したくない回路も多数存在
l 例)プロセッサ,タイミング・レイテンシ制約が厳しいI/F,等
n 最終的な性能チューニングにはRTLが結局必要だったり
l 例)Traxコンテストで毎回優勝する静岡大学はRTL設計
n 関連研究: プログラミング言語の記述力を活用した
RTL設計方式・ドメイン固有言語
l Chisel[Bachrach+,DAC'12]
l PyMTL[Lockhart+,MICRO’14]
l Synthesijer.Scala[三好,IEICE RECONF'15]
VLD2016-02 Shinya T-Y, NAIST 4
関連研究: Pythonによるハードウェアモデリング
PyMTL[Lockhart+,MICRO’14]
VLD2016-02 Shinya T-Y, NAIST 5
Derek Lockhart+: PyMTL: A Unified Framework for Vertically Integrated Computer Architecture Research, ACM/IEEE MICRO-47 (2014)
Pythonで
ハードウェア設計
3つの粒度に対応
FL: Functional Lv.
CL: Cycle Lv.
RL: RTL
HDLに変換可能なのは
RLのみL
粒度間の変換は手動L
(高位合成ではない)
ハードウェア設計言語に求められるもの
n 好みや用途に応じた選択肢がある
l ソフトウェア開発は用途と好みに応じて言語を選べる
• C, C++, Java, Python, Ruby, Perl, JavaScrit, Scala, Go, Haskell, ...
l ハードウェア開発は?→選択肢が少ない
• RTL: Verilog HDL, VHDL
• HDL DSL: Chisel (Scala DSL), PyMTL (Python DSL), ...
n 内容に応じて異なるパラダイムを使い分けるのが重要
l プロセッサ:RTL以下
l 低レイテンシI/O処理:手続き型,所々RTL?
l アプリケーションの初期実装:手続き型・機能レベル
l アプリケーションチューニング:RTL(を意識した何か)
VLD2016-02 Shinya T-Y, NAIST 6
疑問: パラダイム間は疎結合で良いのか?
n 現状、RTLと高位モデルをするには併用は
高位モデルをRTLに変換後に両者を結合して実現
l 例)AXI4等のインターコネクト上で複数のIPコアを接続
l 疎結合のみ可能:モジュールの独立性が高いこと自体は良いJ
n 同一コンポーネント中でも
RTL/高位モデルの併用できると嬉しいのでは?
l 例)I/F動作はRTLで書きたいが制御は逐次モデルで書けると楽
• レイテンシが重要なHWが書きたいけどFSMは書きたくないL
VLD2016-02 Shinya T-Y, NAIST 7
RTL
モジュール
高位設計
モジュール
AXI4インターコネクト
RTL/高位設計モジュールの
疎結合
RTL
モデル
高位
逐次
モデル
Reg
Input
Output
モジュール
単一モジュール中での
RTL/高位モデルの併用
提案: マルチパラダイム型高位設計
VLD2016-02 Shinya T-Y, NAIST 8
RTL
Thread (逐次処理
)
モジュール
Dataflow
(パイプライン)Wire
Input Output
Reg
Verilogモジュール
変換
3つの記述方式を併用
RTL:
レジスタ転送レベルで
振る舞いを実装
Thread:
FSMをベースに
逐次処理を実装
Dataflow:
データフロー記述で
演算パイプラインを実装
複数のパラダイムが同一モジュールの定義に
利用可能な高位設計環境
本発表の目標
(1) Pythonを用いたRTLおよびDataflow設計技術の提案と評価
(2) 既存のPythonによる動作合成器を用いた初期検討
要素技術(RTL): Veriloggen[高前田,IEICE RECONF'15]:
PythonによるRTLメタプログラミング
VLD2016-02 Shinya T-Y, NAIST 9
Design Generator by Python
from veriloggen import *
m = Module('blinkled')
clk = m.Input('CLK')
led = m.Output('LED', 8)
count = m.Reg('count', 32)
m.Assign( led(count[31:24]) )
m.Always(Posedge(clk)(
count( count + 1 ) )
hdl = m.to_verilog()
print(hdl)
blinkled
CLK RST
LED count
assign
always
Veriloggen Object
module blinkled (
input CLK,
output [7:0] LED
);
reg [31:0] count;
assign LED = count[31:24];
always @(posedge CLK) begin
count <= count + 1;
end
endmodule
Verilog Source Code
module
input
CLK
input
RST
blinkled
Verilog AST
to_verilog()
Verilog
AST
Generator
Verilog
Code
Generator
Run on Python Interpreter
Verilog HDLコードの
組み立てルールをPythonの
言語機能を活用して記述
Verilog HDLによる回路記
述・
テストベンチが生成される
実行
Verilogコードをオブジェクトとして表現
VLD2016-02 Shinya T-Y, NAIST 10
Moduleオブジェクト
Pythonの言語機能を用いて
オブジェクトを組み立てる
(mの)Regオブジェクト
"count <= 0"オブジェクト
"count==1023"オブジェクト
Ifオブジェクト
(mの)Alwaysオブジェクト
完成したModule
オブジェクトをリターン
コード生成 (to_verilog)
n Moduleオブジェクトのto_verilog()メソッドを呼び出す
と文字列形式でソースコードが取得できる
n Verilog HDLのソースコード解析・生成ツールキット
Pyverilogを利用
VLD2016-02 Shinya T-Y, NAIST 11
Veriloggenの利用例:メソッド切り出しによる
コーディングパターン再利用
VLD2016-02 Shinya T-Y, NAIST 12
RAM I/Fのコーディングパターン
2つのI/Fを追加
要素技術(Dataflow):Veriloggen.Dataflow:
オペレータオーバーロードによるデータフロー設計
VLD2016-02 Shinya T-Y, NAIST 13
SWとして実行可能な
普通のPythonのメソッド定義
SWとして実行可能な
普通のPythonのメソッド定義
Veriloggen.Dataflow:オペレータオーバーロード
によるデータフロー設計
VLD2016-02 Shinya T-Y, NAIST 14
SWとして実行可能な
普通のPythonのメソッド定義
データフロー変数の生成前述のメソッド定義に通常の変数
ではなくデータフロー変数を渡す
出力ポート
設定と
Verilog
モジュール
生成
Veriloggen.Dataflow:オペレータオーバーロード
によるデータフロー設計
VLD2016-02 Shinya T-Y, NAIST 15
delay
dout3
delay
R
delay
R
delay
R
Cond
R
<
0
Cond
0
<
R
delay
R
Cond
0
Cond
01 2
delay
R
<
R
delay
R
Cond
L
delay
R
2 1
<
0
Cond
0
<
R
delay
R
Cond
0
Cond
0 1 2
L
delay
R
delay
R
Cond
L
delay
R
2 1
<
0
Cond
0
delay
R
delay
R
L
delay
R
din0
L
delay
R
21
din1
R
delay
R
12
delay
R
delay
R
1 2
delay
R
din2
R
delay
R
delay
R
1 2
delay
R
delay
R
delay
R
din3
R
delay
dout2
R
Cond
0
Cond
02 1
dout0 dout1
2 1
delay
R
L
delay
R
2 1
1 2
データフローグラフ生成
遅延レジスタが自動挿入されたパイプライン回路
パイプライン入力
パイプライン出力
オペレータオーバーロードによる
データフロー変数の組み立て
VLD2016-02 Shinya T-Y, NAIST 16
add
add(+)演算子の
オペレータ
オーバーロード
Dataflow.Plus
オブジェクトを
リターン
Veriloggenとその他の処理系との違い
n 高位合成や高位DSLはソースコードそのものが回路定義
l リフレクションを利用:ソースコード情報を取得
l ソースコードを「コンパイラで」解析しデータフロー等に変換
l 回路を追加するにはソースコードを追加する必要がある
• 頻出パターンもコード化しないといけないL
l 生成元言語のサブセットのみ対応L
n Veriloggen.Dataflowは明示的にHDLを組み立てる
l リフレクション未使用:ソースコードそのもの定義は無関係
l ソースコードの「実行」によりデータフロー等を構築
l 回路の追加は明示的なオブジェクト操作で実現される
• 頻出パターンはメソッド切り出しができるJ
l 生成元言語のすべての機能を利用できるJ
l ソフトウェア文法をそのままHW化はできないL
VLD2016-02 Shinya T-Y, NAIST 17
要素技術(Thread): PyCoRAM[Takamaeda+,CARL2013]
メモリ抽象化と動作合成によるIPコア設計FW
n 入力:2種類のソースコード
l データフロー(演算パイプライン):Verilog HDL
l データ転送制御:Python
n 出力:演算パイプと制御機構を持つIPコア
l DMAを主体としたデータ転送重点型ハードウェアが合成される
VLD2016-02 Shinya T-Y, NAIST 18
データフロー
(Verilog HDL)
制御フロー
(Python)
HW
構造
解析
RTL
変換
制解
対象
解析
高位
合成
処理系
による
RTL化
インター
フェース
合成
・
IPコア
パッケー
ジ化
PyCoRAMコンパイルフロー
入力: 高抽象度
デザイン
出力: 演算パイプライン+データ供給エンジンを
持つアクセラレータIPコア・システム
データパス 制御
Memory/Stream DMAコントローラ
Channel/
Register
オンチップ・インターコネクト
メインメモリ (DRAM)
IPコア
IOChannel/
IORegister
PyCoRAM:アーキテクチャ
VLD2016-02 Shinya T-Y, NAIST 19
データパス 制御
Memory/Stream DMAコントローラ
Channel/Regi
ster
IO
Channel/IO
Register
PyCoRAM:アーキテクチャ
VLD2016-02 Shinya T-Y, NAIST 20
データパス 制御
Memory/Stream DMAコントローラ
Channel/Regi
ster
IO
Channel/IO
Register
Computing Logic
Modeled in Verilog HDL
Control Thread
Modeled in Python
PyCoRAM:アーキテクチャ
VLD2016-02 Shinya T-Y, NAIST 21
データパス 制御
Memory/Stream DMAコントローラ
Channel/Regi
ster
IO
Channel/IO
Register
Memory: ロジック用ローカルメモリ
Stream: ロジック用FIFO
Channel: ロジック-スレッド間FIFO
Register: ロジック-スレッド間共有レジスタ
IO Channel: 外部制御用FIFO
IO Register: 外部制御用共有レジスタ
PyCoRAM:アーキテクチャ
VLD2016-02 Shinya T-Y, NAIST 22
データパス 制御
Memory/Stream DMAコントローラ
Channel/Regi
ster
オンチップ・インターコネクト
メインメモリ (DRAM)
IO
Channel/IO
Register
PyCoRAM:アーキテクチャ
VLD2016-02 Shinya T-Y, NAIST 23
データパス 制御
Memory/Stream DMAコントローラ
Channel/Regi
ster
オンチップ・インターコネクト
メインメモリ (DRAM)
IO
Channel/IO
Register
Master Interface
メモリへ能動的にアクセス
Slave Interface
CPUからアクセスされる
PyCoRAMにおけるIPコアの作り方・でき方
n 2種類のファイルを用意する
l Verilog HDL:
計算ロジック
l Python:
データ転送制御
n PyCoRAMが自動的にIPコアのパッケージを作成
l Python-Verilog高位合成とRTL変換を自動で行う
CoramMemory1P
#(
.CORAM_THREAD_NAME("thread_name
"),
.CORAM_ID(0),
.CORAM_ADDR_LEN(ADDR_LEN),
.CORAM_DATA_WIDTH(DATA_WIDTH)
)
inst_memory
(.CLK(CLK),
.ADDR(mem_addr),
.D(mem_d),
.WE(mem_we),
.Q(mem_q)
);
VLD2016-02 Shinya T-Y, NAIST 24
評価
n 本発表では2つの観点で評価
l Dataflow.Dataflowの生産性
l マルチパラダイム型高位設計環境の初期検討
n Dataflow.Dataflowの生産性について
l アプリケーション: ソーティングネットワーク
• 完全なパイプライン回路:N-sort / cycle
• N = 4, 8, 16, 32 で評価
l 参考までにLED点灯回路(Lチカ)も評価
VLD2016-02 Shinya T-Y, NAIST 25
評価
n マルチパラダイム型高位設計環境の初期検討
l RTL+Dataflow+Threadを併せ持つ高位設計環境の
プロトタイプを開発
l Pythonをベースとする独立した開発済みツールを簡易的に結合
• RTL: Veriloggen
• Dataflow: Veriloggen.Dataflow
• Thread: PyCoRAM (Thread Generator部)
n 評価方法
l SLOC: Source Lines of Code
• 同一のPyCoRAM IPコアを作成するのに必要なPythonでの
コード行数と従来手法(Verilog HDL+Python)の行数を比較
l 回路規模・最大動作周波数(見積もり)
• 合成ツール: Xilinx ISE 14.7
• デバイス: Airtix-7 XC7A100T-1csg324
VLD2016-02 Shinya T-Y, NAIST 26
評価アプリケーション
n 密行列積 PyCoRAM IPコア
l 従来はRTL・Dataflow部はVerilog HDLにて実装
l 本評価ではPythonにて実装しVerilog HDLを生成
VLD2016-02 Shinya T-Y, NAIST 27
Computing Logic
Control
Thread
(Python)
sum
CoRAM
Memory 0
B
× +
CoRAM
Memory 1
CoRAM
Memory 2
Control Logic
CoRAM
Channel 0
8-stage
Multiply
PipelineA
C
Dataflow
Thread
RTL
評価結果: Dataflowの生産性
n 単一のPythonコードから異なる構成のハードウェアを
n 単一のPythonコードから異なる構成のハードウェアを
生成可能
l 45行のPythonコードから4種類のソート回路を生成
l 遅延レジスタ・ストール用回路等は自動で挿入される
l →高い生産性を持つと言って良いのでは?
VLD2016-02 Shinya T-Y, NAIST 28
Python Verilog
評価結果: マルチパラダイム方式の初期検討
n 単一のPythonコードから異なる構成のハードウェアを
n RTL+Dataflow: 4倍程度の長さのVerilogコードを生成
l 手書きのものと比べての遜色ないコード長
n 回路規模については若干削減
l Dataflowにより合成されたパイプラインの構成が若干異なる?
VLD2016-02 Shinya T-Y, NAIST 29
Python Verilog
手書きVerilog
評価結果: マルチパラダイム方式の初期検討
n 単一のPythonコードから異なる構成のハードウェアを
n Thread: 一般的な高位合成と同じく高効率
n まとめ:
l 複数のパラダイムを併用することでコード量は削減可能J
l 考えるコストについては・・・?L
VLD2016-02 Shinya T-Y, NAIST 30
Python Verilog
まとめ: マルチパラダイム型高位設計
VLD2016-02 Shinya T-Y, NAIST 31
RTL
Thread (逐次処理
)
モジュール
Dataflow
(パイプライン)Wire
Input Output
Reg
Verilogモジュール
変換
3つの記述方式を併用
RTL:
レジスタ転送レベルで
振る舞いを実装
Thread:
FSMをベースに
逐次処理を実装
Dataflow:
データフロー記述で
演算パイプラインを実装
本発表の目標
(1) Pythonを用いたRTLおよびDataflow設計技術の提案と評価
(2) 既存のPythonによる動作合成器を用いた初期検討
本発表のまとめ
(1) Dataflowモデルによる高い生産性の達成
(2) Verilogのみを用いた設計と同等の品質を少ないコード量で実現可能

Mais conteúdo relacionado

Mais procurados

組合せ最適化入門:線形計画から整数計画まで
組合せ最適化入門:線形計画から整数計画まで組合せ最適化入門:線形計画から整数計画まで
組合せ最適化入門:線形計画から整数計画まで
Shunji Umetani
 
ガイデットフィルタとその周辺
ガイデットフィルタとその周辺ガイデットフィルタとその周辺
ガイデットフィルタとその周辺
Norishige Fukushima
 
Anaconda navigatorのアップデートが終わらないときの対処方法メモ
Anaconda navigatorのアップデートが終わらないときの対処方法メモAnaconda navigatorのアップデートが終わらないときの対処方法メモ
Anaconda navigatorのアップデートが終わらないときの対処方法メモ
ayohe
 

Mais procurados (20)

組合せ最適化入門:線形計画から整数計画まで
組合せ最適化入門:線形計画から整数計画まで組合せ最適化入門:線形計画から整数計画まで
組合せ最適化入門:線形計画から整数計画まで
 
tf,tf2完全理解
tf,tf2完全理解tf,tf2完全理解
tf,tf2完全理解
 
TensorFlow XLAの可能性
TensorFlow XLAの可能性 TensorFlow XLAの可能性
TensorFlow XLAの可能性
 
Deep Learningのための専用プロセッサ「MN-Core」の開発と活用(2022/10/19東大大学院「 融合情報学特別講義Ⅲ」)
Deep Learningのための専用プロセッサ「MN-Core」の開発と活用(2022/10/19東大大学院「 融合情報学特別講義Ⅲ」)Deep Learningのための専用プロセッサ「MN-Core」の開発と活用(2022/10/19東大大学院「 融合情報学特別講義Ⅲ」)
Deep Learningのための専用プロセッサ「MN-Core」の開発と活用(2022/10/19東大大学院「 融合情報学特別講義Ⅲ」)
 
ROS を用いた自律移動ロボットのシステム構築
ROS を用いた自律移動ロボットのシステム構築ROS を用いた自律移動ロボットのシステム構築
ROS を用いた自律移動ロボットのシステム構築
 
RISC-V : Berkeley Boot Loader & Proxy Kernelのソースコード解析
RISC-V : Berkeley Boot Loader & Proxy Kernelのソースコード解析RISC-V : Berkeley Boot Loader & Proxy Kernelのソースコード解析
RISC-V : Berkeley Boot Loader & Proxy Kernelのソースコード解析
 
バイナリニューラルネットとハードウェアの関係
バイナリニューラルネットとハードウェアの関係バイナリニューラルネットとハードウェアの関係
バイナリニューラルネットとハードウェアの関係
 
ガイデットフィルタとその周辺
ガイデットフィルタとその周辺ガイデットフィルタとその周辺
ガイデットフィルタとその周辺
 
Motpy ros rosjp
Motpy ros rosjpMotpy ros rosjp
Motpy ros rosjp
 
「今日から使い切る」 ための GNU Parallel による並列処理入門
「今日から使い切る」ための GNU Parallelによる並列処理入門「今日から使い切る」ための GNU Parallelによる並列処理入門
「今日から使い切る」 ための GNU Parallel による並列処理入門
 
Anaconda navigatorのアップデートが終わらないときの対処方法メモ
Anaconda navigatorのアップデートが終わらないときの対処方法メモAnaconda navigatorのアップデートが終わらないときの対処方法メモ
Anaconda navigatorのアップデートが終わらないときの対処方法メモ
 
第14回 配信講義 計算科学技術特論A(2021)
第14回 配信講義 計算科学技術特論A(2021)第14回 配信講義 計算科学技術特論A(2021)
第14回 配信講義 計算科学技術特論A(2021)
 
SDL2の紹介
SDL2の紹介SDL2の紹介
SDL2の紹介
 
機械学習による統計的実験計画(ベイズ最適化を中心に)
機械学習による統計的実験計画(ベイズ最適化を中心に)機械学習による統計的実験計画(ベイズ最適化を中心に)
機械学習による統計的実験計画(ベイズ最適化を中心に)
 
3次元レジストレーション(PCLデモとコード付き)
3次元レジストレーション(PCLデモとコード付き)3次元レジストレーション(PCLデモとコード付き)
3次元レジストレーション(PCLデモとコード付き)
 
ROSによる今後のロボティクスのあり方
ROSによる今後のロボティクスのあり方ROSによる今後のロボティクスのあり方
ROSによる今後のロボティクスのあり方
 
【DL輪読会】GET3D: A Generative Model of High Quality 3D Textured Shapes Learned f...
【DL輪読会】GET3D: A Generative Model of High Quality 3D Textured Shapes Learned f...【DL輪読会】GET3D: A Generative Model of High Quality 3D Textured Shapes Learned f...
【DL輪読会】GET3D: A Generative Model of High Quality 3D Textured Shapes Learned f...
 
MPIによる並列計算
MPIによる並列計算MPIによる並列計算
MPIによる並列計算
 
OpenOpt の線形計画で圧縮センシング
OpenOpt の線形計画で圧縮センシングOpenOpt の線形計画で圧縮センシング
OpenOpt の線形計画で圧縮センシング
 
CUDAのアセンブリ言語基礎のまとめ PTXとSASSの概説
CUDAのアセンブリ言語基礎のまとめ PTXとSASSの概説CUDAのアセンブリ言語基礎のまとめ PTXとSASSの概説
CUDAのアセンブリ言語基礎のまとめ PTXとSASSの概説
 

Destaque

Destaque (16)

PyCoRAMを用いたグラフ処理FPGAアクセラレータ
PyCoRAMを用いたグラフ処理FPGAアクセラレータPyCoRAMを用いたグラフ処理FPGAアクセラレータ
PyCoRAMを用いたグラフ処理FPGAアクセラレータ
 
Mapping Applications with Collectives over Sub-communicators on Torus Network...
Mapping Applications with Collectives over Sub-communicators on Torus Network...Mapping Applications with Collectives over Sub-communicators on Torus Network...
Mapping Applications with Collectives over Sub-communicators on Torus Network...
 
助教が吼える! 各界の若手研究者大集合「ハードウェアはやわらかい」
助教が吼える! 各界の若手研究者大集合「ハードウェアはやわらかい」助教が吼える! 各界の若手研究者大集合「ハードウェアはやわらかい」
助教が吼える! 各界の若手研究者大集合「ハードウェアはやわらかい」
 
Pythonによる高位設計フレームワークPyCoRAMでFPGAシステムを開発してみよう
Pythonによる高位設計フレームワークPyCoRAMでFPGAシステムを開発してみようPythonによる高位設計フレームワークPyCoRAMでFPGAシステムを開発してみよう
Pythonによる高位設計フレームワークPyCoRAMでFPGAシステムを開発してみよう
 
PyCoRAMによるPythonを用いたポータブルなFPGAアクセラレータ開発 (チュートリアル@ESS2014)
PyCoRAMによるPythonを用いたポータブルなFPGAアクセラレータ開発 (チュートリアル@ESS2014)PyCoRAMによるPythonを用いたポータブルなFPGAアクセラレータ開発 (チュートリアル@ESS2014)
PyCoRAMによるPythonを用いたポータブルなFPGAアクセラレータ開発 (チュートリアル@ESS2014)
 
An FPGA-based Scalable Simulation Accelerator for Tile Architectures @HEART2011
An FPGA-based Scalable Simulation Accelerator for Tile Architectures @HEART2011An FPGA-based Scalable Simulation Accelerator for Tile Architectures @HEART2011
An FPGA-based Scalable Simulation Accelerator for Tile Architectures @HEART2011
 
A CGRA-based Approach for Accelerating Convolutional Neural Networks
A CGRA-based Approachfor Accelerating Convolutional Neural NetworksA CGRA-based Approachfor Accelerating Convolutional Neural Networks
A CGRA-based Approach for Accelerating Convolutional Neural Networks
 
PyCoRAM (高位合成友の会@ドワンゴ, 2015年1月16日)
PyCoRAM (高位合成友の会@ドワンゴ, 2015年1月16日)PyCoRAM (高位合成友の会@ドワンゴ, 2015年1月16日)
PyCoRAM (高位合成友の会@ドワンゴ, 2015年1月16日)
 
Veriloggen: Pythonによるハードウェアメタプログラミング(第3回 高位合成友の会 @ドワンゴ)
Veriloggen: Pythonによるハードウェアメタプログラミング(第3回 高位合成友の会 @ドワンゴ)Veriloggen: Pythonによるハードウェアメタプログラミング(第3回 高位合成友の会 @ドワンゴ)
Veriloggen: Pythonによるハードウェアメタプログラミング(第3回 高位合成友の会 @ドワンゴ)
 
Zynq+PyCoRAM(+Debian)入門
Zynq+PyCoRAM(+Debian)入門Zynq+PyCoRAM(+Debian)入門
Zynq+PyCoRAM(+Debian)入門
 
コンピュータアーキテクチャ研究の最新動向〜ISCA2015参加報告〜 @FPGAエクストリーム・コンピューティング 第7回 (#fpgax #7)
コンピュータアーキテクチャ研究の最新動向〜ISCA2015参加報告〜 @FPGAエクストリーム・コンピューティング 第7回 (#fpgax #7)コンピュータアーキテクチャ研究の最新動向〜ISCA2015参加報告〜 @FPGAエクストリーム・コンピューティング 第7回 (#fpgax #7)
コンピュータアーキテクチャ研究の最新動向〜ISCA2015参加報告〜 @FPGAエクストリーム・コンピューティング 第7回 (#fpgax #7)
 
Pythonを用いた高水準ハードウェア設計環境の検討
Pythonを用いた高水準ハードウェア設計環境の検討Pythonを用いた高水準ハードウェア設計環境の検討
Pythonを用いた高水準ハードウェア設計環境の検討
 
PythonとVeriloggenを用いたRTL設計メタプログラミング
PythonとVeriloggenを用いたRTL設計メタプログラミングPythonとVeriloggenを用いたRTL設計メタプログラミング
PythonとVeriloggenを用いたRTL設計メタプログラミング
 
Zynq + Vivado HLS入門
Zynq + Vivado HLS入門Zynq + Vivado HLS入門
Zynq + Vivado HLS入門
 
FPGA・リコンフィギャラブルシステム研究の最新動向
FPGA・リコンフィギャラブルシステム研究の最新動向FPGA・リコンフィギャラブルシステム研究の最新動向
FPGA・リコンフィギャラブルシステム研究の最新動向
 
Debian Linux on Zynq (Xilinx ARM-SoC FPGA) Setup Flow (Vivado 2015.4)
Debian Linux on Zynq (Xilinx ARM-SoC FPGA) Setup Flow (Vivado 2015.4)Debian Linux on Zynq (Xilinx ARM-SoC FPGA) Setup Flow (Vivado 2015.4)
Debian Linux on Zynq (Xilinx ARM-SoC FPGA) Setup Flow (Vivado 2015.4)
 

Semelhante a マルチパラダイム型高水準ハードウェア設計環境の検討

第3回ローレイヤー勉強会 : FPGAでコンピュータを作ってみた
第3回ローレイヤー勉強会 : FPGAでコンピュータを作ってみた第3回ローレイヤー勉強会 : FPGAでコンピュータを作ってみた
第3回ローレイヤー勉強会 : FPGAでコンピュータを作ってみた
Ito Takahiro
 

Semelhante a マルチパラダイム型高水準ハードウェア設計環境の検討 (20)

SDN Japan: ovs-hw
SDN Japan: ovs-hwSDN Japan: ovs-hw
SDN Japan: ovs-hw
 
Lagopus Project (Open Source Conference)
Lagopus Project (Open Source Conference)Lagopus Project (Open Source Conference)
Lagopus Project (Open Source Conference)
 
Lagopus workshop@Internet weekのそば
Lagopus workshop@Internet weekのそばLagopus workshop@Internet weekのそば
Lagopus workshop@Internet weekのそば
 
FD.io VPP事始め
FD.io VPP事始めFD.io VPP事始め
FD.io VPP事始め
 
Faster SRv6 D-plane with XDP
Faster SRv6 D-plane with XDPFaster SRv6 D-plane with XDP
Faster SRv6 D-plane with XDP
 
Bird in show_net
Bird in show_netBird in show_net
Bird in show_net
 
第3回ローレイヤー勉強会 : FPGAでコンピュータを作ってみた
第3回ローレイヤー勉強会 : FPGAでコンピュータを作ってみた第3回ローレイヤー勉強会 : FPGAでコンピュータを作ってみた
第3回ローレイヤー勉強会 : FPGAでコンピュータを作ってみた
 
Lagopusで試すL3ルーティング + α (Lagopusの設定方法いろいろ)
Lagopusで試すL3ルーティング + α (Lagopusの設定方法いろいろ)Lagopusで試すL3ルーティング + α (Lagopusの設定方法いろいろ)
Lagopusで試すL3ルーティング + α (Lagopusの設定方法いろいろ)
 
Trema day 1
Trema day 1Trema day 1
Trema day 1
 
Open contrail days 2014 fall
Open contrail days 2014 fallOpen contrail days 2014 fall
Open contrail days 2014 fall
 
VPP事始め
VPP事始めVPP事始め
VPP事始め
 
DPDKによる高速コンテナネットワーキング
DPDKによる高速コンテナネットワーキングDPDKによる高速コンテナネットワーキング
DPDKによる高速コンテナネットワーキング
 
"SRv6の現状と展望" ENOG53@上越
"SRv6の現状と展望" ENOG53@上越"SRv6の現状と展望" ENOG53@上越
"SRv6の現状と展望" ENOG53@上越
 
第11回ACRiウェビナー_東工大/坂本先生ご講演資料
第11回ACRiウェビナー_東工大/坂本先生ご講演資料第11回ACRiウェビナー_東工大/坂本先生ご講演資料
第11回ACRiウェビナー_東工大/坂本先生ご講演資料
 
Lagopus Router
Lagopus RouterLagopus Router
Lagopus Router
 
SQL Server 2016 R Services + Microsoft R Server 技術資料
SQL Server 2016 R Services + Microsoft R Server 技術資料SQL Server 2016 R Services + Microsoft R Server 技術資料
SQL Server 2016 R Services + Microsoft R Server 技術資料
 
高位合成友の会@ドワンゴ,2015年12月8日
高位合成友の会@ドワンゴ,2015年12月8日高位合成友の会@ドワンゴ,2015年12月8日
高位合成友の会@ドワンゴ,2015年12月8日
 
20150715 xflow kikuta_final
20150715 xflow kikuta_final20150715 xflow kikuta_final
20150715 xflow kikuta_final
 
ネットワークプログラマビリティ勉強会
ネットワークプログラマビリティ勉強会ネットワークプログラマビリティ勉強会
ネットワークプログラマビリティ勉強会
 
FPGAで作るOpenFlow Switch (FPGAエクストリーム・コンピューティング 第6回) FPGAX#6
FPGAで作るOpenFlow Switch (FPGAエクストリーム・コンピューティング 第6回) FPGAX#6FPGAで作るOpenFlow Switch (FPGAエクストリーム・コンピューティング 第6回) FPGAX#6
FPGAで作るOpenFlow Switch (FPGAエクストリーム・コンピューティング 第6回) FPGAX#6
 

Mais de Shinya Takamaeda-Y

Mais de Shinya Takamaeda-Y (14)

オープンソースコンパイラNNgenでつくるエッジ・ディープラーニングシステム
オープンソースコンパイラNNgenでつくるエッジ・ディープラーニングシステムオープンソースコンパイラNNgenでつくるエッジ・ディープラーニングシステム
オープンソースコンパイラNNgenでつくるエッジ・ディープラーニングシステム
 
DNNのモデル特化ハードウェアを生成するオープンソースコンパイラNNgenのデモ
DNNのモデル特化ハードウェアを生成するオープンソースコンパイラNNgenのデモDNNのモデル特化ハードウェアを生成するオープンソースコンパイラNNgenのデモ
DNNのモデル特化ハードウェアを生成するオープンソースコンパイラNNgenのデモ
 
ディープニューラルネットワーク向け拡張可能な高位合成コンパイラの開発
ディープニューラルネットワーク向け拡張可能な高位合成コンパイラの開発ディープニューラルネットワーク向け拡張可能な高位合成コンパイラの開発
ディープニューラルネットワーク向け拡張可能な高位合成コンパイラの開発
 
Veriloggen.Thread & Stream: 最高性能FPGAコンピューティングを 目指したミックスドパラダイム型高位合成 (FPGAX 201...
Veriloggen.Thread & Stream: 最高性能FPGAコンピューティングを 目指したミックスドパラダイム型高位合成 (FPGAX 201...Veriloggen.Thread & Stream: 最高性能FPGAコンピューティングを 目指したミックスドパラダイム型高位合成 (FPGAX 201...
Veriloggen.Thread & Stream: 最高性能FPGAコンピューティングを 目指したミックスドパラダイム型高位合成 (FPGAX 201...
 
Pythonによるカスタム可能な高位設計技術 (Design Solution Forum 2016@新横浜)
Pythonによるカスタム可能な高位設計技術 (Design Solution Forum 2016@新横浜)Pythonによるカスタム可能な高位設計技術 (Design Solution Forum 2016@新横浜)
Pythonによるカスタム可能な高位設計技術 (Design Solution Forum 2016@新横浜)
 
ゆるふわコンピュータ (IPSJ-ONE2017)
ゆるふわコンピュータ (IPSJ-ONE2017)ゆるふわコンピュータ (IPSJ-ONE2017)
ゆるふわコンピュータ (IPSJ-ONE2017)
 
A Framework for Efficient Rapid Prototyping by Virtually Enlarging FPGA Resou...
A Framework for Efficient Rapid Prototyping by Virtually Enlarging FPGA Resou...A Framework for Efficient Rapid Prototyping by Virtually Enlarging FPGA Resou...
A Framework for Efficient Rapid Prototyping by Virtually Enlarging FPGA Resou...
 
A High Performance Heterogeneous FPGA-based Accelerator with PyCoRAM (Runner ...
A High Performance Heterogeneous FPGA-based Accelerator with PyCoRAM (Runner ...A High Performance Heterogeneous FPGA-based Accelerator with PyCoRAM (Runner ...
A High Performance Heterogeneous FPGA-based Accelerator with PyCoRAM (Runner ...
 
PyCoRAM: Python-Verilog高位合成とメモリ抽象化によるFPGAアクセラレータ向けIPコア開発フレームワーク (FPGAX #05)
PyCoRAM: Python-Verilog高位合成とメモリ抽象化によるFPGAアクセラレータ向けIPコア開発フレームワーク (FPGAX #05)PyCoRAM: Python-Verilog高位合成とメモリ抽象化によるFPGAアクセラレータ向けIPコア開発フレームワーク (FPGAX #05)
PyCoRAM: Python-Verilog高位合成とメモリ抽象化によるFPGAアクセラレータ向けIPコア開発フレームワーク (FPGAX #05)
 
メモリ抽象化フレームワークPyCoRAMを用いたソフトプロセッサ混載FPGAアクセラレータの開発
メモリ抽象化フレームワークPyCoRAMを用いたソフトプロセッサ混載FPGAアクセラレータの開発メモリ抽象化フレームワークPyCoRAMを用いたソフトプロセッサ混載FPGAアクセラレータの開発
メモリ抽象化フレームワークPyCoRAMを用いたソフトプロセッサ混載FPGAアクセラレータの開発
 
PyCoRAM: Yet Another Implementation of CoRAM Memory Architecture for Modern F...
PyCoRAM: Yet Another Implementation of CoRAM Memory Architecture for Modern F...PyCoRAM: Yet Another Implementation of CoRAM Memory Architecture for Modern F...
PyCoRAM: Yet Another Implementation of CoRAM Memory Architecture for Modern F...
 
むかし名言集bot作りました!
むかし名言集bot作りました!むかし名言集bot作りました!
むかし名言集bot作りました!
 
APGAS言語X10を用いたオンチップネットワークシミュレーションの並列化
APGAS言語X10を用いたオンチップネットワークシミュレーションの並列化APGAS言語X10を用いたオンチップネットワークシミュレーションの並列化
APGAS言語X10を用いたオンチップネットワークシミュレーションの並列化
 
Network Performance of Multifunction On-chip Router Architectures (IEICE-CPSY...
Network Performance of Multifunction On-chip Router Architectures (IEICE-CPSY...Network Performance of Multifunction On-chip Router Architectures (IEICE-CPSY...
Network Performance of Multifunction On-chip Router Architectures (IEICE-CPSY...
 

Último

Último (10)

Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 

マルチパラダイム型高水準ハードウェア設計環境の検討