Ring oscillator-based true random number generator
AssigneeArm Limited
InventorAlexander Klimov
Life of this patent
Estimating the term…
Abstract
A true random number generator (TRNG) as described herein can include a ring oscillator; and a sampling circuit coupled to an intermediate node of the ring oscillator, wherein the sampling circuit includes a reset, wherein the ring oscillator and the sampling circuit are formed of components from a standard cell library. The sampling circuit includes a storage cell selected for having a shortest oscillation period of a data input of the storage cell that results in a non-constant output. The reset of the sampling circuit can include a logic gate or be built-in reset functionality of the storage cell.
Claims19
A method for standard cell selection for design of a true random number generator (TRNG) comprising a ring oscillator and a sampling circuit coupled to an intermediate node of the ring oscillator, wherein the sampling circuit comprises a reset, the method comprising:
- accessing, by a computing system, a set of storage cells from a standard cell library;
- for each storage cell of the set of storage cells at its initial state, determining, by the computing system, a shortest oscillation period of a data input of the storage cell that results in a non-constant output;
- selecting, by the computing system, from results of determining the shortest oscillation period for each storage cell, a particular storage cell having a shorter oscillation period compared to other storage cells of the set of storage cells;
- and
- inserting, by the computing system, the selected particular storage cell into a design of the TRNG as part of the sampling circuit such that data input of the selected particular storage cell is coupled to the intermediate node of the ring oscillator and an output of the selected storage cell provides a sampled signal of the TRNG.
A non-transitory computer-readable storage medium having instructions stored thereon that when executed by a computing system direct the computing system to:
- find, from a standard cell library, a flop or latch which allows to sample a fastest oscillating signal;
- insert the flop or latch into a design of a true random number generator (TRNG), the TRNG comprising a ring oscillator and a sampling circuit coupled to an intermediate node of the ring oscillator, wherein the sampling circuit comprises a reset;
- identify whether the flop or latch has reset functionality;
- and
- if the flop or latch does not have reset functionality, determine a gate for providing the reset for the flop or latch, and insert the gate into the design of the TRNG.
A true random number generator (TRNG) comprising:
- a ring oscillator;
- and
- a sampling circuit coupled to an intermediate node of the ring oscillator, wherein the sampling circuit comprises:
- a reset;
- a gate providing the reset, the gate having a first input coupled to an intermediate node of the ring oscillator and a second input coupled to a first clock signal line;
- and
- a flip-flop or latch having a sampling input coupled to an output of the gate and a clock input coupled to a second clock signal line;
- wherein the ring oscillator and the sampling circuit are formed of components from a standard cell library.
Dependencies are inferred from the claim text.