国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

[SVA知識(shí)點(diǎn)一]: System verilog 斷言(assert)的基本介紹

這篇具有很好參考價(jià)值的文章主要介紹了[SVA知識(shí)點(diǎn)一]: System verilog 斷言(assert)的基本介紹。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

斷言(System Verilog Assertion 簡(jiǎn)稱SVA)可以被放在RTL設(shè)計(jì)或驗(yàn)證平臺(tái)中,方便在仿真時(shí)查看異常情況。一般在數(shù)字電路設(shè)計(jì)中都要加入斷言,斷言占整個(gè)設(shè)計(jì)的比例應(yīng)不少于30%。斷言通常被稱為序列監(jiān)視器或者序列檢驗(yàn)器,是對(duì)設(shè)計(jì)應(yīng)當(dāng)如何執(zhí)行特定行為的描述,是一種嵌入設(shè)計(jì)檢查。如果檢查的屬性(property)不是我們期望的表現(xiàn),那么在我們期望事件序列出現(xiàn)異常情況,發(fā)生故障時(shí),會(huì)產(chǎn)生警告或者錯(cuò)誤提示。

?

目錄

一、斷言的作用

二、斷言的種類

三、 并發(fā)斷言SVA組成

一、斷言的作用

1.檢查特定條件或事件序列的出現(xiàn)情況。

2.提供功能覆蓋

二、斷言的種類

1.立即斷言(Immediate?Assertions)

立即斷言具有非時(shí)序性特性,作為檢查當(dāng)前仿真時(shí)間的條件,執(zhí)行時(shí)如同過(guò)程語(yǔ)句相當(dāng)于 if else,需要放在過(guò)程塊中,如:initial、always、task、function。

語(yǔ)法:

? ? ? ? labels: assert(expression) action_block;

其中:

? ? ? ? (1)、action_block操作塊在斷言表達(dá)式expression之后立即執(zhí)行;

? ? ? ? (2)、action_block操作塊指定在斷言成功或失敗時(shí)采取什么操作;

? ? ? ? (3)、action_block類型:pass_statement;else fail_statement;

? ? ? ? (4)、labels為斷言名稱;

由于斷言表達(dá)式中所斷言的條件必須為真,因此斷言的失敗將具有與之相關(guān)的“嚴(yán)重”程度。默認(rèn)情況下,斷言失敗的嚴(yán)重程度是一個(gè)error。還可以結(jié)合$fatal/$error/$warning/$info給出不同嚴(yán)重級(jí)別的消息提示,嚴(yán)重等級(jí)依次遞減。

module alu(a,b,c,en)

input a,b;
input en;

output c;
reg a,b;

always @(posedge clk or negedge rst_n)
begin
    if(!rst_n)
    begin
        c <= 0;
    end

    else if(a == b)
    begin
        check_a_and_b assert((a>=5) || (b>=5))  $display("expression evaluates value is true");
        else
            $error("expression evaluates value is false");
    end
end

... ...

endmodule

在a和b發(fā)生變化時(shí),斷言語(yǔ)句被執(zhí)行。

2.并發(fā)斷言(Concurrent? Assertions)?

并發(fā)斷言具有時(shí)序性,通常使用關(guān)鍵詞property用來(lái)區(qū)分立即斷言和并發(fā)斷言。之所以稱之為并發(fā),是由于斷言語(yǔ)句會(huì)與設(shè)計(jì)模塊一同并行執(zhí)行。我們可以認(rèn)為并發(fā)斷言是一個(gè)連續(xù)運(yùn)行的模塊,為整個(gè)仿真過(guò)程檢查信號(hào),因此會(huì)在并發(fā)斷言內(nèi)設(shè)定一個(gè)采樣的時(shí)鐘。

? ? ? ? ?(1)、??并發(fā)斷言僅在有時(shí)鐘周期的情況下出現(xiàn),基于時(shí)鐘周期執(zhí)行;

