Chapter 5, Clocking, Table 19: crystals/oscillators on the board – Achronix Speedster22i HD1000 Development Kit User Guide User Manual
Page 52: Sdk1000 clocking, Chapter 5 – clocking

52
UG034, July 1, 2014
Chapter 5
– Clocking
In this chapter you will learn about the crystals and oscillators on the board. These provide
the inputs to the clock synthesizers or the HD1000 clock banks to generate all the frequencies
required to implement the system level functions. You can also drive some of the clocks from
external sources using the relevant interface or through the SMA connectors.
Table 19 shows all the crystals on the board and their functions.
Table 19: Crystals/Oscillators on the Board
Crystal/Oscillator
Frequency (MHz)
Function
Y6
25
Banks NW & SW (20
– 600 MHz, LVDS)
Y5
Y2
25
Clocks for Interlaken-1 Clock synthesizer,
SerDes North (30
– 350 MHz LVPECL)
Y1
Y4
16
Microcontroller Clock
Y7
25
PCIe Clock
Y3
16
Drives PLL_CLK_16MHz input to HD1000
(PLL South East, Pin P38)
You can use the seven crystals on the board to synthesize all the reference clocks for the
system. Four of these (Y6, Y5, Y2, and Y1) are connected to IDT Femtoclock, ICS843034
devices (U102 and U19). The multipliers of these clock synthesizers can be dynamically
adjusted using DIP switches: SW1/2/5 for U19 and SW12/13/14 for U102 respectively.
U102 provides 20 – 600 MHz LVDS outputs that are used by the North East and South West
HD1000 FPGA General Purpose IO (GPIO) Banks. This clock synthesizer’s DIP switches are
configured by default to produce a 100MHz clock as input to the GPIOs. While the clock
synthesizer has a large output clock frequency range, it is recommended that the synthesizer
generate a frequency in the 62.5MHz to 200MHz range, and that a PLL internal to the FPGA
be used to further multiply, clean or introduce phase offset to generate a clock that will
ultimately be used to feed the FPGA fabric. Table 20 below highlights a set of predetermined
DIP switch settings that can be used to have the clock synthesizer produce the desired output
clock frequency to feed the FPGA.
Bear in mind that the clock synthesizer generates a differential clock signal that needs to be
terminated at the pad using a 100Ohm resistor. So the correct macro to use for an incoming
differential clock from the synthesizer to output a single ended clock which would then be
fed into a PLL or to the clock network and fabric, would look something like the following:
IPAD_DIFF #(
.odt(“on”),
.termination(“100”)
) synth_clk_pad (
.pad(synth_clk_p),
.padn(synth_clk_n),
.dout(synth_clk)
);