转:VCS仿真vivado IP的方法
vivado中的仿真库和模型与ISE中的是不一样的,因此在vivado中使用VCS进行仿真的方法也与ISE中不一样。
VCS可以通过两种方法对XILINX的器件进行功能仿真和门级仿真,这两种方法是 Precompiled(预编译) Dynamic(动态调用)。
与ISE相比有以下不同:
- vivado现在UNISIM库同时包含功能和时序仿真模型
- vivado参数xil_timing指示UNISIM模型是正常运行还是定时运行
- vivado包含用于对旧器件进行功能和时序仿真的重定位库
- Vivado仿真不需要XilinxCoreLib。如果存在基于ISE的旧IP,则可以将其包括在内。
- AXI BFM是需要许可证的,使用需要单独的编译步骤。
- vivado的物理库路径跟ISE已不同,逻辑库路径相同
具体可以参数UG900
用于Verilog功能仿真的动态库编译
使用VCS的功能仿真命令
vcs -y $ XILINX_VIVADO / data / verilog / src / unisims \
-y $ XILINX_VIVADO / data / verilog / src / unimacro \
-y $ XILINX_VIVADO / data / verilog / src / retarget \
-y $ XILINX_VIVADO / ids_lite / ISE / verilog / src / XilinxCoreLib \
-f $ XILINX_VIVADO / data / secureip / secureip_cell.list.f \
-f $ XILINX_VIVADO / data / secureip / axi_bfm / axi_bfm_cell.list.f \
+ incdir + $ XILINX_VIVADO / verilog / src + libext + .v \
$ XILINX_VIVADO / verilog / src / glbl.v \
+ verilog2001ext + .vp -lca -Mupdate -R <testfixture> .v <design> .v
VCS选项说明:
-y:包括子目录
-f:包括文件列表
-R:编译后自动更新仿真可执行文件
- verilog2001ext + .vp:表示应将SecureIP视为verilog 2001语法
-lca:启用SecureIP模型解密
-Mupdate:启用增量编译
库注意事项:
unisims:Xilinx原始功能模型
unimacro:大型原语的宏模型
retarget:用于较旧架构的unisim / simprim重定向库
XilinxCoreLib:ISE传统IP模型
vcs_secureip_cell.list:要包含的安全IP组件列表
axi_bfm_cell.list:可选的加密AXI BFM模型(需要许可证)
Verilog时序仿真的动态库编译
时序仿真是一个三步过程,包括:
- 生成仿真网表(timesim.v生成)
- 向网表注释时间信息(SDF文件生成)
- 使用VCS分析,细化和仿真时序网表和SDF
Vivado中的时序网表/ SDF生成:
write_verilog -mode timesim -sdf_file <sdf_file> .sdf <sim_netlist> .v
write_sdf <sdf_file> .sdf
VCS中的时序仿真命令
vcs + compsdf -y $ XILINX_VIVADO / data / verilog / src / unisims \
$ XILINX_VIVADO / data / verilog / src / glbl.v \
-f $ XILINX_VIVADO / data / secureip / secureip_cell.list.f \
+ libext + .v + transport_int_delays + pulse_int_e / 0 + pulse_int_r / 0 \
-Mupdate -R <testfixture> .v <sim_netlist> .v
VCS选件说明:
-y:包括库子目录
+ compsdf:编译SDF文件并向后注释时序信息以进行设计
-Mupdate:启用增量编译
makefile加上-top glbl能解决可能遇到的glbl cross module reference error
转自:https://blog.csdn.net/Shawge/article/details/107582479?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.add_param_isCf&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.add_param_isCf
转:VCS仿真vivado IP的方法的更多相关文章
- Modelsim独立仿真Vivado Clocking Wizard IP Core
工欲善其事,必先利其器.在使用Vivado自带的仿真软件仿真的时候,相对于更优秀的仿真工具Modelsim,效率低了很多,为了更高效的开发,我尝试着用Vivado级联Modelsim仿真,但是级联后还 ...
- modelsim 独立仿真vivado的IP核及仿真脚本
Modelsim独立仿真vivado的IP 最近一直在做local dimming项目的FPGA硬件实现,算法的其中一步就是直方图统计,即数字图像的某一灰度级的像素数,这个直方图的源码找了半天才搞到, ...
- VCS仿真查看coverage
VCS仿真查看coverage Design compiler & simulate #!/bin/csh -f setenv NOVAS_HOME /EDASynopsys/verdi3-I ...
- VCS仿真 Dump Memory
VCS仿真 Dump Memory 两种方法 vcs联合verdi生成fsdb文件 vcs生成vpd文件 VCS联合verdi生成fsdb文件 1.testbench中加入如下语句: initial ...
- 强大的Vivado IP工具——自定义IP的使用
首先,要指出,本文不描述任何IP的功能与使用. 在开发一个大型FPGA项目时,多人协作是必不可少的.这个时候,如何提交设计给负责集成的人,是项目开发中最关键的问题之一. 常用的一个方法是,提交网表 ...
- 第一种SUSE Linux IP设置方法
第一种SUSE Linux IP设置方法ifconfig eth0 192.168.1.22 netmask 255.255.255.0 uproute add default gw 192.168. ...
- [Linux] - CentOS IP设置方法
CentOS 7的IP设置方法: 1.手动设置IP方法 a) 运行命令,cd到目录: cd /etc/sysconfig/network-scripts/ b) 运行命令:ls -l 找到类似这个文件 ...
- linux配置IP的方法
Linux系统下如何设置IP地址?我们可以通过命令设定IP的方法,不过此方法的前提条件是用户需root权限.在Linux系统的 /etc/sysconfig/network-script/ifcfg- ...
- 为Linux服务器设置静态IP的方法
这里以CentOS 7系列为例设置静态IP,原来RedHat系列的Linux发行版可以通过setup工具方便的设置静态IP,但是在版本7之后setup工具的功能就逐渐减弱了,所以这时候采用修改配置文件 ...
随机推荐
- matlab函数randperm()
randperm()会返回一个行向量. 1,randperm(n) 输出一个1×n的矩阵,元素值为1~n的整数,每个元素只出现一次,元素的顺序是随机的. 2,randperm(n,k) 输出一个1×k ...
- PHP设计模式之门面模式
门面模式,也叫外观模式.不管是门面还是外观,都是我们对外的媒介,就好像我们的脸面一样.所以,这个模式最大的特点就是要表现的"好看".怎么说呢?一堆复杂的对象调用,自己都看蒙了,特别 ...
- 如何实现Orchard Core CMS的全文索引
Orchard Core提供了Lucene功能,允许您在网站上进行全文搜索.大多数情况下,在运行博客或简单的代理网站时,您可能需要在页面内容中进行搜索.在Orchard Core中,您可以使用Liqu ...
- 谷歌浏览器chrome安装插件报"程序包无效: CRX_HEADER_INVALID"错误
今天参加需求评审,看到原来可以谷歌浏览器查看Axure原型文件,真是只有想不到,没有做不到(自己孤陋寡闻了,第一次接触Axure). 需求评审后,我百度"如何使用谷歌浏览器查看Axure原型 ...
- GIS应用|快速搭建REST地图服务
SuperMap Online云存储作为您的"在线GIS云盘",除了可以在云端存储GIS数据,还可以将数据直接发布多种REST服务,为您节省购买和部署SuperMap iServe ...
- 基于AM3352/AM3354/AM3358/AM3359的Linux 开发环境搭建(上)
遇到不少人新手小白问,前辈如何搭建一个优良的Linux 开发环境?之前一直都是在用win开发,现在想要尝试用Linux做开发等等一系列的问题.开源一直是给电子行业工作者提供了一种向技术更深处进发的机遇 ...
- P4199-万径人踪灭【FFT】
正题 题目链接:https://www.luogu.com.cn/problem/P4199 题目大意 给出一个只包含\(a,b\)的字符串 求有多少个不连续的回文子序列(字母回文,位置对称) \(1 ...
- 学会了这些英文单词,妈妈再也不用担心我学不会Python
前言 很多转行或刚入行做测试的小伙伴学习Python时,经常会问一句话:我英语不好能不能学会代码. 答案是:肯定的!你如果英语好学开发语言肯定要比不会英语的小伙伴学起来.当代码报错时全是英文,毕竟 ...
- 关于docker复现vulhub环境的搭建
原本想用docker复现一下vul的漏洞. 装docker过程中遇到了很多问题, 昨天熬夜到凌晨三点都没弄完. 中午又找了找原因,终于全部解决了, 小结一下. 0x01 镜像 去官方下载了centos ...
- Go语言之结构体与方法
一.结构体 结构体是一系列属性的集合(类似于 Python 中的类) 1.结构体的定义与使用 // 定义 type Person struct { Name string Age int Sex st ...