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

Fuzz BUFCE_ROW_FSR configuration #12

Open
daveshah1 opened this issue Jul 19, 2020 · 4 comments
Open

Fuzz BUFCE_ROW_FSR configuration #12

daveshah1 opened this issue Jul 19, 2020 · 4 comments

Comments

@daveshah1
Copy link

Looks like half the work is done: https://github.com/SymbiFlow/prjuray/blob/3f5736237309e0670b4351f39fad8b4bd9cb6dd0/tools/dump_features.tcl#L646

but this isn't actually appearing in the databases yet presumably because nothing actually fuzzes this.

I believe this is needed to correctly clock-route a design that spans multiple clock regions in the vertical direction, see p245 of https://www.xilinx.com/support/documentation/sw_manuals/xilinx2019_2/ug949-vivado-design-methodology.pdf

However, this is not yet a blocking issue for me as nextpnr's UltraScale+ clock routing is still very simplistic and wouldn't be able to use this in any case.

@litghost
Copy link
Contributor

litghost commented Jul 20, 2020

I believe we have enough configuration to use the BUFCE_ROW_FSR, but not enough to control the dynamic taps.

For example:

https://github.com/SymbiFlow/prjuray-db/blob/366ab03c81d4559a1dfff6661df16454d1f6899f/zynqusp/segbits_rclk_clem_l.db#L1

GitHub
Contribute to SymbiFlow/prjuray-db development by creating an account on GitHub.

@daveshah1
Copy link
Author

Thanks, that's a good workaround for now. There's a slight inconsistency in treating BUFCE_ROW_FSR as a pseudo pip only and BUFCE_LEAF as a primitive only but that's no major issue on my side and it will do until BUFCE_ROW_FSR is properly fuzzed.

@litghost
Copy link
Contributor

Thanks, that's a good workaround for now. There's a slight inconsistency in treating BUFCE_ROW_FSR as a pseudo pip only and BUFCE_LEAF as a primitive only but that's no major issue on my side and it will do until BUFCE_ROW_FSR is properly fuzzed.

That isn't a psuedo pip, because it controls a real mux. However I do believe the equivalent of BUFCE_ROW_FSR.USED got lumped into each of those PIP features. I don't have a problem with that, as if you activate a pip that only goes to a BUFCE_ROW_FSR, you almost certainly are going through the BUFCE_ROW.

@daveshah1
Copy link
Author

Ah, sorry, I misread that line - I thought it was the "in to out" pseudo-pip

tmichalak pushed a commit to tmichalak/prjuray that referenced this issue Aug 25, 2020
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

2 participants