This PR contains several changes that were made to make routing (with RSVRoute) and Maverick easier. Many of the changes are very small, but there are two I'll highlight here:
StaticResourcesInterface: Revamped the used site route-throughs import process to process not just the reserved sites, but also the internal details of the site route-throughs (LUT route-throughs and site PIPs).
Added a pseudo cell handler to the Vivado Interface package. This class contains methods to add pseudo vcc pins that are implied by certain placement situations. Additionally, this class contains methods that create pseudo cells for all route-throughs, VCC source LUTs, and GND source LUTs; these are necessary because a LUT6 BEL can be used as a route-through and the corresponding LUT5 BEL can be used as a static source; this case requires a pseudo VCC pin, but a pseudo pin needs a cell to attach to. There is some duplication of efforts going on here since the code that was handling LUT route-throughs and static source LUTs has not been removed. Once this PR is merged, I'll make an issue about this.
I am making this PR in preparation for the Maverick repo.
This PR contains several changes that were made to make routing (with RSVRoute) and Maverick easier. Many of the changes are very small, but there are two I'll highlight here:
StaticResourcesInterface: Revamped the used site route-throughs import process to process not just the reserved sites, but also the internal details of the site route-throughs (LUT route-throughs and site PIPs).
Added a pseudo cell handler to the Vivado Interface package. This class contains methods to add pseudo vcc pins that are implied by certain placement situations. Additionally, this class contains methods that create pseudo cells for all route-throughs, VCC source LUTs, and GND source LUTs; these are necessary because a LUT6 BEL can be used as a route-through and the corresponding LUT5 BEL can be used as a static source; this case requires a pseudo VCC pin, but a pseudo pin needs a cell to attach to. There is some duplication of efforts going on here since the code that was handling LUT route-throughs and static source LUTs has not been removed. Once this PR is merged, I'll make an issue about this.
I am making this PR in preparation for the Maverick repo.