项目简介
本项目基于“一生一芯”计划项目框架修改而来,目的是助力开发者快速掌握Verilator硬件仿真工具。项目提供抽象层Dut
,简化仿真测试对象的创建与管理,还支持在虚拟FPGA(nvboard)上运行Verilog设计,方便开发者快速构建和运行硬件仿真,生成波形文件以观察结果。
项目的主要特性和功能
- 支持Verilator仿真,能将Verilog源码转换为C++模型并生成可执行的仿真程序。
- 提供
Dut
类抽象层,简化仿真测试对象的创建和管理,便于编写仿真testbench。 - 支持在虚拟FPGA(nvboard)上运行Verilog设计,可观察运行效果。
- 仿真运行后生成波形文件(如
simx.vcd
),利于调试和分析。 - 借助
make
命令支持编译、运行仿真和nvboard操作,简化开发流程。
安装使用步骤
环境准备
- 参考"一生一芯"预学习阶段讲义构建基本开发环境。
- 确保已安装Verilator和C++编译器。
初始化项目
- 使用以下命令初始化项目:
bash bash init.sh subproject-name
- 初始化环境变量:
bash source set-env.sh
编译和运行仿真
- 进入
npc/
目录,使用以下命令进行编译和运行: - 编译Verilog源码为C++模型:
bash make compile_hw
- 编译Verilog源码与仿真源码,生成可执行程序:
bash make compile_sim
- 运行仿真程序并生成波形文件:
bash make run_sim
- 在nvboard上运行Verilog设计:
bash make run_nvboard
观察结果
- 仿真运行后,可在
npc/
目录下查看生成的波形文件(如simx.vcd
)。 - 在nvboard上运行的Verilog设计效果可通过图形界面观察。
注意事项
- 项目目前不支持用户便捷配置(如是否开启波形等),后续会进一步完善。
- 可以通过设置
TOPNAME
变量来指定顶层模块名,例如:bash make run_sim TOPNAME=mux
缺省的TOPNAME
为example
。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】