![]() |
|
![]() |
|
Answers Database
2.1i Virtex Map/PAR - Map and PAR issues related to Virtex Carry chains
Record #7243
Product Family: Software 2. Carry logic can also be "packed" into a macro which can also lead to a partially RLOC'd carry chain. Packing occurs when the mapper pulls logic into a slice because it either drives or is driven by other logic that is already in the slice. In the case of Virtex carry logic, this will likely only occur when there is a LUT that drives the carry logic from a slice with non-utilized carry circuitry. One way to avoid this problem would be to construct macros with buffered outputs for "at risk" slices, with a KEEP property on the net driving the buffer. The buffer should be pushed forward so that no delay is added to the path. No change is planned to the map software for this issue, because the packing behavior involved is generally necessary. 3. Cases have also been seen where the end of an RLOC'd carry chain has been trimmed as unused, leaving a non-RLOC'd XORCY component at the end of the carry chain. The non- RLOC'd XORCY ends up in a slice component that is separate from the rest of the macro, resulting in a partially RLOC'd carry chain that PAR can not align. The work around is to add an RLOC property to the XORCY instance so that it stays in the RPM. UCF example: INST "XORCY_NAME" RLOC=RXCY.S0 ; 4. Cases have been seen where customers have chained macros together so that a single carry chain spans multiple macros. PAR can not currently align the macros, so routing and timing issues are likely. The solution is to either LOC the macros to specific sites or reconstruct the logic into a single macro. Solution 1: Long Term Solutions: The first 2.1i service pack will contain a change that addresses the merging issue, solving case 1. Case 2 will remain an issue, but can be avoided by constructing macros to avoid the problem. The first major release (as yet unnamed) following 2.1i will contain a change to the placer algorithm so that partially RLOC'd carry chains can be aligned. This will address cases 3&4, but will not help case 2 if map has packed a carry element into a slice in the middle of a macro. End of Record #7243 - Last Modified: 09/01/99 18:10 |
| For the latest news, design tips, and patch information on the Xilinx design environment, check out the Technical Tips! |