The process, voltage and temperature (PVT) of a silicon device has high impact on its performance. Measuring the performance of a circuit and the variation across a device is essential for device characterization and screening for operational frequency. A simple ring oscillator composed of several elements is capable of detecting the slight variations of PVT and reflect them as a change in oscillation frequency. A frequency counter can measure the frequency. This article explains the basics of a ring oscillator based performance monitor.
A ring oscillator is a device composed of an odd number of logical inverters whose output oscillates between the two logical levels. The inverters are attached in a chain; the output of the last inverter is fed back into the first. Because a single inverter computes the logical NOT of its input, it can be shown that the last output of a chain of an odd number of inverters is the logical NOT of the first input. This final output is asserted a certain amount of time after the first input is asserted; the feedback of this last output to the input causes oscillation. The rate of the oscillation is a function of the delay of an inverter chain which is affected by the voltage, temperature and process (PVT) corner of the device. Using a large number of inverters, has an averaging effect, so any normal differences between the inverters are cancelled out and only the overall PVT affects the resulting oscillation rate.
The OCV of a device can be measured by instantiating multiple identical ring oscillators on different locations of the silicon die and comparing their resulting oscillation rate.
Clock frequency counter
The frequency of oscillation is measured using a frequency counter. The implementation of the frequency counter is based on a time counter running in the control clock domain and a second counter running at the oscillator clock. The period of the time counter is typically set to 1 second so the number of clock cycles counted in the measurement counter during this period is actually the frequency of the oscillation clock. For detailed information about the clock frequency measurement see this aricle.
RTLery library offers a PVT monitor, based on ring oscillator and a frequency counter using verilog source code, verified and ready for integration.
Check out RTLery collection of verified RTL codes for clocking and reset.