如何验证5G NR基带信号处理链?

解读

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

  1. 对5G NR物理层协议(38.211/212/213/214)的落地理解,能否把“协议文字”翻译成“验证场景”;
  2. 对基带数据通路(从天线口到MAC层软比特)的拆解能力,能否自顶向下划分测试点;
  3. 对验证方法学(UVM、形式验证、硬件加速、FPGA原型)的选型与落地经验,能否在“协议完备性”“运算量”“项目周期”之间做权衡。
    国内项目普遍面临“协议版本更新快、算法IP复用度高、流片窗口紧”的现实,因此回答必须体现“分层验证、早期指标化、重用时序收敛”三大特色,否则会被认为“纸上谈兵”。

知识点

  1. 5G NR物理层关键算法:LDPC/Polar编译码、256-QAM调制、FFT/iFft、OFDM加窗、CSI-RS/DMRS插入、预编码、波束赋形、功率分配。
  2. 协议一致性分层:时频资源栅格(38.211)、传输信道(38.212)、物理信道(38.213)、物理层过程(38.214)。
  3. 验证指标:BLER vs SNR曲线、EVM<-50 dB、频谱杂散<-45 dBc、峰值吞吐量≥3.5 Gbps(100 MHz,4×4 MIMO)、处理延迟<1 slot(0.5 ms)。
  4. 验证平台:
    • 单元级:UVM-SV+MATLAB DPI,黄金参考用5G Toolbox浮点模型,定点化位真对齐到RTL。
    • 子系统级:UVM+SystemC TLM,插入速率适配器,跑3GPP 38.901信道模型,验证MIMO检测算法。
    • 芯片级:Veloce Strato或Zynq UltraScale+ FPGA原型,跑gNodeB+UE端到端,用iPerf打UDP流量,同时抓RF口频谱。
  5. 形式验证:对LDPC译码器用Synopsys VC Formal验证“无非法码字漏检”,对Polar码用Hector证明“列表长度=8时路径度量单调性”。
  6. 低功耗场景:DVFS+时钟门控在“下行20 MHz 256-QAM”与“上行5 MHz QPSK”之间切换,验证动态功耗曲线与协议时隙对齐。
  7. 国内实验室常用仪表:Keysight UXM 5G、R&S CMX500、星河亮点SP9500,需提前申请3.5 GHz/2.6 GHz频段临时执照。
  8. Sign-off checklist:覆盖3GPP 38.101-1/2全部测试向量≥95%,代码覆盖率(行+条件+FSM)≥99.5%,功能覆盖率(用户自定义covergroup)≥98%,时钟/复位断言无违例,CDC/RDC干净,功耗报告通过Foundry Review。

答案

“我采用‘三步九层’验证策略。
第一步,协议层拆解:把基带链拆成‘比特级—符号级—采样级’三层,每层先建黄金参考。比特级用MATLAB 5G Toolbox生成TB级浮点码流;符号级在UVM里用DPI直接调库,保证位真一致;采样级用SystemC TLM跑射频前仿真,确保12-bit ADC/DAC接口无溢出。
第二步,逐级验证:

  1. 单元级:对LDPC编码器,我写了128个covergroup,覆盖所有Base Graph、 lifting size、rate matching组合;用VC Formal证明‘无未检测错误码字’,2小时收敛。
  2. 子系统级:把MIMO检测封装成UVM agent,在Veloce上跑‘100 MHz 4×4’场景,用黄金参考对比软比特,EVM<-52 dB;同时把38.901 CDL-C信道模型灌进去,验证BLER在SNR=20 dB时<0.1%。
  3. 芯片级:FPGA原型挂4根天线,连星河亮点仪表,跑NR-FR1 n78,端到端UDP吞吐稳定在3.8 Gbps;用功耗仪抓板级电流,动态DVFS切换瞬间跌落<5%,满足协议时隙要求。
    第三步,指标收敛:每天自动化回归,用Jenkins+Python把BLER/EVM/吞吐/功耗四张图推送到钉钉群;出现回归劣化>3%,立刻触发git bisect定位patch。最终sign-off时,代码覆盖率99.7%,功能覆盖率98.4%,CDC/RDC零违例,Foundry Review一次通过,保障流片一次成功。”

拓展思考

  1. 如果FR2毫米波版本把FFT点数从4k升到16k,如何在不增加硬件面积的前提下验证“动态可重构”场景?
    提示:引入“虚拟FFT”形式验证,证明控制寄存器与数据路径的等价性,再用HLS综合对比资源。
  2. 国内运营商要求“5G+北斗共模”,基带链需同时解调NR与北斗B1C信号,如何设计双时钟域验证环境?
    提示:用双域UVM agent,北斗用16.368 MHz采样,NR用122.88 MHz,通过异步FIFO模型验证CDC,并做联合定位精度蒙特卡洛仿真。
  3. 面对R17的“RedCap”终端,峰值速率降到20 MHz 64-QAM,验证平台如何复用原有100 MHz环境而不重写用例?
    提示:在UVM factory里用参数化config_db,把带宽、MIMO层数、调制阶数做成rand变量,一条用例可随机化生成RedCap/URLLC/eMBB三种场景,实现“一平台多产品”快速复用。