<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

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

3天內不再提示

NCSIM、VCS和QuestaSim后仿真如何屏蔽冗余的違例信息呢?

sanyue7758 ? 來源:硅芯思見 ? 2024-01-03 09:43 ? 次閱讀

在進行數字電路仿真時,經常會遇到很多時序為例,通常這些違例都是由網表中大量的時序檢查報出的。這些常見的時序檢查系統任務如下表所示:

時序檢查系統任務 說明
$setuphold 檢查建立時間和保持時間,當setup違例時,出現此信息
$setuphold 檢查建立時間和保持時間,當hold違例時,出現此信息
$setup 檢查建立時間
$hold 檢查保持時間
$recovery 檢查恢復時間(以復位信號為例,可以理解為rst必須在時鐘沿之前的有效的最小時間),一般用于復位、置位等
$removal 檢查撤銷時間(以復位信號為例,可以理解為rst必須在時鐘沿之后的有效的最小時間),一般用于復位、置位等
$recrem 檢查恢復和撤銷時間,一般常用于復位、置位等
$period 檢查周期信號的最小周期,一般常用于時鐘
$skew 檢查兩個信號之間的最大時間差
$width 檢查脈沖的最小寬度

因為在仿真的過程中,有些報出的違例我們是不關心的,這些信息的大量出現可能會淹沒我們真正需要觀測的信息,為此需要在仿真時講這些冗余的信息屏蔽掉。

針對大家經常使用的NCSIM、VCS和ModelSim(QuestaSim),下文將說明如何在這兩種EDA工具中屏蔽冗余的違例信息。

1 NCSIM

屏蔽使用的命令格式:

% irun-tfile myfile.tfile[other_options] source_files

上述命令中myfile.tfile中包含屏蔽信息,其中主要內容如下表:

參數 說明
-iopath
+iopath
不使能路徑延遲
使能路徑延遲
-prim
+prim
不使能指定的instance中原語的延遲
使能指定的instance中原語的延遲
-port
+port
刪除指定的instance的port延遲
使能指定的instance的port延遲
[SystemTimingTask] -tcheck
[SystemTimingTask] +tcheck
屏蔽掉不關心的違例

【示例】*.tfile中內容格式

PATH top.foo -tcheck // 屏蔽所有關于foo的時序檢查

PATH top.foo $setup $hold -tcheck // 屏蔽所有關于foo的setup和hold時序檢查

PATH :SOC.lcsoc.syn_reg $setup -tcheck // 屏蔽:SOC.lcsoc.syn_reg的setup檢查

注意:如果要屏蔽其他檢查,只需將示例中的$setup或者$hold換成SystemTimingTask中的任何一個即可。

2 VCS

命令格式如下:

tcheck <-msg | -xgen> [-disable | -enable] [-r]

tcheck -query instance | port

上述命令使用時需要注意以下幾點:

1>在simv的option中,即 % ./simv -ucli run.tcl,其中run.tcl中增加需要屏蔽的信號,將tcheck中的內容增加的run.tcl中;

2>該命令僅對Verilog/SystemVerilog使用;

3>該命令使用時,待檢測的源代碼必須包括時序檢查系統任務,否則將會產生warning信息;

上述命令格式中使用的相關參數的說明如下表所示。

參數 說明
instance | port 要被屏蔽的時序檢查的實例或者端口的全路徑名稱
tcheck_type 指定需要進行屏蔽的時序檢查類型:HOLD|SETUP|SETUPHOLD|WIDTH|RECOVERY|REMOVAL|RECREM|PERIOD|SKEW|ALL
-disable | -enable 使能或不使能相關時序檢查,如果要求屏蔽其中SETUP,則在tcheck_type指定SETUP后,需要在tcheck中使用-disable
-msg | -xgen A.指定的實例或者端口違例信息是否被顯示
B.指定的實例或者端口notifier信息是否被顯示
-r 指定是否遞歸式的對所有指定的instance及其以下層次所有的instance進行時序檢查

【示例】(可以通過-ucli do.tcl直接添加到simv中)

tcheck {top_tb.C40010001} WIDTH -msg -disable

#對top_tb.C40010001不進行WIDTH時序檢查,即屏蔽掉top_tb.C40010001的WIDTH檢查

tcheck {top_tb.C40010001} -query

#顯示對top_tb.C40010001的時序檢查信息

3 ModelSim(QuestaSim)

命令格式如下:

tcheck_set[-quiet] [{-m | -n}] [-r [-v]] [ | ]

上述命令格式中使用的相關參數的說明如下表所示。

