littlebot
Published on 2025-04-08 / 0 Visits
0

【源码】基于Verilator的MIPS处理器仿真器

项目简介

本项目是基于Verilator的MIPS处理器仿真器,借助软件模拟的方式来验证与调试MIPS处理器的硬件设计。它支持功能测试、性能测试和性能差分测试等多种测试模式,还具备详细的参数配置选项,可让用户进行定制化仿真。

项目的主要特性和功能

  1. 快速仿真:借助Verilator高效仿真引擎,实现快速硬件仿真,利于快速调试与验证。
  2. 轻量级环境:不依赖Vivado等大型EDA工具,仅需Verilator和gtkwave,软件包体积小,方便部署与使用。
  3. 多种测试模式:支持功能测试、性能测试和性能差分测试,满足不同仿真场景需求。
  4. 波形输出:能生成仿真过程的波形图,便于分析和调试硬件行为。
  5. 参数配置:提供丰富命令行参数,可配置仿真模式、测试点、波形输出等。
  6. 兼容性:虽不支持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】