在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuà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()任務完成的。

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

wKgaomSAAJSAfdKjAADMRpDAmJM903.jpg

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

在某些sequences中,正在生成的值取決于先前生成的數(shù)據(jù)驅(qū)動后的響應,那么driver需要使用item_done(rsp)將處理后的響應返回到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相對應。put_response()是一個blocking方法,所以sequence必須有一個對應的get_response(rsp)。




審核編輯:劉清

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

    關注

    0

    文章

    182

    瀏覽量

    19346
  • TLM
    TLM
    +關注

    關注

    1

    文章

    33

    瀏覽量

    24855
  • sequence
    +關注

    關注

    0

    文章

    23

    瀏覽量

    2927

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

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

收藏 人收藏

    評論

    相關推薦

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

    driver,monitor和sequencer,其中driver ,monitor中也包含了與dut進行通信的interface。  往上一層上來看,這層是env,其中包含了多個a
    發(fā)表于 01-22 15:32

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

    reference model這樣的基類。但是,uvm reference model需要從以uvm component這個基類進行擴展。因為各個組件之間存在著信息通訊。  比如driver需要從
    發(fā)表于 01-22 15:33

    UVM代碼如何把testcase與driver分開

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

    什么是uvmuvm的特點有哪些呢

    直觀的印象,就是uvm驗證平臺,它是分層的結構。圖中的每一個巨型框都代表著平臺的一個構成元素。這些元素呢,我們稱為平臺組建,下面來簡單的分析一下。從最底層上來看,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這一基本結構。在這一基本結構之上,可能會根據(jù)實際應用擴展出來multi
    發(fā)表于 09-23 14:39

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

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

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

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

    UVM sequence機制中response的簡單使用

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

    UVM學習筆記(一)

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

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

    Driver的作用是從sequencer中獲得數(shù)據(jù)項,按照接口協(xié)議將數(shù)據(jù)項驅(qū)動到總線上。
    的頭像 發(fā)表于 05-30 09:22 ?1200次閱讀
    創(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 ?909次閱讀
    創(chuàng)建<b class='flag-5'>UVM</b> <b class='flag-5'>Driver</b>
    主站蜘蛛池模板: 成年人在线网站 | 国产大片免费观看中文字幕 | 亚洲一区有码 | 色香蕉色香蕉在线视频 | 乱妇伦小说 | 日本三级人妇 | 在线毛片网站 | 欧美性极品高清 | 免费日本视频 | 亚洲高清中文字幕一区二区三区 | 五月花综合 | 国产高清一级视频在线观看 | 狠狠五月婷婷 | 欧美一区二区三区精品 | 黑色丝袜美女被网站 | 欧美亚洲视频一区 | 天堂bt种子资源地址在线 | 色播影院性播影院私人影院 | 国产成人三级视频在线观看播放 | 亚洲综合免费 | 亚洲一区二区三区在线视频 | 免费国产不卡午夜福在线观看 | 色男人在线 | 日韩在线一区视频 | 日本69xxxxxxx69| 欧美一级视频免费观看 | 天天操天天射天天插 | 福利视频网站 | 色综合久久久高清综合久久久 | 免费一级毛片清高播放 | 国产亚洲精品免费 | 九九re | 丁香狠狠色婷婷久久综合 | 很黄网站 | 欧美一区二区三区高清视频 | 特黄特黄一级高清免费大片 | 日韩中文电影 | 欧美超级碰碰 | 日韩毛片免费视频 | 美女写真福利视频 | 一区二区三区视频观看 |