前后经历了N个芯片项目的验证工作,对芯片的后仿工作也有了一定的感悟,简答梳理如下:
- 后仿不难,难得是一次性把事情做对,后仿在时间上都比较紧迫,试错的成本非常大,一定要按照后仿指导书的步骤稳扎稳打;
- 后仿冒烟阶段,相同的用例,先跑前仿,保持波形用于对比,在跑纯网表文件,最后跑带SDF时序反标的网表;
- 一般前仿和后仿共用平台,使用不同的TB_TOP文件和filelist。在平台代建初期,需尽量避免使用DUT内部信号或者FORCE DUT代码信号,避免在后仿阶段因为代码层级打平而找不到该信号,需要修改用例;
- 后仿要基于ST或者IT展开,对应的于网表的subchip,需要从网表内部拉出信号作为输入输出口的平台不建议做后仿(如UT或者BT),信号太多,且各部分之间的延时关系也没法评估;
- 后仿用例需要重新评审,用例覆盖基本功能,所有路径(特别是异步路径),环回点等,异常用例不做测试,功能由前仿保证即可;
- 注意磁盘空间,后仿波形和LOG都比较大,容易出现爆盘,试想跑了一个多星期的用例因为爆盘需要从新开始,是多么费时的一件事情;
- 注意提交的进程类型,后仿用例耗时长,一般都要提交moddle及其以上的进程,对应特别长的,可以单出开一个teminal单独执行;
- 后仿高级每一条用例都要排查对应的仿真log,包括BC和WC模式,比较费时间,可以使用脚本统一处理;
- 若仿真波形出现X态,优先排查DFT信号赋值是否正确;
- 功耗用例前仿阶段不一定有,后仿时需与对应设计人员确认最大功耗场景;