SystemVerilog驗證編譯錯誤:關於動態變量的賦值問題

今天遇到一個編譯錯誤,
如下:
Reference to automatic variable and elements of dynamic variables is not allowed outside procedual blocks.

對應報錯的那行語句是:
assign a = model.path.a.value;
其中,model是對應的寄存器模型。
因爲model.path.a.value是一個automatic的值,所以這裏報錯。

解決辦法是:
將原來的
assign a = model.path.a.value;
改成
always @ (posedge clk)begin
a = model.path.a.value;
end
就行了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章