验证环境获取DUT内部信号的方法

在uvm寄存器模型的操作中,寄存器用于设置dut状态和芯片状态信息的上报,有前门和后门读写两种方式。
推而广之,其他的dut内部信号,由于验证的需要,有时也需要进行后门读写。这些信号除了包含前门可读的寄存器以外,还会包含reg/wire信号、状态机的状态值、memory内容等。
总的来看,获取dut内部状态分为前门和后门两种方式。
前门读写
前门读写:使用总线对dut发起真实的读写,一般需要总线vip支持,仅针对dut内部可访问的地址空间,如配置和上报寄存器、memory。
这种方式好处在于能够和芯片真实的工作场景保持高度相似,能够发现时序配合上的一些问题。
缺点一方面也是前门的“真实性”,当需要读写的地址空间数量很大时,会消耗非常多的仿真时间,影响用例的执行效率。
另一方面是这种耗时的读写不满足“实时性”比对的验证要求。某些验证环境中,可能需要在几个cycle内完成对dut状态的获取和比对,这种场景下前门读取方式则无法满足。
后门读写
后门读写:绕过前门总线,直接通过dut内信号的hierarchy路径强制force或者读取信号值。
后门操作的方式可以分为:按信号的hierarchy读取、interface连接dut信号、和vpi访问。
1. 信号的hierarchy读取
dut经过编译后,内部的信号都有对应的hierarchy路径,如dut.a.b.c,dut.out。在验证环境中可以直接使用,例如:
bit a;a=dut.sub_block.a;if(a==0) begin.....end  bit a;bit[15:0] bif(uvm_hdl_read(dut.sub_block.a,a)) begin.....end//bit[31:0] yuvm_hdl_read(dut.x.y[15:0],b) //错误!使用vpi访问缺点:不能按位域驱动和读取。对于多bit信号,无法只对其中的部分bit操作。
一般而言对于黑盒验证中的加密代码,使用hierarchy和vpi方式都是无法获取加密代码内部信号的状态。当然如果在已知加密代码层次前提下,通过一些处理,还是可以通过hierarchy方式进行后门操作。

Nokia 6上市就被曝出做工有问题 那个可以砸核桃的手机不在了
配色走在时尚的尖端,与春天更配的OPPOR9s清新绿,明星的新欢
剖析GRAPHFB顺控器常见问题
住房和城乡建设部信息中心与华为技术有限公司签署战略合作协议
北京金融科技产业联盟正式成立量子技术专业委员会
验证环境获取DUT内部信号的方法
相机镜头镜头内部工作原理图解
瘦肉精检测仪
聚焦CES 2013:最时尚的十大消费电子产品大盘点
自动驾驶国产巨头加持“无人配送”
荣耀推迟了V40的推出,以便通过Google Play服务提供
STM32F1命名规则及选型
惠普战66二代上手 值不值得买
物联网发展经历三年关键期 强化全球布局实现共创共赢
山东省新材料产业发展重点及目标盘点
虹科干货 | 光纤绝对式和光纤增量式编码器的区别
浅谈ChatGPT在机器人上的应用
dubbo-go 中的 TPS Limit 设计与实现
电压互感器误差特性隐性恶化原因分析
世平集团的单芯片无线接收器解决方案