entropy_ring_oscillator

Oscillate an asynchronous buffer ring with an optional detuned feedback tap.

enable_i high closes the delay chain so it oscillates; frequency follows the number of buffer stages. detune_i high selects the full TOTAL_LENGTH feedback path through an internal mux, which lowers frequency; detune_i low selects the shorter TAPPED_LENGTH tap.

Parameters

Table 1. Parameters
NameTypeDefaultDescription
TOTAL_LENGTHint unsigned17Full ring-oscillator stage count.
TAPPED_LENGTHint unsigned13Stage count of the shorter feedback tap, used while detune_i is low.

Ports

Table 2. Ports
NameDirectionTypeDescription
enable_iinputlogicHigh lets the ring oscillate; low holds the NAND stage output high.
detune_iinputlogicFeedback select: high for the full TOTAL_LENGTH ring, low for the TAPPED_LENGTH tap.
noise_ooutputlogicBuffered, asynchronous ring-oscillator output.