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

On iCE40, use SB_IO PIN_TYPE to avoid unnecessary placement constraint on buffers #1305

Open
whitequark opened this issue Mar 27, 2024 · 4 comments

Comments

@whitequark
Copy link
Member

Right now it appears that regardless of PIN_TYPE, the CLOCK_ENABLE and {INPUT,OUTPUT}_CLOCK in a pin pair with z=0,1 must match. This is mostly fine for clocks but gets extremely annoying for CLOCK_ENABLE, and worse, the constraint still has to be preserved if you use the pin as a comb input/output.

Nextpnr could take this into account and ignore the nets tied to CLOCK_ENABLE/*_CLOCK if the PIN_TYPE instructs it so.

@gatecat
Copy link
Member

gatecat commented May 3, 2024

I believe this should be implemented via this function already - can you provide an example where this isn't working?

@whitequark
Copy link
Member Author

whitequark commented May 3, 2024

@wanda-phi Do you recall where we hit this?

Actually, I remember now, it was in the Glasgow RGMII applet. I'd have to change the code a little to create a reproducer but it shouldn't be too hard.

@wanda-phi
Copy link
Contributor

wasn't that hyperram, actually?

@whitequark
Copy link
Member Author

whitequark commented May 3, 2024

Oh it would have been!

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

3 participants