电子说
在芯片验证中,我们随机发送数据激励,同时使用scoreboard进行数据完整性检查。
scoreboard使用的关键在于如何启动检查以及检查的内容。 我们可以选择一个用例结束后采用 后处理检查 ,也可以 在线地检查 ,即每次收到一个回数就启动检查。
因为不会存在太多的数据,所以在线检查会比后处理检查 内存效率更高 ,检查完之后就可以将相应的预期值删除掉。
用例结束后可以检查预期值队列是否是空的 ,即所有的预期都得到了正确的响应。
上图中transfer function就是一个 参考模型(reference model) ,就是验证工程师或者模型工程师开发的和RTL完成一样工作的模型,用于和RTL比对。不同模型检查的精细程度会不同,能够比对的东西也不同,最精细的就是和RTL类似的 时钟精确模型 。
上图中的data structure存储预期值(一般是一个queue),可以很复杂,也可以很简单。scoreboard中的checker会将RTL输出和参考模型输出进行比对,比对的时刻就是在RTL回数的时刻,比对通过后就可以将预期值从data structure中删除。
上面提到的都是scoreboard的一些基本的概念,实际项目中scoreboard的使用有很多形式,可以是 级联的scoreboard比对一个feature ,也可以是 一个scoreboard比对多个feature 。
通常参考模型是验证最困难的地方,因为需要和RTL一样处理很多边界场景,而且要保证可以使用scoreboard比对上。
全部0条评论
快来发表一下你的评论吧 !