byuccl / RapidSmith2

RapidSmith2 - the Vivado successor to RapidSmith. Released Jan 4, 2017.
Other
41 stars 13 forks source link

Include intrasite routing commands in TCP #351

Closed DallonTG closed 5 years ago

DallonTG commented 6 years ago

Currently, the TCP format does not include any commands to manually set intrasite routing. This information was not previously included for the following reasons:

  1. Vivado crashes when you set the SITE_PIPS property for IOB33 sites (in addition to setting the PACKAGE_PIN property). A service request was sent to Vivado, but this bug still occurs at least as of version 2017.3.

  2. Vivado is able to set a valid intrasite configuration automatically for sites based on the first wire used in an intersite route in conjunction with the other cells/nets in a site.

  3. Adding intrasite routing information to a TCP may increase import time.

However, the need to manually set intrasite routing can still come up in some scenarios. I have created a branch that includes code that creates the necessary TCL commands to set the intrasite routing for sites in the routing.xdc. This relies on the pipInValues data structure in CellDesign.

I have already been using this code, but we need to do some more tests (make sure no other site types cause Vivado to crash, etc.), possibly add a couple of helper methods, and update the documentation before integrating this into the master branch.

DallonTG commented 5 years ago

See #363