FPGA, SoC, And CPLD Boards And Kits
FPGA Evaluation and Development Kits
Announcements
Intel Support hours are Monday-Fridays, 8am-5pm PST, except Holidays. Thanks to our community members who provide support during our down time or before we get to your questions. We appreciate you!

Need Forum Guidance? Click here
Search our FPGA Knowledge Articles here.
5241 Discussions

read data from SSRAM on cyclone III

Altera_Forum
Honored Contributor II
785 Views

Hi, 

I am trying to read a bunch of data from SSRAM (IS61LPS25636A)) on Cyclone III, which is 256k*32 bit in size. However, from the board manual, there are 32 data bits, 21 address bit (should be 18 bits for 256k), Does anybody know this problem? 

I tried to use this following code to read singe data from single address, but I can only read the address 00000h, even I change the address value, the output is still the vaule at 00000h? 

Does anybody have this code to reach this memory? I appreciate it very much if you could share your code or give some suggestions? Thanks. 

 

In addition, I tried to follow the datasheet of this memory, but it is hard to understand its operation, especially 'burst read'. pleaseeeee help. you could find the datasheet here 

http://www.issi.com/pdf/61vps_lps25636a_51218a.pdf 

and the manual for this board here 

http://www.altera.com/literature/manual/rm_ciii_starter_board.pdf 

 

 

module mem_read( 

ssram_clk, 

reset_n, 

ssram_adsc_n, 

ssram_bw_n, 

ssram_bwe_n, 

ssram_ce_n, 

flash_ssram_a, 

flash_ssram_d, 

ssram_oe_n, 

test_led  

); 

input ssram_clk; 

input reset_n; 

output wire ssram_adsc_n; 

output wire [3:0] ssram_bw_n; 

output wire ssram_bwe_n; 

output wire ssram_ce_n; 

output wire [22:2] flash_ssram_a; 

input [31: 0] flash_ssram_d; 

output wire ssram_oe_n; 

output reg [3:0] test_led; 

assign ssram_adsc_n=1'b1; 

assign ssram_bw_n=4'b1111; 

assign ssram_bwe_n=1'b1; 

assign ssram_ce_n=1'b0; 

assign flash_ssram_a=21'b011111111111111110000; 

assign ssram_oe_n=1'b0; 

always@(posedge ssram_clk, posedge reset_n) 

begin 

if (reset_n) 

test_led <=4'b0; 

else 

test_led <=flash_ssram_d[31:28]; 

end 

endmodule
0 Kudos
0 Replies
Reply