1. May 28, 2021
  2. May 22, 2021
  3. May 21, 2021
  4. May 19, 2021
  5. May 18, 2021
  6. May 15, 2021
  7. May 14, 2021
  8. May 11, 2021
  9. May 10, 2021
  10. May 05, 2021
  11. Apr 29, 2021
  12. Apr 28, 2021
  13. Apr 27, 2021
    • Jiuyang Liu's avatar
      Memlib Refactor (#2191) · 54b6d871
      Jiuyang Liu authored
      * remove all deprecations, switch to new API.
      
      * Add MemLibOutConfigFileAnnotation to replace ConfWriter.
      
      * Inline CreateMemoryAnnotations in ReplSeqMem.
      
      * Dont use ConfWriter anymore.
      
      * Fix ReplSeqMemTests, rewrite checkMemConf to directly read from annoation.
      
      * Fix for review.
      
      0. Since DependencyAPI only initiate transform only once, ListBuffer is
         dangerous to use, remove defAnnotatedMemories from Transform.
      1. Add trait HasAnnotatedMemories to store ListBuffer,
         MemLibOutConfigFileAnnotation also extends from which now.
      
      * Use two annotations converting and storing DefMemory.
      
      0. rewrite CreateMemoryAnnotations to match ReplSeqMemAnnotation
         creating PinAnnotation.
      1. add DumpMemoryAnnotations to convert from
         AnnotatedMemoriesCollectorAnnotation to MemLibOutConfigFileAnnotation
      2. refactor MemLibOutConfigFileAnnotation and remove
         HasAnnotatedMemories
      3. add private AnnotatedMemoriesCollectorAnnotation to store mutable
         DefAnnotatedMemory
      4. change ReplSeqMem to SeqTransform
      
      * Fix for review.
      
      0. replace AnnotatedMemoriesCollectorAnnotation with immutable
         AnnotatedMemoriesAnnotation.
      1. add ListBuffer[DefAnnotatedMemory] in ReplaceMemMacros.execute.
      
      * private functions in ReplaceMemMacros transform.
      
      * scalafmt
      
      * remove ConfWriter API.
      54b6d871
    • Jiuyang Liu's avatar
      33c0b431
  14. Apr 22, 2021
  15. Apr 20, 2021
  16. Apr 19, 2021
  17. Apr 17, 2021
  18. Apr 16, 2021
    • Fabian Schuiki's avatar
      Fix signedness of xor const prop with zero (#2179) · e9b2946c
      Fabian Schuiki authored
      Constant propagation of the Xor op folds `xor(a, SInt(0))` to
      `asUInt(a)`. For comparison, Or folds to `asUInt(pad(a, W))`. This can
      be a problem in the following case:
      
          circuit Foo :
            module Foo :
              input a: UInt<3>
              output b: UInt<4>
              b <= asUInt(xor(asSInt(a), SInt<4>(0)))
      
      This would emit the assignment as `b = a` instead of the sign-extended
      `b = {{1{a[2]}},a}`.
      
      This requires adjusting the `pad(e, t)` function use in const prop,
      which currently just inserts a `Pad` prim op with the requested output
      type. However, the function advertises that it pads *to the width* of
      the type `t`. Some of the folds rely on this and request the padding of
      a SInt<N> to the width of a UInt<M>. But the current implementation then
      then actually returns a `Pad` op with type UInt<M>, instead of the
      SInt<M> that was requested.
      e9b2946c
    • Jack Koenig's avatar
      Add Workflow to automatically update .mergify.yml (#2180) · fc86112b
      Jack Koenig authored
      Also make minor updates to CI workflow
      fc86112b