Skip to content

Commit

Permalink
[FORNEY] Flatten 2D errValAccumVec(i)(j) into 1D errValVec(idx).
Browse files Browse the repository at this point in the history
  • Loading branch information
egorman44 committed Feb 13, 2025
1 parent 295c53a commit d757aa5
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 4 deletions.
1 change: 1 addition & 0 deletions src/main/scala/Config/GfConfig.scala
Original file line number Diff line number Diff line change
Expand Up @@ -210,6 +210,7 @@ case class Config(
println(s"forneyErrEvalLatencyFull = $forneyErrEvalLatencyFull")
println(s"forneyEEXlInvTermsPerCycle = $forneyEEXlInvTermsPerCycle")
println(s"forneyEEXlInvShiftLatencyFull = $forneyEEXlInvShiftLatencyFull")
println(s"forneyEvTermsPerCycle = $forneyEvTermsPerCycle")
println(s"forneyEvFullLatency = $forneyEvFullLatency")
println(s"FdToEvLatencyAxisClk = $FdToEvLatencyAxisClk")
println(s"=== FIFO ENABLE ===")
Expand Down
16 changes: 12 additions & 4 deletions src/main/scala/RsForney/ErrVal.scala
Original file line number Diff line number Diff line change
Expand Up @@ -75,17 +75,25 @@ class ErrVal(c: Config) extends Module {
val errValAccumVec = Reg(Vec(c.forneyEvShiftLatency, Vec(c.forneyEvTermsPerCycle, UInt(c.SYMB_WIDTH.W))))
val errValVec = Wire(Vec(c.T_LEN, UInt(c.SYMB_WIDTH.W)))

// forneyEvTermsPerCycle = 2
// forneyEvShiftLatency = 4

for(i <- 0 until c.forneyEvShiftLatency) {
when(shiftMod.io.vecOut.valid){
if(i == 0)
errValAccumVec(c.forneyEvShiftLatency-1) := errValStageOut
else
errValAccumVec(c.forneyEvShiftLatency-1-i) := errValAccumVec(c.forneyEvShiftLatency-i)
}
for(k <- 0 until c.forneyEvTermsPerCycle) {
if(i*c.forneyEvShiftLatency+k < c.T_LEN)
errValVec(i*c.forneyEvShiftLatency+k) := errValAccumVec(i)(k)
}
}

// Flatten 2D errValAccumVec(i)(j) into 1D errValVec(idx)
// where idx = i * c.forneyEvTermsPerCycle + j
for (idx <- 0 until c.T_LEN) {
// Compute row/col from idx
val i = idx / c.forneyEvTermsPerCycle
val j = idx % c.forneyEvTermsPerCycle
errValVec(idx) := errValAccumVec(i)(j)
}

///////////////////////////////////
Expand Down

0 comments on commit d757aa5

Please sign in to comment.