chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

UVM driver和sequencer的通信

芯片驗證工程師 ? 來源:芯片驗證工程師 ? 2023-06-07 11:58 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

創(chuàng)建Sequencer

sequencer生成激勵數(shù)據(jù),并將其傳遞給driver執(zhí)行。UVM類庫提供了uvm_sequencer基類,其參數(shù)為request和response數(shù)據(jù)類型。

uvm_sequencer基類包含了sequencer與driver通信所需的基本功能。在sequencer類的定義中, 默認情況下,response數(shù)據(jù)類型與request數(shù)據(jù)類型相同。如果需要不同的response數(shù)據(jù)類型,必須為uvm_sequencer指定可選的第二個參數(shù)

uvm_sequencer #(simple_item, simple_rsp) sequencer;

連接Driver和Sequencer

driver和sequencer通過TLM連接,driver的seq_item_port連接到sequencer的seq_item_export。sequencer產(chǎn)生數(shù)據(jù)項,通過seq_item_export提供。driver通過它的seq_item_port獲取數(shù)據(jù)項,并提供response(可選)。包含driver和sequencer的驗證組件(通常是agent)在它們之間建立連接。

wKgaomSAAHeARPG7AACCxEaIzjw229.jpg

uvm_driver中的seq_item_port定義了driver獲取sequence中下一個數(shù)據(jù)項的一組方法,并且提供了driver與sequencer同步的能力。sequencer實現(xiàn)了一套方法,允許驅(qū)動器和序列器之間進行靈活和模塊化的交互。

Sequencer和Driver的基本交互方式

driver和sequencer之間的基本交互是通過get_next_item()和item_done()任務(wù)完成的。

driver使用get_next_item()來獲取下一個要發(fā)送的隨機數(shù)據(jù)項。發(fā)送到DUT后,driver向sequencer發(fā)出信號,使用item_done()表示該數(shù)據(jù)項已被驅(qū)動。通常情況下,driver的主函數(shù)類似于以下偽代碼:

wKgaomSAAIeAbmASAABSKOTIjHw617.jpg

get_next_item()是blocking的,直到在該sequencer上運行的sequences提供一個需要驅(qū)動的數(shù)據(jù)項。

獲取待驅(qū)動的數(shù)據(jù)項

除 了 get_next_item() 任 務(wù) 外 , uvm_seq_item_pull_port 類 還 提 供 了 另 一 個 任 務(wù)try_next_item()。如果沒有數(shù)據(jù)項可供驅(qū)動,這個任務(wù)將在同一simulation step中返回,此時可以讓driver執(zhí)行一些idle transactions,比如當沒有有意義的數(shù)據(jù)要傳輸時,給DUT發(fā)送隨機數(shù)據(jù),如下圖所示:

wKgaomSAAJSAfdKjAADMRpDAmJM903.jpg

將處理后的數(shù)據(jù)發(fā)回給Sequencer

在某些sequences中,正在生成的值取決于先前生成的數(shù)據(jù)驅(qū)動后的響應(yīng),那么driver需要使用item_done(rsp)將處理后的響應(yīng)返回到sequencer中。

seq_item_port.item_done(rsp);

或使用put_response(rsp)方法

seq_item_port.put_response(rsp);

或使用uvm_driver的內(nèi)置analysis port

rsp_port.write(rsp);

在提供response之前,必須使用rsp.set_id_info(req)將response transaction與request transaction相對應(yīng)。put_response()是一個blocking方法,所以sequence必須有一個對應(yīng)的get_response(rsp)。




審核編輯:劉清

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

    關(guān)注

    0

    文章

    182

    瀏覽量

    19521
  • TLM
    TLM
    +關(guān)注

    關(guān)注

    1

    文章

    33

    瀏覽量

    24964
  • sequence
    +關(guān)注

    關(guān)注

    0

    文章

    23

    瀏覽量

    3006

