- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I recently tried to implement the DDR2 high performance controller in a Nios System, but received some strange (Critical) Warning during compilation.
Now I tried it without Nios and generated the memory controller with the MegaWizard. I used the example driver as the top level entity. When I build the project I get the same (Critical) Warning again. see old thread http://www.alteraforum.com/forum/showthread.php?t=4160 I attached the archive of the project and would be very happy if somebody could take a look at it and tell me if I made a mistake or this is a problem with the IP core.Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
This is most likely because the fitter can't place the clock source for the PLL on an IO bank next to the PLL, because the IO standard of the clock_source pin is different to the rest of the IO bank.
Try changing clock_source to a 1.8v IO standard and see if that fixes things. Long term you'll want to look at the PLL clock routing and manually assign the DDR pins and the clock_source pin to different IO banks.- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
thanks cajun-rat for your fast reply!
I just checked the io standard assignment in the pin planer and it is set 1.8V. Where did you see that the io assignment isn't set to 1.8V?- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I suspect there is a reason why Quartus isn't placing clock_source near the PLL. One way to find out why is to manually place the PLL on the same side of the chip as your memory interface, then manually place the clock_source pin on one of the dedicated input pins that feed it (the Clocking and PLLs section of the Stratix III datasheet has the diagrams you need).
With this in place you will force the issue, and the compile will most likely fail with a big long warning, but in the end there must be some reason why it can't place the clock input pin in a sensible place. I suspect IO bank voltages, but it might be something else. Also: are the pnf_* signals and other non-memory interface signals placed out of the way? They might be what is stopping it working.- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page