01-逻辑仿真工具VCS使用
1 逻辑仿真工具VCS的使用
在书写完成RTL代码之后,确保自己书写的代码和自己想要的逻辑是一致的。
VCS是synopsys公司下的的仿真工具。
1 VCS仿真过程
编译-->仿真-->debug/查看波形
vcs
1.1.1 编译
vcs -sverilog -debug_all full.adder full_adder_tb.v -l com.log
- vcs--是逻辑仿真工具EDA工具的编译源代码命令
- -sverilog--编译命令选项,识别system verilog语法
- -debug_all--编译选项,保存所有的debug信息
- -l com.log--编译选项,将编译过程生成的日志写入com.log文件
- 编译之后会生成simv,simv文件可以进行直接执行
//执行simv文件,生成vpd文件
./simv -l sim.log
//打开vpd文件的图形界面
dve -vpd vcdplus.vpd &
1.1.2 图形界面仿真
- 启动图形界面
dve &
- &--后台使用dve,不占用当前的terminal
- setup,读入simv文件
- 输入run执行仿真

- 查看波形
注意:
- 仿真至少有两层,xxx.v及testbench.v
- Hierachy--显示结构,上层为testbench,下层是源代码
2 Verilog Testbench功能
- 产生激励 Generate stimulus--过多长时间给什么样的值
- 将激励输入到待测设计(DUT,design under verification)
- 获取响应 Capture response
- 检查响应的正确性 Check the response for correctness
- 根据验证目标评估验证进度 Measure the progress against the overall verification goals
3 验证一个模块,比如全加器
- 真值表
可以将真值表作为pattern,用于进行验证 - 验证
- 功能完整性
- 穷举法
- 代码覆盖率--所有的代码都在进行仿真的时候用到
3 进行仿真 - 编译
- 仿真
- 查看波形
4 一些概念
输入信号是驱动信号,输出信号是被驱动信号
- 在RTL源代码中
- 如果被驱动信号写到assign语句中,定义为wire型的信号
- Input信号都是wire型,可以省略掉。
- 如果被驱动信号写道always语句块中,定义为reg型的信号
- 在Testbench中
- Testbench中的驱动信号reg
- 驱动信号的类型是reg信号
- 被驱动类型的信号wire类型
注意::进行DUT测试,需要外加Testbench向DUT中灌入一些信号进行测试。所以在DUT中和Testbench中的输入输出信号类型是相反的。
01-逻辑仿真工具VCS使用的更多相关文章
- 【分类器】感知机+线性回归+逻辑斯蒂回归+softmax回归
一.感知机 详细参考:https://blog.csdn.net/wodeai1235/article/details/54755735 1.模型和图像: 2.数学定义推导和优化: 3.流程 ...
- VCS 常用命令速查
VCS是编译型Verilog模拟器,它完全支持OVI标准的Verilog HDL语言.PLI和SDF.VCS具有目前行业中最高的模拟性能,其出色的内存管理能力足以支持千万门级的ASIC设计,而其模 ...
- DDR3 IP和CIC IP仿真问题解决记录
1.更新vivado的仿真库(data/secureip和verilog和vhdl文件夹)至最新的vivado库和生成IP的版本匹配: 2.vcs编译脚本里面把仿真库地址指向匹配的仿真库版本: 3.v ...
- 数字IC设计工程师成长之路
学习的课程 仿真工具VCS实践学习 2019年12月9日-2019年12月23日
- 029 01 Android 零基础入门 01 Java基础语法 03 Java运算符 09 逻辑“非”运算符
029 01 Android 零基础入门 01 Java基础语法 03 Java运算符 09 逻辑"非"运算符 本文知识点:Java中的逻辑"非"运算符 逻辑& ...
- 028 01 Android 零基础入门 01 Java基础语法 03 Java运算符 08 逻辑“或”运算符
028 01 Android 零基础入门 01 Java基础语法 03 Java运算符 08 逻辑"或"运算符 本文知识点:Java中的逻辑"或"运算符 逻辑& ...
- 027 01 Android 零基础入门 01 Java基础语法 03 Java运算符 07 逻辑“与”运算符
027 01 Android 零基础入门 01 Java基础语法 03 Java运算符 07 逻辑"与"运算符 本文知识点:Java中的逻辑"与"运算符 逻辑运 ...
- 【黑金ZYNQ7000系列原创视频教程】01.熟悉vivado——纯逻辑led实验
黑金论坛地址: http://www.heijin.org/forum.php?mod=viewthread&tid=36627&extra=page%3D1 爱奇艺地址: http: ...
- Stealth——01场景的基本搭建以及基础逻辑
版权申明: 本文原创首发于以下网站: 博客园『优梦创客』的空间:https://www.cnblogs.com/raymondking123 优梦创客的官方博客:https://91make.top ...
- ASP.NET一般登陆逻辑分享(01)
随机推荐
- 齐博x1内容评论标签的风格制作
评论的标签如下: {qb:comment name="xxxxx" rows='5'} HTML代码片段 {/qb:comment} 评论涉及到的元素有{posturl} 这个是代 ...
- 齐博x1小程序集群必须带上固定的标志
小程序集群的也类似登录接口一样,需要带上特殊的标志.建议是在所有请求的头部header 加上 wxappid 如下图所示,跟登录标志 token 并列在一起. 如果不方便修改头部header 请求的时 ...
- 【MySQL】Navicat15 安装
# Navicat安装` 提示`:鉴于之间已经出了MySQL的安装教程,在这了我也讲下,那个其实包含了两个知识点,既可以小白初次安装MySQL客户端,也面向想安装5.x和8.x两个版本的. --- @ ...
- 三十一、kubernetes网络介绍
Kubernetes 网络介绍 Service是Kubernetes的核心概念,通过创建Service,可以为一组具有相同功能的容器应用提供一个统一的入口地址,并且将请求负载分发到后端的各个容器应用上 ...
- VideoPipe可视化视频结构化框架新增功能详解(2022-11-4)
VideoPipe从国庆节上线源代码到现在经历过了一个月时间,期间吸引了若干小伙伴的参与,现将本阶段新增内容总结如下,有兴趣的朋友可以加微信拉群交流. 项目地址:https://github.com/ ...
- Java使用lamda表达式简化代码
代码,自然写的越简洁越好啦,写的人舒服,看的人也舒服,一切为了高效. 要把有限的时间花到其它有意思的事情上去. 目的 学习简化代码的思路,使用jdk8新特性lamada表达式. 使用 某接口,只有一个 ...
- linux如何删除多余网卡
ifconfig tunl0 down ip link delete tunl0
- C温故补缺(十一):文件读写
文件读写 打开文件 fopen( ) 函数来创建一个新的文件或者打开一个已有的文件 FILE *fopen( const char *filename, const char *mode ); fil ...
- WINDOWS下对NIGNX日志文件进行限制
首先接到这个任务,发现nginx的日志限制更多的都是在Linux下做的,找了半天,也没找到能直接通过nginx.conf更改体现到日志限制上的. 最后决定直接通过bat脚本,来对nginx的日志进行分 ...
- qtCreator警告解决
警告 qtCreator Warning: QT_DEVICE_PIXEL_RATIO is deprecated. Instead use: QT_AUTO_SCREEN_SCALE_FACTOR ...