原文標題:UVM driver和sequencer的通信

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

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

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

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

    driver,monitor和sequencer,其中driver ,monitor中也包含了與dut進行通信的interface?! ⊥弦粚由蟻砜矗@層是env,其中包含了多個a
    發(fā)表于 01-22 15:32

    數(shù)字IC驗證之“構(gòu)成uvm測試平臺的主要組件”(4)連載中...

    reference model這樣的基類。但是,uvm reference model需要從以uvm component這個基類進行擴展。因為各個組件之間存在著信息通訊?! ”热?b class='flag-5'>driver需要從
    發(fā)表于 01-22 15:33

    UVM代碼如何把testcase與driver分開

    UVM代碼如何把testcase與driver分開
    發(fā)表于 03-11 07:58

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

    直觀的印象,就是uvm驗證平臺,它是分層的結(jié)構(gòu)。圖中的每一個巨型框都代表著平臺的一個構(gòu)成元素。這些元素呢,我們稱為平臺組建,下面來簡單的分析一下。從最底層上來看,agent 中包含了driver,monitor和sequencer
    發(fā)表于 02-14 06:46

    UVM sequence分層有哪幾種方式呢

    sequencer,因為sequencer屬于靜態(tài)的UVM組件,屬于平臺型的內(nèi)容,不可能每一個用例都需要創(chuàng)建一個sequencer。這里的例外就是virtual
    發(fā)表于 04-11 16:37

    請問一下在UVM中的UVMsequences是什么意思啊

    uvm_sequencer_base類派生出來的,其 被參數(shù)化為用于與driver 通信的sequence item類型。因此要訪問正在運行sequence 的真實sequencer
    發(fā)表于 04-11 16:43

    UVM sequence分層的幾種體現(xiàn)

    sequencer,因為sequencer屬于靜態(tài)的UVM組件,屬于平臺型的內(nèi)容,不可能每一個用例都需要創(chuàng)建一個sequencer。這里的例外就是virtual
    發(fā)表于 04-14 11:08

    如何配置sequence的仲裁算法和優(yōu)先級及中斷sequence的執(zhí)行

    01 Arbitrary在UVM中,多個sequence可以同時被綁定到相同的sequencer并啟動。這種測試場景在實際中是存在的,比如在模擬同一個總線master口上的不同類型的數(shù)據(jù)流時,可以將
    發(fā)表于 09-23 14:35

    介紹兩種交互方法來完成SequencerDriver的握手機制

    UVM框架下,測試激勵從產(chǎn)生到最終作用于DUT接口的這一過程,遵守Sequence-Sequencer-Driver這一基本結(jié)構(gòu)。在這一基本結(jié)構(gòu)之上,可能會根據(jù)實際應(yīng)用擴展出來multi
    發(fā)表于 09-23 14:39

    UVM之sequence/item見解 sequencer特性及應(yīng)用(下)

    本文將接著分享sequencer的相關(guān)知識,對于sequencer的仲裁特性有幾種可選,UVM_SEQ_ARB_FIFO ;UVM
    的頭像 發(fā)表于 02-19 10:14 ?5004次閱讀
    談<b class='flag-5'>UVM</b>之sequence/item見解 <b class='flag-5'>sequencer</b>特性及應(yīng)用(下)

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

    直觀的印象,就是uvm驗證平臺,它是分層的結(jié)構(gòu)。圖中的每一個巨型框都代表著平臺的一個構(gòu)成元素。這些元素呢,我們稱為平臺組建,下面來簡單的分析一下。從最底層上來看,agent 中包含了driver,monitor和sequencer
    發(fā)表于 12-09 13:36 ?7次下載
    數(shù)字IC驗證之“典型的<b class='flag-5'>UVM</b>平臺結(jié)構(gòu)”(3)連載中...

    UVM sequence機制中response的簡單使用

    sequence作為UVM幾個核心機制之一,它有效地將transaction的產(chǎn)生從driver中剝離出來,并且通過和sequencer相互配合,成功地將driver的負擔降低至僅聚焦
    的頭像 發(fā)表于 09-22 09:26 ?2844次閱讀

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

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

    創(chuàng)建UVM Driver的步驟

    Driver的作用是從sequencer中獲得數(shù)據(jù)項,按照接口協(xié)議將數(shù)據(jù)項驅(qū)動到總線上。
    的頭像 發(fā)表于 05-30 09:22 ?1317次閱讀
    創(chuàng)建<b class='flag-5'>UVM</b> <b class='flag-5'>Driver</b>的步驟

    創(chuàng)建UVM Driver

    Driver的作用是從sequencer中獲得數(shù)據(jù)項,按照接口協(xié)議將數(shù)據(jù)項驅(qū)動到總線上。UVM類庫提供了uvm_driver基類,所有的Driver
    的頭像 發(fā)表于 05-30 16:17 ?1022次閱讀
    創(chuàng)建<b class='flag-5'>UVM</b> <b class='flag-5'>Driver</b>