Xilinx
Block Preview

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:

Poisson inter-arrival distribution

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

CE Input 1 bit BIT
Clock enable: one Bernoulli trial per clock where high. Default: ‘1’.
Default: 1
RATE Input 32 bit BIT VECTOR
Runtime rate, 32 bit: pulse probability per clock = RATE/2^32.
CLK Input 1 bit BIT
Clock.
Default: Default Board Clock
RESET Input 1 bit BIT
Restarts the sequence from the seed.
Default: Default Board Reset
OUT Output 1 bit BIT
One-clock pulse per event.
DV_OUT Output 1 bit BIT
High on every trial clock (follows CE).

Properties

Property window

SEED (32 digit hex) SEED

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).