summaryrefslogtreecommitdiffstats
path: root/fsm.v
diff options
context:
space:
mode:
Diffstat (limited to 'fsm.v')
-rw-r--r--fsm.v28
1 files changed, 28 insertions, 0 deletions
diff --git a/fsm.v b/fsm.v
new file mode 100644
index 00000000..272c4a89
--- /dev/null
+++ b/fsm.v
@@ -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