diff options
Diffstat (limited to 'fsm.v')
-rw-r--r-- | fsm.v | 28 |
1 files changed, 28 insertions, 0 deletions
@@ -0,0 +1,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 |