206 www.xilinx.com Development System Reference Guide
Chapter 11: PIN2UCF
R
The following figure shows the flow through PIN2UCF.
The PIN2UCF program is used to back-annotate pin-locking constraints to the UCF from a
successfully placed and routed design for an FPGA or a successfully fitted design for a
CPLD.
PIN2UCF extracts pin locations and logical pad names from an existing NCD or GYD file
and writes this information to a UCF. Pin-locking constraints are written to a PINLOCK
section in the UCF. The PINLOCK section begins with the statement #PINLOCK BEGIN
and ends with the statement #PINLOCK END. By default, PIN2UCF does not write
conflicting constraints to a UCF. Prior to creating a PINLOCK section, if PIN2UCF
discovers conflicting constraints, it writes information to a report file named pinlock.rpt.
The pinlock.rpt file has the following sections:
• Constraints Conflicts Information
This section has the following subsections. If there are no conflicting constraints, both
subsections contain a single line indicating that there are no conflicts.
♦ Net name conflicts on the pins
♦ Pin name conflicts on the nets
Note:
This section does not appear if there are fatal input errors, for example, missing inputs or
invalid inputs.
• List of Errors and Warnings
This section appears only if there are errors or warnings.
User-specified pin-locking constraints are never overwritten in a UCF. However, if the
user-specified constraints are exact matches of PIN2UCF generated constraints, a pound
sign (#) is added in front of all matching user-specified location constraint statements. The
pound sign indicates that a statement is a comment. To restore the original UCF (the file
without the PINLOCK section), remove the PINLOCK section and delete the pound sign
from each of the user-specified statements.
Note:
PIN2UCF does not check if existing constraints in the UCF are valid pin-locking constraints.
Figure 11-1: PIN2UCF Flow
PIN2UCF
NCD
(Placed and Routed -- For FPGAs)
or
GYD
(Pin Freeze File -- for CPLDs)
UCF FileReport File
X8629