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

PinDelay should use StringIdx for bel pins, not BelPinIdx #61

Open
gatecat opened this issue Jul 19, 2021 · 0 comments
Open

PinDelay should use StringIdx for bel pins, not BelPinIdx #61

gatecat opened this issue Jul 19, 2021 · 0 comments

Comments

@gatecat
Copy link
Collaborator

gatecat commented Jul 19, 2021

Looking at PinDelay, it currently refers to bel pins via BelPinIdx: https://github.com/SymbiFlow/fpga-interchange-schema/blob/78abf3f30770ccc6d0e1f5dbfeaef2666f55acf6/interchange/DeviceResources.capnp#L635

BelPinIdx is not unique per bel, but per site, and as a bel pin mapping rule that PinDelay is associated with can refer to more than one bel in a site: https://github.com/SymbiFlow/fpga-interchange-schema/blob/78abf3f30770ccc6d0e1f5dbfeaef2666f55acf6/interchange/DeviceResources.capnp#L388
but BelPinIdx can only ever apply to a single bel in a site.

To avoid a lot more duplication of rules than we have currently, which is also likely to slow down the place and route, I think the delay should use StringIdx names for bel pins, like the bel-cell mapping rules themselves: https://github.com/SymbiFlow/fpga-interchange-schema/blob/78abf3f30770ccc6d0e1f5dbfeaef2666f55acf6/interchange/DeviceResources.capnp#L382

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