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

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

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

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

sanyue7758 ? 來源: 硅芯思見 ? 2023-08-19 10:01 ? 次閱讀

在進(jìn)行數(shù)字電路仿真時(shí),經(jīng)常會(huì)遇到很多時(shí)序?yàn)槔?,通常這些違例都是由網(wǎng)表中大量的時(shí)序檢查報(bào)出的。這些常見的時(shí)序檢查系統(tǒng)任務(wù)如下表所示:

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

因?yàn)樵诜抡娴倪^程中,有些報(bào)出的違例我們是不關(guān)心的,這些信息的大量出現(xiàn)可能會(huì)淹沒我們真正需要觀測(cè)的信息,為此需要在仿真時(shí)講這些冗余的信息屏蔽掉。針對(duì)大家經(jīng)常使用的NCSIM、VCS和ModelSim(QuestaSim),下文將說明如何在這兩種EDA工具中屏蔽冗余的違例信息。

1 NCSIM

屏蔽使用的命令格式:

% irun-tfile myfile.tfile[other_options] source_files

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

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

【示例】*.tfile中內(nèi)容格式

PATH top.foo -tcheck // 屏蔽所有關(guān)于foo的時(shí)序檢查

PATH top.foo$setup $hold-tcheck // 屏蔽所有關(guān)于foo的setup和hold時(shí)序檢查

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

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

2 VCS

命令格式如下:

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

tcheck -query instance | port

上述命令使用時(shí)需要注意以下幾點(diǎn):

1>在simv的option中,即 % ./simv -ucli run.tcl,其中run.tcl中增加需要屏蔽的信號(hào),將tcheck中的內(nèi)容增加的run.tcl中;

2>該命令僅對(duì)Verilog/SystemVerilog使用;

3>該命令使用時(shí),待檢測(cè)的源代碼必須包括時(shí)序檢查系統(tǒng)任務(wù),否則將會(huì)產(chǎn)生warning信息;

上述命令格式中使用的相關(guān)參數(shù)的說明如下表所示。

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

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

tcheck {top_tb.C40010001} WIDTH -msg -disable

#對(duì)top_tb.C40010001不進(jìn)行WIDTH時(shí)序檢查,即屏蔽掉top_tb.C40010001的WIDTH檢查

tcheck {top_tb.C40010001} -query

#顯示對(duì)top_tb.C40010001的時(shí)序檢查信息

3 ModelSim(QuestaSim)

命令格式如下:

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

上述命令格式中使用的相關(guān)參數(shù)的說明如下表所示。

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

【示例】

tcheck_set top_tb.u1.u2 “(WIDTH (negedge clk))”O(jiān)FF

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

% 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工具時(shí),因?yàn)椴煌墓ぞ咛峁┑穆窂讲煌诰唧w使用時(shí),一定要使用對(duì)應(yīng)的工具獲得該工具可識(shí)別的路徑信息。

