Vivado IP Package 自定义总线 Interface

本文介绍了如何在Vivado中创建自定义的HDMI接口,以改善FPGA IP的框图设计。通过编辑XML文件定义接口,并将其添加到IP包中,实现更整洁的接口展示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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>
    <spirit:version>1.0</
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值