SV/RTL dialect rationale

I took a stab at writing an outline and first draft at an RTL/SV dialect rationale. I’d appreciate feedback, plus edits and help filling in some of the missing pieces.


This seems like a great start! Thanks for writing it. I’ve got a bunch of relatively small feedback – I’ll submit a PR with my proposed changes when I’ve got a chance. One pretty big omission is sequential logic in the RTL dialect (it is in the name – Register Transfer Level). Your writing implies that the RTL dialect is combinational only and will always be. Just to clarify, that’s not the plan, right? If not, we should probably mention it’s not currently supported but it’s planned.

One minor terminological super nit (and I really don’t to hijack this thread to bikeshed on this): when I went to school, the term for non-stateful logic was ‘combinational’. Over the years, however, people speaking imprecisely often using the term ‘combinatorial’ instead, which is easy to confuse with ‘combinational’ given the low edit distance. It’s become so common that it’s a generally accepted synonym, but it bugs me when I see it written since I’m big on precise wording (despite some of my quick comments). (At least that’s my understanding of the etymology.)

fixed in 130d270, thx!