cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Scholar
Scholar
3,521 Views
Registered: ‎08-14-2007

MMCM feedback with BUFG

Jump to solution

Hi,

 

I have a design where the tool decides to put a BUFG in the MMCM, specifically a feedback between the output CLKBOUT and the input CLKBIN

MMCM_bufg.png

do you know why is necessary a buffer here? and why in another similar feedback there is no buffer on it, what is the rule to the tool decide to place a buffer on that feedback?

 

 

0 Kudos
1 Solution

Accepted Solutions
Guide
Guide
5,900 Views
Registered: ‎01-23-2009

Re: MMCM feedback with BUFG

Jump to solution

The BUFG on the MMCM feedback path is to provide the reference delay for the MMCM to cancel out the clock insertion.

 

The MMCM works to keep CLKIN1 and CLKFBIN in phase. If you are using (say) CLKOUT0 through a BUFG to drive flip-flops, you now have two BUFGs connected to MMCM outputs. These two BUFGs (and the global clock network behind them) are very similar (almost identical) - therefore the delay through one BUFG is very similar to the delay through the other. By keeping CLKFBIN and CLKIN1 in phase, the MMCM is effectively adding a "negative delay" that cancels all the delay on the BUFG and clock network. This means that the clock at any flip-flops driven by the BUFG on CLKOUT0 will effectively be phase matched to CLKIN1.

 

So you need this BUFG any time you care about the phase of the internal clock with respect to the phase of the input clock. This can be critically important if the input clock comes from a pin, and there are input or output interfaces that have required timing with respect to that clock pin.

 

If you don't care about the phase of the internal clock (i.e. it is purely internal), then you can omit the BUFG and drive CLKFBIN directly from CLKFBOUT.

 

Note: Even though the wizard doesn't allow this, if you need an internal clock that is the same frequency as your input clock, it is legal to clock flip-flops on the output of the BUFG connected to the CLKFBOUT port of the MMCM.

 

Avrum

View solution in original post

1 Reply
Guide
Guide
5,901 Views
Registered: ‎01-23-2009

Re: MMCM feedback with BUFG

Jump to solution

The BUFG on the MMCM feedback path is to provide the reference delay for the MMCM to cancel out the clock insertion.

 

The MMCM works to keep CLKIN1 and CLKFBIN in phase. If you are using (say) CLKOUT0 through a BUFG to drive flip-flops, you now have two BUFGs connected to MMCM outputs. These two BUFGs (and the global clock network behind them) are very similar (almost identical) - therefore the delay through one BUFG is very similar to the delay through the other. By keeping CLKFBIN and CLKIN1 in phase, the MMCM is effectively adding a "negative delay" that cancels all the delay on the BUFG and clock network. This means that the clock at any flip-flops driven by the BUFG on CLKOUT0 will effectively be phase matched to CLKIN1.

 

So you need this BUFG any time you care about the phase of the internal clock with respect to the phase of the input clock. This can be critically important if the input clock comes from a pin, and there are input or output interfaces that have required timing with respect to that clock pin.

 

If you don't care about the phase of the internal clock (i.e. it is purely internal), then you can omit the BUFG and drive CLKFBIN directly from CLKFBOUT.

 

Note: Even though the wizard doesn't allow this, if you need an internal clock that is the same frequency as your input clock, it is legal to clock flip-flops on the output of the BUFG connected to the CLKFBOUT port of the MMCM.

 

Avrum

View solution in original post