Altera_Forum
Honored Contributor
17 years agoGeneral question about DDR2 megafunction IP
Hello,
I am new to FPGA design and I need to use the DDR2 Megacore Controller. I read the user guide and other documentation i found but I don't understand everything... I have Altera PCI express board with 5 memory chips. - 4 x Micron MT47H32M16CC-3 : 32 Meg x 16 bits - 1 x Micron MT47H64M8CB-3 : 64 Meg x 8 bits So, my data bus is 72 bits width. I generate IP with megafunction wizard, I modify logic driver for the controler and I have successfuly make one write and one read in memory (data reads equals previously data writes, so good). I have two questions: - In the user guide, local_size can take many values (1,2,4,8). But in input of the controler, local_size is a single bit signal... How can it take a value different of 1 or 0 ?? - Address bus on the ddr2 controler is 23 bits width: local_addr[22..21] = local_bank_addr[1..0] local_addr[20..8] = local_row_addr[12..0] local_addr[7..0] = local_col_addr[9..2] (because of 4:1 data rate) I read micron chips datasheet (http://download.micron.com/pdf/datasheets/dram/ddr2/512mbddr2.pdf) but I don't understand how can i address all my memory with my local_addr bus ?? Are my 5 chips view as one single chip ? Can I adress lineary memories just like one memory ? What are the max values for my row_addr[12..0], local_col_addr[9..0] and local_bank_addr[1..0] ?? Really, I have difficult to understand functionnality. Thanks in advance for your help. Fabrice.