if-else 语句:
module IfElseExample (
input wire a,
input wire b,
output wire result
);
// if-else 语句
always @*
begin
if (a & b) begin
// 条件为真时执行的语句块
result = 1'b1;
end
else begin
// 条件为假时执行的语句块
result = 1'b0;
end
end
endmodule
在上面的例子中,如果 a & b 为真,将执行 result = 1'b1;;否则,将执行 result = 1'b0;。
case 语句:
module CaseStatementExample (
input wire [1:0] sel,
output wire result
);
// case 语句
always @*
begin
case (sel)
2'b00: result = 1'b0;
2'b01: result = 1'b1;
2'b10: result = 1'b1;
2'b11: result = 1'b0;
default: result = 1'bx; // 默认情况
endcase
end
endmodule
在上面的例子中,case 语句根据输入信号 sel 的值执行相应的语句块。如果 sel 的值为 2'b01,则执行 result = 1'b1;。
请注意,Verilog中的条件语句可以嵌套,也可以包含多个 else if 分支。选择使用哪种条件语句取决于具体的设计需求和代码清晰度。
转载请注明出处:http://www.pingtaimeng.com/article/detail/11028/Verilog