This repo contains a hard IP for the Sky130 technology that can be used to manage the clocking and resetting for a simple SoC design (e.g., a small MCU).
This IP provides the following features:
- On-chip Power on Reset (PoR).
- External Reset Synchronization.
- Frequency Multiplier (x8) for external clock source.
- On-chip Ring Oscillator.
- Dynamic Clock Switching.
- Dynamic Frequency Scaling.
Port name | Direction | Type | Description |
---|---|---|---|
clk_ref | input | wire | External reference clock for the PLL |
xrst_n | input | wire | External Active-low reset |
pll_en | input | wire | PLL Enable |
sel_8mhz | input | wire | MUX0 Selection; 1:8MHz (Ring Osc), 0:MUX1 output |
sel_pll | input | wire | MUX1 Selection; 1:PLL Output, 0:Ring Oscillator variable output |
sel_rosc | input | wire [1:0] | Set the Ring Oscillator output frequency (0:128MHz, 1:64MHz, 2:32MHz, 3:16MHz) |
pll_trim | input | wire [1:0] | PLL trimming; fine-tune the internal oscillator, higher the value lower the frequency. |
clk_div | input | wire [1:0] | MUX0 output divisor (1/2/4/8) |
clk | output | wire | System Clock |
rst_n | output | wire | System Reset (Active-low) |
por_n | output | wire | Power on Reset (Active-low) |