線網型數據對象:
是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]);