summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSchuyler Eldridge2019-01-17 17:45:56 -0500
committerGitHub2019-01-17 17:45:56 -0500
commit6f4f5dd24adf815f1db81ceb7086eaa399784e6f (patch)
tree6116e128b6258ed5eee7d042d0fabbd14dcb3df7 /src
parent1e4fef2e933e01b692c57af1fd64b271829ab283 (diff)
parent685790b2c6c7ff8ddfd34f2f84572a985d3416cc (diff)
Merge branch 'master' into improve-andr
Diffstat (limited to 'src')
-rw-r--r--src/test/resources/chisel3/VerilogVendingMachine.v47
-rw-r--r--src/test/scala/chiselTests/NamingAnnotationTest.scala5
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
}