首页 > 其他分享 >vcs仿真vivado独立IP和的方法

vcs仿真vivado独立IP和的方法

时间:2023-01-11 21:23:41浏览次数:60  
标签:仿真 vivado IP list Vivado 文件夹 vcs secureip

转载:VCS独立仿真Vivado IP核的一些方法总结 - 知乎 (zhihu.com)

最近,需要使用VCS仿真一个高速并串转换的Demo,其中需要用到Vivado的SelectIO IP核以及IDELAYCTRL,IDELAY2原语。而此前我只使用VCS仿真过Quartus的IP核。

我的VCS装在Ubuntu,Vivado装在Win10,尝试了export仿真库等方法,奈何通通失败了,如果实在折腾不好,恐怕只能在Ubuntu下再装一个Vivado for Linux版。

经过一系列艰难的搜索资料之后(主要是网上的VCS资料太少),我找到了Vivado的IP核仿真库文件夹。

我使用的是Verilog,所以我需要的库在$XILINX/Vivado/2016.1/data/verilog/src ($XILINX是Vivado的安装路径),把里面的unifast, unimacro, unisims, unisims_dr, xeclib文件夹和glbl.v复制到自己的仿真文件夹,并在makefile里的vcs命令下加入相关库,如下图:

 

正当我以为已经将需要的库加载完成,在命令行输入make comp的时候,命令行却无情的报错,报错信息如下:

真是令人头秃,但是没办法,谁叫我这么闲呢,于是我又开始在网上搜索这个错误信息,知道找到了xilinx的一篇Answer(Answer链接在文章最底部):

这篇Answer,很粗略的回答了错误是因为IP核调用了Xilinx SecureIP包中的一部分库,而这个库是加密的,后面推荐的方法看的是云里雾里,但我查询一些资料之后,原来这个secureIP文件夹也是在Vivado的安装目录下,这个时候就需要使用电脑搜索文件的神器——Listrary。

SecureIP包在$XILINX\Vivado\2016.1\data\secureip下,我直接将整个"secureip"文件夹复制到ubuntu文件夹下。

注意,此时还有几个步骤需要做:

  1. 将secureip下的secureip.list.f里面的路径做修改,如下图

原版secureip.list.f

修改后

修改为Ubuntu的secureip.list.f

工程量可能有些大,这时候可以把不需要的库路径删去,保留我们需要的。

2. 到secureIP下找到需要用到的IP核文件夹,并修改文件夹里的f和vf文件;例如,我需要使用的是iserdese2和oserdese2文件夹,

iserdese2_cell.list.f修改如下:

全部修改为Ubuntu下的绝对路径

iserdese2_cell.list.vf修改如下:

全部修改为Ubuntu下的绝对路径

注意,前面secureip.list.f包含多少个库,就需要改多少个库文件夹里面的这两个文件,所以可以将不需要的库路径删去,等需要的时候再加。

3. 在makefile里面增加文件包含,写法如下

4. 在vcs编译的命令中需要加入-lca,否则vcs会一直报错提示加入这个命令;

 

最终效果,仿真成功!

 

希望这个方法总结可以帮助到其他人,不过说不定大家用的方法更加简单方便快捷呢?毕竟大家的时间都很宝贵,不会有我这么闲。

 

参考资料:

  • Xilinx回应"B_IOSERDESE2":
AR# 53635: Where to find the library cell B_IOSERDESE2?​www.xilinx.com/support/answers/53635.html
  • Listrary简单推荐
让你用得最爽的 Windows 软件是什么?4 赞同 · 0 评论回答

标签:仿真,vivado,IP,list,Vivado,文件夹,vcs,secureip
From: https://www.cnblogs.com/zhiminyu/p/17044927.html

相关文章

  • An Introduction to JavaScript
    AnIntroductiontoJavaScriptAnIntroductiontoJavaScriptLet’sseewhat’ssospecialaboutJavaScript,whatwecanachievewithit,andwhatothertechn......
  • Centos对指定IP放行Mysql
    放行指定IP地址firewall-cmd--permanent--add-rich-rule="rulefamily="ipv4"sourceaddress="45.76.8.212"  accept"firewall-cmd--reload 放行指定端口#添......
  • 7.JavaScript--正则表达式
    实验原理正则表达式是用于处理字符串的强大工具,其他编程语言中也有正则表达式式的概念,区别只在于不同的编程语言实现支持的语法数量不同。它拥有自己的独特的语法以及一个......
  • 《Vue3.x +TpyeScript实践指南》勘误
    图书出版已有一段时间,书中已发现错误如下:书的第14页,倒数第3行,npminit-y命令中,init和-y之间应该有个空格;书的第32页,代码的第1行,应该为模板字符串符号`,我看印刷的事单引......
  • Laravel 第一次运行报错call to undefined function openssl cipher iv length()
    问题根源是OpenSSL扩展加载失败首先我的环境是PHP7.0+apache解决方法:1.打开你的php.ini文件开启php_openssl.dll 2.打开httpd.conf 开启modules/mod_ssl.so然后重启你......
  • 使用keepalived绑定虚拟vip实现主备切换
    !ConfigurationFileforkeepalivedglobal_defs{notification_email{root@localhost}notification_email_fromroot@localhostsmtp_se......
  • 封装“啪”就画好了,很快啊-IPC向导设计SO16封装-PCB系列教程2-3
    目录​​手工创建SO芯片封装​​​​特殊粘贴快速放置焊盘​​​​使用IPC向导​​​​3D封装​​朋友们好啊,我是传统手工画封装的老工程师yummy老师.刚才有个朋友问我yummy......
  • 修改el-tooltip的提示框宽度
    方案:el-tooltip支持添加自定义class,通过popper-class进行添加代码示例:html<el-tooltip:content="content"placement="top"popper-class="tooltip-width">......
  • 软件开发入门教程网之TypeScript 声明文件
    TypeScript声明文件TypeScript作为JavaScript的超集,在开发过程中不可避免要引用其他第三方的JavaScript的库。虽然通过直接引用可以调用库的类和方法,但是却无法使用Ty......
  • 软件开发入门教程网站之TypeScript Array(数组)
    TypeScriptArray(数组)数组对象是使用单独的变量名来存储一系列的值。数组非常常用。假如你有一组数据(例如:网站名字),存在单独变量如下所示:varsite1="Google";varsite2="Ru......