Vivado IP Package 自定义总线 Interface

Vivado IP Package 自定义总线 Interface

目前新版本的 Vivado 已经有了 Create Interface 功能,这个文章已不适用。

背景

在用Vivado制作自己的IP的时候,已经熟悉了将功能关联的一组port组合成一个interface,比如这个M_AXIS:

一个简单的IP

这样可以简化框图设计中IP的显示,

一个简单的IP

方便连线、优化框图设计布局。

AXIS连接

但一般的操作中只能使用Vivado自带的interface。像上面这个IP中的HDMI接口,Vivado就没有集成合适的interface。分立的port会使得框图设计变的比较凌乱,尤其是像HDMI这样既有输入又有输出的接口。

HDMI made external

工程庞大的时候,再多加几个这样的接口,框图基本就没法看了……

我们期望的框图是这样:

HDMI已经是总线的形式了

截止到2014.4,Vivado还没有加入自定义interface的界面。在遭受了长期的完美主义煎熬之后,终于打算着手解决一下这个问题了。

Vivado interface 的实现方式

首先Vivado这个interface是在这里定义的(Windows版为例):

Vivado安装文件夹\data\ip\interfaces

这里面有一系列文件夹,每个描述了一个interface。
随便打开一个iic_v1_0(其实不是我随便选的,因为这个比较简单),里面有两个XML文件。既然是XML就没什么可怕的了,先打开iic.xml看一下:

<?xml version="1.0" encoding="UTF-8"?>
<spirit:busDefinition xmlns:xilinx="http://www.xilinx.com"
        xmlns:spirit="http://www.spiritconsortium.org/XMLSchema/SPIRIT/1685-2009"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <spirit:vendor>xilinx.com</spirit:vendor>
    <spirit:library>interface</spirit:library>
    <spirit:name>iic</spirit:name>
    <spirit:version>1.0</spirit:version>
    <spirit:directConnection>false</spirit:directConnection>
    <spirit:isAddressable>false</spirit:isAddressable>
    <spirit:extends spirit:vendor="xilinx.com"
            spirit:library="interface"
            spirit:name="iic"
            spirit:version="1.0"/>
    <spirit:maxMasters>1024</spirit:maxMasters>
    <spirit:maxSlaves>1024</spirit:maxSlaves>
    <spirit:description>IIC Interface</spirit:description>
</spirit:busDefinition>

似乎没什么东西,就是定义了这个interface的基本信息,比如名字、作者什么的。

然后看iic_rtl.xml,文件稍长一些,大致结构是这样的:

<?xml version="1.0" encoding="UTF-8"?>
<spirit:abstractionDefinition xmlns:xilinx="http://www.xilinx.com"
        xmlns:spirit="http://www.spiritconsortium.org/XMLSchema/SPIRIT/1685-2009"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <spirit:vendor>xilinx.com</spirit:vendor>
    <spirit:library>interface</spirit:library>
    <spirit:name>iic_rtl</spirit:name></
  • 6
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Vivado中添加自定义IP核步骤如下: 1. 首先,确保你已经将自定义IP核设计完成,并且执行了合成等必要的操作。 2. 在Vivado中创建新的工程。选择一个适当的文件夹和工程名称。 3. 在创建好的工程中,打开“IP Catalog”窗口。通过点击“IP”菜单栏中的“Open IP Catalog”或者在窗口下方的“IP”标签处使用快捷键“Ctrl + Shift + W”来打开该窗口。 4. 在“IP Catalog”窗口中,选择“Repositories”下的“IP Repository”选项卡,然后点击右边的“+”按钮。 5. 在打开的窗口中,浏览并选择你的自定义IP核的Xilinx格式的ip文件。点击“OK”按钮进行导入。 6. 导入完成后,你的自定义IP核将会显示在“IP Catalog”窗口的“User IP”选项卡中。 7. 点击自定义IP核的图标,在右侧的“Customization Parameters”中可以配置自定义IP核的参数。 8. 可以选择性地进行其他配置,例如接口的设置、时钟和复位的连接等。 9. 配置完成后,点击“OK”按钮,系统将会生成一个包含自定义IP核的例化模块。 10. 在Block Diagram等地方使用该例化模块,将其拖放至设计中,并按需连接到其他设计模块。 11. 最后,完成设计后进行生成比特流文件等后续的操作。 通过以上步骤,你可以成功将自定义IP核添加到Vivado中,并在你的设计中使用它。注意,在添加自定义IP核之前,建议先阅读Vivado的相关文档和教程,以便更好地理解和掌握该过程。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值