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
| Name | Type | Default | Description |
|---|---|---|---|
TOTAL_LENGTH | int unsigned | 17 | Full ring-oscillator stage count. |
TAPPED_LENGTH | int unsigned | 13 | Stage count of the shorter feedback tap, used while detune_i is low. |
Ports
| Name | Direction | Type | Description |
|---|---|---|---|
enable_i | input | logic | High lets the ring oscillate; low holds the NAND stage output high. |
detune_i | input | logic | Feedback select: high for the full TOTAL_LENGTH ring, low for the TAPPED_LENGTH tap. |
noise_o | output | logic | Buffered, asynchronous ring-oscillator output. |