Increase sourceWidth to fix vx_wspawn sync bug
With sourceWidth = 1, we hit an unsynchronized vx_wspawn bug, where the previously spawned warps get killed and overridden by a new vx_wspawn call before all the warps complete execution. Setting sourceWidth = 1 somehow slows down the progress of the spawned warps in relation to warp 0 (presumably because fetch stalls, but not sure why they would slow down more than warp 0) and results in this bug. sourceWidth = 4 seems to work for vecadd.
This commit is contained in:
@@ -91,7 +91,7 @@ class VortexTile private (
|
||||
minLatency = 1)))*/
|
||||
|
||||
val numLanes = 4 // TODO: use Parameters for this
|
||||
val sourceWidth = 1 // TODO: use Parameters for this
|
||||
val sourceWidth = 4 // TODO: use Parameters for this
|
||||
|
||||
val imemNodes = Seq.tabulate(1) { i =>
|
||||
TLClientNode(
|
||||
@@ -99,7 +99,7 @@ class VortexTile private (
|
||||
TLMasterPortParameters.v1(
|
||||
clients = Seq(
|
||||
TLMasterParameters.v1(
|
||||
sourceId = IdRange(0, 1 << 10), // TODO: magic numbers
|
||||
sourceId = IdRange(0, 1 << sourceWidth),
|
||||
name = s"Vortex Core ${vortexParams.hartId} I-Mem $i",
|
||||
requestFifo = true,
|
||||
supportsProbe =
|
||||
|
||||
Reference in New Issue
Block a user