• Techo

[IC驗證] UVM實戰第三章,你所不知的uvm_component 細節

這一章節提到了許多 uvm_component 與 uvm_object 的差異

並且提到使用 uvm_component 來建構整個驗證環境的設計理念

  1. uvm_component 比 uvm_object 多了兩個 attribute,一是 new 時的 parent 參數,二是自動執行的 phase

  2. uvm_driver 比 uvm_component 多了uvm_seq_item_pull_port seq_item_port, uvm_analysis_port rsp_port通道物件,以兩宣告兩個 uvm_sequence_item req 和 rsp物件

  3. uvm_agent 比 uvm_component 多了 is_active enum member來切換此 agent 是否需要 driver

  4. uvm_object 的 clone method 無法用在 uvm_component ,因 parent 無法指定

  5. uvm_component instantiate 時一定要給 parent 的原因是要設定 parent 內部的m_children pointer ,因此才能夠在compile時檢查此 component 是否有這個 member

  6. uvm component 是使用 tree data structure ,如第五點,每個 node 都儲存children's pointers

  7. 如果 uvm_component 的 parent 被設成 NULL,則此 component 將會被設成 uvm_top (uvm_root),這種方式可以保證整個平台只有一個 tree,所以 UVM 在產生整個環境時會使用一個 uvm_top instance 來當作 uvm_test 的 parent



79 次瀏覽
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.