前面介绍了什么是时序约束,时序约束——1 什么是约束
接下来介绍全局时钟资源
FPGA器件的时钟信号源
一般情况下,FPGA器件内部的逻辑会在每个时钟周期的上升沿执行一次数据的输入和输出处理,在两个时钟上升沿执行一次数据的输入和输出处理,在两个时钟上升沿的空闲时间里,则可以用于执行各种各样的复杂的处理。如果一个复杂耗时的运算过程,可以切割成几个耗时较少的运算,在多个时钟周期完成。所以时钟信号是必不可少的。
FPGA器件的时钟信号源一般来自外部,通常使用晶振产生时钟信号。一些规模较大的FPGA器件内部都会有可以对时钟信号进行倍频或分频的专用时钟管理模块,如PLL或DLL。
全局时钟网络
由于FPGA器件内部使用的时钟信号往往不只是供给单个寄存器使用,因为在实际应用中,成百上千甚至更多的寄存器很可能共用一个时钟源,那么从时钟源到不同寄存器间的延时也可能存在较大偏差(我们通常称为时钟网络延时),而我们知道,这个时间差过大是很要命的。因此,FPGA器件内部设计了一些称之为“全局时钟网络”的走线池。通过这种专用时钟网络走线,同一时钟到达不同寄存器的时间差可以被控制到很小的范围内。
而我们又如何能保证输入的时钟信号能够走“全局时钟网络”呢?
有多种方式,对于外部输入的时钟信号,只要将晶振产生的时钟信号连接到“全局时钟专用引脚”上;
而对于FPGA内部的高扇出控制信号,通常工具软件会自动识别此类信号,将其默认连接到“全局时钟网络”上;