原创 [转帖]Ncverilog 常用命令使用详解

2008-7-10 13:28 5143 7 7 分类: FPGA/CPLD
原帖:http://bbs.dicder.com/viewthread.php?tid=58
作者:5life" h+ s3 ]! t& J1 f  Y
工作状态:建立仿真环境

' c4 m; G! E, Z' c5 ~, q8 O, j( F, c4 T* a, _' D

    我们知道,由于NC-Verilog使用了Native Compile Code
的技术来加强电路模拟的效率,因此在进行模拟时必须经过compile(ncvlog
命令)以及elaborate(ncelab命令)的步骤。编译之后,针对每一个HDL设计单元会产生中间表达。接着elaborate命令会建立整个电
路的结构,产生可以用来模拟的资料。最后使用ncsim命令来进行模拟。

/ p& P; r5 Q( Q- R9 f

) n/ F  y& U. D/ u   三命令模式  _; Z' G, s0 B) X6 l9 ^

( [) r8 h6 c9 Q" B5 u

      命令如下:

' b+ e4 u3 ?9 P- E) I       ncvlog -f run.f

( Y3 O0 M( ^8 J# n( b) G       ncelab tb -access wrc( f' c; G  v5 g) b' @

      ncsim tb -gui4 [1 Q) d, c' W- ^% k. M

第一个命令中,run.f是整个的RTL代码的列表,值得注意的是,我们需要把tb文件放在首位,这样可以避免出现提示timescale的错误。  L5 \7 M8 F3 Z6 a% D5 o

5 N' S1 |2 h- ?: P

第二个命令中,access选项是确定读取文件的权限。其中的tb是你的tb文件内的模块名字。) i6 P# [2 V, y1 H& r; T3 S: y3 W



. `) ^9 e( m4 z& w7 K1 d3 H! H& R第三个命令中,gui选项是加上图形界面

; d& v) F2 e) F

/ y6 e  o5 k' o8 M) ]值得注意的是,在这种模式下仿真,是用“ - ”的。而下边要说的ncverilog是采用“ + ”的。

4 d, F0 n) k! r4 L2 f

$ t0 ]6 T/ g: h8 _     单命令模式

2 R* i7 J# U$ B8 i3 M

% b6 W+ m3 B3 ^7 m& h, A3 u- }      ncverilog +access+wrc rtl +gui

1 g; ~7 G' t, [) y      在这里,各参数与三命令模式相同。注意“ + ”。

. G1 J% a' b! ?/ O; j- V( w) e& y! {3 {0 U9 _! D+ e

      在本文里将详细讲述ncverilog 的各种常用的参数,对于三命令模式,请读者自己查看资料。( S* M7 J1 Q) J3 F: o3 n

     +cdslib+...                设定你所仿真的库所在* p$ ]$ V% d  f



7 O4 S, \8 x" z% s1 x      +define+macro ...      预编译宏的设定! {7 ^! E. q" {& c& @2 K+ @

: N2 w1 d8 p2 Z5 m

     +errormax+整数         当错误大于设定时退出仿真

- O! s  {: L4 b' _$ b- @* P5 `- t8 X0 Y) \' M; L

     +incdir+path             设定include的路径

! {' G  z! r" u' I1 x2 w+ {

6 Y1 k& Y$ D2 ?      +linedebug                允许在代码中设定line breakpoint

: l0 m- ~* G! B5 k# U$ b$ P) n: L" j) o$ t: l' I! z. P# }1 I) B

     +log+logfile               输出到名为logfile的文件中

! x9 S5 @2 {. y. f

( D1 N$ Z/ P) `  Q# J& Y      +status                     显示内存和CPU的使用情况

% a2 \6 g  {, Z+ S& ?

& `* b) [5 G* w; r8 t; ]+ q      +work                       工作库7 b* F8 _& f% k! p% p2 i7 h

# o5 R, N: Z- K& l# f

     +access+w/r/c           读取对象的权限,缺省为无读(-w)无写(-r)无连接(-c)

! Z( e! }& A- P) o4 x: |6 i, @, F& M" y9 N; u& G. H, Y0 d

     +gui                        显示图形交互界面: N9 T$ `+ G/ W9 W" {6 f* T

" }* L; m0 `" f4 Q- q# E

     +input script_file       输入脚本文件

3 _3 u$ h( Q2 |) p5 z% `8 ^! X5 j( y/ A$ ]* ]9 z' m- ^0 a; S& [

     +licqueque               如无licence等待licence) {; W" b7 R% g



7 y& R$ j- I1 f+ I6 m$ i      +run                       如果在GUI交互界面下, 启动后将自动开始仿真; r6 G0 F# P, x, D! G



. p* k7 Z* h. o: _: _  a! l      +loadpli1=...            动态加入PLI$ e  i1 G5 m* q! @; m

; Z5 A6 N3 M0 a, u

     +timescale               设定仿真单位和精度8 s' A) j8 M/ ]4 k  n  O



8 O- }/ Z: I& h5 C* z: s1 d3 R8 x" r      +nocopyright           不显示版权信息
PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
7
关闭 站长推荐上一条 /3 下一条