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

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

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

3天內不再提示

UVM Heartbeat的作用有哪些呢?淺析UVM Heartbeat機制

冬至子 ? 來源:CSDN ? 作者:谷公子 ? 2023-09-08 15:35 ? 次閱讀

1. 前言

在硬件電路中,為了使系統在異常情況下能自動復位,一般都需要引入看門狗(Watchdog)。看門狗其實就是一個定時器電路。當看門狗啟動后,計數器開始自動計數,經過一定時間,如果沒有被清零,計數器溢出就會對CPU產生一個復位信號使系統重啟(俗稱“被狗咬”)。系統正常運行時,需要在看門狗允許的時間間隔內對看門狗計數器清零(俗稱“喂狗”),不讓復位信號產生。如果系統不出問題,程序保證按時“喂狗”,一旦程序跑飛,沒有“喂狗”,系統“被咬”復位。

2. Heartbeat作用

UVM heartbeat在UVM中充當類似看門狗定時器的角色,我們可以設定它的定時長度,也就是在這時間內必須要喂狗,還可以設定heartbeat要監控的組件。uvm_heartbeat 監視測試環境中組件的活動,如果發現在指定的時間間隔內沒有活動,則 uvm_heratbeat 發出UVM_FATAL消息,導致模擬結束,可以在早期階段檢測仿真掛住,而不是在全局仿真超時到期時檢測:

  • 這將有助于識別導致死鎖的組件;
  • 通過提前終止仿真來節省仿真時間并釋放資源;

既然uvm_heartbeat類似于看門狗,那么在使用上,只需要關注以下三件事:

  • 配置它的定時長度 (這段時間內沒有喂狗就終止仿真)
  • 配置它需要監控的對象 (由哪些對象去喂狗)
  • 設置多長時間喂狗 (正常情況下這個時間要小于步驟1的定時長度,除非TB或RTL出問題了)

3. Heartbeat內置函數

uvm_heartbeat 類派生自 uvm_object,它提供一組內置方法來方便用戶使用。有如下:

image.png

注意:uvm_event e 必須定期觸發,它會設置一個監視窗口。如果heartbeat監視器在該時間段內未發現任何活動,則會生成 HBFAIL UVM_FATAL消息。一般來說,事件e可以在無限循環中觸發,作為一個永遠持續的過程。

4. Heartbeat例子

根據heartbeat的作用和內置函數,舉個使用例子。

第一步創建喂狗的uvm_objection實例(假設為uvm_objection obj=new(“obj”)),這個objection需要傳遞給uvm_heartbeat和所有被監控組件,被監控組件需要定期去raise這個obj來達到喂狗的目的。

第二步創建觸發監控窗口的uvm_event實例(假設為uvm_event hb_e=new(“hb_e”)),這個event決定了多長時間去檢查下是否有組件喂狗了,也就是raise objection。

第三步就是創建uvm_heartbeat實例(假設為uvm_heartbeat hb=new("hb", this, obj)),在這里把obj傳遞進去了。

第四步設置uvm_heartbeat的工作模式,比如hb.set_mode(UVM_ANY_ACTIVE)。

第五步設置uvm_heartbeat觸發檢查的event和檢查對象,比如hb.set_heartbeat(hb_e,hb_comp)。這里面把event hb_e和監控組件列表comp傳遞給uvm_heartbeat了。

此時uvm_heartbeat就正式開始工作了,在hb_e每次被trigger()的時候,根據當前工作模式去檢查各個被監控組件是否有調用過obj.raise_objection(this)。如果沒有,就會停止仿真,表明驗證環境有異常情況。另外一點大家主要注意的是,被監控的多個組件raise的objection是同一個,也就是obj這個實例,因此需要在上層創建好obj之后,把句柄傳遞給各個被監控組件去raise。

以下為uvm_heartbeat監控兩個組件(compA和compB)的示意圖,uvm_heartbeat模式為UVM_ALL_ACTIVE。第一張圖,在檢查窗口內,compA和compB都有喂狗,檢查通過。第二張圖,在檢查窗口內,只有compB喂狗,compA沒有喂狗,因此檢查失敗,會報出UVM_FATAL。

image.png

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

    關注

    10

    文章

    566

    瀏覽量

    70893
  • 仿真器
    +關注

    關注

    14

    文章

    1019

    瀏覽量

    83871
  • 計數器
    +關注

    關注

    32

    文章

    2259

    瀏覽量

    94860
  • 定時器
    +關注

    關注

    23

    文章

    3254

    瀏覽量

    115149
  • UVM
    UVM
    +關注

    關注

    0

    文章

    182

    瀏覽量

    19205
