03-30-2011 05:36 PM
Hello, folks. I'm experiencing an issue where if I instantiate a DCM on a Spartan 6 LX9 device, XST will terminate unexpectedly. If I remove the DCM, everything goes back to normal and works fine. This happens if I use the clocking wizard or also if I craft the DCM instance by hand. I'm hoping that someone might be able to shed some light. I tried this on two different machines in case one had a bad install of ISE 13.1, but they behave the same way.
The precise error:
INTERNAL_ERROR:Xst:cmain.c:3330:1.14 - Process will terminate. For technical support on this issue, please open a WebCase with this project attached at http://www.xilinx.com/support.
Process "Synthesize - XST" failed
Thank you for your time.
03-31-2011 07:19 AM
It sounds like XST 13.1 is not quite ready for prime time...
Do you have an installation of ISE 12.4 or earlier that you can build the
project on? It's possible that there is an error in the way you're hooking
up the DCM, but XST should give an error message rather than just
crashing. Perhaps another ISE version would shed some light on
03-31-2011 09:13 AM
I was hoping to avoid that, but alas you're probably right--that is likely all I can do if there is no obvious solution people already know about.
I've still got the installers for 12.1 through 12.4, so I'll reinstall 12.4 and see what happens.
03-31-2011 09:52 AM
It looks like everything is A-ok in 12.4. How could Xilinx miss something so important? Surely QA would have checked to see if people would be able to use DCMs and PLLs without XST outright crashing.
03-31-2011 09:56 AM
You might want to open a webcase, so that your design and background info can be logged for the SW team, for testing the next SW release.
-- Bob Elkind
03-31-2011 02:58 PM
Is there any way to approach this without being a company? Xilinx denied my application for the support system on the grounds that I'm not a business. *shrug* I guess only businesses are able to uncover huge, gaping bugs.
03-31-2011 06:41 PM
Offline the OP shared the source and identified the root cause of the INTERNAL_ERROR (aka crash). XST is failing due to the CLKFB input of the DCM tied to a logic 0. Eliminating this by connecting it to the CLK0 output allowed XST to finish synthesis.
I'm not sure if this is a valid DCM configuration in Spartan-6, but XST should at least exit with an appropriate general ERROR message if it is not valid. I wouldn't classify this as a "huge, gaping bug" or it would have been found much earlier. A bug report has been filed on this issue to get it fixed in a future release.