EDA开源仿真工具Verilator:简介及Hello World

本文介绍了Verilator工具的基本功能及其将Verilog设计转换为C++模型的过程。通过一个HelloWorld示例详细展示了从Verilog代码到可执行文件的全流程。

最近在学习Verilator背后的原理,本文对于Verilator的基本功能做了简要的叙述,并简要讲解了hello world的运行过程。也算是学习之中的一点笔记了!
更详细的内容,一定还是要看Verilator的官方User Guide啊!https://verilator.org/guide/latest/verilating.html

在这里插入图片描述

Verilator总体介绍

Verilator将Verilog等HDL设计转化为可执行的C++或SystemC的model。与传统的HDL仿真器不同,Verilator更像是一个编译器。

1、与GCC类似,Verilator需要用户指定编译时的各种配置参数。对于若干SV代码文件,Verilator对其进行静态检查,之后有选择地在代码中加入coverage收集或waveform tracing等instrument。最后将SV的DUT编译为一个C++或SystemC源代码级别的软件多线程模型。这个软件模型由若干.cpp .h文件组成。我们管这个编译的过程叫Verilating,管这个DUT的软件模型叫做 “A Verilated Model”

2、如果想对于DUT转化来的Verilated Model进行仿真,用户需要写少量的C++ wrapper files。在wrapper中,包含整体仿真程序的main函数入口。DUT的Verilated Model在仿真程序中是一个实例化的C++类。wrapper在这里的作用相当于为已经软件化的DUT提供一个实际的运行平台。
(如下面代码中,ibex_simple_system就是待测SoC系统经Verilating后得到的C++ 类)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值