審核編輯:湯梓紅

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

    關(guān)注

    50

    文章

    3972

    瀏覽量

    132967
  • eda
    eda
    +關(guān)注

    關(guān)注

    71

    文章

    2654

    瀏覽量

    172181
  • 數(shù)字電路
    +關(guān)注

    關(guān)注

    193

    文章

    1579

    瀏覽量

    80181
  • 時(shí)序
    +關(guān)注

    關(guān)注

    5

    文章

    370

    瀏覽量

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

    關(guān)注

    0

    文章

    78

    瀏覽量

    9537

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

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

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    檢測(cè)內(nèi)存泄漏和內(nèi)存違例,Valgrind不可少!

    Valgrind可以檢測(cè)內(nèi)存泄漏和內(nèi)存違例,但是用Valgrind生成的日志信息結(jié)合kcachegrind就可以查看C程序的執(zhí)行線路圖,調(diào)用時(shí)間,是做性能優(yōu)化和查看代碼的非常好的工具
    的頭像 發(fā)表于 05-07 08:45 ?6296次閱讀
    檢測(cè)內(nèi)存泄漏和內(nèi)存<b class='flag-5'>違例</b>,Valgrind不可少!

    robei EDA簡(jiǎn)介Robei可視化EDA工具

    作者丨Robei君? 圖片 | Robei 沒有EDA,就沒有芯片,EDA是造芯的工具。 如果沒有EAD軟件,可能全球所有的芯片設(shè)計(jì)公司都得停擺,代工廠在進(jìn)行工藝研發(fā)與優(yōu)化時(shí)也將無工具
    發(fā)表于 01-05 14:20 ?6451次閱讀
    robei <b class='flag-5'>EDA</b>簡(jiǎn)介Robei可視化<b class='flag-5'>EDA</b><b class='flag-5'>工具</b>

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

    在進(jìn)行數(shù)字電路后仿真時(shí),經(jīng)常會(huì)遇到很多時(shí)序?yàn)槔?,通常這些違例都是由網(wǎng)表中大量的時(shí)序檢查報(bào)出的。
    的頭像 發(fā)表于 01-03 09:43 ?1987次閱讀

    EDA工具手冊(cè)

    EDA工具手冊(cè). Cadence 軟件是我們公司統(tǒng)一使用的原理圖設(shè)計(jì)、PCB 設(shè)計(jì)、高速仿真、自動(dòng)布線的EDA 工具。本篇Cadence 使用手冊(cè)是一本基于Allegro SPB V
    發(fā)表于 03-11 15:11 ?0次下載

    多種EDA工具的FPGA協(xié)同設(shè)計(jì)

    摘 要:在FPGA開發(fā)的各個(gè)階段,市場(chǎng)為我們提供了很多優(yōu)秀的EDA工具。面對(duì)眼花繚亂的EDA工具,如何充分利用各種工具的特點(diǎn),并規(guī)劃好各種
    發(fā)表于 06-20 10:51 ?731次閱讀

    IC設(shè)計(jì)Accellera先進(jìn)庫格式語言與EDA工具的結(jié)合

    IC設(shè)計(jì)Accellera先進(jìn)庫格式語言與EDA工具的結(jié)合應(yīng)用 先進(jìn)庫格式(ALF)是一種提供了庫元件、技術(shù)規(guī)則和互連模型的建模語言,不同抽象等級(jí)的ALF模型能被EDA同時(shí)用于IC
    發(fā)表于 12-26 14:43 ?681次閱讀
    IC設(shè)計(jì)<b class='flag-5'>中</b>Accellera先進(jìn)庫格式語言與<b class='flag-5'>EDA</b><b class='flag-5'>工具</b>的結(jié)合

    Windows冗余清理工具

    電子發(fā)燒友網(wǎng)站提供《Windows冗余清理工具.exe》資料免費(fèi)下載
    發(fā)表于 06-03 14:21 ?1次下載

    EDA設(shè)計(jì)流程及其工具

    EDA設(shè)計(jì)流程及其工具
    發(fā)表于 12-11 23:38 ?0次下載

    什么是EDA工具?目前全球EDA行業(yè)的現(xiàn)狀是什么?

    EDA公司以賣EDA工具license費(fèi)作為主要的商業(yè)模式。以某家EDA公司的PnR工具為例,一套license三年的使用費(fèi)大約為100萬美
    的頭像 發(fā)表于 04-26 15:23 ?3.9w次閱讀

    EDA的設(shè)計(jì)仿真工具——EasyEDA

    目前國(guó)內(nèi)電子工程師使用的EDA設(shè)計(jì)工具主要還是以國(guó)外的設(shè)計(jì)工具為主,顯然,國(guó)內(nèi)EDA市場(chǎng)已被高度壟斷。其實(shí)早在2014年開始,國(guó)內(nèi)就已經(jīng)誕生了一款專為國(guó)人的使用習(xí)慣研發(fā)的
    發(fā)表于 07-09 15:47 ?3437次閱讀

    Vivado時(shí)序案例分析之解脈沖寬度違例

    脈沖寬度違例 - 高脈沖寬度違例 如需了解脈沖寬度違例的詳情,請(qǐng)參閱報(bào)告時(shí)序匯總(Report Timing Summary) 的TPWS部分。 最嚴(yán)重的脈沖寬度違例在報(bào)告
    的頭像 發(fā)表于 11-19 13:48 ?5336次閱讀
    Vivado時(shí)序案例分析之解脈沖寬度<b class='flag-5'>違例</b>

    視頻光流去除冗余信息的動(dòng)作預(yù)測(cè)方法

    近年來使用光流作為輸入特征的基于深度學(xué)習(xí)的動(dòng)作預(yù)測(cè)方法逐漸成汋主流,但是光流由于環(huán)境因素等影響,極易引入無關(guān)的冗余信息,從而降低動(dòng)作預(yù)測(cè)的精度,而現(xiàn)有方法并沒有考慮到光流冗余
    發(fā)表于 05-12 11:13 ?4次下載

    EDA工具的發(fā)展特征

    、第五的位置。近三年來,在優(yōu)勢(shì)工具的鞏固下,在2020年全球72.3億美元的市場(chǎng),前五大EDA工具企業(yè)控制了約85%市場(chǎng),其中市場(chǎng)前三大企業(yè)的市場(chǎng)占有率近80%。除市場(chǎng)前三的
    發(fā)表于 06-12 10:32 ?3981次閱讀
    <b class='flag-5'>EDA</b><b class='flag-5'>工具</b>的發(fā)展特征

    eda工具的技術(shù)來源 eda技術(shù)的設(shè)計(jì)方法

    EDA工具的技術(shù)來源主要包括描述統(tǒng)計(jì)學(xué)、可視化技術(shù)、探索性數(shù)據(jù)分析方法、數(shù)據(jù)挖掘技術(shù),以及可交互性與用戶界面設(shè)計(jì)。這些技術(shù)和方法的應(yīng)用使得EDA工具成為數(shù)據(jù)分析和發(fā)現(xiàn)
    發(fā)表于 07-21 15:09 ?796次閱讀

    eda工具軟件有哪些 EDA工具有什么優(yōu)勢(shì)

    和預(yù)測(cè)提供基礎(chǔ)。在進(jìn)行EDA過程,使用合適的工具軟件可以顯著提升效率和準(zhǔn)確性。本文將介紹幾種常見的EDA工具軟件。 Python和其相關(guān)的
    的頭像 發(fā)表于 01-30 13:57 ?881次閱讀