1. Feb 10, 2018
  2. Feb 03, 2018
  3. Jan 25, 2018
    • Richard Xia's avatar
      Remove unused BuildInfo.BuildTime. (#766) · 639617ea
      Richard Xia authored
      BuildInfo.BuildTime appears to cause sbt to always recompile BuildInfo to get
      the latest time, which causes a recompile on any package that depends on
      chisel3. This is quite painful for doing development on any Chisel projects.
      BuildTime doesn't actually appear to be in use, and removing it fixes the
      unnecessary recompilation issue.
      639617ea
  4. Jan 24, 2018
    • Richard Lin's avatar
      Runtime API deprecation warnings (#761) · 224740ac
      Richard Lin authored
      Add runtime warnings for use of deprecated Chisel methods. This is done using a macro that takes the message from a `@deprecated` annotation, and adds a call to `Builder.deprecated`.
      
      Reasoning is that by default, Scala doesn't print all deprecations, and that it's somewhat tricky to notice them - yet some support questions revolve around the use of deprecated and terribad API. This now prints warnings for uses of deprecated functions at runtime, and aggregates them by error and line to avoid spam. Also included is convenient information on enabling scalac deprecations.
      
      This also changes how line numbers for Chisel's error facility is determined, using prefix string comparison of the stack trace element classnames, instead of checking if the class is a subtype of UserModule. The previous one (specifically, calls to Class.forName) seems to interact badly with reflection-based cloneType when called at scale. This should also give more accurate reporting of errors that are in user code but outside of a UserModule.
      
      It turns out that `@deprecated` on macro functions don't do anything, so this changes the tags to the functions that the macros point to, which seems to work properly. It also turns out that there's a bunch of uses of deprecated functions in chiselTests which needs to be fixed.
      
      Not all `@deprecated` functions are also annotated with `@chiselRuntimeDeprecation`, because they're still used in Chisel internals, and we can't track whether they're called by the user or by Chisel and it will give a misleading error. These are a small amount of functions.
      224740ac
  5. Jan 20, 2018
  6. Jan 19, 2018
  7. Jan 18, 2018
  8. Jan 17, 2018
  9. Jan 03, 2018
  10. Dec 23, 2017
  11. Dec 22, 2017
  12. Dec 21, 2017
  13. Dec 20, 2017
  14. Dec 19, 2017
  15. Dec 15, 2017
  16. Dec 14, 2017
  17. Dec 13, 2017
  18. Dec 12, 2017
  19. Dec 09, 2017
  20. Dec 05, 2017
  21. Nov 23, 2017
  22. Nov 22, 2017
  23. Nov 07, 2017
  24. Oct 27, 2017
    • Jim Lawson's avatar
      Merge branch 'master' into deprepkg · 4f0bc13b
      Jim Lawson authored
      4f0bc13b
    • Adam Izraelevitz's avatar
      Invalidateapi (#645) · c313e137
      Adam Izraelevitz authored
      * Require explicit connection to DontCare to generate "is invalid".
      
      * Add tests for RefNotInitializedException.
      Currently, we fail the when ... otherwise ...
      
      * Disable ScalaTest shrinking on error in ComplexAssignSpec.
      
      * fix broken merge; still some binding issues
      
      * cleanup DontCare connection checks; add missing directions to test module IOs
      
      * Have library code inherit compileOptions from the enclosing Module (if it exists).
      
      * work around current firrtl uninitialized references with Strict compile options and explicitInvalidate
      
      * more CompileOptions cleanup; move test-specific defines to package object
      
      * minimize differences with master
      
      * set default CompileOptions.explicitInvalidate to false until we fix the FIRRTL when issue
      
      * ignore the StrictCompiler property checks (until  CompileOptions.explicitInvalidate is defaulted to true)
      
      * Revert "more CompileOptions cleanup; move test-specific defines to package object"
      
      This reverts commit e4486edcba990d150e76e08a2fc6abca033556e0.
      
      * Revert "work around current firrtl uninitialized references with Strict compile options and explicitInvalidate"
      
      This reverts commit 426faa430a62c3dac2dbdf33044d3386d4243157.
      
      * remove unused code
      
      * Convert to binding-based DontCare implementation
      
      * comment cleanup to minimize differences with master
      
      * Tentatively remove possibly redundant DefInvalid on module ports.
      
      * Respond to code review change request.
      - backout build.sbt change
      - correct indentation
      - handle bulk of DontCare semantics in elemConnect()
      - have DontCare extend Element, not Data (eliminate most Object specific methods
      - add comments indicating reason for explicit DontCare connections
      
      * Initialize test elements without requiring a DontCare.
      
      * Respond to review change requests.
      - DontCare should work on left or right side in BiDirectional connections
      - call bind() to set DontCare binding instead of messing with internal variables
      - DontCares are only equivalent with DontCares
      - clean up processWhens() definition
      
      * Eliminate DontCare connection to inputs in MonoConnect().
      
      * Pull aggregates apart for the purpose of DontCare connections.
      
      * Restore the explicit (conditionally executed) ports DefInvalidin ImplicitModule()
      
      * Don't add DontCare's to the module list of _ids.
      
      * Add missing DefInvalid() to LegacyModule().
      
      * Respond to review requests: add DontCare BiConnect Vec, remove null parent hack to avoid addId(), initialize singletons early in Builder
      
      * Move DontCare out of chisel3.experimental.
      c313e137