summaryrefslogtreecommitdiff
path: root/chiselFrontend/src/main/scala/chisel3/Attach.scala
diff options
context:
space:
mode:
authorJack Koenig2020-03-22 18:13:58 -0700
committerJack Koenig2020-03-25 19:17:15 -0700
commitfbf5e6f1a0e8bf535d465b748ad554575fe62156 (patch)
tree578858ab6d219ca6daf44cf87b73f75054989097 /chiselFrontend/src/main/scala/chisel3/Attach.scala
parentb2e004fb615a3c931d910a338b9faa99c1c975d7 (diff)
Rename subprojects to more canonical names
* Rename coreMacros to macros * Rename chiselFrontend to core Also make each subproject publish with "chisel3-" as a prefix
Diffstat (limited to 'chiselFrontend/src/main/scala/chisel3/Attach.scala')
-rw-r--r--chiselFrontend/src/main/scala/chisel3/Attach.scala46
1 files changed, 0 insertions, 46 deletions
diff --git a/chiselFrontend/src/main/scala/chisel3/Attach.scala b/chiselFrontend/src/main/scala/chisel3/Attach.scala
deleted file mode 100644
index 25c83d9a..00000000
--- a/chiselFrontend/src/main/scala/chisel3/Attach.scala
+++ /dev/null
@@ -1,46 +0,0 @@
-// See LICENSE for license details.
-
-package chisel3.experimental
-
-import chisel3.RawModule
-import chisel3.internal._
-import chisel3.internal.Builder.pushCommand
-import chisel3.internal.firrtl._
-import chisel3.internal.sourceinfo.SourceInfo
-
-object attach { // scalastyle:ignore object.name
- // Exceptions that can be generated by attach
- case class AttachException(message: String) extends ChiselException(message)
- def ConditionalAttachException: AttachException = // scalastyle:ignore method.name
- AttachException(": Conditional attach is not allowed!")
-
- // Actual implementation
- private[chisel3] def impl(elts: Seq[Analog], contextModule: RawModule)(implicit sourceInfo: SourceInfo): Unit = {
- if (Builder.whenDepth != 0) throw ConditionalAttachException
-
- // TODO Check that references are valid and can be attached
-
- pushCommand(Attach(sourceInfo, elts.map(_.lref)))
- }
-
- /** Create an electrical connection between [[Analog]] components
- *
- * @param elts The components to attach
- *
- * @example
- * {{{
- * val a1 = Wire(Analog(32.W))
- * val a2 = Wire(Analog(32.W))
- * attach(a1, a2)
- * }}}
- */
- def apply(elts: Analog*)(implicit sourceInfo: SourceInfo): Unit = {
- try {
- impl(elts, Builder.forcedUserModule)
- } catch {
- case AttachException(message) =>
- throwException(elts.mkString("Attaching (", ", ", s") failed @$message"))
- }
- }
-}
-