我正在尝试为1热编码的简单LED开关按钮构建一个StateMachine。LED开关的简单Verilog示例?
特别是我试图了解阻塞和nonblocking作业与我的例子。
你会不会做得更好,或者在任何区块都完全错误?
module example (
input clk,
input rst,
input push,
output reg led_on
);
reg on;
reg off;
reg t_on_off;
reg t_off_on;
always @* begin
t_on_off = on & (push);
end
always @* begin
t_off_on = off & (push);
end
always @(posedge clk or posedge rst) begin
if (rst) on <= 1'b0;
else if (t_off_on) on <= 1'b1;
else if (t_on_off) on <= 1'b0;
end
always @(posedge clk or posedge rst) begin
if (rst) off <= 1'b1;
else if (t_off_on) off <= 1'b0;
else if (t_on_off) off <= 1'b1;
end
always @* begin
led_on = on;
end
endmodule
特别是我想知道:我可以在转换的任务结合成一个单独的块,如:
always @* begin
t_on_off = on & (push);
t_off_on = off & (push);
end
?