Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Altera_Forum
Honored Contributor I
717 Views

read data from SSRAM on cyclone III

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