欧美性猛交xxxx免费看_牛牛在线视频国产免费_天堂草原电视剧在线观看免费_国产粉嫩高清在线观看_国产欧美日本亚洲精品一5区

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

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

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

UVM Heartbeat的作用有哪些呢?淺析UVM Heartbeat機(jī)制

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

1. 前言

在硬件電路中,為了使系統(tǒng)在異常情況下能自動(dòng)復(fù)位,一般都需要引入看門狗(Watchdog)??撮T狗其實(shí)就是一個(gè)定時(shí)器電路。當(dāng)看門狗啟動(dòng)后,計(jì)數(shù)器開始自動(dòng)計(jì)數(shù),經(jīng)過一定時(shí)間,如果沒有被清零,計(jì)數(shù)器溢出就會(huì)對(duì)CPU產(chǎn)生一個(gè)復(fù)位信號(hào)使系統(tǒng)重啟(俗稱“被狗咬”)。系統(tǒng)正常運(yùn)行時(shí),需要在看門狗允許的時(shí)間間隔內(nèi)對(duì)看門狗計(jì)數(shù)器清零(俗稱“喂狗”),不讓復(fù)位信號(hào)產(chǎn)生。如果系統(tǒng)不出問題,程序保證按時(shí)“喂狗”,一旦程序跑飛,沒有“喂狗”,系統(tǒng)“被咬”復(fù)位。

2. Heartbeat作用

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

  • 這將有助于識(shí)別導(dǎo)致死鎖的組件;
  • 通過提前終止仿真來節(jié)省仿真時(shí)間并釋放資源;

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

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

3. Heartbeat內(nèi)置函數(shù)

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

image.png

注意:uvm_event e 必須定期觸發(fā),它會(huì)設(shè)置一個(gè)監(jiān)視窗口。如果heartbeat監(jiān)視器在該時(shí)間段內(nèi)未發(fā)現(xiàn)任何活動(dòng),則會(huì)生成 HBFAIL UVM_FATAL消息。一般來說,事件e可以在無限循環(huán)中觸發(fā),作為一個(gè)永遠(yuǎn)持續(xù)的過程。

4. Heartbeat例子

根據(jù)heartbeat的作用和內(nèi)置函數(shù),舉個(gè)使用例子。

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

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

第三步就是創(chuàng)建uvm_heartbeat實(shí)例(假設(shè)為uvm_heartbeat hb=new("hb", this, obj)),在這里把obj傳遞進(jìn)去了。

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

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

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

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

image.png

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

    關(guān)注

    10

    文章

    566

    瀏覽量

    70958
  • 仿真器
    +關(guān)注

    關(guān)注

    14

    文章

    1019

    瀏覽量

    83962
  • 計(jì)數(shù)器
    +關(guān)注

    關(guān)注

    32

    文章

    2276

    瀏覽量

    95065
  • 定時(shí)器
    +關(guān)注

    關(guān)注

    23

    文章

    3256

    瀏覽量

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

    關(guān)注

    0

    文章

    182

    瀏覽量

    19236
收藏 人收藏

    評(píng)論

    相關(guān)推薦

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

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

    IC驗(yàn)證"為什么要學(xué)習(xí)UVM"

    什么?驗(yàn)證工程師驗(yàn)證工程師能夠從本書學(xué)會(huì)如下內(nèi)容:如何用UVM搭建驗(yàn)證平臺(tái),包括如何使用sequence機(jī)制、factory機(jī)制、callback機(jī)制、寄存器模型(register m
    發(fā)表于 12-01 15:09

    IC驗(yàn)證"UVM驗(yàn)證平臺(tái)加入factory機(jī)制"(六)

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

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

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

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

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

    數(shù)字IC驗(yàn)證之“什么是UVM”“UVM的特點(diǎn)”“UVM提供哪些資源”(2)連載中...

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

    什么是uvm?uvm的特點(diǎn)哪些

    直觀的印象,就是uvm驗(yàn)證平臺(tái),它是分層的結(jié)構(gòu)。圖中的每一個(gè)巨型框都代表著平臺(tái)的一個(gè)構(gòu)成元素。這些元素,我們稱為平臺(tái)組建,下面來簡單的分析一下。從最底層上來看,agent 中包含了driver,monitor和sequencer,其中driver ,monitor中也包
    發(fā)表于 02-14 06:46

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

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

    談?wù)?b class='flag-5'>UVM中的uvm_info打印

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

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

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

    UVM實(shí)戰(zhàn)卷1 PDF電子書免費(fèi)下載

    讀者思考UVM為什么要引入這些機(jī)制,從而使讀者知其然,更知其所以然。本書以一個(gè)完整的示例開篇,使得讀者一開始就對(duì)如何使用UVM搭建驗(yàn)證平臺(tái)總體的概念。針對(duì)沒有面向?qū)ο缶幊袒A(chǔ)的用戶,
    發(fā)表于 11-29 08:00 ?34次下載
    <b class='flag-5'>UVM</b>實(shí)戰(zhàn)卷1 PDF電子書免費(fèi)下載

    淺析UVM不同機(jī)制的調(diào)試功能

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

    UVMuvm_config_db機(jī)制背后的大功臣

    本次講一下UVM中的uvm_config_db,在UVM中提供了一個(gè)內(nèi)部數(shù)據(jù)庫,可以在其中存儲(chǔ)給定名稱下的值,之后可以由其它TB組件去檢索。
    的頭像 發(fā)表于 06-20 17:28 ?1551次閱讀

    UVMuvm_config_db機(jī)制背后的大功臣

    本次講一下UVM中的uvm_config_db,在UVM中提供了一個(gè)內(nèi)部數(shù)據(jù)庫,可以在其中存儲(chǔ)給定名稱下的值,之后可以由其它TB組件去檢索。
    的頭像 發(fā)表于 06-29 16:57 ?1399次閱讀

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

    本篇介紹UVM中的sequence,這是UVM中最基礎(chǔ)的部分。對(duì)于前面介紹的uvm_callback, uvm_visitor等,很少被使用到或者也只有搭建平臺(tái)的人會(huì)使用。
    的頭像 發(fā)表于 08-17 10:07 ?4783次閱讀
    <b class='flag-5'>UVM</b>設(shè)計(jì)中的sequence啟動(dòng)方式<b class='flag-5'>有</b>哪幾種<b class='flag-5'>呢</b>?