Verdi如何編譯design並打開


HDL Source文件的編譯

針對Verilog文件的編譯:

使用vericom工具,將verilog source文件寫入一個run.f中,如:

system.v

pram.v

TopModule.v

對於include的文件,通過+incdir+引入文件夾。

-v +文件名,表示lib的design。

invoke方式:vericom -lib <libname> -f run.f

如果verilog source文件中,包含2001的一些結構,需要加-2001 option

可以選擇加+verilog2001ext+.v+.v2k+的option來識別可能的verilog 2001的extension

如果design中包含多種文件,像verilog-95,verilog-2001,systemverilog,這時不推薦使用 -sv,-2001的option。

因為只有最后一個有效。

 

每個design file也可以單獨列在vericom cmd line中。每次vericom都會將design增加編譯到libname中。

所以需要保證libname不變。

如果libname對應的是一個logic library location,

在Verdi平台中被映射到physical location 如果沒有libname被指定,design unit被編譯到默認的library,work.lib++

在文件novas.rc中設置addr map

vericom -lib <libName> system.v pram.v TopModule.v

vericom -lib <libName> ALUB.v CCU.v

 

VHDL文件的編譯: 在VHDL文件編譯之前,必須添加library map到novas.rc文件中。

invoke方式:

vhdlcom -lib <libName> <vhdl_design_files>

vhdlcom -lib <libName> foo1.vhd foo2.vhd

vhdlcom -lib <libName> goo1.vhd goo2.vhd

如果沒有libName被指定,默認編譯到work.lib++

當design中有很多VHDL文件時,需要注意編譯的順序,vhdlcom提供了兩個option -smartorder和-smartscript

 

SystemVerilog文件的編譯:

使用vericom來invoke,

vericom -lib <libName> -sv -f run.f

使用+systemverilogext+sv來進行sv的擴展識別。

 

SystemVerilog Pragmas的編譯,

必須是顯示的調用-sv -sv_pragma來編譯 vericom -lib <libName> -sv -sv_pragma -f run.f

 

對於VHDL和Verilog的混合編譯,先用vhdlcom編譯所有的VHDL文件,再用vericom編譯所有的Verilog文件。

Verilog和SystemVerilog的混合編譯,使用顯示的文件名擴展來進行識別。run.f文件

system.v

pram.sv

ALUB.v2k

vericom -lib <libName> -f run.f +verilog2001ext+.v2k+ +systemverilogext+.sv+

或者分別編譯:

vericom -f run_verilog_files.f

vericom -2001 -f run_v2k_files.f

vericom -sv -f run_sv_files.f

文件編譯好之后,通過verdi -lib mylib -top mytop來打開verdi

也可以直接使用verdi來編譯文件並打開,

Verilog文件:

verdi -f run.f +verilog2001ext+.v2k+

verdi -sv -f run.f verdi system.v ... alu.v -v lib.v -y ../special

VHDL文件:

verdi -vhdl -f run.f -top <TopDesign>

或者通過verdi打開gui之后,load design。

混合lib打開:

verdi -lib <VHDLlibName1> -lib <VHDLlibName2> -top <designTop>

 

打開verdi gui的env options

-envinfo,dump env variable的描述

-envmap,顯示所有env variable的mapping情況

-sdfDelay[Min|Typ|Max],指定sdf反標的delay type

Sim options

+define+<macro>,用來定義宏,如果source code中也有定義,則被覆蓋

+incdir+<directoryname>,指定search path

+libext+<extensionname>,指定verilog library的extension文件

-f <filename>.f,加載文件,其中包含source file和simulation option

-i,使能interactive debug mode

-ovm[-<version>],加載默認的OVM lib,如果-ovm和-ovmhome都被指定,則-ovm被忽略

                          默認加載的ovm版本-2.1.2

-ovmhome,指定ovm安裝路徑

-simOpt "<options>"/{<options>},指定仿真options

                   verdi -sv f.sv -simOpt "+vcs+lic+wait"

                   verdi -sv f.sv -simOpt {+vcs+lic+wait}

-simType <VCS|ModelSim|NC>,指定simulator

-uvm [-<version>],加載默認的UVM lib,如果-uvm和-uvmhome都指定的話,-uvm被忽略

-uvmhome <path>,指定UVM的安裝路徑

-v <filename>.v,在指定文件中的module,被當作library cell

-y <directoryname>,指定library cell

還可以設置的其他option,

Siloti Options

Behavior Analysis Options設置tools---preferences

Power Manager Options

-cpf1.0/cpf1.1/cpf_filename

-upf1.0/upf2.0/upf_filename

-lps_cpf cpf_filename

-lps_iso_off

-lps_off

-lps_rtn_off

-powerLib libFile

-powerModel NLP|MVSim|ModelSim|NCSim

 

nWave的gui的Invoke

-h|help,打印help信息

-nogui,在batch mode下運行

-ssf fastFile|dumpFile|fastFile list,直接打開.fsdb/.vf/.fsdb.gz/.vcd/.vcd.gz文件

-ssi,打開interactive mode

 

aasertEval,可以通過指定design和FSDB文件,在batch mode下計算assert

assertEval -sv dut.sv +define+sva -ssf dut.fsdb,默認設置下計算assert,保存結果到默認的文件中。

                                                                       ./assertEvalLog/evaluate_result.fsdb


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM