Skip to content

Commit 2f44f64

Browse files
committed
add smem->dram dma + test
1 parent 4ccf1d0 commit 2f44f64

2 files changed

Lines changed: 7 additions & 5 deletions

File tree

src/main/scala/gemmini/Scratchpad.scala

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -449,13 +449,15 @@ class Scratchpad[T <: Data, U <: Data, V <: Data](config: GemminiArrayConfig[T,
449449
// write_issue_q.io.deq.ready := writer.module.io.req.ready && writeData.valid
450450
writer.module.io.req.bits.vaddr := write_issue_q.io.deq.bits.vaddr
451451
writer.module.io.req.bits.physical := write_issue_q.io.deq.bits.dest
452-
writer.module.io.req.bits.len := Mux(writeData_is_full_width,
453-
write_issue_q.io.deq.bits.len * (accType.getWidth / 16).U,
454-
write_issue_q.io.deq.bits.len * (weightTypeProjected.getWidth / 4).U)
452+
writer.module.io.req.bits.len := Mux(writeData_is_full_width && !write_issue_q.io.deq.bits.laddr.is_acc_addr,
453+
write_issue_q.io.deq.bits.len * (weightTypeProjected.getWidth / 8).U,
454+
Mux( writeData_is_full_width,
455+
write_issue_q.io.deq.bits.len * (accType.getWidth / 16).U,
456+
write_issue_q.io.deq.bits.len * (weightTypeProjected.getWidth / 4).U))
455457

456458
writer.module.io.req.bits.data := MuxCase(writeData.bits, Seq(
457459
writeData_is_all_zeros -> 0.U,
458-
writeData_is_full_width -> fullAccWriteData
460+
(writeData_is_full_width && write_issue_q.io.deq.bits.laddr.is_acc_addr) -> fullAccWriteData
459461
))
460462
writer.module.io.req.bits.block := write_issue_q.io.deq.bits.block
461463
writer.module.io.req.bits.status := write_issue_q.io.deq.bits.status

0 commit comments

Comments
 (0)