设计流程
- 程序中使用到了
fork…join
,使用到了fork…join_none
。
- 程序中只使用了功能覆盖率。
- 程序中使用了覆盖率,使用了
bins
和cross
。bin
如何取根据实际程序需要来进行,比如这个程序中根据不同的操作指令和A、B定义了一系列bins
。使用了交叉覆盖,也是为了增大测试覆盖全面性,重点关注一些边界取值。
- 程序中没有使用
wait
,但使用到了@
,也是在某一个事件触发。相较于wait,虽然@的用法局限一些,一般用于等待特定的事件、信号边沿或信号变化,但它也以此更加简洁,但需要在fork
语句中结合着使用(这也是程序中的用法,见monitor模块)。
- 程序中没有使用到
randc
,但用到了rand
。rand
是所有随机值都是均匀产生,有可能重复,而randc
要等到全部的可能性都出现过后才会重复。
- 基于apb总线的接口时序是简化过的,即仅使用了几个关键操控信号,如
pclk
、prst_n
、paddr
、pready
等。