打印
[ISE]

ISE工程移植到VIVADO

[复制链接]
1686|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主

Vivado是Xilinx继ISE之后的FPGA开发环境,但是两者的工程存在较大差异,并不能直接转换。

这里主要参考Xilnx手册UG911 (v2018.2) June 6, 2018做相关整理及记录。其中原工程中PL部分的源文件自然可以直接导入,主要问题难点在PS部分:

0、工程导入:这个功能只能导入一部分文件

1、导入zynq soc

首先新建一个空白block design,添加zynq soc,如下图执行XPS导入:


有些参数还需要自己手动比对添加:





2、对于原ISE中的IP但在VIVADO中没有的,可以利用源码的方式添加:

原ISE中的库路径如下:主要都是VHDL源码(VHDL其实和Verilog类似,只是格式比较繁琐,主要分为:entity[模块头部说明]/architecture[模块主体])

比如:AXI Slave Burst这个IP我在VIVADO ip catalog并没有找到:也许改了名字,这是我有疑问的地方





使用特权

评论回复

相关帖子

沙发
gaochy1126|  楼主 | 2022-11-30 20:53 | 只看该作者

关于VHDL文件使用说明,如果不手动在文件属性栏指定编译的lib库的名字,则默认为work:

UG901 (v2019.1) June 12, 2019 Synthesis

手动指定VHDL的编译库,实际操作发现只能一个一个文档修改:

https://www.cnblogs.com/garylee/archive/2012/11/16/2773596.html


在第1步中zynq soc部分虽然已经同步过来但是其它子模块仍然需要自己手动添加:

ISE中的XPS的操作和VIVADO差距比较大:

ISE中的graphical view不同与vivado diagram,它只能用来查看当前连接的情况,并不能对ip模块进行操作,

实际操作需要切到其它页面:

手动查看原IP参数,依次在vivado中添加进来。


使用特权

评论回复
板凳
gaochy1126|  楼主 | 2022-11-30 20:53 | 只看该作者

一般来说有源文件的代码都可以在Diagram中右击Add Module,添加进来,但有一些却不可以:

根据UG994中描述:将鼠标悬停在不能添加的文件上面会有相关提示(不过有时候也没有)


导出AXI总线的问题:这个没有找到很好的解决办法,但是应该不影响实际功能:

导出的AXI总线是没有时钟引出的,需要手动导出关联,如果只有一条可以通过如下方法解决:

https://www.cnblogs.com/kingstacker/p/11595978.html

如果有多条则没有很好的办法来消除警告。


使用特权

评论回复
地板
gaochy1126|  楼主 | 2022-11-30 20:53 | 只看该作者

关于Diagram中模块内部使用不引出到引脚操作:比如



3、ucf转xdc

主要有两种方案一种利用综合的网表使用write_xdc命令来生成位置约束:

另一种方法借助excel手动将UCF约束转为XDC约束

导入效果如下:


使用特权

评论回复
5
gaochy1126|  楼主 | 2022-11-30 20:54 | 只看该作者

接下来需要一系列操作:

(1)删除空行

(2)刷选字段

如上两步基本可以较方便的把位置约束提取出来了。不得不说Excel确实是好东西!

每一种约束描述,具体可以参看UG911中描述:如KEEPER使用综合保留属性,防止综合时信号优化




最后需要移植的工程太复杂,一般还是用原来的环境:ISE14.7的安装要求如下:

UG631 (v14.7) July 10, 2020



使用特权

评论回复
6
gaochy1126|  楼主 | 2022-11-30 20:54 | 只看该作者
参考连接:

1、https://china.xilinx.com/support ... ivado-migration.pdf

2、对于vivado block design操作可以参考文档:UG994 (v2021.1) June 16, 2021Designing IP Subsystems Using IP Integrator

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:这个社会混好的两种人:一是有权有势,二是没脸没皮的。

1051

主题

11300

帖子

26

粉丝