aboutsummaryrefslogtreecommitdiff
path: root/test/passes/to-verilog/wr-mem.fir
diff options
context:
space:
mode:
authorazidar2015-10-26 15:12:42 -0700
committerazidar2016-01-16 14:28:16 -0800
commit50ef3c4aa6c0ce8edb3f9d3fa7ac6bb5d081de7f (patch)
treef46024cd2582c8a48826a6c2113853abbc4f7e3c /test/passes/to-verilog/wr-mem.fir
parent6a3a56d2870f2ba87854076857b4aee2909f94b8 (diff)
WIP need to correctly output readwrite ports
Diffstat (limited to 'test/passes/to-verilog/wr-mem.fir')
-rw-r--r--test/passes/to-verilog/wr-mem.fir36
1 files changed, 36 insertions, 0 deletions
diff --git a/test/passes/to-verilog/wr-mem.fir b/test/passes/to-verilog/wr-mem.fir
new file mode 100644
index 00000000..7641e894
--- /dev/null
+++ b/test/passes/to-verilog/wr-mem.fir
@@ -0,0 +1,36 @@
+; RUN: firrtl -i %s -o %s.v -X verilog &> %s.out ; cat %s.v | FileCheck %s
+
+circuit top :
+ module top :
+ input wdata : UInt<32>
+ input index : UInt<2>
+ input wen : UInt<1>
+ input clk : Clock
+
+ smem m : UInt<32>[4],clk
+ write accessor c = m[index]
+ when wen :
+ c := wdata
+
+; CHECK: module top(
+; CHECK: input [31:0] wdata,
+; CHECK: input [1:0] index,
+; CHECK: input [0:0] wen,
+; CHECK: input [0:0] clk
+; CHECK: );
+; CHECK: reg [31:0] m [0:3];
+; CHECK: `ifndef SYNTHESIS
+; CHECK: integer initvar;
+; CHECK: initial begin
+; CHECK: #0.002;
+; CHECK: for (initvar = 0; initvar < 4; initvar = initvar+1)
+; CHECK: m[initvar] = {1{$random}};
+; CHECK: end
+; CHECK: `endif
+; CHECK: always @(posedge clk) begin
+; CHECK: if(wen) begin
+; CHECK: m[index] <= wdata;
+; CHECK: end
+; CHECK: end
+; CHECK: endmodule
+