Python中使用virtual bench

在Python中是用virtual bench主要借助了一个pyvirtualbench的python包,这个包的地址:pyvirtualbench.其实这个软件包就是给virtual bench的相关API做了一个wrapper,里面最终还是通过DLL调用相关的底层函数,这个包里面调用了一个avbin.dll的链接库,默认给出的是32位版本的链接库,所以我们也就需要用32位的python与...

继续阅读 »

ZeBu RISCV工程porting问题记录

最近学习ZeBu的时候尝试使用一个简单的Verilog工程入手,这个简单的工程是一个简化的RISC-V核,里面含有一个SPI Flash控制器,Uart模块,GPIO模块,文件比较少,并且整个工程是可以直接综合的,比较适合入手。代码Porting的时候想得比较简单,直接写个testbench,把需要的文件列表加进去,跑一跑,结果从综合结果来看memory什么的都可以正常识别,但是直接运行的时...

继续阅读 »

Zebu UART例子解读

本篇文章中我们先来看看一个UART Transactor的例子,我们可以通过这个例子来理解ZeBu中transactor的具体概念和基本应用,另外还可以了解一下ZeBu运行的整个流程。首先我们来看看DUT。UART DUT wrappter在每个ZEBU的工程中,DUT都要有一个WRAPPTER,这个wrapper负责例化DUT,产生必要的时钟,挂载必要的transactor等等,我们来看看...

继续阅读 »

ZeBu Server

ZeBu是一个通过硬件加速实现ASIC仿真加速的一个仿真测试系统,相比于FPGA而言,他的资源更多,porting也相对简单,并且支持多种外围模块。ZeBu支持多种硬件软件协同调试ZeBu和PC之间通过PCI接口,支持多用户同时访问支持ICE和Z-ICE两种接口仿真环境porting实例化仿真时钟实例化和DUT之间的接口主时钟一般由一个指定的时钟原语产生,每个实例中要有1到16个时钟。zce...

继续阅读 »

ZeBu Transactors

ZeBu Transactors实际是一些协议相关的外围器件的统称,可以方便的在SOC验证环境中调用,它支持一些常见的协议,比如:PCI Express 3.0, AMBA, USB, MIPI CSI-2, MIPI DSI, I2C, I2S, 以太网,视频接口和JTAG.这些transactors包含可综合总线模型(Synthesizable Bus Functional Models...

继续阅读 »