Block LevelVerification Flow
1 Abstract
验证,其实是一份高度依赖于工程师职业素养的工作。对于同一个Block的Verification,不同的Verifier把关能力可能会有较大差异。为了尽可能的避免这些差异带来的影响,需要建立一套完善的flow来确保验证工作的准确性和完善性。
2 Verification Flow
2.1 PDCA
做事情前首先要有一个清晰的步骤,而笔者接触最多的就是PDCA循环了,如图2.1所示:
图2.1 PDCA循环
P(Plan) —— 计划,确定方针、目标和活动计划
D(Do) —— 执行,实现计划中的内容
C(Check)—— 检查,总结执行计划的结果,找出问题
A(Action)—— 行动,对总结检查的结果进行处理
对于验证流程而言,PDCA同样适用。在业界,各大公司都有定义自家的验证flow,大同小异。我们以一位Mentor的工程师所作的验证流程为例,如图2.2所示。
图2.2 Verification Flow
3 PLAN
对于验证人员来说,我们的最终目标就是“FindBugs Early & Fast”。那么,从设计需求诞生的那一刻起,验证的工作就要展开了。在PLAN阶段,主要需要完成两个任务,VerificationSpecification以及Verification Objective。
3.1 Verification Specification