0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創(chuàng)作中心

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

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

典型的UVM Testbench架構(gòu)

芯片驗證工程師 ? 來源:芯片驗證工程師 ? 2023-05-22 10:14 ? 次閱讀

UVM類庫提供了通用的代碼功能,如component hierarchy、transaction levelmodel(TLM),configuration database等等,使用戶能夠創(chuàng)建任何類型的Testbench架構(gòu)。

76b2b7ba-f6f6-11ed-90ce-dac502259ad0.png

上圖是一個非常通用的testbench架構(gòu),并不能夠表示所有類型的testbench架構(gòu)。

UVM Testbench

UVMTestbench通常實例化Design under Test (DUT)moduleUVM Test class,并進(jìn)行連接。

UVMTest是在運(yùn)行時動態(tài)實例化的,這使得UVM Testbench可以只編譯一次,然后運(yùn)行不同的測試用例。

1.1.2 UVM Test

UVMTest是UVM Testbench中的頂層組件。UVM Test 通常會執(zhí)行三個主要功能:

實例化top-level驗證環(huán)境

配置驗證環(huán)境(通過factory overrides或configuration database)

通過調(diào)用UVM Sequences來施加激勵到DUT

通常,會有一個實例化UVM Environment的base UVM Test,然后其他的Test將擴(kuò)展這個base test,以不同的方式配置驗證環(huán)境或選擇運(yùn)行不同的sequences 。

1.1.3 UVM Environment

UVMEnvironment是一個分層驗證組件,它將相互關(guān)聯(lián)的其他驗證組件組合在一起。通常在UVM Environment中實例化的典型組件是UVM Agents, UVM Scoreboards,以及其他UVM Environments。頂層UVM Environment封裝了針對DUT的所有驗證組件。

例如:在芯片(SoC)UVM Environment上,你會找到對應(yīng)于各個IP的UVM Environment(例如PCIe Environment, USB Environment, Memory Controller Environment等等)。有時這些IP Environments被組合到Cluster Environments中(例如IO Environment, Processor Environment等等),最終在頂層SoC Environment中組合在一起。

1.1.4 UVM Scoreboard

UVMScoreboard的主要功能是檢查某個DUT的行為。UVM Scoreboard通常通過UVM Agentanalysis ports接收DUT的輸入和輸出事務(wù),通過參考模型來產(chǎn)生預(yù)期結(jié)果,然后和實際輸出進(jìn)行比較。

1.1.5 UVM Agent

UVM Agent是一個分層組件,它將其他和DUT接口交互的驗證組件組合在一起。一個典型的UVM Agent包括一個UVM Sequencer管理激勵,一個UVM Driver將激勵施加到DUT接口和一個UVM Monitor監(jiān)測DUT接口。

UVM Agents也可能包括其他組件,如coverage collectors,protocol checkers等等。

UVM Agent可能工作在active mode(能夠產(chǎn)生激勵),或者工作在passive mode(只監(jiān)測接口而不驅(qū)動)。

76c14b5e-f6f6-11ed-90ce-dac502259ad0.png

1.1.6 UVM Sequencer

UVMSequencer是一個從多個激勵sequences中控制事務(wù)流的仲裁器。更具體地說,UVM Sequencer控制著一個或多個UVM Sequences。

1.1.7 UVM Sequence

UVMSequence是一個包含產(chǎn)生激勵行為的對象,并不是驗證組件層次結(jié)構(gòu)中的一部分。UVM Sequences同樣也可以是分層的,可以由一個sequence(parent sequence)調(diào)用另一個sequence(child sequence)。

每個UVMSequence都被綁定到一個UVM Sequencer上。多個UVM Sequence可以綁定到相同的UVM Sequencer。

1.1.8 UVM Driver

UVMDriver從UVM Sequencer中接收UVM Sequence Item,并在DUT接口上驅(qū)動。因此,UVM Driver將transaction-level激勵轉(zhuǎn)換為pin-level激勵。

1.1.9 UVM Monitor

UVMMonitor對DUT接口進(jìn)行采樣,并發(fā)送到UVM的其他驗證組件中繼續(xù)下一步的analysis行為。因此,UVM Driver將pin-level轉(zhuǎn)換transaction-level。UVM Monitor有一個TLM analysis port來廣播所監(jiān)測到的創(chuàng)建的transactions。

UVM Monitor可以在內(nèi)部對產(chǎn)生的事務(wù)執(zhí)行一些處理(如覆蓋率收集、檢查、日志記錄等)或者可以將這些任務(wù)交給連接到monitoranalysis port的其他驗證組件。

????

審核編輯:湯梓紅

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

    關(guān)注

    459

    文章

    52180

    瀏覽量

    436144
  • soc
    soc
    +關(guān)注

    關(guān)注

    38

    文章

    4338

    瀏覽量

    221685
  • UVM
    UVM
    +關(guān)注

    關(guān)注

    0

    文章

    182

    瀏覽量

    19430
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4886

    瀏覽量

    70255

原文標(biāo)題:典型的UVM Testbench架構(gòu)

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

