在此我們以綠皮書中的例子為說明。
rand bit x; rand bit[1:0] y;
without order, solve before的概率分布
在此設(shè)計(jì)三種不同的隨機(jī)先后順序,分析x和y取值的其概率分布。
1. without order:
在x和y互相耦合的約束下,{x,y}的合法取值共有5種,每種取值的概率分別為1/5。
因此,x=0的取值概率為:0.2,y=0的取值概率為:0.2+0.2=0.4,y=1,2,3的取值概率都是0.2。這種分析方式也是符合SV語法手冊的說明,參見SV語法手冊第18.5.10小節(jié)的說明。
注:這種概率的分布和綠皮書中的分析并不相同,這是由于綠皮書中采用vcs仿真器不同版本的差異造成的。在較新的vcs版本中,有ntb_solver_mode仿真選項(xiàng),在設(shè)置ntb_solver_mode=1時(shí),可以得到綠皮書中的結(jié)果;ntb_solver_mode=2或者使用默認(rèn)設(shè)置,得到的就是上面的分析結(jié)果。
2. solve x before y:
solve-before并沒有改變合法解的空間,只是改變了概率分布,由于x先于y求解,因此x的隨機(jī)不受y取值的影響,其概率分布如下:
因此,x=0和1的取值概率都是0.5,y=0的取值概率為:0.5+0.125=0.625,其余取值概率都為0.125。
3. solve y before x:
和第2點(diǎn)類似,概率分布如下:
因此,y的取值是均勻分布,都是0.25,x=0的取值概率都是0.125,x=1的取值概率為:0.25*3+0.25*0.5=0.875。
上述三種約束,使用vsim仿真,提取x和y的取值概率分布如下:
因此,無論是選擇哪一種約束順序,由于x和y之間存在耦合,二者的取值概率都不會同時(shí)滿足各自的均勻分布,即x=0/1:0.5和y=0,1,2,3:0.25不能同時(shí)出現(xiàn)。
進(jìn)一步,如果上述的約束中,如果指定了x或者y的概率分布,結(jié)果又會如何?
指定x的概率分布:without order, solve before的差異分析
添加x的dist概率分布,分別對without order,solve_before方式進(jìn)行測試。
without order:
solve x before y:
solve y before x:
測試結(jié)果如下:
上表實(shí)測結(jié)果的理論分析值如下:
從中可以看出:
(1)在without order和solve x before y條件下,x的dist概率分布會得到滿足;
(2)在solve y before x的條件下,優(yōu)先滿足solve before順序,y是均勻分布;
指定y的概率分布:without order, solve before的差異分析
添加x的dist概率分布,分別對without order,solve_before方式進(jìn)行測試。
without order:
solve x before y:
solve y before x:
測試結(jié)果如下:
上表實(shí)測結(jié)果的理論分析值如下:
從中可以看出:
(1)在without order和solve y before x條件下,y的dist概率分布會得到滿足;
(2)在solve x before y的條件下,優(yōu)先滿足solve before順序,x是均勻分布;
同時(shí)指定x和y的概率分布:without order, solve before的差異分析
添加x的dist概率分布,分別對without order,solve_before方式進(jìn)行測試。
without order:
solve x before y:
solve y before x:
測試結(jié)果如下:
上表實(shí)測結(jié)果的理論分析值如下:
從中可以看出:
(1)solve before 仍會優(yōu)先得到滿足;
(2)在同時(shí)指定dist概率分布時(shí),without order的概率理論值分析方法暫時(shí)沒有確定,同時(shí)也沒有和測試值吻合。
總的來看,使用->或者if-else時(shí),參數(shù)的概率分布會變得復(fù)雜且不易理解,尤其涉及到多條件蘊(yùn)含時(shí),某些參數(shù)的概率分布很難做出預(yù)期,因此更加需要后續(xù)的功能覆蓋率加以分析,找出不合理的約束。
審核編輯:劉清
-
仿真器
+關(guān)注
關(guān)注
14文章
1019瀏覽量
83803 -
Verilog
+關(guān)注
關(guān)注
28文章
1351瀏覽量
110154
原文標(biāo)題:systemverilog 隨機(jī)約束implication的概率分析
文章出處:【微信號:處芯積律,微信公眾號:處芯積律】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論