1. Jan 09, 2019
    • chick's avatar
      Interval stuff · 54ccf684
      chick authored
      - failing tests should hightlight questions/issues with firrtl
      54ccf684
  2. Jan 08, 2019
    • chick's avatar
      Interval stuff · f1a0d1a4
      chick authored
      - Add more tests
      - Add some utilities
        - simulators for wrap, clip and squeeze
        - low firrtl generator in ChiselSpec
      f1a0d1a4
  3. Dec 21, 2018
    • chick's avatar
      Interval stuff · 16adf7a6
      chick authored
      - Lot's of cleanup for IntervalSpec
      - Removed parens from Interval Lit creator .I
      16adf7a6
    • chick's avatar
      Resolved merge conflict with hand edit of Bits · 9fc2eb1a
      chick authored
      9fc2eb1a
    • chick's avatar
      Interval stuff · 7184382e
      chick authored
      - fix interval lit emission, upper and lower bound are the same as value
      - Some cosmetic line length changes in Bits.scala in Interval code
      - More tests for IntevalSpec
      - Some basic cleanup of IntervalSpec
      - Create some utilities for testing Intervals in Util
      - Cleanup in Bits
        - break up long lines in Interval
        - clean up some stale comments
        - added more scaladoc on interval methods
        - added some more object utility methods for interacting with BigDecimal
      7184382e
  4. Dec 20, 2018
    • Jack Koenig's avatar
      Fix width inferencing issue (#952) · 416b9d9d
      Jack Koenig authored
      * Fix width propagation of non-literals in WireInit and RegInit
      * Change .getWidth to throw an exception instead of calling .get
      * Add utilities for checking inferred vs. known widths
      * Add tests for Wire, WireInit, Reg, and RegInit width inference
      * Add ScalaDoc for Reg, Wire, RegInit, and WireInit
      416b9d9d
  5. Dec 12, 2018
  6. Dec 07, 2018
  7. Dec 05, 2018
  8. Nov 27, 2018
    • Albert Chen's avatar
      Trim Stack Trace (#931) · ab951049
      Albert Chen authored
      - Trim stack trace to show better, reduced information to the user
      - Add --full-stacktrace to FIRRTL option to show full stack trace
      ab951049
  9. Nov 22, 2018
  10. Nov 21, 2018
  11. Nov 14, 2018
  12. Nov 09, 2018
  13. Nov 06, 2018
  14. Nov 03, 2018
  15. Nov 02, 2018
  16. Oct 30, 2018
    • Hasan Genc's avatar
      Turn off strong enum annotations (#916) · 4dddde56
      Hasan Genc authored
      * Turned off strong enum annotations because they weren't working
        with Vec indexes
      * Ignore annotation tests using ScalaTest's 'ignore', rather than
        by commenting them out
      4dddde56
    • Schuyler Eldridge's avatar
      Fix LoadMemoryTransform for Instance Annotations (#914) · 012c5030
      Schuyler Eldridge authored
      
      
      Quickfix for LoadMemoryTransform that gets this to work with Instance
      Annotations. The new Instance Annotations caused a corner case where a
      LoadMemoryAnnotation would be duplicated (via update/renaming) and the
      resulting annotation would differ from the original in only their
      originalMemoryNameOpt field. This corrects that by having the
      ChiselLoadMemoryAnnotation also emit the originalMemoryNameOpt field where
      it did not previously.
      
      First part of a fix for freechipsproject/firrtl#922.
      
      Signed-off-by: default avatarSchuyler Eldridge <schuyler.eldridge@ibm.com>
      012c5030
  17. Oct 28, 2018
  18. Oct 26, 2018
  19. Oct 13, 2018
    • Hasan Genc's avatar
      Strong enums (#892) · 60040525
      Hasan Genc authored
      * Added new strongly-typed enum construct called "StrongEnum". "StrongEnum" will automatically generate annotations that HDL backends can use to mark components as enums
      
      Removed "override val width" constructor parameter from "Element" so that classes with variable widths, like the new strong enums, can inherit from it
      
      Changed the parameter types of certain functions, such as "switch", "is", and "LitArg.bindLitArg" from "Bits" to "Element", so that they can take the new strong enums as arguments
      
      * Added tests for the new strong enums
      
      * Changed StrongEnum exception names and made sure in StrongEnum tests that the correct types of exceptions are thrown
      
      * Fixed bug where an enum's global annotation would not be set if it was used in multiple circuits
      
      Made styling changes to StrongEnum.scala
      
      * Reverted accidental changes to the AnnotatingDiamond test
      
      * Changed the API for casting non-literal UInts to enums
      
      Added an isValid function that checks whether or not enums have valid values
      
      Calling getWidth on an enum's companion object now returns a BigInt instead of an Int
      
      * Casting a literal to an enum using the StrongEnum.castFromNonLit(n) function is now simply a wrapper for StrongEnum.apply(n)
      
      * Fixed compilation bug
      
      * * Added "next" method to EnumType
      * Renamed "castFromNonLit" to "fromBits"
      
      * The FSM example in the test/scala/cookbook now uses StrongEnums
      
      * * Changed strong enum API, so that users no longer have to declare both a class and a companion object for each strong enum
      
      * Strong enums do not have to be static any longer
      
      * * Added scope protections to ChiselEnum.Value so that users cannot call it
      outside of a ChiselEnum definition
      
      * Renamed ChiselEnum.Value type to ChiselEnum.Type so that we can give
      it a companion object just like UInt and Bool do
      
      * * Moved strong enums into experimental package
      * Non-literal UInts can now be cast to enums with apply() rather than
      fromBits()
      * Reduced code-duplication by moving some functions from EnumType and
      Bits to Element
      60040525
  20. Oct 12, 2018
  21. Oct 05, 2018
  22. Oct 04, 2018
  23. Sep 29, 2018
  24. Sep 28, 2018