Skip to content

Commit 6787717

Browse files
committed
Fix error in no spare column verilog
1 parent 81d20ec commit 6787717

File tree

3 files changed

+12
-10
lines changed

3 files changed

+12
-10
lines changed

compiler/base/verilog.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -56,14 +56,14 @@ def verilog_write(self, verilog_name):
5656
if self.write_size:
5757
self.vf.write("wmask{},".format(port))
5858
if self.num_spare_cols > 0:
59-
self.vf.write(" spare_wen{0},".format(port))
59+
self.vf.write("spare_wen{0},".format(port))
6060
self.vf.write("addr{0},din{0},dout{0}".format(port))
6161
elif port in self.write_ports:
6262
self.vf.write(" clk{0},csb{0},".format(port))
6363
if self.write_size:
6464
self.vf.write("wmask{},".format(port))
6565
if self.num_spare_cols > 0:
66-
self.vf.write(" spare_wen{0},".format(port))
66+
self.vf.write("spare_wen{0},".format(port))
6767
self.vf.write("addr{0},din{0}".format(port))
6868
elif port in self.read_ports:
6969
self.vf.write(" clk{0},csb{0},addr{0},dout{0}".format(port))
@@ -192,10 +192,10 @@ def add_inputs_outputs(self, port):
192192
self.vf.write(" input web{0}; // active low write control\n".format(port))
193193
if self.write_size:
194194
self.vf.write(" input [NUM_WMASKS-1:0] wmask{0}; // write mask\n".format(port))
195-
if self.num_spare_cols > 1:
196-
self.vf.write(" input [{1}:0] spare_wen{0}; // write mask\n".format(port, self.num_spare_cols-1))
197-
else:
198-
self.vf.write(" input spare_wen{0}; // write mask\n".format(port))
195+
if self.num_spare_cols == 1:
196+
self.vf.write(" input spare_wen{0}; // spare mask\n".format(port))
197+
elif self.num_spare_cols > 1:
198+
self.vf.write(" input [{1}:0] spare_wen{0}; // spare mask\n".format(port, self.num_spare_cols-1))
199199

200200
self.vf.write(" input [ADDR_WIDTH-1:0] addr{0};\n".format(port))
201201
if port in self.write_ports:

compiler/tests/golden/sram_2_16_1_freepdk45.v

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,8 +56,9 @@ reg [DATA_WIDTH-1:0] mem [0:RAM_DEPTH-1];
5656
// Write Operation : When web0 = 0, csb0 = 0
5757
always @ (negedge clk0)
5858
begin : MEM_WRITE0
59-
if ( !csb0_reg && !web0_reg )
60-
mem[addr0_reg] = din0_reg;
59+
if ( !csb0_reg && !web0_reg ) begin
60+
mem[addr0_reg][1:0] = din0_reg[1:0];
61+
end
6162
end
6263

6364
// Memory Read Block Port 0

compiler/tests/golden/sram_2_16_1_scn4m_subm.v

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,8 +56,9 @@ reg [DATA_WIDTH-1:0] mem [0:RAM_DEPTH-1];
5656
// Write Operation : When web0 = 0, csb0 = 0
5757
always @ (negedge clk0)
5858
begin : MEM_WRITE0
59-
if ( !csb0_reg && !web0_reg )
60-
mem[addr0_reg] = din0_reg;
59+
if ( !csb0_reg && !web0_reg ) begin
60+
mem[addr0_reg][1:0] = din0_reg[1:0];
61+
end
6162
end
6263

6364
// Memory Read Block Port 0

0 commit comments

Comments
 (0)