1. Oct 18, 2020
    • Jack Koenig's avatar
      Stop using refs to name fields of Records · 94a9fd0a
      Jack Koenig authored
      This information is known in the Record itself.
      
      This resolves an issue where Mems with a Record data type would run into
      issues during FIRRTL emission or conversion when the refs of their
      elements would be accessed to name the fields of the FIRRTL type.
      
      This problematic behavior resulted from the following behaviors:
      * Refs of Record elements are only set by _onModuleClose
      * _onModuleClose is only called on Records added to the _ids of a Module
      * Data are only added to _ids of Module on binding
      
      The last point is new behavior in this PR
      94a9fd0a
  2. Oct 13, 2020
  3. Oct 12, 2020
  4. Oct 06, 2020
  5. Oct 02, 2020
    • Chick Markley's avatar
      Move Chisel3 to SPDX license conventions (#1604) · aa2c6224
      Chick Markley authored
      Change source and other relevant files to use SPDX license
      LICENSE file moved from src/ to ./
      Changed license file to refer to this per recommendation
      using_spdx_license_list_short_identifiers
      
      WARNING: Tests fail with as of yet undiagnosed error
      ```
      [error] Failed: Total 691, Failed 19, Errors 0, Passed 672, Ignored 15
      [error] Failed tests:
      [error] 	chiselTests.QueueSpec
      [error] 	examples.VendingMachineGeneratorSpec
      [error] 	chiselTests.HarnessSpec
      [error] 	chiselTests.ConnectSpec
      [error] 	chiselTests.aop.SelectSpec
      [error] 	chiselTests.PopCountSpec
      [error] 	chiselTests.CloneModuleSpec
      [error] (Test / test) sbt.TestsFailedException: Tests unsuccessful
      [error] Total time: 379 s (06:19), completed Sep 30, 2020 12:38:17 AM
      sbt:chisel3>
      ```
      aa2c6224
  6. Sep 25, 2020
  7. Sep 22, 2020
  8. Sep 16, 2020
  9. Sep 15, 2020
  10. Sep 10, 2020
  11. Sep 05, 2020
    • Jack Koenig's avatar
      Better Building of FIRRTL From Source (#1563) · 05ac57c1
      Jack Koenig authored
      Using JVM system properties sbt.sourcemode and sbt.workspace, one can now
      easily build chisel3 with firrtl from source
      
      Example use:
      
      Assuming firrtl is cloned into the chisel3 root directory:
      $ sbt -Dsbt.sourcemode=true -Dsbt.workspace=$PWD
      
      Alternatively, one can set these properties in .sbtopts which can then
      be committed, enabling building from source by default
      05ac57c1
  12. Sep 03, 2020
  13. Aug 28, 2020
  14. Aug 27, 2020
    • Schuyler Eldridge's avatar
      Add ChiselPhase, Stop writing files in ChiselStage$ methods, Expand ChiselStage$ helpers (#1566) · b0389cc9
      Schuyler Eldridge authored
      
      
      * Add ChiselPhase
      
      * Use ChiselPhase in ChiselStage, remove targets
      
      Switch from a one-off PhaseManager inside ChiselStage to actually
      using the newly added ChiselPhase. This removes the targets
      method (and API) from ChiselStage.
      
      * Stop writing to files in ChiselStage$ methods
      
      Change the ChiselStage companion object methods, elaborate and
      convert, to not write files. Under the hood, these are switched from
      using ChiselStage (which, like all phases, will write files) to using
      ChiselPhase.
      
      * Test that ChiselStage$ methods write no files
      
      Modify existing ChiselStage object method tests to check that no files
      are written.
      
      * Expand ChiselStage$ API with more helpers
      
      This adds additional methods to the ChiselStage object for going
      directly from a Chisel module to a string including: CHIRRTL, high
      FIRRTL IR, Verilog, and SystemVerilog.
      
      Differing from their ChiselStage class counterparts, these take no
      arguments other than the module and write no files.
      
      * Add tests of new ChiselStage$ helper methods
      
      * Use ChiselStage object in tests
      
      Signed-off-by: default avatarSchuyler Eldridge <schuyler.eldridge@ibm.com>
      b0389cc9
  15. Aug 26, 2020
  16. Aug 22, 2020
  17. Aug 21, 2020
  18. Aug 15, 2020
  19. Aug 14, 2020
  20. Aug 13, 2020
    • Jack Koenig's avatar
      Deprecate Module.io and BlackBox.io (#1550) · a66d2d15
      Jack Koenig authored
      * Deprecate Module.io and BlackBox.io
      
      This is a step toward unification of Module with MultiIOModule.
      The future of BlackBox is a bit less clear, but its existing API can be
      maintained without the io virtual method.
      
      The trickier API to maintain is auto-IO wrapping for compatibility
      Modules and BlackBoxes. This will probably require reflection to support
      once the io virtual method is removed.
      
      * Improve deprecation warning for io
      a66d2d15
    • Schuyler Eldridge's avatar
      Switch to HowToSerialize for Emission (#1405) · dbf4d546
      Schuyler Eldridge authored
      
      
      * Fix emit{Firrtl,Verilog} for CustomFileEmission
      
      Change ChiselStage helper methods for emitting FIRRTL (emitFirrtl) and
      Verilog (emitVerilog) to look for Circuit and Verilog annotations
      instead of DeletedAnnotations. This is needed after migrating to the
      CustomFileEmission mixin in FIRRTL where FIRRTL will no longer delete
      emitter annotations.
      
      Signed-off-by: default avatarSchuyler Eldridge <schuyler.eldridge@ibm.com>
      
      * Use CustomFileEmission for ChiselCircuitAnnotation
      
      Removes the explicit chisel3.phases.Emitter and instead does emission
      with a CustomFileEmission mixin to ChiselCircuitAnnotation. This then
      prevents the need for passing around DeletedAnnotations. As a
      consequence, I removed an unnecessary run of a second Converter in the
      Driver.
      
      Signed-off-by: default avatarSchuyler Eldridge <schuyler.eldridge@ibm.com>
      
      * Fix tests for use of CustomFileEmission trait
      
      Signed-off-by: default avatarSchuyler Eldridge <schuyler.eldridge@ibm.com>
      
      * Fixes for newer CustomFileEmission API
      
      Signed-off-by: default avatarSchuyler Eldridge <schuyler.eldridge@ibm.com>
      dbf4d546
  21. Aug 12, 2020
    • Justin Deters's avatar
      Bug fix for manipulating submodules in aspects (#1538) · e0c80517
      Justin Deters authored
      * Fixed the aspect as parent bug in Data and MonoConnect
      
      * refactored and cleaned up finding an aspect parent
      
      * Added aspect fix to the BiConnect class
      
      * added unit test for manipulating submodules via aspects
      
      * Refactored to move determination of proper parent to Builder and made logic simpler in MonoConnect, Data, and BiConnect
      
      * Removed unused function and provided Scaladoc for retrieveParent
      e0c80517
    • Jack Koenig's avatar
      Restore Counter.n API (#1546) · 3668532f
      Jack Koenig authored
      Includes special case support for Counter(0) which has identical
      behavior to Counter(1) except for the value of n.
      3668532f
  22. Aug 11, 2020
  23. Aug 07, 2020
  24. Aug 01, 2020
    • Albert Magyar's avatar
      Check whether signals escape their when scopes (#1518) · 5ecde24d
      Albert Magyar authored
      * Include and check when scoping as part of reg/mem/wire/node bindings
      
      * Allow outdated 'when' behavior of CHIRRTL memory ports with enables
      
      * Extend cross-module / when-visibility checks to all data refs
      
      * Fixes #1512
      * Cannot be checked if outside a module context
      * E.g. delayed evaluation of printf / assert args
      
      * Add basic test cases for cross-module refs / signals escaping when scopes
      
      * Remove illegal cross-module references from existing tests
      5ecde24d
  25. Jul 31, 2020