How to handle UCF file

Sep 16, 2006 3 Replies

How do other people handle this problem. The UCF file assemble requirements form two different areas: Things like timing and things like Pin assignments. Pin assignment needs to be generated from layout files and may change often. As I don't know of a way to include something in the UCF file, the UCF file needs to be carefully edited each time the pin assignment changes. If there would be a possiblity to include something in the UCF file, the pin assignment could be generated in a seperate file, the include in the UCF could point to that file and changes would get picked up automatically.


Uwe Bonnes bon@elektron.ikp.physik.tu-darmstadt.de Institut fuer Kernphysik Schlossgartenstrasse 9 64289 Darmstadt --------- Tel. 06151 162516 -------- Fax. 06151 164321 ----------

I generally merge the necessary parts by hand. I keep a version of the LOC directives for a particular board without any timing constraints, then add the timing constraints for any particular project using that part. Since we generally have printed circuit layout before the FPGA code is final, I don't usually have the issue of pinout changing for the same FPGA design, but I will have multiple FPGA designs for the same board layout.

One note. I NEVER use the GUI tools to create constraints. They totally screw up the UCF file. They re-arrange the pin order and remove comments. I ALWAYS save a backup copy of the UCF in case I unintentionally open the UCF with the GUI tools. This is easily done if you double-click the ucf file from the Project Navigator, instead of right click and selecting edit constraints (text).

Just My 2 cents Gabor

If you use a gnu make makefile (or script based build0, you can do this now, try something like:

mkdir -p ../bld/ rm -f ../bld/temp.ucf cat pinout.ucf core1.ucf core2.ucf timings.ucf > ../bld/temp.ucf cd ../bld/ && ngdbuild blah -uc temp.ucf blah blah

Phil Hays

cat pinout.ucf core1.ucf core2.ucf timings.ucf > ../bld/temp.ucf

cd ../bld/ && ngdbuild blah -uc temp.ucf blah blah

Now how did that "cd" get on the wrong line?? Code typo corrected.

Phil Hays

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required