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.
How to handle UCF file
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
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.
Join the Discussion
Have something to add? Share your thoughts — no account required.
Didn't find your answer?
Ask the community — no account required