嵌入式Lee

文章数:196 被阅读:578672

账号入驻

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

最新更新时间:2024-09-13
    阅读数:

一. 前言

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

二. 安装 iverilog gtkwave

从以下地址下载

https://bleyer.org/icarus/

下载最新版

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

勾选接受, Next

继续 Next

指定安装路径, Next

勾选安装 mingw 依赖库和 gtkwave Next

继续 Next

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

Iverilog gtkwave 都是通过命令行运行。

继续安装

安装完成

三. 测试

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);

e nd

记录波形文件 lfsr16.vcd


$dumpvars(-1, dut); 改为

$dumpvars( 0 , dut);

即记录

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

命令行中输入 gtkwave 打开

gtkwave GUI

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的文章

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: TI培训

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved