使用DDR4时钟架构

描述

使用DDR4时钟架构

使用DDR4这个IP核时,时钟如何架构十分关键,DDR4 IP对时钟有特殊的要求,可以是差分时钟也可以是No buffer的单端时钟,在IP核的配置界面可以配置。如果选择的是差分时钟,可以直接与硬件的差分端口直接连接,如果选择的是No buffer,顶层输入的差分时钟利用差分转单端的原语转换成单端时钟即可。

IBUFDS IBUFDS_inst (

.O(O),   // 1-bit output: Buffer output

.I(I),   // 1-bit input: Diff_p buffer input (connect directly to top-level port)

.IB(IB)  // 1-bit input: Diff_n buffer input (connect directly to top-level port)

);

DDR4

但是,我们的时钟显然不能只给DDR4这个IP核使用,我们其他的模块也需要时钟,不同频率的时钟,因此,我们需要PLL生成我们需要的不同频率的时钟。但是DDR4对时钟要求很高,PLL生成的时钟质量抖动不合格,编译的过程中会直接报错。另外,我们用给DDR4的时钟去另外生成一个PLL也是不行的,编译时也会直接报错。通过下面的时钟树也能看出,从时钟管脚输入的时钟到DDR4 之间不能有其他的PLL或者MMCM,因此如果我们想要生成一个PLL,只能把PLL放在DDR4之后,我们可以使用ui_clk或者在IP配置界面的Additional Clock Outputs中输出一个时钟,用这个时钟生成PLL。都是血的教训啊!!!

DDR4

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分