色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

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

3天內不再提示

UVM driver和sequencer的通信

芯片驗證工程師 ? 來源:芯片驗證工程師 ? 2023-06-07 11:58 ? 次閱讀

創建Sequencer

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

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

uvm_sequencer #(simple_item, simple_rsp) sequencer;

連接Driver和Sequencer

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

wKgaomSAAHeARPG7AACCxEaIzjw229.jpg

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

Sequencer和Driver的基本交互方式

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

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

wKgaomSAAIeAbmASAABSKOTIjHw617.jpg

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

獲取待驅動的數據項

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

wKgaomSAAJSAfdKjAADMRpDAmJM903.jpg

將處理后的數據發回給Sequencer

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

seq_item_port.item_done(rsp);

或使用put_response(rsp)方法

seq_item_port.put_response(rsp);

或使用uvm_driver的內置analysis port

rsp_port.write(rsp);

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




審核編輯:劉清

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

    關注

    0

    文章

    182

    瀏覽量

    19277
  • TLM
    TLM
    +關注

    關注

    1

    文章

    33

    瀏覽量

    24812
  • sequence
    +關注

    關注

    0

    文章

    23

    瀏覽量

    2890

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

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

收藏 人收藏

    評論

    相關推薦

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

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

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

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

    UVM代碼如何把testcase與driver分開

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

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

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

    UVM sequence分層有哪幾種方式呢

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

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

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

    UVM sequence分層的幾種體現

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

    如何配置sequence的仲裁算法和優先級及中斷sequence的執行

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

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

    UVM框架下,測試激勵從產生到最終作用于DUT接口的這一過程,遵守Sequence-Sequencer-Driver這一基本結構。在這一基本結構之上,可能會根據實際應用擴展出來multi
    發表于 09-23 14:39

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

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

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

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

    UVM sequence機制中response的簡單使用

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

    UVM學習筆記(一)

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

    創建UVM Driver的步驟

    Driver的作用是從sequencer中獲得數據項,按照接口協議將數據項驅動到總線上。
    的頭像 發表于 05-30 09:22 ?1136次閱讀
    創建<b class='flag-5'>UVM</b> <b class='flag-5'>Driver</b>的步驟

    創建UVM Driver

    Driver的作用是從sequencer中獲得數據項,按照接口協議將數據項驅動到總線上。UVM類庫提供了uvm_driver基類,所有的Driver
    的頭像 發表于 05-30 16:17 ?879次閱讀
    創建<b class='flag-5'>UVM</b> <b class='flag-5'>Driver</b>
    主站蜘蛛池模板: 久久re热在线视频精99 | 久久综合久久鬼色 | 久久亚洲伊人中字综合精品 | CHINA篮球体育飞机2023 | 亚洲国产中文在线视频免费 | 秋秋影视午夜福利高清 | av老司机色爱区综合 | 青青青视频在线 | 总裁呻吟双腿大开男男H | 成人欧美一区二区三区白人 | 中文字幕无码亚洲字幕成A人蜜桃 | 2012中文字幕在线动漫电影 | 亚洲免费在线视频 | 欧美精品v欧洲高清 | 亚洲 综合 自拍 精品 在线 | 欧美同志高清vivoeso | 午夜福利试看120秒体验区 | 男人边吃奶边挵进去呻吟漫画 | 18禁三级黄 | 三级电影免费看 | 91看片淫黄大片.在线天堂 | 日本免费一区二区三区四区五六区 | 无码AV熟妇素人内射V在线 | 成人无码精品一区二区在线观看 | 99久久久精品免费观看国产 | 99久久精品互换人妻AV | 中国大陆一级毛片免费 | yellow在线观看免费观看大全 | 久久久高清国产999尤物 | 亚洲黄色免费在线观看 | 人妻无码AV中文系统久久免费 | 张津瑜的9分58秒7段免费 | 毛片在线全部免费观看 | 粉色视频午夜网站入口 | 果冻传媒最新视频在线观看 | 久久青草在线视频精品 | 蜜桃成熟时2电影免费观看d | 亚洲国产精品久久人人爱 | 小小水蜜桃3视频在线观看 小向美奈子厨房magnet | 日本精品卡一卡2卡3卡四卡三卡 | 亚洲色婷婷久久精品AV蜜桃久久 |