FPGA Intellectual Property
PCI Express*, Networking and Connectivity, Memory Interfaces, DSP IP, and Video IP
6359 Discussions

EMIF Toolkit crashes with Megacore generated DDR3 "example design"

Altera_Forum
Honored Contributor II
995 Views

Hi all, 

 

The Altera Wiki has a nice article on generating a DDR3 interface ... 

 

http://www.alterawiki.com/wiki/design_example_-_basic_ddr3_uniphy_bring_up 

 

The design example pin assignments script is missing the DQ assignments, and a few SDC constraints, so I've creates scripts to fix those issues. (I'll update the Wiki once I resolve the EMIF issue). 

 

When I download this design to the Stratix IV GX Development Kit, start the SystemConsole External Memory Interface (EMIF) toolkit, and link to the design, SystemConsole crashes (Quartus II Internal Error). 

https://www.alteraforum.com/forum/attachment.php?attachmentid=8923  

 

EDIT: The last line in the console matches this KnowledgeBase entry: 

 

http://www.altera.com/support/kdb/solutions/fb115781.html 

 

The SystemConsole output does contain a warning about a missing .sopcinfo file, however, the IP was generated using the MegaCore flow (not Qsys or SOPC Builder), so that is no surprise! 

 

Its pretty lame that Quartus crashes, rather than generating a useful error message, but what is worse is that the design is Altera's MegaCore generated Example Design. I would expect that an example design should work! 

 

I've filed a Service Request with Altera, and will post the results. 

 

I've uploaded a zip file containing a readme.txt file with the sequence needed to reproduce the issue, along with screen shots of the failure. 

 

The crash is reproducable under 13.1 and 12.1 (I did not check other versions). 

 

Help? :) 

 

Cheers, 

Dave
0 Kudos
1 Reply
Altera_Forum
Honored Contributor II
260 Views

Update: 

 

Going through the standard debug procedure of "check power, then check clocks", I found that the 100MHz clock source DIP switch had been changed to the external SMA connector, i.e., there was no 100MHz clock. Switching the DIP switch back to select the on-board 100MHz oscillator "fixed" the crash, allowing the EMIF link to be established.  

 

I'd argue this would be a typical user error, so SystemConsole should not crash! 

 

I'm now running various EMIF reports. Once I understand what I'm looking at, I'll add some notes to the Wiki page. 

 

Cheers, 

Dave
0 Kudos
Reply