问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

DDR4时钟架构设计指南:从基础配置到系统时钟分配

创作时间:
作者:
@小白创作中心

DDR4时钟架构设计指南:从基础配置到系统时钟分配

引用
CSDN
1.
https://blog.csdn.net/LQIWAN/article/details/139987687

在使用DDR4 IP核进行硬件设计时,时钟架构是一个关键环节。DDR4 IP核对时钟有特殊要求,既可以使用差分时钟,也可以使用无缓冲的单端时钟。本文将详细介绍DDR4时钟配置方法,并探讨如何在满足DDR4时钟要求的同时,为其他模块生成不同频率的时钟。

DDR4时钟配置

使用DDR4 IP核时,时钟架构的设计至关重要。DDR4 IP核支持两种时钟输入方式:差分时钟和无缓冲的单端时钟。在IP核的配置界面中,用户可以根据实际需求进行选择。

如果选择差分时钟输入,可以直接将差分时钟信号连接到硬件的差分端口。对于无缓冲的单端时钟,可以使用差分转单端的原语进行转换。以下是差分转单端原语的具体实现代码:

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)
);

时钟分配与PLL使用

在实际设计中,系统往往需要多个不同频率的时钟信号。因此,通常需要使用PLL(锁相环)来生成所需的时钟频率。然而,DDR4对时钟质量有严格要求,PLL生成的时钟如果抖动不合格,编译过程中会直接报错。

更需要注意的是,不能直接使用DDR4时钟作为PLL的输入源,否则编译也会失败。从时钟树结构可以看出,从时钟管脚输入到DDR4之间不允许存在其他PLL或MMCM(混合模式时钟管理器)。

为了解决这一问题,建议将PLL放置在DDR4之后。具体来说,可以使用DDR4 IP核的ui_clk输出,或者在IP配置界面的"Additional Clock Outputs"中添加一个额外的时钟输出,然后基于这个时钟信号生成PLL。

这种设计方法既满足了DDR4对时钟质量的严格要求,又能够为系统中的其他模块提供所需的时钟信号。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号