Vivado中IP是如何控制端口的可见与不可见

介绍

Vivado中IP是如何控制端口的可见与不可见,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

测试平台Vivado 2017.2

一、建立一个简单的阿喜IP

最简单的封装IP莫过于使用Vivado菜的工具单下(已有工程打开),新建和包IP子项建立:

 Vivado中IP是如何控制端口的可见与不可见

 Vivado中IP是如何控制端口的可见与不可见

这是配置AXI4 IP的名字,版本等信息,版本,显示名字和描述在后面可以修改,根据需要填写。

这个是AXI4 IP的配置界面,接口类型提供了Lite,完整和流三种可选,此处我添加4个奴隶的Lite接口。

 Vivado中IP是如何控制端口的可见与不可见

最后点击完就完成IP创建,由于我需要对代码进行修改,我选择编辑IP,除此之外还有验证外围IP使用AXI VIP和验证外围IP使用JTAG接口是两种不同的验证手段,VIP其实就是阿尔特拉的虚拟JTAG,而后者是Vivado内带了一个叫调试桥的IP,它可以实现AXI操作JTAG的功能,实现FPGA控制另一块FPGA通过JTAG口,还有一个叫JTAG AXI主的IP正好反过来,是JTAG控制AXI。

二,如何控制IP端口可配置显示

在IP设计时,最为头疼的是如果我的IP共有40个对外的港口,而我并不需要40个对外的港口总是需要配置连线,我可能只需要20个港口。通过配置参数可以使其他的20个港口不可见,Vivado提供了这种功能,它就是支持表达式功能,它有三个作用:

1。它可以启用或禁用一些端口或总线

2。它可以启用或禁用自定义的参数;

3。它可以计算自定义的参数的值。

本文仅对端口/总线的启用与禁用进行说明:

打开IP的编辑界面,切换到港口和界面选项卡:

 Vivado中IP是如何控制端口的可见与不可见

需要将界面存在项从强制性选中切换为可选选中,在界面存在下面编辑框填写$ C_S00_AXI_ADDR_WIDTH !=0,这是tcl语法,变量引用需要在变量名前添加美元符号,点击好:

 Vivado中IP是如何控制端口的可见与不可见

右键C S00 AXI ADDR宽度选择编辑参数;

 Vivado中IP是如何控制端口的可见与不可见

目光转到预览界面,可以发现C S00 AXI ADDR宽度对应的文本编辑框不再处于灰色不可以编辑状态,修改值为0,然后点击其他的文本框使之设置值生效。

 Vivado中IP是如何控制端口的可见与不可见

发现S00_AXI又神奇的出现了,这就是总线的禁用,端口的禁用是类似的。

看完上述内容,你们掌握Vivado中IP是如何控制端口的可见与不可见的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!

Vivado中IP是如何控制端口的可见与不可见