1. Apr 01, 2017
  2. Nov 16, 2016
  3. Nov 15, 2016
    • Adam Izraelevitz's avatar
      Fix wrong omitting same clocked nondirect children (#374) · a029b9bb
      Adam Izraelevitz authored
      * Fix wrong omitting same clocked nondirect children
      
      * Minor style fixes
      a029b9bb
    • Adam Izraelevitz's avatar
      Bugfix inferwidth (#372) · cf1372d5
      Adam Izraelevitz authored
      * Bugfix: removed recursive removal in infer widths
      
      This will certainly lead to more uninferred width errors, but now widths
      that were previously incorrectly inferred are now correctly uninferred.
      
      An example is:
        reg r : UInt, clock with: (reset => (reset, UInt<2>(3)))
        node x = add(r, r)
        r <= x
      
      Here, r's width follows the following formula, which cannot be solved:
      
      rWidth >= max(max(rWidth, rWidth) + 1, 2)
      
      * Added optimizations to for better width inference
      
      Also added exceptions for uninferred widths when checking DoPrim width
      legality to not trigger compiler error
      
      * Added additional optimizations
      
      Required for passing all chisel3 tests
      cf1372d5
  4. Nov 11, 2016
  5. Nov 10, 2016
    • azidar's avatar
      Added optimizations to for better width inference · 76f91f31
      azidar authored
      Also added exceptions for uninferred widths when checking DoPrim width
      legality to not trigger compiler error
      76f91f31
    • azidar's avatar
      Bugfix: removed recursive removal in infer widths · ba417a89
      azidar authored
      This will certainly lead to more uninferred width errors, but now widths
      that were previously incorrectly inferred are now correctly uninferred.
      
      An example is:
        reg r : UInt, clock with: (reset => (reset, UInt<2>(3)))
        node x = add(r, r)
        r <= x
      
      Here, r's width follows the following formula, which cannot be solved:
      
      rWidth >= max(max(rWidth, rWidth) + 1, 2)
      ba417a89
  6. Nov 08, 2016
  7. Nov 06, 2016
    • Donggyu's avatar
      Fix CHIRRTL bugs (#355) · e05ca2b2
      Donggyu authored
      * handle uninferred ports gracefully in RemoveCHIRRTL
      
      memory port directions are not inferred during CInferMDir if not being used, so handle them properly in RemoveCHIRRTL
      
      * fix CInferTypes
      e05ca2b2
  8. Nov 05, 2016
    • Jack Koenig's avatar
      Cleanup license at top of every file (#364) · 82da5e79
      Jack Koenig authored
      Replace with more sensible comment to see LICENSE rather than including the
      whole license in every file
      82da5e79
    • azidar's avatar
      Add a pass to deduplicate modules · 1c36656f
      azidar authored
      1c36656f
    • jackkoenig's avatar
      Refactor Compilers and Transforms · 8fa9429a
      jackkoenig authored
      * Transform Ids now handled by Class[_ <: Transform] instead of magic numbers
      * Transforms define inputForm and outputForm
      * Custom transforms can be inserted at runtime into compiler or the Driver
      * Current "built-in" custom transforms handled via above mechanism
      * Verilog-specific passes moved to the Verilog emitter
      8fa9429a
  9. Nov 04, 2016
  10. Nov 02, 2016
  11. Nov 01, 2016
  12. Oct 31, 2016
  13. Oct 28, 2016
  14. Oct 27, 2016
  15. Oct 25, 2016
    • Chick Markley's avatar
      Logger 1 (#338) · d344f440
      Chick Markley authored
      * Create a simple system for executions and command line parameters
      New model for tracking parameters and having those parameters
      register scopt command to allow the parameters to be set by
      command line args.
      Create composable forms of the these parameters to allow separate
      elements of the chisel3 toolchain to combine these parameters
      Create execution return structures that simplify return values
      to earlier toolchain elements
      
      * just a little bit of cleanup
      
      * Fixes for Adam's comments on PR
      
      * knuckled under to self-pressure to allow former -i and -o to work
      
      * knuckled under to self-pressure to allow former -i and -o to work
      
      * show defaults for command line args with them
      
      * A couple of fixes from merging latest master
      
      * Implement a log4scala like logging system
      This system has the rather remarkable property
      that it is possible to turn it on conveniently when
      you want it.  It also provides for class level granularity
      as well as the traditional Error, Warn, Info, Debug
      
      * some style fixes and change infoMode default to append per PR #328
      
      * some style fixes and change infoMode default to append per PR #328
      
      * support -i -o and -X
      a couple of indentation and spacing fixes
      d344f440
    • Donggyu's avatar
      aca23a61
  16. Oct 24, 2016
    • Angie Wang's avatar
      Fix bitmask (#346) · de45e93c
      Angie Wang authored
      * toBitMask cat direction should be consistent with data
      
      * minor comment updates
      
      * moved remaining mem passes/utils to memlib
      
      * changed again so that data, mask are consistent. data element 0, bit 0 = LSB (on RHS) when concatenated
      de45e93c
  17. Oct 21, 2016
  18. Oct 20, 2016
  19. Oct 19, 2016
    • Chick Markley's avatar
      Create a simple system for executions and command line parameters (#337) · cb59d096
      Chick Markley authored
      Create a simple system for executions and command line parameters
      New model for tracking parameters and having those parameters
      register scopt command to allow the parameters to be set by
      command line args.
      
      Create composable forms of the these parameters to allow separate
      elements of the chisel3 toolchain to combine these parameters
      Create execution return structures that simplify return values
      to earlier toolchain elements
      cb59d096
  20. Oct 18, 2016
    • Adam Izraelevitz's avatar
      Reorganized memory blackboxing (#336) · 85baeda2
      Adam Izraelevitz authored
      * Reorganized memory blackboxing
      
      Moved to new package memlib
      Added comments
      Moved utility functions around
      Removed unused AnnotateValidMemConfigs.scala
      
      * Fixed tests to pass
      
      * Use DefAnnotatedMemory instead of AppendableInfo
      
      * Broke passes up into simpler passes
      
      AnnotateMemMacros ->
        (ToMemIR, ResolveMaskGranularity)
      UpdateDuplicateMemMacros ->
        (RenameAnnotatedMemoryPorts, ResolveMemoryReference)
      
      * Fixed to make tests run
      
      * Minor changes from code review
      
      * Removed vim comments and renamed ReplSeqMem
      85baeda2
    • Adam Izraelevitz's avatar
      Add fixed point type (#322) · 7d08b9a1
      Adam Izraelevitz authored
      * WIP: Adding FixedType to Firrtl proper
      
      Got simple example running through width inference
      Checks should be ok
      Need to look into FixedLiteral more
      
      * Added simple test for fixed types
      
      * Added asFixedPoint to primops
      
      * Added tail case for FixedType
      
      * Added ConvertFixedToSInt.scala
      
      Added pass to MiddleToLowerFirrtl transform
      
      * Replace AsFixedType with AsSInt in fixed removal
      
      * Bugfix: constant from asFixed not deleted
      
      * Added unit test for bulk connect
      
      * Fixed partial connect bug #241
      
      * Fixed missing case for FixedPoint in legalizeConnect
      
      * Add FixedMathSpec that demonstrates some problems with FixedPointMath
      
      * Fixed test and ConvertToSInt to pass.
      
      Negative binary points not easily supported, needs much more time to
      implement.
      
      * Refactored checking neg widths
      
      Make checking for negative binary points easier
      
      * Added tests for inferring many FixedType ops
      
      shl, shr, cat, bits, head, tail, setbp, shiftbp
      
      * Handle bpshl, bpshr, bpset in ConvertFixedToSInt
      
      Changed name from shiftbp -> bpshl, bpshr
      Change name from setbp -> bpset
      Added more tests
      
      * Added set binary point test that fails
      
      * Added simple test for zero binary point
      
      * gitignore fixes for antlr intermediate dir and intellij dir
      
      * removed unused imports
      retool the fixed point with zero binary point test
      
      * simplified example of inability to set binary point to zero
      
      * Temporary fix for zero-width binary point
      
      This fix allows for all widths to be zero, but since this is a feature I
      am working on next, I'm not going to bother with a more stringent check.
      
      * change version for dsp tools
      
      * Removed extra temporary file
      
      * Fixed merge bug
      
      * Fixed another merge bug
      
      * Removed commented out/unrelated files
      
      * Removed snake case
      7d08b9a1