adapters: support bulk connections
This commit is contained in:
parent
06a244f9f9
commit
e831acba9c
@ -139,7 +139,7 @@ object AHBToTL
|
||||
{
|
||||
def apply()(x: AHBOutwardNode)(implicit p: Parameters, sourceInfo: SourceInfo): TLOutwardNode = {
|
||||
val tl = LazyModule(new AHBToTL)
|
||||
tl.node := x
|
||||
tl.node :=? x
|
||||
tl.node
|
||||
}
|
||||
}
|
||||
|
@ -62,7 +62,7 @@ object AXI4Buffer
|
||||
ar: BufferParams,
|
||||
r: BufferParams)(x: AXI4OutwardNode)(implicit p: Parameters, sourceInfo: SourceInfo): AXI4OutwardNode = {
|
||||
val buffer = LazyModule(new AXI4Buffer(aw, w, b, ar, r))
|
||||
buffer.node := x
|
||||
buffer.node :=? x
|
||||
buffer.node
|
||||
}
|
||||
}
|
||||
|
@ -108,7 +108,7 @@ object AXI4Deinterleaver
|
||||
// applied to the AXI4 source node; y.node := AXI4Deinterleaver()(x.node)
|
||||
def apply(maxReadBytes: Int)(x: AXI4OutwardNode)(implicit p: Parameters, sourceInfo: SourceInfo): AXI4OutwardNode = {
|
||||
val deinterleaver = LazyModule(new AXI4Deinterleaver(maxReadBytes))
|
||||
deinterleaver.node := x
|
||||
deinterleaver.node :=? x
|
||||
deinterleaver.node
|
||||
}
|
||||
}
|
||||
|
@ -208,7 +208,7 @@ object AXI4Fragmenter
|
||||
// applied to the AXI4 source node; y.node := AXI4Fragmenter()(x.node)
|
||||
def apply()(x: AXI4OutwardNode)(implicit p: Parameters, sourceInfo: SourceInfo): AXI4OutwardNode = {
|
||||
val fragmenter = LazyModule(new AXI4Fragmenter)
|
||||
fragmenter.node := x
|
||||
fragmenter.node :=? x
|
||||
fragmenter.node
|
||||
}
|
||||
}
|
||||
|
@ -84,7 +84,7 @@ object AXI4IdIndexer
|
||||
// applied to the AXI4 source node; y.node := AXI4IdIndexer(idBits)(x.node)
|
||||
def apply(idBits: Int)(x: AXI4OutwardNode)(implicit p: Parameters, sourceInfo: SourceInfo): AXI4OutwardNode = {
|
||||
val indexer = LazyModule(new AXI4IdIndexer(idBits))
|
||||
indexer.node := x
|
||||
indexer.node :=? x
|
||||
indexer.node
|
||||
}
|
||||
}
|
||||
|
@ -168,7 +168,7 @@ object AXI4ToTL
|
||||
{
|
||||
def apply()(x: AXI4OutwardNode)(implicit p: Parameters, sourceInfo: SourceInfo): TLOutwardNode = {
|
||||
val tl = LazyModule(new AXI4ToTL)
|
||||
tl.node := x
|
||||
tl.node :=? x
|
||||
tl.node
|
||||
}
|
||||
}
|
||||
|
@ -100,7 +100,7 @@ object AXI4UserYanker
|
||||
// applied to the AXI4 source node; y.node := AXI4UserYanker(idBits, maxFlight)(x.node)
|
||||
def apply(capMaxFlight: Option[Int] = None)(x: AXI4OutwardNode)(implicit p: Parameters, sourceInfo: SourceInfo): AXI4OutwardNode = {
|
||||
val yanker = LazyModule(new AXI4UserYanker(capMaxFlight))
|
||||
yanker.node := x
|
||||
yanker.node :=? x
|
||||
yanker.node
|
||||
}
|
||||
}
|
||||
|
@ -80,7 +80,7 @@ object TLAsyncCrossingSource
|
||||
// applied to the TL source node; y.node := TLAsyncCrossingSource()(x.node)
|
||||
def apply(sync: Int = 3)(x: TLOutwardNode)(implicit p: Parameters, sourceInfo: SourceInfo): TLAsyncOutwardNode = {
|
||||
val source = LazyModule(new TLAsyncCrossingSource(sync))
|
||||
source.node := x
|
||||
source.node :=? x
|
||||
source.node
|
||||
}
|
||||
}
|
||||
@ -90,7 +90,7 @@ object TLAsyncCrossingSink
|
||||
// applied to the TL source node; y.node := TLAsyncCrossingSink()(x.node)
|
||||
def apply(depth: Int = 8, sync: Int = 3)(x: TLAsyncOutwardNode)(implicit p: Parameters, sourceInfo: SourceInfo): TLOutwardNode = {
|
||||
val sink = LazyModule(new TLAsyncCrossingSink(depth, sync))
|
||||
sink.node := x
|
||||
sink.node :=? x
|
||||
sink.node
|
||||
}
|
||||
}
|
||||
|
@ -265,7 +265,7 @@ object TLAtomicAutomata
|
||||
// applied to the TL source node; y.node := TLAtomicAutomata(x.node)
|
||||
def apply(logical: Boolean = true, arithmetic: Boolean = true, concurrency: Int = 1, passthrough: Boolean = true)(x: TLOutwardNode)(implicit p: Parameters, sourceInfo: SourceInfo): TLOutwardNode = {
|
||||
val atomics = LazyModule(new TLAtomicAutomata(logical, arithmetic, concurrency, passthrough))
|
||||
atomics.node := x
|
||||
atomics.node :=? x
|
||||
atomics.node
|
||||
}
|
||||
|
||||
|
@ -131,7 +131,7 @@ object TLCacheCork
|
||||
// applied to the TL source node; y.node := TLCacheCork()(x.node)
|
||||
def apply(unsafe: Boolean = false)(x: TLOutwardNode)(implicit p: Parameters, sourceInfo: SourceInfo): TLOutwardNode = {
|
||||
val cork = LazyModule(new TLCacheCork(unsafe))
|
||||
cork.node := x
|
||||
cork.node :=? x
|
||||
cork.node
|
||||
}
|
||||
}
|
||||
|
@ -81,7 +81,7 @@ object TLDelayer
|
||||
// applied to the TL source node; y.node := TLDelayer(0.01)(x.node)
|
||||
def apply(q: Double)(x: TLOutwardNode)(implicit p: Parameters, sourceInfo: SourceInfo): TLOutwardNode = {
|
||||
val delayer = LazyModule(new TLDelayer(q))
|
||||
delayer.node := x
|
||||
delayer.node :=? x
|
||||
delayer.node
|
||||
}
|
||||
}
|
||||
|
@ -122,7 +122,7 @@ object TLFIFOFixer
|
||||
// applied to the TL source node; y.node := TLFIFOFixer()(x.node)
|
||||
def apply(policy: Policy = all)(x: TLOutwardNode)(implicit p: Parameters, sourceInfo: SourceInfo): TLOutwardNode = {
|
||||
val fixer = LazyModule(new TLFIFOFixer(policy))
|
||||
fixer.node := x
|
||||
fixer.node :=? x
|
||||
fixer.node
|
||||
}
|
||||
}
|
||||
|
@ -292,7 +292,7 @@ object TLFragmenter
|
||||
// applied to the TL source node; y.node := TLFragmenter(x.node, 256, 4)
|
||||
def apply(minSize: Int, maxSize: Int, alwaysMin: Boolean = false, earlyAck: Boolean = false)(x: TLOutwardNode)(implicit p: Parameters, sourceInfo: SourceInfo): TLOutwardNode = {
|
||||
val fragmenter = LazyModule(new TLFragmenter(minSize, maxSize, alwaysMin, earlyAck))
|
||||
fragmenter.node := x
|
||||
fragmenter.node :=? x
|
||||
fragmenter.node
|
||||
}
|
||||
}
|
||||
|
@ -100,7 +100,7 @@ object TLHintHandler
|
||||
// applied to the TL source node; y.node := TLHintHandler(x.node)
|
||||
def apply(supportManagers: Boolean = true, supportClients: Boolean = false, passthrough: Boolean = true)(x: TLOutwardNode)(implicit p: Parameters, sourceInfo: SourceInfo): TLOutwardNode = {
|
||||
val hints = LazyModule(new TLHintHandler(supportManagers, supportClients, passthrough))
|
||||
hints.node := x
|
||||
hints.node :=? x
|
||||
hints.node
|
||||
}
|
||||
}
|
||||
|
@ -79,7 +79,7 @@ object TLIsolation
|
||||
// **** WARNING: the isolation functions must bring the values to 0 ****
|
||||
def apply(fOut: (Bool, UInt) => UInt, fIn: (Bool, UInt) => UInt)(x: TLAsyncOutwardNode)(implicit p: Parameters, sourceInfo: SourceInfo): (TLAsyncOutwardNode, () => (Bool, Bool)) = {
|
||||
val iso = LazyModule(new TLIsolation(fOut, fIn))
|
||||
iso.node := x
|
||||
iso.node :=? x
|
||||
(iso.node, () => (iso.module.io.iso_out, iso.module.io.iso_in))
|
||||
}
|
||||
}
|
||||
|
@ -48,7 +48,7 @@ object TLMap
|
||||
// applied to the TL source node; y.node := TLMap(fn)(x.node)
|
||||
def apply(fn: AddressSet => BigInt)(x: TLOutwardNode)(implicit p: Parameters, sourceInfo: SourceInfo): TLOutwardNode = {
|
||||
val map = LazyModule(new TLMap(fn))
|
||||
map.node := x
|
||||
map.node :=? x
|
||||
map.node
|
||||
}
|
||||
}
|
||||
|
@ -67,7 +67,7 @@ object TLNodeNumberer
|
||||
// applied to the TL source node; y.node := TLBuffer(x.node)
|
||||
def apply(nodeAddressOffset: Option[Int] = None)(x: TLOutwardNode)(implicit p: Parameters, sourceInfo: SourceInfo): TLOutwardNode = {
|
||||
val numberer = LazyModule(new TLNodeNumberer(nodeAddressOffset))
|
||||
numberer.node := x
|
||||
numberer.node :=? x
|
||||
numberer.node
|
||||
}
|
||||
}
|
||||
|
@ -92,7 +92,7 @@ object TLRationalCrossingSource
|
||||
// applied to the TL source node; y.node := TLRationalCrossingSource()(x.node)
|
||||
def apply()(x: TLOutwardNode)(implicit p: Parameters, sourceInfo: SourceInfo): TLRationalOutwardNode = {
|
||||
val source = LazyModule(new TLRationalCrossingSource)
|
||||
source.node := x
|
||||
source.node :=? x
|
||||
source.node
|
||||
}
|
||||
}
|
||||
@ -102,7 +102,7 @@ object TLRationalCrossingSink
|
||||
// applied to the TL source node; y.node := TLRationalCrossingSink()(x.node)
|
||||
def apply(direction: RationalDirection = Symmetric)(x: TLRationalOutwardNode)(implicit p: Parameters, sourceInfo: SourceInfo): TLOutwardNode = {
|
||||
val sink = LazyModule(new TLRationalCrossingSink(direction))
|
||||
sink.node := x
|
||||
sink.node :=? x
|
||||
sink.node
|
||||
}
|
||||
}
|
||||
|
@ -83,7 +83,7 @@ object TLSourceShrinker
|
||||
// applied to the TL source node; y.node := TLSourceShrinker(n)(x.node)
|
||||
def apply(maxInFlight: Int)(x: TLOutwardNode)(implicit p: Parameters, sourceInfo: SourceInfo): TLOutwardNode = {
|
||||
val shrinker = LazyModule(new TLSourceShrinker(maxInFlight))
|
||||
shrinker.node := x
|
||||
shrinker.node :=? x
|
||||
shrinker.node
|
||||
}
|
||||
}
|
||||
|
@ -195,7 +195,7 @@ object TLToAHB
|
||||
// applied to the TL source node; y.node := TLToAHB()(x.node)
|
||||
def apply(aFlow: Boolean = true)(x: TLOutwardNode)(implicit p: Parameters, sourceInfo: SourceInfo): AHBOutwardNode = {
|
||||
val ahb = LazyModule(new TLToAHB(aFlow))
|
||||
ahb.node := x
|
||||
ahb.node :=? x
|
||||
ahb.node
|
||||
}
|
||||
}
|
||||
|
@ -94,7 +94,7 @@ object TLToAPB
|
||||
// applied to the TL source node; y.node := TLToAPB()(x.node)
|
||||
def apply(aFlow: Boolean = true)(x: TLOutwardNode)(implicit p: Parameters, sourceInfo: SourceInfo): APBOutwardNode = {
|
||||
val apb = LazyModule(new TLToAPB(aFlow))
|
||||
apb.node := x
|
||||
apb.node :=? x
|
||||
apb.node
|
||||
}
|
||||
}
|
||||
|
@ -223,7 +223,7 @@ object TLToAXI4
|
||||
// applied to the TL source node; y.node := TLToAXI4(beatBytes)(x.node)
|
||||
def apply(beatBytes: Int, combinational: Boolean = true, adapterName: Option[String] = None, stripBits: Int = 0)(x: TLOutwardNode)(implicit p: Parameters, sourceInfo: SourceInfo): AXI4OutwardNode = {
|
||||
val axi4 = LazyModule(new TLToAXI4(beatBytes, combinational, adapterName, stripBits))
|
||||
axi4.node := x
|
||||
axi4.node :=? x
|
||||
axi4.node
|
||||
}
|
||||
|
||||
|
@ -200,7 +200,7 @@ object TLWidthWidget
|
||||
// applied to the TL source node; y.node := WidthWidget(x.node, 16)
|
||||
def apply(innerBeatBytes: Int)(x: TLOutwardNode)(implicit p: Parameters, sourceInfo: SourceInfo): TLOutwardNode = {
|
||||
val widget = LazyModule(new TLWidthWidget(innerBeatBytes))
|
||||
widget.node := x
|
||||
widget.node :=? x
|
||||
widget.node
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user