作为一名验证工程师,我时常思考这样一个问题:为什么有些checker运行得很稳定,而有些却问题不断?在多年的ASIC验证经历中,我发现无论是初级工程师还是资深专家,都会在检查器(Checker)设计上栽跟头。
checker的单一职责原则
记得有次项目中,我自作聪明地把数据路径检查器和协议检查器合并到一起,想着"一个文件就能搞定",省事!结果呢?协议规范稍有变动,整个检查器就变得不稳定了。
真实的教训在于:好的检查器应该只做一件事,并且把这件事做好。
作为一名验证工程师,我时常思考这样一个问题:为什么有些checker运行得很稳定,而有些却问题不断?在多年的ASIC验证经历中,我发现无论是初级工程师还是资深专家,都会在检查器(Checker)设计上栽跟头。
记得有次项目中,我自作聪明地把数据路径检查器和协议检查器合并到一起,想着"一个文件就能搞定",省事!结果呢?协议规范稍有变动,整个检查器就变得不稳定了。
真实的教训在于:好的检查器应该只做一件事,并且把这件事做好。