3 On-Chip Oscillators

The PolarFire family offers two independent on-chip RC oscillators (2 MHz and 160 MHz) to generate free-running clocks. For information about the electrical characteristics of the on-chip oscillators, see the respective PolarFire FPGA Datasheet , RT PolarFire FPGA Datasheet , PolarFire SoC FPGA Datasheet , or RT PolarFire SoC FPGA Datasheet .

On-chip oscillators are powered by device core supply VDD. They do not have any I/O pins and do not require external components for their operation.

Important:
  • The 2 MHz RC oscillator must not be used as the reference clock for PLLs. For better PLL input jitter immunity, the 160 MHz RC oscillator can be used. However, the usage of on-chip RC oscillators is intended for non-precision clocking applications. For RC oscillator frequency accuracy specifications, see the respective PolarFire FPGA Datasheet , RT PolarFire FPGA Datasheet , PolarFire SoC FPGA Datasheet , or RT PolarFire SoC FPGA Datasheet .
  • The on-chip oscillators are always running irrespective of whether they are used in the design or not. They cannot be disabled. Instantiating the on-chip oscillators makes the clock ports accessible. When they are not instantiated, the clock ports are inaccessible.

The on-chip oscillators' clocks are connected to the global clock network, clock dividers, and NGMUXs through hardwired routing. The on-chip oscillator clocks are used as CCC reference clocks through the global clock network. The on-chip oscillators are located at the lower left corner of the device, see Figure   1.

The following figure shows the RC oscillators configurator.

Figure 3-1. RC Oscillators Configurator

The following table lists the configurator ports of RC oscillators.

Table 3-1. RC Oscillators Configurator Ports
PortsDescription
RCOSC_160MHZ_GLThis port is used to drive the 160 MHz oscillator output to a global buffer.
RCOSC_160MHZ_CLK_DIVThis port is used to drive the 160 MHz oscillator output to a Clock Divider present in the Interface Clock Block (ICB).
RCOSC_160MHZ_NGMUXThis port is used to drive the 160 MHz oscillator output to a NGMUX present in the ICB.
RCOSC_2MHZ_GLThis port is used to drive the 2 MHz oscillator output to a global buffer.
RCOSC_2MHZ_CLK_DIVThis port is used to drive the 2 MHz oscillator output to a Clock Divider present in the ICB.
RCOSC_2MHZ_NGMUXThis port is used to drive the 2 MHz oscillator output to a NGMUX present in the ICB.