Disable JTAG reset synchronization for verilator CI
This commit is contained in:
@@ -110,5 +110,8 @@ class TetheredChipLikeRocketConfig extends Config(
|
|||||||
class VerilatorCITetheredChipLikeRocketConfig extends Config(
|
class VerilatorCITetheredChipLikeRocketConfig extends Config(
|
||||||
new chipyard.harness.WithAbsoluteFreqHarnessClockInstantiator ++ // use absolute freqs for sims in the harness
|
new chipyard.harness.WithAbsoluteFreqHarnessClockInstantiator ++ // use absolute freqs for sims in the harness
|
||||||
new chipyard.harness.WithMultiChipSerialTL(0, 1) ++ // connect the serial-tl ports of the chips together
|
new chipyard.harness.WithMultiChipSerialTL(0, 1) ++ // connect the serial-tl ports of the chips together
|
||||||
new chipyard.harness.WithMultiChip(0, new chipyard.config.WithNoResetSynchronizers ++ new ChipLikeRocketConfig) ++
|
new chipyard.harness.WithMultiChip(0,
|
||||||
|
new chipyard.iobinders.WithDebugIOCells(syncReset = false) ++
|
||||||
|
new chipyard.config.WithNoResetSynchronizers ++
|
||||||
|
new ChipLikeRocketConfig) ++
|
||||||
new chipyard.harness.WithMultiChip(1, new ChipBringupHostConfig))
|
new chipyard.harness.WithMultiChip(1, new ChipBringupHostConfig))
|
||||||
|
|||||||
@@ -275,7 +275,9 @@ class JTAGChipIO extends Bundle {
|
|||||||
val TDO = Output(Bool())
|
val TDO = Output(Bool())
|
||||||
}
|
}
|
||||||
|
|
||||||
class WithDebugIOCells extends OverrideLazyIOBinder({
|
// WARNING: Don't disable syncReset unless you are trying to
|
||||||
|
// get around bugs in RTL simulators
|
||||||
|
class WithDebugIOCells(syncReset: Boolean = true) extends OverrideLazyIOBinder({
|
||||||
(system: HasPeripheryDebug) => {
|
(system: HasPeripheryDebug) => {
|
||||||
implicit val p = GetSystemParameters(system)
|
implicit val p = GetSystemParameters(system)
|
||||||
val tlbus = system.asInstanceOf[BaseSubsystem].locateTLBusWrapper(p(ExportDebug).slaveWhere)
|
val tlbus = system.asInstanceOf[BaseSubsystem].locateTLBusWrapper(p(ExportDebug).slaveWhere)
|
||||||
@@ -299,7 +301,7 @@ class WithDebugIOCells extends OverrideLazyIOBinder({
|
|||||||
d.disableDebug.foreach { d => d := false.B }
|
d.disableDebug.foreach { d => d := false.B }
|
||||||
// Drive JTAG on-chip IOs
|
// Drive JTAG on-chip IOs
|
||||||
d.systemjtag.map { j =>
|
d.systemjtag.map { j =>
|
||||||
j.reset := ResetCatchAndSync(j.jtag.TCK, clockBundle.reset.asBool)
|
j.reset := (if (syncReset) ResetCatchAndSync(j.jtag.TCK, clockBundle.reset.asBool) else clockBundle.reset.asBool)
|
||||||
j.mfr_id := p(JtagDTMKey).idcodeManufId.U(11.W)
|
j.mfr_id := p(JtagDTMKey).idcodeManufId.U(11.W)
|
||||||
j.part_number := p(JtagDTMKey).idcodePartNum.U(16.W)
|
j.part_number := p(JtagDTMKey).idcodePartNum.U(16.W)
|
||||||
j.version := p(JtagDTMKey).idcodeVersion.U(4.W)
|
j.version := p(JtagDTMKey).idcodeVersion.U(4.W)
|
||||||
|
|||||||
Reference in New Issue
Block a user