1. Aug 24, 2018
  2. Aug 22, 2018
  3. Aug 18, 2018
  4. Aug 15, 2018
  5. Aug 11, 2018
  6. Aug 09, 2018
  7. Aug 08, 2018
  8. Aug 04, 2018
  9. Jul 27, 2018
    • Chick Markley's avatar
      Support for load memory annotations in chisel (#833) · 1dcf9907
      Chick Markley authored
      * Support for load memory annotations in chisel
      This PR
       * Delays the BlackBoxSourceHelper transformation to the Emitter stage of the VerilogCompiler
         * remove from VerilogCompiler
         * move to VerilogEmitter
       * Changes the verilog emitter to allow programmatic access to the verilog module declaration
         * Creating a bindable module requires headers to match
       * Provides a unit test that shows how to generate a bindable module.
      
      * Binding support
      Treadle needed LoadMemoryAnnotation to be in firrtl instead of chisel in order to recognize the annotations and use them for memory loading
      
      * Binding support
      - Fixed bug that handled suffixes on memory initializing files
      
      * Binding support
      - Add a bit more doc to the API provided by the VerilogRenderer
      1dcf9907
  10. Jul 21, 2018
    • albertchen-sifive's avatar
      Constant prop add (#849) · 7dff9278
      albertchen-sifive authored
      * add FoldADD to const prop, add yosys miter tests
      
      * add option for verilog compiler without optimizations
      
      * rename FoldLogicalOp to FoldCommutativeOp
      
      * add GetNamespace and RenameModules, GetNamespace stores namespace as a ModuleNamespaceAnnotation
      
      * add constant propagation for Tail DoPrims
      
      * add scaladocs for MinimumLowFirrtlOptimization and yosysExpectFalure/Success, add constant propagation for Head DoPrim
      
      * add legalize pass to MinimumLowFirrtlOptimizations, use constPropBitExtract in legalize pass
      7dff9278
  11. Jul 12, 2018
  12. Jul 11, 2018
  13. Jul 08, 2018
  14. Jul 04, 2018
    • Andrew Waterman's avatar
      Improve code generation for smem wmode and [w]mask ports (#834) · ceac36d7
      Andrew Waterman authored
      [skip formal checks] LEC passes with Formality
      
      * Improve code generation for smem RW-port wmode port
      
      A common case for these port-enables is
      
          wen = valid & write
          ren = valid & !write
      
      which the RW-port transform currently turns into
      
          en = (valid & write) | (valid & !write)
          wmode = valid & write
      
      because it proved `wen` and `ren` are mutually exclusive via `write`.
      
      Synthesis tools can trivially optimize `en` to `valid`, so that's not a
      problem, but the wmode field can't be optimized if going into a black box.
      This PR instead sets `wmode` to whatever node was used to prove
      mutual exclusion, which is always a simpler expression.  In this case:
      
          en = (valid & write) | (valid & !write)
          wmode = write
      
      * In RemoveCHIRRTL, infer mask relative to port definition
      
      Previously, it was inferred relative to the memory definition causing
      the mask condition to be redundantly conjoined with the enable signal.
      
      Also enable ReplSeqMems to ignore all ValidIfs (not just on Clocks) to
      improve QoR.
      ceac36d7
  15. Jul 03, 2018
  16. Jun 29, 2018
  17. Jun 23, 2018
  18. Jun 22, 2018
  19. Jun 19, 2018
  20. Jun 16, 2018
    • Jack Koenig's avatar
      Improve Parser and Visitor (#819) · 9b6ff229
      Jack Koenig authored
      * Update Parser to use ANTLR CharStreams
      
      This removes some unnecessary object creation in String reading and
      manipulation
      
      * Remove two unnecessary traversals from Block construction in Visitor
      9b6ff229
  21. Jun 15, 2018
    • Jim Lawson's avatar
      Fix TopWiringTests use of /tmp. (#825) · 9fff25ab
      Jim Lawson authored
      Relying on /tmp as a place for test output will fail on multiuser systems and may fail if multiple instances of tests are running for the same user.
      9fff25ab
  22. Jun 14, 2018
  23. Jun 13, 2018
  24. Jun 12, 2018
  25. Jun 11, 2018
  26. Jun 09, 2018
  27. Jun 07, 2018
  28. May 31, 2018