转载请标明出处:
原文发布于:浅尝辄止,未尝不可的博客
https://blog.csdn.net/qq_31019565
##在这篇文章基础上重新编写
(2019-03-24新增)
点击import design后,会出现如上的一个新的窗口。窗口会包含至少两个Lab,分别是From library 和 From file。
Verilog和VHDL设计可以从一个预编译库进行import
From : 选择Verdi Knowledge Database(KDB)产生来源。有两个选项,Verdi Compile和VC/VCS Native Compile。如果选择Verdi Compile,则说明KDB由vericom或vhdlcom产生,novas.rc文件被使用。如果选择VC/VCS Compile,则说明KDB由VCS产生,synopsys_sim.setup文件被使用。
当在命令行中使用 -simflow 选项的时候,在Import Design窗口被打开的时候,会自动选择VC/VCS Native Compile。
Virtual Top : 这个字段可以被用来引入部分设计。而不是全部。此下拉菜单中包含三个选项,第一个是Virtual Top, 第二个是Configure File, 第三个是RIDB File.
Configure File : 是用来添加配置文件的。
Work Directory : 为库文件制定工作目录。
Library : 这一栏罗列了当前目录下所有可以用的库文件。
Design Unit :
(2019-03-24新增)
在Design Flow中,有各种各样的Debug情景,我们也会花费大量的时间去Debug。但是在这个过程中会遇到各种各样的瓶颈,这会对Debug的效率造成影响。最直观的例子就是复杂的设计。无论是对设计的直观理解,还是设计多样化behavior所造成的Increase condition、design cause和effect scenarios,以及多Team的环境和实现方法的复杂性,都给这Debug的效率造成了不小的影响。
基于这些问题,Verdi应运而生。优势我就不赘述了,总之可用。
一、Set Up the Environment
二、Import Design
三、在Source Code View 中Debug
四、在Waveform View 中Debug
五、在Schematic View 中Debug
六、在FSM View 中Debug
七、在Temporal Flow View 中Debug
八、附录(经常用到的Preferences)
内容概要:
setenv NOVAS_INST_DIR
set path = ($NOVAS_INST_DIR/bin $path)
setenv NOVAS_LICENSE_FILE
或者是使用备用的LM_LICENSE_FILE,这个文件的搜索优先级小于NOVAS_LICENSE_FILE
为什么使用符号库?
符号库提供了源代码到逻辑单元的映射,没有符号库会带来很大的不便。
使用以下方法之一创建符号库:
syn2SymDB:适用于 ASCII格式的Synopsys logic library(.lib)
map2SymDB:适用于已有的map file
结合user guide ,目录
设置符号库环境变量
setenv NOVAS_LIBS"LIB ROOT#1>
setenv NOVAS_LIBPATHS"
通过GUI设置符号库
步骤:
Contains
指定路径
使用NOVAS_RC环境变量
setenv NOVAS_RC
直接通过命令行命令 -rcFile
搜索次序
Overview
通过Tools–>Preferences打开窗口,所有设置将被保存在novas.rc文件中,在Find窗口栏中根据关键字搜索。可以参考附录说明来使用Preferences。
FSDB文件介绍
创建工具的环境变量
为仿真创建工作库和编译设计代码
在命令行上运行和调用FSDM dump函数
NOTE:参考
vfast - 将VCD文件转化为FSDB文件。
fsdb2vcd - 将FSDB文件转化为VCD文件。
fsdbextract - 在已经存在的fsdb文件中提取信号,范围,时间周期,而不用重新进行仿真。
fsdbmerge - 将多个文件结合到一个里面。
fsdbreport - 针对一个特定的信号,将值得变化情况生成report。
本节学习内容:
From File
verdi [Verdi options] [
在命令行上引用源文件(只适用于Verilog),Verdi 有所有Verilog命令行选项。
% verdi -f
% verdi
% verdi -ssv -v lib.v +libext+.v -ssy -y /src/abc -y /src/def top.v
-ssv 和 -ssy 对于用-v和-y指定的设计模块只需要一次。 top.v 是设计文件。
From Library
编译一次,可以加载多次
保存加载时间和全部的缓存
多语言需求,VHDL和Verilog,也可以只限定一种语言。
预编译设计到库,Verilog代码用vericom,VHDL代码用vhdlcom。
% vericom -lib
% vhdlcom -lib
然后载入编译库文件和指定的top 文件。
% verdi -lib
比如 :verdi -lib work -top system
By Replying a TCL Command File
你可以在 ./verdiLog/verdi.cmd file 中查看执行过的命令。如图所示,将图片的最后一行删除,然后运行 verdi -play
From File
首先在LInux 命令行上输入 verdi ,载入verdi 图形化界面。
然后 通过菜单栏 File ->Import Design 或者通过 菜单栏上的Import Design符号,如图所示:
Import Design操作界面如下所示:
从界面上可以看到,可以自定 language、run file或者是个人的源文件,也支持Virtual Top文件,这里不建议使用VHDL。
完成之前所述的Import Design以后,Verdi 会自动载入trace 窗口(可以使用verdi -f run.f),如下图所示各个部分分布。
折叠浏览
如上所示,在instance Trace窗口中右击就会出现相关的命令选项,图中圈出的则为折叠浏览。
查找操作
使用Source ->use bookmarks来添加书签,右击书签,选择Edit bookMarks则会出现如下界面
折叠源代码
To be continued…