在一家ASIC开发项目中,有一个大模块的设计和一名验证工程师搭档工作,但设计坚持要等代码完全没有bug了才check in到源代码控制系统中。
可怜的验证工程师只能在这种情况下默默工作。作为新人,这名验证工程师没敢吭声。他开始验证RTL,每次发现bug,设计都会立刻识别并修复问题,然后交给验证工程师一份修复后的RTL继续验证。由于文件的版本号从未变更(直到模块被验证完成),所以没有bug被正式记录。
这种做法导致了几个严重问题:
从外部看,文件版本号不变,而验证工程师看起来在埋头苦干却没有明显产出
没有关于模块中发现的bug类型的任何记录,因为团队什么都没记下来
其他团队成员对模块的可见性几乎为零
验证环境或RTL开发的进度无法追踪
在评审过程中,用于衡量RTL质量的正常指标都不可用