參數 說明
nstance> 實例(模塊或者線網)的全路徑名稱,該項是必須的
-m | -n 指定屏蔽操作的對象是模塊還是線網,該項可選。
-m:此時命令中指定的instance是module(Verilog)或者entity(VHDL),此時的屏蔽操作將作用于指定的模塊的所有實例
-n:此時命令中指定的instance指向一個線網,tcheck_set將應用于所有連接該線網的實例
-quiet 用于指定配置信息不顯示于Transcript窗口,該參數的指定必須先于,該項可選
-r [-v] 指定是否遞歸式的對所有指定的instance及其以下層次所有的instance進行時序檢查,默認情況下,遞歸過程中被改變的instance的信息不會輸出到Transcript,可以用-v將這些信息輸出至Transcript中,該項可選
tcheck_type 指定需要進行屏蔽的時序檢查類型:HOLD|SETUP|SETUPHOLD|WIDTH|RECOVERY|REMOVAL|RECREM|PERIOD|SKEW|ALL
使能或者禁止是否將指定的時序檢查違例信息和不定態產生的信息報出,該項可設置的值為“ON”和“OFF”,該項可選
控制指定時序檢查的違例信息和不定態信息,其中必須先于,其中可設置的值為“ON”和“OFF”,該項可選

【示例】

tcheck_set top_tb.u1.u2 “(WIDTH (negedge clk))”OFF

#示例中,top_tb.u1.u2下的(WIDTH (negedge clk))檢查產生的所有信息都將被屏蔽掉。如果對于示例中時序檢查表達式的寫法不了解,可以使用“tcheck_statustop_tb.u1.u2”來查看top_tb.u1.u2下所有的時序檢查表達式,具體應用如下所示:

% tcheck_status top_tb.u1.u2

% #0 (WIDTH (negedge clk)) MsgOn XOn

% #1 (WIDTH (posedge clk)) MsgOn XOn

% #2 (SETUP (negedge d)(posedge clk)) MsgOn XOFF

% #3 (HOLD (posedge clk)(negedge d)) MsgOn XOFF

最后在使用上述EDA工具時,因為不同的工具提供的路徑不同,在具體使用時,一定要使用對應的工具獲得該工具可識別的路徑信息。







審核編輯:劉清

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • EDA工具
    +關注

    關注

    4

    文章

    261

    瀏覽量

    31349
  • soc
    soc
    +關注

    關注

    38

    文章

    3807

    瀏覽量

    216160
  • 數字電路
    +關注

    關注

    192

    文章

    1414

    瀏覽量

    79924
  • VCS
    VCS
    +關注

    關注

    0

    文章

    78

    瀏覽量

    9510

原文標題:NCSIM、VCS和QuestaSim(ModelSim)后仿真如何屏蔽違例

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

收藏 人收藏

    評論

    相關推薦

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

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

    ISE設計,questasim仿真時庫編譯的問題

    設計中用到了GTP_DUAL,利用questasim仿真。Simulation時報錯,說找不到GTP_DUAL_fast.v這個文件。在xilinx的安裝目錄下mti文件中搜索到
    發表于 08-30 16:04

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

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

    VCS仿真卡住,為什么無法生成verdi波形文件?

    在make com編譯成功,terminal卡住了一直沒有反應,這是什么情況有大佬知道嗎?VCS仿真卡住,為什么無法生成verdi波形文件?
    發表于 06-21 08:14

    基于linux系統的VCS使用及仿真說明

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

    基于linux系統實現的vivado調用VCS仿真教程

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

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

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

    基于FPGA的仿真如何工作

    工程師更廣泛地理解基于FPGA的仿真,因為工程師習慣于使用FPGA進行設計。對基于處理器的仿真器的理解不太了解,而且有大量錯誤信息的例子比比皆是。本文將嘗試消除解釋基于處理器的仿真如
    的頭像 發表于 09-14 12:54 ?1w次閱讀
    基于FPGA的<b class='flag-5'>仿真如</b>何工作

    SpinalHDL運行VCS+Vivado相關仿真

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

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

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

    淺談VCS的兩種仿真flow

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

    使用Vivado調用questasim仿真報錯的原因及其解決辦法

    有一天使用Vivado調用questasim(modelsim估計也一樣),仿真報錯
    的頭像 發表于 05-08 17:12 ?2126次閱讀

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

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

    如何在EDA工具中屏蔽冗余違例信息

    在進行數字電路后仿真時,經常會遇到很多時序為例,通常這些違例都是由網表中大量的時序檢查報出的。這些常見的時序檢查系統任務如下表所示:
    的頭像 發表于 08-19 10:01 ?855次閱讀

    Questasim與Visualizer的livesim仿真如何啟動呢?

    Live-Simulation (live-sim)模式允許Visualizer調試環境與Questasim進行交互操作,此模式將Visualizer GUI與Questasim仿真相結合,因此可以在線調試當前
    的頭像 發表于 10-10 11:33 ?356次閱讀
    <b class='flag-5'>Questasim</b>與Visualizer的livesim<b class='flag-5'>仿真如</b>何啟動呢?
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>