基于ZCU104的PS和PL数据交互例程(二):vivado中封装现有工程成IP
设计DUT功能
正常创建一个vivado工程,添加一个dut.v的文件
功能:读入100个输入数据,每个数据依次加0,1,2,...,然后输出。比如输入是0到99,则输出是0,2,4,到198,如下图所示。
状态机:
时序图:
端口情况:
创建vivado工程
正常创建新工程,选择zcu104板卡
新建dut.v文件
根据设计资料撰写代码
仿真验证
综合通过
封装现有工程
更加具体的封装步骤,可以参考正点原子的2_启明星ZYNQ之嵌入式SDK开发指南_V2.0.pdf------>第十五章 基于BRAM的PS和PL的数据交互
打开封装IP,选Next
选择打包现在的工程
选择封装好的ip存放路径
然后选择确定和finish
之后会进入一个IP编辑的工程界面
第一页Identification简单设置就行
第二页compatibility选择支持的板卡系列
因为我之前创建工程的时候就选择的是zcu104板卡,所以这里默认是支持zynqplus系列。如果想支持其他系列,可以点击加号添加。
第三页File Groups,点击Merge changes from File Groups Wizard
第四页Customization Parameters,跳过,如果有需要配置参数可以修改
第五页Ports and interfaces,这里把两个BRAM的接口打包
依次把对应端口映射
最后映射结果如图,把bram_init相关的引脚都完成map,再点击Parameters
最后配置master_type,点击ok结束
同样的道理配置BRAM_RES的接口,最后配置好后如下