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

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

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

systemverilog隨機(jī)約束implication的概率分析

sanyue7758 ? 來(lái)源:驗(yàn)證芯發(fā)現(xiàn) ? 2023-05-04 18:24 ? 次閱讀

在此我們以綠皮書(shū)中的例子為說(shuō)明。

rand bit x;
rand bit[1:0] y;

without order, solve before的概率分布

在此設(shè)計(jì)三種不同的隨機(jī)先后順序,分析x和y取值的其概率分布。

1. without order:

8503e39c-e6d0-11ed-ab56-dac502259ad0.png

在x和y互相耦合的約束下,{x,y}的合法取值共有5種,每種取值的概率分別為1/5。

850d84ba-e6d0-11ed-ab56-dac502259ad0.png

因此,x=0的取值概率為:0.2,y=0的取值概率為:0.2+0.2=0.4,y=1,2,3的取值概率都是0.2。這種分析方式也是符合SV語(yǔ)法手冊(cè)的說(shuō)明,參見(jiàn)SV語(yǔ)法手冊(cè)第18.5.10小節(jié)的說(shuō)明。

注:這種概率的分布和綠皮書(shū)中的分析并不相同,這是由于綠皮書(shū)中采用vcs仿真器不同版本的差異造成的。在較新的vcs版本中,有ntb_solver_mode仿真選項(xiàng),在設(shè)置ntb_solver_mode=1時(shí),可以得到綠皮書(shū)中的結(jié)果;ntb_solver_mode=2或者使用默認(rèn)設(shè)置,得到的就是上面的分析結(jié)果。

2. solve x before y:

85240a32-e6d0-11ed-ab56-dac502259ad0.png

solve-before并沒(méi)有改變合法解的空間,只是改變了概率分布,由于x先于y求解,因此x的隨機(jī)不受y取值的影響,其概率分布如下:

852b441e-e6d0-11ed-ab56-dac502259ad0.png

因此,x=0和1的取值概率都是0.5,y=0的取值概率為:0.5+0.125=0.625,其余取值概率都為0.125。

3. solve y before x:

853913a0-e6d0-11ed-ab56-dac502259ad0.png

和第2點(diǎn)類(lèi)似,概率分布如下:

8547876e-e6d0-11ed-ab56-dac502259ad0.png

因此,y的取值是均勻分布,都是0.25,x=0的取值概率都是0.125,x=1的取值概率為:0.25*3+0.25*0.5=0.875。

上述三種約束,使用vsim仿真,提取x和y的取值概率分布如下:

85546d94-e6d0-11ed-ab56-dac502259ad0.png

因此,無(wú)論是選擇哪一種約束順序,由于x和y之間存在耦合,二者的取值概率都不會(huì)同時(shí)滿足各自的均勻分布,即x=0/1:0.5和y=0,1,2,3:0.25不能同時(shí)出現(xiàn)。

進(jìn)一步,如果上述的約束中,如果指定了x或者y的概率分布,結(jié)果又會(huì)如何?

指定x的概率分布:without order, solve before的差異分析

添加x的dist概率分布,分別對(duì)without order,solve_before方式進(jìn)行測(cè)試。

without order:

85618f7e-e6d0-11ed-ab56-dac502259ad0.png

solve x before y:

85735e5c-e6d0-11ed-ab56-dac502259ad0.png

solve y before x:

857f0374-e6d0-11ed-ab56-dac502259ad0.png

測(cè)試結(jié)果如下:

858b2046-e6d0-11ed-ab56-dac502259ad0.png

上表實(shí)測(cè)結(jié)果的理論分析值如下:

85a9df90-e6d0-11ed-ab56-dac502259ad0.png

從中可以看出:

(1)在without order和solve x before y條件下,x的dist概率分布會(huì)得到滿足;

(2)在solve y before x的條件下,優(yōu)先滿足solve before順序,y是均勻分布;

指定y的概率分布:without order, solve before的差異分析

添加x的dist概率分布,分別對(duì)without order,solve_before方式進(jìn)行測(cè)試。

without order:

85b764ee-e6d0-11ed-ab56-dac502259ad0.png

solve x before y:

85c229ce-e6d0-11ed-ab56-dac502259ad0.png

solve y before x:

