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

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

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

3天內不再提示

淺析UVM中的Virtual Sequences

芯片驗證工程師 ? 來源:芯片驗證工程師 ? 2023-06-20 09:28 ? 次閱讀

在一個系統級的驗證環境中,多個驗證組件并行地產生激勵。測試用例開發者可能希望協調多個通道激勵之間的時序和數據。

Virtual sequences與virtual sequencer相關聯,用于協調測試平臺中的激勵生成。一般來說,一個virtual sequencer包含對其子sequencer的引用,即driver sequencers或其他virtual sequencers。

Virtual sequences可以調用其他virtual sequences,以及每個子sequencer中的sequences(driversequences)。

在下圖中,virtual sequencer在ethernetcpu驗證組件上調用配置sequences。這些配置sequences是在模塊級測試期間開發的,可以在系統級測試時復用

f9662d78-0eab-11ee-962d-dac502259ad0.png

有三種方式可以讓virtual sequencer與它的subsequencers交互:

Virtual sequencers和subsequencers同時發送激勵。

禁用subsequencers。Virtualsequencers是唯一的驅動。

使用grab()和ungrab()--Virtualsequencers在有限的時間內控制激勵發送。

當使用virtual sequences時,大多數測試用例開發用戶都會只從virtual sequences中調用sequences。要調用sequences,需要執行以下操作之一:

使用'uvm_do宏 。

使用sequence start()方法。

創建一個Virtual Sequencer

為了從一個sequencer中對多個sequencers進行控制,可以使用一個不附屬于driver的sequencer,這就是virtual sequencer。要創建一個virtual sequencer,需要:

從uvm_sequencer類派生出一個virtual sequencer類。

在virtual sequencer中添加對其他subsequencer的指針(在更高層次的驗證組件(通常是top-level environment)中)。

下面的例子聲明了一個有兩個subsequencers的virtual sequencer。

f99fd1ea-0eab-11ee-962d-dac502259ad0.png

Subsequencers可以是driver sequencers或其他virtual sequencers。

創建一個Virtual Sequence

要創建一個virtual sequence:

從uvm_sequence派生出一個sequence類。

定義一個body()方法。

使用`uvm_ do_on(或` uvm_do_on_with)宏來調用subsequencers的sequences。

使用`uvm_do(或`uvm_do_with)宏來調用當前virtual sequencer中的其他virtual sequences。

一個virtual sequence不能使用`uvm_do或`uvm_do_with來執行數據項的發送,只能執行sequences。

下面的例子顯示了一個簡單的virtual sequence控制兩個subsequencers:cpu sequencerethernet sequencer。假設cpu sequencer有 一 個 cpu_config_seq sequence,ethernet sequencer有一個 eth_large_payload_seq序列。

f9d01e7c-0eab-11ee-962d-dac502259ad0.png

f9d75e80-0eab-11ee-962d-dac502259ad0.png

控制其他Sequencers

當使用virtual sequencer時,需要考慮subsequencers和virtualsequence之間的關系。有三種典型的可能性:

virtual sequencer和subsequencers同時產生激勵。subsequencers產生的數據項和virtual sequencer產生的數據項被混合在一起,并由driver以任意順序執行。

禁用subsequencers。使用uvm_config_db::set將subsequencers的default_sequence屬性設置為null。

fa0449a4-0eab-11ee-962d-dac502259ad0.png

使用grab()/lock()和ungrab()/unlock()。在這種情況下,一個virtual sequence可以在有限的時間內實現對其subsequencers的完全控制,然后讓原始sequences繼續工作。grab和lock防止其他sequence在被鎖定的sequencer上被執行。

grab()方法將lock request放在sequencer仲裁隊列的頭部,允許調用者阻止當前等待授予的數據項被處理,而lock()方法將lock request放在隊列的末端,允許數據項在授予lock之前被處理。

fa35d5e6-0eab-11ee-962d-dac502259ad0.png

將Virtual Sequencer連接到Subsequencers上

要連接一個virtual sequencer和它的subsequencers,需要在驗證環境的connect()phase將sequencer的實例賦值給virtual sequencer中指定的sequencer指針。

v_sequencer.cpu_seqr = cpu_seqr; 
v_sequencer.eth_seqr = eth_seqr;

下面這個例子顯示了一個top-level environment,它實例化了ethernet和cpu驗證組件以及控制這兩個組件的virtual sequencer。

在top-level environment中,各個組件內部的sequencers的路徑是已知的,可以根據該路徑將sequencers連接到virtual sequencer上。

fa427ab2-0eab-11ee-962d-dac502259ad0.png

?





審核編輯:劉清

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

    關注

    98

    文章

    14585

    瀏覽量

    136792
  • UVM
    UVM
    +關注

    關注

    0

    文章

    182

    瀏覽量

    19193
  • sequence
    +關注

    關注

    0

    文章

    23

    瀏覽量

    2852

原文標題:UVM中的Virtual Sequences

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

