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

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

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

創(chuàng)建約束隨機(jī)測(cè)試目標(biāo)

芯片驗(yàn)證工程師 ? 來源:芯片驗(yàn)證工程師 ? 2023-06-17 14:06 ? 次閱讀

為了實(shí)現(xiàn)驗(yàn)證目標(biāo),測(cè)試用例開發(fā)者需要控制測(cè)試激勵(lì)的生成以覆蓋特定的場(chǎng)景。測(cè)試用例開發(fā)者可以用下面這些方法控制測(cè)試激勵(lì)的創(chuàng)建:

添加約束條件來控制單個(gè)數(shù)據(jù)項(xiàng)。

使用UVM sequences來控制多個(gè)數(shù)據(jù)項(xiàng)的順序。這種方法提供了更多的靈活性和控制。

約束數(shù)據(jù)項(xiàng)

默認(rèn)情況下,sequencers會(huì)生成完全隨機(jī)的數(shù)據(jù)項(xiàng)。測(cè)試用例編寫者可以控制生成的數(shù)據(jù)項(xiàng)數(shù)量,并向數(shù)據(jù)項(xiàng)添加約束。為了約束數(shù)據(jù)項(xiàng),需要:

識(shí)別驗(yàn)證組件中的數(shù)據(jù)項(xiàng)類和它們的字段。

創(chuàng)建一個(gè)數(shù)據(jù)項(xiàng)類的派生,增加或覆蓋默認(rèn)約束。

在測(cè)試用例中,調(diào)整環(huán)境以使用新定義的數(shù)據(jù)項(xiàng)。

使用命令行選項(xiàng)指定測(cè)試用例名稱來運(yùn)行仿真

ebcde712-0c4b-11ee-962d-dac502259ad0.png

ebdb03b6-0c4b-11ee-962d-dac502259ad0.png

數(shù)據(jù)項(xiàng)類的定義

派生類中的幾個(gè)字段來自于DUT規(guī)格。例如,一個(gè)幀(frame)應(yīng)該有一個(gè)payload被發(fā)送到DUT。其他字段的存在是為了幫助測(cè)試用例開發(fā)者控制激勵(lì)數(shù)據(jù)的生成。例如,字段parity_type不被發(fā)送到DUT,但它允許測(cè)試用例開發(fā)者輕松地指定和控制奇偶分布。這樣的控制字段被稱為 "旋鈕knobs"。

驗(yàn)證組件的文檔應(yīng)該列出數(shù)據(jù)項(xiàng)的旋鈕、它們的作用和合法范圍。

數(shù)據(jù)項(xiàng)約束可以來自DUT的規(guī)范,例如一個(gè)合法的幀必須有不等于0的error_bits_c。數(shù)據(jù)項(xiàng)中不同類型的約束對(duì)數(shù)據(jù)項(xiàng)的生成進(jìn)行約束。例如,在約束塊default_parity_type中,奇偶校驗(yàn)位被約束為90%合法(good parity)和10%非法(bad parity)

創(chuàng)建一個(gè)特定的測(cè)試用例

在測(cè)試用例中,用戶可能希望改變數(shù)據(jù)項(xiàng)的生成方式。例如,測(cè)試用例開發(fā)者可能希望有short delays,這可以通過派生一個(gè)新的數(shù)據(jù)項(xiàng)類并根據(jù)需要添加約束或其他類成員來實(shí)現(xiàn)。

ebf1a562-0c4b-11ee-962d-dac502259ad0.png

UVM類庫(kù)的factory機(jī)制可以用來將派生類(short_delay_frame)引入到環(huán)境中。

ec01b182-0c4b-11ee-962d-dac502259ad0.png

調(diào)用factory函數(shù)set_type_override_by_type(),指示環(huán)境使用short-delay幀。有時(shí),測(cè)試用例可能想向某一個(gè)接口發(fā)送特殊的流量,同時(shí)繼續(xù)向其他接口發(fā)送常規(guī)流量。這可以通過在一個(gè)UVM組件中使用set_inst_override_by_type()來實(shí)現(xiàn)。

set_inst_override_by_type("uart_env0.master.sequencer.*",
uart_frame::get_type(), short_delay_frame::get_type());


通配符也可以用來覆蓋一些組件的實(shí)例,例如:

set_inst_override_by_type("uart_env*.master.sequencer.*",
uart_frame::get_type(), short_delay_frame::get_type());

責(zé)任編輯:彭菁

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

    關(guān)注

    8

    文章

    6808

    瀏覽量

    88743
  • 仿真
    +關(guān)注

    關(guān)注

    50

    文章

    4023

    瀏覽量

    133336
  • DUT
    DUT
    +關(guān)注

    關(guān)注

    0

    文章

    189

    瀏覽量

    12309

