參數(shù)化設(shè)計(jì)
參數(shù)化的設(shè)計(jì)代碼和驗(yàn)證組件具有一定的靈活性:
設(shè)計(jì)模塊常使用參數(shù)化,比如FIFO深度,總線寬度等
驗(yàn)證組件支持不同的通道數(shù)等
參數(shù)化的"水平"復(fù)用:
同一個(gè)RTL代碼可以在不同的項(xiàng)目中交付使用
相同的驗(yàn)證代碼適配不同的項(xiàng)目
參數(shù)化的代碼需要在靈活性和復(fù)雜性之間做出平衡,而且高度參數(shù)化代碼的驗(yàn)證是一個(gè)非常具有挑戰(zhàn)性的工作。
參數(shù)化的"ripple effect"
在驗(yàn)證平臺(tái)的設(shè)計(jì)中,參數(shù)化class常用來提升驗(yàn)證組件的復(fù)用性,如果使用不當(dāng),會(huì)存在 "ripple effect":使用參數(shù)化設(shè)計(jì)class時(shí),在class的定義和例化時(shí),均需要進(jìn)行參數(shù)傳遞。當(dāng)參數(shù)個(gè)數(shù)增多時(shí),會(huì)使得代碼變得臃腫,代碼的簡(jiǎn)潔性和可讀性變差。

因此原文中,作者不推薦在驗(yàn)證環(huán)境中使用參數(shù)化class的設(shè)計(jì)。而是采取uvm harness,參數(shù)信息提取和pairwise測(cè)試等手段,提升參數(shù)化RTL驗(yàn)證的效率:
避免參數(shù)的ripple efect問題
保持tb和rtl參數(shù)同步
不同的RTL參數(shù),tb自動(dòng)化適配
更有效利用驗(yàn)證時(shí)間
TB和ENV連接:UVM harness
UVM harness的介紹,可參見:UVM harness:可復(fù)用的interface連接方法
這里給出使用UVM harness后的示意圖:

此處的方法和UVM harness的思路相同,實(shí)現(xiàn)上略微有些差異,UVM harness中使用的是bind interface to modules,此處使用的是bind module to modules。
RTL參數(shù)信息提取和傳遞
文中也提到自動(dòng)化提取參數(shù)信息的幾個(gè)出發(fā)點(diǎn):
避免驗(yàn)證平臺(tái)中大量使用ifdef的宏定義
簡(jiǎn)化不同參數(shù)驗(yàn)證下的功能覆蓋率合并
減少DV工程師的工作量,TB的可讀性
主要使用兩個(gè)手段:
在UVM harness中收集RTL參數(shù)信息
使用UVM config db向驗(yàn)證環(huán)境中傳遞參數(shù)信息

核心思路是在UVM harness中使用rtl_info_struct結(jié)構(gòu)體,存儲(chǔ)RTL的參數(shù)取值,并使用uvm_config_db set方法,將rtl_info_struct傳遞至驗(yàn)證環(huán)境中。
驗(yàn)證環(huán)境使用uvm config db get到參數(shù)信息后,可以在SVA、RAL以及功能覆蓋率的收集中使用。細(xì)節(jié)編碼不在此贅述,可以參見文末的原文鏈接。
在此給出主要的編碼截圖:



參數(shù)隨機(jī)優(yōu)化
對(duì)于參數(shù)化的RTL, 當(dāng)參數(shù)個(gè)數(shù)增多時(shí),很難在有限時(shí)間內(nèi)完全遍歷參數(shù)的組合場(chǎng)景。此處涉及兩個(gè)問題:
需要隨機(jī)出所有參數(shù)組合的RTL規(guī)格
針對(duì)某一個(gè)具體的隨機(jī)規(guī)格,需要完成驗(yàn)證完備性的確認(rèn)
因此文中使用pairwise的方法來代替全組合場(chǎng)景的測(cè)試。pairwise保證覆蓋任一對(duì)參數(shù)之間的組合,而不是參數(shù)間的全組合。即:for every pair of variables, test every combination of that pair。
pairwise的思路在軟件測(cè)試中經(jīng)常被使用,它基于兩個(gè)假設(shè):
眾多參數(shù)中的每個(gè)參數(shù)維度都是正交的
73%的缺陷是由單因子或2因子相互作用產(chǎn)生的

審核編輯:劉清
-
RTL
+關(guān)注
關(guān)注
1文章
393瀏覽量
62371 -
UVM
+關(guān)注
關(guān)注
0文章
183瀏覽量
19933 -
SVA
+關(guān)注
關(guān)注
1文章
19瀏覽量
10340 -
FIFO存儲(chǔ)
+關(guān)注
關(guān)注
0文章
103瀏覽量
6283
原文標(biāo)題:參數(shù)化RTL的驗(yàn)證思路:Parameterize Like a Pro
文章出處:【微信號(hào):處芯積律,微信公眾號(hào):處芯積律】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
瞬曜EDA發(fā)布RTL高速仿真器ShunSim,大幅提升超大規(guī)模集成電路驗(yàn)證效率
關(guān)于功能驗(yàn)證、時(shí)序驗(yàn)證、形式驗(yàn)證、時(shí)序建模的論文
【連載視頻教程(十七)】小梅哥FPGA設(shè)計(jì)思想與驗(yàn)證方法視頻教程之使用PLL進(jìn)行設(shè)計(jì)+Verilog參數(shù)化設(shè)計(jì)介紹
Realtek RTL8723BU和RTL8723DU方案參數(shù)對(duì)比-已解決
時(shí)序邏輯等效性的RTL設(shè)計(jì)和驗(yàn)證流程介紹
在SpinalHDL的設(shè)計(jì)中集成現(xiàn)有RTL設(shè)計(jì)(IP)的渠道——BlackBox
怎么解決Conformal做RTL和netlist的形式驗(yàn)證時(shí)綜合優(yōu)化的電路也會(huì)報(bào)不相等?
設(shè)計(jì)復(fù)用的RTL指導(dǎo)原則
參數(shù)化UVM IP驗(yàn)證環(huán)境(上)
RTL8139C RTL8139C-LF RTL8139CL RTL8139CL-LF
RTL8197D RTL8367RB RTL8192ER RTL8812AR應(yīng)用參考原理圖pdf
時(shí)序邏輯等效性的RTL設(shè)計(jì)和驗(yàn)證流程介紹
驗(yàn)證組件配置參數(shù)
面向混合集成電路的數(shù)字化研制目標(biāo)和思路

參數(shù)化RTL的驗(yàn)證思路
評(píng)論