Skip to content
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

Expression binding <:: and output! can be misleading #49

Closed
sylefeb opened this issue Jul 15, 2020 · 4 comments
Closed

Expression binding <:: and output! can be misleading #49

sylefeb opened this issue Jul 15, 2020 · 4 comments
Labels
bug Something isn't working

Comments

@sylefeb
Copy link
Owner

sylefeb commented Jul 15, 2020

Expression tracking may use the 'value at previous clock' assignment (::=). However, in some cases (tracking another tracker, or value bound to instance output) this does nothing as there is no flip-flop associated. In such a case ::= is the same as :=.

This should issue an error. The docummentation should explain and provide a solution on how to achieve the desired effect (i.e. adding an intermediate flip-flop).

@sylefeb sylefeb added the bug Something isn't working label Jul 15, 2020
@sylefeb
Copy link
Owner Author

sylefeb commented Jul 27, 2020

A similar situation exists with computational outputs (output!) where this does no make any difference when the output is replaced by a wire (bound).

@sylefeb sylefeb changed the title Expression tracking ::= can be misleading Expression tracking ::= and output! can be misleading Jul 27, 2020
@sylefeb
Copy link
Owner Author

sylefeb commented Sep 5, 2020

Expression tracking is solved for the case of tracking another tracker, disallowing mixing ::= and :=
The case with outputs remains open (tracking an output; chaining outputs).

@sylefeb
Copy link
Owner Author

sylefeb commented Apr 16, 2021

Note that expression tracking changed terminology for 'expression binding' and now uses the operators <: and <::. The issue remains.

@sylefeb sylefeb changed the title Expression tracking ::= and output! can be misleading Expression binding <:: and output! can be misleading Apr 16, 2021
@sylefeb
Copy link
Owner Author

sylefeb commented Mar 2, 2022

Closing as this is now clarified and warnings are issued on such cases.

@sylefeb sylefeb closed this as completed Mar 2, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant