-
Notifications
You must be signed in to change notification settings - Fork 8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Handling unidirectional Signal
s in circuits
#59
Comments
Clash must use `CSignal`, not `Signal`, for unidirectional signals in `Circuit`s. See clash-lang/clash-protocols#59.
I have opened cchalmers/circuit-notation#17 addressing this. |
Does this actually compile? I think the plugin would handle |
It doesn't. I realized that after opening it that upstream has shifted appreciably. Unfortunately it's not entirely clear to me how to account for these changes (particularly the addition of |
That PR went in before I could properly understand it. I didn't even realize it had downstream consequences :(. |
Signal
s in circuitsSignal
s in circuits
Currently
clash-protocols
provides theCSignal
type for use inCircuit
s. This in principle allows us to writeCircuit
s like (roughly modelling myaxi-register
package):Note that use of
Signal
patterns and expressions insumRegs
. As far as I can tell, this syntactic construct ofcircuit-notations
allows the user to bind/use a unidirectional signal. However, I suspect that this currently doesn't work inclash-protocols
asCSignal
must be used in place ofSignal
inCircuit
s. My suspicion is that fixing this in the plugin should be quite straightforward.Also see #58, which describes some confusion surrounding
CSignal
.The text was updated successfully, but these errors were encountered: