FPGA逻辑开发
所有文档
menu

FPGA云服务器

FPGA逻辑开发

产品详情自助选购

FPGA逻辑开发

使用Baidu_HW_design_toolkit编译实现您的动态逻辑

“Baidu_HW_design_toolkit”工具包,帮助将您开发的动态逻辑实现在FPGA中。

“Baidu_HW_design_toolkit”提供FPGA硬件逻辑所需的环境,只需将自己逻辑所需的相关的文件(如rtl代码,ip核,xdc约束等)放入指定的路径,然后执行脚本,即可生成用于烧写FPGA云服务器的逻辑镜像文件。

“Baidu_HW_design_toolkit”包含了三个子文件夹,build,common_files和usr_files.

  • usr_files存放用户的工程设计文件。
  • common_files存放FPGA云服务镜像工程的一些通用设计。如静态逻辑的dcp,ddr约束等。通常情况下,不建议您修改common_files目录中的内容。
  • build存放制作FPGA云服务器逻辑镜像所要执行的脚本,如果您具备丰富的FPGA开发经验,可以根据自己的需要修改脚本。例如,用更加适合的布局布线策略管理您的工程实现。

“Baidu_HW_design_toolkit”提供了两种流程制作FPGA云服务逻辑镜像,需要准备不同的设计文件:

  1. Non_IPI流程

这种方式比较类似传统的FPGA工程实现方式,您需要准备好动态部分逻辑(也就是rp_bd_wrapper.rp_bd_i)的设计文件放入usr_files指定的目录,然后执行build目录下的run_nonIPI.tcl脚本。

  1. IPI流程

这种方式采用vivado IP Integrator制作云服务逻辑镜像的动态部分逻辑(也就是rp_bd_wrapper.rp_bd_i)。你需要准备好IPI的设计文件放入usr_files和build下指定的目录,然后执行build目录下的run_IPI.tcl脚本。

使用bin_pr_tools更换您的动态逻辑

“bin_pr_tools”工具包,是更换FPGA动态部分逻辑的必要工具。在使用该工具包前,您需要确保FPGA的驱动程序已经加载。然后运行bin_pr_tools目录下的”load_pr_bin.sh”脚本即可更换您的动态部分逻辑。

$sudo sh load_pr_bin.sh base ./ver2/ver2_pr_region_partial.bin
OK set decouple! ...
OK loading clear bin! ...
OK loading pr region bin! ...
OK unset decouple! ...
OK soft reset rp_bd ...
successfully load custom bitstream!
partial clear bin: ./base/base_pr_region_partial_clear.bin
partial bin: ./ver2/ver2_pr_region_partial.bin
found clear bin base_pr_region_partial_clear.bin in the current partial bin file’s directory
copy bin base_pr_region_partial_clear.bin into ‘last_clear_bin’ directory

注意:

由于更换动态部分逻辑时,需要写入当前动态逻辑对应的clear bin,您务必保存好clear bin文件,以便下次更新动态逻辑时使用。同时bin_pr_tools工具包也会保存新动态逻辑对应的clear bin文件。

使用Vivado对您的动态逻辑进行调试

百度智能云提供工具包类似日常使用vivado操作,对您的动态逻辑进行调试。

在使用该工具包前,您需要确保FPGA的驱动程序已经加载。

  1. 打开xvc_server工具包,运行xvc_pcie服务。
  2. 使用vivado工具,仅需几步就可以通过虚拟jtag识别FPGA设备。
  3. 选择动态逻辑对应的probe文件,类似使用Vivado工具,对工程中的ila和vio进行功能调试和信号查看。

上一篇
FPGA软件驱动开发
下一篇
FPGA示例工程说明