Submit Search
Reconf 201506
8 likes
3,270 views
Takefumi MIYOSHI
An Implementation and Evaluation of A Generic Interface between PC and FPGA with AHCI
Engineering
Read more
1 of 44
Download now
Downloaded 20 times
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
More Related Content
PDF
Synthesijer fpgax 20150201
Takefumi MIYOSHI
PDF
Das 2015
Takefumi MIYOSHI
PDF
Fpgax 20130604
Takefumi MIYOSHI
PDF
Reconf_201409
Takefumi MIYOSHI
PDF
Hls friends 20161122.key
Takefumi MIYOSHI
PPTX
Abstracts of FPGA2017 papers (Temporary Version)
Takefumi MIYOSHI
PDF
ICD/CPSY 201412
Takefumi MIYOSHI
PDF
Ptt391
Takefumi MIYOSHI
Synthesijer fpgax 20150201
Takefumi MIYOSHI
Das 2015
Takefumi MIYOSHI
Fpgax 20130604
Takefumi MIYOSHI
Reconf_201409
Takefumi MIYOSHI
Hls friends 20161122.key
Takefumi MIYOSHI
Abstracts of FPGA2017 papers (Temporary Version)
Takefumi MIYOSHI
ICD/CPSY 201412
Takefumi MIYOSHI
Ptt391
Takefumi MIYOSHI
What's hot
(20)
PPTX
Gpgpu tomoaki-fp16
tomoaki0705
PDF
20130819 jjugnslt
Shinya Takebayashi
PDF
Synthesijer.Scala (PROSYM 2015)
Takefumi MIYOSHI
PDF
【関東GPGPU勉強会#4】GTX 1080でComputer Visionアルゴリズムを色々動かしてみる
Yasuhiro Yoshimura
PDF
PostgreSQL v9.5の新機能~CustomScan/Join Interface
Kohei KaiGai
PDF
FPGA+SoC+Linux実践勉強会資料
一路 川染
PDF
FPGAのトレンドをまとめてみた
Takefumi MIYOSHI
PPTX
ラプラシアンフィルタをZedBoardで実装(ソフトウェアからハードウェアにオフロード)
marsee101
PDF
FPGAアクセラレータの作り方
Mr. Vengineer
PDF
V6 unix vol.2 in okinawa
magoroku Yamamoto
PDF
C/C++プログラマのための開発ツール
MITSUNARI Shigeo
PDF
FPGA・リコンフィギャラブルシステム研究の最新動向
Shinya Takamaeda-Y
PDF
Pythonによる並列プログラミング -GPGPUも-
Yusaku Watanabe
PPTX
Javaで簡単にgpgpu aparapi
Ken'ichi Sakiyama
PDF
Synthesijer zynq qs_20150316
Takefumi MIYOSHI
PDF
(JP) GPGPUがPostgreSQLを加速する
Kohei KaiGai
PDF
A100 GPU 搭載! P4d インスタンス使いこなしのコツ
Kuninobu SaSaki
PDF
Automatic Mixed Precision の紹介
Kuninobu SaSaki
PDF
FPGAX6_hayashi
愛美 林
PDF
OpenCLに触れてみよう
You&I
Gpgpu tomoaki-fp16
tomoaki0705
20130819 jjugnslt
Shinya Takebayashi
Synthesijer.Scala (PROSYM 2015)
Takefumi MIYOSHI
【関東GPGPU勉強会#4】GTX 1080でComputer Visionアルゴリズムを色々動かしてみる
Yasuhiro Yoshimura
PostgreSQL v9.5の新機能~CustomScan/Join Interface
Kohei KaiGai
FPGA+SoC+Linux実践勉強会資料
一路 川染
FPGAのトレンドをまとめてみた
Takefumi MIYOSHI
ラプラシアンフィルタをZedBoardで実装(ソフトウェアからハードウェアにオフロード)
marsee101
FPGAアクセラレータの作り方
Mr. Vengineer
V6 unix vol.2 in okinawa
magoroku Yamamoto
C/C++プログラマのための開発ツール
MITSUNARI Shigeo
FPGA・リコンフィギャラブルシステム研究の最新動向
Shinya Takamaeda-Y
Pythonによる並列プログラミング -GPGPUも-
Yusaku Watanabe
Javaで簡単にgpgpu aparapi
Ken'ichi Sakiyama
Synthesijer zynq qs_20150316
Takefumi MIYOSHI
(JP) GPGPUがPostgreSQLを加速する
Kohei KaiGai
A100 GPU 搭載! P4d インスタンス使いこなしのコツ
Kuninobu SaSaki
Automatic Mixed Precision の紹介
Kuninobu SaSaki
FPGAX6_hayashi
愛美 林
OpenCLに触れてみよう
You&I
Ad
Similar to Reconf 201506
(20)
PDF
Reconf 201901
Takefumi MIYOSHI
PDF
GPU-FPGA 協調計算を記述するためのプログラミング環境に関する研究(HPC169 No.10)
Ryuuta Tsunashima
PDF
Tremaで試すFirewall
M Hagiwara
PDF
Fpga online seminar by fixstars (1st)
Fixstars Corporation
PPTX
GPU-FPGA協調プログラミングを実現するコンパイラの開発
Ryuuta Tsunashima
ODP
「前回の COMSTAR ネタに刺激されてしまったので、オレも COMSTAR を使ってみた。」(仮)
Kazuyuki Sato
PDF
C base design methodology with s dx and xilinx ml
ssuser3a4b8c
PDF
高速ネットワーク最新動向と具体例 (ENOG58 Meeting)
Naoto MATSUMOTO
PDF
20191211_Apache_Arrow_Meetup_Tokyo
Kohei KaiGai
PDF
20180217 FPGA Extreme Computing #10
Kohei KaiGai
PDF
kagamicomput201714
swkagami
PDF
IEICE technical report (RECONF), January 2015.
Takuma Usui
PDF
seccamp2012 チューター発表
Hirotaka Kawata
PDF
SQL+GPU+SSD=∞ (Japanese)
Kohei KaiGai
PDF
kagami_comput2016_14
swkagami
PDF
Xbyakの紹介とその周辺
MITSUNARI Shigeo
PPTX
Linux kernelのbspとupstream
wata2ki
PDF
第162回情報処理学会ハイパフォーマンスコンピューティング研究発表会
Hitoshi Sato
PDF
20171220_hbstudy80_pgstrom
Kohei KaiGai
KEY
NVIDIA Japan Seminar 2012
Takuro Iizuka
Reconf 201901
Takefumi MIYOSHI
GPU-FPGA 協調計算を記述するためのプログラミング環境に関する研究(HPC169 No.10)
Ryuuta Tsunashima
Tremaで試すFirewall
M Hagiwara
Fpga online seminar by fixstars (1st)
Fixstars Corporation
GPU-FPGA協調プログラミングを実現するコンパイラの開発
Ryuuta Tsunashima
「前回の COMSTAR ネタに刺激されてしまったので、オレも COMSTAR を使ってみた。」(仮)
Kazuyuki Sato
C base design methodology with s dx and xilinx ml
ssuser3a4b8c
高速ネットワーク最新動向と具体例 (ENOG58 Meeting)
Naoto MATSUMOTO
20191211_Apache_Arrow_Meetup_Tokyo
Kohei KaiGai
20180217 FPGA Extreme Computing #10
Kohei KaiGai
kagamicomput201714
swkagami
IEICE technical report (RECONF), January 2015.
Takuma Usui
seccamp2012 チューター発表
Hirotaka Kawata
SQL+GPU+SSD=∞ (Japanese)
Kohei KaiGai
kagami_comput2016_14
swkagami
Xbyakの紹介とその周辺
MITSUNARI Shigeo
Linux kernelのbspとupstream
wata2ki
第162回情報処理学会ハイパフォーマンスコンピューティング研究発表会
Hitoshi Sato
20171220_hbstudy80_pgstrom
Kohei KaiGai
NVIDIA Japan Seminar 2012
Takuro Iizuka
Ad
More from Takefumi MIYOSHI
(18)
PDF
ACRi_webinar_20220118_miyo
Takefumi MIYOSHI
PDF
DAS_202109
Takefumi MIYOSHI
PDF
ACRiルーム1年間の活動と 新たな取り組み
Takefumi MIYOSHI
PDF
RISC-V introduction for SIG SDR in CQ 2019.07.29
Takefumi MIYOSHI
PDF
Misc for edge_devices_with_fpga
Takefumi MIYOSHI
PDF
Cq off 20190718
Takefumi MIYOSHI
PDF
Synthesijer - HLS frineds 20190511
Takefumi MIYOSHI
PDF
Hls friends 201803.key
Takefumi MIYOSHI
PDF
Slide
Takefumi MIYOSHI
PDF
Synthesijer and Synthesijer.Scala in HLS-friends 201512
Takefumi MIYOSHI
PDF
Microblaze loader
Takefumi MIYOSHI
PDF
Synthesijer jjug 201504_01
Takefumi MIYOSHI
PDF
Synthesijer hls 20150116
Takefumi MIYOSHI
PDF
Vyatta 201310
Takefumi MIYOSHI
PDF
Fpgax 20130830
Takefumi MIYOSHI
PDF
Fpga local 20130322
Takefumi MIYOSHI
PDF
Google 20130218
Takefumi MIYOSHI
PDF
Bluespec @waseda(PDF)
Takefumi MIYOSHI
ACRi_webinar_20220118_miyo
Takefumi MIYOSHI
DAS_202109
Takefumi MIYOSHI
ACRiルーム1年間の活動と 新たな取り組み
Takefumi MIYOSHI
RISC-V introduction for SIG SDR in CQ 2019.07.29
Takefumi MIYOSHI
Misc for edge_devices_with_fpga
Takefumi MIYOSHI
Cq off 20190718
Takefumi MIYOSHI
Synthesijer - HLS frineds 20190511
Takefumi MIYOSHI
Hls friends 201803.key
Takefumi MIYOSHI
Slide
Takefumi MIYOSHI
Synthesijer and Synthesijer.Scala in HLS-friends 201512
Takefumi MIYOSHI
Microblaze loader
Takefumi MIYOSHI
Synthesijer jjug 201504_01
Takefumi MIYOSHI
Synthesijer hls 20150116
Takefumi MIYOSHI
Vyatta 201310
Takefumi MIYOSHI
Fpgax 20130830
Takefumi MIYOSHI
Fpga local 20130322
Takefumi MIYOSHI
Google 20130218
Takefumi MIYOSHI
Bluespec @waseda(PDF)
Takefumi MIYOSHI
Reconf 201506
1.
AHCIを用いたPCとFPGA間の 汎用インターフェースの実装と評価 三好健文 船田悟史 (株)イーツリーズ・ジャパン 2015.06.20 RECONF研@京都 このスライドは,現在開発中のシステムに基づいてデータ計測/リソース使用量を評価しています. 今後の開発/デバッグの進捗で良くも悪くもなり得ます.データの利用には,ご注意ください.
2.
2 モチベーション ✔ FPGAを使ったシステム(PC+FPGA)の実装の需要が増えている ✔ PCとFPGAに求める負荷はプロジェクトそれぞれ ✔
既存のPCなシステムにFPGAを埋めこみたいというのは多い ✔ 手軽にFPGAとPCを接続したい ✔ PC(OS)のドライバは書きたくない ✔ LinuxやWindowsなどいろんなOSでFPGA (で作ったアクセラレータ)を扱いたい
3.
3 PC-FPGAインターフェースの候補 UART USB PCIe
TCP/IP, UDP/IP 速度 ~数Mbps ~480Mbps(2.0) ~5Gbps(3.0) ~4GBps(Gen2x4) ~8GBps(Gen3x4) ~Gbps@GbE ~10Gbps@xGbE プログラミング termios Libusb 専用デバドラ Mmap 専用デバドラ socket 接続の容易さ 簡単 簡単 ちょっと面倒 簡単 (世界の裏側でも) 接続数 対向/ マルチドロップ ~127 ~数10個? たくさん アクセスタイプ ストリーム ストリーム/ メモリマップ ストリーム/ メモリマップ ストリーム
4.
4 PC-FPGAインターフェースの候補 UART USB PCIe
TCP/IP, UDP/IP 速度 ~数Mbps ~480Mbps(2.0) ~5Gbps(3.0) ~4GBps(Gen2x4) ~8GBps(Gen3x4) ~Gbps@GbE ~10Gbps@xGbE プログラミング termios Libusb 専用デバドラ Mmap 専用デバドラ socket 接続の容易さ 簡単 簡単 ちょっと面倒 簡単 (世界の裏側でも) 接続数 対向/ マルチドロップ ~127 ~数10個? たくさん アクセスタイプ ストリーム ストリーム/ メモリマップ ストリーム/ メモリマップ ストリーム 遅い デバドラ書くの大変 FPGAで使うのは面倒 ランダムアクセスは...
5.
5 PC-FPGAインターフェースの候補 UART USB PCIe
TCP/IP, UDP/IP 速度 ~数Mbps ~480Mbps(2.0) ~5Gbps(3.0) ~4GBps(Gen2x4) ~8GBps(Gen3x4) ~Gbps@GbE ~10Gbps@xGbE プログラミング termios Libusb 専用デバドラ Mmap 専用デバドラ socket 接続の容易さ 簡単 簡単 ちょっと面倒 簡単 (世界の裏側でも) 接続数 対向/ マルチドロップ ~127 ~数10個? たくさん アクセスタイプ ストリーム ストリーム/ メモリマップ ストリーム/ メモリマップ ストリーム デバドラ書くの大変 速い.FPGAで使いやすい ...デバドラさえ書ければ
6.
6 PC-FPGAインターフェースの候補 UART USB PCIe
TCP/IP, UDP/IP 速度 ~数Mbps ~480Mbps(2.0) ~5Gbps(3.0) ~4GBps(Gen2x4) ~8GBps(Gen3x4) ~Gbps@GbE ~10Gbps@xGbE プログラミング termios Libusb 専用デバドラ Mmap 専用デバドラ socket 接続の容易さ 簡単 簡単 ちょっと面倒 簡単 (世界の裏側でも) 接続数 対向/ マルチドロップ ~127 ~数10個? たくさん アクセスタイプ ストリーム ストリーム/ メモリマップ ストリーム/ メモリマップ ストリーム デバドラ書くの大変 速い.FPGAで使いやすい AHCIを実装して, ディスクに見せてしまおう!!
7.
7 AHCI ✔ Advanced Host
Controller Interface ✔ SATAなHDDやSSDを接続するためのインターフェース ✔ 最近のOSのほとんどでサポートされている = 標準のデバドラでブロックデバイスにみえる ✔ SATAなHDDやSSD以外に接続してはいけない,ことはない
8.
8 一般的なAHCIによるディスク接続 ディスクに送るコマンドを預かる ディスクからのリプライを返す 作業用メモリのポインタの確認 複数コマンドをOoOで発行(NCQ) ディスクへのFISの発行 ディスクからのFISの受信 ステータス管理
9.
9 AHCIのメモリチェイン どのコマンドが 有効かはPxCI レジスタをみる ディスクに 送るべきコマンド PCIeのBAR5に レジスタ空間への ポインタがある ディスクとの やり取りに使う メモリ領域への ポインタ 近代的なOSでは大量の仮想メモリを複数の細かい実メモリに分割して扱う ディスクとの やり取りに使う メモリ領域 P0CLB HBAからは P0CLBの 値でたどる
10.
10 AHCI越しのデータ授受のフロー PCIe越しの通信
11.
11 AHCI ✔ Advanced Host
Controller Interface ✔ SATAなHDDやSSDを接続するためのインターフェース ✔ 最近のOSのほとんどでサポートされている = 標準のデバドラでブロックデバイスにみえる ✔ スキャッタギャザーDMAとしてよくできてる ✔ PCIe越しの煩雑な通信オーバヘッドが心配 ✔ どこまでディスクなしでOSをだませるものだろうか?
12.
12 今回の取り組みの趣旨 ✔ AHCIをPC-FPGA間汎用インターフェースとして使ってみる → HBA(ホストバスアダプタ)をFPGAに実装してみる ✔
FPGA内ロジックへのアクセスとAHCIの親和性 ✔ 回路規模は? ✔ 転送性能は? ✔ 実装の複雑さは?
13.
設計と実装
14.
14 実装するシステムの概要 OSからのリクエストに ディスクにアクセスしたフリをしつつ AXI空間のデバイスにアクセスする Gen2 x4 レジスタマップは PCIe経由で ホストから叩かれる ディスクアクセスのためのLBAは 素直に(LBA*512)AXIアドレスに対応づける
15.
15 実装するシステムの足回り 今回はXilinxのIPコアで組立て.
16.
16 HBAでディスクの状態を補完 = ないディスクのふりをする ✔ HBAレジスタのディスク状態の”適当”な設定例 レジスタ
値 概要 CAP 40240000 NCQ有効.転送レートはGen2相当.AHCIのみサポート GHC 80000000 AHCIを有効 PI 00000001 ポート0のみ有効 VS 00010000 サポートするAHCIバージョン(1.0) CCC_CTL 00010100 タイムアウトとコマンドコンプリージョンリセット値 P0CMD 00110006 ディスクがコマンド待機状態に見えるように設定 P0TFD 00000058 RegD2Hが成功したように設定しておく P2SSTS 00000123 ディスクが電源ONの状態に設定 P0SCTL 00000320 ディスクが正常動作中にみえるように設定
17.
17 HBAの動作フロー ここはディスクの代わりにHBA内で処理してしまう 少なくとも IDENTIFY FPDMA_READ/FPDMA_WRITE は必須 メモリチェインをたどる(本来のHBAの処理)
18.
18 HBAの動作フロー/FIS取得まで private int wait_for_command(){ while(reg.values[P0CI]
== 0) ; reg.values[P0CMD] = 0x10110007; // 処理開始 int id = get_port_id(reg.values[P0CI]); // '1'のbitを選ぶ axi.fetch(reg.values[P0CLB] + (id << 5), 4); // command headerを取得 dw0 = axi.read(0); // PRDTL, PMP, RCBRPWA, CFL dw1 = axi.read(1); // PRD Byte Count dw2 = axi.read(2); // CTBA0 dw3 = axi.read(3); prdtl = (dw0 >> 16) & 0x0000FFFF; ctba = dw2; axi.fetch(ctba, 5);// CFIS取得 cfis_dw0 = axi.read(0); // Features, // Command,… cfis_dw1 = axi.read(1); cfis_dw2 = axi.read(2); cfis_dw3 = axi.read(3); return (dw0 >> 16) & 0x000000FF; } P0CLB
19.
19 FISに対する処理: FISとは ✔ SATAとコマンド/リプライをやりとりするパケット ✔
いくつかのフォーマットがある ✔ RegH2D: ホスト(PC)からデバイス(ディスク)へ ✔ RegD2H: デバイス(ディスク)からホストPCへ ✔ DMAリード/ライト ✔ FPDMAリード/ライト ✔ ...
20.
20 FISの例 RegH2D FPDMA_READ/WRITE
21.
21 FISへの対応例: IDENTIFY private void
return_identify(){ // get PRDT entry axi.fetch(ctba + 0x80, 4); int dba = axi.read(0); // DBA for(int i = 0; i < 128; i++){ axi.write(i, identify.data[i]); } axi.flush(dba, 128); // reply fis axi.write(0, 0x0058605f); axi.write(1, 0xe0000000); axi.write(2, 0x00000000); axi.write(3, 0x500000ff); axi.write(4, 0x00000200); axi.flush(reg.values[P0FB] + 0x20, 5); } P0CLB
22.
22 FISへの対応例: FPDMA_READ private void
do_fpdma_read(){ int ncq_tag = (cfis_dw3 >> 3) & 0x0000001F; int lba = (cfis_dw1 & 0x00FFFFFF); int lba_exp = (cfis_dw2 & 0x00FFFFFF); int sectors = ((cfis_dw0>>24)&0x000000FF) + (((cfic_dw2>>24)&0x000000FF)<<8); int offset = lba * 512; // アクセスするAIX空間上のアドレス for(int i = 0; i < prdtl; i++){ axi.fetch(ctba + 0x80 + (i<<4), 4); // ホストメモリ上のアドレス int prdtl_addr = axi.read(0); int prdtl_len = (axi.read(3)&0x003FFFFF)+1; copy_storage2pcie_all(offset, prdtl_addr, prdtl_len); offset = offset + prdtl_len; } } P0CLB
23.
動作例
24.
24 動作例 PCIデバイス→AHCIデバイス→ディスクに見えている XilinxのPCIe<->AXIブリッジは BAR5が使えないのでBAR0で代用. この対応パッチだけデバドラに適用 標準AHCIデバドラが アタッチされていることがわかる FPGA
25.
25 動作例 PCIデバイス→AHCIデバイス→ディスクに見えている うまくOSを だませている /dev/sdbらしい ddとかできる
26.
26 動作例 ディスクなのでfdiskでパーティションを作ることも可能 これはFPGA fdisk!! FPGA上(AXI越しのメモリの上)に パーティションができた
27.
27 動作例 フォーマットしてファイル作成も可能 フォーマットして ファイルを書くこともできる
28.
評価
29.
29 評価環境 ✔ ホストPC ✔ Intel
Core i3-4130 3.40GHz ✔ メモリDDR3 16GB ✔ OS Ubuntu 14.04.2 (Kernel 3.13.11-ctk17) ✔ FPGAボード/開発環境 ✔ Xilinx K705 ✔ Vivado 2014.4 ✔ AXI内部バス32bit,512bit
30.
30 実装するシステムの概要 Gen2 x4 内部バス32bitのシステム
31.
31 リソース使用量 項目 使用数 使用率 システム全体
スライスLUT 37386 18% スライスレジスタ 32733 8.0% 占有スライス 15045 30% ブロックRAM 25 5.6% HBA スライスLUT 4241 2.0% スライスレジスタ 8467 2.0% 占有スライス 2620 5.1% ブロックRAM 2 0.5% 内部バス32bitのシステム
32.
32 転送性能 内部バス32bitのシステム
33.
33 実装するシステムの概要 このバス幅として, 512bitのバージョンを試す Gen2 x4 内部バス512bitのシステム 制御用に32bit AXIバスを残す
34.
34 リソース使用量 項目 使用数 使用率 システム全体
スライスLUT 46525 23% スライスレジスタ 45109 11% 占有スライス 17825 35% ブロックRAM 53 12% HBA スライスLUT 11499 5.6% スライスレジスタ 8982 2.2% 占有スライス 5002 9.8% ブロックRAM 30 6.7% 内部バス512bitのシステム
35.
35 転送性能 内部バス512bitのシステム
36.
36 比較 ✔ Xilinx EDKのIPコアで作ったシステム
on KC705 ✔ ホストメモリは連続領域を確保 Host PC Host PC Main Memory Software FPGA Board FPGA Board DDR3 Memory Main controller PCIe Memory Controller DMA engine Kick Done User Application Logic Host Memory → DDR3 Memory/FPGA Board DDR3 Memory/FPGA Board → Host Memory 128bit 256bit @100MHz @800MHz
37.
37 比較 Throughput (MBps) Transfer unit
(Bytes) FPGA→Host: 1GBps Host→FPGA: 850MBps
38.
38 AHCI越しのデータ転送の様子 データ転送開始直後(4KB単位のブロック転送)
39.
39 (1) (2) AHCI越しのデータ転送の様子 (2') (1) 4KB CTRL
ARVALID: 0 CTRL RVALID : 104(104) SRC ARVALID : 180( 76) DATA RVALID : 234( 54) DATA RLAST : 314( 80) COPY START : 338( 24) COPY DONE : 405( 67) DEST AWVALID: 426( 21) DEST WVALID : 430( 4) DEST WLAT : 688(258) (2) 4KB CTRL ARVALID: 476( 0) CTRL RVALID : 1238(762) SRC ARVALID : 1315( 76) DATA RVALID : 1369( 54) DATA RLAST : 1449( 80) COPY SART : 1472( 24) COPY DONE : 1539( 67) DEST AWVALID: 1560( 21) DEST WVALID : 1564( 4) DEST WLAT : 1822(258)
40.
40 AHCI越しのデータ転送 しばらくデータ転送が継続したあと(60KB単位の転送)
41.
41 まとめ ✔ AHCIをPC-FPGA間汎用インターフェースとして使ってみる → HBA(ホストバスアダプタ)をFPGAに実装してみる ✔
FPGA内ロジックへのアクセスとAHCIの親和性 →AXI-MMと親和性は高い ✔ 回路規模は?→内部バスを512bitと奢ってもXC7K325Tの約35% →比較相手よりやや大きい ✔ 転送性能は?→約900MBps→比較相手よりやや遅い ✔ 実装の複雑さは?→HBA自体は軽量.移植性も高い.
42.
42 今後の展開 ✔ FPGA側でOSのファイルシステムを扱いたい ✔ Zynqでも利用したい ✔
NVMeではどうだろうか?
43.
43 今後の展開 PC FPGA ディスク? 何かの 処理 ディスク インターネット ✔ なんでもディスクに見せてしまうのは楽しそう ✔ たとえば BRAM
44.
44 まとめ ✔ AHCIをPC-FPGA間汎用インターフェースとして使ってみる → HBA(ホストバスアダプタ)をFPGAに実装してみる ✔
FPGA内ロジックへのアクセスとAHCIの親和性 →AXI-MMと親和性は高い ✔ 回路規模は?→内部バスを512bitと奢ってもXC7K325Tの約35% →比較相手よりやや大きい ✔ 転送性能は?→約900MBps→比較相手よりやや遅い ✔ 実装の複雑さは?→HBA自体は軽量.移植性も高い.
Download