多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內(nèi)最全IT社區(qū)平臺 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當前位置:首頁 > 互聯(lián)網(wǎng) > SVA(system verilog assertions)基礎(chǔ)

SVA(system verilog assertions)基礎(chǔ)

來源:程序員人生   發(fā)布時間:2014-11-12 08:16:31 閱讀次數(shù):5679次

1甚么是斷言:

  斷言就是在摹擬進程中根據(jù)我們事前安排好的邏輯是否是產(chǎn)生了,如果產(chǎn)生斷言成功,否則斷言失敗。

2斷言的履行分為:豫備(preponed)視察(observed)響應(yīng)(reactive).

3斷言的分類:并發(fā)斷言(基于時鐘)和即時斷言(基于語義)。

4SVA(system Verilogassertions):塊的建立:

序列:

  Sequencename_of_sequence;

    <test expression>

Endsequence

 

Property name _of_ property

 <test expression>

Or

<sequence>

Endproperty

 

Assertions _name: assert property (property_name) ortest_expression;

履行塊:

Assertion_name:

      Assertproperty(property_name)

         <success message>

      Else

          <fail message>

注:保持序列獨立于時鐘,屬性中定義時鐘是好的編碼風(fēng)格。

5 SVA檢測器的步驟:

建立布爾表達式->建立序列表達式->建立屬性->斷言屬性;

6經(jīng)常使用語句及函數(shù):

 $rose():檢測信號上升沿

 $fell(): 檢測信號降落沿

 $stable(); 檢測信號是不是穩(wěn)定。

  ##n:表示延遲N個時鐘周期。

 ##[n1:n2]:延時在n1到n2個時鐘周期以內(nèi)。

 ##[n1:$]:延時在n1到無窮個時鐘周期以內(nèi)。

  not:檢測屬性不為真的情況(制止屬性)

  |->:如果先行算子匹配在同1個時鐘周期檢測后續(xù)算子

 |=>:如果先行算子匹配在下1個時鐘周期檢測后續(xù)算子

 ended: 以序列的結(jié)尾作為多個序列的連接點

  xx?xx:xx:問號表達式與c相同。

 `define true 1:利用true表達式可實現(xiàn)序列延時n個周期。

 $past(signal_name, number of clock cycles,[gating signal]):用來檢測n個時鐘周期之前邏輯表達式的值。

  Signalor sequence [*n] 連續(xù)重復(fù)

  Signal[->n]:跟隨重復(fù)(在其后必須有1個信號使得最后1次重復(fù)有效產(chǎn)生在其后邏輯產(chǎn)生之前的時鐘周期)。

  Signal[=n]:非連續(xù)重復(fù),重復(fù)次數(shù)為n

  and: 兩個序列必須有相同的起始點。

  intersect:兩個序列必須在相同時刻開始并且結(jié)束于同1時刻。

  or:其中1個序列成功便可。

  first_match:and or的序列中指定了時間窗,便可能同1檢驗具有多個匹配的情況。first_match確保只是用第1次序列匹配。

  throughout:(expression) throughout (sequence definition)保證某些條件在檢測進程中1直為真。

  within:seq1 within seq2。seq1序列的檢測必須包括在seq2的起始點和結(jié)束點。

 內(nèi)建系統(tǒng)函數(shù):

   $onehot(expression):在任意給定的時鐘沿,表達式只有1位為高。

   $onehot0(expression):有1位或沒有位為高。

   $isunknown(expression):檢查表達式的任何位是不是為x或z。

   $countones(expression):計算向量中為高的位的數(shù)量。

disable iff (expression)  <property definition>: 當某些條件為真時則不進行檢測。

matched: 可以用來檢測第1個子序列的結(jié)束點。

expect:屬性成功的檢驗

<cover_name>: cover property (property_name):cover會檢測序列的:被嘗試檢測次數(shù);屬性成功次數(shù);屬性失敗次數(shù);屬性空成功次數(shù)。

 

71個例子:

 sequences32a;

   @(posedgeclk)

     ((!a&&!b) ##1 (c[->3]) ##1 (a&&b)); //信號a和信號b均為低電平,經(jīng)過1個時鐘的延時后檢測信號c是不是連續(xù)出現(xiàn)3次高電平,且c最后1次為高電平時,經(jīng)過1個時鐘延時信號a和信號b均為高電平。

endsequence

 sequences32b;

   @(posedgeclk)

     $fell(start) ##[5:10] $rose(start); //從start的降落沿開始,經(jīng)過5⑴0個時鐘周期start出現(xiàn)上升沿。即start保持低電平5⑴0個時鐘周期。

endsequence

 

sequence s32;

   @(posedgeclk)

     s32a within s32b; //序列s32a 包括在 s32b中,即序列s32b的起始點和結(jié)束點包括s32a的起始點和結(jié)束點

endsequence

 

property p32;

   @(posedgeclk)

     $fell(start) |-> s32;//在start的降落沿立即檢測s32.

endproperty

 

a32: assert property(p32);

 

生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對您的學(xué)習(xí)有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 亚洲性夜 | 俺去在线| 亚洲一区二区三区不卡视频 | 黄色wwwcom | 激情综合婷婷丁香六月花 | 亚洲自拍图片区 | 亚洲三级色 | 小说区图片区亚洲 | 日韩精品一区二区三区视频网 | 亚洲国产精品久久久久久网站 | 在线视频亚洲 | 中文在线观看www | 国产三级观看久久 | 天堂在线精品 | 3344成年站福利在线视频免费 | 日韩一区二三区无 | 3www黄| 午夜三级理论在线观看视频 | 精品的一区二区三区 | 国产一区二区免费不卡在线播放 | 免费观看又污又黄网站日本 | 最近最新中文字幕高清免费 | 欧美理伦视频 | 性欧美video视频另类 | 18videosex性加拿大 | 久久精品伊人网 | 在线观看日本一区 | 亚洲天堂日韩在线 | 波多野结衣视频一区二区 | 亚洲国产精品综合久久20 | 一区二区三区视频在线播放 | 日本二本三本二区 | 偷拍区小说区图片区另类呻吟 | 交专区videossex | 亚洲最大在线视频 | 日本美女影院 | 免费观看一级欧美大 | 羞羞免费网站在线 | 午夜影院在线视频 | 欧美日本综合一区二区三区 | 亚洲人成在线观看男人自拍 |