aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-03-28Enhance RenameMap to support circuit renaming (#775)Jack Koenig
Also delete CircuitTopName. It will not work with updated RenameMap
2018-03-28Replace unconnected registers with 0 in Constant Propagation (#776)Jack Koenig
Moved from RemoveValidIf Also Make RemoveValidIf.getGroundZero public and support Fixed
2018-03-27Change throwInternalError to use a String instead of Option[String] (#777)Jack Koenig
2018-03-27Const prop improvement (#772)Jack Koenig
Improve constant propagation of connections to references [skip formal checks] LEC fails on this PR because this PR actually changes the circuit. The change is that it constant propagates some additional registers. This is really just extending #621 to work on more registers that it was supposed to be propagating anyway.
2018-03-26Make WiringTransform remove its used annotations (#774)Schuyler Eldridge
* Make WiringTransform remove its used annotations Signed-off-by: Schuyler Eldridge <schuyler.eldridge@ibm.com>
2018-03-23Make Register Update Flattening a Transform and Delete Dangling Nodes (#692)Jack Koenig
2018-03-22Better bad annotation file error reporting (#771)Jack Koenig
* Propagate exceptions from JsonProtocol deserialization * Add AnnotationFileNotFoundException for better error reporting * Add AnnotationClassNotFoundException for better error reporting * Better propagate JSON parsing errors Also report the file if there is a error deserializing a JSON file * Make exception for non-array JSON file more explicit
2018-03-21GroupModule Transform (#766)Adam Izraelevitz
* Added grouping pass * Added InfoMagnet and infomappers * Changed return type of execute to allow final CircuitState inspection * Updated dedup. Now is name-agnostic * Added GroupAndDedup transform
2018-03-21Add SyntaxErrorsException as a type of ParserException (#770)Jack Koenig
Also make ParserException extend FIRRTLException to better report parsing errors to the user
2018-03-20Correct extmodule example in spec (#768)Albert Magyar
2018-03-19Adding the firrtl proto. (#746)Kevin Townsend
* Adding the firrtl proto. * .
2018-03-19Pass up annotations in return value from Driver.execute (#760)Chick Markley
* Pass up annotations in return value from Driver.execute Backward compatible with existing usage. Adds CircuitState to FirrtlExecutionSuccess, but that member is not part of the unapply. "To a single file per module if OneFilePerModule is specified" test shows example of getting access to annotations * As experiment return created files in annotations Fix line missed in last push
2018-03-19Update README.md (#761)Albert Magyar
2018-03-19Masks for zero-width fields of mems should be width zero. (#763)grebe
Closes #666.
2018-03-15Improve section heading (#762)edwardcwang
2018-03-03Bump SNAPSHOT version (#752)Jim Lawson
2018-03-02Reduce Statement nesting in Wiring Pass (#751)Jack Koenig
Large amounts of Wiring could result in huge nesting of Statements. This could cause stack overflows using the Mappers. Fixed by no longer nesting Statements in Wiring Pass.
2018-03-02Fix annotation deserialization of component subfields (#750)Jack Koenig
Also make InvalidAnnotationFileException extend FIRRTLException for better error reporting
2018-03-01[name change] Use LsbLargerThanMsbException (#740)Schuyler Eldridge
Use the standard convention of 'XxYyException' for the previously named LsbLargerThanMsb Exception. h/t @kevintownsend Signed-off-by: Schuyler Eldridge <schuyler.eldridge@ibm.com>
2018-02-27Refactor Annotations (#721)Jack Koenig
- Old Annotation renamed to deprecated LegacyAnnotation - Annotation is now a trait that can be extended - New JsonProtocol for Annotation [de]serialization - Replace AnnotationMap with AnnotationSeq - Deprecate Transform.getMyAnnotations - Update Transforms - Turn on deprecation warnings - Remove deprecated Driver.compile - Make AnnotationTests abstract with Legacy and Json subclasses - Add functionality to convert LegacyAnnotations of built-in annos This will give a noisy warning and is more of a best effort than a robust solution. Fixes #475 Closes #609
2018-02-27Add log-level debug message for modules that get deduped (#748)Jack Koenig
2018-02-26Rename loadAnnotations -> getAnnotations (#747)Jack Koenig
This makes the API change explicit. Also reintroduce loadAnnotations as a deprecated function.
2018-02-23Add graph summation "+" to DiGraph (#744)Schuyler Eldridge
* Add DiGraph sum and DiGraph sum test Signed-off-by: Schuyler Eldridge <schuyler.eldridge@ibm.com> * Make DiGraph sum deterministic Signed-off-by: Schuyler Eldridge <schuyler.eldridge@ibm.com> * Remove ordered hashes/sets from DiGraphTests Signed-off-by: Schuyler Eldridge <schuyler.eldridge@ibm.com>
2018-02-22Add tests for #702. Adds Utility functions. Allows clock muxing in FIRRTL, ↵Adam Izraelevitz
but not Emitter. (#717)
2018-02-21Change primop arg type (#587)Adam Izraelevitz
* Changed primops to not accept mixed-type args * Changed return type of sub of two uints to uint * Added negative tests * Removed rocket.fir. Manually changed RocketCore to not mix mul arg types. Added integration tests * Clarified test description and remove println * Fixed use of throwInternalError
2018-02-16Replacematcherror - catch exceptions and convert to internal error. (#424)Jim Lawson
* Catch exceptions and convert to internal error. We need to update the displayed message to incorporate a line number and text to be used for the issue. * Cleanup exception handling/throwing. Re-throw expected (or uncorrectable exceptions). Provide Utils.getThrowable() to get the first (eldest) or last throwable in the chain. Update tests to conform to FreeSpec protocol. * Minor cleanup Admit we've updated some deprecated ScalaTest methods.
2018-02-16Update spec for rhsSchuyler Eldridge
Fixes #450 Signed-off-by: Schuyler Eldridge <schuyler.eldridge@ibm.com>
2018-02-12Bump sbt to 1.1.1 and bump plugins (#739)Jack Koenig
Also move all plugins to project/plugins.sbt
2018-02-08CheckHighForm should check that Bits MSB >= LSB (#738)Schuyler Eldridge
Fixes #700 Signed-off-by: Schuyler Eldridge <schuyler.eldridge@ibm.com>
2018-02-07Fix EulerTour for circuits with one module (#736)Schuyler Eldridge
A circuit with a single module would fail to properly compute BV RMQs due to a divide by zero bug. This changes the computation of the number of blocks an Euler Tour is broken up into to be, at minimum, one. This also changes one of the test cases ("wire with source and sink in the same module") to exercise this. Signed-off-by: Schuyler Eldridge <schuyler.eldridge@ibm.com>
2018-02-06Updatefromrelease - Incorporate lessons learned from latest publishing. (#656)Jim Lawson
* Initial 0.1-BETA release. * Update publish clauses. * Bump version after rebuilding with Java 1.7 * Update to current sbt resolver idiom. * Bump version * Revert "Bump version" This reverts commit 37ce060329d437c4494dd1560c1fb8a65a7a0718. * Bump version. * Update installation instructions with sbt publish-local. * set release version * bump release versions * bump SNAPSHOT version * bump version * update deprecated sbt code * Drop pomExtra scm definitions (now generated by git.remoteRepo. * Incorporate lesssons learned from latest publishing. * Bump testing coverage for Scala 2.12 support. * Respond to review requests - unindent changes; unbump plugins version.
2018-02-05Added comments to ExpandWhens (#716)Adam Izraelevitz
2018-01-30Merge pull request #735 from freechipsproject/fix-const-propJack Koenig
Fix Bugs in Constant Propagation
2018-01-30Make Constant Propagation respect dontTouch on registersJack Koenig
2018-01-30Fix bug incorrectly propagating constants on submodule inputsJack Koenig
Two instances of the same module could collide in counting the number of instances of each Module. This could lead to constants being propagated on inputs when it is incorrect to do so. Fixes #734
2018-01-17Add firrtl-mode to README.md (#730)Schuyler Eldridge
Signed-off-by: Schuyler Eldridge <schuyler.eldridge@ibm.com>
2018-01-15WiringTransform Refactor (#648)Schuyler Eldridge
Massive refactoring to WiringTransform with the use of a new EulerTour class to speed things up via fast least common ancestor (LCA) queries. Changes include (but are not limited to): * Use lowest common ancestor when wiring * Add EulerTour class with naive and Berkman-Vishkin RMQ * Adds LCA method for Instance Graph * Enables "Two Sources" using "Top" wiring test as this is now valid * Remove TopAnnotation from WiringTransform * Represent WiringTransform sink as `Seq[Named]` * Remove WiringUtils.countInstances, fix imports * Support sources under sinks in WiringTransform * Enable internal module wiring * Support Wiring of Aggregates h/t @edcote fixes #728 Signed-off-by: Schuyler Eldridge <schuyler.eldridge@ibm.com> Reviewed-by: Jack Koenig<jack.koenig3@gmail.com>
2018-01-09Update README.mdAdam Izraelevitz
2018-01-08Typo: ExecutionOptionManager -> ExecutionOptionsManager.Leway Colin
2018-01-05Fix FirrtlExecutionOptions backward incompatible change (#704). (#720)Jim Lawson
Fix FirrtlExecutionOptions backward incompatible change (#704). New options should be added to the end of the list to reduce backward compatibility problems. Update comment to mention backwards compatibility issue.
2018-01-05Remove erroneous undef of RANDOMIZE in emitted VerilogJack Koenig
2017-12-29Add support for multiple annotation filesJack
Change loadAnnotations to return annotations instead of mutating firrtlOptions Deprecate implicit annotation file (top.anno) and annotation file override
2017-12-29Actually emit annotations as YAML instead of default toStringJack
2017-12-29Remove option --force-append-anno-file, make defaultJack Koenig
The logic around this option was unintuitive and led to silently dropped annotations.
2017-12-29Add Driver.dramaticWarningJack
2017-12-29Add logger printing for declarations removed by DCEJack Koenig
2017-12-29Add NodeCount analysis for helping with performance debuggingJack Koenig
2017-12-27Removed top preamble (#640)Adam Izraelevitz
2017-12-26Adjust isVCSAvailable commentedwardcwang
2017-12-26Update ISSUE_TEMPLATE.mdAdam Izraelevitz
Updated wording