• Techo

[IC驗證] UVM實戰第二章, 建立UVM環境的一些細節

更新日期:6月 21


以下為我在"UVM實戰"這本書學習到的新觀念,我把他們筆記下來,

第二章的內容相當精采

筆者描述了從傳統 testbench 一步一步進化成 UVM 的過程

根據甚麼需求而使用 UVM framweork 套件來替換

藉此帶著讀者了解到使用UVM的好處以及其強大的之處

  1. run_test("class_name"), 此 class_name string 將會被實例化(instantiate),也就是使用 uvm_factory 中的 table 將此 class new 出來

  2. 在每個有時間的 phase 中可以使用 objection,只有當 drop_bojection 發生時才會真正結束此 phase

  3. virtual interface 之所以是 virtual 是因為在 class 裡面不能使用 interface,所以透過 virtual interface 如同 interface pointer 一般在 driver 存取 interface 上的訊號

  4. uvm_sequence_item 使用 `uvm_object_utils (非`uvm_component_utils)來使用 factory 的原因在於 uvm_object 與 uvm_component的不同,component 是 simulation 期間都存在的,而 object 則有生命週期

  5. 使用註冊在 factory 的 class 如果使用 create 來創造 instance,則能在 run time 期間被 override

  6. transaction 使用 pack_bytes 與 unpack_bytes 可省去寫 byte select 的 loop

  7. 在 driver 裡面使用 try_next_item 和 get_next_item 的差別是 nobloking ,所以 try的話都會拿到 req ,但是 req 可能是 NULL


191 次瀏覽
Logo2020.JPG
  • Instagram - White Circle
  • Google+ - White Circle
  • Facebook - White Circle

Contact Us

Techo私人程式家教

官方LINE ID : @tutortecho

zh-Hant.png

© Copyright 2018 by Sherry Wu and Techo Chao.

Proudly created with Wix.com,

but page loading is too slow,so I don't recommend it.