06-10-2010 05:14 PM
Is there any way to specify multiple UCF files using the XPS-centric development flow? It doesn't appear to be possible to simply specify multiple UCF files in the .xmp file. Do I have to move away from the GUI flow and drop all the way down to xflow to make this happen? Or is there a way to magically specify multiple UCF files either via the XPS GUI or the .xmp file?
06-10-2010 07:30 PM
I think it is possible, but in a slightly more complicated way. Maybe I will just list the methods that I can think of here, and you can choose between them.
1. If you are just having multiple system-level constraints for your project (for example the same system targetting mutiple platforms), I think the easiest way would be to have multiple .xmp files each pointing to a different UCF file. As you know already, you can hand edit the .xmp file to specify a different UCF file.
2. If you are having mulitple UCF files each for different cores (like one for xps_ll_temac or other custom IPs), then I think the best way to do this would be to use the NGCBuild command to merge each UCF file to the core's netlist file. This is how MPMC does it. It has a TCL script that generates some additional constraints in Platgen and are used for the rest of EDK design.
An example command is as follows:
Command Line: C:\Xilinx\11_1\ISE\bin\nt\unwrapped\ngcbuild.exe -p
xc5vlx50tff1136-1 -intstyle silent -uc ddr2_sdram_wrapper.ucf -sd ..
If you have an example project that uses MPMC, you should find a separate UCF for the core at the following location:
<project folder>\implementation\<instantiation name>_wrapper\<instantiation name>_wrapper.ucf
3. (This is probably not what you need, but I also put it here for other people's information) If you have multiple EDK systems (i.e. multiple UCF's) and you want to instantiate them as submodules in ISE, this AR constain the instructions for how to do this.
Hope this will help you.
-Yan Shun Li