ncverilog Verilog - tutorial 文档 - 图文(3)
第三章 设计仿真
SimVision让你控制和查询你的设计仿真。 他可以帮助你定位和特定的仿真事件相关的程序段。如果你发现设计中有错误,你可以直接编辑源文件,重新编译和描述,而不用离开SimVision的环境。
SimVision中你可以存储个别目标或者范围的仿真数据,这可以使得仿真数据尽量的小。晚些时候,你可以在Waveform中加载仿真数据再检验仿真的结果。 选择存储的仿真数据
你可以执行simulator命令来存储仿真器运行过程中的仿真数据。Simulator 命令在仿真过程中对设计进行探测,然后它把探测目标的值存入数据库。
有两种类型探测的命令:
·探测一个特殊的目标或多个目标。这些特殊目标的值存在数据库中。 ·探测一个特殊的范围或多一个范围。你可以选择你想存储的信息类型,比如说,这个范围内的输入信号,你能决定探测的是探测一些还是全部的范围。
要探测所有的模表和范围,要从模块的top开始:
1. 在设计窗口中,点击test_drink 图示旁边的加号,展开设计的层次结构。
2. 选择top范围。在右边窗口里面的信号的列表列出了top范围内的全部信号,如图3.1。信号列表显示了所有输入信号,输出信号,输入输出信号,内部信号,或者事务级的信号。 。
图3.1 选择top范围
3.选择菜单Simulation--〉Create Probe
SimVision打开Probe的设置窗口,如图3.2,这个窗口允许你选择一层或者多层子范围,选择你要探测的信号类型, 然后记录探测信息到任何数据库。
图3.2 设置probe的窗口
针对这个探测: ·选择Include sub-scopes下拉菜单中的all选项以包含所有设计的子域。 ·选择Include within each scope下拉菜单中的all选项以包含输入,输出 和端口。
·取消选中Add to waveform display。
4. 点击OK确认probe的设置然后关掉窗口。 提示
如果你在控制窗口(console window)输入以下信息你就可以成功的创建probe:
ncsim> database -open waves -into waves.shm -default Created default SHM database waves
ncsim> probe -create test_drink.top -depth all -all -shm Created probe 1
5. 在控制窗口(console window)中选择Simulation—〉Run。SimVision就会仿真仿真设计,然后把仿真的结果数据存在默认的数据库里面。在它运行的时候将会显示如下信息:
ncsim> run 400loading machine with 5 cans
400 *** machine empty! *** 700 enter nickel 900 enter dime 1100 enter quarter 1300 enter dime 1500 enter quarter
1500 ->drink dispensed
------------------------------- 1800 enter nickel 2100 enter nickel 2300 enter dime 2500 enter dime
2600 *** machine empty! *** 2700 enter quarter 2700 nickel changed 3000 enter nickel 3200 enter dime 3400 enter quarter 3600 enter dime 3800 enter quarter
3900 -> drink dispensed
------------------------------- . . .
------------------------------- 68400 enter quarter 68700 enter nickel 69000 enter nickel 69200 enter dime 69400 enter dime
Simulation complete via $finish(1) at time 69600 NS + 0 ./test_drink.v:48 $finish; ncsim>
提示
当你完成了这些步骤,你的工作目录下面将会出现一个新的名为waves.shm 的目录,它里面包含了waves.dsn和 waves.trn两个文件。如果它们的大小分别远小于65500bytes和360bytes,那么在仿真过程中你就没有探测到了所有的
目标。
为了纠正问题,在控制窗口(console window)中选择Simulation—〉 Reinvoke Simulator重新启动simulator或者退出simulator再用下面的命令重新启动simulator:
ncsim -gui worklib.test_drink:module 然后重新执行本章讲的几个步骤。 更多的信息
本章描述了设置探针(probe)和运用控制窗口(console window)来启动仿真器(simulation)。尽管如此,还有其它的方式来运行以上的步骤,如下: Tool(工具)/Feature(内容) Description(描述) $shm_open 你可以在你的Verilog源文件中调用这些$shm_probe 系统任务。当你仿真你的设计的时候,这些系$shm_close 统任务打开你的数据库,设置探针到希望的目标,当你仿真结束的时候又关闭数据库。 在你的 NC-Verilog Simulator Help中参阅Displaying Waveforms with the SimVision Waveform Viewer章节以得到这些系统任务的具体细节。 database -open probe 你可以从tcl命令行接口中调用-create run simulator命令,或者你也可以把它们都打包在一个命令文件中,以批处理模式来运行。 参阅你的NC-Verilog Simulator Help 中probe,database和run的章节 Simulation database 为了疹错的方便你可以为不同的设计建立management (仿真数据管理) 包含各自设计成份的不同的仿真数据库。或者你可以用其它工具打开数据库。 查阅SimVision User Guide第六章Managing Simulation Databases Probes (探针) 你可以打开,关闭探针,也可以删除探针,或者你还可以在工具窗口中创建新的探针。当然你还可以就在Waveform窗口中增加一个信号的探针而不用设置探针的窗口来增加 参阅SimVision User Guide第七章 Creating and Managing Probes。 Breakpoints (断点) 或许你想仿真运行到某点的时候就停下来这样方便你检查运行的状态。为了控制仿真在哪里停下可以设置breakpoint 查阅SimVision User Guide第八章Setting and Managing Breakpoints Simulation control (仿真控你可以运行一个仿真到breakpoint停止,制) 然后进入一个子程序。你也可以存储仿真的状态,或者是检查点,然后在那个点重新启动仿真。 参阅SimVision User Guide第十章Controlling the Simulation
第四章 以波形的形式研究仿真的资料
波形显示了信号在仿真过程中任意事件的值,它可以帮助你很好地理解你的设计的行为
波形窗口(waveform window)可以让你选择你想要看的信号以及它在显示的时候的基数,甚至你还可以自己建立一个显示的形式,叫做mnemonic map(助记符映射),这样就可以让图以你最适应的方式显示。 选择显示的信号
在设计浏览器(Design Browser), 你可以选择目标然后把它们放到波形窗口(Waveform window)中
为了要选择你想要显示的信号到波形窗口(Waveform window)中:
1. 点击Edit Buffer
按钮打开edit buffer,如图4.1。edit buffer
让你可以在不同的范围内选择目标,安排他们以你希望的顺序显示,然后把它们都列到波形窗口(Waveform window)中去
图4.1打开edit buffer
2. 在top模块中选择你想要在波形窗口(waveform window)中显示的信号。为了取样检查,选择nickel_in, dime_in, quarter_in, dispense, nickel_out, dime_out, two_dime_out, and clk 信号。当你点击各个信号的时候,SimVision把它们加入到edit buffer中去。
3. 展开top,然后在vending模块中选择current_state 把它加入edit buffer中去。
…… 此处隐藏:2262字,全部文档内容请下载后查看。喜欢就下载吧 ……相关推荐:
- [资格考试]机械振动与噪声学部分答案
- [资格考试]空调工程课后思考题部分整合版
- [资格考试]电信登高模拟试题
- [资格考试]2018年上海市徐汇区中考物理二模试卷(
- [资格考试]坐标转换及方里网的相关问题(椭球体、
- [资格考试]语文教研组活动记录表
- [资格考试]广东省2006年高应变考试试题
- [资格考试]LTE学习总结—后台操作-数据配置步骤很
- [资格考试]北京市医疗美容主诊医师和外籍整形外科
- [资格考试]中学生广播稿400字3篇
- [资格考试]CL800双模站点CDMA主分集RSSI差异过大
- [资格考试]泵与泵站考试复习题
- [资格考试]4个万能和弦搞定尤克里里即兴弹唱(入
- [资格考试]咽喉与经络的关系
- [资格考试]《云南省国家通用语言文字条例》学习心
- [资格考试]标准化第三范式
- [资格考试]GB-50016-2014-建筑设计防火规范2018修
- [资格考试]五年级上册品社复习资料(第二单元)
- [资格考试]2.对XX公司领导班子和班子成员意见建议
- [资格考试]关于市区违法建设情况的调研报告
- 二0一五年下半年经营管理目标考核方案
- 2014年春八年级英语下第三次月考
- 北师大版语文二年级上册第十五单元《松
- 2016国网江苏省电力公司招聘高校毕业生
- 多渠道促家长督导家长共育和谐 - 图文
- 2018 - 2019学年高中数学第2章圆锥曲线
- 竞争比合作更重要( - 辩论准备稿)课
- “案例积淀式”校本研训的实践与探索
- 新闻必须客观vs新闻不必客观一辩稿
- 福师大作业 比较视野下的外国文学
- 新编大学英语第二册1-7单元课文翻译及
- 年产13万吨天然气蛋白项目可行性研究报
- 河南省洛阳市2018届高三第二次统一考试
- 地下车库建筑设计探讨
- 南京大学应用学科教授研究方向汇编
- 2018年八年级物理全册 第6章 第4节 来
- 毕业论文-浅析余华小说的悲悯性 - 以《
- 2019年整理乡镇城乡环境综合治理工作总
- 广西民族大学留学生招生简章越南语版本
- 故宫旧称紫禁城简介




