RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

VCS 仿真option 解析

sanyue7758 ? 來源:處芯積律 ? 2024-01-06 10:19 ? 次閱讀

VCS的仿真選項分編譯(compile-time)選項和運行(run-time)選項。編譯選項用于RTL/TB的編譯,一遍是編譯了就定了,不能在仿真中更改其特性,例如define等等。而仿真選項常用于仿真過程中控制仿真過程的選項,例如波形dump,testplusargs等等。

1.1VCS常用的編譯選項

選項 說明
-assertdumpoff|enable_diag|filter_past 定義SystemVerilog斷言(SVA)
dumpoff:禁止將SVA信息DUMP到VPD中
enable_diag:使能SVA結(jié)果報告由運行選項進一步控制
filter_past:忽略$past中的子序列
-cm 指定覆蓋率的類型,包括:line(行覆蓋)、cond(條件覆蓋)、fsm(狀態(tài)機覆蓋)、tgl(翻轉(zhuǎn)率覆蓋)、path(路徑覆蓋)、branch(分支覆蓋)和assert(斷言覆蓋)。
如果包括兩種或以上的覆蓋率類型,可用“+”,如-cm line+cond+fsm+tgl
-cm_assert_hier 將SVA覆蓋率統(tǒng)計限定在文件列表中指定的module層次。
-cm_cond 進一步細化條件覆蓋率的統(tǒng)計方式,包括:basic,std,full,allops,event,anywidth,for,tf,sop等選項。
-cm_count 在統(tǒng)計是否覆蓋的基礎(chǔ)上,進一步統(tǒng)計覆蓋的次數(shù)
-cm_dir 指定覆蓋率統(tǒng)計結(jié)果的存放路徑,默認是simv.cm
-cm_hier 指定覆蓋率統(tǒng)計的范圍,范圍在文件中定義,可以指定module名、層次名和源文件等。
-cm_log 指定仿真過程中記錄覆蓋率的log文件名
-cm_name 指定保存覆蓋率結(jié)果的文本文件的名稱
-cm obc 使能可觀察(observed)覆蓋率的編譯。傳統(tǒng)的覆蓋率跟功能的正確性毫無關(guān)聯(lián),可觀察覆蓋率通過設(shè)置觀察點,一定程度上將代碼行覆蓋率與功能正確性關(guān)聯(lián)起來。
-comp64 在64-bit模式下對設(shè)計進行編譯,并生成32-bit格式的可執(zhí)行文件用于32-bit模式仿真
-debug或-debug_all 使能UCLI命令行
-e 指定PLI應(yīng)用時main()程序的名稱
-f 指定文件列表的文件名,文件中可包括源代碼文件的路徑和名稱,也可以包括編譯選項參數(shù)
-file filename 類似于-f,但文件內(nèi)容更靈活,可以包含PLI選項和對象文件,可以使用轉(zhuǎn)義字符等
-full64 在64-bit模式下編譯,生成64-bit模式仿真的可執(zhí)行文件
-h or -help 列舉常用的編譯選項和運行選項的參數(shù)
-I 交互模式的編譯,讓VCS自動包括+cli,-P virsims.tab選項,并支持VirSim后處理模式下生成VCD+文件。
-ID 顯示及其的hostid或dongle ID
-ignore 屏蔽SV中unique/priority型的if或case語句的告警信息,參數(shù)包括:unique_checks、priority_checks、all。
-j 設(shè)定并行編譯的進程數(shù),“j”后面沒有空格
-l 指定記錄VCS編譯和運行信息的log文件名
-line 使能VriSim中的單步運行
-lmc-swift 使能LMC SWIFT接口
-Mdir= 指定一個目錄讓VCS存儲編譯產(chǎn)生的文件,默認是csrc
-Mlib= 指定一個目錄讓VCS搜索某個模塊是否需要重新編譯。
與-Mdir配合,可以實現(xiàn)不同模塊的增量編譯。
-Mmakeprogram= 指定用于make對象的程序,默認是make
-Mupdate[=0] 默認情況下,VCS編譯時會覆蓋上次編譯生成的makefile。如果想保留上次的makefile,使用-Mupdate=0;如果不帶=0,則進行增量編譯,并覆蓋上次的makefile。
-noIncrComp 關(guān)閉增量編譯
-notice 顯示詳細的診斷信息
-ntb 使能ntb(Native TestBench),支持OpenVera驗證平臺語言結(jié)構(gòu)。
-o 指定編譯生成的可執(zhí)行文件的名稱,默認是simv
-timescale=/ 源代碼文件中有的包括`timescale編譯指令,有的不包括,如果在VCS命令行中,不包括`timescale的源代碼文件在最前面,VCS會停止編譯。使用-timescale選項為這些在前面且又沒有`timescale的源文件指定timescale
-override_timescale=/ 讓源文件統(tǒng)一使用指定的timescale
-P 指定PLI表文件
-pvalues+= 改變指定參數(shù)的值
-parameters 通過文件的方式改變參數(shù)的值,參數(shù)的路徑和改變的值均在文件中定義
-q 安靜模式,屏蔽VCS的編譯信息
-R 在編譯之后立即執(zhí)行產(chǎn)生的可執(zhí)行文件
-s 剛開始仿真時即停止,一般與-R和+cli配合使用
-V 使能verbose模式
-v 指定verilog庫文件
-y 指定verilog庫路徑
+libext+ 讓VCS在verilog庫路徑下搜索指定的擴展名文件,與-y配合
-vera 指定標準的Vera PLI表文件和對象庫
+acc+1|2|3|4 使能PLI中的ACC(PLI 1.0的一種方式)
+cli+[=]1|2|3|4 使能CLI調(diào)試功能
+autoprotect[] 生成一個加密的源文件
+protect[] 生成一個加密的源文件,只加密`protect/`endprotect部分
+putprotect+ 指定加密文件存放的目錄
+csdf+precompile 在VCS編譯源代碼時預(yù)先SDF文件
+define+= 定義一個文本宏,與源文件中的`ifdef配合
+error+ 將編譯時運行的NTB錯誤增加到N
+incdir+ 指定VCS搜索`include指令使用的包含文件的目錄,可以用“+”定義多個目錄。
+maxdelays 使用SDF文件中的max值
+mindelays 使用SDF文件中的min值
+typdelays 使用SDF文件中的typ值
+nbaopt 刪除非阻塞賦值語句中的延時
+neg_tchk 使能時序檢查中的負延時
+nospecify 屏蔽specify塊中的路徑延時和時序檢查
+notimingcheck 屏蔽specify塊中的時序檢查
+nowarnTFMPC 屏蔽編譯時的“Too few module port connections”告警信息
+no_notifier 屏蔽一些時序檢查系統(tǒng)任務(wù)中定義的notifier寄存器的翻轉(zhuǎn)(toggling),但不影響時序violation的報告
+no_tchk_msg 屏蔽時序檢查的告警信息,但不關(guān)閉時序檢查時notifier寄存器的翻轉(zhuǎn)(toggling)
+optconfigfile+ 指定Radiant技術(shù)和二態(tài)仿真用到的配置文件名
+prof 讓VCS在仿真過程中生成一個vcs.prof文件,記錄設(shè)計中最耗CPU時間的module、層次和verilog結(jié)構(gòu)
+race 讓VCS在仿真過程中生成一個race.out文件,記錄設(shè)計中所有的競爭冒險
+radincr 增量編譯時使能Radiant技術(shù)
+sdf_nocheck_celltype SDF反標時不檢查SDF文件中的CELLTYPE的一致性
+sdfverbose 顯示SDF反標時的詳細告警和錯誤信息
+v2k 支持Verilog-2001標準
+vc[+abstract][+allhdrs][+list] 使用DirectC接口時,使能verilog直接調(diào)用C/C++函數(shù)
+vcs+flush+log 加速編譯仿真時log文件緩存的刷新頻率
+vcs+flush+all +vcs+flush+log,+vcs+flush+dump和+vcs+flush+fopen的集合
+vcs+initmem+0|1|x|z 初始化設(shè)計中所有存儲器的值
+vcs+initreg+0|1|x|z 初始化設(shè)計中所有寄存器的值
+vcs+lic+wait 一直等待license
+vpi 使能VPI
+warn=[no]ID|none|all,... 使能或關(guān)閉告警信息

1.2VCS常用的運行選項

選項 說明
-a 將仿真顯示的log信息附件在指定文件尾部
-E 執(zhí)行指定的程序用來顯示生成simv可執(zhí)行文件時VCS使用的編譯選項
-i 指定一個VCS執(zhí)行仿真時包含CLI命令的文件,一般與-ucli配合
-k | off 指定一個文件,用來記錄VCS仿真過程中的CLI和VirSim交互命令,默認是vcs.key,off選項是關(guān)閉記錄。
-sverilog 支持SystemVerilog
-ucli 使能UCLI命令
-vcd 指定VCD波形文件名,默認是verilog.dump,會被源代碼文件中的$dumpfile覆蓋
+vcs+learn+pli 追蹤當前仿真的ACC選項,記錄在pli_learn.tab文件中,下次仿真時可以用+applylearn來重新編譯。
+vcs+nostdout 關(guān)閉所有$monitor和$display的文本輸出,但依然會記錄在-l的log文件中。
+vera_load= 定義Vera對象文件
+vera_mload= 定義一個包括多個Vera對象文件的文本文件

1.3VCS調(diào)試模式常用選項

選項 說明
-RI 編譯完成之后馬上啟動VirSim,進入交互模式
-RIG 不編譯,啟動VirSim使用已有的可執(zhí)行文件,進入交互調(diào)試模式。
+sim+ 指定使用的可執(zhí)行文件名,與-RIG配合
-RPP 運行后處理(Post-Processing)模式:啟動VirSim,使用VCD+文件
-PP 支持在源代碼文件中調(diào)用$vcdpluson生成VPD文件
+cfgfile+ 定義一個VCS使用的已建好的場景配置文件
+vslogfile[+] 保存一個VirSim命令的log文件,默認是VirSim.log

審核編輯:黃飛

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • RTL
    RTL
    +關(guān)注

    關(guān)注

    1

    文章

    385

    瀏覽量

    59759
  • VCS
    VCS
    +關(guān)注

    關(guān)注

    0

    文章

    79

    瀏覽量

    9600

原文標題:VCS 仿真option 解析

文章出處:【微信號:處芯積律,微信公眾號:處芯積律】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    vcs實用技巧

    VCS是編譯型verilog仿真器,VCS先將verilog/systemverilog文件轉(zhuǎn)化為C文件,在linux下編譯生成的可執(zhí)行文./simv即可得到仿真結(jié)果。
    的頭像 發(fā)表于 10-25 17:22 ?1069次閱讀
    <b class='flag-5'>vcs</b>實用技巧

    VCS仿真指南(第二版).pdf

    VCS-verilog compiled simulator是synopsys公司的產(chǎn)品.其仿真速度相當快,而且支持多種調(diào)用方式;使用的步驟和modelsim類似,都要先做編譯,再調(diào)用仿真.V
    發(fā)表于 12-15 10:27

    VCS DVE 仿真工具講解

    VCS是Synopsys公司的數(shù)字邏輯仿真工具,DVE是一個圖形界面,便于調(diào)試RTL代碼,查看波形。本視頻簡要介紹VCS的常用概念。 歡迎大家加入啟芯SoC QQ群: 275855756。共同交流和學習SoC芯片設(shè)計技術(shù)。
    發(fā)表于 10-04 13:07

    萌新求助關(guān)于VCS仿真指南

    VCS有哪幾種調(diào)試模式?萌新求助關(guān)于VCS仿真指南
    發(fā)表于 04-29 06:52

    nanosim和vcs混合仿真的過程是怎樣的?

    nanosim和vcs為什么可以聯(lián)合起來進行數(shù)字模擬混合仿真?nanosim和vcs混合仿真的過程是怎樣的?
    發(fā)表于 06-18 08:28

    基于linux系統(tǒng)的VCS使用及仿真說明

    最近在學習VCS,現(xiàn)將VCS的一些使用心得記錄下來。VCS是synopsys的仿真verilog的仿真器?;趌inux系統(tǒng)。有命令行模式和
    發(fā)表于 07-18 16:18

    基于linux系統(tǒng)實現(xiàn)的vivado調(diào)用VCS仿真教程

    在linux系統(tǒng)上實現(xiàn)vivado調(diào)用VCS仿真教程 作用:vivado調(diào)用VCS仿真可以加快工程的仿真和調(diào)試,提高效率。 前期準備:確認安
    的頭像 發(fā)表于 07-05 03:30 ?1.1w次閱讀
    基于linux系統(tǒng)實現(xiàn)的vivado調(diào)用<b class='flag-5'>VCS</b><b class='flag-5'>仿真</b>教程

    如何使用Synopsys VCS仿真器進行ZYNQ BFM IPI設(shè)計仿真

    了解如何使用Vivado中的Synopsys VCS仿真器使用ZYNQ BFM IPI設(shè)計運行仿真。 我們將演示如何編譯仿真庫,為IP或整個項目生成
    的頭像 發(fā)表于 11-29 06:59 ?4934次閱讀

    如何使用Vivado中的Synopsys VCS仿真器進行仿真

    了解如何使用Vivado中的Synopsys VCS仿真器使用MicrBlaze IPI設(shè)計運行仿真。 我們將演示如何編譯仿真庫,為IP或整個項目生成
    的頭像 發(fā)表于 11-29 06:57 ?7422次閱讀

    SpinalHDL運行VCS+Vivado相關(guān)仿真

    本篇文章來源于微信群中的網(wǎng)友,分享下在SpinalHDL里如何絲滑的運行VCS跑Vivado相關(guān)仿真。自此仿真設(shè)計一體化不是問題。
    的頭像 發(fā)表于 08-10 09:15 ?2490次閱讀

    使用VCS仿真Vivado IP核時遇到的問題及解決方案

    前年,發(fā)表了一篇文章《VCS獨立仿真Vivado IP核的一些方法總結(jié)》(鏈接在參考資料1),里面簡單講述了使用VCS仿真Vivado IP核時遇到的一些問題及解決方案,發(fā)表之后經(jīng)過一
    的頭像 發(fā)表于 08-29 14:41 ?2478次閱讀

    淺談VCS的兩種仿真flow

    幾乎所有的芯片設(shè)計、芯片驗證工程師,每天都在和VCS打交道,但是由于驗證環(huán)境的統(tǒng)一化管理,一般將不同的編譯仿真選項集成在一個文件里,只需要一兩個人維護即可。所以大部分人比較少有機會去深入地學習VCS
    的頭像 發(fā)表于 01-10 11:20 ?3730次閱讀

    如何用vcs+verdi仿真Verilog文件

    我們以一個簡單的加法器為例,來看下如何用vcs+verdi仿真Verilog文件并查看波形。 源文件內(nèi)容如下:
    的頭像 發(fā)表于 05-11 17:03 ?1909次閱讀
    如何用<b class='flag-5'>vcs</b>+verdi<b class='flag-5'>仿真</b>Verilog文件

    VCS實用技巧分享

    VCS是編譯型verilog仿真器,VCS先將verilog/systemverilog文件轉(zhuǎn)化為C文件,在linux下編譯生成的可執(zhí)行文./simv即可得到仿真結(jié)果。
    的頭像 發(fā)表于 05-30 09:26 ?1402次閱讀
    <b class='flag-5'>VCS</b>實用技巧分享

    記錄VCS仿真的IP核只有VHDL文件的解決方法

    使用VCS仿真Vivado里面的IP核時,如果Vivado的IP核的仿真文件只有VHDL時,仿真將變得有些困難,VCS不能直接
    的頭像 發(fā)表于 06-06 11:15 ?2226次閱讀
    記錄<b class='flag-5'>VCS</b><b class='flag-5'>仿真</b>的IP核只有VHDL文件的解決方法
    RM新时代网站-首页