全栈数字 IC 设计记录
(1)为什么不同的 IP 需要大量的不同的时钟源?
🆔 第 1 部分 引言
在一款 SoC 设计中,是由非常多的不同的 IP 构成的,可以是 CPU,NPU,DDR,接口,算力,视频,编解码等等组成的,不同的 IP 需要不同的时钟源,且需求量是巨大的,因此,SoC 的时钟设计也是非常复杂的,需要考虑的场景也是非常多的,那么,为什么不同的 IP 需要大量的不同的时钟源?
NOTES:本文来自《全栈数字 IC 设计记录》技术专栏
🆔 第 2 部分 正文
不同的 IP 需要不同的时钟源,具有如下的几点原因:
这是 IP 设计本身的需求
:比如传输不同的视频分辨率不同的视频帧率的像素时钟是不一样的,传输不同的音频采样率的采样时钟也是不一样的这是 IP 追求的性能导致的
:比如高性能的 CPU 通常需要跑 1GHz 以上才能够满足其应用场景,而 UART,IIC 只需要几十兆即可这是 IP 的物理实现导致的
:比如 IP 之间以及 IP 之内的关键路径是非常错综复杂的,一个较长的关键路径就成为了时钟设计的短板,为了达到较高的时钟频率以及较好的时序约束,就需要针对不同的关键路径区域,来划分不同的时钟域这是实际 SoC 产品限制的
:由于 SoC 的晶振有限且频率单一,需要通过单一的晶振分频出大量的不同的时钟频率,有些频率可能无法倍频出来,就需要以较为接近的频率来替代这是由于 IP 的特殊设计导致的
:比如一个 IP 需要一个时钟及其二倍频时钟,来完成上采样,就需要提供这样的两个同步时钟
🆔 第 3 部分 补充
由于 IP 的时钟源需求较多且较为不同,因此不仅对 SoC 的时钟设计带来的较大的压力,同时对于 IP 内部的跨时钟域设计也带来的压力
设计者要重点关注跨时钟域之间信号的交互,合理完成跨时钟域的处理,这里的原则就是:寄存器的输入信号 D 的变化时间要满足该寄存器的建立时间保持时间,即 D 应该在寄存器的 CLK 的时钟域内变化,可控
© 新芯设计