如果你做过功能验证并且开发过随机用例,那么你就会知道场景组合会如雪球般地爆炸增长。
Sequences和Scenarios的概念就是通过分层的方法解决芯片流程验证的复杂性。
通常,这种分层方法涉及三个层次。举个例子,大多数芯片都有一个软件配置接口,用于配置和控制芯片。
第一层是指令。我们为每个命令创建一个类来保存BFM信息(命令字段、数据字段和时序相关字段)。
第二层是基础命令的组合,就是序列层。我们可以约束每个命令的各个字段,将这少数几个命令组合成一个简单的序列,例如配置序列、中断处理和内存操作序列等。考虑实际的情况,序列层也可以复杂,凡事没有绝对。
第三层是场景层。我们将多个序列组合成一个场景,例如先配置软件接口,然后发送内存读写,最后处理中断。序列之间可以串行或者并行组合。
命令、序列和场景的划分会让我们的功能验证更加有条理,也更容易实现。这和我们的代码开发一样,只有良好的分层,验证代码可重用、可理解和可扩展的。
审核编辑:刘清
全部0条评论
快来发表一下你的评论吧 !