1. Mar 04, 2018
  2. Mar 03, 2018
  3. Mar 01, 2018
    • Jack Koenig's avatar
      Refactor Annotations (#767) · 46553432
      Jack Koenig authored
      * Generalize ChiselAnnotation
      
      This allows us to delay creation of Annotations till elaboration is
      complete. Also update all annotation-related code.
      
      * Add RunFirrtlTransform
      
      Use a Chisel-specific RunFirrtlTransform API to preserve behavior of old
      ChiselAnnotation (now called ChiselLegacyAnnotation)
      
      * Use unique test directories in ChiselRunners.compile
      46553432
    • Richard Lin's avatar
      97871178
  4. Feb 24, 2018
  5. Feb 23, 2018
  6. Feb 22, 2018
  7. Feb 21, 2018
  8. Feb 13, 2018
  9. Feb 09, 2018
    • Richard Lin's avatar
      Make uncloneable IO deprecated instead of error, improve error handling (#771) · a57e4b1e
      Richard Lin authored
      It appears #754 breaks more code than I thought, so this makes it a soft error (with a runtime deprecation warning - to get people to fix their stuff before we break it for real) for now.
      
      This additionally changes the autoclonetype errors to be more deterministic (reporting class names instead of object names) in the most common cases, to allow the deprecations manager to deduplicate warnings.
      a57e4b1e
  10. Feb 08, 2018
    • Richard Lin's avatar
      Cloning IO with compatibility 🦆 (#754) · 254597c1
      Richard Lin authored
      Changes the API such that IO(...) clones. All Bundles will need to be clone-able, but auto clone type is expected to handle most cases.
      254597c1
    • Richard Lin's avatar
      Better support for autoclonetype of nested Bundles (#769) · 7be9b1c6
      Richard Lin authored
      * Better support for autoclonetype of nested Bundles
      
      * Move bundleStack to dynamicContext
      
      * prefer $outer if available, make guesses distinct
      
      * Catch IllegalAccessException in autoclonetype
      In strange circumstances this type of exception can occur when accessing $outer
      7be9b1c6
  11. Feb 03, 2018
  12. 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
  13. 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
  14. Jan 20, 2018
  15. Jan 19, 2018
  16. Jan 17, 2018
  17. Jan 03, 2018
  18. Dec 23, 2017
  19. Dec 22, 2017
  20. Dec 21, 2017
  21. Dec 20, 2017
  22. Dec 19, 2017
  23. Dec 15, 2017
  24. Dec 14, 2017