日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > > 處芯積律

本文是一篇DVCON Presentation-"Parameterize Like a Pro: Handling Parameterized RTL in your UVM Testbench"的閱讀記錄,希望能對后續(xù)的驗證有所幫助。

參數(shù)化設(shè)計

參數(shù)化的設(shè)計代碼和驗證組件具有一定的靈活性:

  1. 設(shè)計模塊常使用參數(shù)化,比如FIFO深度,總線寬度等

  2. 驗證組件支持不同的通道數(shù)等

參數(shù)化的"水平"復(fù)用:

  1. 同一個RTL代碼可以在不同的項目中交付使用

  2. 相同的驗證代碼適配不同的項目

參數(shù)化的代碼需要在靈活性和復(fù)雜性之間做出平衡,而且高度參數(shù)化代碼的驗證是一個非常具有挑戰(zhàn)性的工作。

參數(shù)化的"ripple effect"

在驗證平臺的設(shè)計中,參數(shù)化class常用來提升驗證組件的復(fù)用性,如果使用不當(dāng),會存在 "ripple effect":使用參數(shù)化設(shè)計class時,在class的定義和化時,均需要進行參數(shù)傳遞。當(dāng)參數(shù)個數(shù)增多時,會使得代碼變得臃腫,代碼的簡潔性和可讀性變差。

因此原文中,作者不推薦在驗證環(huán)境中使用參數(shù)化class的設(shè)計。而是采取uvm harness,參數(shù)信息提取和pairwise測試等手段,提升參數(shù)化RTL驗證的效率:

  1. 避免參數(shù)的ripple efect問題

  2. 保持tb和rtl參數(shù)同步

  3. 不同的RTL參數(shù),tb自動化適配

  4. 更有效利用驗證時間

TB和ENV連接:UVM harness

UVM harness的介紹,可參見:UVM harness:可復(fù)用的interface連接方法
這里給出使用UVM harness后的示意圖:

此處的方法和UVM harness的思路相同,實現(xiàn)上略微有些差異,UVM harness中使用的是bind interface to modules,此處使用的是bind module to modules。

RTL參數(shù)信息提取和傳遞

文中也提到自動化提取參數(shù)信息的幾個出發(fā)點:

  1. 避免驗證平臺中大量使用ifdef的宏定義

  2. 簡化不同參數(shù)驗證下的功能覆蓋率合并

  3. 減少DV工程師的工作量,TB的可讀性

主要使用兩個手段:

  1. 在UVM harness中收集RTL參數(shù)信息

  2. 使用UVM config db向驗證環(huán)境中傳遞參數(shù)信息

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

在此給出主要的編碼截圖:

參數(shù)隨機優(yōu)化

對于參數(shù)化的RTL, 當(dāng)參數(shù)個數(shù)增多時,很難在有限時間內(nèi)完全遍歷參數(shù)的組合場景。此處涉及兩個問題:

  1. 需要隨機出所有參數(shù)組合的RTL規(guī)格

  2. 針對某一個具體的隨機規(guī)格,需要完成驗證完備性的確認

因此文中使用pairwise的方法來代替全組合場景的測試。pairwise保證覆蓋任一對參數(shù)之間的組合,而不是參數(shù)間的全組合。即:for every pair of variables, test every combination of that pair。
pairwise的思路在軟件測試中經(jīng)常被使用,它基于兩個假設(shè):

  1. 眾多參數(shù)中的每個參數(shù)維度都是正交的

  2. 73%的缺陷是由單因子或2因子相互作用產(chǎn)生的

有興趣的可以閱讀文末的相關(guān)文章鏈接。原文中作者采用基于systemverilog的nwise方法產(chǎn)生參數(shù)組合的測試集,在此不再贅述。

參考閱讀鏈接:

  1. 原文鏈接:https://dvcon-proceedings.org/document/parameterize-like-a-pro-handling-parameterized-rtl-in-your-uvm-testbench/

  2. UVM harness:https://mp.weixin.qq.com/s/oYoog-vpkKPCeMH4QXQdOA

  3. is_active的復(fù)用:https://mp.weixin.qq.com/s/VY_9rwB1dkVW6AR4gfB2hA

  4. 基于模型的測試設(shè)計方法(PICT,pairwise):https://mp.weixin.qq.com/s/kTc4FCSkqVb0NAIOteiNyQ

  5. is your testing N-wise or Unwise:https://dvcon-proceedings.org/document/is-your-testing-n-wise-or-unwise-pairwise-and-n-wise-patterns-in-systemverilog-for-efficient-test-configuration-and-stimulus/

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
關(guān)閉