1. Sep 11, 2021
  2. Sep 09, 2021
  3. Sep 04, 2021
  4. Aug 31, 2021
  5. Aug 27, 2021
    • Schuyler Eldridge's avatar
      Fix dshl zero-width shift behavior (#2339) · cc80c631
      Schuyler Eldridge authored
      
      
      * Fix dshl zero-width shift behavior
      
      Add a special case for dshl handling in the ZeroWidths pass.  If one
      expression is shifted by a second, zero-width expression, just return
      the first expression.  This prevents a bug where the width will
      incorrectly expand due to zero-widths introducing a 1-bit zero
      expression.
      
      Signed-off-by: default avatarSchuyler Eldridge <schuyler.eldridge@sifive.com>
      
      * fixup! Fix dshl zero-width shift behavior
      cc80c631
  6. Aug 21, 2021
  7. Aug 18, 2021
  8. Aug 14, 2021
  9. Aug 11, 2021
  10. Aug 10, 2021
  11. Aug 06, 2021
    • Schuyler Eldridge's avatar
      Fix Specification Memory Port Types (#2319) · 8abf3085
      Schuyler Eldridge authored
      
      
      Correct incorrect type specified for memories in the FIRRTL
      specification.  This is important because the memory type determines
      what is a legal bundle to try to connect to a memory port.
      
      I based this off of FIRRTL accepting the following circuit:
      
          circuit MemOrder:
            module MemOrder:
              input r: {addr : UInt<3>, en : UInt<1>, clk : Clock, flip data : UInt<1>}
              input w: {addr : UInt<3>, en : UInt<1>, clk : Clock, data : UInt<1>, mask : UInt<1>}
              input rw: {addr : UInt<3>, en : UInt<1>, clk : Clock, flip rdata : UInt<1>, wmode : UInt<1>, wdata : UInt<1>, wmask : UInt<1>}
      
              mem memory:
                data-type => UInt<1>
                depth => 8
                reader => r
                writer => w
                readwriter => rw
                read-latency => 1
                write-latency => 1
                read-under-write => undefined
      
              memory.r <= r
              memory.w <= w
              memory.rw <= rw
      
      Signed-off-by: default avatarSchuyler Eldridge <schuyler.eldridge@sifive.com>
      8abf3085
  12. Aug 05, 2021
  13. Aug 04, 2021
  14. Aug 03, 2021
  15. Jul 30, 2021
  16. Jul 27, 2021
  17. Jul 25, 2021
    • Jiuyang Liu's avatar
      Add typedef in DependencyManager. · b14d25ea
      Jiuyang Liu authored
      This is a bug fix, before this PR, Scala compiler will infer `Nothing`, which makes code below failed to compile:
      ```
      class UserCompiler extends TransformManager(Seq(Dependency(UserPass))) {
        override def optionalPrerequisiteOf: Seq[TransformDependency] = Seq(
          Dependency[DedupModules]
        )
      }
      ```
      b14d25ea
  18. Jul 15, 2021
    • Jared Barocsi's avatar
      Fix memory annotation deduplication (#2286) · 4081d9f4
      Jared Barocsi authored
      
      
      * Add transform to deduplicate memory annotations
      * Add annotation deduplication to Dedup stage
      * ResolveAnnotationPaths and EliminateTargetPaths now invalidate the dedup annotations transform
      * Verilog emitter now throws exception when memory annotations fail to dedup
      
      Co-authored-by: default avatarJack Koenig <koenig@sifive.com>
      4081d9f4
  19. Jul 12, 2021
  20. Jul 11, 2021
  21. Jul 09, 2021
  22. Jul 07, 2021
  23. Jun 30, 2021
  24. Jun 26, 2021