03-07-2012 08:14 AM
Hi guys, I currently had a problem switching to EDK 13.2 with a project I created in EDK 12.3.
I have a CPU design which i synthesized and then included (as ngc file) in another project. Usually the button "Generate Netlist" in XPS used to do exactly this, generate ONE NGC file which could then be used in another project.
Now in version 13.2, this project generates a netlist for every module that is beeing used (MPMC, xps_mch_emc, Clockgenerator,...).
What is the reason for this change and can i somehow configure XPS 13.2 to synthesize all information into ONE ngc like it used to do?
03-08-2012 04:43 AM
you should have a top level netlist file called <edk project name>.ngc in the implementation folder in your porject directory. Try a clean all and try generate the netlist again
03-08-2012 09:08 AM
This is indeed correct, a file "cpu.ngc" is generated. But for every single functionality, another ngc is created (sdram0_wrapper, ...). All these ngc's are then needed in the project that uses this CPU design.
In version 12.3 this was the case:
XPS generated an ngc file "cpu.ngc" that has 4 MB and includes all modules. No other netlists were needed in the projects that use this cpu.
In version 13.2 this is the case:
XPS generates an ngc file "cpu.ngc" that has 1,2 MB and a lot of other ngc for all modules. All these netlists are needed in the projects that use this cpu.
I tried cleaning the project, same thing happens again.
Another strange thing: In the MPMC module, i manually configured the location of the IDELAYCTRL primitives. This information was somehow forwarded to the top level in the old workflow.
Now, this information seems to not be stored in any netlist or ucf. I have to include this information in the ucf used in the top level design. Again, I see no reason why this should have changed?
I hope I stated the problem clearly, it's always a little complicated to think out of the box when beeing involved in the project.
03-28-2012 07:36 PM
Hi. I'm using XPS 13.1 and I noticed the same issue.
Is there a way to just create 1 .ngc? Wish to try instantiating ngc in ISE instead of EDK project.
If there is no way, how do I use the multiple NGCs in the ISE project? Thanks.
03-29-2012 06:17 PM
I know that at least back to edk 10.1, seperate wrapper ngc files were created. In fact, I believe this was also the case in the beginning at edk 3.1.
There are ways to create one ngc but I question why you would want to do it.
First off, why do you want to use a 'netlist' flow? ProjNav can include the system.xmp file in a project which triggers projNav to do all kinds of things including keeping hierarchy in check for support of the bmm file (used for data2mem).
If you are using planAhead, then yes, I understand why you want a 'netlist' flow for now :)
If you are using netlist flow in projnav, projnav is smart enough to search for the wrapper ngc files in the directory where system.ngc is located. So when you add system.ngc to a projnav project, make sure you don't let projnav 'copy' file file into projnav.
I don't believe planahead will automatically include the src dir of system.ngc when searching for the wrapper ngc files.
There are also other reasons why you don't want either planahead or projnav to 'copy' system.ngc into the project. One of those reasons is depending on the version of tool, a ncf file is created when constraints exist for the different wrapper ngc files and for system.ngc.
In either case, there is an option in ngdbuild to provide extra search directories. Both projnav and platgen support the option. I believe the option is -sd. So your ngdbuild should have an option something like '-sd ../edk/implementation'.
Now if you really want just a system.ngc with no wrappers, you will have to run ngdbuild in the implementation directory to merge all ngc, ngd, and edf files into one ngd file. You can either run this extra step manually, or use XPS's optional custom makefile flow where you would add the ngdbuild after synthesis of system.vhd
03-30-2012 02:56 AM
Thank you sir,
I guess i'll have to rethink my workflow then!
The missing IDELAYCTRL i was mentioning is indeed in the .ncf file.
Altough it's still kind of a mistery why 12.1 & 12.3 used to create only 1 ngc file...