| Age | Commit message (Collapse) | Author |
|
* consolidated wire <type> x; assign x = y; to wire <type> x = y;
* Remove dead code from Emitter.scala
Co-authored-by: Albert Magyar <albert.magyar@gmail.com>
|
|
* Bugfix - have AppendInfo use MultiInfo, rather than appending with :
* Address reviewer feedback
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
|
|
Signed-off-by: Schuyler Eldridge <schuyler.eldridge@ibm.com>
|
|
Expression Types are derived. They cannot cause the errors detected by
CheckHighFormLike independently of the user-specified types that remain
chedked. This speeds up CheckChirrtl and CheckHighForm substantially.
|
|
Don't serialize Expressions unless there is an error
|
|
|
|
* adding init macros
* fix missing tick
* adding more documentation; fixing up emitter tests
* adding initial-guarding macro test
* prefixing macros with FIRRTL
* cleanup
* typo fix
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
|
|
Workaround for https://github.com/verilator/verilator #2300
present in Verilator versions v4.026 - v4.032. This transform turns AND
reductions for expressions > 64-bits into an equality check with all
ones. It is included as a prerequisite for all Verilog emitters.
|
|
This adds missing invalidations to four transforms:
- ExpandConnects
- RemoveAccesses
- SplitExpressions
- VerilogMemDelays
This necessarily updates test cases which expect exact transform
orders to reflect the new order.
Signed-off-by: Schuyler Eldridge <schuyler.eldridge@ibm.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
|
|
* Emitter: add declare functions ifdef guard
* Emitter: add ifdef initials
* Emitter: add comments, cleanup
* Emitter: changes from code review
- make new methods private
- use .withDefault
- remove empty initial block
Co-authored-by: Schuyler Eldridge <schuyler.eldridge@ibm.com>
|
|
* Bump old 'removed in 1.3' deprecation
* Remove outdated passes.VerilogRename
* Fixes #1467
|
|
Signed-off-by: Schuyler Eldridge <schuyler.eldridge@ibm.com>
|
|
Signed-off-by: Schuyler Eldridge <schuyler.eldridge@ibm.com>
|
|
Co-authored-by: Jack Koenig <koenig@sifive.com>
Co-authored-by: Schuyler Eldridge <schuyler.eldridge@ibm.com>
Signed-off-by: Schuyler Eldridge <schuyler.eldridge@ibm.com>
|
|
This mixes in the new DependencyAPIMigration trait into all Transforms
and Passes. This enables in-tree transforms/passes to build without
deprecation warnings associated with the deprecated CircuitForm.
As a consequence of this, every Transform now has UnknownForm as both
its inputForm and outputForm. This PR modifies legacy Compiler and
testing infrastructure to schedule transforms NOT using
mergeTransforms/getLoweringTransforms (which rely on inputForm and
outputForm not being UnknownForm), but instead using the Dependency
API.
Signed-off-by: Schuyler Eldridge <schuyler.eldridge@ibm.com>
|
|
Signed-off-by: Schuyler Eldridge <schuyler.eldridge@ibm.com>
|
|
Signed-off-by: Schuyler Eldridge <schuyler.eldridge@ibm.com>
|
|
Signed-off-by: Schuyler Eldridge <schuyler.eldridge@ibm.com>
|
|
Changes the DependencyManager to use the private[options]
LinkedHashSet members that shadow the public Seq[_] dependencies. This
should avoid some unnecessary set construction and also improves
readability of the DependencyManager code.
Signed-off-by: Schuyler Eldridge <schuyler.eldridge@ibm.com>
|
|
Signed-off-by: Schuyler Eldridge <schuyler.eldridge@ibm.com>
|
|
|
|
|
|
* Fixes #1516
* Tighten up logic for "casted literal" checking
|
|
Chisel emits all literals as UInts cast to the correct type, make
CheckResets support casts when checking that async reset registers are
reset to literal values.
Co-authored-by: Schuyler Eldridge <schuyler.eldridge@ibm.com>
|
|
|
|
Fixes a bug where an Emitter was only checking for the presence of an
EmitCircuitAnnotation or EmitAllModulesAnnotation to control its
emission flavor (one-file-per-module or one-file). This changes the
check to ensure that the class of emitter matches that of the
annotation. This allows for correct behavior when mixing different
emitters, e.g., -E high -e middle.
Signed-off-by: Schuyler Eldridge <schuyler.eldridge@ibm.com>
|
|
|
|
* Remove unused imports
|
|
|
|
* EliminateTargetPaths: add lone instance test cases
* EliminateTargetPaths: don't rename lone instances
* get rid of trailing comma
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
|
|
* Split Passes.scala into separate files
* Add imports of implicit things
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
|
|
* update JsonProtocolSpec to test GroundType
* add custom serializer for GroundType
* get rid of trailing comma
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
|
|
* Support infoMode for Strings
It seemed like an API hole that I couldn't use infoMode with a string but had to manually create an iterator first.
* Fix build error
Co-authored-by: Jim Lawson <ucbjrl@berkeley.edu>
|
|
* Fix dynamic SubAccess of zero-length vectors
* Fixes #230
* Add new ZeroLengthVecs pass that occurs before RemoveAccesses
* Include this in stage.Forms.MidForm
* Add to High->Mid order in compiler test based on @seldridge feedback
* Use validif to produce out-of-bounds value in ZeroLengthVecs
* Update scaladoc
* Fix test imports
|
|
|
|
* Remove few remaining uses of these passes from FIRRTL codebase
|
|
* Remove 'gender' as pattern match binding
|
|
|
|
|
|
Signed-off-by: Schuyler Eldridge <schuyler.eldridge@ibm.com>
|
|
* Eliminate warnings on `sbt doc` and `sbt unidoc`
- removed toFirrtl reference on MultiTargetAnnotation
- lots of places where package path has to be added to comment references
- Change to use `/** text starts here` convention when wrong in comment with a doc fix.
- Did not exhaustively change these
- Wrestled doc example in RenderDiGraph#renderNode, not sure if I won
- Cleaned up InferWidths & CatchExceptions imports
- Added missing license message to a couple of files.
- fixed a couple of stale parameter names in scaladoc
- Added @unchecked to stop erasure warning in Emitting where emission annotations are collected
- Change types to [_] on match in RenameMap#recordAll to fix erasure warning
* Where possible change [[firrtl.ir.X]] to [[firrtl.ir.X X]] for better display in scaladoc
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
|
|
* Fixes #1464
|
|
* Link to Java API Documentation
This adds a build.sbt apiMappings to allow for Scaladoc/Unidoc linking
to Java API documentation. This uses the exact strategy that Scala
upstream uses for linking.
Signed-off-by: Schuyler Eldridge <schuyler.eldridge@ibm.com>
* Add example of Java and Scala API docs linking
Signed-off-by: Schuyler Eldridge <schuyler.eldridge@ibm.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
|
|
* Remove toNamed (and friends) deprecation.
* Add inadvertently deleted leading double quote.
* Remove commented out deprecations.
|
|
(#1463)
* Explicitly initialize firrtl.stage.Forms to prevent multi-thread collisions
See https://github.com/freechipsproject/firrtl/issues/1462.
Convert `lazy val` members of firrtl.stage.Forms to plan `val`s.
Reference firrtl.stage.Forms in sufficient locations to ensure the object is initialized before its members are accessed.
* Respond to comments - make _dummyForms private.
* Move Forms initialization to package object.
* Merge with master
|
|
* Change from log-level debug to trace
* Serialize as JSON rather than .serialize on each annotation
Co-Authored-By: Chick Markley <chick@qrhino.com>
|
|
|
|
* Fixes #1096
|
|
* Fixes #1436
|
|
Fixes #1453
|