一、通用的基本選項
NC-Verilog中,有部分選項是ncvlog、ncelab和ncsim通用的選項,見表表 2‑1。
2‑1 ncvlog、ncelab和ncsim通用的基本選項
選項 |
說明 |
對應ncverilog選項 |
-64bit |
調用64-bit版本的ncvlog |
+nc64bit |
-cdslib <pathname> |
指定cds.lib文件的路徑 |
+nccdslib+<arg> |
-hdlvar <pathname> |
指定hdl.var文件的路徑 |
+nchdlvar+<arg> |
-errormax <integer> |
當錯誤數量達到指定數值時退出執行 |
+max_error_count+<arg> |
-file <filename> |
使用指定的命令行文件 |
-f <filename> |
-logfile <filename> |
定義輸出的log文件名 |
-l <filename> |
-ncerror <warning> |
將指定“告警”信息的嚴重等級提高爲“錯誤” |
+ncerror+<arg> |
-ncfatal <warning | error> |
將指定“告警”或“錯誤”信息的嚴重等級提高爲“致命” |
+ncfatal+<arg> |
-neverwarn |
禁止打印所有告警信息 |
-w |
-nocopyright |
禁止打印版權信息 |
+ncnocopyright |
-nolog |
禁止產生log文件 |
+ncnolog |
-nostdout |
關閉屏幕打印,但不影響log文件的 |
+ncnostdout |
-nowarn <warning> |
關閉指定告警信息的打印 |
+ncnowarn+<arg> |
-quiet |
Log文件的安靜模式,生成log文件時,屏蔽工具標識信息和調用工具時的命令行參數等。 |
-q (-Q可以保存工具標識信息) |
-status |
打印內存和CPU的使用情況統計 |
+ncstatus |
-update |
增量仿真 |
+ncupdate |
-version |
打印工具的版本信息 |
+ncversion |
-ieee1364 |
支持IEEE-1364的Verilog標準 |
+ieee1364 |
-ncinitialize |
仿真0時刻,將設計中的變量初始化爲指定值 |
+ncinitializ |
二、ncvlog的常用選項
選項 |
說明 |
對應ncverilog選項 |
-ams |
支持AMS(Analog Mixed-Signal ,混合模擬信號)的編譯 |
+ncams |
-assert |
支持PSL斷言的編譯檢查 |
+assert |
-checktasks |
檢查設計文件中是否存在非預定義的系統任務,例如$fsdbDumpvars |
+ncchecktasks |
-controlassert <file> |
指定一個斷言的控制文件,用來定義哪些斷言打開,哪些斷言關閉。 |
+controlassert+<arg> |
-define <identifier[=value]> |
定義一個變量 |
+define+<macro> |
-design_top <design_name> |
指定編譯的設計最頂層module名 |
+ncdesign_top+<top> |
-escapedname |
輸出信息中包括轉義符,默認是不包括轉義符 |
+ncescapedname |
-incdir <directory> |
在指定目錄下搜索include文件 |
+incdir+<dirs> |
-linedebug |
支持行斷點的設置和代碼的單步執行 |
+nclinedebug |
-noline |
編譯出錯時,不定位代碼行 |
+ncnoline |
-sv |
支持SystemVerilog,如果是單命令模式,缺省支持SV |
+sv |
-work <library> |
定義指定的庫爲work庫 |
+work+<lib> |
三、ncelab的常用選項
選項 |
說明 |
對應ncverilog選項 |
-access [+] [-] <r|w|c> |
設置仿真對象文件的訪問權限,包括讀r、寫w和連接c,“+”表示增加,“-”表示刪除。默認是沒有任何權限。 |
+access<+/-rwc> |
-covdut <dut_module> |
指定某個DUT的module進行覆蓋率仿真 |
+nccovdut+<string> |
-coverage <coverage_type> |
仿真時使能某種類型的覆蓋率,包括block、expr、fsm、toggle和all,即塊、表達式、狀態機、翻轉率和全部 |
+nccoverage+<string> |
-covfile <file_name> |
指定一個參數文件名,用於配置覆蓋率仿真的參數選項 |
+nccovfile+<file> |
-defparam <parameter=value> |
參數重定義 |
+defparam+<arg> |
-maxdelays |
應用specify塊中min:typ:max延時的最大延時 |
+ncmaxdelays |
-mindelays |
應用specify塊中min:typ:max延時的最小延時 |
+ncmindelays |
-typdelays |
應用specify塊中min:typ:max延時的典型延時 |
+nctypdelays |
-noassert |
屏蔽快照snapshot中的PSL斷言 |
+noassert |
-noautosdf |
關閉SDF自動反標 |
+noautosdf |
-noneg_tchk |
禁止Verilog代碼或SDF反標中$setuphold和 $recrem時序檢查中的負值。如果文件中出現負值,則負值當成0處理,並給出告警。 |
+noneg_tchk |
-nonotifier |
忽略時序檢查時的notifier |
+ncno_notifier |
-nospecify |
屏蔽Specify塊中的時序以及SDF中的延時和時序檢查 |
+nospecify |
-notimingchecks |
關閉時序檢查 |
+notimingchecks |
-no_tchk_msg |
屏蔽時序檢查時告警信息的顯示 |
+no_tchk_msg |
-ntcnotchks |
如果設計中存在負延時的時序檢查(NTC:negative timing check),那麼仿真時使用-notimingchecks和不使用-notimingchecks選項有可能會出現不同的仿真結果。這種情況下,可以使用-ntcnotchks選項:產生負延時時序檢查的延時,但不進行時序檢查。 |
+ncntcnotchks |
-timescale ‘unit/precision’ |
爲設計中沒有指定`timescale的module指定默認的timescale |
+nctimescale+<arg> |
-override_precision |
用-timescale選項中的時間精度替換整個設計中的時間精度 |
+ncoverride_precision |
-override_timescale |
用-timescale選項中的參數替換整個設計中的時間單位和精度 |
+ncoverride_timescale |
-partialdesign |
在設計缺少某個模塊層次時依然解析設計併產生仿真用的快照。 |
+partialdesign |
-sdf_verbose |
在SDF的log文件打印詳細的SDF信息 |
+ncsdf_verbose |
-snapshot <name> |
指定快照(snapshot)文件的名稱,默認是設計的最頂層模塊名 |
+name+<name> |
四、的常用選項
選項 |
說明 |
對應ncverilog選項 |
-append_log |
將多個ncsim命令的log文件存儲到一個文件中 |
+ncappend_log |
-batch |
不等命令行的命令輸入,直接開始仿真 |
+ncbatch |
-covworkdir <dir> |
指定覆蓋率結果數據存儲的work名,默認是cov_work/design/test |
+nccovworkdir+<string> |
-covdesign <design> |
指定覆蓋率結果數據存儲的design名,默認是cov_work/design/test |
+nccovdut+<string> |
-covtest <test> |
指定覆蓋率結果數據存儲的test名,默認是cov_work/design/test |
+nccovtest+<string> |
-profile |
生成一個統計仿真過程中各個模塊佔用CPU時間的profile文件。 |
+ncprofile |
-profoutput <file> |
指定profile文件的文件名,默認是ncprof.out |
+ncprofoutput+<file> |
-dut_prof <file> |
在仿真運行的profile文件中,增加一個報告指定DUT模塊仿真時間的表格 |
+dut_prof+<file> |
-gui |
調用帶SimVision的仿真器 |
+gui |
-keyfile <filename> |
指定一個key文件名,替換默認的ncsim.key |
-k <filename> |
-nokey |
禁止生成key文件 |
+ncnokey |
-licqueue |
沒有ncsim的license時,將仿真進入隊列等候,直到獲取license |
+nclicq |
-lps_off |
關閉低功耗仿真(LPS:Low-Power Simulation) |
+nclps_off |
-ppe |
仿真時調用“後處理環境”(PPE:Post Processing Environment)。PPE模式可以分析SHM模型中的仿真結果,在不使用license的情況下進行調試。 |
+ncppe |
-input <script_file> |
執行腳本文件中的TCL命令 |
+ncinput+<file> |
-tcl |
調用仿真器的交互模式,啓動仿真器後停留在0時刻。 |
+tcl |
五、ncverilog常用的基本選項
從上述4個表的對照可以發現,相對於三命令模式下的選項,大部分單命令模式的選項都由“-”變成了“+”,而且有些選項之前多了“nc”兩個字母。
除了上述表格中對應的ncverilog選項之外,還有下面一些常用的ncverilog選項,見表表 2‑5。
選項 |
說明 |
+ncdebug |
等同於+access+r |
+nclibname+<name> |
指定一個用於搜索的庫 |
+ncrun |
自動開始仿真 |
+nctfile+<file> |
指定一個時序文件,用於進行時序檢查的設置 |
+nclog_ncvlog+<logfile> |
單獨產生一個ncvlog的文件 |
+nclog_ncelab+<logfile> |
單獨產生一個ncelab的文件 |
+nclog_ncsim+<logfile> |
單獨產生一個ncsim的文件 |
+checkargs |
檢查命令行中選項的有效性 |
+compile |
只進行ncvlog,不進行ncelab |
-c |
進行ncvlog和ncelab,不進行ncsim |
+loadpli1=<arg> |
指定PLI1庫 |
+loadvpi=<arg> |
指定VPI庫 |
+noupdate |
關閉默認的增量仿真模式 |
+v1995 |
關閉Verilog-2001標準,只支持Verilog-1995標準 |
-clean |
刪除以前的INCA_libs目錄(如果存在的話) |
-debug |
等同於+access+rw |
-F <filename> |
搜索參數文件 |
-L<lib dir> |
指定一個搜索庫文件的目錄 |
-v <file> |
指定一個庫文件 |
-y <directory> |
指定一個庫文件目錄 |
+libext+<ext> |
指定庫文件的擴展名,與-y配合使用 |
+libverbose |
打印庫文件的詳細信息 |
-ovm |
支持OVM |
-races |
進行0延時的競爭冒險檢查 |
-R |
使用上次產生的快照文件進行仿真 |
-r <snapshot name> |
使用指定的快照文件進行仿真 |
-s |
調用快照文件,進入交互模式 |