一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

UVM sequence機(jī)制中response的簡單使用

我快閉嘴 ? 來源:小杜的芯片驗(yàn)證日記 ? 作者:小杜的芯片驗(yàn)證日 ? 2022-09-22 09:26 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

sequence作為UVM幾個(gè)核心機(jī)制之一,它有效地將transaction的產(chǎn)生從driver中剝離出來,并且通過和sequencer相互配合,成功地將driver的負(fù)擔(dān)降低至僅聚焦于根據(jù)協(xié)議將transaction發(fā)送到接口上,而具體發(fā)送什么數(shù)據(jù)、數(shù)據(jù)有多少,則通通交給了sequence和sequencer解決。

對(duì)于發(fā)送數(shù)據(jù),建立起了 sequence → sequencer → driver → interface → DUT 的單向數(shù)據(jù)傳輸通路。

但有時(shí),sequence并不能著急產(chǎn)生數(shù)據(jù),而需要根據(jù)driver對(duì)transaction的反應(yīng),或者說sequence需要接收到driver發(fā)出的”我準(zhǔn)備好了,你可以根據(jù)我目前的情況決定下一筆發(fā)送什么數(shù)據(jù)了“的信號(hào),再產(chǎn)生transaction發(fā)送給driver。此時(shí)就需要建立起 driver → sequencer → sequence的通路,通路中傳輸?shù)男畔⒓础?a href="http://www.www27dydycom.cn/tags/rs/" target="_blank">rsp”。這是通過在driver中調(diào)用put_response( ),在sequencer中調(diào)用get_response( )實(shí)現(xiàn)的。同時(shí),為了保證sequencer上有多個(gè)sequence時(shí),rsp不會(huì)認(rèn)錯(cuò)sequence,最好給rsp設(shè)置好id等信息。


下面是小杜今天遇到的場景:

通過SMBus轉(zhuǎn)APB總線向DUT中發(fā)送read請(qǐng)求和address信息發(fā)送給DUT,DUT隨后將目標(biāo)地址的寄存器中的數(shù)據(jù)反向發(fā)送出來,并且當(dāng)監(jiān)測到rsp中某個(gè)關(guān)鍵信息滿足特定條件時(shí),即可停止仿真

停止仿真可以通過調(diào)用系統(tǒng)函數(shù)$finish( )實(shí)現(xiàn),但如何監(jiān)測rsp中具體某一位數(shù)據(jù)呢?

首先我們需要確定rsp 的數(shù)據(jù)類型,可以通過systemverilog的系統(tǒng)函數(shù)$typename( )來查看:

task body;  ...  get_response(rsp, req.get_transaction_id());  $display($typename(this.rsp));  ...endtask

打印結(jié)果:

class xxx.xxx_master_transaction

可以看到,返回的rsp是一個(gè)類,并且和我們發(fā)送的req是同一個(gè)類型。想一下也合理,req、rsp是建立在同一條數(shù)據(jù)通路上的,只是數(shù)據(jù)傳輸方向相反。即sequence sequencer driver interface DUT 是一條完整的雙向數(shù)據(jù)通路。(這是小杜目前的理解,如有錯(cuò)誤,還請(qǐng)批評(píng)指正)


下面是整個(gè)body( )代碼:

task body;  //發(fā)送數(shù)據(jù)  `uvm_create_on(req, sequencer)    ...//對(duì)req進(jìn)行處理  `uvm_send(req)    //獲取返回值并打印  get_response(rsp, req.get_transaction_id());  $display("rsp = ", rsp);
  //監(jiān)控并判斷rsp的具體位,滿足條件就停止仿真  if(rsp.data[x] == 'hxx) begin    $finish();  end
endtask: body

審核編輯:湯梓紅

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

    關(guān)注

    460

    文章

    52520

    瀏覽量

    440955
  • Response
    +關(guān)注

    關(guān)注

    0

    文章

    5

    瀏覽量

    8096
  • UVM
    UVM
    +關(guān)注

    關(guān)注

    0

    文章

    182

    瀏覽量

    19548
  • sequence
    +關(guān)注

    關(guān)注

    0

    文章

    23

    瀏覽量

    3013

原文標(biāo)題:日常 - UVM sequence機(jī)制中response的簡單使用

