From 285fbd058383dba5dc314a6bc36aa24359393ee0 Mon Sep 17 00:00:00 2001 From: Andrew Ferraiuolo Date: Thu, 17 Aug 2017 17:43:26 -0400 Subject: [PATCH] chisel-side for vectorized labels --- .gitignore | 1 + .../src/main/scala/chisel3/core/.Data.scala.swp | Bin 32768 -> 0 bytes .../src/main/scala/chisel3/core/Aggregate.scala | 3 ++- .../main/scala/chisel3/internal/Builder.scala | 1 + .../main/scala/chisel3/internal/firrtl/IR.scala | 5 +++++ .../scala/chisel3/util/.Decoupled.scala.swp | Bin 20480 -> 0 bytes src/main/scala/chisel3/util/Arbiter.scala | 2 +- 7 files changed, 10 insertions(+), 2 deletions(-) delete mode 100644 chiselFrontend/src/main/scala/chisel3/core/.Data.scala.swp delete mode 100644 src/main/scala/chisel3/util/.Decoupled.scala.swp diff --git a/.gitignore b/.gitignore index b4fc65d..9cc0d18 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,4 @@ generated/ .idea target/ *.iml +*.swp diff --git a/chiselFrontend/src/main/scala/chisel3/core/.Data.scala.swp b/chiselFrontend/src/main/scala/chisel3/core/.Data.scala.swp deleted file mode 100644 index 493ab02dc965e42966509d3e41bf99985f0af216..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32768 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 OWtpPt`~dDOX#5{OZ|>g! diff --git a/chiselFrontend/src/main/scala/chisel3/core/Aggregate.scala b/chiselFrontend/src/main/scala/chisel3/core/Aggregate.scala index 049e90a..1413fcd 100644 --- a/chiselFrontend/src/main/scala/chisel3/core/Aggregate.scala +++ b/chiselFrontend/src/main/scala/chisel3/core/Aggregate.scala @@ -265,7 +265,7 @@ sealed class Vec[T <: Data] private (gen: => T, val length: Int) } override def _onModuleClose: Unit = { - sample_element.setRef(this, 0) + sample_element.setRefBinder(this) } } @@ -584,6 +584,7 @@ trait BitsLevelNamer { case ax: Index => argIsTemp(ax.imm) || strTmp(ax.name) case ax: Node => !ax.id.refSet || strTmp(ax.name) case ax: LitArg => false + case ax: BindIndex => argIsTemp(ax.imm) } diff --git a/chiselFrontend/src/main/scala/chisel3/internal/Builder.scala b/chiselFrontend/src/main/scala/chisel3/internal/Builder.scala index b0b8913..5878d4e 100644 --- a/chiselFrontend/src/main/scala/chisel3/internal/Builder.scala +++ b/chiselFrontend/src/main/scala/chisel3/internal/Builder.scala @@ -106,6 +106,7 @@ private[chisel3] trait HasId extends InstanceId { private[chisel3] def setRef(parent: HasId, name: String): Unit = setRef(Slot(Node(parent), name)) private[chisel3] def setRef(parent: HasId, index: Int): Unit = setRef(Index(Node(parent), ILit(index))) private[chisel3] def setRef(parent: HasId, index: UInt): Unit = setRef(Index(Node(parent), index.ref)) + private[chisel3] def setRefBinder(parent: HasId): Unit = setRef(BindIndex(Node(parent))) // private[chisel3] def setRef(parent: HasId, names: Seq[String]): Unit = { // var newRef = Node(parent) // for(name <- names) { diff --git a/chiselFrontend/src/main/scala/chisel3/internal/firrtl/IR.scala b/chiselFrontend/src/main/scala/chisel3/internal/firrtl/IR.scala index 9446be0..47926bd 100644 --- a/chiselFrontend/src/main/scala/chisel3/internal/firrtl/IR.scala +++ b/chiselFrontend/src/main/scala/chisel3/internal/firrtl/IR.scala @@ -120,6 +120,11 @@ case class Index(imm: Arg, value: Arg) extends Arg { override def fullName(ctx: Component): String = s"${imm.fullName(ctx)}[${value.fullName(ctx)}]" def pprint = s"Index(${imm.name}, ${value.name})" } +case class BindIndex(imm: Arg) extends Arg { + def name: String = s"[_]" + override def fullName(ctx: Component): String = s"${imm.fullName(ctx)}[_]" + def pprint = s"Index(${imm.name}, _)" +} sealed trait Bound sealed trait NumericBound[T] extends Bound { diff --git a/src/main/scala/chisel3/util/.Decoupled.scala.swp b/src/main/scala/chisel3/util/.Decoupled.scala.swp deleted file mode 100644 index 68066bba41c3c8e9529a87eb11b5d55e75e37985..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20480 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 diff --git a/src/main/scala/chisel3/util/Arbiter.scala b/src/main/scala/chisel3/util/Arbiter.scala index 20d9c54..3cf7d26 100644 --- a/src/main/scala/chisel3/util/Arbiter.scala +++ b/src/main/scala/chisel3/util/Arbiter.scala @@ -24,7 +24,7 @@ class ArbiterIO[T <: Data](gen: T, out_gen: T, n: Int, inl: Label, outl: Label) /** Arbiter Control determining which producer has access */ -private object ArbiterCtrl { +object ArbiterCtrl { def apply(request: Seq[Bool]): Seq[Bool] = request.length match { case 0 => Seq() case 1 => Seq(true.B)