Use harness binder chipId to support multi-chip id pins
This commit is contained in:
@@ -11,6 +11,7 @@ import testchipip.soc.{OBUS}
|
|||||||
|
|
||||||
// Simple design which exposes a second serial-tl port that can connect to another instance of itself
|
// Simple design which exposes a second serial-tl port that can connect to another instance of itself
|
||||||
class SymmetricChipletRocketConfig extends Config(
|
class SymmetricChipletRocketConfig extends Config(
|
||||||
|
new testchipip.soc.WithChipIdPin ++ // Add pin to identify chips
|
||||||
new chipyard.harness.WithSerialTLTiedOff(tieoffs=Some(Seq(1))) ++ // Tie-off the chip-to-chip link in single-chip sims
|
new chipyard.harness.WithSerialTLTiedOff(tieoffs=Some(Seq(1))) ++ // Tie-off the chip-to-chip link in single-chip sims
|
||||||
new testchipip.serdes.WithSerialTL(Seq(
|
new testchipip.serdes.WithSerialTL(Seq(
|
||||||
testchipip.serdes.SerialTLParams( // 0th serial-tl is chip-to-bringup-fpga
|
testchipip.serdes.SerialTLParams( // 0th serial-tl is chip-to-bringup-fpga
|
||||||
|
|||||||
@@ -254,8 +254,8 @@ class WithSimTSIOverSerialTL extends HarnessBinder({
|
|||||||
|
|
||||||
//TODO: Set with chipId argument to harness binder, hardcoding is temporary hack
|
//TODO: Set with chipId argument to harness binder, hardcoding is temporary hack
|
||||||
class WithDriveChipIdPin extends HarnessBinder({
|
class WithDriveChipIdPin extends HarnessBinder({
|
||||||
case (th: HasHarnessInstantiators, port: ChipIdPort) => {
|
case (th: HasHarnessInstantiators, port: ChipIdPort, chipId: Int) => {
|
||||||
port.io := 0.U
|
port.io := chipId.U
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user