firrtl-spec
firrtl-spec copied to clipboard
The specification for the FIRRTL language
afaict the specification doesn't specify if you can have an enumeration type with no variants `{||}` (the grammar allows it, but I'm not sure if that's intentional, since uninhabited types...
Add a way to specify the port lowering ABI of a public module or an external module. This uses syntax like the following: public module Foo: extmodule Bar: This includes...
the FIRRTL specification doesn't specify how to determine if `bits(UInt(0hF0), 3, 0)` returns `0hF` or `0h0` -- specifying this is needed because some significant specifications (the [PowerISA specification](https://files.openpower.foundation/s/dAYSdGzTfW4j2r2) in particular)...
FIRRTL has enough usage (O(100) repositories) that we can get it in as a supported language by Linguist (GitHub's source code identification/highlighting repository). This requires two things as far as...
Now that code blocks are being tested. This repository is another candidate for a nightly CI flow and CD flow to bump the CIRCT version on new releases. Build this...
Align extmodule port requirements re:abstract reset to match those on "public".
Both external and public modules need to specify their port lowering convention. Currently, this is underspecified and left up to a compiler to implement (with annotations or a global option)....
Update the connect algorithm to eliminate type equivalence between smaller to larger conversions. The type equivalence sections sometimes talks about types being equivalent and sometimes talks about them being connectable....
Make all resets use a uniform type. Expand that type to cover asynchronous set, synchronous release resets. Expand that type to handle both active-high and active-low resets. Provide a couple...