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)
随机推荐
- F118校准(二)-- 操作步骤(使用PX01 PG点屏,并使用PX01 PG校准F118)
1. 准备工作 硬件连接: CA310通过USB线材连接PC PX01通过USB线材连接PC F118通过灰排线连接PX01左上角的GPIO扩展口(如下图所示) LCM连接PX01 启动LcdTool ...
- 2流高手速成记(之六):从SpringBoot到SpringCloudAlibaba
咱们接上回 2流高手速成记(之五):Springboot整合Shiro实现安全管理 - 14号程序员 - 博客园 (cnblogs.com) 身边常有朋友说:小项目用PHP.大项目用Java(这里绝无 ...
- VS Code插件推荐
VS Code插件推荐 VS Code作为前端开发人员在学习工作中必不可少的开发软件,其强大的功能以及丰富多样的插件都让开发人员爱不释手.下面推荐个人觉得还不错的几个插件,希望可以帮助到你.如果你 ...
- 2022春每日一题:Day 40
题目:[NOI2010] 超级钢琴 前求出美妙值的前缀和,然后倍增处理一下前缀和的最大值,然后对于一个左端点s,他能取到右端点的只有s+l到s+r,而他的最大贡献就是s+l 到s+r的最大子段和,因此 ...
- 谈软件-专家谈C/C++重构的操作与思路
1.Refactoring: 对软件内部结构的一种调整,目的是不该被软件的可观察行为的前提上,提高其可理解性,降低其修改成本. 2.代码坏味道 2.1.不易复用 2.2.不易理解 2.3.存在冗余 3 ...
- 详解Native Memory Tracking之追踪区域分析
摘要:本篇图文将介绍追踪区域的内存类型以及 NMT 无法追踪的内存. 本文分享自华为云社区<[技术剖析]17. Native Memory Tracking 详解(3)追踪区域分析(二)> ...
- 【Java 并发003】原理层面:Java并发三特性全解析
一.前言 不管什么语言,并发的编程都是在高级的部分,因为并发的涉及的知识太广,不单单是操作系统的知识,还有计算机的组成的知识等等.说到底,这些年硬件的不断的发展,但是一直有一个核心的矛盾在:CPU.内 ...
- sqlserver数据库还原
这里是从A服务器备份的数据库文件,还原到本地B电脑的数据库.因数据库版本相同,故而未曾出现其他版本问题 1.有个bak的备份文件 2.在B电脑新建一个数据库test. 3.设置test数据库的访问限制 ...
- i春秋Fuzzing
先查看源码...没东西,抓包 发现也没什么,但是右边有个提示hint: ip,Large internal network(最大内网ip) 可能需要我们伪造代码进行访问,这还不简单,直接在reques ...
- linux系统移植
1 linux环境搭建 1.1 添加交叉开发工具链 新建如下工程目录: gcc-4.6.4.tar.xz #拷贝 tar -Jxvf gcc-4.6.4.tar.xz #解压 cd ./gcc-4.6 ...