前年,发表了一篇文章《vcs独立仿真vivado ip核的一些方法总结》(链接在参考资料1),里面简单讲述了使用vcs仿真vivado ip核时遇到的一些问题及解决方案,发表之后经过一年多操作上也有些许改进,所以写这篇文章补充下。
在仿真vivado ip核时分两种情况,分为未使用secure ip核和使用了secure ip核。
对于没有使用secure ip核的ip核仿真,只需要在vcs的命令行加上‘-y’选项,并给出库文件路径。这些库文件在$vivado_installer_pathdataverilogsrc,其中$vivado_installer_path是vivado的安装路径,进入对应的版本号,比如2019.2,进入后找到data文件夹依次往下寻找。找到后可以把这些库文件复制到虚拟机,每个文件夹的库文件包含的内容不同,然后如下图:
即可加入对应的库文件夹。ip核仿真结束。
对于使用了secure ip核仿真的情况,除了要包含上面的这些库文件外,还要把secure ip加入到vcs;
首先,找到secure ip文件夹,在$vivado_installer_pathdatasecureip,将里面的文件复制到虚拟机。每个文件夹包含的功能不同。
之前的文章讲接下来的操作如下:
操作上还是太复杂,这里简化操作如下。首先,vcs在仿真secure ip里面的vp文件时,需要加上一句“+verilog2001ext+.vp”,这句话的意思是将vp文件以verilog2001标准执行。出处在:
这是一份日语版本的ug900(参考资料2),但是在最新的ug900 英文版里(参考资料3),并没有这相关的内容;我的猜测是xilinx不推荐独立仿真的方式,更加主推vivado和vcs联合仿真,或者使用“export_simulation”等tcl语句将仿真库编译好直接使用的方式。
此外,也不需要我们修改secure ip文件夹的vcs_secureip_cell.list.f里面的路径,在makefile文件里使用如下方法:
使用export命令定义xilinx_vivado的路径,这样vcs_secureip_cell.list.f会根据这个路径去查找对应的文件。
注意,secure ip是加密之后的ip,而vivado在2016版本后更换了加密密钥,所以vcs2017之前的版本只能使用vivado2017之前的secure ip。
此外,还有网友提出问题,vivado项目(source)ip核文件夹里,哪些东西是对仿真有用的?
首先,ip核文件夹里的$ip_name_stub.v,$ip_name是生成ip的名字,这个文件是没有用的,它只有对ip的端口定义;其次,进行功能仿真时,可以选择$ip_name_sim_netlist.v,这个文件注释专门写着是为功能仿真准备的,推荐使用这类文件;最后,也可以使用$ip_name.v,这个文件大多数情况也可以用来仿真。
注意,如果存在$ip_name_sim_netlist.v和$ip_name.v时,只能选择一个文件加入仿真,否则会出现redefine的报错。因为ip核文件夹里面可能存在多个verilog文件,推荐删去$ip_name_stub.v,保留$ip_name_sim_netlist.v和$ip_name.v中的一个,然后在vcs命令里将文件夹的verilog都包含进来。
可能有人就会问,既然项目里的ip文件夹包含了verilog文件,为什么还要加入那些库;这些库大部分是作为基础库存在,供各类ip核调用,是它们的相同部分,而项目里的ip文件夹是它们之间不同的部分。
三一集团在两江新区签订落地协议,将建设互联网标杆“灯塔”工厂
鱼雷阻力及减阻方法
CPU处理器14个重要技术指标介绍
禾赛获一汽红旗新车型量产定点 共同打造全球首个舱内激光雷达智驾方案
HP AIO 24旨在以纤薄的外形提供台式机性能
使用VCS仿真Vivado IP核时遇到的问题及解决方案
显示器背光CCFL和LED的比较
电子工程师遭遇“卡脖子 三十岁触碰天花板
动力磷酸铁锂电池组在乘用车市场的应用状况
小米芯片:已流片失败五次!烧了几十亿!
DS3641 兼容于SPI的安全监控电路,具有1kB加密保护
基于LabVIEW和MCS-51单片机实现数据采集与信息分析系统的设计
负氧离子监测仪有着强大的监测功能,其特点是什么
继上海车库事件后,特斯拉ModelS又“自燃”了
福赛特新能源电池模组装配线的4大优势解析
中北大学极端环境传感与测试创新研究团队的贡献
贴片电容怎么更换
微信电纸书正式发布:墨水屏 赠无限年卡 支持双色温背光灯
全球离子注入机市场呈现波动增长的态势,市场规模实现18.0亿美元
迪赛康高性能手持差分探针产品描述