我必须为 1 mealy fsm 编写一个 verilog 程序。有很多技巧可以写出来。我会告诉你 1,我想知道它是否也有效(无需提及其他技术,只需说出是否有效以及为什么!)这里是:
module MealyFsm(out,in,clk,rst);
output out;
input in,clk,rst;
reg [1:0] q;
always @(posedge clk or negedge rst) begin
if (~rst)
q<=2'b00;
else
begin
q[0]<=~q[0] & q[1] & x | ~q[0] & x | q[1] & x;
q[1]<= q[1] & ~q[0] & ~x | ~q[1] & q[0] | q[0] & ~x;
end
end
assign y = ~x & q[0] & ~q[1];
endmodule
PS。我只对这种技术感兴趣,如果它错了,请尝试告诉我出了什么问题以便修复它