verilator就是一个编译器,将verilog编译为C++模块,然后使用C++编写testbench对模块进行仿真,这样你的硬件仿真就变成了软件debug。重点关注的文件有三类 .v代码:这是你的硬件代码 .cpp代码:这是你的testbench Makefile:verilator的各种设置以及参数配置最终都会写在Makefile里面

一生一心官方文档

verilator 手册

通过一系列数电实验,可以很好地理解verilator

NVBOARD

Untitled


应用层面:学习verilator以及自动化脚本,使用虚拟的NVBoard完成简单的数字电路实验


工作层面:只有纯软件部分,没有任何前置学科,重点是学习工具的使用

软件层面:分为testbench和待测模块两部分,待测模块就是你的.v代码,而testbench是一个基于c++的.cpp文件,它会调用verilator中的一些专用库,同时你可以例化硬件代码,从而实现对硬件代码的测试


具体任务:按照官方文档&数电实验按顺序做


数电实验

工作层面:主要分为理论理解,硬件代码设计与软件仿真设计三个层面,设计步骤如下:

理论理解:确定知识点

  1. 知识点 | 算法
  2. 参考资料
  3. 电路可行分析

硬件代码:硬件结构图

  1. 硬件要求
  2. 模块输入输出
  3. 内部状态机
  4. 逻辑功能

软件仿真:硬件模块使用者

  1. 设计仿真方案
  2. 确定IO约束引脚
  3. 编写仿真函数
  4. 修补makefile并调试

设计步骤完成后就可以写代码了,写代码只是对设计文档的翻译,如果写代码遇到问题,一定先修改设计文档再回头修改代码