verilog HDL-並行語句之assign


線網型數據對象:

是verilog hdl常用數據對象之一,起到電路節點之間的互聯作用,類似於電路板上的導線。

wire是verilog hdl默認的線網型數據對象。

線網型數據對象的讀操作在代碼任何位置都可以使用;

寫操作只能在assign連續賦值語句中使用。

assign連續賦值語句:

基本格式:assign var=表達式

其中,assign是verilog hdl中的關鍵字,表示這是一條連續賦值語句;var是被賦值的對象,var可以是一個完整的變量,也可以是向量變量中的位選擇或者部分位選擇,也可以是幾個變量的組合,但是必須是線網型變量。表達式可以只是某個輸入類型或者雙向類型的端口名,還可以是某個變量,也可以是向量變量的為選擇或者部分位選擇,也可以是幾個變量的組合,也可以是變量與操作符的組合,還可以是函數的調用。

意義:只要表達式的值發生變化,var就會被驅動,進而值發生變化。

多條assign連續賦值語句之間互相獨立並行執行。

舉例:

連續賦值語句實現輸入與輸出相連

assign do=da[0];

****************************************************************************

wire [3:0] flag_key = key_scan_r[3:0] & (~key_scan[3:0]);

 

這個寫法相當於

wire [3:0] flag_key;

assign flag_key=key_scan_r[3:0] & (~key_scan[3:0]);

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM