[原创] Ncverilog 常用命令使用详解
作者:5life/ g# U+ j$ b+ J
工作状态:建立仿真环境9 K. N! b. z5 E
- R+ ^5 [! K5 ?: t6 i% L9 x 我们知道,由于NC-Verilog使用了Native Compile Code 的技术来加强电路模拟的效率,因此在进行模拟时必须经过compile(ncvlog 命令)以及elaborate(ncelab命令)的步骤。编译之后,针对每一个HDL设计单元会产生中间表达。接着elaborate命令会建立整个电路的结构,产生可以用来模拟的资料。最后使用ncsim命令来进行模拟。- O) w6 l; `! v& u
8 \. x) C z- @- z: x( j
三命令模式
$ E' O3 y1 e4 C- d
# B; y5 `6 H7 x. _, A 命令如下:
+ t3 u, |# Z" G' [ ncvlog -f run.f
% Y# l/ ]' X: ~1 v; V0 a ncelab tb -access wrc& O9 W5 T3 b* r: y4 C) c d+ E2 P
ncsim tb -gui
6 I: X" o$ z+ k0 J; m/ O1 F第一个命令中,run.f是整个的RTL代码的列表,值得注意的是,我们需要把tb文件放在首位,这样可以避免出现提示timescale的错误。
& c: l, ?6 U) _8 B0 H2 ~
* K0 g8 U! M) p/ n第二个命令中,access选项是确定读取文件的权限。其中的tb是你的tb文件内的模块名字。# y; `6 k. ^, i. O$ o& _
% ?/ O4 Y# R& m# h4 n, h4 W5 t
第三个命令中,gui选项是加上图形界面
/ }% w7 w/ q8 v
( Q b, z3 D/ e4 D; E值得注意的是,在这种模式下仿真,是用“ - ”的。而下边要说的ncverilog是采用“ + ”的。
9 Z6 w+ k$ p2 N$ J% L
% B4 [" |6 O+ z" y. p& v: y 单命令模式
7 D9 o; x( N5 h7 K" z
1 B; f5 u, I- U5 l3 \! [6 q ncverilog +access+wrc rtl +gui# [! b! [( h7 j+ B' Z1 R% {' Q
在这里,各参数与三命令模式相同。注意“ + ”。
, x) L& [9 R( d0 y9 h; H
9 W! [1 x: x5 ~2 C9 L 在本文里将详细讲述ncverilog 的各种常用的参数,对于三命令模式,请读者自己查看资料。
4 K. \6 @) g. M4 H% m( ~! @ +cdslib+... 设定你所仿真的库所在
# L% L( ~7 W6 X, B& y1 j
! e E/ k) l. o +define+macro ... 预编译宏的设定2 E4 G2 A1 q% w& d$ v- M# P* q
7 p' b8 P8 P7 i7 @2 ~& X +errormax+整数 当错误大于设定时退出仿真2 w7 i, L7 o$ L, E, C+ s& R
, g, r: H! S; w3 K7 T8 v +incdir+path 设定include的路径) `0 M# v- q9 N1 R
2 l7 ?5 o$ [, }
+linedebug 允许在代码中设定line breakpoint
) D. T8 i$ N* p- Q- y+ ?0 p+ X" z1 X1 V1 C v7 V
+log+logfile 输出到名为logfile的文件中
: R3 O8 s1 m; _; Z( @, W" F* y+ v/ j( @) V* E2 w. m9 J
+status 显示内存和CPU的使用情况+ }3 g( G$ A4 R# j6 ~3 ?
S1 z# d2 L5 p: X
+work 工作库0 [- m6 `6 @5 l$ e8 ~7 I
9 I- x! W) Z8 N! ` Z( c$ ?
+access+w/r/c 读取对象的权限,缺省为无读(-w)无写(-r)无连接(-c)
* j+ R- S3 g" c4 F0 @
: n e* X) m2 n7 E% Z +gui 显示图形交互界面
0 Q5 @/ I: g; N# T% v
: q! }$ v* P9 I' ] J4 S1 l) Z +input script_file 输入脚本文件6 ^1 P) |0 _1 n: l O8 R. @. H
8 |6 f( K$ T/ g/ n' f) U +licqueque 如无licence等待licence
/ J6 M H+ O2 m
4 \4 S& e* I7 [2 d +run 如果在GUI交互界面下, 启动后将自动开始仿真
: `9 k4 ?; L% e5 F
% h; R. H4 I" ^; z8 o2 W +loadpli1=... 动态加入PLI
$ E7 W: h" l, k3 P& H! d- G
R0 y9 P3 v! c7 e. m N +timescale 设定仿真单位和精度% z% j2 {/ S- Q2 e* _
( f3 H3 _" P+ P8 l/ \& Z- O1 ~
+nocopyright 不显示版权信息
With your idea, Carry out together.