数字IC设计之EDA工具使用篇—如何进行芯片前仿真?
计划更新自己的学习感悟将分为数字电路基础篇、verilog和sv语法篇、EDA工具使用篇、数字IC设计实例篇、数字IC技能篇。
同步计划更新读书笔记和模拟电路学习笔记。
文章目录
前言
本文会持续更新解决数字芯片设计中的第一步,当有了设计文件以后如何编译和进行前仿真,包括了VCS和Verdi的使用技巧,以及在工作和学习中遇到的所有问题与bug;
一、VCS和Verdi在数字前端起到什么作用?
如果需要进行芯片前仿真必须要有以下文件:
1. 已有设计文件(DUT.v)
2. 已有验证环境(DUT_tb.sv)
此时可以使用VCS编译生成可执行仿真文件(simv),然后执行simv文件,产生波形文件。最后使用verdi debug波形,查看设计是否符合预期;
二、数字IC设计中几种不同的Makefile文件
1.几种可用的Makefile脚本
Makefile文件中需要包括两个步骤:第一步是使用VCS命令来编译文件,第二步是使用simv可执行文件进行仿真;最后即可使用verdi查看生成的fsdb文件,或者DVE查看生成的vpd文件。目前来说DVE已经很少用到,使用Verdi查看波形和debug已经成为主流。
所以Makefile脚本需要完成的主要功能有两个:1. 编译;2. 运行仿真文件。
在实际过程中仿真过程可能耗时更久,编译过程会比较快。编译同时会检查基本的RTL语法错误(VCS没有XRun和DC查的严格,有一些错误类型VCS可能只是warning或者lint型错误,但是XRun和DC会报Error,导致不过。建议在编译结束后打开com.log文件查看有无语法错误,最好也要把lint型和warning全部清除)
Malefile脚本1示例如下:
RTL := your_design.v
TB += you_design_TB.v
SEED ?= ${
shell date +%s}
all : compile simulate
compile:
vcs -sverilog -debug_all -timescale=1ns/1ps timescale.v ${
RTL} $
5488




被折叠的 条评论
为什么被折叠?



