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)
随机推荐
- Tesla-E380,4K eDP一键点屏神器问世
eDP屏快速点亮,EDID回读, eDP屏调试 是否为点屏的准备工作感到烦躁: 1)查找LCD模组的数据手册(常常还未必能找着) 2)在上位机软件或者单片机程序里设置一大堆的LCD屏参,这个频率,那个 ...
- Arctic 基于 Hive 的流批一体实践
背景 随着大数据业务的发展,基于 Hive 的数仓体系逐渐难以满足日益增长的业务需求,一方面已有很大体量的用户,但是在实时性,功能性上严重缺失:另一方面 Hudi,Iceberg 这类系统在事务性,快 ...
- 论文笔记 - Noisy Channel Language Model Prompting for Few-Shot Text Classification
Direct && Noise Channel 进一步把语言模型推理的模式分为了: 直推模式(Direct): 噪声通道模式(Noise channel). 直观来看: Direct ...
- SpringBoot 01: JavaConfig + @ImportResource + @PropertyResource
springboot的前置知识:通过注解创建对象和读取配置文件 1. JavaConfig 设计思想 使用java类作为xml配置文件的替代,是配置spring容器的纯java的方式 可以创建java ...
- C语言嵌套for循环实现冒泡排序
使用嵌套for循环实现冒泡排序的一个函数. #include<stdio.h> /** * 介绍: * 使用嵌套for循环实现冒泡排序,由小到大(上小下大). * 参数: * sum[]: ...
- natapp内网穿透
NATAPP 官网地址 https://natapp.cn/ 下载 点击下载,选择符合自己的版本 注册 下载完成后解压是个natapp.exe程序,这里先不用动,回到官网首页 完成注册并登录,选择免费 ...
- QQ登录
public function login(){ $urlencode = urlencode("http://www.zhangxuhui.com/index/Index/callback ...
- DHorse系列文章之maven打包
插件打包 这种方式是平时最常用的,首先要下载并安装maven环境,然后在被打包的项目中引入插件,有各种各样的打包插件,比如springboot自带插件: <plugin> <grou ...
- qtcreator修改界面但是没有更新
原因 我之前修改了项目名(简单的修改文件夹和.pro文件名),但是项目构建的位置还是之前目录. 解决 将 build directory改为新的目录即可.
- 关于linux fcitx输入法候选词中含有省略号的问题解决
前言 这几天舍弃了 sogou 输入法,换上了google拼音输入法,因为我在纯文本终端调用中文输入法,搜狗显示出来的是加密的,候选词都是加密的,很烦这种 问题原因 这个问题主要是因为 云拼音 模块凉 ...