diff options
| author | azidar | 2015-10-26 15:12:42 -0700 |
|---|---|---|
| committer | azidar | 2016-01-16 14:28:16 -0800 |
| commit | 50ef3c4aa6c0ce8edb3f9d3fa7ac6bb5d081de7f (patch) | |
| tree | f46024cd2582c8a48826a6c2113853abbc4f7e3c /test/passes/to-verilog/wr-mem.fir | |
| parent | 6a3a56d2870f2ba87854076857b4aee2909f94b8 (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.fir | 36 |
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 + |
