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

local_size in DDR2

Altera_Forum
Honored Contributor II
998 Views

Hi, 

 

I can pulse data through the DDR2 (native) controller, but I wonder if I can do burst reads and writes. 

 

While looking at the diagram on the DDR and DDR2 Compiler User Guide, I see in the diagram on Pg 26 (3-13) that they can request writes of sizes 1,2 and 4. I understand that for the DDR2 I can request bursts of atmost size 2. So for this I should set local_size to 2 in the DDR2 driver. 

 

* local_size is a 1 bit bus. So how can I set it to size 2?  

* Maybe the answer is:  

Set to 1: local_size = 1 

Set to 0: local_size = 2 

(Or the other way around) 

* I tried doing above, but wdata_req stays high only for 1 clock cycle 

 

Any pointers? :( 

 

~FPGAkitty~
0 Kudos
2 Replies
Altera_Forum
Honored Contributor II
203 Views

Hi, 

 

Since local bus width is twice as much as ddr2 bus width, the local size is half of ddr2 burst length. So if you set burst length as two in the megawizard, local size is always one. Then the bit width of local size is one. Setting burst length as four, you can choose one or two for local size. 

 

Thanks
0 Kudos
Altera_Forum
Honored Contributor II
203 Views

 

--- Quote Start ---  

the local size is half of ddr2 burst length 

--- Quote End ---  

 

 

If you look at the attached jpeg, the memory burst length is 4. So local burst length should be 2, and local_size should be a 2 bit signal? But it is not so in the verilog the Megafunction generates. 

 

Thanks, 

~FPGAkitty~
0 Kudos
Reply