85cf7278-e6d0-11ed-ab56-dac502259ad0.png

測(cè)試結(jié)果如下:

85db6862-e6d0-11ed-ab56-dac502259ad0.png

上表實(shí)測(cè)結(jié)果的理論分析值如下:

85ed3ff6-e6d0-11ed-ab56-dac502259ad0.png

從中可以看出:

(1)在without order和solve y before x條件下,y的dist概率分布會(huì)得到滿足;

(2)在solve x before y的條件下,優(yōu)先滿足solve before順序,x是均勻分布;

同時(shí)指定x和y的概率分布:without order, solve before的差異分析

添加x的dist概率分布,分別對(duì)without order,solve_before方式進(jìn)行測(cè)試。

without order:

85fbde44-e6d0-11ed-ab56-dac502259ad0.png

solve x before y:

860ad700-e6d0-11ed-ab56-dac502259ad0.png

solve y before x:

8622d198-e6d0-11ed-ab56-dac502259ad0.png

測(cè)試結(jié)果如下:

86377198-e6d0-11ed-ab56-dac502259ad0.png

上表實(shí)測(cè)結(jié)果的理論分析值如下:

8648d03c-e6d0-11ed-ab56-dac502259ad0.png

從中可以看出:

(1)solve before 仍會(huì)優(yōu)先得到滿足;

(2)在同時(shí)指定dist概率分布時(shí),without order的概率理論值分析方法暫時(shí)沒(méi)有確定,同時(shí)也沒(méi)有和測(cè)試值吻合。

總的來(lái)看,使用->或者if-else時(shí),參數(shù)的概率分布會(huì)變得復(fù)雜且不易理解,尤其涉及到多條件蘊(yùn)含時(shí),某些參數(shù)的概率分布很難做出預(yù)期,因此更加需要后續(xù)的功能覆蓋率加以分析,找出不合理的約束。






審核編輯:劉清

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

    關(guān)注

    14

    文章

    1008

    瀏覽量

    83441
  • Verilog
    +關(guān)注

    關(guān)注

    28

    文章

    1333

    瀏覽量

    109718

