Programmable Devices
CPLDs, FPGAs, SoC FPGAs, Configuration, and Transceivers
20638 Discussions

SRAM Controller on DE2-115 Cyclone IV E

Altera_Forum
Honored Contributor II
2,148 Views

I'm planning to use the SRAM to store a 640 x 480 image from the tv decoder output capture.. But I can't find any sample project that uses the SRAM Controller.v in order for me to perform sequential writing (one pixel per address) and sequential reading for the display after further processing..can someone help/give some link/site where can help me to understand the operation of the SRAM controller?

0 Kudos
5 Replies
Altera_Forum
Honored Contributor II
937 Views

The "DE2_115_NIOS_DEVICE_LED" example that comes on the DE2-115 support CD has a good example of how to use the SRAM. 

 

I suggest you copy what you need from that. However, if you do want to use more of that example project you'll need to migrate the design for newer versions of Quartus. Refer to 'an 632: sopc builder to qsys migration guidelines (https://www.element14.com/community/servlet/jiveservlet/downloadbody/30391-102-6-251604/altera.application_notes_6.pdf)' for details. 

 

Cheers, 

Alex
0 Kudos
Altera_Forum
Honored Contributor II
937 Views

That means i have to use Nios right? Is there a way for me to use the SRAM without using Nios? I'm kind of not familiar with C

0 Kudos
Altera_Forum
Honored Contributor II
937 Views

No, you certainly don't have to use Nios to put the SRAM to use. You can write your own interface to do so. 

 

--- Quote Start ---  

But I can't find any sample project that uses the SRAM Controller.v 

--- Quote End ---  

 

SRAM doesn't need a 'controller' in the same way the SDRAM does. Present an address & data and strobe the data in (using WE & CE). Alternatively, present an address and activate CE & OE to get the data out. 

 

This memory interface tutorial (https://www.google.nl/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&uact=8&ved=0ahukewjlg9_4ln7kahwdtbqkhv1ibwiqfggfmaa&url=http%3a%2f%2fece.wpi.edu%2f~rjduck%2fverilog%2520memory%2520module%25207.pdf&usg=afqjcneszzvqt4gxd-6cu6wglui8groflw&bvm=bv.113370389,d.d24) discusses accessing SRAM and has some useful timing diagrams along with an SRAM verilog model. The 'Simplified Read/Write Operation' figures (pages 14/15), along with the waveform simulation on the last page should, I hope, clarify what signals you need to generate as part of your interface. 

 

Cheers, 

Alex
0 Kudos
Altera_Forum
Honored Contributor II
937 Views

How can i perform sequential reading of the data i stored? Like having the data from address 0 to last address to be displayed in my vga? I tried it but the VGA is displaying either a black or white image

0 Kudos
Altera_Forum
Honored Contributor II
937 Views

Providing you've presented an address and activated CE & OE (typically by driving them LOW), you can read in the data from the SRAM - providing you wait the required time for the data to be valid (see the datasheet for the SRAM). You can then present the next address (sequential or otherwise), leaving CE & OE active, to recover the data corresponding to that address. True, Random access. 

 

If this is what you've done, and you're not getting what you expect on your display, then I'd question whether you've written in what you expect or whether you have a problem somewhere else in your code. 

 

Cheers, 

Alex
0 Kudos
Reply