DDR2调试中的几个时钟的解释
1. MCB需要三个基本时钟
l MCB system clocks ,memory controller的工作作时钟 和external memory device的参考时钟。
l Calibration logic的工作时钟。
l User Interface ports的时钟,这个时钟可完全异步MCB system clocks 和Calibration clock 。由Command 和Data Path FIFOs 将User Interface port的时钟变换到internal controller logic的时钟。
2. 时钟连接
l system clock
PLL产生两路system clock,sysclk_2x and sysclk_2x_180,其频率为memory clock的两倍(对于667Mb/s的DDR2接口,system clock为667MHz)。在MCB的内部有2分频电路,因此MCB内部的memory clock为sysclk_2x的一半(对于667Mb/s的DDR2接口,memory clock为333MHz)。
l calibration related clock
mcb_drp_clk必须由PLL产生,并与sysclk_2x时钟域同步。calibration clock rate典型值为100MHz,通常不能低于50MHz。mcb_drp_clk可取sysclk_2x的8分频。
l user clock
User Interface ports侧的时钟包括pX_cmd_clk,pX_wr_clk,pX_rd_clk,这几个时钟的转换由MCB内部的FIFO完成。要利用好memory的有效带宽,user clock可以按下面规则设定。
例如,DDR3 800Mb/s的接口,memory clock = 400 MHz,8bit位宽的数据端口,每个时钟周期内传输16bit 数据(每个边沿8bit)。
对于64 bit位宽的user interface,user clock可设置为(16/64)× 400 = 100MHz。
3. Modifying the Clock Setup
在默认情况下,MIG工具生成的时钟模块infrastructure是假定输入时钟(CLKIN1 to the PLL)工作在memory clock 频率。在不同的输入时钟下得到必要的MCB clock,user or calibration clock,应当调整相应顶层模块的下列参数。
l Cx_CLKFBOUT_MULT
l Cx_DIVCLK_DIVIDE
l Cx_CLKOUT0_DIVIDE (for sysclk_2x)
l Cx_CLKOUT1_DIVIDE (for sysclk_2x_180)
l Cx_CLKOUT2_DIVIDE (for user clock)
l Cx_CLKOUT3_DIVIDE (for calibration clock)
文章评论(0条评论)
登录后参与讨论