数字电路设计与仿真
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数字电路设计与仿真
——陈俊锐(一)NCverilog仿真器,V erilog-XL仿真器及NClaunch简介
(二)SimVision简介
(三)设计过程简介
(四)实例解说及演示
(一)NCverilog仿真器,V erilog-XL仿真器及NClaunch简介
1.NC Verilog简介
NC V erilog仿真器都是基于事件算法的仿真器。仿真器读入V erilogHDL描述并进行仿真以反映实际硬件的行为。
NC V erilog是全编译仿真器,它直接将V erilog代码编译为机器码执行。其过程为:
ncvlog编译V erilog源文件,按照编译指导(compile directive)检查语义及语法,产生中间数据。ncelab按照设计指示构造设计的数据结构,产生可执行代码。除非对优化进行限制,否则源代码中的元件(element)可能被优化丢失。产生中间数据。
ncsim启动仿真核。核调入设计的数据结构,构造事件序列(时轮),调度并执行事件的机器码。有些事件可能消失(从不执行)除非限制优化过程。
编译后的所有代码的执行使用同一个核。在交互模式下,可以使用Tcl命令及其针对NC V erilog的扩展命令来修改设计和控制仿真。这将在后面进行详细描述
2.V erilog-XL简介
Verilog-XL是一个交互式仿真器,过程如下:
读入Verilog描述,进行语义语法检查,处理编译指导(compiler directive)
在内存中将设计编译为中间格式,将所有模块和实例组装成层次结构(设计数据结构)。源代码中的每个元件都被重新表示并能在产生的数据结构找到。
决定仿真的时间精度,在内存中构造一个事件队列的时间数据结构(时轮) 。
读入、调度并根据事件执行每一个语句。
Verilog-XL采用多种加速算法提高各种抽象级的仿真速度。
,对每种抽象级描述都能很好的仿真。这些加速算法包括Turbo算法,XL算法及Switch-XL算法。
每次重新启动Verilog-XL,将重复上述步骤。
当进入交互模式时,可以输入VerilogHDL语句并加到设计的数据结构中。
3. NCLaunch,简介
NCLaunch, 是一个图形界面的用户接口,能帮助你管理大型的设计工程。配置和启动编译器NCverilog complier,描述器NCverilog elaborator以及仿真器Simulator
还可以在NCLaunch上运行像SDF compiler,HDL Analysis and Lint, Code Coverage Analyzer, NCBrowse, and Comparescan.之类的工具。
NClaunch启动的界面
NClaunch运行模式
(1)Multiple Step mode
一步步运行compile, elaborate, and simulate 。如果我们要仿真的文件是VHDL或者混合语言设计,我们必须选用多步模式。当然对于verilog 设计也可以用多步模式。uses the ncvlog and ncelab commands
(2)Single Step mode
一步完成compile,elabrate,simulate。但必须整个设计是用verilog的。
ncverilog command
NCLaunch T oolbar Buttons
NCLaunch 下使用ncverilog 的方式 (1).终端命令输入 ncvlog 编译V erilog 源文件 (ncvhdl 对于vhdl)
ncelab 描述设计并且生成仿真的 snapshot ncsim 对snapshot 进行仿真仿真 或
I/O Region
ools bar
File browser
Design browser
NC-VHDL Compiler ( VHDL 编译器)—Launches ncvhdl to
compile the VHDL source files that you have selected in the File Browser
NC-Verilog Compiler ( Verilog 编译器)—Launches
ncvlog to compile the Verilog source files that you have selected in the File Browser
Elaborator (描述器)—Launches ncelab to elaborate the
compiled VHDL or Verilog design units
ncverilog –c source_file
ncverilog source_file (run both complier and simulator)
ncsim [options] [lib.]cell[:view]
[1]Ncvlog命令
ncvlog [options] source_file ...
Options:
-DEFINE
-FILE
-MESSAGES -- Specifies printing of informative messages
-NOCOPYRIGHT -- Suppresses printing of copyright banner
-NOWARN
[2]Ncvlog命令
ncvlog filename1.v filename2.v …
注意:有时候这些文件存在依存关系,如在filename2中要用到在filename1中定义的变量,这时候就要注意其编译的顺序是从后到前,就先编译file1然后才是file2.
注意层次结构
[3]Ncelab命令
ncelab
用描述器(elaborator)把设计描述成snapshot的形式, Snapshot是仿真器将调用的你的设计的表述,它和其它由compiler和elaborator产生的中间目标一起保存在库中 ncelab -access +rwc worklib.topmodulename:module
这里我们必须输入-access命令来启动elaborator
+rwc表示读,写,连接探测
-access
在使用NCLaunch时,默认是可以调用仿真目标的。但是用命令行接口的时候,进入默认是关闭了的
[4]Ncsim命令
ncsim [options] [lib.]cell[:view]
Options:
-FILE
-GUI -- Enter window mode before running simulation
-INPUT
-MESSAGES -- Specifies printing of informative messages
-NOCOPYRIGHT -- Suppresses printing of copyright banner
-NONTCGLITCH -- Suppress delayed net glitch suppression messages
-NOSTDOUT -- Turn off output to screen
-NOW ARN
-SDF_NO_W ARNINGS -- Do not report SDF warnings
(2).图形用户界面