?????????(2)、? 測(cè)試表達(dá)式是基于所涉及變量的采樣值在時(shí)鐘邊緣進(jìn)行計(jì)算的;

?????????(3)、? 變量的采樣在預(yù)備階段完成,而表達(dá)式的計(jì)算在調(diào)度器的觀察階段完成;

? ? ? ? ?(4)、? 可以在過(guò)程塊、module、interface、program塊內(nèi)定義并發(fā)斷言;

? ? ? ? ?(5)、? 區(qū)分立即斷言和并發(fā)斷言的關(guān)鍵字是property。

語(yǔ)法:

? ? ? ? labels: assert property (判斷條件)

? ? ? ? 舉例:

a_b: assert property(@(posedge clk) not(a && b));

其中:

? ? ? ? (1)、labels為斷言名稱;

? ? ? ? (2)、property(屬性)在每個(gè)時(shí)鐘的上升沿都被效驗(yàn),不論a和b如何變化。

三、 并發(fā)斷言SVA組成

一條SVA并發(fā)斷言可以看成是由四種不同層次的結(jié)構(gòu)組成:

  • 建立布爾表達(dá)式(booleans)
  • 建立序列(sequence)
  • 建立屬性(property)
  • 建立斷言聲明(assertion statements)

systemverilog斷言,SVA知識(shí)點(diǎn),fpga開(kāi)發(fā),硬件工程,macos,python,perl,c++,開(kāi)發(fā)語(yǔ)言

1、布爾表達(dá)式

????????布爾表達(dá)式是構(gòu)成SVA的最基本單元。其一般形式為標(biāo)準(zhǔn)的SystemVerilog的布爾表達(dá)式,它由信號(hào)及其邏輯關(guān)系運(yùn)算符構(gòu)成,用以表示某個(gè)邏輯事件的發(fā)生。

2、序列

? ? ? ? 序列是布爾表達(dá)式在時(shí)間上的組合。在任何設(shè)計(jì)模型中,功能總是由多個(gè)邏輯事件的組合來(lái)表示。這些事件可以是簡(jiǎn)單的同一個(gè)時(shí)鐘邊緣被求值的布爾表達(dá)式,或者是經(jīng)過(guò)幾個(gè)時(shí)鐘周期的求值的事件。

? ? ? ? SVA中用序列(sequence)來(lái)表示這些事件,sequence可以讓斷言易讀,復(fù)用性高。具有以下特性:可以帶參數(shù)、可以在property中調(diào)用、可以使用局部變量、可以定義時(shí)鐘周期。

其基本語(yǔ)法是:

sequence Name_of_Sequence;
    (test expression);
    ......
endsequence

許多序列可以邏輯或者有序地組合起來(lái)生成更復(fù)雜的序列。

3、屬性

? ? ? ? SVA中用屬性(property)來(lái)表示這些復(fù)雜的有序行為。property是比seuence更高一層的單元,也是構(gòu)成斷言最常用的模塊。其中最重要的性質(zhì)是可以在property中使用蘊(yùn)含操作符(|-> |=>)。

其基本語(yǔ)法是:

property Name_of_Property;
    (test expression); or
    (complex sequence expressions)
endproperty

property就是SVA中需要用來(lái)判定的部分,用來(lái)模擬過(guò)程中被驗(yàn)證的單元,它必須在模擬過(guò)程中被斷言來(lái)發(fā)揮作用。

4、斷言

? ? ? ? SVA中用斷言(assert)來(lái)檢查這些屬性。其基本語(yǔ)法是:

assertion_name: assert property(property name)

未完待續(xù)......文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-692310.html

