1. if-else 语句:
if-else 语句用于根据条件执行不同的代码块。基本语法如下:
module ExampleModule(
input wire a,
input wire b,
output reg result
);
always @(a or b) begin
// if-else 语句
if (a & b) begin
result = 1'b1;
end else begin
result = 1'b0;
end
end
endmodule
在上述例子中,如果 a 和 b 都为1,则 result 被赋值为1;否则,result 被赋值为0。
2. case 语句:
case 语句用于根据表达式的值选择执行不同的代码块。基本语法如下:
module ExampleModule(
input wire [1:0] sel,
output reg result
);
always @(sel) begin
// case 语句
case (sel)
2'b00: result = 1'b0;
2'b01: result = 1'b1;
2'b10: result = 1'b0;
2'b11: result = 1'b1;
default: result = 1'bx; // 默认情况
endcase
end
endmodule
在上述例子中,根据 sel 的值,result 被赋予不同的值。case 语句可以包含多个分支,每个分支使用一对冒号指定模式和相应的操作。如果没有匹配的模式,可以使用 default 关键字指定默认操作。
这些条件语句使得Verilog能够根据不同的条件执行不同的操作,从而实现灵活的控制流。
转载请注明出处:http://www.zyzy.cn/article/detail/15098/Verilog