| Age | Commit message (Collapse) | Author |
|
This changes uses of `getSimpleName` to `getName`. The former throws
idiotic exceptions under Java 8, e.g., `getSimpleName` will fail if
used on a class inside an object.
This fixes a bug where any call to the `name` method of a custom
transform defined inside an object (or in an environment wrapping
things in objects like a REPL) will throw a malformed class name
exception. E.g., if you do this and run with `-ll info` or your custom
transform deletes annotations.
Signed-off-by: Schuyler Eldridge <schuyler.eldridge@ibm.com>
|
|
Signed-off-by: Schuyler Eldridge <schuyler.eldridge@ibm.com>
|
|
* Add spec for Analog type and attach statement
* Describe role of attaches in partial connection algorithm
* Change references that describe ground types where appropriate
* Closes #1194
* Fix typo
|
|
|
|
Add separate Issue and PR templates
|
|
Signed-off-by: Schuyler Eldridge <schuyler.eldridge@ibm.com>
|
|
Recursive literal lookup needs to be guarded against combinational loops
Added a test-case to illustrate the issue when CheckResets is run before CheckCombLoops
|
|
|
|
Supply a trait to allow user annotations to provide JsonProtocol type hints
|
|
|
|
* 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
|
|
Guard initial blocks in emitted Verilog with `ifndef SYNTHESIS
|
|
|
|
Change findInstancesInHierarchy to return implicit top instance
|
|
|
|
|
|
|
|
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
|
|
|
|
Enhance CheckCombLoops errors with connection info
|
|
* Closes #1203
|
|
* Add Scaladoc for EdgeData API
* Include stringified vertices in EdgeNotFoundException
|
|
|
|
Emit Verilog else-if for Register Updates
|
|
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>
|
|
Fix handling of read enables for write-first (default) memories in VerilogMemDelays
|
|
|
|
|
|
|
|
* 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
|
|
Make TopWiringTransform Idempotent
|
|
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
|
|
Implement read-first memory behavior in Verilog
|
|
* 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
|
|
* Define read-write collison for independently clocked mem ports
* Included definition of initiating write/read operation
|
|
|
|
Signed-off-by: Schuyler Eldridge <schuyler.eldridge@ibm.com>
|
|
* dont chain inline and refix RenameMaps
* cache already inlined modules
* reduce number of chained RenameMaps
* InlineInstances: cleanup and add comments
|