1. Nov 21, 2018
  2. Nov 14, 2018
  3. Nov 09, 2018
  4. Nov 06, 2018
  5. Nov 03, 2018
  6. Nov 02, 2018
  7. 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
  8. Oct 28, 2018
  9. Oct 26, 2018
  10. 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
  11. Oct 12, 2018
  12. Oct 05, 2018
  13. Oct 04, 2018
  14. Sep 29, 2018
  15. Sep 28, 2018
  16. Sep 22, 2018
  17. Sep 21, 2018
  18. 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
  19. Sep 14, 2018
  20. Sep 08, 2018