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

Multi-output routing bels #48

Open
gatecat opened this issue Apr 30, 2021 · 0 comments
Open

Multi-output routing bels #48

gatecat opened this issue Apr 30, 2021 · 0 comments

Comments

@gatecat
Copy link
Collaborator

gatecat commented Apr 30, 2021

In the Intel ALM structure, there is what is essentially a routing bel (named MODE) with multiple outputs that controls the connectivity of different LUT and mux inputs in order to implement various modes:

https://github.com/Ravenslofty/mistral/blob/master/docs-html/_images/lab-cell.svg

It can't be split into several single output muxes because there are only a total of 16 possible permutations (even though Quartus does show it as 4 3-input muxes, not all permutations are legal).

Examples of some of the permutations that are possible (mistral doesn't document all of them yet):

https://github.com/Ravenslofty/mistral/blob/master/docs-html/_images/lab-modes.svg

I think the easiest way to implement this will be to allow routing bels to have multiple outputs, and add an extra field containing valid combinations of PIPs for these bels.

This is not a priority until we want to do Intel support via the interchange format, but it's worth bearing in mind.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant