aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-01-17Bump to 1.6-SNAPSHOT (#2462)Jack Koenig
2022-01-12Update master for 1.5.0 release (#2455)Jack Koenig
* Enable CI for 1.5.x branch * Enable Mergify for 1.5.x branch * Drop 1.2.x from Mergify
2022-01-11Update .mergify.yml (#2454)github-actions[bot]
2022-01-06Add FileInfo to asyncResetAlwaysBlocks (#2451)sinofp
* Add FileInfo to asyncResetAlwaysBlocks Always blocks need three FileInfo (if, true, false) to show line numbers, but initially, every always blocks only have one FileInfo (false). RemoveReset adds the extra two FileInfo to sync always blocks, so sync always blocks can have line numbers. Async always blocks don't provide their only FileInfo, so there are no line numbers. This commit gives async always block the extra FileInfo to show line numbers for them. This code: ```scala import chisel3._ import chisel3.stage._ import firrtl.CustomDefaultRegisterEmission class Test extends Module with RequireAsyncReset { val io = IO(new Bundle { val in = Input(Bool()) val out = Output(Bool()) }) val valid = RegInit(false.B) valid := io.in io.out := valid } object Test extends App { new ChiselStage().execute(Array(), Seq( ChiselGeneratorAnnotation(() => new Test()), CustomDefaultRegisterEmission(useInitAsPreset = false, disableRandomization = true) )) } ``` will generate this Verilog: ```verilog module Test( input clock, input reset, input io_in, output io_out ); reg valid; // @[Playground.scala 10:22] assign io_out = valid; // @[Playground.scala 12:10] always @(posedge clock or posedge reset) begin if (reset) begin // @[Playground.scala 10:22] valid <= 1'h0; // @[Playground.scala 10:22] end else begin valid <= io_in; // @[Playground.scala 11:9] end end endmodule ``` they have correct line numbers (10, 10, 11). * Add test for async always block line numbers * Add comment for review
2021-12-27disable random should not contain useInitAsPreset. (#2449)Jiuyang Liu
2021-12-21Remove some warnings (#2448)Jack Koenig
* Fix unreachable code warning by changing match order Simulation Statements did not previously extend IsDeclaration, but now they do so their match blocks need to be above IsDeclaration. * Handle MemoryNoInit case in RtlilEmitter * Remove use of deprecated logToFile * Fix uses of LegalizeClocksTransform Replaced all uses of LegalizeClocksTransform with LegalizeClocksAndAsyncResetsTransform. * Remove use of CircuitForm in ZeroWidth
2021-12-21smt: deal correctly with negative SInt literals (#2447)Kevin Laeufer
2021-12-18Fix width of signed addition when input to mux (#2440)Jack Koenig
Fix bugs related to arithmetic ops inlined into a mux leg. Add formal equivalence checks to lock in this behavior. Signed-off-by: Schuyler Eldridge <schuyler.eldridge@sifive.com>
2021-12-17smt: correctly serialize array index on read (#2446)Kevin Laeufer
This should fix issue #2436
2021-12-17Deprecate all mutable methods on RenameMap (#2444)Jack Koenig
* Add renamemap.MutableRenameMap which includes these methods without deprecation * Deprecate Stringly typed RenameMap APIs which were accidentally undeprecated a while ago Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2021-12-17Remove some printlns in tests (#2445)Jack Koenig
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2021-12-17Modify and optimize performance of propagate annotations (#2393)Jack Koenig
* Change AnnotationSeq underlying from List to Seq It was nothing but pointless copying. * Make propagateAnnotations faster There was lots of expensive logic for very little benefit.
2021-12-16Update sbt to 1.5.7 (#2443)Scala Steward
2021-12-13Update sbt to 1.5.6 (#2441)Scala Steward
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2021-12-13Update os-lib to 0.8.0 (#2442)Scala Steward
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2021-12-13Implement CustomRadixTransform for wave viewers (#2434)Jiuyang Liu
1. Add CustomRadix{Def,Apply}Annotation to define and apply custom radix. 2. Add CustomRadixConfigFileAnnotation to output a JSON config file so users can generate scripts on their own. Reviewed-by: Jiuyang Liu <liu@jiuyang.me> Co-authored-by: sinofp <sinofp@tuta.io>
2021-12-05Update sbt-scalafmt to 2.4.5 (#2433)Scala Steward
2021-12-01Merge pull request #2343 from chipsalliance/improve-parserJack Koenig
Improve ANTLR Parser
2021-12-01Use ANTLR Listener to save memory during parsingJack Koenig
The ANTLR-generated concrete syntax tree (CST) takes up much more memory than the parsed .fir file. By using a Listener, we can construct the FIRRTL AST live with CST construction and null out the CST as we consume pieces of it. Not only does this improve performance, it drastically reduces max memory use for the parser.
2021-12-01Handle references better in ANTLR ParserJack Koenig
Tweak the grammar to handle references without left-recursion. Also split references and subreferences out from the regular expression rule to make their parsing more efficient.
2021-12-01Ignore firrtl.antlr package in API doc generationJack Koenig
The classes should not really be part of the firrtl public API to begin with and they cause issues during ScalaDoc generation.
2021-12-01Make formal_equiv.sh robust to changes to ANTLR & ProtobufJack Koenig
2021-11-30[deprecation clean up] remove trait firrtl.util.BackendCompilationUtilities ↵Jiuyang Liu
(#2423) Co-authored-by: Jack Koenig <koenig@sifive.com>
2021-11-30Update sbt-scalafix to 0.9.33 (#2431)Scala Steward
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2021-11-29[deprecation clean up] remove firrtl.ExecutionOptionsManager (#2422)Jiuyang Liu
Also remove all related APIs: ComposableOptions HasParser CommonOptions HasCommonOptions FirrtlExecutionOptions HasFirrtlOptions FirrtlExecutionResult FirrtlExecutionSuccess FirrtlExecutionFailure ExecutionOptionsManager firrtl.stage.DriverCompatibility.firrtlResultView logger.Logger.makeScope OutputConfig SingleFile OneFilePerModule * Change default LogLevel to None which means "unset" Logger.getGlobalLevel then returns LogLevel.Warn when the current value is LogLevel.None. This preserves the behavior of the default being "Warn" but now uses LogLevel.None to indicate "I'm not setting the value." This resolves issues where it was not possible to tell if annotations were actually setting the log level or if the default level of warn was just being filled in. Co-authored-by: sinofp <sinofp@tuta.io> Co-authored-by: Jack Koenig <koenig@sifive.com>
2021-11-23Enable memory initialization in synthesis for FPGA targets (#2430)Carlos Eduardo
2021-11-23[deprecation clean up] Remove firrtl.Driver (#2419)Jiuyang Liu
Co-authored-by: sinofp <sinofp@tuta.io>
2021-11-23fix tests that depend on Driver (#2429)Jiuyang Liu
Co-authored-by: sinofp <sinofp@tuta.io>
2021-11-22remove firrtl.transforms.BlackBoxSourceHelper.fileListName. (#2426)Jiuyang Liu
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2021-11-22remove firrtl.transforms.InferResets.DifferingDriverTypesException (#2425)Jiuyang Liu
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2021-11-22remove firrtl.transforms.InlineAcrossCastsTransform. (#2424)Jiuyang Liu
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2021-11-22remove firrtl.FIRRTLException (#2421)Jiuyang Liu
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2021-11-22[deprecation clean up] remove deprecated API in firrtl.Utils (#2420)Jiuyang Liu
* remove firrtl.Utils.get_flip. * remove firrtl.Utils.indent.
2021-11-20Update sbt-ci-release to 1.5.10 (#2418)Scala Steward
2021-11-20Update scalacheck-1-14, ... to 3.2.1.0 (#1850)Scala Steward
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2021-11-20Update sbt-ci-release to 1.5.9 (#2364)Scala Steward
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2021-11-20Update scala-parallel-collections to 1.0.4 (#2377)Scala Steward
* Update scala-parallel-collections to 1.0.4 * Update scala-parallel-collections to 1.0.4 Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2021-11-20Update sbt-mima-plugin to 1.0.1 (#2385)Scala Steward
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2021-11-20Update sbt-protobuf to 0.7.1 (#2378)Scala Steward
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2021-11-20Update sbt-scalafix to 0.9.32 (#2414)Scala Steward
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2021-11-20Update sbt-scalafmt to 2.4.4 (#2417)Scala Steward
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2021-11-20Update commons-text to 1.9 (#1789)Scala Steward
2021-11-20Update sbt-assembly to 1.1.0 (#1706)Scala Steward
2021-11-20Update scala-library, scala-reflect to 2.12.15 (#2358)Scala Steward
2021-11-20Update scala-library, scala-reflect to 2.13.7 (#2401)Scala Steward
* Update sbt-scalafix to 0.9.32 * Update scala-library, scala-reflect to 2.13.7
2021-11-19Disable random init (#2396)Jiuyang Liu
* Add option to disable random mem/reg init Co-authored-by: Jiuyang Liu <liu@jiuyang.me> * fix for code review. Co-authored-by: SharzyL <me@sharzy.in>
2021-11-12Let firrtl based applications run despite loading unknown annotations (#2387)Chick Markley
An application like barstools may contain a main that loads an annotations file containing annotation classes that are not on it's classpath. This change allows unknown annotations to be preserved by wrapping them in a UnrecognizedAnnotation. If annotations are then output to a file, they will be unwrapped during serialization This feature can be enabled via an AllowUnrecognizedAnnotations annotation Co-authored-by: chick <chick.markley@sifive.com> Co-authored-by: Jack Koenig <koenig@sifive.com>
2021-11-12Update spec on extmodule with defname, parameter (#2413)Schuyler Eldridge
Add defname, parameter to extmodule spec, NFC Signed-off-by: Schuyler Eldridge <schuyler.eldridge@sifive.com>
2021-11-11Update sbt-unidoc to 0.5.0 (#2394)Scala Steward
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2021-11-11Update json4s-native to 3.6.12 (#2406)Scala Steward
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>