1. Sep 12, 2020
    • Jack Koenig's avatar
      Improve trace logging of annotations · 374d504d
      Jack Koenig authored
      Instead of trying to JSON serialialize Unserializable annotations (which
      often causes an error, thus nothing is logged), instead use a .toString
      serialization so there is at least some usable information for debuggin.
      374d504d
  2. Sep 10, 2020
  3. Sep 07, 2020
  4. Sep 06, 2020
  5. Sep 05, 2020
  6. Sep 02, 2020
  7. Sep 01, 2020
  8. Aug 29, 2020
  9. Aug 27, 2020
  10. Aug 26, 2020
    • Albert Chen's avatar
      Inline Boolean Expressions (#1817) · 40cb49f9
      Albert Chen authored
      The following conditions must be satisfied to inline:
      
      1. has type Utils.BoolType
      2. is bound to a DefNode with name starting with '_'
      3. is bound to a DefNode with a source locator that
         points at the same file and line number. If it is a MultiInfo source
         locator, the set of file and line number pairs must be the same. Source
         locators may point to different column numbers.
      4. InlineBooleanExpressionsMax has not been exceeded
      5. is not a Mux
      
      Also updates the Verilog emitter to break up lines greater than 120 characters
      40cb49f9
  11. Aug 25, 2020
  12. Aug 22, 2020
  13. Aug 16, 2020
  14. Aug 15, 2020
    • Jack Koenig's avatar
      Apply scalafmt again · 9adbe1ed
      Jack Koenig authored
      9adbe1ed
    • chick's avatar
      All of src/ formatted with scalafmt · 6fc742bf
      chick authored
      6fc742bf
    • Jack Koenig's avatar
      b516293f
    • chick's avatar
      Add control files for scala-fmt · 1d790de1
      chick authored
      - .scalafmt.conf  formatting rules
      - .travs.yml      adds test that files are formatted to pass CI
      - .plugins.sbt    add plugin for scalafmt
      1d790de1
    • Kevin Laeufer's avatar
      experimental SMTLib and btor2 emitter (#1826) · 2e5f942d
      Kevin Laeufer authored
      This adds an experimental new SMTLib and Btor2 emitter
      that converts a firrtl module into a format
      suitable for open source model checkers.
      The format generally follows the behavior of yosys'
      write_smt2 and write_btor commands.
      
      To generate btor2 for the module in m.fir run
      > ./utils/bin/firrtl -i m.fir -E experimental-btor2
      for SMT:
      > ./utils/bin/firrtl -i m.fir -E experimental-smt2
      
      If you have a design with multiple clocks
      or an asynchronous reset, try out the new StutteringClockTransform.
      You can designate any input of type Clock to be your
      global simulation clock using the new GlobalClockAnnotation.
      
      If your toplevel module instantiates submodules,
      you need to inline them if you want the submodule
      logic to be included in the formal model.
      2e5f942d
    • Kevin Laeufer's avatar
      tests: Decrease Dependency on Deprecated APIs (#1839) · 1b48fe5f
      Kevin Laeufer authored
      * test: add LeanTransformSpec to replace the old SimpleTransformSpec
      
      SimpleTransformSpec isn't simple anymore!
      
      * AnnotationTests: remove deprecated Compiler code
      
      * LeanTransformSpec: implicitly add right EmitCircuitAnnotation
      
      * AsyncResetSpec: move to new lean spec
      
      * CheckCombLoopsSpec: remove deprecated Compiler code
      
      * ChirrtlMemSpec: remove deprecated compiler code
      
      * CompilerTest: remove use of deprecated Compiler API
      1b48fe5f
  15. Aug 14, 2020
  16. Aug 13, 2020