談一談UVM中的p sequencer

2022-09-23 15:06:06 字數 1922 閱讀 7511

我們先來看乙個簡單的例子:

bird是乙個基類

class bird;

bit [3:0] src =0;

bit [3:0] drc = 1;

virtual task exec_task();

$display("in bird");

endtask

endclass

parr是乙個bird的擴充套件類

class parr extends bird;

bit [3:0] test =2;

virtual task exec_task();

$display("in parr");

endtask

endclass

top層呼叫

原因分析:

綜上:所以會報錯!

解決方案:a控制代碼指向的是b擴充套件類,c是擴充套件類的控制代碼,如果指向b擴充套件類物件是可以的。用cast做型別轉換,$cast(c,a),這樣的話就可以通過c的控制代碼訪問擴充套件類的中獨有的變數。參考$cast的用法:

修改top層**:

uvm_sequencer_base m_sequencer;是uvm_sequence中的protected變數。

巨集定義:`uvm_declare_p_sequencer(my_sequencer)

如果你沒有訪問my_sequencer中相對於uvm_sequencer_base中獨有的變數話,你是沒有必要宣告uvm_declare_p_sequencer這個巨集定義的。

談一談教育

今晚和研究生的師兄聊了會天,突然就說到教育的問題,有點感想,就寫下來,算是我對中國教育的一點看法吧。毫無疑問,中國的教育體制存在不少問題。在高中的時候或許還不是那麼明顯 對比起大學來說 上了大學,我才看清了我們教育的一些弊端。我覺得,最大的弊端,在於價值觀的引導問題上。不知道大家有沒和我一樣覺得當今...

談一談裁員

資本寒冬,經濟不景氣,要保持公司運作,可能會涉及到裁員。另外,有些員工的價值觀已經與公司不符,再留用可能會影響團隊和公司的和諧,此時也可能會涉及到裁員。裁員,不是說想裁就能裁的,需要考慮幾個方面 為什麼要裁?是否可以不裁?裁員是否會影響業務程序?裁員是否會付出經濟代價 賠償 裁員是否會負一定的法律責...

談一談C 的事件

c 中事件基於委託,要理解事件要先理解委託,如果覺得自己關於委託不是很了解可以看看我前面寫委託的文章 使用委託時,一般會出現兩種角色 廣播者 發布者 和訂閱者,這是乙個非常常見的模型 using system class program 定義 發布 委託 public delegate void p...