原文標(biāo)題:創(chuàng)建約束隨機(jī)測(cè)試用例

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

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    怎么創(chuàng)建時(shí)序約束

    我是一個(gè)新鮮的FPGA,當(dāng)我創(chuàng)建時(shí)序約束時(shí),有一些東西錯(cuò)了。NgdBuild:455 - 邏輯網(wǎng)'Adc_Toplevel_Adc1 / Adc_Frm_inst / IntFrmClk_n'有多個(gè)
    發(fā)表于 06-08 10:18

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

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

    如何創(chuàng)建目標(biāo)數(shù)據(jù)庫(kù)

    如何創(chuàng)建目標(biāo)數(shù)據(jù)庫(kù) 在文您將學(xué)習(xí)創(chuàng)建目標(biāo)數(shù)據(jù)庫(kù)和所有與發(fā)起方數(shù)據(jù)庫(kù)不存在依賴關(guān)系的 Service Broker 目標(biāo)對(duì)
    發(fā)表于 03-26 11:54 ?1313次閱讀

    基于約束修補(bǔ)的多目標(biāo)優(yōu)化算法

    針對(duì)傳統(tǒng)的優(yōu)化算法求解多目標(biāo)動(dòng)態(tài)環(huán)境經(jīng)濟(jì)調(diào)度( MODEED)模型時(shí)極難獲得高質(zhì)量的可行解,且收斂速度慢等問題,根據(jù)MODEED模型約束特征,設(shè)計(jì)了一種約束修補(bǔ)策略;然后將該策略嵌入非支配排序算法
    發(fā)表于 01-05 14:31 ?0次下載

    如何為密集的高約束PCB設(shè)計(jì)創(chuàng)建和管理約束

    本視頻將會(huì)概述基本的約束管理概念,并演示如何為密集的高約束 PCB 設(shè)計(jì)創(chuàng)建和管理約束
    的頭像 發(fā)表于 05-17 06:01 ?2036次閱讀
    如何為密集的高<b class='flag-5'>約束</b>PCB設(shè)計(jì)<b class='flag-5'>創(chuàng)建</b>和管理<b class='flag-5'>約束</b>

    如何創(chuàng)建和管理約束密集型、高度約束的PCB設(shè)計(jì)

    這個(gè)視頻概述基本約束管理的概念和演示了如何創(chuàng)建和管理約束密集、高度受限的PCB設(shè)計(jì)。
    的頭像 發(fā)表于 11-07 07:08 ?2685次閱讀

    PADS約束管理系統(tǒng)創(chuàng)建、審查和驗(yàn)證PCB設(shè)計(jì)約束

    墊標(biāo)準(zhǔn)+和墊專業(yè)使用的強(qiáng)大和易于使用的約束管理系統(tǒng)創(chuàng)建、評(píng)審和驗(yàn)證PCB設(shè)計(jì)約束。
    的頭像 發(fā)表于 11-04 07:02 ?1692次閱讀

    如何使用隨機(jī)模擬技術(shù)和神經(jīng)網(wǎng)絡(luò)講解隨機(jī)機(jī)會(huì)約束的規(guī)劃問題

    為更有效地求解隨機(jī)機(jī)會(huì)約束規(guī)劃問題,提出一種基于克隆選擇算法( CSA) 、隨機(jī)模擬技術(shù)及神經(jīng)網(wǎng)絡(luò)的混合智能算法。采用隨機(jī)模擬技術(shù)產(chǎn)生隨機(jī)
    發(fā)表于 11-27 15:02 ?8次下載
    如何使用<b class='flag-5'>隨機(jī)</b>模擬技術(shù)和神經(jīng)網(wǎng)絡(luò)講解<b class='flag-5'>隨機(jī)</b>機(jī)會(huì)<b class='flag-5'>約束</b>的規(guī)劃問題

    高速列車多目標(biāo)約束橫向半主動(dòng)控制算法

    高速列車多目標(biāo)約束橫向半主動(dòng)控制算法
    發(fā)表于 06-29 14:44 ?4次下載

    創(chuàng)建輸入輸出接口時(shí)序約束的竅門

    時(shí)序約束中的 set_input_delay/set_output_delay 約束一直是一個(gè)難點(diǎn),無論是概念、約束值的計(jì)算,還是最終的路徑分析,每一次都要費(fèi)一番腦子。Vivado為方便用戶創(chuàng)
    的頭像 發(fā)表于 08-02 09:54 ?2451次閱讀
    <b class='flag-5'>創(chuàng)建</b>輸入輸出接口時(shí)序<b class='flag-5'>約束</b>的竅門

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

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

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

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

    約束隨機(jī)驗(yàn)證的效果真的比直接用例測(cè)試好嗎?

    當(dāng)介紹uvm驗(yàn)證時(shí)大家肯定都看過上面類似的圖片,以展示受約束隨機(jī)驗(yàn)證相比直接用例測(cè)試如何具有先進(jìn)性。
    的頭像 發(fā)表于 04-10 11:13 ?953次閱讀

    SystemVerilog的隨機(jī)約束方法

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

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

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