项目简介
本项目是基于Verilator的MIPS处理器仿真器,借助软件模拟的方式来验证与调试MIPS处理器的硬件设计。它支持功能测试、性能测试和性能差分测试等多种测试模式,还具备详细的参数配置选项,可让用户进行定制化仿真。
项目的主要特性和功能
- 快速仿真:借助Verilator高效仿真引擎,实现快速硬件仿真,利于快速调试与验证。
- 轻量级环境:不依赖Vivado等大型EDA工具,仅需Verilator和gtkwave,软件包体积小,方便部署与使用。
- 多种测试模式:支持功能测试、性能测试和性能差分测试,满足不同仿真场景需求。
- 波形输出:能生成仿真过程的波形图,便于分析和调试硬件行为。
- 参数配置:提供丰富命令行参数,可配置仿真模式、测试点、波形输出等。
- 兼容性:虽不支持Xilinx IP核,但有替代方案,保证仿真环境的灵活性与可扩展性。
安装使用步骤
环境准备
- 安装Verilator和gtkwave。
- 将CPU代码放置到相对于本文件夹的
../../mycpu
文件夹中。
编译代码
- 在本文件夹(即
verilator/axi
)下,使用make
命令完成编译。 - 编译结果位于
obj_dir/Vmycpu_top
。
运行仿真
- 运行功能测试,并输出波形图最长1e9的时间:
bash ./obj_dir/Vmycpu_top -func -trace 1000000000
- 运行性能测试的第3个程序并打印串口以及输出波形图:
bash ./obj_dir/Vmycpu_top -perfdiff -prog 3 -trace 100000000 -uart
- 运行完整性能测试得到IPC分数:
bash ./obj_dir/Vmycpu_top -perf
参数说明
-func
:运行功能测试(带trace比对)。-perf
:运行性能测试。-perfdiff
:运行性能测试的差分测试模式。-trace [trace时间]
:输出波形图,功能测试输出到trace.vcd
,性能测试输出到trace-perf-[性能测试点编号].vcd
。-uart
:打印confreg串口,用于性能测试中输出测试程序的标准输出。-prog [1-10]
:设置性能测试的测试点编号。-axifast
:关闭AXI延迟,运行更快,但得分将与上板结果可能存在显著差异。-perfonce
:性能测试每个测试点只运行一次,仅用于Debug。-diffuart
:对比串口输出结果,用于调试Uncached访存。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】