Place Ports

28 views
Skip to first unread message

Joe Kent

unread,
Sep 16, 2021, 2:37:15 PM9/16/21
to RapidWright
Hello,

I was trying to create an IOB cell that is connected to a flip flop, using Design.createAndPlaceIOB(). But the DCP does not show the I/O port for that cell. If I run the Tcl command "place_ports <name> <site>" it places that port to the correct location, connecting it to the cell. I was wondering if there was a work-around in RapidWright, or if there is a method in RapidWright similar to place_ports Tcl command.

Thanks!

RapidWright

unread,
Sep 16, 2021, 7:51:20 PM9/16/21
to RapidWright
Thanks for the question!  Perhaps if you could share some screenshots in Vivado and/or example code that exhibits the behavior, we might be able to help identify the issue better.  In theory, Design.createAndPlaceIOB() should create a top-level port and connect to it, but it is possible that it might be failing to do so in situations we haven't tested yet.  Also, can you share which device you are targeting?

I don't believe we have an equivalent command to place_ports in RapidWright, but that is interesting feedback that perhaps we should.

jken...@gmail.com

unread,
Sep 20, 2021, 8:49:29 AM9/20/21
to RapidWright
I actually think I found a way around it. It may have just been my approach to writing the .dcp

I set the connected flip flop cell's site fixed and BEL fixed to true, using cell.setSiteFixed(true) and cell.setBELFixed(true)
I also had to set the IOB cell to the opposite, using cell.setSiteFixed(false) and cell.setBELFixed(false).

After doing this, it seems to be placing the cell the correct way. I think it was just my approach as to why I was getting an error.

Thanks!

Reply all
Reply to author
Forward
0 new messages