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

ALTMEMPHY settings "memory clock frequency"

Honored Contributor II

What exactly is the meaning of the parameter "memory clock frequency" in the set-up page of the ALTMEMPHY??? 


The External Memory Interface Handbook says the following: 


--- Quote Start ---  


Determines the memory interface clock frequency. If you are operating a memory device below its 

maximum achievable frequency, ensure that you enter the actual frequency of operation rather than 

the maximum frequency achievable by the memory device. Also, ensure that you use three decimal 

points if the frequency is not a round number (for example, 333.333 MHz or 400 MHz) to avoid a 

functional simulation or a PLL locking issue. 


--- Quote End ---  

Well, that's confusing. Does "memory clock frequency" denote the frequency of a memory device, or the frequency on the I/O bus, which is the double of the memory device's frequency for DDR2??? 


For example, If I had a DDR2-800 whereas the device's clock was 200 MHz but the I/O bus clock was 400, which value would I enter in the parameter field of "memory clock frequency"? 200 or 400? 



Kind regards
0 Kudos
1 Reply
Honored Contributor II

Double data rate memories don't double the clock rate, they just use two samples during each clock cycle which effectively doubles the data rate. 


So if you use 333MHz memory (DDR667) then everything is clocked at 333MHz unless you choose the half rate controller which means the user (local) interface will operate at 167MHz while the PHY still operates at 333MHz. 


So your example of DDR2-800 means that the I/O and PHY operate at a 400MHz clock frequency. The local interface will operate in half-rate mode so that brings the clock frequency of the local interface down to 200MHz. So in terms of bandwidth everything is matched. If the memory device itself is 16-bit in width at DDR2-800 speeds, then the half-rate local side will be 64-bit and operate at 200MHz. To answer your question you would type 400MHz into the clock frequency edit box.