You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[minor] Add optional circuit to target syntax (#294)
Change the target syntax to include an optional circuit. Note: this
change is strange becauase the spec was _always_ incomplete in how it
discussed targets. It never discussed the circuit, though it showed them
in examples.
Change this so that the circuit name is optional. This creates a somewhat
funky syntax where targets, which never care about the circuit due to the
co-location of annotation JSON in the circuit, will all be prefixed with
`~|`. This, while it would be nice to remove, provides a sigil that
avoids conflicts with a legacy, undocumented target format used by Chisel
originally called "named". This would use the following:
``` ebnf
circuit , [ '.' , module , ['.' , component ] ]
```
I originally wanted to dorp the `~|` and have all targets start with the
module. However, this would create an ambiguity with a named circuit.
E.g., a bare `Foo` could be "circuit Foo" or "module Foo". I am working
to burn this down in Chisel and, after recent changes, Chisel will no
longer emit this. However, I'd like to let that cook for a while. Hence,
this is the new syntax.
Conveniently, CIRCT will already parse this due to a pleasntly
permissive (bugby) target parser.
Signed-off-by: Schuyler Eldridge <[email protected]>
0 commit comments