PIP.isUsed() / get all PIPs of a Switchbox

24 views
Skip to first unread message

G. BRICAS

unread,
Aug 11, 2021, 6:25:24 AM8/11/21
to RapidWright
Hi,

Is there any method to know if a given PIP is used by the design?
At the moment, I have to go through all the nets in my design, extract and store all the PIPs that make them up and then check if the PIP in question is part of the list.
It seems a bit tedious, and memory intensive, is there an easier way?

On the other hand, I would like to extract all PIPs from a given Switchbox.
I understand that Switchboxes don't really have a corresponding object or Cell in RapidWright.
Is there a way to extract all the PIPs from a given Switchbox (used and unused) without having to manually extract their name from Vivado ?

Thank you in advance for your help.

Gaetan

RapidWright

unread,
Aug 11, 2021, 1:34:02 PM8/11/21
to RapidWright
Hi Gaetan,

For your first question, I don't believe that question can be answered directly through any API.  As you described, you'd want to create a set of PIPs and add all the used PIPs in the design to it to be able to answer that question.

For your second question, yes there is a way to get the PIPs from a switchbox.  Generally, switchboxes are fully encapsulated in a tile and the common switch boxes are found in INT tiles.  Generally, all the PIPs in a tile of one type will be the same in all instances of tiles of that type.  For example, if you wanted to know all the PIPs the tile INT_X0Y0, you could print all the PIPs with the following code:

for(PIP pip : device.getTile("INT_X0Y0").getPIPs()) {
    System.out.println(pip);
}

Hope that helps.

Chris
Reply all
Reply to author
Forward
0 new messages