基于功能测试和结构测试,很大程度上决定了芯片的质量。因为这两个环节就是专门为芯片质量把关而存在的。
功能测试
功能测试是属于前端设计的一个环节,当编码工程师将他那部分代码写完之后,就可以交给验证工程师做功能测试。因为编码工程师是为芯片编写逻辑功能的RTL代码,所以说验证工程师也是基于逻辑功能做的测试。
具体表现为使用testbench来搭建一个测试芯片功能的环境,在这个环境下,我们需要给待测试设计文件(DUT,Design Under Test)激励,然后观测输出与预期对比,判断芯片是否有功能故障。
说到这里大家应该也能明白testbench是一个抽象的概念,实际上它也是由很多个组件组合而成。Generate激励产生器,她就像是子弹;Agent是一个盒儿,将所有的子弹放到这个弹匣中;Drive是驱动,将所有的子弹发射出去给到DUT;之后我们就可以用Monitor监控所有DUT的输出数据,将输出数据投送到Scoreboard比较器中与预期的对比。
那么很巧的是,问题来了,预期的数据怎么到达Sco