Forum Discussion

Jardi's avatar
Jardi
Icon for New Contributor rankNew Contributor
4 years ago
Solved

System not working when SDRAM Controller on Databus

I'm creating a system on Cyclone 10 with a RISC-V Processor from Vectorblox (orca-1) . The idea is to have a Bios on the onchip memory, which initialises a serial connection (UART). This serial connection should then be used to store the actual program into the SDRAM.

First I've made a system only with the onchip memory and the serial connection, which worked fine. The odd thing is, as soon as I add the SDRAM Controller, the system is not working anymore. If I remove the Controller from the data Bus, the systems is working again.

To me this doesn't really makes sense. Does anyone have an idea what could cause this problem?

I'm using Quartus 18.1.

The RGB_Array is a custom IP-Block I've made. As I thought this would might be a potential source of the problem, I've disconnected it. Anyway this was not helping.

Update:

I still can synthesize the whole system and download it. Anyhow it seems like the Bios is not executed. But it is hard to say at which point the system fails, since I have no possibility yet to debug the software. Currently I'm using the RGB_Array for displaying states, but all LEDs stay off.

Thanks in advance for your efforts!

  • Hello Anil

    Thanks for you reply!

    At the end it turned out, that the default start up code did not initialized the stack pointer properly. I implemented my own startup code, where I initialized the stack pointer so it points to the correct location. After that the system worked as desired.

    Sorry for not updating my post.

    Marc

2 Replies

  • AnilErinch_A_Intel's avatar
    AnilErinch_A_Intel
    Icon for Frequent Contributor rankFrequent Contributor

    Hi Jardi,


    Thanks for contacting Intel support.

    Since this is a custom design , please let us know when you added the SDRAM controller and custom RGB IP , and compiled the whole design whether timing closure has been achieved , where there any warnings thrown up by the Quartus compiler?

    Please let us know.


    Thanks and Regards

    Anil


  • Jardi's avatar
    Jardi
    Icon for New Contributor rankNew Contributor

    Hello Anil

    Thanks for you reply!

    At the end it turned out, that the default start up code did not initialized the stack pointer properly. I implemented my own startup code, where I initialized the stack pointer so it points to the correct location. After that the system worked as desired.

    Sorry for not updating my post.

    Marc