summaryrefslogtreecommitdiffstats
path: root/fsm.v
blob: 272c4a8986fcd3d73711a8ae2bca9d3a1062813e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
module fsm (out);
output out; 

wire [2:0] ns; 
wire [2:0] cs;

always @( ns or cs )
begin
case (cs)
    0 : ns = 3'b010;
    1 : ns = 3'b001;
    2 : ns = 3'b000;
    3 : ns = 3'b101;
    4 : ns = 3'b001;
    5 : ns = 3'b111;
    6 : ns = 3'b001;
    7 : ns = 3'b110;
endcase
end

assign out = cs == 3'b001; 

wire [2:0] const0 = 3'h0;


CPL_FF#3 ff3 ( .q(cs), .qbar(), .d(ns), .clk(), .arst(), .arstval(const0) );

endmodule