《基于“矿板”低成本学习FPGA》移植OpenC906番外篇-iverilog+gtkwave环境介绍

文摘   2024-09-13 08:00   湖南  

一. 前言

OpenC906官方使用的是iverilog编译,gtkwave查看波形,上一篇已经体验了OpenC906的仿真。整个过程都是脚本完成所以其实并没有关注其细节,实际其也是脚本中调用了iverilog进行编译。所以为了后续了解整个编译过程,先来了解下iveriloggtkwave。之前是linux环境下,这里就以windows下为例。

二. 安装iveriloggtkwave

从以下地址下载

https://bleyer.org/icarus/

下载最新版

双击iverilog-v12-20220611-x64_setup开始安装,弹出用户账户控制对话框点击是。

勾选接受,Next

继续Next

指定安装路径,Next

勾选安装mingw依赖库和gtkwaveNext

继续Next

勾选添加路径和桌面图标,一定要勾选添加路径,否则命令行中无法找到命令。

Iveriloggtkwave都是通过命令行运行。

继续安装

安装完成

三. 测试

D:\iverilog\samples下有一些例子,我们用这些例子进行测试,

在该目录下右键打开命令行,

编译,需要一会,有点慢

iverilog -o hello .\hello.vl

运行

vvp .\hello

lfsr16的例子

PS D:\iverilog\samples> iverilog -o lfsr16 .\lfsr16.vPS D:\iverilog\samples> vvp .\lfsr16VCD info: dumpfile lfsr16.vcd opened for output.xxxxx100000000100011001110111111110111011101010101010111011001100110011001000100010001000000001000110011101111111101110111010101010101110110011001100110010001000100010000.\lfsr16.v:103: $finish called at 380 (1s)PS D:\iverilog\samples>

Sqrt的例子

PS D:\iverilog\samples> iverilog -o sqrt .\sqrt.vlPS D:\iverilog\samples> vvp .\sqrt                   0 main.acc = 0000000000000000                 225 main.acc = 0000000000000100                 235 main.acc = 0000000000000110sqrt(        63) -->     7.\sqrt.vl:129: $finish called at 245 (1s)                 245 main.acc = 0000000000000111PS D:\iverilog\samples>

四. 生成查看波形

上述lfsr.v的例子中

以下语句

initial begin

$dumpfile("lfsr16.vcd");

$dumpvars(-1, dut);

$monitor("%b", dout);

end

记录波形文件lfsr16.vcd


$dumpvars(-1, dut);改为

$dumpvars(0, dut);

即记录

lfsr16 dut实例模块下所有子模块的信号。

命令行中输入 gtkwave打开

gtkwaveGUI

File->Open New Tab打开vcd文件


添加信号,显示波形

五. 总结

iverilog+gtkwave非常轻量级的黄金搭档,非常好用,我们这里熟悉下其环境搭建。

为分析OpenC906的构建过程做下知识准备。

Iverilog文档参见https://iverilog.fandom.com/wiki/User_Guide

Gtkwave文档见https://gtkwave.sourceforge.net/gtkwave.pdf

Iverilog仓库https://github.com/steveicarus/iverilog

Gtkwave仓库https://github.com/gtkwave/gtkwave






嵌入式Lee
嵌入式软硬件技术:RTOS,GUI,FS,协议栈,ARM,总线,嵌入式C,开发环境 and blablaba....多年经验分享,非硬货不发,带你扒开每一个技术背后的根本原理。
 最新文章