Michael Maloney
Michael Maloney
What is the story supposed to be for the enduser? This kind of feature is technically good. But for this kind of change, what are we going to ask people...
This is a fair point. Presumably, it should work as a 0-width type. (Just like `UInt`). But I don't know where the `firtool` implementation sits with this.
Ah. I made a mistake here. The bitwidth of a type should be log2 of the number of values it supports. Eg, a `UInt` has two values, `UInt(0)` and `UInt(1)`,...
Absolute bikeshed: For the syntax, could we add a Java/Scala-style annotation syntax? Eg: ```firrtl @abi("v1") public module Foo: @abi("v2") extmodule Bar: ```
I love this. I added a few comments, mostly in terms of the presentation.
While we're at it, would it be worthwhile to forbid implicit extensions as well? It's more principled and would let us (almost) remove this section entirely.
I am concerned about the orthogonality of this feature with external modules and intrinsic modules. It's hard for me to tell how this functionality is different in intent from those...
Thanks for the report. To be sure, we label the LSB as bit `0` and the MSB as `width - 1`. The `bits` primop is inclusive on both sides. That's...
Just as a note to myself (or anyone who snipes the issue from me), this note is *probably* best given as a language-wide convention, rather than a footnote on `bits`...
I was under the impression that the One True meaning of "endian" was from which end you ate your boiled eggs.