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

UltraScale Incremental Clock Router #540

Merged
merged 13 commits into from
Jun 19, 2023
Merged

UltraScale Incremental Clock Router #540

merged 13 commits into from
Jun 19, 2023

Conversation

clavin-xlnx
Copy link
Member

Assumes the horizontal distribution lines are already in place, a common technique in DFX designs.

@clavin-xlnx clavin-xlnx changed the base branch from master to 2022.1.3 September 20, 2022 03:11
Signed-off-by: Chris Lavin <[email protected]>
@github-actions
Copy link

github-actions bot commented Sep 20, 2022

Unit Test Results

  45 files    45 suites   8m 0s ⏱️
634 tests 625 ✔️ 9 💤 0 ❌
653 runs  644 ✔️ 9 💤 0 ❌

Results for commit ecf323a.

♻️ This comment has been updated with latest results.

@clavin-xlnx clavin-xlnx marked this pull request as draft September 20, 2022 03:26
Base automatically changed from 2022.1.3 to master September 20, 2022 04:59
@eddieh-xlnx
Copy link
Collaborator

Would it be straightforward to generate a test for this?

@clavin-xlnx
Copy link
Member Author

clavin-xlnx commented Oct 31, 2022

Would it be straightforward to generate a test for this?

If we have a design that had the need, possibly yes.

@eddieh-xlnx
Copy link
Collaborator

If we have a design that had the need, possibly yes.

I was more alluding to -- do you recall what testcase you used to build this feature?

I have a bigger (and the original non-public) testcase that drove this work, but is it straightforward to manufacture a public, clock-specific testcase?

@clavin-xlnx
Copy link
Member Author

I have a bigger (and the original non-public) testcase that drove this work, but is it straightforward to manufacture a public, clock-specific testcase?

The only existing DCP in test/RapidWrightDCP that comes close is the microblaze design, but it targets UltraScale. Because it is missing the leaf clock buffers, this code doesn't work for that design scenario. I would have to retarget it to UltraScale+.

Conflicts:
	src/com/xilinx/rapidwright/router/UltraScaleClockRouting.java
	src/com/xilinx/rapidwright/rwroute/GlobalSignalRouting.java
Signed-off-by: Eddie Hung <[email protected]>
@clavin-xlnx clavin-xlnx self-assigned this May 2, 2023
@clavin-xlnx
Copy link
Member Author

Add a test case for incremental clock routing on UltraScale+.

* Incremental clock router fixes

Signed-off-by: Eddie Hung <[email protected]>

* GlobalSignalRouting.routeStaticNet() to not clobber existing PIPs

Signed-off-by: Eddie Hung <[email protected]>

* Remove redundant PartialRouter.routeStaticNets() override

Signed-off-by: Eddie Hung <[email protected]>

* Remove import

Signed-off-by: Eddie Hung <[email protected]>

* Cleanup/document/refactor

Signed-off-by: Eddie Hung <[email protected]>

* Fix DesignTools.makePhysNetNamesConsistent()  (#703)

* Add test for #701

Signed-off-by: Eddie Hung <[email protected]>

* Update testcase and test

Signed-off-by: Eddie Hung <[email protected]>

* Add testMakePhysNetNamesConsistentLogicalVccGnd()

Signed-off-by: Eddie Hung <[email protected]>

* Fix DesignTools.makePhysNetNamesConsistent()

By transforming logical static nets <const{0,1}> into physical
static nets GLOBAL_LOGIC{0,1}

Signed-off-by: Eddie Hung <[email protected]>

* Update test/src/com/xilinx/rapidwright/design/TestDesignTools.java

Signed-off-by: eddieh-xlnx <[email protected]>

* Improve testcase, check against Vivado only if present

Signed-off-by: Eddie Hung <[email protected]>

* Update RapidWrightDCP

Signed-off-by: Eddie Hung <[email protected]>

---------

Signed-off-by: Eddie Hung <[email protected]>
Signed-off-by: eddieh-xlnx <[email protected]>

* Tidy up

Signed-off-by: Eddie Hung <[email protected]>

---------

Signed-off-by: Eddie Hung <[email protected]>
Signed-off-by: eddieh-xlnx <[email protected]>
@eddieh-xlnx eddieh-xlnx marked this pull request as ready for review June 19, 2023 23:12
@eddieh-xlnx eddieh-xlnx merged commit e69afc1 into master Jun 19, 2023
@eddieh-xlnx eddieh-xlnx deleted the incr_clk_routing branch June 19, 2023 23:30
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

Successfully merging this pull request may close these issues.

2 participants