[UVM]在對收到的Transaction做$cast(tr, temp.clone())操作后,member全變為0的問題

          UVM Factory機制的應用       

 

       在Reference model/Scoreboard/Subscriber中,當我們拿到一個Transaction之後,可能需要做$cast(tr, temp.clone())操作,但是有時候經過該運算后,tr中的member都變成0,這是什麼原因呢

       主要是因為沒有把相因的成員變量註冊到Factory中。

       一般地,在transaction定義的class中,我們應該要把所有的成員變量都使用field automation機制進行註冊。

 

       將成員變量註冊到Factory中之後,就可以使用以下常用的function:

  1. compare()
  2. copy()
  3. pack_bytes()
  4. unpack_bytes()
  5. pack()
  6. unpack()
  7. pack_ints()
  8. unpack_ints()
  9. print()

 

 

 

上一篇:Elasticsearch6.x和7.x版本常用插件汇总


下一篇:壳的编写(1)-- 简介与搭建框架