本文将回顾常见的 FPGA 资源,这些资源使我们能够在整个系统中有效地生成和分配时钟信号。 在许多情况下,我们需要生成新的时钟信号并在整个系统中有效地分配它们。 现代 FPGA 具有专用的时钟管理模块,使我们能够执行这两项任务。 在本文中,我们将首先简要回顾有效时钟分配和新时钟生成的问题。 然后,我们将看到现代 FPGA 的时钟管理模块可以轻松满足这两个设计要求。
1 高效的时钟分配
即使在小型数字设计中,时钟信号也可能分布到整个系统的数百个时钟元件。 这些高扇出时钟信号负责同步系统的不同子系统或组件。 这就是为什么我们需要特别注意时钟网络不同路径引入的延迟。 例如,考虑将时钟信号从节点 A 分配到节点 B 和 C,如下面的图 1 所示。 在该图中,时钟信号进入FPGA,经过缓冲器(图中的三角形),然后到达节点B的寄存器。该路径具有固有延迟,在波形中用Δb表示。 为了将时钟从 A 分配到 C,我们可以使用 PCB 走线而不通过 FPGA,但在图中,FPGA 中分配的时钟用于“板上的其他设备”。 该路径的延迟由Δc表示。 由于 Δb 和 Δc 通常不相等,因此节点 B 的寄存器和节点 C 的设备会看到略有不同的时钟; 应该具有对齐边沿的相同时钟之间的这种固定时间偏移称为时钟偏差。 我们可以看到,数字设计中的一个严重问题是以尽可能小的时钟偏差在系统中分配高扇出时钟信号。
|