收藏 0人收藏

    評論

    相關(guān)推薦
    熱點推薦

    數(shù)字IC驗證之“什么是UVM”“UVM的特點”“UVM提供哪些資源”(2)連載中...

    原文鏈接:https://zhuanlan.zhihu.com/p/345775995大家好,我是一哥,上章內(nèi)容主要講述兩個內(nèi)容,芯片驗證以及驗證計劃。那本章我們主要講述的內(nèi)容有介紹什么是uvm
    發(fā)表于 01-21 16:00

    數(shù)字IC驗證之“典型UVM平臺結(jié)構(gòu)”(3)連載中...

      大家好,我是一哥,上章內(nèi)容我們介紹什么是uvmuvm的特點以及uvm為用戶提供了哪些資源?  本章內(nèi)容我們來看一看一個典型uvm驗證
    發(fā)表于 01-22 15:32

    什么是uvm?uvm的特點有哪些呢

    大家好,我是一哥,上章內(nèi)容我們介紹什么是uvm?uvm的特點以及uvm為用戶提供了哪些資源?本章內(nèi)容我們來看一看一個典型uvm驗證平臺應(yīng)該
    發(fā)表于 02-14 06:46

    談?wù)?b class='flag-5'>UVM中的uvm_info打印

      uvm_info宏的定義如下:  `define uvm_info(ID,MSG,VERBOSITY) \  begin \  if (uvm_report_enabled(VERBOSITY
    發(fā)表于 03-17 16:41

    我的第一個UVM代碼——Hello world

    Ctrl-V!) 幾點說明: 為了使用UVM庫里的函數(shù)和宏定義,需要先import uvm_pkg和include uvm_macros。 在testbench的頂層(module
    發(fā)表于 11-03 10:18

    testbench_book

    verilog Testbench
    發(fā)表于 12-13 22:20 ?3次下載

    參數(shù)化UVM IP驗證環(huán)境(上)

    的連接、驅(qū)動器、監(jiān)視器、仿真序列以及功能覆蓋率的建立。 本文呈現(xiàn)出了一種使用UVM驗證方法學(xué)構(gòu)建基于高可配置性的高級微處理器總線架構(gòu)(AMBA)的IP驗證環(huán)境,其中會使用到Synopsys公司的AMBA VIP和Ruby腳本。該驗證環(huán)境可以支持通過使用AMBA設(shè)計參數(shù)進(jìn)行
    發(fā)表于 09-15 14:37 ?8次下載
    參數(shù)化<b class='flag-5'>UVM</b> IP驗證環(huán)境(上)

    數(shù)字IC驗證之“典型UVM平臺結(jié)構(gòu)”(3)連載中...

    大家好,我是一哥,上章內(nèi)容我們介紹什么是uvm?uvm的特點以及uvm為用戶提供了哪些資源?本章內(nèi)容我們來看一看一個典型uvm驗證平臺應(yīng)該
    發(fā)表于 12-09 13:36 ?7次下載
    數(shù)字IC驗證之“<b class='flag-5'>典型</b>的<b class='flag-5'>UVM</b>平臺結(jié)構(gòu)”(3)連載中...

    UVM驗證平臺頂層有什么作用

    因為DUT是一個靜態(tài)的內(nèi)容,所以testbench理應(yīng)也是靜態(tài)的,其作為uvm驗證環(huán)境和DUT的全局根結(jié)點。
    的頭像 發(fā)表于 03-21 11:33 ?1601次閱讀

    UVM學(xué)習(xí)筆記(一)

    driver應(yīng)該派生自uvm_driver,而uvm_driver派生自uvm_component。
    的頭像 發(fā)表于 05-26 14:38 ?1645次閱讀
    <b class='flag-5'>UVM</b>學(xué)習(xí)筆記(一)

    我的第二個UVM代碼—連接interface

    testbench最最核心的部分就是發(fā)激勵,今天用一個簡單的示例來介紹如何在uvm里給RTL發(fā)激勵。
    的頭像 發(fā)表于 06-15 10:51 ?1898次閱讀
    我的第二個<b class='flag-5'>UVM</b>代碼—連接interface

    UVMuvm_config_db機(jī)制背后的大功臣

    本次講一下UVM中的uvm_config_db,在UVM中提供了一個內(nèi)部數(shù)據(jù)庫,可以在其中存儲給定名稱下的值,之后可以由其它TB組件去檢索。
    的頭像 發(fā)表于 06-20 17:28 ?1806次閱讀

    testbench是什么? testbench測試的機(jī)制是什么?

    廢話不多說直接上干貨,testbench就是對寫的FPGA文件進(jìn)行測試的文件,可以是verilog也可以是VHDL。
    的頭像 發(fā)表于 06-28 16:44 ?5712次閱讀
    <b class='flag-5'>testbench</b>是什么? <b class='flag-5'>testbench</b>測試的機(jī)制是什么?

    一文詳解UVM設(shè)計模式

    本篇是對UVM設(shè)計模式 ( 二 ) 參數(shù)化類、靜態(tài)變量/方法/類、單例模式、UVM_ROOT、工廠模式、UVM_FACTORY[1]中單例模式的補(bǔ)充,分析靜態(tài)類的使用,UVM中資源池的
    的頭像 發(fā)表于 08-06 10:38 ?3063次閱讀
    一文詳解<b class='flag-5'>UVM</b>設(shè)計模式

    編寫高效Testbench的指南和示例

    Testbench是驗證HDL設(shè)計的主要手段,本文提供了布局和構(gòu)建高效Testbench的指南以及示例。另外,本文還提供了一種示例,可以為任何設(shè)計開發(fā)自檢Testbench
    的頭像 發(fā)表于 10-29 16:14 ?1468次閱讀
    編寫高效<b class='flag-5'>Testbench</b>的指南和示例

    電子發(fā)燒友

    中國電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會員交流學(xué)習(xí)
    • 獲取您個性化的科技前沿技術(shù)信息
    • 參加活動獲取豐厚的禮品