1. SOC NLP验证流程概述
在芯片设计领域,SOC(System on Chip)的Native Low Power(NLP)验证是一个关键环节。作为一名经历过多个SOC项目验证的工程师,我深知这个环节的重要性——它直接关系到芯片的实际功耗表现和市场竞争力。NLP验证的核心目标是确保芯片在低功耗模式下能够正常工作,同时达到设计预期的功耗指标。
NLP验证不同于常规功能验证,它需要特别关注以下几个方面:
- 电源域(Power Domain)的划分是否正确
- 电源开关(Power Switch)的控制逻辑是否合理
- 状态保持寄存器(Retention Register)的功能是否正常
- 不同功耗模式(Power Mode)之间的转换是否顺畅
2. NLP验证环境搭建
2.1 验证平台选择
在实际项目中,我们通常会选择业界主流的验证工具搭建NLP验证环境。以我最近参与的一个项目为例,我们采用了以下工具链组合:
- 仿真工具:VCS或Xcelium
- 功耗分析工具:Joules或PowerArtist
- 波形查看工具:Verdi或SimVision
提示:选择工具时要特别注意其是否支持UPF(Unified Power Format)解析,这是进行NLP验证的基础。
2.2 UPF文件准备
UPF文件是NLP验证的核心配置文件,它定义了芯片的功耗架构。一个典型的UPF文件包含以下内容:
tcl复制create_power_domain PD_TOP -include_scope
create_supply_port VDD -domain PD_TOP
create_supply_net VDD -domain PD_TOP
create_supply_net VDD -domain PD_TOP -reuse
在准备UPF文件时,需要特别注意:
- 电源域的划分要与RTL设计完全一致
- 电源开关的控制信号要明确定义
- 隔离单元(Isolation Cell)和电平转换器(Level Shifter)的配置要正确
2.3 测试用例设计
NLP验证的测试用例需要覆盖各种功耗场景,我通常会设计以下几类测试:
- 基本功能测试:验证芯片在正常工作模式下的功能
- 功耗模式转
