1. 什么是验证
- 是用来证明设计功能正确,并且符合设计功能描述的流程
- 工作量主要集中在设计流片以前,而且在前端设计中占据70%的工作量
- 是需要在流片之前确认产品的功能和系统是否符合规则和要求,看有没有“把事情做对"
2. 什么是测试平台
- 对DUT创建测试序列 激励发生器
- 观察DUT的输入输出 检测器
- 对DUT的输出数据与预期数据进行比对 比较器
- 时钟/重置装置
- 报告检查结果
3. 芯片开发流程
- 从市场人员与客户沟通开始
- 系统设计人员按照功能划分为各个子系统
- 子系统被进一步划分为功能模块,并由设计团队实现
- 验证人员对设计功能展开验证,发现设计缺陷,交由设计人员修正
- 验证没有出现漏洞后,交由后端人员进行综合、布局、布线
- 后端人员将核心数据交由FAB进行流片
4. 验证和设计的紧密关系
- 设计和验证都需要围绕功能描述文档
- 设计初步实现之后需要验证入场
- 验证发现结果不符合预期时,如果漏洞明显可交由设计修正,待返回再测试,如果功能描述与设计存在分歧,则需共同回顾功能描述,决定哪一方理解正确,统一对功能的理解
- 在系统由低层向高层集成过程中,验证与设计需要在每一个层次展开各自工作,确保验证在每一个阶段的充分性
5. 验证人员需要做哪些工作
在设计人员根据设计功能描述,实现各个模块RTL代码之后,开始构建实验环境,做几项工作来检查设计:
- 设计文件是否正确地按照功能描述文档去实施了?
- 硬件设计人员是否有遗漏掉的边界情况 corner case ?
- 硬件设计是否足够稳定来处理一些错误情况 error response ?
6.验证和设计的协作
- 验证和设计都需要认真阅读功能描述文档
- 设计会将其翻译为RTL模型
- 验证会按照其功能发送激励和比较结果