1
0

Factor coreplex IO connection into separate trait (#350)

This would allow, for instance, putting the coreplex on a separate clock
domain and crossing the IOs over through asynchronous queues.

The ExampleMultiClockTop* classes are removed since they no longer fit
into the class hierarchy.
This commit is contained in:
Howard Mao
2016-09-27 11:55:32 -07:00
committed by Henry Cook
parent 6316ebd58f
commit 201e247f73
3 changed files with 11 additions and 18 deletions

View File

@ -67,7 +67,7 @@ abstract class BaseTopModule[+L <: BaseTop, +B <: BaseTopBundle](
val io: B = b
val coreplex = p(BuildCoreplex)(outer.c, p)
val coreplexIO = coreplex.io
val coreplexIO = Wire(coreplex.io)
val pBus =
Module(new TileLinkRecursiveInterconnect(1, p(GlobalAddrMap).subMap("io:pbus"))(
@ -95,3 +95,10 @@ abstract class BaseTopModule[+L <: BaseTop, +B <: BaseTopBundle](
io.success := coreplexIO.success
}
trait DirectConnection {
val coreplexIO: BaseCoreplexBundle
val coreplex: BaseCoreplexModule[BaseCoreplex, BaseCoreplexBundle]
coreplexIO <> coreplex.io
}