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

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

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

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

淺談UVM之sequence/item見解(上)

西西 ? 2018-02-19 15:52 ? 次閱讀

item指的是uvm_sequence_item, Sequence Item具備UVM核心基類所必要的數(shù)據(jù)操作方法,對于激勵的生成和場景控制,是由sequence來編織的,item應(yīng)該有什么用途的數(shù)據(jù)成員被定義在item中呢?文章進行了劃分。

無論是自駕item,穿過sequencer交通站,通往終點driver,還是坐上sequence的大巴,一路沿途觀光,最終跟隨導(dǎo)游停靠到風(fēng)景點driver,在介紹如何駕駛item和sequence,遵守什么交規(guī),最終可以有序地穿過sequencer抵達driver之前,讀者又必要首先認(rèn)識sequence與item之間的關(guān)系。這里的sequence值的是類uvm_sequence,而item指的是uvm_sequence_item,為了文章的簡潔,我們稱之為sequence和item。對于激勵的生成和場景控制,是由sequence來編織的,而對于激勵所需要的具體數(shù)據(jù)和控制要求,則是從item中的成員數(shù)據(jù)得來的。

Sequence Item

我們已經(jīng)提出item是基于uvm_object,這表明了它具備UVM核心基類所必要的數(shù)據(jù)操作方法,例如copy、clone、compare、record等,這里我們不再做贅述。讀者需要了解到的是,通常對于一個item,應(yīng)該有什么用途的數(shù)據(jù)成員被定義在item中呢?我們可以將它們劃分下如下幾類:

控制類。譬如總線協(xié)議上的讀寫類型、數(shù)據(jù)長度、傳送模式等。

負(fù)載類。一般即數(shù)據(jù)總線上的數(shù)據(jù)包。

配置類。這往往是用來控制driver的驅(qū)動行為,例如命令driver的發(fā)送間隔或者有無錯誤插入。

調(diào)試類。用來標(biāo)記一些額外的信息,用來方便調(diào)試,例如該對象的實例序號、創(chuàng)建時間、被driver解析的時間始末等。

下面的例碼是一段item的定義,從這段代碼中讀者可以看到上面提到的各種用途的數(shù)據(jù)使用情況:

淺談UVM之sequence/item見解(上)

淺談UVM之sequence/item見解(上)

輸出結(jié)果:

淺談UVM之sequence/item見解(上)

上面的這段代碼中,不但給出了一個較為典型的item定義,同時也伴有一些item使用時的特點:

如果數(shù)據(jù)域?qū)儆趯硇枰脕碜鲵?qū)動,那么用戶應(yīng)考慮定義為rand類型,同時按照驅(qū)動協(xié)議給出合適的constraint。