收藏 人收藏

    評論

    相關推薦

    UVM中的field automation機制哪些用途

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

    IC驗證"為什么要學習UVM"

    什么?驗證工程師驗證工程師能夠從本書學會如下內容:如何用UVM搭建驗證平臺,包括如何使用sequence機制、factory機制、callback機制、寄存器模型(register m
    發表于 12-01 15:09

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

      加入factory機制 上一節《IC驗證"一個簡單的UVM驗證平臺"是如何搭建的(五)》給出了一個只有driver、使用UVM搭建的驗證平臺。嚴格來說這根本就不算是UVM驗證
    發表于 12-08 12:07

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

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

    什么是UVM Report機制

    UVM Report機制概述
    發表于 12-21 06:55

    數字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

    請問有人用過ESP_BLE_MESH的heartbeat的功能嗎?

    1、請問有人用過ESP_BLE_MESH 的heartbeat 的功能嗎?我想請教下在節點的代碼中 要如何 配置該功能?2、是不是正確設置了節點 的heartbeat_pub 信息
    發表于 03-07 09:05

    談談UVM中的uvm_info打印

      uvm_info宏的定義如下:  `define uvm_info(ID,MSG,VERBOSITY) \  begin \  if (uvm_report_enabled(VERBOSITY
    發表于 03-17 16:41

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

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

    UVM實戰卷1 PDF電子書免費下載

    讀者思考UVM為什么要引入這些機制,從而使讀者知其然,更知其所以然。本書以一個完整的示例開篇,使得讀者一開始就對如何使用UVM搭建驗證平臺總體的概念。針對沒有面向對象編程基礎的用戶,
    發表于 11-29 08:00 ?34次下載
    <b class='flag-5'>UVM</b>實戰卷1 PDF電子書免費下載

    淺析UVM不同機制的調試功能

    作為UVM的用戶,我們需要相信在絕大部分情況下這些機制本身是沒有問題的。因此,從頂層獲得有效的調試信息就非常關鍵,比起潛入到內部要高效得多。 這也是本文的目的,盤點UVM針對不同機制
    的頭像 發表于 02-14 16:23 ?1362次閱讀
    <b class='flag-5'>淺析</b><b class='flag-5'>UVM</b>不同<b class='flag-5'>機制</b>的調試功能

    UVMuvm_config_db機制背后的大功臣

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

    UVMuvm_config_db機制背后的大功臣

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

    UVM設計中的sequence啟動方式哪幾種

    本篇介紹UVM中的sequence,這是UVM中最基礎的部分。對于前面介紹的uvm_callback, uvm_visitor等,很少被使用到或者也只有搭建平臺的人會使用。
    的頭像 發表于 08-17 10:07 ?4637次閱讀
    <b class='flag-5'>UVM</b>設計中的sequence啟動方式<b class='flag-5'>有</b>哪幾種<b class='flag-5'>呢</b>?
    主站蜘蛛池模板: 奇米狠狠干| 91极品蜜桃臀在线播放| 国色天香视频在线社区| 伊人精品在线| 翘臀少妇被扒开屁股日出水爆乳 | 久久99热成人精品国产| 2020国产成人精品视频人| 日韩在线av免费视久久| 精品亚洲视频在线观看| www.精品视频| 亚洲日本欧美产综合在线| 欧美国产成人在线| 国产在线伊人| JIZZ学生13| 亚洲人精品午夜射精日韩| 欧洲-级毛片内射八十老太婆| 国产一区二区在线免费观看| av女优快播| 亚洲一区在线播放| 日韩一本在线| 伦理片飘花免费影院| 国产精品乱人无码伦AV在线A| 2020国产成人精品视频人| 迅雷成人论坛| 日本久久久久久久做爰片日本| 久久AV无码AV高潮AV不卡| 国产国产乱老熟视频网站| 97国产露脸精品国产麻豆| 亚洲精品无码不卡在线播放he| 全黄H全肉细节文NP| 久久视热频这里只精品| 国产蜜臀AV在线一区视频| av在线观看地址| 在线亚洲中文精品第1页| 亚洲va在线va天堂XX xX| 日本浴室日产在线系列| 免费毛片播放| 久久精品国产免费| 国产人妻人伦精品9| www.欧美与曽交性video| 18 japanese宾馆直播|