NIOS II Application startup issues

R

Rob

Hello,

I am having a very strange problem with NIOS II not running a specific
application.


We are using DDR memory running at 100MHz on a Cyclone II FPGA. The
memory was setup in SOPC builder.
The clock looks good going to memory on the PCB. We have tested memory
and we have seen an issue but yet we can see out to 128Megs (on all
boards)

The application downloads to DDR and verifies.
The application seems to start to run but then stops at the same
address (I believe).

We can get the application to run some what reliably on one board but
not the other 6 boards we have.
One board would run the application some of the time. It seems that it
stops working when I add something new to the FPGA design.

We have written a smaller application and it works everytime out of DDR
memory.

Our first run of boards never had this problem. We saw something at
the beginning when we were bringing up the second boards and
application wouldn't run. The way we corrected this was start a new
project then bring everything in again. After that we never saw any
problems until we started putting more in the FPGA.

I have looked at hardware, how Nios was setup, what is in Nios, the
clocks, the PLLs, how Quartus connects to the pins, etc.
I am not sure what to look at now.
Has anyone had a problem like this before and how was it fixed? Does
anyone have any other ideas?
We are currently running Quartus 6.1.

Thanks for any help.

Rob
 
M

Mike Treseler

Rob said:
I am having a very strange problem with NIOS II not running a specific
application.
We are using DDR memory running at 100MHz on a Cyclone II FPGA. The
memory was setup in SOPC builder.
The clock looks good going to memory on the PCB. We have tested memory
and we have seen an issue but yet we can see out to 128Megs (on all
boards)

Deal with the issue.
Every bit of the RAM has to work.
Run full walking ones then zeros tests
on all the address and data lines.
Put a scope on the memory and check for ringing and noise.


-- Mike Treseler
 
K

KJ

Rob said:
Hello,

I am having a very strange problem with NIOS II not running a specific
application.


We are using DDR memory running at 100MHz on a Cyclone II FPGA. The
memory was setup in SOPC builder.
The clock looks good going to memory on the PCB. We have tested memory
and we have seen an issue but yet we can see out to 128Megs (on all
boards)

Your symptoms seem to indicate a timing problem or signal integrity issue or
possibly a supply voltage issue (in that order would be my guess knowing
nothing else about your particular design). Verify that the actual PCB
delays on the board and the ddr part timings for the actual device match
what is in the DDR Controller settings using the MegaWizard and that you can
successfully run through the ddr timing verification TCL script that is (or
at least was) an output of SOPC Builder when you do the generate. That
script is supposed to verify that the ddr timing on the final routed FPGA
design is correct. Other things to look for are just the basic things
like....
- signal quality (are the nets properly termiated?)
- Supply voltages (any dips?)

If you haven't done so lately, peruse the ddr controller handbook again for
something that you may have overlooked in the design process.

As Mike suggested in his post, getting a simple memory test to walk 0 and 1
across the entire memory is an important test that absolutely must run
without fail before even bothering to use the memory for any application.

Kevin Jennings
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,995
Messages
2,570,233
Members
46,820
Latest member
GilbertoA5

Latest Threads

Top