【原创】使用端口打包法高效生成Vivado IP
1赞为了更好地使用一个自定义IP,正确定义定义它的端口是非常重要的,所以我们需要了解System Generator中封装IP的方法。在这里我们以端口/管脚接口打包法为例,看看这个是如何创建一个可以在Vivado中使用的IP并验证它的。
使用端口/管脚接口打包法的话,Gateway In和Gateway out模块都会被打包成RTL中的端口。为了说明这种模式创建的IP的生成效果,我们首先创建一个简单的模型,并在System Generator输出类型中选择IP Catalog,并勾选Create testbench,如图1所示。
图1创建打包IP的模型示例
在图1中,还可以点击其中的Setting,自定义所创建IP的版权和版本信息;然后点击其中的Generate,则我们自定义的IP就创建成功了。使用端口/管脚打包的方法,则输出的IP中,输入、输出的名字和Gateway In和Gateway out模块的名字是一致的。
然后我们在资源管理器中打开输出文件所在路径/method1中子目录/ ip_catalog,双击已经生成的Vivado工程.xpr文件;或者直接在Matlab中切换到相关的路径,然后在.xpr文件上点击右键选择open outside Matlab,打开System Gnerator为我们生成的IP调用的示例工程,其工程结构如图2所示。
图2创建的IP的示例工程结构
因为我们在图1中的配置里勾选了自动生成测试用例,所以在图2所示的工程结构里,测试脚本也全部自动生成了。然后我们可以在Vivado的设计流程管理器中选择Simulink---Run Simulation,选择行为仿真,如图3所示。
图3 IP验证的仿真结果
在图3中,在输入和输出的信号上点击右键,选择waveform style,把显示格式改为Analog,这样就能更方便地观测仿真波形了,这也是Vivado自带仿真器相对于ISIM的优势:不需要打开额外的界面,也具有了更多的图形化的功能。
通过行为仿真,我们验证了System Genertor打包创建的IP。接下来我们可以在Vivado中回到工程管理界面(比如点击一下Project Manager即可),然后点击IP source中对应的IP的名字,就可以在Vivado IP集成管理器(IPI)中看到我们创建的IP的信息了。接下来,我们便可以在Vivado IPI中把它和更多的IP集成在一起,设计功能更加复杂的系统了。
图4 IP信息