FPGA与system generator做hardware co-simulation(硬件协仿真)配置总结
前段时间在做实现FPGA与system generator进行co-simulation的工作。手头有一个KINTEX核心板,底板是自己做的。最后基本实现了功能。所以记录一下之前的工作,也希望后人少走些弯路。
一、co-simulation是什么?
co-simulation这个功能是XILINX公司开发出来便于实现算法仿真的。co-simulation有什么好处呢?
co-simulation可以将在FPGA中运行的东西直接集成到Simulink仿真中。以后跑simulink仿真可以不经过电脑CPU了,直接用FPGA并行跑,说到底还是一个字——快!
可以在XILINX的DocNav上找到ug897文件,里面有较为详细的说明。
二、co-simulation配置步骤
1.找到vivado安装目录下的board_files文件夹
board_files文件夹位置一般在:[安装目录]\Vivado[版本号]\data\boards\board_files
如:D:\software\Vivado\vivado_download\Vivado\2019.2\data\boards\board_files
可以看到里面有很多官方的开发板工程。
2.添加自己的工程
这里我针对手头的KINTEX核心板,拷贝了一份KINTEX的官方工程(kc705中的1.2),重新命名为userBoard。
可以用notepad或记事本打开board.xml文件看下,是这样的:
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<board schema_version="2.1" vendor="xilinx.com" name="kc705" display_name="Kintex-7 KC705 Evaluation Platform" url="www.xilinx.com/kc705" preset_file="preset.xml">
<images>
<image name="kc705_board.jpeg" display_name="KC705 BOARD" sub_type="board">
<description>KC705 Board File Image</description>
</image>
</images>
把里面的名字改下,相当于定义一个我们自己的板子:
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<board schema_version="2.1" vendor="xilinx.com" name="MK7325" display_name="Kintex-7 MK7325 Evaluation Platform" url="www.xilinx.com/kc705" preset_file="preset.xml">
<images>
<image name="MK7325_board.jpeg" display_name="MK7325 BOARD" sub_type="board">
<description>MK7325 Board File Image</description>
</image>
</images>
3.打开system generator
一定是system generator,不是matlab!!!
4.输入命令:edit startup.m
输入命令:edit startup.m
在startup.m中输入如下代码:
addpath([getenv(‘XILINX_VIVADO’) ‘/scripts/sysgen/matlab’]);
xilinx.environment.setBoardFileRepos({’
复制userBoard的路径,并将其中的
5.Ctrl+S保存文件后,关闭并重新打开system generator
Ctrl+S保存文件后,关闭并重新打开system generator。
重新打开后输入命令:xilinx.environment.getBoardFiles后回车,如果出现如下返回值,说明配置成功。
6.打开Simulink
打开simulink,双击System generator图标,会出现如下界面,选择自己添加的board
7.配置compilation
配置compilation为co-simulation的JTAG
8.点击Generate
9.生成hwcosim模块
等待一段时间后,生成一个hwcosim模块
10.将其拖至simulink模型中
11.将FPGA板子JTAG与电脑USB连接并上电
12. 点击运行
13.完成FPGA的co-simulation
三、补充说明
如果自定义的底板上FPGA的型号与官方开发板型号不同,需要自定义xml接口文件。详细的编写说明见DocNav的ug895附录A。