「always 」中 所代表的意思

2021-09-12 17:15:47 字數 1373 閱讀 1995

1.在verilog中,'*'只包括該模組中的所有型號,沒在該模組**現的訊號不包含於'*'。

在絕大多數變成語言中,'*'都是表示包括所有可能,那麼在verilog中是不是也一樣呢?為此,我用modelsim做了乙個實驗。

//被測試的電路                                             

module  test(in,en,rst_n,out);

input     [1:0]     in;

input             en;

input     [1:0]     rst_n;

output   [3:0]     out;

reg         [3:0]     out;

always  @(*)begin

if(!rst_n)

out=0;

else

out=out+in;

endendmodule

//測試電路,testbench

``timescale 10ps/1ps

module  test_tb;

reg   [1:0]   in;

reg           en;

reg   [1:0]   rst_n;

wire  [3:0]   out;

initial begin

#1  in=1;

#1  en=0;

#1  rst_n=1;

#1  rst_n=0;

#1  rst_n=1;

#1  rst_n=2;

#1  rst_n=3;

#1  in=1;

#1  in=2;

#1  in=3;

endalways  #1  en=~en;

test test_top(in,en,rst_n,out);

endmodule

說明:這裡,被測試的電路中,輸出out等於其本身加上輸入in,但要在'*'的激發下才能進行;在testbench  電 路中,首先復位並初始化各個訊號的值,然後再改變各個訊號的值,觀察out值的變化,以此來確定'*'所代表的訊號。

由**後的波形中可以看出:(1)當rst_n復位後,也就是從1變成0時,out變成0,而out賦值語句是包含在always @(*)中的,這就說明rst_n的變化激發了always模組的執行,則rst_n訊號是包含在'*'中的。後面,rst_n每變一次值,out都加上in的值,也證明了'*'包括了rst_n訊號。(2)之後,in每變一次值,always模組都執行一次,out都加上了此時的in值,則說明'*'也包括了in訊號。(3)再往後,en不停的從0變成1再變成0,但out的值始終沒變,則說明'*'不包括en訊號。

ORACLE ERROR CODE代表的意思

標準的 sqlexception 提供了乙個標準化的資訊段 sqlstate 和乙個 商特有的資訊段 errorcode 正如大多數的資料庫和它們的 jdbc 驅動程式實現一樣,oracle 資料庫和 jdbc 驅動程式通過 商特有的錯誤碼所提供的關於問題的詳細資訊要比通過 sqlexception...

標準符號代表的意思彙總

我國現行的通訊行業標準分為強制性標準 yd 推薦性標準 yd t 參考性標準 ydc 技術報告 ydb 和通訊技術規定 ydn 5種型別,其中技術報告 ydb 是從2007年開始發布的。yd b y b ou b d b ian,代表 郵電部 資訊產業部的前身,以前郵政 電信還沒有分家 ydt b ...

PERL各個符號代表的意思

當前頁可列印的行數,屬於perl格式系統的一部分 根據上下文內容返回錯誤號或者錯誤串 列表分隔符 列印數字時預設的數字輸出格式 perl直譯器的程序id 當前輸出通道的當前頁號 與上個格式匹配的字串 當前程序的組id 當前程序的有效組id 設定1表示處理多行格式.現在多以 s和 m修飾符取代之.當前...