1. Sep 22, 2016
    • jackkoenig's avatar
      Add Cookbook tests · 7e5aef46
      jackkoenig authored
      These tests are intended to be the examples in the Chisel3 Wiki Cookbook.
      7e5aef46
    • Andrew Waterman's avatar
      Expose FIRRTL asClock construct · b18e98ba
      Andrew Waterman authored
      Additionally, fix Clock.asUInt (previously, it threw an esoteric exception), and add a simple test of both.
      b18e98ba
    • Andrew Waterman's avatar
      Make implicit clock name consistent (#288) · a2cb95bf
      Andrew Waterman authored
      In the Chisel frontend, the implicit clock is named clock, but in the
      generated FIRRTL, it is named clk.  There is no reason for this
      discrepancy, and yet fixing it is painful, as it will break test harnesses.
      Better to take the pain now than later.
      
      Resolves #258.
      a2cb95bf
  2. Sep 16, 2016
  3. Sep 14, 2016
  4. Sep 09, 2016
  5. Sep 08, 2016
    • jackkoenig's avatar
      Fix bug in Printable FullName of submodule port · f793453b
      jackkoenig authored
      Printable was using HasId.instanceName to get full names of Chisel nodes.
      instanceName uses the parent module of the HasId to get the Component to use in
      calling fullName on the underlying Ref. Unfortunately this means that any
      reference to a port of a instance will leave off the instance name. Fixing this
      required the following:
      
      - Add Component argument to Printable.unpack so that we can call Arg.fullName
        directly in the Printable
      - Pass the currently emitting module as the Component to Printable.unpack in
        the Emitter
      - Remove ability to create FullName Printables from Modules since the Module
        name is not known until after the printf is already emitted
      
      This commit also updates the PrintableSpec test to check that FullName and
      Decimal printing work on ports of instances
      f793453b
    • Jack Koenig's avatar
      Add Printable (#270) · 0ed5eb48
      Jack Koenig authored
      Printable is a new type that changes how printing of Chisel types is represented
      It uses an ordered collection rather than a format string and specifiers
      Features:
       - Custom String Interpolator for Scala-like printf
       - String-like manipulation of "hardware strings" for custom pretty-printing
       - Default pretty-printing for Chisel data types
      0ed5eb48
  6. Sep 03, 2016
  7. Sep 02, 2016
  8. Sep 01, 2016
    • Andrew Waterman's avatar
      Check that Vecs have homogeneous types · 3442fac5
      Andrew Waterman authored
      Vec[Element] can have heterogeneous widths.
      
      Vec[Aggregate] cannot (but possibly could relax this by stripping widths
      from constituent Elements and relying on width inference).
      3442fac5
  9. Aug 31, 2016
  10. Aug 26, 2016
  11. Aug 25, 2016
    • chick's avatar
      Per Chisel meeting. · f5e9a6c6
      chick authored
      signalName -> instanceName
      SignalId -> InstanceId
      Based on Stephen's comments on PR
      f5e9a6c6
  12. Aug 22, 2016
    • chick's avatar
      AnnotatingExample: · a177f40f
      chick authored
      Removed extraneous logic
      Renamed doStuff to buildAnnotatedCircuit
      Removed println's
      a177f40f
    • chick's avatar
      Add AnnotationSpec file which provides an example of a way to implement... · 3f771ee6
      chick authored
      Add AnnotationSpec file which provides an example of a way to implement generation of annotations in a chisel circuit that could be used by custom firrtl passes
      This spec also shows and tests in a limited way the new API of .signalName, .pathName, parentModName which allows access to the various path information of a chisel component (something that subclasses SignalId, most prominently SubClasses of Data and Module
      3f771ee6
    • chick's avatar
      Add annotating example to test new signal name api · bc4f6402
      chick authored
      bc4f6402
    • Donggyu Kim's avatar
      provides signal name methods for firrtl annotation and chisel testers · 2d01fdf6
      Donggyu Kim authored
      * signalName: returns the chirrtl name of the signal
      
      * pathName: returns the full path name of the signal from the top module
      
      * parentPathName: returns the full path of the signal's parent module instance from the top module
      
      * parentModName: returns the signal's parent **module(not instance)** name.
      2d01fdf6
  13. Aug 17, 2016
  14. Aug 16, 2016
    • Andrew Waterman's avatar
      Make "def width" a private API; expose isWidthKnown instead (#257) · ddb72787
      Andrew Waterman authored
      * Make "def width" a private API; expose isWidthKnown instead
      
      Resolves #256.
      
      Since width was used to determine whether getWidth would succeed, I added
      
          def isWidthKnown: Boolean
      
      but another option would be to expose something like
      
          def widthOption: Option[Int]
      
      ...thoughts?
      
      * Document getWidth/isWidthKnown
      
      * Add widthOption for more idiomatic Scala manipulation of widths
      ddb72787
  15. Aug 10, 2016
  16. Aug 01, 2016
  17. Jul 21, 2016
    • Jack Koenig's avatar
      Generate better names for nodes (#190) · 54cd58cb
      Jack Koenig authored
      For Chisel nodes defined in Module class-level values of type Option or
      Iterable, we can still use reflection to assign names based on the name
      of the value. This works for arbitrary nesting of Option and Iterable so
      long as the innermost type is HasId. Note that this excludes Maps which
      always have an innermost type of Tuple2[_,_].
      54cd58cb
  18. Jul 15, 2016
  19. Jul 12, 2016
  20. Jul 08, 2016
  21. Jul 07, 2016
  22. Jul 02, 2016
  23. Jun 29, 2016