summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/src/main/scala/chisel3/Bits.scala26
-rw-r--r--core/src/main/scala/chisel3/Data.scala8
-rw-r--r--core/src/main/scala/chisel3/core/package.scala288
-rw-r--r--core/src/main/scala/chisel3/experimental/package.scala7
-rw-r--r--core/src/main/scala/chisel3/internal/Error.scala7
-rw-r--r--src/main/scala/chisel3/Driver.scala200
-rw-r--r--src/main/scala/chisel3/compatibility.scala3
-rw-r--r--src/main/scala/chisel3/internal/firrtl/Emitter.scala2
-rw-r--r--src/main/scala/chisel3/util/BitPat.scala13
-rw-r--r--src/main/scala/chisel3/util/BlackBoxUtils.scala3
-rw-r--r--src/main/scala/chisel3/util/Conditional.scala9
-rw-r--r--src/test/scala/chiselTests/AsyncResetSpec.scala3
-rw-r--r--src/test/scala/chiselTests/CompatibilitySpec.scala56
-rw-r--r--src/test/scala/chiselTests/DriverSpec.scala101
-rw-r--r--src/test/scala/chiselTests/experimental/ForceNames.scala2
15 files changed, 3 insertions, 725 deletions
diff --git a/core/src/main/scala/chisel3/Bits.scala b/core/src/main/scala/chisel3/Bits.scala
index c86e9208..17829143 100644
--- a/core/src/main/scala/chisel3/Bits.scala
+++ b/core/src/main/scala/chisel3/Bits.scala
@@ -29,15 +29,6 @@ private[chisel3] sealed trait ToBoolable extends Element {
/** @group SourceInfoTransformMacro */
def do_asBool(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions): Bool
-
- /** Casts this $coll to a [[Bool]]
- *
- * @note The width must be known and equal to 1
- */
- final def toBool(): Bool = macro SourceInfoWhiteboxTransform.noArg
-
- /** @group SourceInfoTransformMacro */
- def do_toBool(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions): Bool
}
/** A data type for values represented by a single bitvector. This provides basic bitwise operations.
@@ -315,11 +306,6 @@ sealed abstract class Bits(private[chisel3] val width: Width) extends Element wi
/** Returns the contents of this wire as a [[scala.collection.Seq]] of [[Bool]]. */
final def toBools(): Seq[Bool] = macro SourceInfoTransform.noArg
- /** @group SourceInfoTransformMacro */
- @chiselRuntimeDeprecated
- @deprecated("Use asBools instead", "3.2")
- def do_toBools(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions): Seq[Bool] = do_asBools
-
/** Returns the contents of this wire as a [[scala.collection.Seq]] of [[Bool]]. */
final def asBools(): Seq[Bool] = macro SourceInfoTransform.noArg
@@ -369,10 +355,6 @@ sealed abstract class Bits(private[chisel3] val width: Width) extends Element wi
}
}
- @chiselRuntimeDeprecated
- @deprecated("Use asBool instead", "3.2")
- final def do_toBool(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions): Bool = do_asBool
-
/** Concatenation operator
*
* @param that a hardware component
@@ -591,10 +573,6 @@ sealed class UInt private[chisel3] (width: Width) extends Bits(width) with Num[U
override def do_<= (that: UInt)(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions): Bool = compop(sourceInfo, LessEqOp, that)
override def do_>= (that: UInt)(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions): Bool = compop(sourceInfo, GreaterEqOp, that)
- @chiselRuntimeDeprecated
- @deprecated("Use '=/=', which avoids potential precedence problems", "3.0")
- final def != (that: UInt)(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions): Bool = this =/= that
-
/** Dynamic not equals operator
*
* @param that a hardware $coll
@@ -877,10 +855,6 @@ sealed class SInt private[chisel3] (width: Width) extends Bits(width) with Num[S
override def do_<= (that: SInt)(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions): Bool = compop(sourceInfo, LessEqOp, that)
override def do_>= (that: SInt)(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions): Bool = compop(sourceInfo, GreaterEqOp, that)
- @chiselRuntimeDeprecated
- @deprecated("Use '=/=', which avoids potential precedence problems", "3.0")
- final def != (that: SInt)(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions): Bool = this =/= that
-
/** Dynamic not equals operator
*
* @param that a hardware $coll
diff --git a/core/src/main/scala/chisel3/Data.scala b/core/src/main/scala/chisel3/Data.scala
index a1f6abf8..332527bf 100644
--- a/core/src/main/scala/chisel3/Data.scala
+++ b/core/src/main/scala/chisel3/Data.scala
@@ -554,14 +554,6 @@ abstract class Data extends HasId with NamedComponent with SourceInfoDoc {
}
}
- @chiselRuntimeDeprecated
- @deprecated("litArg is deprecated, use litOption or litTo*Option", "3.2")
- def litArg(): Option[LitArg] = topBindingOpt match {
- case Some(ElementLitBinding(litArg)) => Some(litArg)
- case Some(BundleLitBinding(litMap)) => None // this API does not support Bundle literals
- case _ => None
- }
-
def isLit(): Boolean = litOption.isDefined
/**
diff --git a/core/src/main/scala/chisel3/core/package.scala b/core/src/main/scala/chisel3/core/package.scala
deleted file mode 100644
index fa29f244..00000000
--- a/core/src/main/scala/chisel3/core/package.scala
+++ /dev/null
@@ -1,288 +0,0 @@
-// SPDX-License-Identifier: Apache-2.0
-
-package chisel3
-
-/**
- * These definitions exist to deal with those clients that relied on chisel3.core.
- * They are deprecated and will be removed in the future.
- */
-package object core {
-
- @deprecated("Use the version in chisel3._", "3.2")
- val CompileOptions = chisel3.CompileOptions
-
- @deprecated("Use the version in chisel3._", "3.2")
- val Input = chisel3.Input
- @deprecated("Use the version in chisel3._", "3.2")
- val Output = chisel3.Output
- @deprecated("Use the version in chisel3._", "3.2")
- val Flipped = chisel3.Flipped
- @deprecated("Use the version in chisel3._", "3.2")
- val chiselTypeOf = chisel3.chiselTypeOf
-
- @deprecated("Use the version in chisel3._", "3.2")
- type Data = chisel3.Data
-
- @deprecated("Use the version in chisel3._", "3.2")
- val WireDefault = chisel3.WireDefault
-
- @deprecated("Use the version in chisel3._", "3.2")
- val Clock = chisel3.Clock
- @deprecated("Use the version in chisel3._", "3.2")
- type Clock = chisel3.Clock
-
- @deprecated("Use the version in chisel3._", "3.2")
- type Reset = chisel3.Reset
-
- @deprecated("Use the version in chisel3._", "3.2")
- type Aggregate = chisel3.Aggregate
-
- @deprecated("Use the version in chisel3._", "3.2")
- val Vec = chisel3.Vec
- @deprecated("Use the version in chisel3._", "3.2")
- val VecInit = chisel3.VecInit
- @deprecated("Use the version in chisel3._", "3.2")
- type Vec[T <: Data] = chisel3.Vec[T]
- @deprecated("Use the version in chisel3._", "3.2")
- type VecLike[T <: Data] = chisel3.VecLike[T]
- @deprecated("Use the version in chisel3._", "3.2")
- type Bundle = chisel3.Bundle
- @deprecated("Use the version in chisel3._", "3.2")
- type IgnoreSeqInBundle = chisel3.IgnoreSeqInBundle
- @deprecated("Use the version in chisel3._", "3.2")
- type Record = chisel3.Record
-
- @deprecated("Use the version in chisel3._", "3.2")
- val assert = chisel3.assert
-
- @deprecated("Use the version in chisel3._", "3.2")
- type Element = chisel3.Element
- @deprecated("Use the version in chisel3._", "3.2")
- type Bits = chisel3.Bits
-
- // These provide temporary compatibility for those who foolishly imported from chisel3.core
- @deprecated("Avoid importing from chisel3.core, these are not public APIs and may change at any time. " +
- " Use chisel3.RawModule instead. This alias will be removed in 3.4.", "since the beginning of time")
- type RawModule = chisel3.RawModule
- @deprecated("Avoid importing from chisel3.core, these are not public APIs and may change at any time. " +
- "Use chisel3.MultiIOModule instead. This alias will be removed in 3.4.", "since the beginning of time")
- type MultiIOModule = chisel3.Module
- @deprecated("Avoid importing from chisel3.core, these are not public APIs and may change at any time. " +
- " Use chisel3.RawModule instead. This alias will be removed in 3.4.", "since the beginning of time")
- type UserModule = chisel3.RawModule
- @deprecated("Avoid importing from chisel3.core, these are not public APIs and may change at any time. " +
- "Use chisel3.MultiIOModule instead. This alias will be removed in 3.4.", "since the beginning of time")
- type ImplicitModule = chisel3.Module
-
- @deprecated("Use the version in chisel3._", "3.2")
- val Bits = chisel3.Bits
- @deprecated("Use the version in chisel3._", "3.2")
- type Num[T <: chisel3.Data] = chisel3.Num[T]
- @deprecated("Use the version in chisel3._", "3.2")
- type UInt = chisel3.UInt
- @deprecated("Use the version in chisel3._", "3.2")
- val UInt = chisel3.UInt
- @deprecated("Use the version in chisel3._", "3.2")
- type SInt = chisel3.SInt
- @deprecated("Use the version in chisel3._", "3.2")
- val SInt = chisel3.SInt
- @deprecated("Use the version in chisel3._", "3.2")
- type Bool = chisel3.Bool
- @deprecated("Use the version in chisel3._", "3.2")
- val Bool = chisel3.Bool
- @deprecated("Use the version in chisel3._", "3.2")
- val Mux = chisel3.Mux
-
- @deprecated("Use the version in chisel3._", "3.2")
- type BlackBox = chisel3.BlackBox
-
- @deprecated("Use the version in chisel3._", "3.2")
- val Mem = chisel3.Mem
- @deprecated("Use the version in chisel3._", "3.2")
- type MemBase[T <: chisel3.Data] = chisel3.MemBase[T]
- @deprecated("Use the version in chisel3._", "3.2")
- type Mem[T <: chisel3.Data] = chisel3.Mem[T]
- @deprecated("Use the version in chisel3._", "3.2")
- val SyncReadMem = chisel3.SyncReadMem
- @deprecated("Use the version in chisel3._", "3.2")
- type SyncReadMem[T <: chisel3.Data] = chisel3.SyncReadMem[T]
-
- @deprecated("Use the version in chisel3._", "3.2")
- val Module = chisel3.Module
- @deprecated("Use the version in chisel3._", "3.2")
- type Module = chisel3.Module
-
- @deprecated("Use the version in chisel3._", "3.2")
- val printf = chisel3.printf
-
- @deprecated("Use the version in chisel3._", "3.2")
- val RegNext = chisel3.RegNext
- @deprecated("Use the version in chisel3._", "3.2")
- val RegInit = chisel3.RegInit
- @deprecated("Use the version in chisel3._", "3.2")
- val Reg = chisel3.Reg
-
- @deprecated("Use the version in chisel3._", "3.2")
- val when = chisel3.when
- @deprecated("Use the version in chisel3._", "3.2")
- type WhenContext = chisel3.WhenContext
-
- @deprecated("Use the version in chisel3._", "3.2")
- type Printable = chisel3.Printable
- @deprecated("Use the version in chisel3._", "3.2")
- val Printable = chisel3.Printable
- @deprecated("Use the version in chisel3._", "3.2")
- type Printables = chisel3.Printables
- @deprecated("Use the version in chisel3._", "3.2")
- val Printables = chisel3.Printables
- @deprecated("Use the version in chisel3._", "3.2")
- type PString = chisel3.PString
- @deprecated("Use the version in chisel3._", "3.2")
- val PString = chisel3.PString
- @deprecated("Use the version in chisel3._", "3.2")
- type FirrtlFormat = chisel3.FirrtlFormat
- @deprecated("Use the version in chisel3._", "3.2")
- val FirrtlFormat = chisel3.FirrtlFormat
- @deprecated("Use the version in chisel3._", "3.2")
- type Decimal = chisel3.Decimal
- @deprecated("Use the version in chisel3._", "3.2")
- val Decimal = chisel3.Decimal
- @deprecated("Use the version in chisel3._", "3.2")
- type Hexadecimal = chisel3.Hexadecimal
- val Hexadecimal = chisel3.Hexadecimal
- @deprecated("Use the version in chisel3._", "3.2")
- type Binary = chisel3.Binary
- @deprecated("Use the version in chisel3._", "3.2")
- val Binary = chisel3.Binary
- @deprecated("Use the version in chisel3._", "3.2")
- type Character = chisel3.Character
- @deprecated("Use the version in chisel3._", "3.2")
- val Character = chisel3.Character
- @deprecated("Use the version in chisel3._", "3.2")
- type Name = chisel3.Name
- @deprecated("Use the version in chisel3._", "3.2")
- val Name = chisel3.Name
- @deprecated("Use the version in chisel3._", "3.2")
- type FullName = chisel3.FullName
- @deprecated("Use the version in chisel3._", "3.2")
- val FullName = chisel3.FullName
- @deprecated("Use the version in chisel3._", "3.2")
- val Percent = chisel3.Percent
-
- @deprecated("Use the version in chisel3.experimental._", "3.2")
- type Param = chisel3.experimental.Param
- @deprecated("Use the version in chisel3.experimental._", "3.2")
- type IntParam = chisel3.experimental.IntParam
- @deprecated("Use the version in chisel3.experimental._", "3.2")
- val IntParam = chisel3.experimental.IntParam
- @deprecated("Use the version in chisel3.experimental._", "3.2")
- type DoubleParam = chisel3.experimental.DoubleParam
- @deprecated("Use the version in chisel3.experimental._", "3.2")
- val DoubleParam = chisel3.experimental.DoubleParam
- @deprecated("Use the version in chisel3.experimental._", "3.2")
- type StringParam = chisel3.experimental.StringParam
- @deprecated("Use the version in chisel3.experimental._", "3.2")
- val StringParam = chisel3.experimental.StringParam
- @deprecated("Use the version in chisel3.experimental._", "3.2")
- type RawParam = chisel3.experimental.RawParam
- @deprecated("Use the version in chisel3.experimental._", "3.2")
- val RawParam = chisel3.experimental.RawParam
-
- @deprecated("Use the version in chisel3.experimental._", "3.2")
- type Analog = chisel3.experimental.Analog
- @deprecated("Use the version in chisel3.experimental._", "3.2")
- val Analog = chisel3.experimental.Analog
-
- @deprecated("Use the version in chisel3._", "3.2")
- implicit class fromIntToWidth(int: Int) extends chisel3.fromIntToWidth(int)
-
- @deprecated("Use the version in chisel3.experimental._", "3.2")
- val attach = chisel3.experimental.attach
-
- @deprecated("Use the version in chisel3.experimental._", "3.2")
- type EnumType = chisel3.experimental.EnumType
- @deprecated("Use the version in chisel3.experimental._", "3.2")
- type EnumFactory = chisel3.experimental.EnumFactory
- @deprecated("Use the version in chisel3.experimental._", "3.2")
- val EnumAnnotations = chisel3.experimental.EnumAnnotations
-
- @deprecated("Use the version in chisel3._", "3.2")
- val withClockAndReset = chisel3.withClockAndReset
- @deprecated("Use the version in chisel3._", "3.2")
- val withClock = chisel3.withClock
- @deprecated("Use the version in chisel3._", "3.2")
- val withReset = chisel3.withReset
-
- @deprecated("Use the version in chisel3._", "3.2")
- val dontTouch = chisel3.dontTouch
-
- @deprecated("Use the version in chisel3.experimental._", "3.2")
- type BaseModule = chisel3.experimental.BaseModule
- @deprecated("Use the version in chisel3.experimental._", "3.2")
- type ExtModule = chisel3.experimental.ExtModule
-
- @deprecated("Use the version in chisel3.experimental._", "3.2")
- val IO = chisel3.experimental.IO
-
- @deprecated("Use the version in chisel3.experimental._", "3.2")
- type FixedPoint = chisel3.experimental.FixedPoint
- @deprecated("Use the version in chisel3.experimental._", "3.2")
- val FixedPoint = chisel3.experimental.FixedPoint
- @deprecated("Use the version in chisel3.experimental._", "3.2")
- implicit class fromDoubleToLiteral(double: Double) extends experimental.FixedPoint.Implicits.fromDoubleToLiteral(double)
- @deprecated("Use the version in chisel3.experimental._", "3.2")
- implicit class fromIntToBinaryPoint(int: Int) extends chisel3.fromIntToBinaryPoint(int)
- @deprecated("Use the version in chisel3.experimental._", "3.2")
- type RunFirrtlTransform = chisel3.experimental.RunFirrtlTransform
-
- @deprecated("Use the version in chisel3.experimental._", "3.2")
- val annotate = chisel3.experimental.annotate
-
- @deprecated("Use the version in chisel3.experimental._", "3.2")
- val DataMirror = chisel3.experimental.DataMirror
- @deprecated("Use the version in chisel3._", "3.2")
- type ActualDirection = chisel3.ActualDirection
- @deprecated("Use the version in chisel3._", "3.2")
- val ActualDirection = chisel3.ActualDirection
-
- @deprecated("Use the version in chisel3.internal._", "3.2")
- val requireIsHardware = chisel3.internal.requireIsHardware
- @deprecated("Use the version in chisel3.internal._", "3.2")
- val requireIsChiselType = chisel3.internal.requireIsChiselType
- @deprecated("Use the version in chisel3.internal._", "3.2")
- val BiConnect = chisel3.internal.BiConnect
- @deprecated("Use the version in chisel3.internal._", "3.2")
- val MonoConnect = chisel3.internal.MonoConnect
- @deprecated("Use the version in chisel3.internal._", "3.2")
- val BindingDirection = chisel3.internal.BindingDirection
- @deprecated("Use the version in chisel3.internal._", "3.2")
- type Binding = chisel3.internal.Binding
- @deprecated("Use the version in chisel3.internal._", "3.2")
- type TopBinding = chisel3.internal.TopBinding
- @deprecated("Use the version in chisel3.internal._", "3.2")
- type UnconstrainedBinding = chisel3.internal.UnconstrainedBinding
- @deprecated("Use the version in chisel3.internal._", "3.2")
- type ConstrainedBinding = chisel3.internal.ConstrainedBinding
- @deprecated("Use the version in chisel3.internal._", "3.2")
- type ReadOnlyBinding = chisel3.internal.ReadOnlyBinding
- @deprecated("Use the version in chisel3.internal._", "3.2")
- type OpBinding = chisel3.internal.OpBinding
- @deprecated("Use the version in chisel3.internal._", "3.2")
- type MemoryPortBinding = chisel3.internal.MemoryPortBinding
- @deprecated("Use the version in chisel3.internal._", "3.2")
- type PortBinding = chisel3.internal.PortBinding
- @deprecated("Use the version in chisel3.internal._", "3.2")
- type RegBinding = chisel3.internal.RegBinding
- @deprecated("Use the version in chisel3.internal._", "3.2")
- type WireBinding = chisel3.internal.WireBinding
- @deprecated("Use the version in chisel3.internal._", "3.2")
- type ChildBinding = chisel3.internal.ChildBinding
- @deprecated("Use the version in chisel3.internal._", "3.2")
- type DontCareBinding = chisel3.internal.DontCareBinding
- @deprecated("Use the version in chisel3.internal._", "3.2")
- type LitBinding = chisel3.internal.LitBinding
- @deprecated("Use the version in chisel3.internal._", "3.2")
- type ElementLitBinding = chisel3.internal.ElementLitBinding
- @deprecated("Use the version in chisel3.internal._", "3.2")
- type BundleLitBinding = chisel3.internal.BundleLitBinding
-}
diff --git a/core/src/main/scala/chisel3/experimental/package.scala b/core/src/main/scala/chisel3/experimental/package.scala
index ec3f2a79..4dc7ba4b 100644
--- a/core/src/main/scala/chisel3/experimental/package.scala
+++ b/core/src/main/scala/chisel3/experimental/package.scala
@@ -20,13 +20,6 @@ package object experimental {
type ChiselEnum = EnumFactory
- @deprecated("Use the version in chisel3._", "3.2")
- val withClockAndReset = chisel3.withClockAndReset
- @deprecated("Use the version in chisel3._", "3.2")
- val withClock = chisel3.withClock
- @deprecated("Use the version in chisel3._", "3.2")
- val withReset = chisel3.withReset
-
// Rocket Chip-style clonemodule
/** A record containing the results of CloneModuleAsRecord
diff --git a/core/src/main/scala/chisel3/internal/Error.scala b/core/src/main/scala/chisel3/internal/Error.scala
index 6a1794ce..60bb6e2b 100644
--- a/core/src/main/scala/chisel3/internal/Error.scala
+++ b/core/src/main/scala/chisel3/internal/Error.scala
@@ -61,13 +61,6 @@ class ChiselException(message: String, cause: Throwable = null) extends Exceptio
trimmedReverse.reverse.toArray
}
- /** trims the top of the stack of elements belonging to [[blacklistPackages]]
- * then trims the bottom elements until it reaches [[builderName]]
- * then continues trimming elements belonging to [[blacklistPackages]]
- */
- @deprecated("This method will be removed in 3.4", "3.3")
- def trimmedStackTrace: Array[StackTraceElement] = trimmedStackTrace(this)
-
def chiselStackTrace: String = {
val trimmed = trimmedStackTrace(likelyCause)
diff --git a/src/main/scala/chisel3/Driver.scala b/src/main/scala/chisel3/Driver.scala
index 998f5ca0..fb564446 100644
--- a/src/main/scala/chisel3/Driver.scala
+++ b/src/main/scala/chisel3/Driver.scala
@@ -84,203 +84,3 @@ case class ChiselExecutionSuccess(
*/
@deprecated("This will be removed in Chisel 3.5", "Chisel 3.4")
case class ChiselExecutionFailure(message: String) extends ChiselExecutionResult
-
-@deprecated("Please switch to chisel3.stage.ChiselStage", "3.2.4")
-object Driver extends BackendCompilationUtilities {
-
- /**
- * Elaborate the Module specified in the gen function into a Chisel IR Circuit.
- *
- * @param gen A function that creates a Module hierarchy.
- * @return The resulting Chisel IR in the form of a Circuit. (TODO: Should be FIRRTL IR)
- */
- @deprecated("Use ChiselStage.elaborate or use a ChiselStage class. This will be removed in 3.4.", "3.2.4")
- def elaborate[T <: RawModule](gen: () => T): Circuit = internal.Builder.build(Module(gen()))._1
-
- /**
- * Convert the given Chisel IR Circuit to a FIRRTL Circuit.
- *
- * @param ir Chisel IR Circuit, generated e.g. by elaborate().
- */
- @deprecated("Use ChiselStage.convert or use a ChiselStage class. This will be removed in 3.4.", "3.2.4")
- def toFirrtl(ir: Circuit): firrtl.ir.Circuit = Converter.convert(ir)
-
- /**
- * Emit the Module specified in the gen function directly as a FIRRTL string without
- * invoking FIRRTL.
- *
- * @param gen A function that creates a Module hierarchy.
- */
- @deprecated("Use (new chisel3.stage.ChiselStage).emitChirrtl. This will be removed in 3.4.", "3.2.2")
- def emit[T <: RawModule](gen: () => T): String = Driver.emit(elaborate(gen))
-
- /**
- * Emit the given Chisel IR Circuit as a FIRRTL string, without invoking FIRRTL.
- *
- * @param ir Chisel IR Circuit, generated e.g. by elaborate().
- */
- @deprecated("Use (new chisel3.stage.ChiselStage).emitChirrtl", "3.2.2")
- def emit[T <: RawModule](ir: Circuit): String = Emitter.emit(ir)
-
- /**
- * Elaborate the Module specified in the gen function into Verilog.
- *
- * @param gen A function that creates a Module hierarchy.
- * @return A String containing the design in Verilog.
- */
- @deprecated("Use (new chisel3.stage.ChiselStage).emitVerilog. This will be removed in 3.4.", "3.2.2")
- def emitVerilog[T <: RawModule](gen: => T): String = {
- execute(Array[String](), { () => gen }) match {
- case ChiselExecutionSuccess(_, _, Some(firrtl.FirrtlExecutionSuccess(_, verilog))) => verilog
- case _ => sys.error("Cannot get Verilog!")
- }
- }
-
- /**
- * Dump the elaborated Chisel IR Circuit as a FIRRTL String, without invoking FIRRTL.
- *
- * If no File is given as input, it will dump to a default filename based on the name of the
- * top Module.
- *
- * @param c Elaborated Chisel Circuit.
- * @param optName File to dump to. If unspecified, defaults to "<topmodule>.fir".
- * @return The File the circuit was dumped to.
- */
- @deprecated("Migrate to chisel3.stage.ChiselStage. This will be removed in 3.4.", "3.2.4")
- def dumpFirrtl(ir: Circuit, optName: Option[File]): File = {
- val f = optName.getOrElse(new File(ir.name + ".fir"))
- val w = new FileWriter(f)
- w.write(Driver.emit(ir))
- w.close()
- f
- }
-
- /**
- * Emit the annotations of a circuit
- *
- * @param ir The circuit containing annotations to be emitted
- * @param optName An optional filename (will use s"\${ir.name}.json" otherwise)
- */
- @deprecated("Migrate to chisel3.stage.ChiselStage. This will be removed in 3.4.", "3.2.4")
- def dumpAnnotations(ir: Circuit, optName: Option[File]): File = {
- val f = optName.getOrElse(new File(ir.name + ".anno.json"))
- val w = new FileWriter(f)
- w.write(JsonProtocol.serialize(ir.annotations.map(_.toFirrtl)))
- w.close()
- f
- }
-
- /**
- * Dump the elaborated Circuit to ProtoBuf.
- *
- * If no File is given as input, it will dump to a default filename based on the name of the
- * top Module.
- *
- * @param c Elaborated Chisel Circuit.
- * @param optFile Optional File to dump to. If unspecified, defaults to "<topmodule>.pb".
- * @return The File the circuit was dumped to.
- */
- @deprecated("Migrate to chisel3.stage.ChiselStage. This will be removed in 3.4.", "3.2.4")
- def dumpProto(c: Circuit, optFile: Option[File]): File = {
- val f = optFile.getOrElse(new File(c.name + ".pb"))
- val ostream = new java.io.FileOutputStream(f)
- // Lazily convert modules to make intermediate objects garbage collectable
- val modules = c.components.map(m => () => Converter.convert(m))
- firrtl.proto.ToProto.writeToStreamFast(ostream, ir.NoInfo, modules, c.name)
- f
- }
-
- private var target_dir: Option[String] = None
- @deprecated("Use chisel3.stage.ChiselStage with '--target-directory'. This will be removed in 3.4.", "3.2.2")
- def parseArgs(args: Array[String]): Unit = {
- for (i <- 0 until args.size) {
- if (args(i) == "--targetDir") {
- target_dir = Some(args(i + 1))
- }
- }
- }
-
- @deprecated("This has no effect on Chisel3 Driver! This will be removed in 3.4.", "3.2.2")
- def targetDir(): String = { target_dir getOrElse new File(".").getCanonicalPath }
-
- /**
- * Run the chisel3 compiler and possibly the firrtl compiler with options specified
- *
- * @param optionsManager The options specified
- * @param dut The device under test
- * @return An execution result with useful stuff, or failure with message
- */
- @deprecated("Use chisel3.stage.ChiselStage.execute. This will be removed in 3.4.", "3.2.2")
- def execute(
- optionsManager: ExecutionOptionsManager with HasChiselExecutionOptions with HasFirrtlOptions,
- dut: () => RawModule): ChiselExecutionResult = {
-
- val annos: AnnotationSeq =
- Seq(DriverCompatibility.OptionsManagerAnnotation(optionsManager), ChiselGeneratorAnnotation(dut)) ++
- optionsManager.chiselOptions.toAnnotations ++
- optionsManager.firrtlOptions.toAnnotations ++
- optionsManager.commonOptions.toAnnotations
-
- val targets =
- Seq( Dependency[DriverCompatibility.AddImplicitOutputFile],
- Dependency[DriverCompatibility.AddImplicitOutputAnnotationFile],
- Dependency[DriverCompatibility.DisableFirrtlStage],
- Dependency[ChiselStage],
- Dependency[DriverCompatibility.MutateOptionsManager],
- Dependency[DriverCompatibility.ReEnableFirrtlStage],
- Dependency[DriverCompatibility.FirrtlPreprocessing],
- Dependency[chisel3.stage.phases.MaybeFirrtlStage] )
- val currentState =
- Seq( Dependency[firrtl.stage.phases.DriverCompatibility.AddImplicitFirrtlFile],
- Dependency[chisel3.stage.phases.Convert] )
-
- val phases: Seq[Phase] = new PhaseManager(targets, currentState) {
- override val wrappers = Seq( DeletedWrapper(_: Phase) )
- }.transformOrder
-
- val annosx = try {
- phases.foldLeft(annos)( (a, p) => p.transform(a) )
- } catch {
- /* ChiselStage and FirrtlStage can throw StageError. Since Driver is not a StageMain, it cannot catch these. While
- * Driver is deprecated and removed in 3.2.1+, the Driver catches all errors.
- */
- case e: StageError => annos
- }
-
- view[ChiselExecutionResult](annosx)
- }
-
- /**
- * Run the chisel3 compiler and possibly the firrtl compiler with options specified via an array of Strings
- *
- * @param args The options specified, command line style
- * @param dut The device under test
- * @return An execution result with useful stuff, or failure with message
- */
- @deprecated("Use chisel3.stage.ChiselStage.execute. This will be removed in 3.4.", "3.2.2")
- def execute(args: Array[String], dut: () => RawModule): ChiselExecutionResult = {
- val optionsManager = new ExecutionOptionsManager("chisel3") with HasChiselExecutionOptions with HasFirrtlOptions
-
- optionsManager.parse(args) match {
- case true =>
- execute(optionsManager, dut)
- case _ =>
- ChiselExecutionFailure("could not parse results")
- }
- }
-
- /**
- * This is just here as command line way to see what the options are
- * It will not successfully run
- * TODO: Look into dynamic class loading as way to make this main useful
- *
- * @param args unused args
- */
- @deprecated("Use chisel3.stage.ChiselMain. This will be removed in 3.4.", "3.2.2")
- def main(args: Array[String]) {
- execute(Array("--help"), null)
- }
-
- val version = BuildInfo.version
- val chiselVersionString = BuildInfo.toString
-}
diff --git a/src/main/scala/chisel3/compatibility.scala b/src/main/scala/chisel3/compatibility.scala
index e62cba7d..3b9a3dcc 100644
--- a/src/main/scala/chisel3/compatibility.scala
+++ b/src/main/scala/chisel3/compatibility.scala
@@ -363,8 +363,6 @@ package object Chisel {
implicit class fromIntToWidth(x: Int) extends chisel3.fromIntToWidth(x)
type BackendCompilationUtilities = firrtl.util.BackendCompilationUtilities
- @deprecated("Please switch to chisel3.stage.ChiselStage", "3.4")
- val Driver = chisel3.Driver
val ImplicitConversions = chisel3.util.ImplicitConversions
// Deprecated as of Chisel3
@@ -455,7 +453,6 @@ package object Chisel {
val Log2 = chisel3.util.Log2
- val unless = chisel3.util.unless
type SwitchContext[T <: Bits] = chisel3.util.SwitchContext[T]
val is = chisel3.util.is
val switch = chisel3.util.switch
diff --git a/src/main/scala/chisel3/internal/firrtl/Emitter.scala b/src/main/scala/chisel3/internal/firrtl/Emitter.scala
index 354be0c0..ad4df80a 100644
--- a/src/main/scala/chisel3/internal/firrtl/Emitter.scala
+++ b/src/main/scala/chisel3/internal/firrtl/Emitter.scala
@@ -29,7 +29,7 @@ private class Emitter(circuit: Circuit) {
case d: Clock => "Clock"
case _: AsyncReset => "AsyncReset"
case _: ResetType => "Reset"
- case d: chisel3.core.EnumType => s"UInt${d.width}"
+ case d: chisel3.experimental.EnumType => s"UInt${d.width}"
case d: UInt => s"UInt${d.width}"
case d: SInt => s"SInt${d.width}"
case d: FixedPoint => s"Fixed${d.width}${d.binaryPoint}"
diff --git a/src/main/scala/chisel3/util/BitPat.scala b/src/main/scala/chisel3/util/BitPat.scala
index 40563e23..12a421a0 100644
--- a/src/main/scala/chisel3/util/BitPat.scala
+++ b/src/main/scala/chisel3/util/BitPat.scala
@@ -91,12 +91,6 @@ object BitPat {
/** @group SourceInfoTransformMacro */
def do_=/= (that: BitPat)
(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions): Bool = that =/= x
-
- final def != (that: BitPat): Bool = macro SourceInfoTransform.thatArg
- @chiselRuntimeDeprecated
- @deprecated("Use '=/=', which avoids potential precedence problems", "3.0")
- def do_!= (that: BitPat)
- (implicit sourceInfo: SourceInfo, compileOptions: CompileOptions): Bool = that != x
}
}
@@ -125,11 +119,4 @@ sealed class BitPat(val value: BigInt, val mask: BigInt, width: Int) extends Sou
!(this === that)
}
- def != (that: UInt): Bool = macro SourceInfoTransform.thatArg
- @chiselRuntimeDeprecated
- @deprecated("Use '=/=', which avoids potential precedence problems", "3.0")
- def do_!= (that: UInt)
- (implicit sourceInfo: SourceInfo, compileOptions: CompileOptions): Bool = {
- this =/= that
- }
}
diff --git a/src/main/scala/chisel3/util/BlackBoxUtils.scala b/src/main/scala/chisel3/util/BlackBoxUtils.scala
index 21bd4dfa..3cd704b3 100644
--- a/src/main/scala/chisel3/util/BlackBoxUtils.scala
+++ b/src/main/scala/chisel3/util/BlackBoxUtils.scala
@@ -9,9 +9,6 @@ import firrtl.transforms.{BlackBoxPathAnno, BlackBoxResourceAnno, BlackBoxInline
trait HasBlackBoxResource extends BlackBox {
self: BlackBox =>
- @deprecated("Use addResource instead", "3.2")
- def setResource(blackBoxResource: String): Unit = addResource(blackBoxResource)
-
/** Copies a resource file to the target directory
*
* Resource files are located in project_root/src/main/resources/.
diff --git a/src/main/scala/chisel3/util/Conditional.scala b/src/main/scala/chisel3/util/Conditional.scala
index b934f27f..1ac94bfe 100644
--- a/src/main/scala/chisel3/util/Conditional.scala
+++ b/src/main/scala/chisel3/util/Conditional.scala
@@ -12,15 +12,6 @@ import scala.reflect.macros.blackbox._
import chisel3._
import chisel3.internal.sourceinfo.SourceInfo
-@deprecated("The unless conditional is deprecated, use when(!condition){...} instead", "3.2")
-object unless {
- /** Does the same thing as [[when$ when]], but with the condition inverted.
- */
- def apply(c: Bool)(block: => Any) {
- when (!c) { block }
- }
-}
-
/** Implementation details for [[switch]]. See [[switch]] and [[chisel3.util.is is]] for the
* user-facing API.
* @note DO NOT USE. This API is subject to change without warning.
diff --git a/src/test/scala/chiselTests/AsyncResetSpec.scala b/src/test/scala/chiselTests/AsyncResetSpec.scala
index a8e62fe8..d49f390c 100644
--- a/src/test/scala/chiselTests/AsyncResetSpec.scala
+++ b/src/test/scala/chiselTests/AsyncResetSpec.scala
@@ -209,7 +209,6 @@ class AsyncResetSpec extends ChiselFlatSpec with Utils {
}
it should "support Fixed regs" in {
- import chisel3.experimental.{withReset => _, _}
assertTesterPasses(new BasicTester {
val reg = withReset(reset.asAsyncReset)(RegNext(-6.0.F(2.BP), 3.F(2.BP)))
val (count, done) = Counter(true.B, 4)
@@ -223,7 +222,7 @@ class AsyncResetSpec extends ChiselFlatSpec with Utils {
}
it should "support Interval regs" in {
- import chisel3.experimental.{withReset => _, _}
+ import chisel3.experimental._
assertTesterPasses(new BasicTester {
val reg = withReset(reset.asAsyncReset) {
val x = RegInit(Interval(range"[0,13]"), 13.I)
diff --git a/src/test/scala/chiselTests/CompatibilitySpec.scala b/src/test/scala/chiselTests/CompatibilitySpec.scala
index 6a77c821..c7a68e7c 100644
--- a/src/test/scala/chiselTests/CompatibilitySpec.scala
+++ b/src/test/scala/chiselTests/CompatibilitySpec.scala
@@ -103,7 +103,6 @@ class CompatibiltySpec extends ChiselFlatSpec with ScalaCheckDrivenPropertyCheck
Reverse(wire) shouldBe a [UInt]
Cat(wire, wire) shouldBe a [UInt]
Log2(wire) shouldBe a [UInt]
- unless(Bool(false)) {}
// 'switch' and 'is' are tested below in Risc
Counter(2) shouldBe a [Counter]
DecoupledIO(wire) shouldBe a [DecoupledIO[UInt]]
@@ -353,13 +352,6 @@ class CompatibiltySpec extends ChiselFlatSpec with ScalaCheckDrivenPropertyCheck
info("Deprecated method DC hasn't been removed")
val bp = BitPat.DC(4)
-
- info("BitPat != UInt is a Bool")
- (bp != UInt(4)) shouldBe a [Bool]
-
- /* This test does not work, but I'm not sure it's supposed to? It does *not* work on chisel3. */
- // info("UInt != BitPat is a Bool")
- // (UInt(4) != bp) shouldBe a [Bool]
}
ChiselStage.elaborate(new Foo)
@@ -474,22 +466,6 @@ class CompatibiltySpec extends ChiselFlatSpec with ScalaCheckDrivenPropertyCheck
behavior of "Data methods"
- it should "support legacy methods" in {
- class Foo extends Module {
- val io = IO(new Bundle{})
-
- info("litArg works")
- UInt(width=3).litArg() should be (None)
- UInt(0, width=3).litArg() should be (Some(chisel3.internal.firrtl.ULit(0, 3.W)))
-
- info("toBits works")
- val wire = Wire(UInt(width=4))
- Vec.fill(4)(wire).toBits.getWidth should be (wire.getWidth * 4)
- }
-
- ChiselStage.elaborate(new Foo)
- }
-
behavior of "Wire"
it should "support legacy methods" in {
@@ -542,9 +518,6 @@ class CompatibiltySpec extends ChiselFlatSpec with ScalaCheckDrivenPropertyCheck
val u = UInt(8)
val s = SInt(-4)
- info("toBools works")
- u.toBools shouldBe a [Seq[Bool]]
-
info("asBits works")
s.asBits shouldBe a [Bits]
@@ -553,35 +526,6 @@ class CompatibiltySpec extends ChiselFlatSpec with ScalaCheckDrivenPropertyCheck
info("toUInt works")
s.toUInt shouldBe a [UInt]
-
- info("toBool works")
- UInt(1).toBool shouldBe a [Bool]
- }
-
- ChiselStage.elaborate(new Foo)
- }
-
- behavior of "UInt"
-
- it should "support legacy methods" in {
- class Foo extends Module {
- val io = new Bundle{}
-
- info("!= works")
- (UInt(1) != UInt(1)) shouldBe a [Bool]
- }
-
- ChiselStage.elaborate(new Foo)
- }
-
- behavior of "SInt"
-
- it should "support legacy methods" in {
- class Foo extends Module {
- val io = new Bundle{}
-
- info("!= works")
- (SInt(-1) != SInt(-1)) shouldBe a [Bool]
}
ChiselStage.elaborate(new Foo)
diff --git a/src/test/scala/chiselTests/DriverSpec.scala b/src/test/scala/chiselTests/DriverSpec.scala
deleted file mode 100644
index 3a78683b..00000000
--- a/src/test/scala/chiselTests/DriverSpec.scala
+++ /dev/null
@@ -1,101 +0,0 @@
-// SPDX-License-Identifier: Apache-2.0
-
-package chiselTests
-
-import java.io.File
-
-import chisel3._
-import firrtl.FirrtlExecutionSuccess
-import org.scalacheck.Test.Failed
-import org.scalatest.Succeeded
-import org.scalatest.freespec.AnyFreeSpec
-import org.scalatest.matchers.should.Matchers
-
-class DummyModule extends Module {
- val io = IO(new Bundle {
- val in = Input(UInt(1.W))
- val out = Output(UInt(1.W))
- })
- io.out := io.in
-}
-
-class TypeErrorModule extends chisel3.Module {
- val in = IO(Input(UInt(1.W)))
- val out = IO(Output(SInt(1.W)))
- out := in
-}
-
-class DriverSpec extends AnyFreeSpec with Matchers with chiselTests.Utils {
- "Driver's execute methods are used to run chisel and firrtl" - {
- "options can be picked up from comand line with no args" in {
- // NOTE: Since we don't provide any arguments (notably, "--target-dir"),
- // the generated files will be created in the current directory.
- val targetDir = "."
- Driver.execute(Array.empty[String], () => new DummyModule) match {
- case ChiselExecutionSuccess(_, _, Some(_: FirrtlExecutionSuccess)) =>
- val exts = List("anno.json", "fir", "v")
- for (ext <- exts) {
- val dummyOutput = new File(targetDir, "DummyModule" + "." + ext)
- info(s"${dummyOutput.toString} exists")
- dummyOutput.exists() should be(true)
- dummyOutput.delete()
- }
- Succeeded
- case _ =>
- Failed
- }
- }
-
- "options can be picked up from comand line setting top name" in {
- val targetDir = "local-build"
- Driver.execute(Array("-tn", "dm", "-td", targetDir), () => new DummyModule) match {
- case ChiselExecutionSuccess(_, _, Some(_: FirrtlExecutionSuccess)) =>
- val exts = List("anno.json", "fir", "v")
- for (ext <- exts) {
- val dummyOutput = new File(targetDir, "dm" + "." + ext)
- info(s"${dummyOutput.toString} exists")
- dummyOutput.exists() should be(true)
- dummyOutput.delete()
- }
- Succeeded
- case _ =>
- Failed
- }
-
- }
-
- "execute returns a chisel execution result" in {
- val targetDir = "test_run_dir"
- val args = Array("--compiler", "low", "--target-dir", targetDir)
-
- info("Driver returned a ChiselExecutionSuccess")
- val result = Driver.execute(args, () => new DummyModule)
- result shouldBe a[ChiselExecutionSuccess]
-
- info("emitted circuit included 'circuit DummyModule'")
- val successResult = result.asInstanceOf[ChiselExecutionSuccess]
- successResult.emitted should include ("circuit DummyModule")
-
- val dummyOutput = new File(targetDir, "DummyModule.lo.fir")
- info(s"${dummyOutput.toString} exists")
- dummyOutput.exists() should be(true)
- dummyOutput.delete()
- }
-
- "user errors show a trimmed stack trace" in {
- val targetDir = "test_run_dir"
- val args = Array("--compiler", "low", "--target-dir", targetDir)
-
- val (stdout, stderr, result) = grabStdOutErr { Driver.execute(args, () => new TypeErrorModule) }
-
- info("stdout shows a trimmed stack trace")
- stdout should include ("Stack trace trimmed to user code only")
-
- info("stdout does not include FIRRTL information")
- stdout should not include ("firrtl.")
-
- info("Driver returned a ChiselExecutionFailure")
- result shouldBe a [ChiselExecutionFailure]
- }
- }
-}
diff --git a/src/test/scala/chiselTests/experimental/ForceNames.scala b/src/test/scala/chiselTests/experimental/ForceNames.scala
index b3534f11..06f911e6 100644
--- a/src/test/scala/chiselTests/experimental/ForceNames.scala
+++ b/src/test/scala/chiselTests/experimental/ForceNames.scala
@@ -4,7 +4,7 @@ package chiselTests
import firrtl._
import chisel3._
-import chisel3.core.annotate
+import chisel3.experimental.annotate
import chisel3.stage.{ChiselGeneratorAnnotation, ChiselStage}
import chisel3.util.experimental.{ForceNameAnnotation, ForceNamesTransform, InlineInstance, forceName}
import firrtl.annotations.{Annotation, ReferenceTarget}