收藏 人收藏

    評論

    相關推薦

    SystemVerilogVirtual Methods

    SystemVerilog多態能夠工作的前提是父類的方法被聲明為virtual的。
    發表于 11-28 11:12 ?716次閱讀

    IC驗證"UVM驗證平臺加入factory機制"(六)

    平臺,因為UVM的特性幾乎一 點都沒有用到。像上節my_driver的實例化及drv.main_phase的顯式調用,即使不使用UVM,只使用簡單的SystemVerilog也可以完 成。本節將會
    發表于 12-08 12:07

    IC驗證“UVM驗證平臺加入objection機制和virtual interface機制“(七)

    在上一節,**《IC驗證"UVM驗證平臺加入factory機制"(六)》**雖然輸出了“main_phase is called”,但是“data is drived”并沒有
    發表于 12-09 18:28

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

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

    什么是uvmuvm的特點有哪些呢

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

    UVM sequence分層有哪幾種方式呢

    ; i< u_item.num_items; i++)`uvm_send(u_item.item)endtask : bodyendclass: upper_env_item_seq在上面的例子
    發表于 04-11 16:37

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

    UVM方法學,UVMsequences 是壽命有限的對象。UVM sequencesuvm_sequence_item基類擴展得到,
    發表于 04-11 16:43

    談談UVMuvm_info打印

    uvm_report_enabled(xxx),會分析傳過來的severity和id的配置verbosity要大于傳過來的verbosity,(get_report_verbosity_level(severity, id
    發表于 03-17 16:41

    virtual sequence和virtual sequencer的操作步驟

    對于初入行的驗證工程師,理解和搭建UVM驗證環境是很重要的,而其中,virtual sequence的機制又是很有用很重要的一部分。本文希望通過了一些問題的回答,以及一個相對完整的結構幫助經驗尚淺的工程師理清思路。
    發表于 09-15 10:33 ?6次下載
    <b class='flag-5'>virtual</b> sequence和<b class='flag-5'>virtual</b> sequencer的操作步驟

    為什么需要使用virtual,不用可不可以?

    UVM或者SV,經常會碰到被virtual修飾的 class、sequence、sequencer、interface、function,不
    的頭像 發表于 06-16 11:34 ?1449次閱讀

    UVMuvm_config_db機制背后的大功臣

    本次講一下UVMuvm_config_db,在UVM中提供了一個內部數據庫,可以在其中存儲給定名稱下的值,之后可以由其它TB組件去檢索。
    的頭像 發表于 06-20 17:28 ?1467次閱讀

    如何用Verdi查看UVM環境的變量?

    我們常用的debug UVM的方法是通過打印log實現。有沒有辦法像 debug RTL代碼一樣將 UVM 變量拉到波形上看呢?答案是有的,下面讓我們看看是怎么做到的。
    的頭像 發表于 06-25 16:01 ?1797次閱讀
    如何用Verdi查看<b class='flag-5'>UVM</b>環境<b class='flag-5'>中</b>的變量?

    UVMuvm_config_db機制背后的大功臣

    本次講一下UVMuvm_config_db,在UVM中提供了一個內部數據庫,可以在其中存儲給定名稱下的值,之后可以由其它TB組件去檢索。
    的頭像 發表于 06-29 16:57 ?1335次閱讀

    UVM設計的sequence啟動方式有哪幾種呢?

    本篇介紹UVM的sequence,這是UVM中最基礎的部分。對于前面介紹的uvm_callback, uvm_visitor等,很少被使用
    的頭像 發表于 08-17 10:07 ?4511次閱讀
    <b class='flag-5'>UVM</b>設計<b class='flag-5'>中</b>的sequence啟動方式有哪幾種呢?

    如何將sequences類型添加或注冊到sequence library里呢?

    uvm_sequence_library是從uvm_sequence擴展而來的,它是一個容納了一系列其它sequences類型的容器,在啟動時,它會根據模式從這系列sequences
    的頭像 發表于 09-08 15:06 ?663次閱讀
    如何將<b class='flag-5'>sequences</b>類型添加或注冊到sequence library里呢?
    主站蜘蛛池模板: 亚洲精品第一页| 99久久免热在线观看| 亚洲精品一卡二卡三卡四卡2021 | 欧美乱妇狂野欧美在线视频| 亚洲色图19p| 新影音先锋男人色资源网| 亚洲伊人久久综合影院2021| 国产精品久久久久久精品...| 青春草久久| 99久久免热在线观看| 免费亚洲视频在线观看| 无套日出白浆在线播放| 94色94色永久网站| 伦 乱真实故事| 午夜国产大片免费观看| 国产爱豆果冻传媒在线观看视频| 久久大香萑太香蕉av| 亚洲精品视频观看| 狠狠啪在线香蕉| 一个人日本的视频免费完整版 | 年轻漂亮的妺妺中文字幕版| 99re这里只有精品国产| 女子叉开腿让男子桶免费软件| 97在线观看免费视频| 欧美亚洲日韩国码在线观看| 亚洲日韩一区精品射精| 久草高清在线| 偷偷鲁青春草原视频| 99久久亚洲| 欧美最猛黑人AAAAA片| 成人性生交大片| 男女车车的车车网站W98免费| 5G年龄确认我已满18免费| 暖暖视频在线高清播放| xlxx美女| 欧美精品亚洲精品日韩专区一| www红色一片| 无套内谢大学生A片| 久久久久久久久女黄9999| 亚洲国产精品无码2019| 九九在线精品亚洲国产|