如何验证光电探测器与CMOS电路的接口?

解读

面试官抛出该问题,核心想考察三点:

  1. 是否理解“光→电→数字”跨域接口的异质性——光电探测器输出通常是nA~µA级电流脉冲,而CMOS数字端是0/1电平,中间隔着跨阻放大器(TIA)、比较器、ADC或CDR等模拟/混合信号链路。
  2. 能否把传统IC验证方法学(UVM、覆盖率、形式化)扩展到混合信号场景,解决“模拟精度”与“数字效率”之间的矛盾。
  3. 是否具备国内流片厂(SMIC、TSMC南京、HuaHong Grace等)的交付经验,知道如何把验证结果写到sign-off报告里,让后端、封装、测试厂都能看懂并复现。

因此,回答要体现“混合信号建模→指标分解→平台搭建→边界场景→覆盖率闭合→sign-off”完整闭环,并给出可落地的国内项目实例。

知识点

  1. 光电探测器电气模型:PIN/APD的电流源模型Iph = R·Popt,暗电流Idark,结电容Cj,温度系数,工艺corner。
  2. 跨阻增益与噪声:TIA的跨阻Rf、输入阻抗、等效输入噪声电流密度i_n,决定最小可探测光功率。
  3. 数字接口协议:脉冲宽度调制(PWM)、LVDS、SLVS、CMOS单端,以及自定义并口,需查协议手册建立协议检查器。
  4. 混合信号验证方法:
    • Real-Number Modeling (RNM/Wreal) 在SystemVerilog里用wrealnettype real跑数模协同,兼顾速度与精度。
    • 行为级ADC/比较器模型,用SystemVerilog analog function或SystemVerilog-AMS,在VCS/Questa混合信号选项下编译。
    • 分段验证:先跑“模拟小信号”+“数字协议”分开验证,再跑“光-电-数字”全链路。
  5. 关键指标:灵敏度(Sensitivity)、动态范围(DR)、误码率/误脉冲率(BER/MPER)、饱和光功率、时序抖动(Jitter)、功耗。
  6. 边界场景:
    • 工艺corner:ff/ss、-40 °C/125 °C、1.08 V/1.32 V(针对国内55 nm 1.2 V标准逻辑)。
    • 光电极端:光照0 lux、弱光1 mlux、强光100 klx、突发激光脉冲、50 Hz/60 Hz 背景光调制。
    • 电源干扰:DC-DC 500 mV纹波、IO同时切换噪声SSO。
  7. 覆盖率:
    • 功能覆盖:光功率分段、温度分段、工艺corner交叉。
    • 协议覆盖:脉冲宽度±5 %、占空比40 %60 %、突发间隔1 µs1 ms。
    • 断言覆盖:TIA输出饱和告警、比较器亚稳态窗口。
  8. 形式验证与加速:
    • 对数字协议部分用SVA + formal,证明在任何光脉冲序列下不会出现死锁或毛刺。
    • 对大数据量图像传感器接口,用Zynq UltraScale+ FPGA原型做实时光注入,跑24小时老化。
  9. Sign-off交付:
    • 指标汇总表:灵敏度-40 dBm,BER<1E-12,抖动RMS<20 ps,功耗<2 mW。
    • 覆盖率报告:代码覆盖率100 %,功能覆盖率98.7 %,未覆盖点列出原因+风险评估。
    • 第三方复核:由国内封测厂(通富、长电)用ATE重复光注入测试,结果与验证平台误差<0.2 dB。

答案

我把它拆成六步,每一步都给出国内项目可落地的做法。

第一步:需求澄清与指标分解
拿到设计spec后,先跟算法/光学/模拟团队对齐:

  • 光波长850 nm,探测器 responsivity 0.55 A/W。
  • 数字端要求单端CMOS 1.2 V,脉冲宽度8 ns±500 ps,误脉冲率<1E-12。
  • 工作温度-40~85 °C,SMIC 55 nm 1.2 V/2.5 V工艺。
    把光功率灵敏度-28 dBm换算成电流:Iph = 0.55 A/W × 10^(-28/10) mW ≈ 0.22 µA,这就是验证平台要灌入的最小电流。

第二步:建立可综合的混合信号Testbench

  1. 光电探测器用SystemVerilog wreal电流源模型:
    Iph = (Popt * R + Idark) * temp_factor;
    其中temp_factor用二次曲线拟合-40~125 °C。
  2. TIA行为模型:零极点传递函数,输入噪声电流密度i_n=6 pA/√Hz,输出饱和摆幅1.0 V。
  3. 比较器+CDR:用SV写状态机,检测脉冲宽度、抖动,并输出数字码流。
  4. 把模拟部分封装成dpi-C接口,VCS-MS混合信号仿真器支持,速度比SPICE快100倍,精度误差<3 %。

第三步:搭建UVM验证环境

  • Agent:光激励Agent负责在runtime动态改变Popt;数字协议Agent负责发送配置寄存器、读取CDR输出。
  • Scoreboard:把光激励的“理论到达时间”与CDR输出的“实际到达时间”比较,统计抖动直方图。
  • Coverage:cross Popt_cg, temp_cg, corner_cg, pulse_width_cg,确保-28 dBm~-3 dBm每2 dB一格全扫到。

第四步:边界场景与异常注入

  1. 弱光+高温+ss corner:验证噪声是否导致误触发,跑Monte-Carlo 200次,要求MPER<1E-12。
  2. 强光-ff corner:检查TIA饱和恢复时间,用断言检查恢复时间<20 ns。
  3. 电源100 mV 100 kHz纹波:在VDD上叠加sin波,跑抖动测试,确保RMS jitter增量<3 ps。
  4. 光串扰:两路探测器间隔50 µm,一路加PRBS光,一路关光,检查串扰<1 mV。

第五步:形式验证与硬件加速

  • 对数字协议FSM写SVA:
    assert property (@(posedge clk) disable iff (reset) pulse_width >= 7.5ns && pulse_width <= 8.5ns);
    用Questa Formal证明无违反。
  • 把UVM Testbench封装成Zynq UltraScale+ FPGA原型,跑24小时,累计光脉冲>1E14,零误码,直接写进sign-off报告,国内代工厂认可。

第六步:覆盖率闭合与sign-off

  • 代码覆盖率:行覆盖、条件覆盖、FSM覆盖均100 %。
  • 功能覆盖率:98.7 %,未覆盖的1.3 %是>85 °C且<-25 dBm组合,评估为户外场景极小概率,风险可接受,写进评审纪要。
  • 输出《光电接口验证报告》PDF,含环境版本、脚本tag、原始log、第三方ATE复核数据,提交给SMIC PD部门,一次流片成功。

拓展思考

  1. 如果工艺升级到28 nm,电源降到0.9 V,TIA输出摆幅只有400 mV,如何验证亚阈值区比较器的随机失调?
    提示:在验证平台里加入蒙特-Carlo失调电压模型,用形式化工具证明在±3σ失调下仍能满足灵敏度。

  2. 面对车规AEC-Q100 Grade 0(-40~150 °C),温度跨度变大,暗电流指数上升,如何缩短仿真时间?
    提示:用分段线性+温度插值,把150 °C高温点用行为模型外推,再用FPGA原型跑高温老化,互补验证。

  3. 国内封测厂缺乏高精度光注入设备,如何用ATE电注入等效替代?
    提示:在探测器前级加电流镜,ATE直接灌电流,验证平台里把光响应曲线换算成电流表,保证电-光等效误差<0.1 dB,写入《可测试性设计规范》,降低量产测试成本。