This IP is a frequency locked Loop (ring oscillator + controller). The ring oscillator is tunable and synthesizable. The resulting netlist cannot be simulated correctly due to lack of accurate timing in the digital cell verilog models.
You can either clone repo or use IPM which is an open-source IPs Package Manager
git clone https://github.com/efabless/EF_DLL_SKY130.git
ipm install EF_DLL_SKY130
Output goes to a trimmable ring oscillator (see documentation). Ring oscillator should be trimmable to above and below maximum ranges of the input.
Input "osc" comes from a fixed clock source (e.g., crystal oscillator output). Input "div" is the target number of clock cycles per oscillator cycle. e.g., if div == 8 then this is an 8X DLL.
Clock "clock" is the DLL output being trimmed.
The Ring oscillator has 13 stages, each with two trim bits delay (see above). Trim is not binary: For trim[1:0], lower bit trim[0] is primary trim and must be applied first; upper bit trim[1] is secondary trim and should only be applied after the primary trim is applied, or it has no effect.
Total effective number of inverter stages in this oscillator ranges from 13 at trim 0 to 65 at trim 24. The intention is to cover a range greater than 2x so that the midrange can be reached over all PVT conditions.
Frequency of this ring oscillator under SPICE simulations at nominal PVT is maximum 214 MHz (trim 0), minimum 90 MHz (trim 24).
Frequency of this ring oscillator measured on silicon is maximum 113.35 MHz (8.8ns) and minimum 50.25 MHz (19.9ns). The maximum and minimum rate equations are:
You can either clone repo or use IPM which is an open-source IPs Package Manager
git clone https://github.com/efabless/EF_DLL_SKY130.git
ipm install EF_DLL_SKY130
EF_DLL_SKY130
Vendor
Efabless
130nm
Skywater
External Oscillator
Free
Open Source
Apache
EF Certified
Implemented