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 图形界面仿真

  1. 启动图形界面
dve &
  • &--后台使用dve,不占用当前的terminal
  1. setup,读入simv文件
  2. 输入run执行仿真

  3. 查看波形

    注意:
  • 仿真至少有两层,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 验证一个模块,比如全加器

  1. 真值表

    可以将真值表作为pattern,用于进行验证
  2. 验证
  • 功能完整性
  • 穷举法
  • 代码覆盖率--所有的代码都在进行仿真的时候用到

    3 进行仿真
  • 编译
  • 仿真
  • 查看波形

4 一些概念

输入信号是驱动信号,输出信号是被驱动信号

  • 在RTL源代码中
  1. 如果被驱动信号写到assign语句中,定义为wire型的信号
  2. Input信号都是wire型,可以省略掉。
  3. 如果被驱动信号写道always语句块中,定义为reg型的信号
  • 在Testbench中
  1. Testbench中的驱动信号reg
  2. 驱动信号的类型是reg信号
  3. 被驱动类型的信号wire类型

注意::进行DUT测试,需要外加Testbench向DUT中灌入一些信号进行测试。所以在DUT中和Testbench中的输入输出信号类型是相反的。

最新文章

  1. &&和||的妙用
  2. MySQL之扩展(触发器,存储过程等)
  3. 【POJ3904】【P1202】水晶密码
  4. 【JavaScript】JavaScript模块化编程 - CommonJS, AMD 和 RequireJS之间的关系
  5. HDU 3311 Dig The Wells(斯坦纳树)
  6. careercup-树与图 4.3
  7. 一个小团队TDD游戏及实践
  8. seajs简记
  9. Xcode部分快捷键
  10. 使用SSH快速下载Git项目
  11. vijos 1942 [AH 2005] 小岛
  12. window安装swagger editor
  13. Ticwatch2_3G版省电优化
  14. SpringBoot系列: 使用 consul 作为服务注册组件
  15. NOIp2018爆零记
  16. Openwrt配置小记
  17. Spring Boot Runner启动器
  18. vscode插件之C/C++
  19. Python之Subprocess模块
  20. 知识:CSS 词汇表(中英对照)_CSS Vocabulary

热门文章

  1. 后端框架的学习----mybatis框架(3、配置解析)
  2. Vue3 SFC 和 TSX 方式自定义组件实现 v-model
  3. NAS数据存储之NFS搭建和使用
  4. SQL--存储过程的使用
  5. Python基础部分:10、数据类型的内置方法和字符编码
  6. onps栈移植说明(1)——onps栈的配置及裁剪
  7. Springboot实现验证码登录
  8. Paddle Graph Learning (PGL)图学习之图游走类模型[系列四]
  9. Prometheus 监测 RocketMQ 最佳实践
  10. 【网络】https 轻解读