我是一名测试攻城狮。
SSD从设计,固件到成品出货,少不了各种测试。中文博大精深都叫测试,到英文里有N个词:Simulation,Emulation, Verification,Validation,Test,QA.
这次先聊一下Verification和Validation。
为了帮助理解,先简单说一下芯片设计的过程:
- 需求:老大,大佬们商量这颗主控要实现什么功能
- 架构:Architecture出设计图
- 设计:ASIC攻城狮把各种内部,外部IP攒起来
- TapeOut
- 芯片回来
在设计阶段,使用Emulator(以后介绍)或者FPGA进行测试的过程,叫Verification,中文翻译为”验证” – 目的是为了帮助ASIC把事情做对。
在芯片回来以后,使用开发板进行测试的过程,叫Validation,中文翻译为”确认”— 目的是确保ASIC把事情给做对了。
在Verification阶段,一旦发现问题,ASIC攻城狮可以马上fix,然后通过升级Emulator的database或者更新FPGA的bit file把新的RTL再交给测试再验证一遍,一直到做对为止。
相同的问题,如果是Validation阶段才发现,只能通过重新Tapeout(含mental fix)或者让固件”打掩护”了。
一点个人感想,欢迎大家补充。