diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/test/resources/chisel3/VerilogVendingMachine.v | 47 | ||||
| -rw-r--r-- | src/test/scala/chiselTests/NamingAnnotationTest.scala | 5 |
2 files changed, 30 insertions, 22 deletions
diff --git a/src/test/resources/chisel3/VerilogVendingMachine.v b/src/test/resources/chisel3/VerilogVendingMachine.v index c01259bd..0902d1d2 100644 --- a/src/test/resources/chisel3/VerilogVendingMachine.v +++ b/src/test/resources/chisel3/VerilogVendingMachine.v @@ -10,35 +10,38 @@ module VerilogVendingMachine( ); parameter sIdle = 3'd0, s5 = 3'd1, s10 = 3'd2, s15 = 3'd3, sOk = 3'd4; reg [2:0] state; - wire [2:0] next_state; assign dispense = (state == sOk) ? 1'd1 : 1'd0; - always @(*) begin - case (state) - sIdle: if (nickel) next_state <= s5; - else if (dime) next_state <= s10; - else next_state <= state; - s5: if (nickel) next_state <= s10; - else if (dime) next_state <= s15; - else next_state <= state; - s10: if (nickel) next_state <= s15; - else if (dime) next_state <= sOk; - else next_state <= state; - s15: if (nickel) next_state <= sOk; - else if (dime) next_state <= sOk; - else next_state <= state; - sOk: next_state <= sIdle; - endcase - end - - // Go to next state always @(posedge clock) begin if (reset) begin state <= sIdle; end else begin - state <= next_state; + case (state) + sIdle: begin + if (nickel) state <= s5; + else if (dime) state <= s10; + else state <= state; + end + s5: begin + if (nickel) state <= s10; + else if (dime) state <= s15; + else state <= state; + end + s10: begin + if (nickel) state <= s15; + else if (dime) state <= sOk; + else state <= state; + end + s15: begin + if (nickel) state <= sOk; + else if (dime) state <= sOk; + else state <= state; + end + sOk: begin + state <= sIdle; + end + endcase end end endmodule - diff --git a/src/test/scala/chiselTests/NamingAnnotationTest.scala b/src/test/scala/chiselTests/NamingAnnotationTest.scala index 07962aaf..ec0874fc 100644 --- a/src/test/scala/chiselTests/NamingAnnotationTest.scala +++ b/src/test/scala/chiselTests/NamingAnnotationTest.scala @@ -67,6 +67,11 @@ class NamedModule extends NamedModuleTester { val myA = expectName(1.U + myNested, "test_myA") val myB = expectName(myA +& 2.U, "test_myB") val myC = expectName(myB +& 3.U, "test_myC") + + val myD = Seq(myC +& 1.U, myC +& 2.U) + for ((d, i) <- myD.zipWithIndex) + expectName(d, s"test_myD_$i") + myC +& 4.U // named at enclosing scope } |
