您好,登錄后才能下訂單哦!
小編給大家分享一下UVM模型中uvm_component與uvm_object的示例分析,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
為什么UVM中會分成uvm_component與uvm_object兩大類呢?
自古以來,人類在搜索世界的時候,總是在不斷的尋找規律,并且通過所尋找到的規律來把所遇到的事物,所看到的現象分類。因為世界太復雜,只有把有共性的萬物分類,從而按照類別來識別萬物,這樣才能大大降低人類認識世界的難度。比如世界的生命有千萬種,但是只有動物和植物兩類。遇到一個生命的時候,我們會不自覺的判斷它是一個動物還是植物,并且把動物或者植物的特性預加到這種生命的身上,接下來用動物或者植物的方法來研究這個生命,從而加快對于這個生命的認知過程。
UVM很明顯吸收了這種哲學,分類,然后分別管理。想象一下,加入UVM中不分uvm_object與uvm_component,所有的東西都是uvm_object,那么該是多么恐怖的一件事?這相當于我們直接與分子打交道,費時費力,不易于使用。
systemverilog作為一門編程語言,相當于是提供了最基本的原子,其使用起來相當麻煩。為了減少這種麻煩,我們有了UVM,假如UVM中全部都是uvm_object的話,也就是全部都是分子,分子雖然比原子好用一些,但是依然超脫于普通人的成熟范圍之外。只有當我們把分子組合成一個又一個生命體的時候,用起來才會比較順手。
uvm_component那么好用,為什么不把所有的東西都做成uvm_component的形式呢?因為uvm_component是高級生命體,有其自己鮮明的特征。驗證平臺中并不是所有的東西都有這種鮮明的特征。
一個簡單的例子:uvm_component在整個仿真中是一直村子啊的,但是加入我們要發送一個transaction(激勵)給DUT,此transaction(激勵)可能只需要幾毫秒就可以發送完,根本沒有必要一直存在在整個仿真中。生命是多樣化的,要既允許uvm_component這樣的高級生命存在,也要允許transaction這種如流星一閃而逝的東西存在。
看完了這篇文章,相信你對“UVM模型中uvm_component與uvm_object的示例分析”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。