OpenXiangShan / difftest

Modern co-simulation framework for RISC-V CPUs
Mulan Permissive Software License, Version 2
97 stars 57 forks source link

Integrating VIP into DiffTest #402

Open changekkk opened 2 weeks ago

changekkk commented 2 weeks ago

你好,想问下咱们difftest环境是否有尝试接入特定VIP来辅助验证,从环境结构看,能否通过DPI来与VIP通信并启动VIP来进行验证?

Any possibility of integrating VIP into DiffTest via DPI? Does DiffTest provide such practice demo?

poemonsense commented 2 weeks ago

DiffTest主要包含两部分,其一是仿真环境,其二是验证框架,包括面向RISC-V指令、Cache一致性等功能的正确性检查。

VIP主要涉及到的是第二部分的内容,而这部分需要针对不同的验证需求完成配置。DiffTest与VIP不存在兼容性问题,但目前尚未有开源VIP可供RISC-V CPU验证选择,因此我们无法提供案例,如果感兴趣您可以自己尝试接入商业VIP。

DiffTest mainly consists of two parts: the simulation environment and the verification framework, including correctness checks for RISC-V instructions, cache consistency and other functions.

VIP mainly involves the second part, which needs to be configured according to different verification requirements. There is no compatibility issue between DiffTest and VIP, but there is currently no open-source VIP available for RISC-V CPU verification, so we cannot provide examples. If you are interested, you can try to access the commercial VIP yourself.

changekkk commented 2 weeks ago

您好,谢谢,再问一下,vip采用的是uvm环境,识别相关uvm库,如果接入vip需要同时启动difftest和uvm,二者的通信交互机制,是通过DPI吗?另外,有看到咱们Tltest环境有接入vip的尝试,那么Tltest和DIfftest环境再接入vip方面是否有相似性

changekkk commented 1 week ago

您好,想问一下,如果使用UVM通过DPI来启动DIfftest的话,需要驱动哪些接口信号,才能让difftest工作起来?

poemonsense commented 1 week ago

Required interfaces have been listed in README.