Exponential Noise
Exponentially distributed noise source, one sample per CE clock: OUT = -ln(u) * 2^FractBits (unsigned, saturated). The distribution mean is exactly 2^FractBits LSB. Datapath: CLZ + log2 LUT + one constant multiply – 4-stage pipeline, II=1. Embedded xoshiro256** source with auto-random per-instance seed.
Introduction
Every CE clock the block outputs $-\ln(u) \cdot 2^{F}$ with $u$ uniform
in $(0,1]$: an exponential distribution with mean (and sigma) $2^{F}$
LSB. Useful for amplitude spectra with exponential tails, service/decay
time emulation, or as the inter-arrival generator of event models.
$-\ln u$ is computed as $-\log_2(u) \cdot \ln 2$: the integer part of $-\log_2$ comes from the leading-zero count (exact), the fractional part from a 1024-entry mantissa LUT (Q0.16), then one constant multiply by $\ln 2$ and a rounded shift to the output Q format.
The log-scale histogram (measured on the bit-exact model the hardware is verified against) is a straight line over more than three decades.
Pin Description
Properties
Width of the OUT word (2..32), UNSIGNED, saturated.
Output width (2..32), unsigned, saturated.Default: 16
Range: 2 – 32
Output Q format: OUT = -ln(u) * 2^FractBits. The distribution MEAN is 2^FractBits LSB.
Output Q format (0..16): OUT = -ln(u)*2^FractBits, mean = 2^FractBits LSB.Default: 10
Range: 0 – 16
Seed of the embedded white generator (128 bit hex), expanded internally with SplitMix64. Auto-randomized when the component is created, so multiple instances produce independent noise; editable for reproducible runs. RESET restarts the sequence. Exponential distribution: OUT = -ln(u)*2^FractBits, unsigned, mean = 2^FractBits LSB.
128-bit seed of the embedded white generator, 32 hexadecimal digits (auto-randomized at placement, editable for reproducible runs). Every string of exactly 32 hex digits is a valid seed - repeated digits, all zeros and two identical 64-bit halves included; a wrong length or a non-hex digit is a compile error. Two seeds that differ at all give two independent noise streams (guaranteed when they differ in one 64-bit half, which includes any single-digit difference), which is what makes several instances of this block decorrelated. NOTE: the seed expansion was corrected in this version, so the same seed produces a different (equally reproducible) stream than in earlier releases.Default: 88889D9C2F65455B9CF7E89AA5834153
Usage
Latency 4 CE-clocks (DV marks valid outputs), throughput one sample per
CE clock. RESET restarts the sequence; CE defaults to ‘1’.