4. 量子随机数发生器的系统架构设计

量子随机数发生器(QRNG)的系统架构设计,本质上是在“物理熵源—电信号—数字比特—可用随机数”这条链路上,把不同物理形态、不同速率、不同噪声特性的环节切分成边界清晰、接口可验证的模块。一个可工程化的 QRNG 通常划分为五个模块:光路模块、电路模块、采集模块、处理模块与输出模块。划分的目的不是画框图,而是让每个模块的输入输出、时钟域、电平标准、数据格式和误差预算都能被单独测试与替换。

一、五个模块的职责边界

光路模块负责产生携带量子随机性的光信号。典型实现包括:基于激光二极管的增益开关或相位扩散源、基于 LED 的自发辐射源、基于单光子探测的衰减脉冲源,以及基于真空涨落的本振平衡探测源。光路模块的输出是光功率、相位或偏振的随机起伏,最终由光电探测器(如 PIN 光电二极管、SPAD 或平衡零差探测器)转换为模拟电流或电压。该模块的关键参数是探测带宽、量子效率、暗计数率和光功率稳定性。

电路模块负责把探测器输出的微弱模拟信号放大、滤波、偏置并驱动到采集器可接受的范围。它通常包含跨阻放大器(TIA)、低噪声放大器(LNA)、抗混叠滤波器、可编程增益放大器(PGA)以及探测器偏压控制电路。电路模块的噪声系数和带宽直接决定原始随机比特的最小熵,因此其设计必须与光路带宽匹配,避免“光路快、电路慢”造成熵损失。

采集模块负责将模拟信号数字化。核心器件是 ADC,常见选择为 8~16 位、采样率 100 MSa/s~1 GSa/s 的流水线或 SAR ADC。采集模块还需提供采样时钟、触发同步和原始样本缓存。采集输出的原始样本通常带有偏置、相关性和非理想分布,不能直接作为随机数使用。

处理模块负责熵提取与后处理。它接收原始样本,先做偏置消除与去相关,再通过哈希函数(如 SHA-256、SHA-3 或 Toeplitz 矩阵)进行随机性提取,把“有偏、有相关但具有最小熵”的原始序列压缩为接近均匀分布的比特流。处理模块还必须实现健康测试,例如对原始样本做均值、方差、自相关监测,对输出比特做在线统计检测。

输出模块负责把处理后的随机比特以标准接口交付给主机或密码设备。常见接口包括 USB 2.0/3.0、PCIe、千兆以太网以及 SPI。输出模块需要处理缓冲、流控、格式封装和访问控制,并保证输出速率与后端消费速率匹配。

QRNG 五模块架构与接口/同步关系 光路模块 激光/LED/SPAD 量子熵源 光电探测器 光功率/相位起伏 输出:模拟电流 电路模块 TIA / LNA 抗混叠滤波 PGA 增益调节 偏压控制 输出:调理后电压 采集模块 ADC 8~16 bit 100M~1G Sa/s 采样时钟 原始样本缓存 输出:原始样本流 处理模块 偏置消除/去相关 SHA-256 / Toeplitz 熵提取 健康测试 输出:均匀比特流 输出模块 USB/PCIe 以太网/SPI 缓冲/流控 格式封装 输出:随机数 模拟 模拟 数字 数字 统一采样时钟域(低抖动时钟源) 红色虚线:时钟/触发同步路径 关键接口与同步要求 接口 信号类型 电平/格式 同步方式 关键约束 光路→电路 模拟电流 μA~mA 连续信号 阻抗匹配、屏蔽 电路→采集 调理电压 0~2V 采样时钟对齐 带宽≥2×信号带宽

二、模块间接口设计

接口设计要回答三个问题:传什么、以什么电气形式传、在什么时序下传。光路到电路之间是模拟电流接口,重点是跨阻放大器的输入阻抗与探测器结电容匹配;若探测器输出为 10 μA 量级、TIA 反馈电阻取 10 kΩ,则输出电压约 100 mV,再经 LNA 放大到 1 V 左右送入 ADC。电路到采集之间是模拟电压接口,需明确满量程范围、输出阻抗和驱动能力,避免 ADC 采样保持电容造成建立时间不足。

采集到处理之间是数字样本接口。若 ADC 为 12 位、200 MSa/s,则原始数据率为 2.4 Gbit/s,通常采用并行 LVDS 或 JESD204B 链路传输。处理到输出之间是已提取比特流接口,速率取决于提取比。例如原始样本 200 MSa/s、每样本提取 0.5 bit,则输出约 100 Mbit/s;若经 SHA-256 压缩 4:1,则输出约 50 Mbit/s。接口必须明确位宽、字节序、帧头和校验方式。

三、同步要求与时钟域划分

QRNG 的同步核心是“采样时钟统一、处理时钟独立、输出时钟异步”。采集模块的 ADC 采样时钟必须与光脉冲或探测事件保持确定关系。对于增益开关激光源,激光驱动脉冲与 ADC 采样触发应来自同一时钟源,抖动建议控制在采样周期的 1% 以内;若采样率为 200 MSa/s,周期为 5 ns,则时钟抖动应小于 50 ps,否则会引入额外相位噪声,降低最小熵。

处理模块通常运行在独立时钟域,通过异步 FIFO 与采集模块衔接。FIFO 深度需覆盖处理延迟波动,例如处理一帧 4096 个样本耗时约 2 μs,而采集写入 4096 个样本仅需 20.48 μs,则 FIFO 至少应能缓冲 2 帧以上,防止溢出。输出模块与处理模块之间同样采用异步 FIFO 或双端口 RAM,并按 USB 或 PCIe 的包格式重新组帧。

同步设计检查要点:① 所有 ADC 是否共用同一低抖动时钟源;② 光脉冲触发与采样触发是否同源;③ 跨时钟域是否使用异步 FIFO 并做格雷码指针同步;④ 复位信号是否在各时钟域内分别同步释放。

四、一个可参考的模块参数划分示例

假设设计一台 100 Mbit/s 输出的 QRNG,可采用如下划分:光路使用 850 nm VCSEL,增益开关产生 1 ns 光脉冲,重复频率 200 MHz;电路使用带宽 500 MHz 的 TIA 与 LNA,输出 0~1.8 V 差分信号;采集使用 12 位、200 MSa/s ADC,输出 LVDS 并行数据;处理模块对每 4 个样本做一次 Toeplitz 哈希,提取 1 bit,得到 50 Mbit/s,再经 SHA-256 扩展到 100 Mbit/s;输出模块使用 USB 3.0,按 4 KB 包传输。该示例中,光路与采集共用 200 MHz 参考时钟,处理与输出各自使用 100 MHz 和 125 MHz 时钟,通过异步 FIFO 衔接。

模块划分完成后,应逐项验证接口电平和同步余量。可用示波器同时观察光脉冲驱动信号与 ADC 采样时钟,确认建立保持窗口;用逻辑分析仪抓取采集到处理的并行数据,检查帧边界与 FIFO 空满标志;最后用统计测试对输出比特流做在线监测。只有接口和同步都满足约束,五个模块才能组合成一台可重复、可测试的 QRNG 系统。