原文標(biāo)題:systemverilog 隨機(jī)約束implication的概率分析

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

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    概率隨機(jī)數(shù)生成【子模塊】

    本帖最后由 ZHZJK 于 2014-1-7 17:04 編輯 你還在用系統(tǒng)自帶的隨機(jī)數(shù)生成函數(shù)嗎你還在為模擬數(shù)值虛假而煩惱嗎而個(gè)人編寫(xiě)了一個(gè)按照概率生成的隨機(jī)數(shù)子模塊將會(huì)解決這一系列問(wèn)題它將
    發(fā)表于 12-31 16:49

    設(shè)計(jì)驗(yàn)證中的隨機(jī)約束

    隨機(jī)約束在現(xiàn)代集成電路驗(yàn)證中已得到國(guó)際IC 設(shè)計(jì)業(yè)界的普遍認(rèn)可,并逐漸開(kāi)始普及。與傳統(tǒng)的定向測(cè)試比較,它在驗(yàn)證效率、驗(yàn)證覆蓋率等方面具有諸多優(yōu)勢(shì)。最新公布的Sys
    發(fā)表于 12-14 09:54 ?13次下載

    M序列偽隨機(jī)碼在測(cè)距回答概率控制中的應(yīng)用

    摘要:通過(guò)對(duì)機(jī)載測(cè)距詢問(wèn)器檢測(cè)中測(cè)距回答概率控制的工作特性的分析,提出一種基于m序列偽隨機(jī)碼的具有可設(shè)定測(cè)距回答概率功能及隨機(jī)回答特性的測(cè)距
    發(fā)表于 06-20 15:07 ?1168次閱讀
    M序列偽<b class='flag-5'>隨機(jī)</b>碼在測(cè)距回答<b class='flag-5'>概率</b>控制中的應(yīng)用

    添加時(shí)序約束的技巧分析

    一般來(lái)講,添加約束的原則為先附加全局約束,再補(bǔ)充局部約束,而且局部約束比較寬松。其目的是在可能的地方盡量放松約束,提高布線成功
    發(fā)表于 11-25 09:14 ?2522次閱讀

    基于概率隨機(jī)裁剪的圖像縮放算法

    為提高圖像縮放的速度,提出一種結(jié)合閾值學(xué)習(xí)與依概率隨機(jī)裁剪的快速內(nèi)容感知圖像縮放算法,通過(guò)計(jì)算圖像的重要度圖,利用徑向基函數(shù)(RBF, radial basis function)神經(jīng)網(wǎng)絡(luò)進(jìn)行閾值
    發(fā)表于 01-17 11:14 ?1次下載
    基于<b class='flag-5'>概率</b><b class='flag-5'>隨機(jī)</b>裁剪的圖像縮放算法

    基于CNN與約束概率矩陣分解的推薦算法

    基于CNN與約束概率矩陣分解的推薦算法
    發(fā)表于 06-17 16:36 ?7次下載

    概率統(tǒng)計(jì)與隨機(jī)過(guò)程期末試卷及答案下載

    概率統(tǒng)計(jì)與隨機(jī)過(guò)程期末試卷及答案下載
    發(fā)表于 09-06 16:12 ?0次下載

    如何利用SystemVerilog仿真生成隨機(jī)數(shù)

    采用SystemVerilog進(jìn)行仿真則更容易生成隨機(jī)數(shù),而且對(duì)隨機(jī)數(shù)具有更強(qiáng)的可控性。對(duì)于隨機(jī)變量,在SystemVerilog中可通過(guò)r
    的頭像 發(fā)表于 10-30 10:33 ?1w次閱讀
    如何利用<b class='flag-5'>SystemVerilog</b>仿真生成<b class='flag-5'>隨機(jī)</b>數(shù)

    簡(jiǎn)述SystemVerilog隨機(jī)約束方法

    上一篇文章介紹了SystemVerilog的各種隨機(jī)化方法,本文將在其基礎(chǔ)上引入SystemVerilog隨機(jī)約束方法(constrain
    的頭像 發(fā)表于 01-21 17:03 ?1873次閱讀

    一些有趣的數(shù)組相關(guān)的SystemVerilog約束

    我們?cè)诠ぷ髦谐3?huì)針對(duì)數(shù)組施加各式的約束,下面列舉一下有趣的Systemverilog數(shù)組約束示例。
    的頭像 發(fā)表于 03-08 13:12 ?838次閱讀

    SystemVerilog中“軟約束”與“硬約束”的應(yīng)用示例

    示例中采用的是“硬約束”,因?yàn)槎x在類(lèi)中的約束隨機(jī)時(shí)指定的內(nèi)嵌約束“矛盾”,所以導(dǎo)致約束解析器解析隨機(jī)
    發(fā)表于 03-15 16:56 ?4113次閱讀

    列舉一下有趣的Systemverilog數(shù)組約束示例

    上面是最先想到的寫(xiě)法,但是會(huì)報(bào)錯(cuò),因?yàn)镾V約束語(yǔ)法不允許使用size()或任何其他隨機(jī)值作為索引。
    的頭像 發(fā)表于 05-04 17:35 ?821次閱讀

    一些有趣的數(shù)組相關(guān)的SystemVerilog約束

    我們?cè)诠ぷ髦谐3?huì)針對(duì)數(shù)組施加各式的約束,下面列舉一下有趣的**Systemverilog數(shù)組約束**示例
    的頭像 發(fā)表于 05-30 11:13 ?638次閱讀

    SystemVerilog隨機(jī)約束方法

    上一篇文章《暗藏玄機(jī)的SV隨機(jī)化》介紹了SystemVerilog的各種隨機(jī)化方法,本文將在其基礎(chǔ)上引入SystemVerilog隨機(jī)
    的頭像 發(fā)表于 09-24 12:15 ?1213次閱讀

    SV約束隨機(jī)化總結(jié)

    constraint 約束隨機(jī)化類(lèi)中的變量 在main_phase 之前就已經(jīng)提前產(chǎn)生一個(gè)變量的隨機(jī)值。 用法:一般在類(lèi)中定義一個(gè)rand 類(lèi)型的變量, 然后根據(jù)需求寫(xiě)約束
    的頭像 發(fā)表于 12-14 14:30 ?628次閱讀
    SV<b class='flag-5'>約束</b><b class='flag-5'>隨機(jī)</b>化總結(jié)