aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-04-13Ensure PadWidths is run in mverilog compilerAlbert Magyar
2020-04-13Merge pull request #1512 from freechipsproject/issue-1511Schuyler Eldridge
Fix mixed -E and -e emission
2020-04-13Add test of mixing -e with -E in FirrtlMainSpecSchuyler Eldridge
Signed-off-by: Schuyler Eldridge <schuyler.eldridge@ibm.com>
2020-04-13Check EmitAnnotation class before emittingSchuyler Eldridge
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>
2020-04-13Split Checks into separate filesAlbert Magyar
2020-04-13Split Resolves into separate filesAlbert Magyar
* Remove unused imports
2020-04-13move asyncInitials inside initial block RANDOMIZE ifdef (#1510)John Ingalls
2020-04-13[spec] Add Fixed to spec (#1456)Albert Magyar
* [spec] Add Fixed to spec * Fixes #1195 * Define type & parameters * Add Fixed as argument type to type conversions * Add Fixed as argument type to relevent PrimOps (with link to tables) * Add asFixed PrimOp * Add IncP/DecP/SetP primops * Add fixed-point width/point propagation tables * Update spec pdf Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2020-04-11EliminateTargetPaths: don't duplicate modules with only one instance (#1504)Albert Chen
* 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>
2020-04-10Split Passes.scala into separate files (#1496)Adam Izraelevitz
* Split Passes.scala into separate files * Add imports of implicit things Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2020-04-10Add ground type serializer (#1502)Albert Chen
* 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>
2020-04-10Support infoMode for Strings (#782)edwardcwang
* 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>
2020-04-07Fix dynamic SubAccess of zero-length vectors (#1450)Albert Magyar
* 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
2020-04-06Merge pull request #1497 from freechipsproject/remove-deprecated-genderAlbert Magyar
Remove deprecated "Gender" API in favor of "Flow"
2020-04-06* Remove deprecated 'Gender' methods/aliasesAlbert Magyar
2020-04-06Remove deprecated ResolveGenders and CheckGendersAlbert Magyar
* Remove few remaining uses of these passes from FIRRTL codebase
2020-04-06Avoid using deprecated 'Gender' objectsAlbert Magyar
* Remove 'gender' as pattern match binding
2020-04-05Add Release Notes section and check-box for checklist. (#1495)Jim Lawson
* Add Release Notes section and check-box for checklist. * moved PR template stuff around Co-authored-by: Adam Izraelevitz <azidar@gmail.com>
2020-04-02Disable unidoc -Xfatal-warning for Scala 2.11 (#1493)Jim Lawson
2020-03-30Add 'did you update spec' box to PR template (#1482)Albert Magyar
2020-03-30Make InlineCasts invalidate LegalizeClocksAlbert Magyar
2020-03-30Add previously failing pad(cast(lit)) example as a test caseAlbert Magyar
* Previously, this test failed whenever InlineCasts was run
2020-03-30Avoid generating illegal part-selects in InlineCastsAlbert Magyar
2020-03-30Port FirrtlRunners.firrtlEquivalenceTest to use FirrtlStageAlbert Magyar
* Make RenameTop DependencyAPI-compliant
2020-03-30Merge pull request #1471 from freechipsproject/scaladoc-no-warnings-1-seSchuyler Eldridge
Nuclear Option (-Xfatal-warnings) for Scaladoc Build
2020-03-30Add Unidoc build to Travis CISchuyler Eldridge
Signed-off-by: Schuyler Eldridge <schuyler.eldridge@ibm.com>
2020-03-30Nuclear option for documentation buildingSchuyler Eldridge
Turn on -Xfatal-warnings when building documentation. Signed-off-by: Schuyler Eldridge <schuyler.eldridge@ibm.com>
2020-03-30Switch to 3.0.0 sbt-apimappingsSchuyler Eldridge
Signed-off-by: Schuyler Eldridge <schuyler.eldridge@ibm.com>
2020-03-30Don't use postfix operator in transforms.FlattenSchuyler Eldridge
Signed-off-by: Schuyler Eldridge <schuyler.eldridge@ibm.com>
2020-03-26Bump to Scala 2.12.11 (#1473)Jack Koenig
Co-authored-by: Jim Lawson <ucbjrl@berkeley.edu>
2020-03-26Eliminate warnings on `sbt doc` and `sbt unidoc` (#1470)Chick Markley
* 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>
2020-03-26Update spec to clarify sign and use 'h' for hex throughoutAlbert Magyar
2020-03-26Support octal and binary literal formats as described in the specAlbert Magyar
* Fixes #1464
2020-03-25Update scalatest 3.1.0 (#1383)Jim Lawson
* Removed unused imports in src/test/ * Update ScalaTest deprecations. * Update scalatest from 3.0.8 to 3.1.0; apply auto fix for deprecations Co-authored-by: Jack Koenig <koenig@sifive.com>
2020-03-23Support Java API doc Scaladoc/Unidoc References (#1420)Schuyler Eldridge
* 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>
2020-03-23Remove toNamed (and friends) deprecation. (#1449)Jim Lawson
* Remove toNamed (and friends) deprecation. * Add inadvertently deleted leading double quote. * Remove commented out deprecations.
2020-03-23Explicitly initialize firrtl.stage.Forms to prevent multi-thread collisions ↵Jim Lawson
(#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
2020-03-23Change annotation logging (#1461)Jack Koenig
* Change from log-level debug to trace * Serialize as JSON rather than .serialize on each annotation Co-Authored-By: Chick Markley <chick@qrhino.com>
2020-03-21Refactor build.sbt into more normal style (#1465)Jack Koenig
2020-03-17Add method to CheckCompLoops which returns its full netlist (#1458)David Biancolin
2020-03-17[RFC] Factor out common test classes; package them (#1412)David Biancolin
* Pull out common test utilities into a separate package * Project a fat jar for test utilities Co-authored-by: Albert Magyar <albert.magyar@gmail.com>
2020-03-16Merge pull request #1437 from freechipsproject/name-conflictsAlbert Magyar
Check for name collisions of Modules
2020-03-16Check for collision of defnames with Module namesAlbert Magyar
* Fixes #1096
2020-03-16Check for module name conflictsAlbert Magyar
* Fixes #1436
2020-03-14Merge pull request #1454 from freechipsproject/inline-invalidate-resolve-kindsSchuyler Eldridge
Make InlineInstances invalidate ResolveKinds
2020-03-13Make InlineInstances invalidate ResolveKindsJack Koenig
Fixes #1453
2020-03-14Revert Compiler.execute to public (was protected) (#1447)Schuyler Eldridge
Signed-off-by: Schuyler Eldridge <schuyler.eldridge@ibm.com> Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2020-03-13[spec] Update Mid FIRRTL spec to reflect removal of subaccesses (#1451)Albert Magyar
2020-03-12Add Support for FPGA Bitstream Preset-registers (#1050)John's Brew
Introduce Preset Register Specialized Emission - Introduce EmissionOption trait - Introduce PresetAnnotation & PresetRegAnnotation - Enable the collection of Annotations in the Emitter - Introduce collection mechanism for EmissionOptions in the Emitter - Add PropagatePresetAnnotation transform to annotate register for emission and clean-up the useless reset tree (no DCE involved) - Add corresponding tests spec and tester Co-authored-by: Jack Koenig <koenig@sifive.com>
2020-03-12Add out-of-bounds literal access test for ReplaceAccessesAlbert Magyar