转: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工具的功能就逐渐减弱了,所以这时候采用修改配置文件 ...
随机推荐
- Docker 网络类型
Docker 网络类型 前言 a. 本文主要为 Docker的视频教程 笔记. b. 环境为 CentOS 7.0 云服务器 c. 上一篇:docker-compose 的使用和负载均衡的初探 1. ...
- 机器学习——支持向量机SVM
前言 学习本章节前需要先学习: <机器学习--最优化问题:拉格朗日乘子法.KKT条件以及对偶问题> <机器学习--感知机> 1 摘要: 支持向量机(SVM)是一种二类分类模型, ...
- VB自制计算器
使用visual basic编写. 绘制如下的按钮界面: 然后代码如下: Dim a, temp, ans As Integer Dim op As String Sub showans() Text ...
- 433MHZ SPI模块使用心得
最近使用了433MHZ的模块进行了一个通讯项目,选用的是SX1208模块,对接了RTOS和Linux两个操作系统,使用心得如下: 1. 首先要拿来datasheet看一遍,通揽一下它的功能.可以得到一 ...
- 了解PHP-FPM
在服务器上,当我们查看php进程时,全都是php-fpm进程,大家都知道这个就是php的运行环境,那么,它到底是个什么东西呢? PHP-FPM简介 PHP-FPM,就是PHP的FastCGI管理器,用 ...
- Java基础系列(29)- 方法的重载
方法的重载 重载就是在一个类中,有相同的函数名称,但形参不同的函数 方法重载的规则: 方法名称必须相同 参数列表必须不同(个数不同.或类型不同.参数排列顺序不同等) 方法的返回类型可以相同也可以不相同 ...
- gin 源码阅读(1) - gin 与 net/http 的关系
gin 是目前 Go 里面使用最广泛的框架之一了,弄清楚 gin 框架的原理,有助于我们更好的使用 gin. 这个系列 gin 源码阅读会逐步讲明白 gin 的原理. gin 概览 想弄清楚 gin, ...
- python学习笔记(十四)python实现发邮件
import smtplib from email.mime.text import MIMEText from email.mime.multipart import MIMEMultipart u ...
- 监控linux服务器工具nmon的使用
做压测时,需要查看服务器中的cpu.内存变化,但由于服务器是linux环境,则需要监控linux服务器的工具,下面用到的工具是nmon. 1.安装nmon.在网上下载nmon安装包,在linux服务器 ...
- CF666E-Forensic Examination【广义SAM,线段树合并】
正题 题目链接:https://www.luogu.com.cn/problem/CF666E 解题思路 给出一个串\(S\)和\(n\)个串\(T_i\).\(m\)次询问\(S_{a\sim b} ...