I am very new to system design so I apologize if I am missing something here.
I have set up my Cyclone V FPGA to run the De1-SoC Computer included with University Program, and I have Monitor Program installed to run some sample Assembly code on the HPS, which takes the output of the FPGA switches and represents them on the LED's, either on or off depending on the switch setting.
I am now experimenting with adding new PIO components in platform designer to use these with my program. Basically, I made a copy of the De1-SoC computer, and added a duplicate LED PIO component, with what seems to be all the necessary connections and memory addresses. I added this component to the system in Platform Designer, edited the memory addresses, generated HDL, went to my top level design, added the new .qip file, edited my top level design file to assign the LED's to the new LED PIO component over the old, compiled this code to generate the .sof file, which was successful. Then, I went to the monitor program, downloaded the system from the new .sof file, edited my code for the LEDs to use the new memory address of the new PIO LED component, and loaded and compiled my code.
However, when running my code, as I flip the switches the LED's do not respond.
Going back and reassigning the LED's in my top level design to the original PIO LED component, and of course changing my monitor program to use the original PIO LED component memory address, results in the switches and LED's responding as expected.
What am I missing here for my new PIO component to work?
I've included screenshots of the memory addresses, the code I changed in my top level design, assembly code, etc.
Note: LEDs_0 is my new pio, LEDs_1 is the original (in pictures)
- Cyclone® V FPGAs