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修飾符取代之.當前...