芯片跑post sim,在waveform中一般要check哪些点?
在后仿真(Post-Simulation)的波形检查中,需要重点关注以下方面以确保芯片功能、时序和可靠性符合设计预期:
1. 关键信号完整性检查
-
复位信号(Reset)
-
确认复位释放时机正确,无毛刺或意外抖动。
-
复位期间寄存器是否被正确初始化。
-
-
时钟信号(Clock)
-
检查时钟频率、占空比是否符合预期。
-
是否存在跨时钟域(CDC)的冒险(glitch)或非预期抖动。
-
-
控制信号(Enable/Valid/Ready等)
-
确认握手协议(如AXI、APB)的时序关系正确,无死锁或协议冲突。
-
2. 时序违例(Timing Violation)
-
建立/保持时间(Setup/Hold)
-
标记所有违例路径(通过SDF反标检查),确认是否在预期范围内(如异步路径已做同步处理)。
-
-
时钟偏斜(Clock Skew)
-
检查时钟树是否满足时序约束,是否存在过大的偏斜或延迟。
-
-
异步路径
-
确认跨时钟域信号已通过同步器(如双触发器、FIFO)处理,避免亚稳态。
-
3. 功能正确性验证
-
关键数据路径
-
对照RTL仿真结果,检查数据(如ALU运算、存储器读写)是否一致。
-
-
状态机(FSM)
-
确认状态跳转符合预期,无死锁或非法状态。
-
-
接口协议
-
验证总线(如AMBA、PCIe)的时序是否符合协议规范。
-
4. 功耗相关检查
-
动态功耗异常
-
检查信号翻转率(Toggle Rate)是否异常(如时钟门控失效导致高频翻转)。
-
-
电源管理
-
确认电源域(Power Domain)开关时序正确,无漏电或意外唤醒。
-
5. 特殊场景覆盖
-
初始化阶段
-
上电后寄存器、存储器是否被正确初始化。
-
-
边界条件
-
测试极端数据(如全0、全1)、FIFO满/空、计数器溢出等场景。
-
-
异步复位释放
-
确认复位释放相对于时钟边沿的时序满足要求。
-
6. 其他注意事项
-
X态(Unknown State)传播
-
检查是否存在未初始化的寄存器或组合逻辑环路导致X态扩散。
-
-
仿真与真实环境差异
-
注意后仿中SDF标注的延迟是否覆盖所有工艺角(Corner Case)。
-
调试建议
-
波形对比工具
-
使用工具(如Cadence SimVision、Synopsys VCS)对比RTL仿真与后仿波形差异。
-
-
关键路径标记
-
对时序违例路径进行高亮,结合STA报告分析根本原因。
-
通过系统化的波形检查,可以显著降低流片风险,确保设计在真实硅片中的行为与仿真一致。