1. Oct 07, 2017
  2. Oct 06, 2017
    • Richard Lin's avatar
      the cloneType and chiselCloneType hot mess 🔥 (#653) · 8168a8ee
      Richard Lin authored
      Addresses #419
      
      cloneType is now marked (through comments only) as an internal API.
      chiselCloneType deprecated (and changed to cloneTypeFull internally, analogous to cloneTypeWidth).
      chiselTypeOf(data) introduced as the external API to get a chisel type from a hardware object
      Intended usage: cloning is an implementation detail, and chisel types and hardware objects both should act as immutable types, with operations like Input(...), Reg(...), etc returning a copy and leaving the original unchanged. Hence, the clone operations are all deprecated.
      Deletes what appears to be an unused Bundle companion object.
      Input(...), Output(...), Flipped(...) require the object to be unbound
      8168a8ee
  3. Oct 04, 2017
  4. Sep 28, 2017
  5. Sep 27, 2017
  6. Sep 21, 2017
  7. Sep 16, 2017
  8. Sep 15, 2017
  9. Sep 07, 2017
  10. Aug 29, 2017
  11. Aug 18, 2017
  12. Aug 17, 2017
  13. Aug 16, 2017
  14. Aug 12, 2017
  15. Aug 11, 2017
  16. Aug 09, 2017
  17. Aug 08, 2017
  18. Aug 03, 2017
  19. Aug 02, 2017
  20. Jul 29, 2017
  21. Jul 28, 2017
    • Chick Markley's avatar
      Fix style of literal creators (#637) · 91f20ccb
      Chick Markley authored
      * Fix style of literal creators
      Literal creators for UInt, SInt and Bool were declared with parens, but
      virtually all uses of these methods do not use parens.  This is for
      issue #539.
      This fix is an API breaking change. If anyone has used parens, e.g.
      val x = 1.U()
      This will now be an error
      
      * remove trailing parens from literal creators in IntegerMathTester
      91f20ccb
  22. Jul 26, 2017
  23. Jul 20, 2017
  24. Jul 18, 2017
  25. Jul 08, 2017
  26. Jul 07, 2017
  27. Jun 27, 2017
    • Richard Lin's avatar
      Directions internals mega-refactor (#617) · aaee58d3
      Richard Lin authored
      Part 1 of mega-change in #578
      
      Major notes:
      - Input(...) and Output(...) now (effectively) recursively override their elements' directions
      - Nodes given userDirection (Input, Output, Flip - what the user assigned to _that_ node) and actualDirection (Input, Output, None, but also Bidirectional and BidirectionalFlip for mostly Aggregates), because of the above (since a higher-level Input(...) can override the locally specified user direction).
      - DataMirror (node reflection APIs) added to chisel3.experimental. This provides ways to query the user given direction of a node as well as the actual direction.
      - checkSynthesizable replaced with requireIsHardware and requireIsChiselType and made available in chisel3.experimental.
      
      Internal changes notes:
      - toType moved into Emitter, this makes the implementation cleaner especially considering that Vec types can't be flipped in FIRRTL. This also more clearly separates Chisel frontend from FIRRTL emission.
      - Direction separated from Bindings, both are now fields in Data, and all nodes are given hierarchical directions (Aggregates may be Bidirectional). The actualDirection at the Element (leaf) level should be the same as binding directions previously.
      - Bindings are hierarchical, children (of a, for example, Bundle) have a ChildBinding that points to their parent. This is different than the previous scheme where Bindings only applied at the Element (leaf) level.
      - Lots of small misc clean up.
      
      Future PRs will address other parts of #578, including stricter direction checks that aren't a side-effect of this internal refactor, stricter checks and splitting of binding operations (Wire vs. WireInit), and node operations not introduced here (getType and deprecation of chiselCloneType). Since those shouldn't mess with internals, those should be much smaller.
      aaee58d3
  28. Jun 23, 2017
  29. Jun 20, 2017
  30. Jun 01, 2017