由于item本身的數(shù)據(jù)屬性,為了充分利用UVM域聲明的特性,我們建議將必要的數(shù)據(jù)成員都通過`uvm_field_xxx宏來聲明,以便日后的基本函數(shù)操作,例如上面的print()函數(shù)。

讀者也注意到了一點,上面的例子中,t1沒有隨機化而t2隨機化了,這種差別在item通往sequencer之前是很明顯的。因為UVM要求item的創(chuàng)建和隨機化都應(yīng)該發(fā)生在sequence的body()任務(wù)中,而不是在sequencer或者driver中。

如果按照item對象的生命周期來區(qū)分,它的生命應(yīng)該開始于sequence中的創(chuàng)建,而后經(jīng)歷了隨機化和穿越sequencer最終到達driver,直到被driver消化之后,它的生命周期一般來講才算壽終正寢。之所以要突出這一點,是因為一些用戶在實際中,會不恰當(dāng)?shù)刂苯硬僮鱥tem對象,直接修改其中的數(shù)據(jù),或者將它的句柄發(fā)送給其它組件使用,這就無形中修改了item的基因,或者延長了一個item對象的壽命。這種不合適的對象操作方式是用戶需要注意的,可以取代的方式則是合理利用copy和clone等方法。

接下來我們需要理清item和sequence,以及sequence群落之間的關(guān)系。從簡而言,一個sequence包含了一些有序組織起來的item實例,考慮到item在創(chuàng)建后需要被隨機化,sequence在聲明時也需要預(yù)留一些可供外部隨機化的變量,這些隨機變量一部分是用來通過層級傳遞來控制item對象中的變量的,一部分也是用來對item對象之間加以組織和時序控制的。為了加以區(qū)分幾種常見的sequence定義方式,我們在介紹后續(xù)的sequence之前,首先將sequence可以分類為:

扁平類(flat sequence)。這一類中往往只用來組織更細(xì)小的粒度,即item示例的組織。

層次類(hierarchical sequence)。這一類則是由更高層的sequence用來組織底層的sequence,進而讓這些sequence或者按照順序的方式,或者按照并行的方式,掛載到同一個sequencer上。

虛擬類(virtual sequence)。這一類則是最終控制整個測試場景的方式,鑒于整個環(huán)境中往往存在不同種類的sequencer和其對應(yīng)的sequence,我們需要一個虛擬的sequence來協(xié)調(diào)頂層的測試場景。之所以稱這個方式為virtual sequence,是因為該序列本省并不固定掛載于某一種sequencer類型上,而是它會將其內(nèi)部的各種不同類型的sequence最終掛載到不同的目標(biāo)sequencer上面。這也是最大的不同于hierarchical sequence的一點。

聲明:本文內(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

    瀏覽量

    19171
  • sequence
    +關(guān)注

    關(guān)注

    0

    文章

    23

    瀏覽量

    2848
收藏 人收藏

    評論

    相關(guān)推薦

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

    設(shè)備之間的產(chǎn)品了,事物是組件的操作對象,uvm也對事物建模提供了基類進行擴展,對事物級的建模需要從uvm sequence item擴展。而產(chǎn)生事物對象的事物發(fā)生器
    發(fā)表于 01-22 15:33

    數(shù)字IC驗證“搭建一個可以運行的uvm測試平臺”(5)連載中...

    對象,就是transaction。  驗證工程師需要根據(jù)不同的項目對項目中的事務(wù)進行建模,事物對象的類需要從uvm sequence item這個基類進行擴展,為了事物在產(chǎn)生的時候可以自動的隨機化,一般
    發(fā)表于 01-26 10:05

    UVM sequence分層有哪幾種方式呢

    。class upper_env_item_seq extends uvm_sequence #(lower_env_item);... // Constructor and UVM
    發(fā)表于 04-11 16:37

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

    UVM方法學(xué)中,UVMsequences 是壽命有限的對象。UVM sequences從uvm_sequence_item基類擴展得到,uvm_sequence_item進一步從
    發(fā)表于 04-11 16:43

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

    驗證環(huán)境需要對數(shù)據(jù)進行分層。例如,將32比特的寄存器讀寫封裝成數(shù)據(jù)讀寫和狀態(tài)讀寫等實際業(yè)務(wù)操作等或者對底層sequence進行一些隨機控制等。實現(xiàn)這種分層可以有兩種方式:1、Sequence
    發(fā)表于 04-14 11:08

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

    sequence還是“雨露均沾”:實際UVM給我們預(yù)設(shè)了六種仲裁算法供選擇,同時保留了用戶自定義的接口。默認(rèn)情況下,使用的仲裁算法是UVM_SEQ_ARB_FIFO,嚴(yán)格按照先進先
    發(fā)表于 09-23 14:35

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

    指定請求和響應(yīng)sequence_item的具體類型,在默認(rèn)情況下,請求和響應(yīng)sequence_item的類型為uvm_sequence_itemuvm_driver是
    發(fā)表于 09-23 14:39

    sequence item實際應(yīng)用中應(yīng)該包含哪些東西

    等。基于以上這些需求,在UVM類庫提供的代碼示例基礎(chǔ),整理成以下一般框架,可用于指導(dǎo)日常開發(fā)。02 用戶自定義方法在上面定義的sequence item框架中,有一部分是Utilit
    發(fā)表于 09-23 14:42

    UVM中seq.start()和default_sequence執(zhí)行順序

      1. 問題  假如用以下兩種方式啟動sequence,方法1用sequence的start()方法啟動seq1,方法2用UVM的default_sequence機制啟動seq2。那
    發(fā)表于 04-04 17:15

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

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

    UVM sequence機制中response的簡單使用

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

    start()如何執(zhí)行uvm_sequence

    要使用start()啟動一個sequence,就必須要指定相應(yīng)的sequencer句柄, **另外的幾個選項一般用不** 。其中
    的頭像 發(fā)表于 03-21 11:37 ?713次閱讀
    start()如何執(zhí)行<b class='flag-5'>uvm_sequence</b>

    UVMsequence的那些事兒

    將 生成測試case的語句 從 main_phase 中獨立出來,使得使用不同測試用例時,只需要修改sequence部分即可,而不用關(guān)注 UVM剩余部分。
    的頭像 發(fā)表于 05-26 15:17 ?1070次閱讀
    <b class='flag-5'>UVM</b>中<b class='flag-5'>sequence</b>的那些事兒

    在Sequencer啟動一個Sequence

    Sequencer默認(rèn)不執(zhí)行任何Sequence。驗證工程師可以通過調(diào)用start()啟動一個Sequence,也可以通過uvm_config_db指定一個自動啟動的Sequence
    的頭像 發(fā)表于 06-10 09:10 ?817次閱讀
    在Sequencer<b class='flag-5'>上</b>啟動一個<b class='flag-5'>Sequence</b>

    UVM設(shè)計中的sequence啟動方式有哪幾種呢?

    本篇介紹UVM中的sequence,這是UVM中最基礎(chǔ)的部分。對于前面介紹的uvm_callback, uvm_visitor等,很少被使用
    的頭像 發(fā)表于 08-17 10:07 ?4330次閱讀
    <b class='flag-5'>UVM</b>設(shè)計中的<b class='flag-5'>sequence</b>啟動方式有哪幾種呢?
    主站蜘蛛池模板: 亚洲 欧洲 日产 韩国在线| 怡红院国产| 亚洲第一毛片| 久久夜色精品国产尤物| 一级片aaaaaa| 伦理一区二区三区| 手机看片久久| 欧美不卡视频在线| 直接看的黄色网址| 免费观看a黄一级视频| 国产精品一区二区三区四区五区| 呦交小u女国产秘密入口| 222在线视频免费观看| 亚洲六月婷婷| 国产精品五月天| 色综合天天干| 九九热免费在线观看| 美女视频黄免费| 美女视频久久| 在线观看三级网站| 韩国三级hd| 91牛牛| 亚洲成人在线电影| 国产va在线观看| 欧美成人性高清观看| 色爱区综合激情五月综合色| 噜噜噜色网| 日韩手机看片| 一级特黄国产高清毛片97看片| 激情六月婷婷| 202z国产高清日本在线播放| 四虎综合九九色九九综合色| 狠狠激情五月综合婷婷俺| 特黄免费| 永久在线观看www免费视频| 狠狠色婷婷狠狠狠亚洲综合| 2020狠狠操| 日本人zzzwww色视频| 真实一级一级一片免费视频| 亚洲一区不卡视频| 久久三级毛片|