Poisson Pulser
Poisson event-train generator: on every CE clock a Bernoulli trial fires a one-clock pulse with probability RATE/2^32, giving Poisson arrival statistics with geometric inter-arrival times. The rate is a RUNTIME 32-bit pin, so it can be driven from a register and changed on the fly. Emulates detector event arrivals for exercising trigger and DAQ chains without hardware. Embedded xoshiro256** source, auto-random seed.
Introduction
Radioactive decays, cosmic rays and most detector backgrounds arrive as
a Poisson process: independent events at a constant average rate. The
block reproduces exactly that: each CE clock draws a fresh uniform and
pulses OUT when $u < RATE$, i.e. with probability $p = RATE/2^{32}$
per clock. The mean event rate is $p \cdot f_{clk}$ (e.g. RATE =
0x0028F5C2 at 100 MHz gives ~1 kcps) and the inter-arrival times follow
the geometric law – the discrete-time exponential:
Measured on the bit-exact model the hardware is verified against; the dashed line is the analytic geometric law. Chain the pulse into your trigger logic, dead-time studies, or drive a Sequencer/Pulse block to emit a full detector-like pulse shape per event.
Pin Description
Properties
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. Poisson event train: OUT pulses with probability RATE/2^32 on every CE clock (geometric inter-arrival times). Emulates detector event arrivals.
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: 91CC401E8CE041DD86C3C912F75CCEDF
Usage
Pile-up behaves like the real thing: two events in the same clock are
indistinguishable (one pulse), exactly as two detector events inside one
sampling period. RESET restarts the (reproducible) sequence; CE
defaults to ‘1’. RATE unconnected defaults to 0 (no pulses).