1 信号层
对DUV接口信号进行赋值。
2 命令层
- 驱动器
将命令如send( ), read( ), write( )转换成信号,驱动到DUV。 - 接收器
将DUV的输出信号转换成命令。 - 编写断言
对基于时钟周期的系统行为进行建模 - 例如
task Driver :: send_instr( )就是命令层,发送指令命令。
这个task里面 就是对DUV信号赋值,属于信号层。
3 功能层
将事务信息(transaction)转换成命令驱动到DUV,比如DMA read operation。
- Agent(代理)
暂存事物信息,按照一定得顺序发送这些信息。 - Checker
接收DUV的输出数据,并于期望的结果进行对比 - Scoreboard(计分板)
将比较结果反馈在计分板中
4 应用层
产生一些应用场景。在function上面再一次封装。
发送ipv4流程,找源地址、目的地址、同步、找包,
- 生成期望的数据
- 定向测试
- 带约束的随机测试
5 测试层
只做配置,如配置IPV4要发送包的个数,发送数据类型,type = ipv4。