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

System not working when SDRAM Controller on Databus

Jardi
Beginner
561 Views

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.

Jardi_0-1634630789170.png

 

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!

 

0 Kudos
1 Solution
Jardi
Beginner
442 Views

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

View solution in original post

0 Kudos
2 Replies
AnilErinch_A_Intel
491 Views

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


0 Kudos
Jardi
Beginner
443 Views

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

0 Kudos
Reply