1. Mar 19, 2021
    • mergify[bot]'s avatar
      Don't toggle top.cpp clock and reset on same cycle (#1820) (#1823) · f5d61ee3
      mergify[bot] authored
      
      
      Change top.cpp to deassert reset one time unit before the clock asserts.
      This avoids a Verilator simultation issue in top.cpp where the eval()
      function is only called once per simultation loop.  If the clock and
      reset are both changed and eval() is only called once, then any
      combinational update due to a change in reset is not visible to the
      sequential logic.  This avoids issues where the downstream compilation
      utilities move synchronous reset logic outside of an always block that
      describes a synchronous reset flip flop.
      
      Reset now deasserts on time unit 10 and the clock ticks on time unit
      11.
      
      h/t @albert-magyar
      
      Signed-off-by: default avatarSchuyler Eldridge <schuyler.eldridge@sifive.com>
      (cherry picked from commit ac094a5e
      
      )
      
      Co-authored-by: default avatarSchuyler Eldridge <schuyler.eldridge@sifive.com>
      f5d61ee3
  2. Mar 18, 2021
  3. Mar 14, 2021
    • mergify[bot]'s avatar
      Autoclonetype2 (bp #1804) (#1810) · 1ef31276
      mergify[bot] authored
      * [plugin] Split ChiselComponent into its own file
      
      (cherry picked from commit e80e9a3b)
      
      * [plugin] Implement autoclonetype in the compiler plugin
      
      (cherry picked from commit 14942312)
      
      * [plugin] Stop autoclonetype stack traces when using plugin
      
      The compiler plugin obviates the need for using stack traces to
      determine outer objects in autoclonetype. When the plugin was used to
      compile a given Bundle, it will no longer collect a stack trace upon
      construction. This should have massive benefits to elaboration runtime.
      
      (cherry picked from commit a8d32388)
      
      * [plugin] Disable BundleComponent by default, add option to enable
      
      (cherry picked from commit 3bea6167
      
      )
      
      * Fix plugin scalacOptions for 2.11
      
      * allowReflectiveAutoCloneType must work outside of Builder context
      
      Co-authored-by: default avatarJack Koenig <koenig@sifive.com>
      1ef31276
  4. Mar 13, 2021
  5. Mar 12, 2021
  6. Mar 04, 2021
  7. Mar 03, 2021
  8. Mar 02, 2021
  9. Feb 24, 2021
  10. Feb 11, 2021
    • Schuyler Eldridge's avatar
      Dev/seldridge/issue 1763 3.4.x (#1773) · 68b9b8ca
      Schuyler Eldridge authored
      
      
      * Handle MemTypeBinding in Analog
      
      Signed-off-by: default avatarSchuyler Eldridge <schuyler.eldridge@sifive.com>
      
      * Fix stack trace trimming across ChiselStage
      
      Fix bug in stack trace trimming behavior. Now, the following is what
      happens:
      
      1. The Builder, if catching accumulated errors, will now throw a
         ChiselException with a Scala-trimmed Stack trace. Previously, this
         would throw the full excpetion.
      2. The Elaborate phase handles stack trace trimming. By default, any
         Throwable thrown during elaboration will have its stack
         trace *mutably* trimmed and is rethrown. A logger.error is printed
         stating that there was an error during elaboration and how the user
         can turn on the full stack trace. If the --full-stacktrace option
         is on, then the Throwable is not caught and only the first
         logger.error (saying that elaboration failed) will be printed.
      3. ChiselStage (the class), ChiselStage$ (the object), and ChiselMain
         all inherit the behavior of (2).
      
      Mutable stack trace trimming behavior is moved into an implicit
      class (previously this was defined on ChiselException only) so this
      can be applied to any Throwable.
      
      No StageErrors are now thrown anymore. However, StageErrors may still
      be caught by ChiselMain (since it is a StageMain).
      
      Testing is added for ChiselMain, ChiselStage, and ChiselStage$ to test
      all this behavior.
      
      Signed-off-by: default avatarSchuyler Eldridge <schuyler.eldridge@sifive.com>
      
      * Fix stack trace trimming in Driver
      
      Fix bug in stack trace trimming behavior. The Driver will now handle
      fake stack trace printing to standard out directly instead of this
      happening someplace else and relying on StageError to communicate
      "fail immediately" behavior.
      
      Signed-off-by: default avatarSchuyler Eldridge <schuyler.eldridge@sifive.com>
      68b9b8ca
    • Jack Koenig's avatar
      Make Data GC-able (bp #1624) (#1785) · 556b4442
      Jack Koenig authored
      * Add no-plugin-tests for testing Chisel without the compiler plugin
      
      This is a new SBT build unit that symlinks in some files from the normal
      chisel project tests, but builds them without the compiler plugin.
      
      (cherry picked from commit 53b62047)
      
      * Make it possible to GC Data instances
      
      No longer create a pointer from parent to every HasId, only do it by
      default for BaseModules and MemBases. Add pointer from parent to Data
      upon binding the Data.
      
      * Add MemTypeBinding for port types of Mems
      
      This binding is similar to the SampleElementBinding for Vecs in that
      these Data are not truly hardware, but are represented in the FIRRTL IR
      and thus need some representation.
      
      * Call _onModuleClose on unbound Records
      
      This maintains some corner-case behavior that is nevertheless relied
      upon. It ensures that refs are set for the elements of Records, even if
      they are not bound to any real hardware.
      
      (cherry picked from commit 0a0d7c6a)
      556b4442
  11. Feb 06, 2021
  12. Feb 05, 2021
    • mergify[bot]'s avatar
      Minor docs improvements (#1774) (#1775) · 9d59af97
      mergify[bot] authored
      * Fix some botched formatting (replace ```mdoc scala with ```scala mdoc)
      * Replace some unnecessary uses of triple backticks with single
        backticks
      * Move appendix docs from wiki-deprecated/ to appendix/
        * This will require an update on the website as well
      * Update Bundle literal docs
      
      (cherry picked from commit 8fa46071
      
      )
      
      Co-authored-by: default avatarJack Koenig <koenig@sifive.com>
      9d59af97
  13. Feb 02, 2021
  14. Jan 27, 2021
  15. Jan 25, 2021
  16. Jan 23, 2021
  17. Jan 20, 2021
  18. Jan 11, 2021
  19. Dec 18, 2020
  20. Dec 17, 2020
    • mergify[bot]'s avatar
      Switch to using Github Actions CI (bp #1690) (#1698) · 0ee48dd2
      mergify[bot] authored
      * Switch to using Github Actions CI (#1690)
      
      MiMa binary compatibility checks are now run on master, but the
      mimaPreviousArtifacts are empty which makes the check a no-op. This
      helps keep both the build.sbt and CI more consistent between master and
      stable branches.
      
      .mergify.yml is also updated with mergify.sc from chisel-repo-tools
      using the following configuration:
      
      conditions:
        - status-success=all tests passed
      branches:
        - 3.2.x
        - 3.3.x
        - 3.4.x
      (cherry picked from commit 25a417f8
      
      )
      
      # Conflicts:
      #	.mergify.yml
      #	build.sbt
      #	project/plugins.sbt
      
      * Resolve merge conflicts
      
      Co-authored-by: default avatarJack Koenig <koenig@sifive.com>
      0ee48dd2
  21. Dec 09, 2020
  22. Dec 08, 2020
  23. Dec 02, 2020
  24. Nov 24, 2020
  25. Nov 12, 2020
  26. Nov 11, 2020
  27. Nov 06, 2020
  28. Nov 03, 2020
  29. Oct 31, 2020
  30. Oct 28, 2020
  31. Oct 27, 2020