Skip to content

Releases: chipsalliance/firrtl-spec

v4.0.0

15 Nov 19:46
v4.0.0
89bf725
Compare
Choose a tag to compare
FIRRTL 4.0.0 Release

v3.3.0

13 Nov 17:17
cfdde77
Compare
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
Compare
Choose a tag to compare
v3.2.0 Release

- Add Optional Groups

v3.1.0

28 Jul 22:48
29fbc96
Compare
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
Compare
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
Compare
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
Compare
Choose a tag to compare
v2.3.0 Release

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

v2.2.0

29 Apr 03:26
v2.2.0
760f9fe
Compare
Choose a tag to compare
v2.2.0 Release

- Add module conventions
- Minor EBNF/grammar cleanup

v2.1.0

15 Apr 05:45
v2.1.0
40e64dc
Compare
Choose a tag to compare
v2.1.1 Release

- Clarifications to reference types and operations involving them
- Clarify strings in the grammar
- Add alternative connect/is invalid syntax
- Deprecate old connect/is invalid syntax

v2.0.1

23 Mar 16:36
v2.0.1
4d0ab77
Compare
Choose a tag to compare
v2.0.1 Release

Add clarifications around integer types, string types, integer literals,
string-encoded integer literals, string types, and constant integer
expressions.  Temporarily enshrine existing SFC and MFC behavior where
string-encoded integer literals can be used in almost any place an
integer literal can.

This changes a lot of things in the FIRRTL spec, but all of them are to
correct the spec to existing compiler behavior.