| Age | Commit message (Collapse) | Author |
|
* FixedPoint number support for chisel3
FixedPoint numbers have a width and a binary position
Either, neither or both maybe inferred.
Firrtl will convert these to SInts during lowering passes
* Fixes based on Jack's comments on PR #328
* Add experimental warning to FixedPoint class and object
* Fixed comment per Adam's comment on PR #328
|
|
|
|
Provide support for chisel options
Provide support for firrtl options when called as part of chisel compile
provide command line support the above options via scopt
provide and execution result class that can be used when chisel3 is part
of some externally controlled toolchain
|
|
Generate a better error message for missing IO() wrapper - fix #305
|
|
clone firrtlDirection when cloning - Issue #306
|
|
|
|
Add Cookbook tests
|
|
Merge with master and support checking for failure with an explicit assertion message.
|
|
|
|
|
|
Code that imports Chisel._ shouldn't see them.
Not sure if requireIOWrap is the right condition... or if cyan is a
good choice of color for deprecation warnings.
|
|
|
|
|
|
|
|
Massage CompileOption names in an attempt to preserve default (Strict) CompileOptions in the absence of explicit imports.
NOTE: Since the default is now strict, we may encounter errors when we generate connections for clients (i.e., in Vec.do_apply() when we wire up a sequence).
We should really thread the CompileOptions through the macro system so the client's implicits are used.
|
|
|
|
These tests are intended to be the examples in the Chisel3 Wiki Cookbook.
|
|
Additionally, fix Clock.asUInt (previously, it threw an esoteric exception), and add a simple test of both.
|
|
|
|
Printable was using HasId.instanceName to get full names of Chisel nodes.
instanceName uses the parent module of the HasId to get the Component to use in
calling fullName on the underlying Ref. Unfortunately this means that any
reference to a port of a instance will leave off the instance name. Fixing this
required the following:
- Add Component argument to Printable.unpack so that we can call Arg.fullName
directly in the Printable
- Pass the currently emitting module as the Component to Printable.unpack in
the Emitter
- Remove ability to create FullName Printables from Modules since the Module
name is not known until after the printf is already emitted
This commit also updates the PrintableSpec test to check that FullName and
Decimal printing work on ports of instances
|
|
Printable is a new type that changes how printing of Chisel types is represented
It uses an ordered collection rather than a format string and specifiers
Features:
- Custom String Interpolator for Scala-like printf
- String-like manipulation of "hardware strings" for custom pretty-printing
- Default pretty-printing for Chisel data types
|
|
|
|
Eliminate builder compileOptions.
|
|
|
|
Remove references to the Chisel package in favor of explicit chisel3 imports in tests,
|
|
|
|
|
|
Import chisel3.NotStrict.CompileOptions in Chisel package.
Add CompileOptions tests.
|
|
|
|
|
|
signalName -> instanceName
SignalId -> InstanceId
Based on Stephen's comments on PR
|
|
Removed extraneous logic
Renamed doStuff to buildAnnotatedCircuit
Removed println's
|
|
generation of annotations in a chisel circuit that could be used by custom firrtl passes
This spec also shows and tests in a limited way the new API of .signalName, .pathName, parentModName which allows access to the various path information of a chisel component (something that subclasses SignalId, most prominently SubClasses of Data and Module
|
|
|
|
|
|
* Make "def width" a private API; expose isWidthKnown instead
Resolves #256.
Since width was used to determine whether getWidth would succeed, I added
def isWidthKnown: Boolean
but another option would be to expose something like
def widthOption: Option[Int]
...thoughts?
* Document getWidth/isWidthKnown
* Add widthOption for more idiomatic Scala manipulation of widths
|
|
|
|
|
|
|
|
|
|
Remove .Lit(x) usage.
Undo "private" scope change.
Change "firing" back to "fire".
Add package level NODIR definition.
|
|
|
|
|
|
|
|
Still fails one test - DirectionSpec in Direction.scala
|
|
|
|
|
|
|
|
For Chisel nodes defined in Module class-level values of type Option or
Iterable, we can still use reflection to assign names based on the name
of the value. This works for arbitrary nesting of Option and Iterable so
long as the innermost type is HasId. Note that this excludes Maps which
always have an innermost type of Tuple2[_,_].
|
|
Need to convert UInt(x) into UInt.Lit(x) or UInt.width(x)
|