paradoxfx

【原创】在Vivado IPI中用接口推断法自动连接IP

0
阅读(6445)

前一篇博文里我们已经讲了如何在System Generator生成并打包自定义IPhttp://blog.chinaaet.com/detail/35983),其中我们通过自定义Gateway InGateway out模块的名字,指定了生成的IP的端口名称,它与其它IP的连接需要我们自己手动配置。此外,我们也可以使用System Generator对接口名称的自动推断,使得系统根据内置的命名规则,自动匹配一些IP的名字,从而可以减少我们在Vivado IPI中的连线工作。为了使用这样的自动化,我们需要在System Generator中把Gateway InGateway Out接口模块的名字配置为相关的前缀,才能被Vivado IPI自动识别配置为连接相关的IP接口,这一规则如表1所示。

1 System Generator打包IP时的命名规则

接口名称

Gateway in (严格)

Gateway out (严格)

AXI4-Lite Slave

awaddr

awready (1bit)

awvalid (1bit)

wdata

wready (1 Bit)

wvalid(1 Bit)

bready (1bit)

bresp (2 Bits)

bvalid

AXI4-Stream Slave

tdata

tready

tvalid(1 Bit)

AXI4-Stream Master

tready (1bit)

tdata

tvalid(1 Bit)

Reset (full name)

aresetn

Clock

clk

点击System Generator IP输出界面的settings,可以配置为自动接口推断,即“Auto Infer Interface”,如图1所示。

1配置自动端口推断

接下来我们以一个AXI接口的例子来说明自动端口推断功能是如何实现的。创建一个增益控制的工程,如图2所示。


a)创建的示例工程


bAXILiteInterface模块

2创建的示例工程

这个模型的功能是:通过AXILite接口为乘法器模型选择不同的输入。注意在图2b)中也包含了多个Gateway InGateway out模块,它们的名字都含有表1中对应的前缀。然后我们编译这个模型,其中选择输出模式为IP Catalog,并勾选图1中的“Auto Infer Interface”。然后我们在输出文件夹中的ip_catalog路径下打开生成的.xpr文件,然后双击Design Source下面的bd文件,此时我们看到因为我们在System Generator里已经给Gateway InGateway Out接口模块加了对应的前缀,所以Vivado IPI对端口名进行自动推断,并自动给我们把相关的接口模块IP给连接好了,如图3所示。


3 Vivado IPI自动推断的端口连接

从图3中可以看出,因为我们在这里使用的是ZYNQ-7000 AP SOC,所以PS也已经被自动连接进来了,非常的智能。然后点击的IPI管理器里的验证工具(红圈已圈出),对连接的正确性进行验证,如图4所示。


4验证设计

Baidu
map