文章出處:【微信號(hào):小杜的芯片驗(yàn)證日記,微信公眾號(hào):小杜的芯片驗(yàn)證日記】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    UVM的field automation機(jī)制有哪些用途

    不知道UVM的field automation機(jī)制怎么翻譯,不管了,反正就是**機(jī)制,理解它能干啥就行了。
    的頭像 發(fā)表于 07-19 09:45 ?2417次閱讀

    IC驗(yàn)證“UVM驗(yàn)證平臺(tái)加入objection機(jī)制和virtual interface機(jī)制“(七)

    機(jī)制來控制驗(yàn)證平臺(tái)的關(guān)閉。細(xì)心的讀者可能發(fā)現(xiàn),在上節(jié)的例子,并沒有如**《IC驗(yàn)證"一個(gè)簡單UVM驗(yàn)證平臺(tái)"是如何搭建的(五)》**所示顯式地調(diào)用 finish語句來結(jié)束仿真
    發(fā)表于 12-09 18:28

    什么是UVM Report機(jī)制?

    UVM Report機(jī)制概述
    發(fā)表于 12-21 06:55

    UVM sequence分層有哪幾種方式呢

    種請(qǐng)求下可以使用第一種分層方式,在high-layer sequence依然使用low-layer sequencer進(jìn)行驅(qū)動(dòng),同時(shí)對(duì)low-layer sequence進(jìn)行更加精細(xì)化的控制
    發(fā)表于 04-11 16:37

    請(qǐng)問一下在UVM的UVMsequences是什么意思啊

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

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

    種請(qǐng)求下可以使用第一種分層方式,在high-layer sequence依然使用low-layer sequencer進(jìn)行驅(qū)動(dòng),同時(shí)對(duì)low-layer sequence進(jìn)行更加精細(xì)化的控制。在上面
    發(fā)表于 04-14 11:08

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

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

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

    get_response()去等待響應(yīng)item,driver也不需要set_id_info()和put()返回響應(yīng)item。壞處是,如果裁掉響應(yīng)部分的握手,sequence也就不知道driver什么時(shí)候完成
    發(fā)表于 09-23 14:39

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

    UVM sequence機(jī)制提供了生成和控制事務(wù)級(jí)(transaction level)測試激勵(lì)的方式,這種方式來源于工程實(shí)踐,讓測試用例的開發(fā)更加高效,同時(shí)也提高了測試激勵(lì)的可重用性。在UV
    發(fā)表于 09-23 14:42

    UVMseq.start()和default_sequence執(zhí)行順序

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

    淺談UVMsequence/item見解(上)

    item指的是uvm_sequence_item, Sequence Item具備UVM核心基類所必要的數(shù)據(jù)操作方法,對(duì)于激勵(lì)的生成和場景控制,是由sequence來編織的,item應(yīng)
    的頭像 發(fā)表于 02-19 15:52 ?5330次閱讀
    淺談<b class='flag-5'>UVM</b>之<b class='flag-5'>sequence</b>/item見解(上)

    UVM response_handler和get_response機(jī)制

    很多UVM用戶平時(shí)更多的使用get_response()方式去獲得uvm_driver的response,但get_response有些缺點(diǎn)
    的頭像 發(fā)表于 05-23 16:56 ?2348次閱讀
    <b class='flag-5'>UVM</b> <b class='flag-5'>response</b>_handler和get_<b class='flag-5'>response</b><b class='flag-5'>機(jī)制</b>

    UVMsequence的那些事兒

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

    UVMuvm_do宏簡析

    uvm_do宏及其變體提供了創(chuàng)建、隨機(jī)化和發(fā)送transaction items或者sequence的方法。
    的頭像 發(fā)表于 06-09 09:36 ?6000次閱讀
    <b class='flag-5'>UVM</b><b class='flag-5'>中</b>的<b class='flag-5'>uvm</b>_do宏簡析

    UVM設(shè)計(jì)sequence啟動(dòng)方式有哪幾種呢?

    本篇介紹UVMsequence,這是UVM中最基礎(chǔ)的部分。對(duì)于前面介紹的uvm_callback,
    的頭像 發(fā)表于 08-17 10:07 ?6089次閱讀
    <b class='flag-5'>UVM</b>設(shè)計(jì)<b class='flag-5'>中</b>的<b class='flag-5'>sequence</b>啟動(dòng)方式有哪幾種呢?