1. Dec 06, 2018
    • Jack Koenig's avatar
      Change bundleStack to use a simple list instead of stack traces · ec132ba7
      Jack Koenig authored
      This removes an enormous performance penalty from the creation of stack
      traces every time a Bundle is created. The new implementation works for
      fewer cases than the stack trace-based one, but covers most current use
      cases of anonymous inner Bundles.
      ec132ba7
  2. 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
  3. Nov 22, 2018
  4. Nov 21, 2018
  5. Nov 14, 2018
  6. Nov 09, 2018
  7. Nov 06, 2018
  8. Nov 03, 2018
  9. Nov 02, 2018
  10. 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
  11. Oct 28, 2018
  12. Oct 26, 2018
  13. 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
  14. Oct 12, 2018
  15. Oct 05, 2018
  16. Oct 04, 2018
  17. Sep 29, 2018
  18. Sep 28, 2018
  19. Sep 22, 2018
  20. Sep 21, 2018
  21. Sep 15, 2018
    • grebe's avatar
      Give type annotation to litOption. (#887) · 00ce759f
      grebe authored
      The litOption field currently has no type that can be inferred. Some
      subtypes override it and give it a type, but the original declaration
      should have a type so things like bundles can override it.
      00ce759f
  22. Sep 14, 2018
  23. Sep 08, 2018