Forum Discussion

Altera_Forum's avatar
Altera_Forum
Icon for Honored Contributor rankHonored Contributor
15 years ago

NIOS/Qsys/PIO question.

I'm very new to Qsys and the NIOS II processor in general. I'm trying to learn my way around with simple projects.

My initial system has 3 on-chip RAM, 1 NIOS processor, and a clock PLL. One instruction memory, one data memory, and a test memory. I wrote some simple C code to read and write to the test memory, I simulated it and it works great.

I wanted to actually implement this on an Altera starter board with a cyclone III. So that I could actually see what is going on, I added a PIO module that I connect to the LED pins on the board. Every time the test loop repeats, the PIO should turn the LED pins on or off.

This didn't work, so I decided to simulate the system again with the PIO attached. The sim fails badly. Most of the output pins on the PIO are stuck at don't care, and after running for a few ns the d_read signal on the NIOS drops to don't care and the sim fails. The wait request signal on the NIOS also goes to don't care.

I don't understand how simply adding a PIO module can cause the NIOS to act up. Why would the NIOS d_read signal stop working? It doesn't make any sense to me. The addressing seems ok. Even if the PIO is being selected (which it isnt) and it was outputting DC (which it is), the NIOS should still not have the d_read signal go to DC as well.

If I remove the PIO, the simulation works fine. Any thoughts? Thanks in advance!

1 Reply

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Hi,

    I've got a similar example. I use a design simple socket server.

    When I juste rename LED_PIO in LED_PIO_TEST in Qsys my design work badly.

    I don't know why so I return back to Sopc.