一、問題描述
if 語句通常創(chuàng)建一個 2 對 1 多路復用器,如果條件為 true,則選擇一個輸入,如果條件為 false,則選擇另一個輸入。
always @(*) begin
if (condition) begin
out = x;
end
else begin
out = y;
end
end
這等效于使用帶有條件運算符的連續(xù)賦值:
assign out = condition ? (x : y);
使用if語句不當時會產(chǎn)生不想要的鎖存器,想要if語句生成組合邏輯必須讓其所有情形下都有對應的分支語句。文章來源:http://www.zghlxwxcb.cn/news/detail-739994.html
構(gòu)建一個 2 對 1 多路復用器,在 a 和 b 之間進行選擇。選擇 b 是否兩者都 sel_b1 sel_b2 為 true。否則,請選擇 a 。執(zhí)行兩次相同的操作,一次使用 assign語句,一次使用 if 過程語句。文章來源地址http://www.zghlxwxcb.cn/news/detail-739994.html
二、verilog源碼
到了這里,關(guān)于hdlbits系列verilog解答(always塊if語句)-31的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!