K
KK6GM
Guest
Newb question: suppose I want to create a shift register that's
clocked from an external source (like an SPI slave device). My
impression (correct me if I'm confused) is that if the external clock
is slow WRT some other clock on the FPGA (e.g. a 1MHz external clock
and a 50MHz fast clock), I can sync both clock and data to the fast
clock and proceed from there, using the fast clock along with an edge
detected signal for further processing. The fast clock is mapped to
low-skew clock lines which are designed for the purpose, so things are
good.
But what if the clock is not slow WRT the fast clock? What if the
external clock is too fast to reliably sync with the fast clock? e.g.
a 20MHz clock and a 50MHz fast clock. In that case it seems that the
external clock needs to be used directly, but won't there be potential
clock skew problems using a regular input as a clock? I'd appreciate
insight on how such problems are dealt with, if indeed they are even
problems at all.
Mike
clocked from an external source (like an SPI slave device). My
impression (correct me if I'm confused) is that if the external clock
is slow WRT some other clock on the FPGA (e.g. a 1MHz external clock
and a 50MHz fast clock), I can sync both clock and data to the fast
clock and proceed from there, using the fast clock along with an edge
detected signal for further processing. The fast clock is mapped to
low-skew clock lines which are designed for the purpose, so things are
good.
But what if the clock is not slow WRT the fast clock? What if the
external clock is too fast to reliably sync with the fast clock? e.g.
a 20MHz clock and a 50MHz fast clock. In that case it seems that the
external clock needs to be used directly, but won't there be potential
clock skew problems using a regular input as a clock? I'd appreciate
insight on how such problems are dealt with, if indeed they are even
problems at all.
Mike