Makeucf is a Perl script that was designed to replace maketnm/addtnm from the older XACT software. This script can be used with an FPGA Compiler log file targeting an XC4000X family device to make a UCF file for constraining the design. The script is designed to list all the instance names of a design that can be constrained to ease the creation of point-to-point timing constraints.
To use Makeucf, you must include the following lines in your FPGA Compiler run script after running "replace_fpga" and before writing out the .sxnf file:
These commands will list all the input ports, output ports and registers in the design. Then run your Compiler script like so:
dc_shell -f run.script | tee view_command.log
The results of the above commands will be echoed on the screen and then sent to the view_command.log file. Next, run the perl file like so:
It will read the view_command.log and write all inputs and outputs using UCF syntax to inst.tnm. Use this file to add TNMs to instances. Hier.dat will also be created listing all the register instances. Cut and paste this information into your UCF file.
The Makeucf utility is available on the Xilinx FTP site in the following location:
Note: The only difference between this file and the original makeucf.tar.Z is that there has been one modification to the Perl script. The original script would read "run.log" and the new one will read "view_command.log". This change was made to match the instructions in Application Note XAPP107. If you already have the original Makeucf.pl, follow the directions above, but create "run.log" instead of "view_command.log".
The "Synopsys/Xilinx High Density Design Methodology Using FPGA Compiler" Application note (Xilinx XAPP107) contains more information about using Makeucf. More information about the app note is found in (Xilinx Solution 4490).