到了這里,關(guān)于[SVA知識(shí)點(diǎn)一]: System verilog 斷言(assert)的基本介紹的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Verilog 高級(jí)知識(shí)點(diǎn)---狀態(tài)機(jī)

    Verilog 高級(jí)知識(shí)點(diǎn)---狀態(tài)機(jī)

    目錄 狀態(tài)機(jī) 1、Mealy 狀態(tài)機(jī) 2、Moore 狀態(tài)機(jī) 3、三段式狀態(tài)機(jī) ? ? ? ? Verilog 是硬件描述語(yǔ)言,硬件電路是并行執(zhí)行的,當(dāng)需要按照流程或者步驟來(lái)完成某個(gè)功能時(shí), 代碼中通常會(huì)使用很多個(gè) if 嵌套語(yǔ)句來(lái)實(shí)現(xiàn),這樣就增加了代碼的復(fù)雜度,以及降低了代碼的可讀性, 這個(gè)時(shí)

    2024年02月09日
    瀏覽(14)
  • FPGA學(xué)習(xí)筆記-知識(shí)點(diǎn)3-Verilog語(yǔ)法1

    FPGA學(xué)習(xí)筆記-知識(shí)點(diǎn)3-Verilog語(yǔ)法1

    按其功能可分為以下幾類: 1) 算術(shù)運(yùn)算符(+,-,×,/,%) 2) 賦值運(yùn)算符(=,=) 3) 關(guān)系運(yùn)算符(,,=,=) 4) 邏輯運(yùn)算符(,||,!) 5) 條件運(yùn)算符( ? :) 6) 位運(yùn)算符(,|,^,,^) 7) 移位運(yùn)算符(,) 8) 拼接運(yùn)算符({ }) 9) 其它 按其所帶操作數(shù)的個(gè)數(shù)運(yùn)算符可分為三種: 1) 單目運(yùn)算符(unary operator):可以帶一個(gè)

    2024年02月06日
    瀏覽(17)
  • 接口測(cè)試基本知識(shí)點(diǎn)

    接口測(cè)試基本知識(shí)點(diǎn)

    系統(tǒng)與系統(tǒng)之間、組件與組件之間、數(shù)據(jù)傳遞交換的通道 按協(xié)議:http、tcp、ip 按語(yǔ)言:C++、java、php 按范圍:系統(tǒng)與系統(tǒng)、內(nèi)部系統(tǒng)與內(nèi)部系統(tǒng)、外部系統(tǒng)與外部系統(tǒng)之間 程序劃分:多個(gè)內(nèi)部程序、內(nèi)部系統(tǒng)與外部系統(tǒng)、模塊與模塊 責(zé)任劃分清晰、縮短研發(fā)周期、可拓性強(qiáng)

    2024年02月11日
    瀏覽(25)
  • 微機(jī)原理(8086基本知識(shí)點(diǎn))

    微機(jī)原理(8086基本知識(shí)點(diǎn))

    一.8086介紹 ? ? 8086是16位的處理器,數(shù)據(jù)總線為16位,地址總線為20位,分為BIU(Bus Interface Unit)與EU(Execution Unit),外部引腳總共40個(gè),左邊從上到下編號(hào)為1~20,右邊從下到上編號(hào)為21~40。 二.8086編程結(jié)構(gòu) 1.通用寄存器 AX(Accumulate Register),BX(Base Register),CX(Count Register)

    2024年02月11日
    瀏覽(20)
  • Selenium WebDriver基本知識(shí)點(diǎn)

    Selenium WebDriver基本知識(shí)點(diǎn)

    2024軟件測(cè)試面試刷題,這個(gè)小程序(永久刷題),靠它快速找到工作了!(刷題APP的天花板)_軟件測(cè)試刷題小程序-CSDN博客 文章瀏覽閱讀2.8k次,點(diǎn)贊85次,收藏12次。你知不知道有這么一個(gè)軟件測(cè)試面試的刷題小程序。里面包含了面試常問(wèn)的軟件測(cè)試基礎(chǔ)題,web自動(dòng)化測(cè)試、

    2024年04月14日
    瀏覽(17)
  • Vue3基本知識(shí)點(diǎn)

    Vue3基本知識(shí)點(diǎn)

    為什么要學(xué)vue3 1、Vue是國(guó)內(nèi) 最火的前端框架 2、Vue3是2020年09月18日正式發(fā)布的 目前以支持Vue3的UI組件庫(kù) 庫(kù)名稱 簡(jiǎn)介 ant-design-vue PC 端組件庫(kù):Ant Design 的 Vue 實(shí)現(xiàn),開(kāi)發(fā)和服務(wù)于企業(yè)級(jí)后臺(tái)產(chǎn)品 arco-design-vue PC 端組件庫(kù):字節(jié)跳動(dòng)出品的企業(yè)級(jí)設(shè)計(jì)系統(tǒng) element-plus PC 端組件庫(kù):

    2024年02月02日
    瀏覽(31)
  • SpringBoot + Vue基本知識(shí)點(diǎn)薈萃

    SpringBoot + Vue基本知識(shí)點(diǎn)薈萃

    Maven是一個(gè)項(xiàng)目管理工具,可以對(duì)Java項(xiàng)目進(jìn)行自動(dòng)化的構(gòu)建和依賴管理 項(xiàng)目構(gòu)建:提供標(biāo)準(zhǔn)的,跨平臺(tái)的自動(dòng)化構(gòu)建項(xiàng)目的方式 依賴管理:方便快捷的管理項(xiàng)目依賴的資源(jar包),避免資源間的版本沖突等問(wèn)題 統(tǒng)一開(kāi)發(fā)結(jié)構(gòu):提供標(biāo)準(zhǔn)的,統(tǒng)一的項(xiàng)目開(kāi)發(fā)結(jié)構(gòu),如下圖所

    2023年04月17日
    瀏覽(54)
  • 搜索引擎的基本原理、算法、用戶畫像及其他相關(guān)知識(shí)點(diǎn)

    作者:禪與計(jì)算機(jī)程序設(shè)計(jì)藝術(shù) 作為一個(gè)互聯(lián)網(wǎng)公司,無(wú)疑需要做好搜索引擎的運(yùn)營(yíng)。每天都要搜索很多信息,如何做好搜索引擎的用戶體驗(yàn),提高用戶的轉(zhuǎn)化率是每家公司的核心競(jìng)爭(zhēng)力。但實(shí)際上,做好搜索引擎運(yùn)營(yíng)也不是一件容易的事情,因?yàn)樗阉饕娴奶匦?、相關(guān)性算

    2024年02月04日
    瀏覽(26)
  • pinia的基本創(chuàng)建和統(tǒng)一創(chuàng)建和解構(gòu)失去響應(yīng)式解決辦法等知識(shí)點(diǎn)

    https://stackblitz.com/github/superBiuBiuMan/pinia_registerWay 不能直接結(jié)構(gòu)賦值 如果直接結(jié)構(gòu)賦值,就像下面一樣,就會(huì)失去響應(yīng)式效果(數(shù)據(jù)變了,視圖依舊不會(huì)更新) 如果確實(shí)需要解構(gòu)賦值,可以使用 storeToRefs https://pinia.vuejs.org/zh/core-concepts/index.html#using-the-store 多次使用依舊是相同的對(duì)象 官

    2024年02月09日
    瀏覽(24)
  • Java面試題:解釋Java的基本數(shù)據(jù)類型及其大小和默認(rèn)值,列舉數(shù)據(jù)類型常見(jiàn)的錯(cuò)誤知識(shí)點(diǎn)

    Java的基本數(shù)據(jù)類型是Java編程語(yǔ)言中用于存儲(chǔ)簡(jiǎn)單值的類型。這些數(shù)據(jù)類型包括整數(shù)類型、浮點(diǎn)類型、字符類型和布爾類型。下面是對(duì)這些基本數(shù)據(jù)類型的詳細(xì)解釋,包括它們的大小和默認(rèn)值,以及一些常見(jiàn)的面試中容易出錯(cuò)的知識(shí)點(diǎn)。 基本數(shù)據(jù)類型及其大小和默認(rèn)值 整型

    2024年04月16日
    瀏覽(39)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包