【verilog】四、數據流建模

-數據流建模:根據數據在寄存器之間的流動和處理過程對電路進行描述,而不是直接對電路的邏輯門進行實例引用。

-連續賦值語句:Verilog數據流建模的基本語句,用於對線網進行賦值。

驅動強度是可選項,默認值爲strong1和strong0;

延遲值是可選項;

1、連續賦值語句左值必須是一個標量或是向量線網,或是兩者拼接。

2、連續賦值語句總是處於激活狀態。

3、操作數可以是標量、向量線網、寄存器、函數調用。

4、賦值延遲類似於門延遲,用於控制對線網賦予新值的時間。

e.g.:

 assign out = i1 & i2;

 assign addr[15:0] =  addr1_bits[15:0] ^ addr2_bits[15:0];

-隱式連續賦值:在線網聲明的同時對其進行賦值。

 

-隱式線網聲明:

1、如果一個信號名被用在連續賦值語句的左側,那麼Verilog編譯器默認該信號是一個隱式聲明的線網;

2、如果線網被連接到模塊的端口上,則Verilog編譯器認爲隱式聲明線網的寬度等於模塊端口的寬度;

-延遲:用於控制任一操作數發生變化到語句左值被賦予新值的時間間隔。

-普通賦值延遲:在連續賦值的語句中說明延遲值,延遲值位於關鍵字assign之後。若在延遲時間範圍內,即在左值獲得新值之前,輸入值發生變化,那麼在計算表達式的新值時會取輸入值的當前值,稱爲慣性延遲,即脈衝寬度小於賦值延遲的輸入變化不會對輸出產生影響。

 assign #10 out = in1 & iin2;

 

-隱式連續賦值延遲:

 

-線網聲明延遲:在聲明線網時指定一個延遲。

 

-表達式、操作符、操作數:

-表達式:操作符與操作數構成,同C;

-操作數:可以是常數、整數、實數、線網、寄存器、時間、位選、域選、存儲器、函數調用。

-操作符:見下一篇中操作符

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