-
Notifications
You must be signed in to change notification settings - Fork 63
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
Add support for cross connections #416
Conversation
also add a check to the validator that produces an error if that feature is used in another target than C++
…ified the iterator over banks and multiports; it is much clearer code now.
this replaces the -x-> operator used on connections before
This makes the integration with the existing code base significantly easier, but requires more validator rules
I pushed some new changes that address @edwardalee's comments. Most importantly, the syntax changed, and we can now use interleaved on port references I extended the tests so that they include both cases, and also added a test that checks the correct operation in conjunction with after. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks great! Minor comments and suggestions added.
@edwardalee I added a description of this feature to the bottom of Multiports and Banks of Reactors. Could you check this description and see if it is understandable? |
Nice! I added to Multiports and Banks of Reactors an explanation of the addressing scheme that results. |
This PR adds support for so-called interleaved connections using the
interleaved(b.p)
qualifier that can be optionally added to a port referenceb.p
. Normally, the connection logic would iterate first over banks, then multiports, on both sides of the connection. If the interleaved qualifier is used, this pattern is changed for the specified port and ports are iterated before banks. This allows creating patterns where bank instances can send messages to a specific second instance. See #415 for more details and a usage example.Closes #415