1. Aug 28, 2021
    • Jack Koenig's avatar
      Fix chisel3 <> for compatibility Bundles (Take 3) · bd1cae1e
      Jack Koenig authored
      Previous incomplete fixes in #2023 and #2031.
      
      The legality of a FIRRTL connection is determined by type and flow.
      Chisel does not have access to true flow information. Previous fix
      attempts tried to use ActualDirection as a stand-in for flow, but it is
      incorrect in many cases. This new approach checks the flows of the
      lvalue and rvalues in the connect and flips the connection if either
      the lvalue cannot be a sink or the rvalue cannot be a source.
      bd1cae1e
  2. Aug 25, 2021
    • mergify[bot]'s avatar
      Lazy .fir Emission (backport #2083) (#2084) · 927212b7
      mergify[bot] authored
      * Remove chisel3's own firrtl Emitter, use firrtl Serializer
      
      This will be slightly slower as it involves converting from Chisel
      modules to FIRRTL modules before turning them into Strings. This cost is
      somewhat mitigated by doing that conversion lazily such that we never
      materialize the entire firrtl Circuit in memory, only 1 module at a
      time.
      
      (cherry picked from commit 73bd4ee6)
      
      # Conflicts:
      #	src/main/scala/chisel3/internal/firrtl/Emitter.scala
      #	src/test/scala/chiselTests/PrintableSpec.scala
      #	src/test/scala/chiselTests/VecLiteralSpec.scala
      #	src/test/scala/chiselTests/experimental/verification/VerificationSpec.scala
      
      * Emit .fir lazily, overcomes JVM 2 GiB String limit
      
      (cherry picked from commit d9c30ea0)
      
      # Conflicts:
      #	src/main/scala/chisel3/internal/firrtl/Emitter.scala
      
      * Use BufferedCustomFileEmission in CircuitSerializationAnnotation
      
      (cherry picked from commit a6eb2ad8
      
      )
      
      * Resolve backport conflicts
      
      * Waive binary compatibility issues
      
      Co-authored-by: default avatarJack Koenig <koenig@sifive.com>
      927212b7
  3. Aug 18, 2021
  4. Aug 06, 2021
    • mergify[bot]'s avatar
      Small changes to memory doc (#2062) (#2063) · 6a943006
      mergify[bot] authored
      * Small changes to memory doc
      - Fixed typo "except" => "accept"
      - Use `Counter` explicitly in ROM section example.
      
      * Fix counter doc compile error
      
      * remove invisible doc block in memory example
      
      * more small fixes to make mem example pass doc compile
      
      * Get rid of sine wave iterator in memory doc
      
      * get rid of tabs on VecInit example
      
      * get rid of tabs on VecInit example
      
      (cherry picked from commit 75c00606
      
      )
      
      Co-authored-by: default avatarChick Markley <chick@qrhino.com>
      6a943006
  5. Jul 23, 2021
  6. Jul 15, 2021
  7. Jul 10, 2021
  8. Jul 09, 2021
  9. Jul 08, 2021
  10. Jul 07, 2021
    • mergify[bot]'s avatar
      Fix ChiselEnum warnings and use Logger for warnings instead of println (backport #1999) (#2002) · 95125384
      mergify[bot] authored
      * Change Chisel warnings to use logger instead of println
      
      It also uses the same logger as the Builder so that if we ever refactor
      that to be passed as an argument, it will be the same logger for both
      Builder and warning reporting.
      
      (cherry picked from commit 04caf395)
      
      * Add ChiselEnum.safe factory method and avoid warning
      
      Previously, ChiselEnum would warn any time a UInt is converted to an
      Enum. There was no way to suppress this warning. Now there is a factory
      method (`.safe`) that does not warn and returns (Enum, Bool) where the
      Bool is the result of calling .isValid on an Enum object. The regular
      UInt cast is also now smarter and will not warn if all bitvectors of the
      width of the Enum are legal states.
      
      (cherry picked from commit 5fe539c7)
      
      # Conflicts:
      #	src/test/scala/chiselTests/ChiselSpec.scala
      
      * Update docs for ChiselEnum
      
      (cherry picked from commit bfb77d4c
      
      )
      
      * Resolve merge conflicts and waive false bincompat issue
      
      Co-authored-by: default avatarJack Koenig <koenig@sifive.com>
      95125384
  11. Jun 30, 2021
  12. Jun 29, 2021
  13. Jun 26, 2021
  14. Jun 24, 2021
  15. Jun 15, 2021
  16. Jun 11, 2021
  17. May 21, 2021
  18. May 20, 2021
  19. May 07, 2021
  20. May 05, 2021
    • mergify[bot]'s avatar
      Fix RegInit of Bundle lits (bp #1688) (#1689) · af2cd8e6
      mergify[bot] authored
      * Fix RegInit of Bundle lits (#1688)
      
      Implemented by folding Element.ref into Data.ref. Element.ref had
      special handling for literals, but because Bundles can also be literals,
      there were code paths that tried to get the ref of a Bundle literal
      which was non-existent. Now, all literals are handled together.
      
      Because FIRRTL does not have support for Bundle literals, Bundle literal
      refs are implemented by materializing a Wire.
      
      (cherry picked from commit 5a6ce660
      
      )
      
      * Waive bincompat issue on package private method
      
      Co-authored-by: default avatarJack Koenig <koenig@sifive.com>
      af2cd8e6
  21. Apr 30, 2021
  22. Apr 29, 2021
  23. Apr 27, 2021
  24. Apr 23, 2021
  25. Apr 22, 2021
  26. Apr 20, 2021
  27. Apr 16, 2021
  28. Apr 15, 2021
  29. Apr 13, 2021