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

Handle EDIF export bussed port name collision with identically named bit ports #616

Merged
merged 3 commits into from
Mar 3, 2023

Conversation

clavin-xlnx
Copy link
Member

This fixes an issue when RapidWright writes out an EDIF netlist that contains a cell with two ports, one bussed and the other a single bit that have the same root name, for example:

my_port
my_port[1:0]

This is a legal set of ports, but when the EDIF is exported from RapidWright, the EDIF rename collides on port instance references. This PR resolves the issue by explicitly using the busName of the EDIFPort for any bussed ports which contains a trailing [ character that then gets translated to an _ when it is legalized for EDIF. This differentiates it from its single bit counterpart.

@clavin-xlnx clavin-xlnx requested a review from eddieh-xlnx March 2, 2023 23:35
Signed-off-by: Chris Lavin <[email protected]>
@clavin-xlnx clavin-xlnx requested a review from eddieh-xlnx March 3, 2023 01:41
@clavin-xlnx clavin-xlnx merged commit 6823c1a into master Mar 3, 2023
@clavin-xlnx clavin-xlnx deleted the fix_edif_busport_collision branch March 3, 2023 17:22
eddieh-xlnx added a commit that referenced this pull request Mar 9, 2023
commit a9dd40cfb126f52ef938d6fd22a45f436a63d261
Merge: 54ec7e3 2b81e54
Author: Eddie Hung <[email protected]>
Date:   Wed Mar 8 16:54:09 2023 -0800

    Merge remote-tracking branch 'upstream/master' into sashimi_upstream

    Conflicts:
    	src/com/xilinx/rapidwright/rwroute/RWRoute.java

commit 2b81e54
Author: eddieh-xlnx <[email protected]>
Date:   Wed Mar 8 16:47:56 2023 -0800

    [RWRoute] Static net router + RouteNode enhancements (#618)

    * [RWRoute] Fix SLL handling

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

    * Assert on nodeInfo.length

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

    * Port from sashimi

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

    * Make private

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

    * Refactor into RouteNodeInfo class

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

    * Add comment

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

    * Missing break

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

    * Add assert

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

    * Fix spacing

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

    * Refactor and update comments

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

    * Further cleanup

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

    * Address review comment

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

    * Update comment

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

    * Changes for US

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

    ---------

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

commit 54ec7e3
Author: Eddie Hung <[email protected]>
Date:   Mon Mar 6 22:24:23 2023 -0800

    Changes for US

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

commit 596ea3b
Author: Eddie Hung <[email protected]>
Date:   Mon Mar 6 22:24:16 2023 -0800

    Update comment

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

commit 072567e
Merge: 8534e76 f28f301
Author: Eddie Hung <[email protected]>
Date:   Mon Mar 6 13:43:29 2023 -0800

    Merge remote-tracking branch 'origin/sashimi' into sashimi_upstream

commit 8534e76
Merge: 2ba2fb4 5dd1122
Author: Eddie Hung <[email protected]>
Date:   Mon Mar 6 10:44:20 2023 -0800

    Merge branch 'rwroute_opt' into sashimi_upstream

commit 5dd1122
Author: Eddie Hung <[email protected]>
Date:   Thu Mar 2 15:27:28 2023 -0800

    Further cleanup

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

commit 0b5a747
Author: Eddie Hung <[email protected]>
Date:   Thu Mar 2 10:55:26 2023 -0800

    Refactor and update comments

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

commit cae82cb
Author: Eddie Hung <[email protected]>
Date:   Tue Feb 28 17:39:17 2023 -0800

    Fix spacing

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

commit e95b24f
Author: Eddie Hung <[email protected]>
Date:   Tue Feb 28 17:38:58 2023 -0800

    Add assert

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

commit be03e13
Author: Eddie Hung <[email protected]>
Date:   Tue Feb 28 17:37:35 2023 -0800

    Missing break

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

commit f8bb485
Author: Eddie Hung <[email protected]>
Date:   Tue Feb 28 17:37:17 2023 -0800

    Add comment

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

commit 088b335
Author: Eddie Hung <[email protected]>
Date:   Tue Feb 28 17:31:26 2023 -0800

    Refactor into RouteNodeInfo class

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

commit 6823c1a
Author: Chris Lavin <[email protected]>
Date:   Fri Mar 3 10:22:36 2023 -0700

    Handle EDIF export bussed port name collision with identically named bit ports (#616)

    * Fix for bussed ports that collide with same name bit-port

    Signed-off-by: Chris Lavin <[email protected]>

    * Restore test to temp dir

    Signed-off-by: Chris Lavin <[email protected]>

    * Add explicit check

    Signed-off-by: Chris Lavin <[email protected]>

    ---------

    Signed-off-by: Chris Lavin <[email protected]>

commit 2ba2fb4
Author: Eddie Hung <[email protected]>
Date:   Thu Mar 2 15:27:28 2023 -0800

    Further cleanup

commit 7a39d0a
Merge: e32b4ac c283d52
Author: Eddie Hung <[email protected]>
Date:   Thu Mar 2 10:55:51 2023 -0800

    Merge branch 'rwroute_opt' into sashimi_upstream

commit c283d52
Author: Eddie Hung <[email protected]>
Date:   Thu Mar 2 10:55:26 2023 -0800

    Refactor and update comments

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

commit 77d8513
Author: Eddie Hung <[email protected]>
Date:   Tue Feb 28 17:39:17 2023 -0800

    Fix spacing

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

commit 78f2d5e
Author: Eddie Hung <[email protected]>
Date:   Tue Feb 28 17:38:58 2023 -0800

    Add assert

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

commit b4d27e7
Author: Eddie Hung <[email protected]>
Date:   Tue Feb 28 17:37:35 2023 -0800

    Missing break

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

commit 482fa06
Author: Eddie Hung <[email protected]>
Date:   Tue Feb 28 17:37:17 2023 -0800

    Add comment

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

commit 9527ed2
Author: eddieh-xlnx <[email protected]>
Date:   Wed Mar 1 14:16:33 2023 -0800

    Fix PartialRouter and PipelineGeneratorWithRouting tutorials (#615)

    * Unrecognized RWRoute arguments to be an IllegalArgumentException

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

    * Add/use/test PartialRouter.{main,routeDesignWithUserDefinedArguments}()

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

    * Add testPipelineGeneratorWithRouting

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

    * PipelineGenerator test

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

    * PipelineGeneratorWithRouting to skip source-less nets

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

    * Remove unused

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

    * Add comment

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

    * Add license header

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

    * try-with-resources

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

    * Do not write DCP if /dev/null

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

    * TestExamples to not write a DCP

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

    * Remove unused import

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

    * PipelineGeneratorWithRouting to use 'pipeline' for designName too

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

    ---------

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

commit e32b4ac
Merge: 5715f12 f0745d1
Author: Eddie Hung <[email protected]>
Date:   Tue Feb 28 17:31:55 2023 -0800

    Merge branch 'rwroute_opt' into sashimi_upstream

commit f0745d1
Author: Eddie Hung <[email protected]>
Date:   Tue Feb 28 17:31:26 2023 -0800

    Refactor into RouteNodeInfo class

commit 5e1e4a5
Author: Eddie Hung <[email protected]>
Date:   Tue Feb 28 16:45:44 2023 -0800

    Make private

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

commit 5715f12
Author: Eddie Hung <[email protected]>
Date:   Tue Feb 28 16:45:44 2023 -0800

    Make private

commit 3fc9b18
Merge: b699e9a d0d3ff7
Author: Eddie Hung <[email protected]>
Date:   Tue Feb 28 16:17:41 2023 -0800

    Merge branch 'rwroute_opt' into sashimi_upstream

commit d0d3ff7
Author: Eddie Hung <[email protected]>
Date:   Tue Feb 28 16:17:21 2023 -0800

    Port from sashimi

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

commit 802eb0d
Merge: c84ccd8 d2cc9b0
Author: Eddie Hung <[email protected]>
Date:   Tue Feb 28 16:07:16 2023 -0800

    Merge remote-tracking branch 'upstream/master' into rwroute_opt

commit b699e9a
Merge: 3929952 4b97828
Author: Eddie Hung <[email protected]>
Date:   Tue Feb 28 15:55:03 2023 -0800

    Merge branch 'sashimi' into sashimi_upstream

commit 3929952
Merge: 5deddb8 c84ccd8
Author: Eddie Hung <[email protected]>
Date:   Fri Jan 20 14:42:16 2023 -0800

    Merge branch 'rwroute_opt' into sashimi_upstream

    Conflicts:
    	src/com/xilinx/rapidwright/rwroute/RouteNode.java

commit c84ccd8
Author: Eddie Hung <[email protected]>
Date:   Fri Jan 20 14:40:38 2023 -0800

    Assert on nodeInfo.length

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

commit f769649
Author: Eddie Hung <[email protected]>
Date:   Fri Jan 20 12:54:25 2023 -0800

    [RWRoute] Fix SLL handling

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

commit 5deddb8
Merge: d6da084 180d545
Author: Eddie Hung <[email protected]>
Date:   Fri Jan 20 12:55:51 2023 -0800

    Merge branch 'rwroute_opt' into sashimi_upstream

commit 180d545
Author: Eddie Hung <[email protected]>
Date:   Fri Jan 20 12:54:25 2023 -0800

    [RWRoute] Fix SLL handling
eddieh-xlnx pushed a commit that referenced this pull request Mar 11, 2023
…bit ports (#616)

* Fix for bussed ports that collide with same name bit-port

Signed-off-by: Chris Lavin <[email protected]>

* Restore test to temp dir

Signed-off-by: Chris Lavin <[email protected]>

* Add explicit check

Signed-off-by: Chris Lavin <[email protected]>

---------

Signed-off-by: Chris Lavin <[email protected]>
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