Verdi培训整理笔记
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Verdi
思源科技股份有限公司
Verdi基本培训
基于Verdi 2010.01
版权
©2009 Spring Soft.Inc.保留所有版权
没有思源科技股份有限公司的书面许可,不得以任何形式或任何方式复制
这个培训的内容。
商标
文件中所用到的产品名称是他们各自的所有商标或注册商标。
机密
文件中的信息是机密的,并且适用于思源科技与贵组织之间的许可协议。
使用和公开是受限制的。
目标
帮助你理解复杂设计
当发现bug时,帮助你快速追踪到根源
在一个统一且友好的环境中做调试和验证
目标受众
结构工程师
开发工程师
验证工程师
必要条件
基本的HDL/HVL编程能力:Verlog,VHDL,System Verilog,SVA
熟悉标准的仿真器
摘要
技术背景
建立环境
理解FSDB Dumping(存储)任务和重用性
输入设计
在源代码界面调试
在波形界面调试
在原理图界面调试
在FSM界面调试
在时序界面调试
附录:常用参数
术语:
RMB Right Mouse Button 鼠标右键
MMB 鼠标中键
LMB 鼠标左键
DC 双击
D&D 拖拽
KDB 知识数据库模块
FSDB 快速信号数据库
TFV 时序界面
BA 行为分析
技术背景
在设计流程中调试
ESL RTL Gate
设计 SCAN 时序
构建行为 设计(定位) Testbench 验证交互正式回归 编译器 扫描 收敛 验证交互方式
IP遗产 断言属性 仿真/加速
你知道你的团队调试花费多少时间吗?
你会用那个时间做什么?
阻碍有效调试
复杂设计
更难理解
复杂的行为
复杂设计引起并影响方案
增加验正条件
复杂的多用工具、多组环境
混合方法复杂性
Novas解决艰难的调试问题
问题
复杂环境
复杂行为
复杂设计
理解 自动化 统一
增加自动化 Verdi
强大的理解和调试
Novas技术
编译器和接口 数据库 分析引擎 形象化
→知识数据库→行为分析 时序界面
↓ 结构分析 源代码
工具的全范围→FSDB →断言评价 → 波形/事件
事件数据库 事务/信息分析 原理/结构
FSM/流表
断言/信息/事务
理解调试系统——不只简单的形象化
结构/事件调试过程
当前过程包括比较时间、代码和结构在多种窗口跟踪可能的问题。
——浪费时间,容易出错,复杂
自动调试过程决定生产力的提高
在调试过程方面利用基于行为调试来自动化时间消耗
时间和结构在一个界面中
设计行为的直接行为
自动的起因/影响追踪
快速理解问题区域
缩短你用传统方法调试的时间
建立环境
目标
建立环境
完成这一章节后,你应该能够……
运行之前建立环境
指定路径和环境变量
二进制、许可、符号库
使用建立文件——novas.rc
指定参数
理解FSDB转存任务重用性
快速信号数据库介绍(FSDB)
用仿真器链接Novas项目文件为了FSDB转存
FSDB重用
指定路径和环境变量
二进制文件
设置环境变量NOVAS_INST_DIR<Novas安装路径>
设置路径=($NOVAS_INST_DIR/bin $path)
许可文件
设置环境变量 NOVAS_LICENSE_FILE
<licence_file>:$NOVAS_LICENSE_FILE
或者使用LM_LICENSE_FILE
搜索优先权比NOVAS_LICENSE_FILE低
符号库背景
为什么使用符号库?
提供源代码和逻辑元件之间的映射。
没有符号映射
活跃的扇入锥,扇入锥和扇出锥原理不会正常工作
原理图将仅展示方框而不是逻辑单元。
使用符号库
使用下列任一方法创建符号库:
syn2SymDB:对于Synopsys逻辑库文件用ASCⅡ格式(.lob)
map2SymDB:对于准备好的映射文件
从<verdi_install>/doc/Symbol_Library.pdf查看开发人员指南文件得到详细格式。
设置符号库环境变量
setenv NOVAS_LIBS"<LIB ROOT#1><LIB ROOT#2>..."
setenv NOVAS_LIBPATHS"<Directory#1><Drectory#2>..."
通过GUI(图形用户界面)设置符号库
调用Tools→Preferences命令来打开参数格式;
选择文件夹Schematics→SymbolLibrary
在Symbol Library Names 区域输入符号库名称
在Symbol Library Paths输入区域
该设置将会保存到novas.rc源文件
使用创建文件——novas.tc
包括:
为预编译的设计映射信息
映射一个库文件名到一个物理定位
映射格式
[library]
logical name=物理地址(例pack=./work)
pack=./library/pack (例vital=./work)
用户参数(设置方式Tools→Preferences)
指定路径
使用NOVAS_RC环境变量。
setenv NOVAS_RC <path>/novas.rc
在命令行直接通过 -rcFile<文件名>
搜索顺序:
1.-rcFile<文件名>命令行选项(读/写指针)
2.NOVAS_RC 环境变量(读/写指针)
3../novas.rc
4.$HOME/novas.rc
5.<Verdi instal>/etc/novas.rc
指定参数
摘要
1.通过从窗口调用Tools→Preferences打开参数设置
(1)修改被保存在novas.rc源文件中的格式
(2)在Find栏搜索关键词
2.参考目录以得到常用参数
快速信号数据库(FSDB)
介绍
1.包含仿真信号数据的压缩二进制文件格式
2.开放文件格式以便其他支持工具能转存数据,例如:Verisity、Vera、Ikos等。
3.VHDL和Verilog都可以在仿真期间使用系统任务来转存数据;
常用系统任务
1.fsdbDumpfile——指定FSDB文件名,限制FSDB文件大小
(1)通过用户滑动窗口机制来保留FSDB文件中的最后信号值,如果文件大小超过了限制就扇出旧的值。
2.fsdbDumpvars——转存信号指定实例和深度的变化。
(1)也能够指定FSDB文件名,在每个fsdbDumpvars命令中可以指定不同的FSDB文件名
3.fsdbDumpon/fsdbDumpoff——开/关FADB转存
(1)能指定FSDB文件名来开/关FSDB文件
4.fsdbSwitchDumpfile——转换转存到其他FSDB文件
5.fsdbAutoSwitchDumpFile——限制FSDB文件大小并自动转换转存到新FSDB文件
注1:以上任务是对VHDL仿真而言的,在Verilog仿真中要加上“$"前缀
注2:要得到更多的系统任务,请参考Linking Novas Files with Simulators和Enabling FSDB Dumping(<NOVAS_INST_DIR>/doc/linking_dumping.pdf)
为FSDB转存链接Novas项目文件
1.创建工具环境变量
(1)setenv LM_LICENSE_FILE<simulator_license_file>
(2)<Simulator>_INST_DIR
(3)NOVAS_INST_DIR
(4)使用LD_LIBRARY_PATH来指定适合被分享的项目文件,常用库放在 ${NOVAS_INST_DIR}/share/PLI/lib
setenv LD_LIBRARY_PATH
${NOVAS_INST_DIR}/share/PLI/<simulator>/<platform>;
${NOVAS_INST_DIR}/share/PLI/lib/<platform>;
支持的仿真器:VCS/IUS/MODELSIM
2.创建工作裤并为仿真编译设计
3.在仿真器命令提示符上运行并调试FSDB转存函数。
注意:要得到更多的仿真器链接细节,请参考<NOVAS_INST_DIR>/doc/linking_dumping,pdf文件FSDB重用
批处理FSDB文件
1.vfast
VCD文件转换成FSDB文件
2.fsdb2vcd
FSDB文件转换成VCD文件
3.fsdbextract
从现有的没有再仿真的FSDB文件提取信号、范围、时间周期
4.fsdbmerge
将几个FSDB文件合并为1个
5.fsdbreport
生成一个指定信号值变化的报告
注:使用<utility> -h 列出所有选项或查看Verdi Command Reference 获取更多信息
注:参考Verdi Command Reference中的Utilities章节获取完整的实用列表
总结
在这一节,你学到了:
1.在运行Verdi之前怎样建立环境;
2.怎样指定参数
3.怎样理解FSDB转存任务和实用。
输入设计:
目标
输入设计
完成本节后,你应该能够:
1.在命令行输入设计
(1)从文件
(2)从库
(3)通过重复运行一个TCL(终端控制语言)命令文件
2.从GUI(图形用户界面)导入设计
(1)从文件
(2)从库
在命令行导入设计
从文件
Verdi [Verdi 选项] [你的Verilog选项]
1.在命令行参考源文件(仅Verilog)
2.Verdi所有的Verilog命令行选项
%verdi -f <文件列表> +定义+充分利用你的时间
%verdi <源文件1> <源文件2> ...
* 文件列表有一个包含Verilog源文件和任何命令行转换器的文件。
%verdi -ssv -v lib.v +libext+.v -ssy -y/src/abc-y/src/def top.v
* -ssv和-ssy对于指定的带有-v和-y的设计文件只需要一次,top.v是设计文件。
在命令行导入设计
从库
1.编译一次,加载多次;
2.保存加载时间和全部记忆;
3.对于混合语言或VHDL设计是有必要的,对于仅用Verilog语言设计是可选择的;
4.预编译设计进入库:vericom用于Verilog代码,vhdlcom用于VHDL代码
$ vericom -lib <库名> block1.v block2.v block3.v
$ vhdlcom -lib <库名> block1.vhd block2.vhd block3.vhd
5.然后导入编译后的库并指定顶层模块
$ verdi -lib <库名> -top TopBlock
例:
$ verdi -lib work -top system
在命令行导入设计
通过重复运行一个TCL命令文件
1.在VVerdi中每一个被执行的TCL命令都有一个相对应的TCL命令被保存在./verdiLog/verdi.cmd文件 (1)该文件能被复制和修改到自动化常用命令;
(2)随后新文件能够使用:% verdi -play <文件>.cmd 在Verdi中再次运行。
2.如何修改一个verdi.cmd文件,例:
如果你不在相同路径下再次运行这个文件就要修改run.f的路径;
执行Verdi -paly verdi.cmd之前要删除最后一行。
从GUI导入设计
从文件
1.进入verdi命令行启动Verdi;
2.使用File→Import Design或Import Design图标来导入你的设计。
(1)选择From File标签
(2)指定语言
(3)指定运行文件或单个的源文件
(4)支持映射文件来设置一个Virtual Top.
*参考Verdi应用培训获取Virtual Top的详细内容
3.不建议用于VHDL
从GUI导入设计
从库
1.进入verdi命令行启动Verdi
2.使用File→Import Design或Import Design图标来导入你的设计。
(1)选择From Library标签
(2)指定库和顶层模块
(3)支持映射文件来设置一个Virtual Top.
*参考Verdi应用培训获取Virtual Top的详细内容
总结
在本节中,你学习了:
1.怎样用命令行导入设计
(1)从文件
(2)从库
(3)通过重复运行TCL命令文件
2.怎么从GUI导入设计
(1)从文件
(2)从库
目标
在源代码界面调试
学完本节,你应该能够:
1.打开 nTrace窗口
2.查找并折叠层次浏览器
3.遍历源代码
(1)发现操作;
(2)使用书签;
(3)折叠源代码;
(4)提示显示隐含的端口;
(5)双击鼠标显示所有器件。
4.在信号上操作
(1)追踪信号——驱动、负载、连通性、扇入、扇出;
(2)使能够方便的注释;
(3)方便地进行追踪。
5.其他相关的界面
打开 nTrace窗口
1.导入设计后,Verdi自动调用nTrace窗口
% verdi -f run.f
2.nTrace窗口包含三个大小可调的子窗口
折叠/扩展 源代码窗格
层次浏览器窗格
当前范围 信息窗格
搜索并折叠浏览器
折叠所有范围
在层次浏览器窗格中,点击鼠标右键选择Collapse All Scopes命令
折叠所有打开的范围
搜索并折叠浏览器
搜索范围
在层次浏览器窗格中,调用RMB(鼠标右键)→Show Navigation Editbox打开导航盒 1.搜索范围:
(1)输入一个通配符字符串,按Enter
(2)层次浏览器跳到第一个匹配的范围,点击Next Node图标跳到下一个匹配 (3)例:在导航盒中输入CH*,CHILD1,CHILD2和CHILD3将被匹配
2.过滤范围:
在Node Filiter栏输入一个通配符字符串,唯一的匹配范围将被展示
遍历源代码
发现操作
1.Source→Find Signal/instance/insport是在整个设计中或被选择的范围内查找信号、器件或器件端口的快捷方式。
2.用Find String工具栏快速定位当前范围内的一串字符
3.如果设计树是深的,Source→Find Scope是直接打开一个Verilog模块或VHDL架构的一个快捷方式。
(1)选择范围列出相关的器件;
(2)允许多个选择;
①在Source Type栏输入应用于“Module/File/Function/Task”类型;
②点击Save按钮保存整个器件列表;
(3)在Instance list中只允许选择一个,因为它影响到Go To按钮;
使用标签
1.添加标签
(1)在工具栏点击Bookmark图标
(2)Ctrl+F2切换当前行的标签开关
(3)支持无限的标签
2.执行Source→Manage Bookmarks→Edit命令获取当前标签列表
进入字符串,在名称栏命名你的标签
折叠源代码
1.在指定的行折叠源代码;
2.使用Automatic Source Code Folding选项:Source Code→Miscellaneous参数格式页
◆指定等级来折叠
3.使用Veiw→Source Code Folder或点击“+”或“-”标志来扩展或收集折叠的源代码。
扩展隐含端口顶端实例化
在源代码窗口,把光标放在隐藏端口(.*)
1.一个顶端窗口,详细地显示端口实例化
2.支持SystemVerilog语言
双击一个模块名列出全部实例
在源代码界面双击一个模块名
1.信息窗口将列出所有实例
2.在信息窗格双击一行,跳到预期的实例
控制信号
追踪驱动和负载
1.快速查找一个信号的所有驱动:
(1)DC一个信号;
(2)选择信号并点击追踪驱动图标;
(3)Trace→Driver或右击鼠标右键菜单。
2.快速查找信号的负载:
(1)选择信号并点击Trace Load图标;
(2)Trace→Load或鼠标右键菜单。
3.快速查找信号的所有驱动和负载:
(1)Trace→Connectivity或鼠标右键菜单;
(2)在源窗口中放下一个信号将追踪该信号的连接。
4.默认情况下,追踪是跨层次边界的
◆禁用Trace→Trace across Hierarchy来保持在层次内。
追踪结果报告
1.Trace→Save Trace Results保存驱动/负载/连接以便以后复查
2.最多记录32级追踪结果
追踪扇入和扇出
在源代码窗格选择一个信号并调用命令Trace→Fan-in或Trace→Fan-out命令
1.追踪扇入或扇出寄存器;
2.跳到在源代码窗格中的第一个追踪结果;
3.在信息窗格列出所有追踪结果;
◆双击信息窗格,跳到源代码窗格中的不同追踪结果。
激活注释
1.使用File→Load Simulation Results命令加载FSDB文件
2.在nTrace中使用Source→Active Annotation(或热键x)
(1)显示源仿真结果;
(2)信号值/跳变和指针时间同步;
(3)选择信号,到下一个或更早的跳变。
◆任何改变,上升或下降。
执行激励追踪
1.定位一个指定信号的激励驱动;
2.选择一个信号并调用RMB→Active Trace或Ctrl+t
◆将显示指针时间的驱动状态。
关联其他视图
nTrace到nSchema
1.在nTrace中选择目标(例如:实例、信号……);
2.D&D被选择的目标进入nSechema高亮显示。
nTrace到nWare
在nTrace源代码窗格或层次浏览器窗格中选择目标,D&D到nWare
1. D&D信号将增加信号到nWare;
2. D&D实例将把该实例的所有I/O信号添加到nWare.
总结
在本节,你学到了:
1.怎样创建nTrace窗口;
2.怎样搜索和折叠层浏览器;
3.怎样遍历源代码;
4.怎样控制信号;
5.怎样关联其他视图。
实验室
1.参考Verdi用户手册和<Verdi_install>/doc/tutorial.pdf中的指导书;
2.按照nTrace Tutorial章节中的步骤来练习实验室。
目标
在波形界面调试
完成这张后,你应该能够:
1.打开nWare窗口;
2.加载仿真结果;
3.添加信号;
4.组织和控制信号
(1)组控制;
(2)总线控制;
(3)添加说明;
(4)搜索值;
(5)显示驱动和负载信号;
(6)保存和恢复信号。
5.操控波形显示
(1)设置标签;
(2)波形别名;
(3)显示小问题;
(4)事件结果;
(5)计算事件;
(6)显示网格;
(7)选择毛刺信号;
(8)通过跳变分类信号。
打开nWare窗口
1.在nTrace中调用Tools→New Wareform或点击New Wareform图标
2.在Verdi命令行输入该选项:-ssf<filename>.fsdb
% verdi -f run.f -ssf gate.fsdb
加载仿真结果
在nWare中,使用File→Open或工具栏图标加载结果
1.加载$dumpvars生成的VCD文件
(1)在加载时VCD文件自动转成FSDB;
(2)支持压缩的VCD文件
◆只支持的文件名规则:"xxx.vcd.gz"或"xxx.dump.gz"
2.加载$fsdbdumpvars生成的FSDB;
3.在同一个波形窗口选择一个或多个文件添加并打开
◆使用File→Set Active指定文件激励;
4.在不同nWare窗口打开几个文件
◆使用Window→Change to Primary指定窗口为激励。
添加信号
从nWare获得信号
使用Signal→Get Signal或工具栏图标
1.根据用户定义的规则直接形成总线;
2.选择再整个范围内查找信号;
3.按选择次序显示信号,而不是字母;
4.信号类型过滤。
从其他窗口添加信号
1.D&D信号/实例从其他窗口到nWare;
(1)所有实例I/O;
(2)选择信号;
(3)文本区域的信号;
(4)原理图层次块或逻辑门。
2.选择信号并在nWare中使用RMB→Add Signal(s) To Ware;
3.在nSchema中选择目标并使用RMB→Add Select Set To Ware;
4.在nSchema中执行一个追踪命令后,使用Trace→Add Result to Ware。
组织信号
为信号创建组
1.在信号窗口创建一个组
(1)RMB→Group Operations→Add Group添加组;
(2)RMB→Rename修改组名。
2.RMB→Go To <select group name>跳转到指定组;
3.双击扩展/折叠组序号。
组操作
1.调用RMB→Group Operations→Insert Subgroup创建被选择组的子组;
2.每个组/子组能通过RMB→Rename重命名;
3.调用View→Group Manager打开Group Manager格式
(1)在Group Manager格式中选择一个组并点击New Subgroup在被选择的组下添加一个新组;
(2)在Group Manager中点击Move To按钮将nWare中被选择的组/信号移到被选择的组中;
(3)删除被选择的组和子组。
信号操作
创建并编辑总线
1.调用Signal→Edit Bus 或 RMB→Bus Operations→Edit Bus在信号窗格中编辑选中的总线;
2.从选中的信号创建总线
(1)在信号窗格中调用Signal→Create Bus或RMB→Bus operations→Create Bus;
(2)添加逻辑0或逻辑1作为占位符。
扩展总线
1.通过双击扩展/折叠总线;
2.在nWare信号窗格选择一个总线并调用RMB→Bus Operation→Expand Sub-bus打开Expand Bus格式 (1)指定位数划分总线;
(2)选择从LSB或MSB显示。
给信号添加注释
1.使用Signal→Comment→Insert在光标位置插入一个注释区;
2.使用Signal→Comment→Add Square Box或其它子命令来添加不同类型的注释框
◆提供四种类型的注释框:Square Box, Attached Square Box, Period Box和Arrow Period Box。
搜索值
1.使用Waveform→Set Search Value搜索信号值。
◆搜索值可以是:助记符、通配符和跳变
2.使用Waveform→Set Search Constraint约束搜索一个持续的时间(对于小故障设置为<=0)或一个情况的第n次发生。
显示驱动和负载信号
在nWare信号窗格选择一个信号,调用RMB→Show Driver Signals或Show Load Signals命令追踪驱动或负载。
1.驱动/负载信号将被添加在信号窗格中;
2.所有连接信号将被忽略;
3.该命令仅当设计被导入时有效,在单独的nWare中无效。
保存和恢复信号
1.使用File→Save Signal保存全部信号到一个可加载的文件中
(1)点击Option按钮指定信号属性;
(2)注:当调试参数化设计(有相同的信号但总线范围不同)时打开Do Not Save Bit Range of Natural Bus选项。
2.在nWare中,使用File→Restore Signal加载保存的文件;
3.在命令行,使用-sswr <file>.rc 恢复。
注:如果在nWare中有一个FSDB文件打开,Restore Signal命令不会重写被加载的仿真结果。
控制波形显示
设置标签
1.使用Waveform→Markers命名并放置标签;
2.支持多标签,标签能被保存和恢复;
3.对于不同的标签,为标签定义名字、颜色和行类型。
波形别名
1.在Verdi命令行使用-autoalias选项自动识别定义和参数的助记符;
%verdi -f run.f -autoalias
2.使用aliasextract从一个编译库中取出一个别名文件。
默认是extracted.alias。
%vericom -f run.f -lib work
%aliasextract -lib work
3.在Verdi命令行使用-aliasFile选项加载一个别名文件。
%verdi -top system -aliasFile extracted.alias
4.使用Waveform→Signal Value Radix→Edit Alias创建/更新一个别名文件并应用到一个信号。
◆应用颜色到任何别名。
5.创建一个信号的副本并在值栏使用RMB→Remove Local Alias。
6.在一个列表中支持20个别名
(1)在第一级中选择More Alias查看第二级别名;
(2)在第二级选择More Alias会掉出Alias Editor。
◆在这个格式中没有数量限制。
显示毛刺
1.使用View→Display Glitch确定毛刺位置;
2.使用Waveform→Set Search Constraint 搜索毛刺事件。
◆设置值<=<Search By>是稳定的并且在时间栏输入0.
注:仿真结果文件必须通过以下环境变量设置生成:
setenv NOVAS_FSDB_ENV_MAX_GLITCH_NUM 0
事件结果
使用Tools→Event Sequence显示单位时间内选中信号的事件顺序。
1.用光标同步时间;
2.按需要拖拽额外的信号;
3.在波形和网格模式之间切换显示。
注:仿真结果文件必须通过以下环境变量设置生成:
setenv NOVAS_FSDB_ENV_DUMP_SEQ_NUM on
计算事件
1.得到一个时间周期内事件状态的统计数值;
◆上升/下降/值改变的总数
2.在nWare中,选择信号并调用View→Signal Event Report。
◆指定时间范围或选中Synic Delta选项。
通过跳变分类信号
在nWare中选择一个信号组,调用View→Sort Signals by First Transition命令根据第一次跳变分类信号。
◆初始未知值会被忽略。
总结
本节中,你学会了:
1.如何打开nWare;
2.如何加载仿真结果:
3.如何组织和控制信号;
4.如何改变波形显示。
实验室
1.参考Verdi用户手册和<Verdi_install>/doc/tutorial.pdf中的指导书;
2.按照nWare Tutorial章节中的步骤来练习实验室。
目标
在原理图界面调试
完成本节后,你应该能够:
1.打开nSchema
◆创建不同的原理图窗口类型
2.关联其他界面
3.控制视图
(1)启用详细RTL-Window或实例;
(2)隐藏外来总线;
(3)给层上色。
4.追踪信号
扇入/扇出/两点/两个信号
打开nSchema
1.在nTrace层次浏览器中选择一个实例,并点击New Schematic图标
2.从层浏览器中D&D一个实例,或者是nTrace源代码窗格中的一个Verilog模型或一个VHDL结构New Schematic图标;
3.在nTrace中执行Tools→News Schematic→Current Scope
不同的原理图窗口类型
1.Full Hierarchical Window ——在指定范围显示全部目标。
默认原理图视图;
2.Browser Window ——在指定范围显示部分原理图;
3.Flatten Window——在平坦化视图中显示部分原理图。
例:贯穿所有范围的原理图。
全层次窗口
1.浏览、遍历和理解图形表示的设计层次;
2.DC一个端口符号进入更低层,并高亮显示连接到线网;
3.DC一个线网高亮显示所有与之连接的实例;
4.追踪命令将在当前窗口中高亮各种不同目标;
5.搜索命令:
(1)Schematic→Find Signal/instance/Instport
(2)Schematic→Find In Current Scope.
浏览器窗口
1.关注指定的器件或线网来调试;
2.DC符号端口进入下一层、跳到上一层或展开逻辑单元;
3.使用Delete键或移除目标;
4.撤销/重做编辑;
5.在该视图中不能使用追踪命令。
平坦化窗口
1.对一个指定的元件或线网进行调试;
2.DC实例管脚或在其他窗口D&D以添加目标;
3.使用<Delete>或移除选定的目标。
浏览RTL块的详细源代码
DC一个底层的RTL块显示相应的源代码。
关联其他视图
1.在nSchema和其他窗口之间拖拽;
2.D&D选定的目标进入nSchema高亮显示它们。
查看操作
多种查看命令:
1.View→Preselect
当光标移到信号或块上时,高亮显示。
2.View→InstPort Name
打开/关闭器件的端口名。
3.View→IO Port Name,Instance Name,Net Name
打开/关闭管脚、器件、本地线网名。
4.View→High Contrast
除了选定的目标高亮显示为白色,所有的原理图显示成深蓝色,5.Tools→Preferences→Schematics→Display Options→Viewing 打开新的nSchema窗口时修改默认查看状态。
在原窗口查看详细TRL
1.调用View→Detail RTL显示函数符号的布尔等式;
仅在当前窗口有效。
在器件库浏览详细RTL:
在RTL块上,调用RMB→Disply Detail RTL Block.
带有的细节的新窗口将打开。
在平坦化窗口隐藏外来总线
1.移除外来总线连接以更清楚地显示原理图的总线信号。
◆使用Tools→Options→Hide Extraneous Bus.
▲该操作仅适用于平坦化窗口。
在平坦化窗口中给不同层上色
1.在参数格式(调用Tools→Preferences)的Schematics→Display Options→Schematic折叠选项使用Automatically Color Instances in Flatten Window.
2.在平坦化窗口中,调用Schematic→Color Instances by Scope以修改默认的颜色范围。
追踪信号
扇入锥/扇出锥
1.调用Tools→New Schematic→Fan-in Cone/Fan-out Cone
(1)生成新的原理图窗口以显示新的扇入/扇出逻辑单元;
(2)追踪线网到寄存器/三态门输出或设计边界。
2.扇入锥
(1)显示所有被选择线网的逻辑单元;
(2)深度查找错误原因对追踪驱动是有用的。
3.扇出锥
(1)显示所有的负载元件;
(2)对于查看全局信号分配是有用的(例:时钟、复位等)。
4.追踪不只一层的扇入/扇出
在参数格式(通过调用Tools→Preferences)的Schematics折叠下的Trace页的Fan-In/Out框指定层数。
扩展原理图
双击(DC)器件管脚扩展一级
如果追踪跨层次,将添加层次连接器。
追踪 负载/驱动/连接
选择一个管脚,调用Trace→Driver/Load/Connectivity来追踪一级。
追踪扇出
1.选择一个器件或管脚,调用Trace→Fan-out Cone;
(1)追踪存储单元;
(2)有利于查看全局信号分配(例:时钟、复位等);
(3)在参数格式(通过调用Tools→Preferences)的Schematics→Trace折叠的Fan-In/Out中指定层数。
追踪扇入
选择一个器件或管脚,调用Trace→Fan-in Cone
1.追踪存储单元;
2.有利于追踪驱动时深度查找错误原因;
3.在参数格式中指定追踪层。
通过层追踪
选择一个器件或管脚,调用Trace→By Level
1.指定追踪模式(例:驱动、负载、扇入...等);
2.指定层和其他约束。
在两点之间追踪所有路径
1.调用Trace→Two Points并选择Instance Port Based选项来追踪端口。
(1)通过输入端口名或D&DnSchema/nTrace指定开始/结束点;
(2)选项停止或通过跳拍;
(3)过滤穿过/绕过指定元件。
追踪两个信号之间的所有路径
1.在追踪两点格式中,在Choose Trace Mode部分中选择Signal Based选项
(1)从nSchema(或其他视图)中拖拽信号到From和To框;
(2)选中Filter选项然后点击Filter按钮来设置穿过/绕过信号。
2.追踪信号之间的路径也将显示在nSchema中被连接到信号的器件。
限制追踪范围参数
1.在追踪两点格式中,选中Filter选项并点击Filter按钮;
2.在追踪两点过滤格式中,选择Limited Scope 选项,然后选择下列选项来指定追踪范围。
(1)在最低范围层限制追踪路径:自动设置基于你的两点/信号的最低范围;
例如,当追踪信号A,B,C,D输入到A,B,E,F输出时,Verdi的追踪路径将只会在A,B和它的子范围下。
(2)限制追踪路径在范围内:指定一个范围来限制追踪
当你想要关注一个指定范围的时候。
在这一章,你学会了:
1.怎样创建不同的原理图窗口;
2.怎样去操作浏览方式;
3.怎样去追踪信号;
4.如何关联其他视图。
在状态机界面调试
目标
学完本章,你应该能够:
1.打开nState窗口;
2.FSM窗口操作:
(1)视图功能与查找状态;
(2)显示FSM性能;
(3)创建部分FSM;
(4)使用状态激励。
3.分析状态机;
4.关联其他视图。
打开nState
1.双击状态符号以电调用nState;
2.Verdi通过传统的状态变量的编码为过程1、过程2或过程3自动识别状态机代码。
注:记住在RTL页的参数格式(调用Tools→Preferrences)的Schematics折叠项中选中FSM Recognition选项,否则不会提取所有状态机。
状态机视图的操作
视图功能与状态查找
1.View→State Action
2.View→Transition Condition
3.View→Transition Action
4.FSM→Find state
显示状态机功能
1.调用FSM→Machine Properties以获取状态机功能;
2.调用FSM→Object Properties以获取状态和转换功能。
创建部分状态机
1.在nState中选择状态并通过Tools→Partial FSM调出窗口;
2.扩展连接的状态;
(1)双击状态;
(2)选择一个状态并调用RMB→Expand;
3.拖拽部分状态机窗口来添加状态。
状态激励
1.加载仿真结果;
2.选中FSM→State Animation;
3.使用Previous State/Next State工具栏图标来单步调试状态;
4.使用FSM→Edit Search Sequence创建一个状态结果以便搜索。
分析状态机
1.使用FSM→Analysis Report来显示分析报告
(1)状态机细节说明;
(2)状态覆盖报告;
(3)跳转覆盖报告。
2.Save to File保存报告。
关联其他视图
拖拽状态或交叉点进入nTrace。
总结
在这一章,你学会了:
1.如何打开状态机窗口;
2.如何操作视图和查找状态;
3.如何显示状态机功能和分析状态机;
4.如何创建部分状态机;
5.如何使用状态激励;
6.如何关联其他试图。
在时序界面调试
目标
学完本章,你应该能够:
1.理解什么是时间流界面;
2.打开一个时间流(TFV)窗口
(1)基于循环;
(2)基于跳变;
3.在TFV中操作;
4.关联其他示图。
什么是时间流界面?
行为分析工具
1.来自KDB和FSDB,Verdi使用合成与正式技术建立了实际设计行为的内部模型。
(1)随时间展示功能;
(2)从控制信号区分数据。
2.使用仿真结果
(1)限定时钟;
(2)屏蔽不活动元素。
自动激励与响应追踪
1.完全的,易于使用环境;
2.容易形象地看到行为随时间和结构的变化。