1. Jul 18, 2023
  2. Jul 15, 2023
    • Jack Koenig's avatar
      Add support for configurable warnings · e494c606
      Jack Koenig authored
      New CLI option --warn-conf accepts a comma-separated sequence of
      <filter>:<action> pairs for customizing warnings.
      
      Supported filters are:
      * any          - matches all warnings
      * id=<integer> - matches warnings with the integer id
      * src=<glob>   - matches warnings where <glob> matches the warning
                       source file
      
      id and src filters can be combined with &.
      
      Supported actions are:
      * :s - suppress the warning
      * :w - report the warning as a warning (default behavior)
      * :e - error on the warning
      
      For example, the new Vec dynamic width matching warning can be
      suppressed for source files in src/main/scala while all other warnings
      elevated to errors with:
        --warn-conf "id=3&src=src/main/scala/**:s,any:e"
      e494c606
    • Jack Koenig's avatar
      Sanitize Record._elements (#3419) · 5c282db5
      Jack Koenig authored
      This moves name sanitation a little earlier and ensures that the
      sanitized names are use more consistently throughout Chisel internals.
      
      This fixes a bug in D/I where unsanitary names would lead to a crash.
      5c282db5
  3. Jul 14, 2023
  4. Jul 11, 2023
  5. Jul 10, 2023
  6. Jul 08, 2023
  7. Jul 07, 2023
  8. Jul 06, 2023
  9. Jul 01, 2023
    • Jared Barocsi's avatar
      SRAM API: Add multiple-clocked port API (#3383) · d79ae71e
      Jared Barocsi authored
      This PR adds new APIs for the SRAM module to instantiate a number of ports connected to individual clocks. This allows the creation of memories driven by multiple clocks, for use cases like clock domain crossover.
      d79ae71e
  10. Jun 30, 2023
  11. Jun 29, 2023
  12. Jun 28, 2023
  13. Jun 27, 2023
    • Schuyler Eldridge's avatar
      [codegen] Emit literal identifiers for numeric ids (#3374) · 385feff7
      Schuyler Eldridge authored
      
      
      Change the FIRRTL serializer to use literal identifiers if any identifiers
      begin with a leading digit.  This is a FIRRTL 3.0.0 feature that
      simplifies parsing.
      
      This enables literal identifier emission anywhere.  However, this code
      path is only reachable via MixedVec due to mangling of numeric names to
      add a leading underscore in all other circumstances.  In the future, this
      commit will enable removing this restriction and switching to literal
      identifiers when this happens.
      
      No changes are made to annotation targets.  E.g., the literal identifier,
      "wire `42`" in circuit "Foo" and module "Bar" is still referred to by a
      local target "~Foo|Bar>42".  This is intentional (for now).  Targets don't
      have parsing ambiguity like FIRRTL text and the name of this wire is still
      "42" not "`42`".  It follows that the storage of this name in FIRRTL IR is
      not changed.  This is the same way that this is handled in CIRCT.
      
      Signed-off-by: default avatarSchuyler Eldridge <schuyler.eldridge@sifive.com>
      385feff7
    • Schuyler Eldridge's avatar
      Use new FIRRTL 3.0.0 emission (#3188) · 40005511
      Schuyler Eldridge authored
      
      
      Use new FIRRTL 3.0.0 syntaxes:
      
        - `a <= b` is now `connect a, b`
        - `c is invalid` is now `invalidate c`
        - a register with a reset is now `regreset`
        - `UInt("b101010")` is now `UInt(0b101010)`
      
      Update the stated version of the FIRRTL emitted to 3.0.0.
      
      Signed-off-by: default avatarSchuyler Eldridge <schuyler.eldridge@sifive.com>
      40005511
    • Girish Pai's avatar
      Correctly set ProbeInfo to None for Aggregate types on a probe.read (#3382) · 59d7734d
      Girish Pai authored
      * Fix probe read for bundles
      
      * Remove unwanted commented code
      
      * scalafmt
      
      * Revert Data.scala change
      59d7734d
  14. Jun 23, 2023
  15. Jun 22, 2023
  16. Jun 21, 2023
  17. Jun 16, 2023
  18. Jun 15, 2023
  19. Jun 14, 2023