BUFG is the global buffer. Its input is the output of IBUFG. The clock delay and jitter of the output of BUFG to the IOB, CLB, and Block Select RAM inside the FPGA are minimal.
For some high fan-out signals, the unused global clock buffer and the second global clock resource can be used to improve the performance of the design, thereby increasing the working speed of the device. As part of the high-performance resources of logic devices, it should be fully functional. In the formula for calculating Fmax, we actually missed the clock skew and clock jittter. Because the phases of the clocks of these two registers are different, the theoretical maximum operating frequency should be: Tskew may be positive or negative, so we usually use BUFG to drive the clock to minimize Tskew.
When the logic between the two flip-flops is too complicated and there are too many logic stages, it will have a great impact on the working speed of the device. The solution to this problem is to reduce the number of logic stages, that is, insert an intermediate flip-flop, thereby improving the working speed of the device, as shown in the figure. This is usually a means to increase the speed of logic operation, of course, the premise is not to change the logic function.
FPGA Spartan-XL Family 5K Gates 238 Cells 217MHz 3.3V 100-Pin VTQFP
CPLD CoolRunner -II Family 750 Gates 32 Macro Cells 323MHz 0.18um, CMOS Technology 1.8V 44-Pin PLCC
CPLD CoolRunner -II Family 750 Gates 32 Macro Cells 200MHz 0.18um, CMOS Technology 1.8V 56-Pin CSBGA
CPLD CoolRunner -II Family 750 Gates 32 Macro Cells 200MHz 0.18um, CMOS Technology 1.8V 44-Pin PLCC