Skip to content

Releases: chipsalliance/firrtl-spec

v5.0.0

28 Mar 17:24
v5.0.0
189b391

Choose a tag to compare

FIRRTL Version 5.0.0

This adds special substitutions via `{{}}` syntax.  This is a
backwards-incompatible change.

v4.2.0

25 Mar 17:41
v4.2.0
72ee666

Choose a tag to compare

FIRRTL version 4.2.0

This adds the `%c` substitution syntax.

v4.1.0

02 Jan 19:46
v4.1.0
4a754df

Choose a tag to compare

FIRRTL Version 4.1.0

This adds the inline layer convention.

v4.0.0

15 Nov 19:46
v4.0.0
89bf725

Choose a tag to compare

FIRRTL 4.0.0 Release

v3.3.0

13 Nov 17:17
cfdde77

Choose a tag to compare

[nfc] Fix formatting

Signed-off-by: Schuyler Eldridge <[email protected]>

v3.2.0

27 Sep 17:50
v3.2.0
05b333f

Choose a tag to compare

v3.2.0 Release

- Add Optional Groups

v3.1.0

28 Jul 22:48
29fbc96

Choose a tag to compare

v3.1.0 Release

This release includes the addition of Property types, assignment, and
literals.

There are also patch level updates included in this release:

  - Tweak mux selector width-inference behavior
  - Fixup printf grammar to reflect need for commas between exprs
  - Fix string-encoded lits usage in examples
  - Fix bug in grammar spec of integer

v3.0.0

30 Jun 18:01
v3.0.0
046c3fc

Choose a tag to compare

v3.0.0 Release

This release makes a number of breaking syntax changes to make FIRRTL
syntax simpler, easier to parse, or changed to clawback some syntax that
will be used for something else in the future.

Connect and invalidation are changed to make them easier to parse as they
now start with a keyword as opposed to an identifier or keyword:

  - `a <= b` is now `connect a, b`
  - `a is invalid` is now `invalidate a`

A register with a reset is simplified to be less verbose:

  - `reg a: UInt<1>, clock with: (reset => (b, c))` is now
    `regreset, a:UInt<1>, b, c`

String-encoded integer literals are changed to radix-encoded integer
literals.  This enables repurposing quoted strings to be actual strings as
opposed to integer literals.

  - `UInt("h42")` is now `UInt(0h42)`

Identifiers which include a leading number must now be escaped with
backticks.  This simplifies parsing as most parsers treat integers and
identifiers differently.

  - `{ 0: UInt<1> }` is now `` { `0`: UInt<1> } ``
  - `` circuit `42` : `` is now legal syntax

A number of features are added to the spec in this version:

  - Enumerations and matches on enumerations
  - Type alias

v2.4.0

13 Jun 14:42
v2.4.0
b25fcb5

Choose a tag to compare

v2.4.0 Release

Add radix-specified integer literals as alternative syntax for
string-encoded integer literals.

v2.3.0

02 May 02:09
v2.3.0
9e01366

Choose a tag to compare

v2.3.0 Release

- Add intrinsic, connect, invalidate syntax highlighting
- Add alternative "regreset" syntax