1. Nov 03, 2016
    • azidar's avatar
      Add a pass to deduplicate modules · 715b8409
      azidar authored
      715b8409
    • jackkoenig's avatar
      Refactor Compilers and Transforms · 0b67dd01
      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
      0b67dd01
  2. Nov 02, 2016
  3. Nov 01, 2016
  4. Oct 31, 2016
  5. Oct 28, 2016
  6. Oct 27, 2016
  7. 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
  8. 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
  9. Oct 21, 2016
  10. Oct 20, 2016
  11. 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
  12. 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
  13. Oct 12, 2016
    • Chick Markley's avatar
      Scala style cleanup take 5 (#324) · 2848d877
      Chick Markley authored
      * working through variable shrouding
      
      * working through variable shrouding
      
      * working through variable shadowing
      
      * working through variable shadowing
      hmm there are some very fragile match {} in Passes
      
      * working through variable shadowing
      hmm there are some very fragile match {} in Passes
      
      * working through variable shadowing
      
      * working through variable shadowing
      
      * working through variable shadowing
      
      * working through variable shadowing
      
      * working through variable shadowing
      
      * working through variable shadowing
      
      * working through variable shadowing
      
      * working through variable shadowing
      
      * Fixes suggested by Adam
      2848d877
  14. Oct 08, 2016
  15. Oct 07, 2016
  16. Sep 30, 2016
  17. Sep 28, 2016
  18. Sep 27, 2016
  19. Sep 26, 2016
    • Adam Izraelevitz's avatar
      Spec features added: AnalogType and Attach (#295) · e54fb610
      Adam Izraelevitz authored
      * Spec features added: AnalogType and Attach
      
      AnalogType(width: Width):
        - Concrete syntax:
            wire x: AnalogType<10>
        - New groundtype, very restricted in use cases.
        - Can only declare ports and wires with Analog type
        - Analog types are never equivalent, thus if x and y have Analog
          types: x <= y is never legal.
      
      Attach(info: Info, source: Expression, exprs: Seq[Expression]):
        - Concrete syntax:
            attach x to (y, z)
        - New statement
        - Source can be any groundtyped expression (UInt, SInt, Analog, Clock)
        - Exprs must have an Analog type reference an instance port
        - Source and exprs must have identical widths
      
      Included WDefInstanceConnector to enable emission of Verilog inout
      Should be mostly feature complete.
      Need to update spec if PR gets accepted.
      
      * Fixed bug where invalidated ports aren't handled
      
      * Bugfix for VerilogPrep
      
      Intermediate wires for invalidated instance ports were not invalidated
      
      * Bugfix: calling create_exp with name/tpe
      
      Returns unknown gender, which was passing through
      Caused temporary wire to not be declared
      Because Verilog is dumb, undeclared wires are assumed to be 1bit signals
      
      * Addressed donggyukim's style comments
      
      * Reworked pass to only allow analog types in attach
      
      Restrict source to be only wire or port kind
      Much simpler implementation, almost identical functionality
      Clearer semantics (i think?)
      
      * Fixup bugs from pulling in new changes from master
      
      * comments for type eqs and small style fixes
      e54fb610
    • Donggyu's avatar
      Merge pull request #260 from ucb-bar/mem_latency_pipes · 7c4fa71a
      Donggyu authored
      Mem latency pipes
      7c4fa71a
    • Donggyu Kim's avatar
      offload latency pipe generation for memories from VerilogEmitter · 350b0d52
      Donggyu Kim authored
      discussed with @azidar
      350b0d52