From fb262558eefbc6f43d7d46e42f7253f425b3efc6 Mon Sep 17 00:00:00 2001 From: "Wesley W. Terpstra" Date: Sun, 4 Sep 2016 17:03:10 -0700 Subject: [PATCH] tilelink2: helper objects should pass source line from where they were invoked --- src/main/scala/uncore/tilelink2/Buffer.scala | 3 ++- src/main/scala/uncore/tilelink2/Fragmenter.scala | 3 ++- src/main/scala/uncore/tilelink2/HintHandler.scala | 3 ++- src/main/scala/uncore/tilelink2/Narrower.scala | 3 ++- 4 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/main/scala/uncore/tilelink2/Buffer.scala b/src/main/scala/uncore/tilelink2/Buffer.scala index 3c9c8456..26392d2b 100644 --- a/src/main/scala/uncore/tilelink2/Buffer.scala +++ b/src/main/scala/uncore/tilelink2/Buffer.scala @@ -3,6 +3,7 @@ package uncore.tilelink2 import Chisel._ +import chisel3.internal.sourceinfo.SourceInfo class TLBuffer(entries: Int = 2, pipe: Boolean = false) extends LazyModule { @@ -39,7 +40,7 @@ class TLBuffer(entries: Int = 2, pipe: Boolean = false) extends LazyModule object TLBuffer { // applied to the TL source node; connect (TLBuffer(x.node) -> y.node) - def apply(x: TLBaseNode, entries: Int = 2, pipe: Boolean = false)(implicit lazyModule: LazyModule): TLBaseNode = { + def apply(x: TLBaseNode, entries: Int = 2, pipe: Boolean = false)(implicit lazyModule: LazyModule, sourceInfo: SourceInfo): TLBaseNode = { val buffer = LazyModule(new TLBuffer(entries, pipe)) lazyModule.connect(x -> buffer.node) buffer.node diff --git a/src/main/scala/uncore/tilelink2/Fragmenter.scala b/src/main/scala/uncore/tilelink2/Fragmenter.scala index c719b875..94fdda7d 100644 --- a/src/main/scala/uncore/tilelink2/Fragmenter.scala +++ b/src/main/scala/uncore/tilelink2/Fragmenter.scala @@ -3,6 +3,7 @@ package uncore.tilelink2 import Chisel._ +import chisel3.internal.sourceinfo.SourceInfo import scala.math.{min,max} // minSize: minimum size of transfers supported by all outward managers @@ -241,7 +242,7 @@ class TLFragmenter(minSize: Int, maxSize: Int, alwaysMin: Boolean = false) exten object TLFragmenter { // applied to the TL source node; connect (TLFragmenter(x.node, 256, 4) -> y.node) - def apply(x: TLBaseNode, minSize: Int, maxSize: Int, alwaysMin: Boolean = false)(implicit lazyModule: LazyModule): TLBaseNode = { + def apply(x: TLBaseNode, minSize: Int, maxSize: Int, alwaysMin: Boolean = false)(implicit lazyModule: LazyModule, sourceInfo: SourceInfo): TLBaseNode = { val fragmenter = LazyModule(new TLFragmenter(minSize, maxSize, alwaysMin)) lazyModule.connect(x -> fragmenter.node) fragmenter.node diff --git a/src/main/scala/uncore/tilelink2/HintHandler.scala b/src/main/scala/uncore/tilelink2/HintHandler.scala index ed1c12be..1ae934d0 100644 --- a/src/main/scala/uncore/tilelink2/HintHandler.scala +++ b/src/main/scala/uncore/tilelink2/HintHandler.scala @@ -3,6 +3,7 @@ package uncore.tilelink2 import Chisel._ +import chisel3.internal.sourceinfo.SourceInfo // Acks Hints for managers that don't support them or Acks all Hints if !passthrough class TLHintHandler(supportManagers: Boolean = true, supportClients: Boolean = false, passthrough: Boolean = true) extends LazyModule @@ -90,7 +91,7 @@ class TLHintHandler(supportManagers: Boolean = true, supportClients: Boolean = f object TLHintHandler { // applied to the TL source node; connect (TLHintHandler(x.node) -> y.node) - def apply(x: TLBaseNode, supportManagers: Boolean = true, supportClients: Boolean = false, passthrough: Boolean = true)(implicit lazyModule: LazyModule): TLBaseNode = { + def apply(x: TLBaseNode, supportManagers: Boolean = true, supportClients: Boolean = false, passthrough: Boolean = true)(implicit lazyModule: LazyModule, sourceInfo: SourceInfo): TLBaseNode = { val hints = LazyModule(new TLHintHandler(supportManagers, supportClients, passthrough)) lazyModule.connect(x -> hints.node) hints.node diff --git a/src/main/scala/uncore/tilelink2/Narrower.scala b/src/main/scala/uncore/tilelink2/Narrower.scala index 169dd727..7d705753 100644 --- a/src/main/scala/uncore/tilelink2/Narrower.scala +++ b/src/main/scala/uncore/tilelink2/Narrower.scala @@ -3,6 +3,7 @@ package uncore.tilelink2 import Chisel._ +import chisel3.internal.sourceinfo.SourceInfo // innBeatBytes => the bus width after the adapter class TLNarrower(innerBeatBytes: Int) extends LazyModule @@ -122,7 +123,7 @@ class TLNarrower(innerBeatBytes: Int) extends LazyModule object TLNarrower { // applied to the TL source node; connect (Narrower(x.node, 16) -> y.node) - def apply(x: TLBaseNode, innerBeatBytes: Int)(implicit lazyModule: LazyModule): TLBaseNode = { + def apply(x: TLBaseNode, innerBeatBytes: Int)(implicit lazyModule: LazyModule, sourceInfo: SourceInfo): TLBaseNode = { val narrower = LazyModule(new TLNarrower(innerBeatBytes)) lazyModule.connect(x -> narrower.node) narrower.node