@@ -28,7 +28,7 @@ class ScalingFactorMemIO(addrWidth: Int, dataWidth: Int, numRows: Int, numCols:
2828
2929class ScalingFactorMem (
3030 depth : Int = 128 ,
31- bankWidth : Int = 128 ,
31+ sramWidth : Int = 128 ,
3232 actOutputScalingWidth : Int = 8 ,
3333 numBanks : Int = 8 ,
3434 testConfig : Boolean = false ,
@@ -37,12 +37,12 @@ class ScalingFactorMem(
3737) extends Module {
3838
3939 val rowAddrWidth = log2Ceil(depth)
40- val bytesPerBank = bankWidth / 8
40+ val bytesPerBank = sramWidth / 8
4141 val AddrWidth = rowAddrWidth + log2Ceil(numBanks)
4242 val bankaddressWidth = log2Ceil(numBanks)
4343 val totalScales = 32
4444 val counterWidth = log2Ceil(totalScales)
45- val writeDataWidth = bankWidth * 2
45+ val writeDataWidth = sramWidth * 2
4646 val io = IO (new ScalingFactorMemIO (
4747 AddrWidth ,
4848 writeDataWidth,
@@ -77,7 +77,7 @@ class ScalingFactorMem(
7777 val weight_buffer_0_read_enable = RegInit (false .B )
7878 val weight_buffer_1_read_enable = RegInit (false .B )
7979 val weight_write_counter = RegInit (0 .U (8 .W ))
80- val write_row_addr_w = io.scale_mem_write_w.bits.addr + (write_baseAddr_w >> (log2Ceil( 2 * meshRows * tileRows)))
80+ val write_row_addr_w = io.scale_mem_write_w.bits.addr
8181
8282 val weight_buffer_write_full = RegInit (false .B )
8383 when(io.scale_mem_write_w.fire) {
@@ -110,7 +110,7 @@ class ScalingFactorMem(
110110 val act_buffer_0_read_enable = RegInit (false .B )
111111 val act_buffer_1_read_enable = RegInit (false .B )
112112 val act_write_counter = RegInit (0 .U (8 .W ))
113- val write_row_addr_act = io.scale_mem_write_act.bits.addr + (write_baseAddr_act >> (log2Ceil( 2 * meshRows * tileRows)))
113+ val write_row_addr_act = io.scale_mem_write_act.bits.addr
114114 when(io.scale_mem_write_act.fire) {
115115 val write_bytes_low = io.scale_mem_write_act.bits.data(bytesPerBank * 8 - 1 , 0 ).asTypeOf(bankDataT)
116116 val write_bytes_high = io.scale_mem_write_act.bits.data(bytesPerBank * 2 * 8 - 1 , bytesPerBank * 8 ).asTypeOf(bankDataT)
@@ -142,17 +142,17 @@ class ScalingFactorMem(
142142 when(io.read_req.fire && io.read_req.bits.scaling_enable){
143143 act_read_buffer_select := ~ act_read_buffer_select
144144 weight_read_buffer_select := ~ weight_read_buffer_select
145- when(act_buffer_0_read_enable && ((act_write_counter === read_row_addr))){
145+ when(act_buffer_0_read_enable && ((write_row_addr_act === read_row_addr))){
146146 act_buffer_0_read_enable := false .B
147147 }
148- when(act_buffer_1_read_enable && ((act_write_counter === read_row_addr))){
148+ when(act_buffer_1_read_enable && ((write_row_addr_act === read_row_addr))){
149149 act_buffer_1_read_enable := false .B
150150 }
151151
152- when(weight_buffer_0_read_enable && ((weight_write_counter === read_row_addr))){
152+ when(weight_buffer_0_read_enable && ((write_row_addr_w === read_row_addr))){
153153 weight_buffer_0_read_enable := false .B
154154 }
155- when(weight_buffer_1_read_enable && ((weight_write_counter === read_row_addr))){
155+ when(weight_buffer_1_read_enable && ((write_row_addr_w === read_row_addr))){
156156 weight_buffer_1_read_enable := false .B
157157 }
158158 }
@@ -188,8 +188,8 @@ class ScalingFactorMem(
188188 read_fire_real && act_buffer_1_read_enable && weight_buffer_1_read_enable && (act_bank_sel === 3 .U ), // bank 3
189189 read_fire_real && weight_buffer_0_read_enable && act_buffer_0_read_enable && (weight_bank_sel === 0 .U ), // bank 4
190190 read_fire_real && weight_buffer_0_read_enable && act_buffer_0_read_enable && (weight_bank_sel === 1 .U ), // bank 5
191- read_fire_real && weight_buffer_1_read_enable && act_buffer_0_read_enable && (weight_bank_sel === 2 .U ), // bank 6
192- read_fire_real && weight_buffer_1_read_enable && act_buffer_0_read_enable && (weight_bank_sel === 3 .U ) // bank 7
191+ read_fire_real && weight_buffer_1_read_enable && weight_buffer_1_read_enable && (weight_bank_sel === 2 .U ), // bank 6
192+ read_fire_real && weight_buffer_1_read_enable && weight_buffer_1_read_enable && (weight_bank_sel === 3 .U ) // bank 7
193193 ))
194194
195195
0 commit comments