| Age | Commit message (Collapse) | Author |
|
|
|
* Closes #1162
* Instances of extmodules remain in the final hierarchy
* Extmodule definitions are not renamed or duplicated
* The rest of the pass may proceed as normal
|
|
* Fixes #1154
* Tests that #1154 example produces SyntaxErrorsException
* Generally helps catch trailing syntax errors
* Performance-neutral relative to previous grammar
* Recommended by antlr4 devs, can help performance in some cases
* See antlr/antlr4#1540
|
|
|
|
|
|
|
|
|
|
Co-Authored-By: Jack Koenig <koenig@sifive.com>
|
|
|
|
|
|
* Change FIRRTL-internal API, affecting only one corner case
* Make API more "DWIM" and consistent with other methods
* Add test cases for findInstancesInHierarchy
* Update Scaladoc
|
|
|
|
* Closes #1203
|
|
* Add Scaladoc for EdgeData API
* Include stringified vertices in EdgeNotFoundException
|
|
|
|
Signed-off-by: Schuyler Eldridge <schuyler.eldridge@ibm.com>
|
|
Modifies the Verilog emitter to emit "else if" blocks as opposed to
more deeply nested "else begin if" blocks. This improves the output
Verilog readability.
Signed-off-by: Schuyler Eldridge <schuyler.eldridge@ibm.com>
|
|
|
|
|
|
|
|
* Additional refactoring to clean up pass implementation
* Make register names match old scheme to appease CI
|
|
Major features:
- Added Interval type, as well as PrimOps asInterval, clip, wrap, and sqz.
- Changed PrimOp names: bpset -> setp, bpshl -> incp, bpshr -> decp
- Refactored width/bound inferencer into a separate constraint solver
- Added transforms to infer, trim, and remove interval bounds
- Tests for said features
Plan to be released with 1.3
|
|
Signed-off-by: Schuyler Eldridge <schuyler.eldridge@ibm.com>
|
|
This changes TopWiringTransform to remove TopWiringAnnotations after
it runs.
Signed-off-by: Schuyler Eldridge <schuyler.eldridge@ibm.com>
|
|
(#1186)
* Replace instance analysis code with InstanceGraph API calls
* Add convenience implicits for using TargetTokens as safe boxed strings
|
|
|
|
Fix minor regression from #1124
|
|
* Corrects behavior under write collisions
* Avoids heavily refactoring pass
|
|
* Stop ignoring read-under-write (RUW) parameter
* Add conservative check: blackbox only when RUW is "undefined"
* VerilogMemDelays now throws InternalError for read-first memories
* Previously, read-first mems were incorrectly implemented as write-first
|
|
* Make the read-under-write (RUW) parameter typesafe
* Add RUW support to the FIRRTL proto and CHIRRTL grammar
|
|
* dont chain inline and refix RenameMaps
* cache already inlined modules
* reduce number of chained RenameMaps
* InlineInstances: cleanup and add comments
|
|
Create instance maps once for each Module
|
|
Signed-off-by: Schuyler Eldridge <schuyler.eldridge@ibm.com>
|
|
The following names are changed:
- gender -> flow
- Gender -> Flow
- MALE -> SourceFlow
- FEMALE -> SinkFlow
- BIGENDER -> DuplexFlow
- UNKNOWNGENDER -> UnknownFlow
Signed-off-by: Schuyler Eldridge <schuyler.eldridge@ibm.com>
|
|
Adds a space to correct in an exception message. Corrects
capitalization in Github to it's official name (GitHub) and adds a
link to file an issue.
Signed-off-by: Schuyler Eldridge <schuyler.eldridge@ibm.com>
|
|
|
|
* Refactor: remove redundancy code
* Fixed coding style
|
|
|
|
|
|
This adds the StageError Error. This Error indicates that a
Stage/Phase has hit an unrecoverable error, it cannot continue, and
requests that the entire Stage/Phase hierarchy be killed with an
ExitFailure ExitCode. StageMain is modified to catch StageError and
exit the application with the provided exit code number.
Signed-off-by: Schuyler Eldridge <schuyler.eldridge@ibm.com>
|
|
Signed-off-by: Schuyler Eldridge <schuyler.eldridge@ibm.com>
|
|
This should be a helpValueName and not a shortOption.
Signed-off-by: Schuyler Eldridge <schuyler.eldridge@ibm.com>
|
|
|
|
* Add abstract "Reset" which can be inferred to AsyncReset or UInt<1>
* Enhance async reset initial value literal check to support aggregates
|
|
|
|
Signed-off-by: Schuyler Eldridge <schuyler.eldridge@ibm.com>
|
|
This modifies RemoveReset to NOT generate a mux for
invalid (IsInvalid) inits. In the case of an invalid init, the reset
is converted to a self-connect and no mux is generated.
This is implemented as a new, initial pass over the module to populate
a set of all invalid signals. During the subsequent, circuit-modifying
pass, this invalid set is queried to special case the handling of
invalid inits.
Signed-off-by: Schuyler Eldridge <schuyler.eldridge@ibm.com>
|
|
* Check mems for legal latencies; ban zero write latency.
* Trigger
|
|
* Avoid redundancy between CheckChirrtl and CheckHighForm, add more checks
* Add test case for illegal Chirrtl memory in HighForm
|
|
Signed-off-by: Schuyler Eldridge <schuyler.eldridge@ibm.com>
|