Verilog에서 Finite State Machine을 만들려고합니다. 이 시스템은 4 개 1-bit
입력rst
, clk
, A
, B
하나 개 출력, Z
있다.Verilog Finite State Machine
A는 마지막 두 클럭 에지에서 동일한 값을 가졌을 때 1과 같습니다.
또는 B는 마지막 규칙이 참 이후 모든 클럭 에지에서 하이 (1)였습니다.
그렇지 않으면 z=0
;
나는 내 시도를 시뮬레이트 할 수있는 도구가 없다. 그래서 이것이 올바른 방법인지 그리고 내가 올바른 길을 가고 있는지 궁금합니다.
module StateMachine(R, A, B, clk, Z);
input R, A, B, clk;
output reg Z;
reg ATemp;
reg state;
always @ (posedge clk or A)
if (A == 1'b1)
/////////////////
begin
if (ATemp == 1'b1) state <= 1'b1;
else ATemp <= A;
end
////////////////
else
////////////
begin
if (ATemp == 1'b0) state <= 1'b1;
else ATemp <= A;
end
always @ (state)
case(state)
1'b0: Z=0;
1'b1: Z=1;
default: Z=0;
endcase
endmodule
시뮬레이션 도구가없는 경우 일부를 가져와야합니다. 그렇지 않으면 의미가 없으며 시뮬레이션 없이는 아무데도 가지 않을 것입니다. – Tim
Sim Tools (30 일 데모를 제공하는 대부분의 상업용 툴)를 가지고있는 이유는 무엇입니까? –