Ncverilog使用

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

关于负时序(negative timing)检查
负时序检查有下列的选项:
ncverilog option
ncelab option
+neg_tchk
-neg_tchk
Still exists
for backward compatibility
+noneg_tchk
-noneg_tchk Sets negative timing
译文件在 run.f 中, 库文件在 lib.v 中,lib2 目录中的.v 文件系统自动搜索,使 用库文件或库目录,只编译需要的模块而不必全部编译
Q:我的 files 里面只有一个 help 文件夹,里面是一个叫 ncprotect 文件,没有你 所说的 hdl.var 文件啊 A: 1、NC-VERILOG 在创建工程时会生成两个文件:cds.lib 和 hdl.var。 2、testbench 和 DUT 当然是不同的文件。 3、sdf 是 standard delay format 文件,由综合和后端工具产生,供后仿用。 (1) 先建立 cds.lib DEFINE work ./work_lib hdl.var DEFINE WORK work (2) mkdir work_lib (3) ncvlog .....
$shm_probe(cnt_tb,"AS"); //设置探针 end A -- signals of the specific scope 为当前层信号设置探针 S -- Ports of the specified scope and below, excluding library cells C -- Ports of the specified scope and below, including library cells AS -- Signals of the specified scope and below, excluding library cells 为当前层以以下层信号都设置探针,这是最常用的设置方法 AC -- Signals of the specified scope and below, including library cells 还有一个 M ,表示当前 scope 的 memories, 可以跟上面的结合使用, "AM" "AMS" "AMC" 什么都不加表示当前 scope 的 ports; $shm_close //关闭数据库
单命令模式下文件的配置: 目录下有源文件、测试台文件、file、run 四个文件 在 linux 下执行 source run 后再执行 simvision 来查看 run 文件内容: ncverilog +access+rw -f file file 文件内容: cnt_tb.v(注意把 tb 文件放在前)
间. 去除 force 用 release 语句.; initial begin force sig1 = 1'b1; ... ; release sig1; end,
force 可以对 wire 赋值,这时整个 net 都被赋值; 也可以对 reg 赋值.
Verilog 和 Ncverilog 命令使用库文件或库目录 ex). ncverilog -f run.f -v lib/lib.v -y lib2 +libext+.v //一般编
checks to zero
(matches previous behavior)
设置访问属性 缺省情况下,NC 在非调试模式运行,仿真速度很快。可以通过设置访问属性和 行调试(line-debug)功能来配置在仿真过程中信号、模块、和代码的访问属性。 这样做降低了仿真 的速度。 如果你想在代码中设置断点,就必须使用行调试选项。该选项对仿真效率影响非 常大。 % ncverilog +linedebug <other options> 或 % ncvlog –linedebug <other_options> <verilog_source_files> 也可以设置设计的全局访问属性。下列的命令可以用来配置设计为允许读、写和 交叉访问(connectivity access)。 % ncverilog +access+[rwc] <other options>
Ncverilog 使用。 2010-05-27 16:31 (转);本人不用 c 的软件。
在 NC 自带的帮助 Cadence NC-Verilog Simulator Help 中都可以找到。
以下整理自网络,有点乱 :(
ncverilog 是 shell 版的,nclaunch 是以图形界面为基础的,二者调用相同内核; ncverilog 的执行有三步模式和单步模式,在 nclaunch 中对应 multiple step 和 single step ncverilog 的三步模式为:ncvlog(编译) ncelab(建立 snapshot 文件) ncsim(对 snapshot 文件进行仿真) 基于 shell 的 ncverilog 操作(尤其是单步模式)更适合于大批量操作 ncverilog 的波形查看配套软件是 simvision,其中包含原理图、波形、信号流 等查看方式
下面还列出了关于时序的全局选项:
ncverilog option
ncelab option
+nonotifier es notifier register +notimingcheck bles timing check +delay_mode_unit unit Delay 1 simulation time unit +delay_mode_zero delay +delay_mode_distributed specify block delays
Biblioteka Baidu
Edited by Foxit Reader Copyright(C) by Foxit Corporation,2005-2010 For Evaluation Only.
cnt.v tb 文件中应该包含:
initial begin
$shm_open("wave.shm"); //打开波形保存文件 wave.shm
的目录 第二个命令中,access 选项是确定读取文件的权限。其中的 tb 是你的 tb 文
件内的模块名字。 注意:ncelab 要选择 tb 文件的 module,会在 snapshot 文件夹下生成 snapshot
的 module 文件 第三个命令中,gui 选项是加上图形界面 在这种模式下仿真,是用“ - ”的。而下边要说的 ncverilog 是采用“ + ”
$>cdsdoc 启动 cadence 文档窗口,是文档是 html 格式的.这里,我的需要先启动 firefox, 然后才能开 cdsdoc。 $> (tool_name) -help $> nchelp [options] tool_name message_code ******* ncsim> help [help_options] [command | all [command_options]]
-nonotifier
Disabl
-notimingchecks
Disa
-delay_mode
-delay_mode zero Zero
-delay_mode dist Ignores
提高 SDF 的精度 时序信息通过 SDF 文件传递给一个设计。在 LDV 3.1 以前的版本里,缺省的 SDF 精度是 10ps。从 LDV 3.1 开始,所有的时序宽度(包括小于 10ps 的)都允许使 用,这样仿真的时序结果 更加精确,但是仿真变得更慢。在多数情况下,10ps 就足够了,因此你也许想 用下面的方法来改变精度: % ncverilog +ncelabargs+”-sdfprecision 10ps” <other options> 或 % ncelab –sdf_precision [10ps|1ps|100fs] <other_options>
$dumpfile("filename"); //打开数据库 $dumpvars; //depth = all scope = all $dumpvars(0); //depth = all scope = current $dumpvars(1, top.u1); //depth = 1 scope = top.u1 $dumpoff //暂停记录数据改变,信号变化不写入库文件中 $dumpon //重新恢复记录 3.Debussy fsdb 数据库也可以记录信号的变化,它的优势是可以跟 debussy 结合,方便调试. 如果要在 ncverilog 仿真时,记录信号, 首先要设置 debussy: a. setenv LD_LIBRARY_PATH :$LD_LIBRARY_PATH(path for debpli.so file (/share/PLI/nc_xl//nc_loadpli1)) b. while invoking ncverilog use the +ncloadpli1 option. ncverilog -f run.f +debug +ncloadpli1=debpli:deb_PLIPtr fsdb 数据库文件的记录方法,是使用$fsdbDumpfile 和$fsdbDumpvars 系统函数, 使用方法参见 VCD 注意: 在用 ncverilog 的时候,为了正确地记录波形,要使用参数: "+access+rw", 否则没有读写权限
提高 NC-Verilog 仿真效率的技巧
下面是一些用来禁止时序检查的一些命令行。
% ncverilog +delay_mode_distributed +notimingcheck +noneg_tchk

% ncelab –delay_mode dist –notimingchecks –noneg_tchk
查看结果时可以在 source schemic wave register 四个窗口同时查看 保存波形信号的方法:
1.SHM 数据库可以记录在设计仿真过程中信号的变化. 它只在 probes 有效的 时间内记录你 set probe on 的信号的变化.
2.VCD 数据库也可以记录在设计仿真过程中信号的变化. 它只记录你选择的 信号的变化.
ncverilog 编译的顺序: ncverilog file1 file2 .... 有时候这些文件存在依存关系,如在 file2 中要用到在 file1 中定义的变量,
这时候就要注意其编译的顺序是 从后到前,就先编译 file2 然后才是 file2.,
信号的强制赋值 force: 首先, force 语句只能在过程语句中出现,即要在 initial 或者 always 中
三命令模式: >ncvlog -f run.f >ncelab tb -access wrc >ncsim tb -gui 第一个命令中,run.f 是整个的 RTL 代码的列表,值得注意的是,我们需要
把 tb 文件放在首位,这样可以避免出现提示 timescale 的错误 注意:ncvlog 执行以后将产生一个名为 INCA_libs 的目录和一个名为 worklib
的 三命令模式下 GUI 界面较好用,其对应的命令会在 console window 中显示 注意:选择 snapshot 文件夹下生成的 module 文件进行仿真
单命令模式: >ncverilog +access+wrc rtl +gui 在这里,各参数与三命令模式相同。注意“ + ” 通常都使用单命令模式来跑仿真,但要配置好一些文件
或 % ncelab –access [rwc] snapshot_name <other_options> r : read capability for waveform dumping, code coverage, etc w : write access for modifying values through PLI or tcl code c : connectivity access to querying drivers and loads in C or tcl 前面曾经提到过,这些选项将降低仿真的速度。读属性是通常要使用的,它对仿 真性能影响非常小。 为了给部分对象、模块或实例设置访问属性,可以创建一个访问属性文件,并在 文件中说明那些对象的访问属性。然后用在运行 elaborator 时使用 –afile 选项。 % ncverilog +ncafile+<access_filename> <other _options> or % ncelab -afile <access_filename> snapshot_name <other_options> % ncsim snapshot_name <other options> 也可以用 –genafile 选项来自动生成访问属性文件。当仿真使用了 Tcl、PLI 或 probing 功能,无法提前确定对象的访问属性,就可以采用自动生成访问属性 文件的方法。 Elaborator 在生成仿真快照(snapshot)时会考虑你给出的 –genafile 选项; 然后,当运行仿真时,Tcl 或 PLI 访问过的对象就会被记录下来。退出仿真的时 候,访问属性文件就 生成了。举个例子: % ncverilog +ncgenafile+access.txt <other _options> 或 % ncelab -genafile access.txt test.top <other_options> % ncsim test.top <other options> 仿真运行完成后,生成了一个 access.txt 文件。你可以通过 –afile 选项来 使用这个文件(象前面介绍的那样): % ncverilog +ncafile+access.txt <other _options> 或 % ncelab -afile access.txt test.top <other_options>
相关文档
最新文档