狠狠撸

狠狠撸Share a Scribd company logo
翱辫别苍颁尝の叠厂笔改造
board.qsys
freeze_wrapper.v
top.v
I/OChannel
QSFP-1
QSFP-2
kernel_system
PR OpenCL Code
40G IP
40G IP
router
Original BSP
システム構造
? top.v
? top level module
? board.qsys
? 各種Peripheralのコント
ローラが含まれるQsysシス
テム (=BSP)
? kernel_system
? OpenCLコードから?成さ
れるモジュール
? Partial Reconfiguration
(PR)によって置換されるの
はここの部分
OpenCL BSP flow
? top (default)
? aocコマンドのデフォルトフロー
? base.qarファイルからBSPの合成済みネットリストを抽出し、OpenCL由来のコード
と合わせて合成する
? PartialReconfiguration (PR) 可能
? ユーザー向け
? flat
? BSP由来のHDLと、OpenCL由来のHDLを同時に合成する
? FPGA内部のパーティションを作成しない
? PR不可
? BSP開発者向け
? base
? base.qarを作成するためのフロー
? BSP開発者向け
BSP
Netlist
User
OpenCL
User
HDL
User
Netlist
FPGA Chip
BSP
Archive
BSP
HDL
Top Flow
BSP
Netlist
User
OpenCL
User
HDL
User
Netlist
FPGA Chip
BSP
Archive
BSP
HDL
Base Flow
User
OpenCL
User
HDL
BSP
HDL
Flat Flow
+
Mixed
HDL
Mixed
Netlist
FPGA Chip
BSP
Netlist
User
OpenCL
User
HDL
User
Netlist
FPGA Chip
BSP
Archive
BSP
HDL
Top Flow
BSP
Netlist
User
OpenCL
User
HDL
User
Netlist
FPGA Chip
BSP
Archive
BSP
HDL
Base Flow
User
OpenCL
User
HDL
BSP
HDL
Flat Flow
+
Mixed
HDL
Mixed
Netlist
FPGA Chip
+Net
+Net
+Net
+Net
+Net
+Net
+Net
+Net
BSP
Netlist
User
OpenCL
User
HDL
User
Netlist
FPGA Chip
BSP
Archive
BSP
HDL
Top Flow
BSP
Netlist
User
OpenCL
User
HDL
User
Netlist
FPGA Chip
BSP
Archive
BSP
HDL
Base Flow
User
OpenCL
User
HDL
BSP
HDL
Flat Flow
+
Mixed
HDL
Mixed
Netlist
FPGA Chip
+Net
+Net
+Net
+Net
+Net
+Net
+Net
+Net
BSP
Netlist
User
OpenCL
User
HDL
User
Netlist
FPGA Chip
BSP
Archive
BSP
HDL
Top Flow
BSP
Netlist
User
OpenCL
User
HDL
User
Netlist
FPGA Chip
BSP
Archive
BSP
HDL
Base Flow
User
OpenCL
User
HDL
BSP
HDL
Flat Flow
+
Mixed
HDL
Mixed
Netlist
FPGA Chip
OpenCL BSP flow for dev.
? flat
? 合成にかかる時間が短い
? BSP部のタイミングが満たせるかどうか不安定
? OpenCLコードを少し変更するだけでMetしない可能性を含む
? base
? 2回 (base+top) の合成が必要
? 開発のイテレーションが?くなる
? topだけでも、flatよりも合成時間が?い
? Timingを?度満たせば、それを使い回せる
base.qar作成
? cd $bsp
? rm hardware/$board/base.qar
? cp
$INTELFPGAOCLSDKROOT/board/custom_platform_toolkit/tests/boa
rdtest/boardtest.cl .
? export AOCL_BOARD_PACKAGE_ROOT=$bsp
? aoc -bsp-flow=base -seed=$seed -board=$board -board-
package=$bsp -no-interleaving=default boardtest.cl
? cp boardtest/base.qar hardware/$board
boardtest.cl
? synthesisの最適化で信号が消失するとPRでも回復できない
? SDK付属のboardtest.clファイルを使ってbase.qarを作成する
? メモリバスとsnoopバスを使うようなコードが含まれている
? 改造で追加した信号に対しても、かならずその信号をdriveする
ようにOpenCLコードを追加する
? quartus_sh_compile.logに以下のような警告が出るので注意する
Warning (17912): Partition "freeze_wrapper_inst|kernel_system_inst"
contains an output port, "kernel_mem0_address[0]~OPORT",
that connects to partition and has no routing.
It is possible that the destination logic was swept away.
Consider modifying your design by inserting Wire LUTs
so that every partition output has a routed destination.

More Related Content

叠厂笔改造罢颈辫蝉