前言
智能网卡存储业务验证过程中,从host侧发送到soc侧的IO读写存储报文,在soc侧需要对IO读写报文进行解析并响应,如果是blk write命令,需要回复blk cpl完成响应,如果是blk read命令,需要返回读数据与blk cpl响应。这些场景都在UVM验证平台进行模拟,由于host侧发送的IO报文,具体多种不确定性,包括IO报文类型,net或者blk报文,IO报文传输时间的不确定,Soc侧主动发送IO报文过程中,都会接收到host侧或者mac口传过来的报文,所以,要模拟soc侧对接收到存储IO报文进行响应,在UVM验证平台中必须实现IO报文的解析、储存IO报文自动响应。本文详细介绍如何在UVM验证平台中实现存储IO报文自动响应,可以在后续UVM验证项目中,实现业务的自动响应提供参考。
UVM验证平台实现存储IO报文自动响应步骤
1、在驱动driver中解析接收到的IO报文类型,如果是存储blk IO报文,则通过TLM analysis接口将存储IO报文上送到对应的sequencer。
2、在sequencer中将驱动driver通过TLP接口送过来的存储IO报文压进队列。
3、在virtual sequence中构造virtio blk auto response sequence,如果检测到sequencer中的存储IO报文队列非空,则将存储IO报文取出来,解析、构造响应trans,发送给驱动driver。
4、在env中将driver TLM接口与sequencer TLM接口接连。
5、在testcase中启用virtio blk auto response sequence。
总结
本文详细介绍在智能网卡DPU系统网络与存储业务验证中,如何在UVM验证平台中实现存储IO报文自动响应,通过在UVM验证平台中使用自动响应机制,可以更真实地模拟存储IO报文的交互场景,提高验证质量。同时,本文介绍的在UVM验证平台实现自动响应方法,可以在类似的验证项目中使用,为验证业务的自动响应提供参考。