add support for different TileLink and MIF data widths
This commit is contained in:
Submodule junctions updated: 4145f066e8...70a5971a22
@ -49,7 +49,7 @@ class DefaultConfig extends ChiselConfig (
|
|||||||
log2Up(site(NMemoryChannels)))
|
log2Up(site(NMemoryChannels)))
|
||||||
case MIFDataBits => Dump("MEM_DATA_BITS", 128)
|
case MIFDataBits => Dump("MEM_DATA_BITS", 128)
|
||||||
case MIFAddrBits => Dump("MEM_ADDR_BITS", site(PAddrBits) - site(CacheBlockOffsetBits))
|
case MIFAddrBits => Dump("MEM_ADDR_BITS", site(PAddrBits) - site(CacheBlockOffsetBits))
|
||||||
case MIFDataBeats => site(TLDataBits)*site(TLDataBeats)/site(MIFDataBits)
|
case MIFDataBeats => site(CacheBlockBytes) * 8 / site(MIFDataBits)
|
||||||
case NASTIDataBits => site(MIFDataBits)
|
case NASTIDataBits => site(MIFDataBits)
|
||||||
case NASTIAddrBits => site(PAddrBits)
|
case NASTIAddrBits => site(PAddrBits)
|
||||||
case NASTIIdBits => site(MIFTagBits)
|
case NASTIIdBits => site(MIFTagBits)
|
||||||
|
@ -233,10 +233,17 @@ class OuterMemorySystem extends Module with TopLevelParameters {
|
|||||||
val interconnect = Module(new NASTITopInterconnect)
|
val interconnect = Module(new NASTITopInterconnect)
|
||||||
|
|
||||||
for ((bank, i) <- managerEndpoints.zipWithIndex) {
|
for ((bank, i) <- managerEndpoints.zipWithIndex) {
|
||||||
|
val factor = params(TLDataBits) / params(MIFDataBits)
|
||||||
|
val outermostTLParams = outerTLParams.alterPartial({
|
||||||
|
case TLDataBeats => params(MIFDataBeats)
|
||||||
|
case TLDataBits => params(MIFDataBits)
|
||||||
|
})
|
||||||
val unwrap = Module(new ClientTileLinkIOUnwrapper)(outerTLParams)
|
val unwrap = Module(new ClientTileLinkIOUnwrapper)(outerTLParams)
|
||||||
val conv = Module(new NASTIIOTileLinkIOConverter)(outerTLParams)
|
val narrow = Module(new TileLinkIONarrower(factor))(outerTLParams)
|
||||||
|
val conv = Module(new NASTIIOTileLinkIOConverter)(outermostTLParams)
|
||||||
unwrap.io.in <> bank.outerTL
|
unwrap.io.in <> bank.outerTL
|
||||||
conv.io.tl <> unwrap.io.out
|
narrow.io.in <> unwrap.io.out
|
||||||
|
conv.io.tl <> narrow.io.out
|
||||||
interconnect.io.masters(i) <> conv.io.nasti
|
interconnect.io.masters(i) <> conv.io.nasti
|
||||||
}
|
}
|
||||||
|
|
||||||
|
2
uncore
2
uncore
Submodule uncore updated: 30c1dfe772...52e1e91c28
Reference in New Issue
Block a user