0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何使用Icarus Verilog+GTKWave来进行verilog文件的编译和仿真

FPGA之家 来源:数字ICer 作者:数字ICer 2021-07-27 09:16 次阅读

本文将介绍如何使用Icarus Verilog+GTKWave来进行verilog文件的编译和仿真

Icarus Verilog

Icarus Verilog极其小巧,支持全平台Windows+Linux+MacOS,并且源代码开源。通过tb文件可以生成对应的仿真波形数据文件,通过GTKWave可以查看仿真波形图,支持将Verilog转换为VHDL文件。

1.安装iverilog:

sudo apt-get install iverilog

16b4030c-e10c-11eb-9e57-12bb97331649.png

安装完成查看版本

iverilog -v

16becfbc-e10c-11eb-9e57-12bb97331649.png

2.安装gtkwave:

sudo apt-get install gtkwave

16dc2bac-e10c-11eb-9e57-12bb97331649.png

安装完成查看版本

gtkwave -v

16e89fcc-e10c-11eb-9e57-12bb97331649.png

Tb中添加

16f67e26-e10c-11eb-9e57-12bb97331649.png

3.编译:

进入文件目录,输入命令:

iverilog *.v

170039de-e10c-11eb-9e57-12bb97331649.png

编译完成出现.out文件

172cf410-e10c-11eb-9e57-12bb97331649.png

生成.vcd文件

vpp a.out

173bbcfc-e10c-11eb-9e57-12bb97331649.png

执行后产生的文件如下:

17447cc0-e10c-11eb-9e57-12bb97331649.png

4.用GTKWave打开VCD文件:

gtkwave glitch.vcd

175038e4-e10c-11eb-9e57-12bb97331649.png

执行完成后,弹出界面

添加波形的时候卡死

glitch.vcd文件太大???

17ec8f28-e10c-11eb-9e57-12bb97331649.png

解决:

gtkwave,icarus支持vcd,lxt,lxt2 dump.

vcd通用但vcd dump太大,gtkwave不能很好的查看波形,导致崩溃。所以最好之前用lxt或将vcd转化为lxt格式。lxt格式是gtkwave的专用格式。

cp glitch.vcd glitch.lxt

18151416-e10c-11eb-9e57-12bb97331649.png

添加波形

182e8248-e10c-11eb-9e57-12bb97331649.png

5.Verilog转换为VHDL

将glitch.v文件转换为VHDL文件glitch.vhd

iverilog -tvhdl -o glitch.vhd glitch.v

编辑:jq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 仿真
    +关注

    关注

    50

    文章

    3871

    浏览量

    132132

原文标题:开源verilog仿真工具iverilog+GTKWave初体验

文章出处:【微信号:zhuyandz,微信公众号:FPGA之家】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    verilog inout用法与仿真

    ,本文将详细讨论 inout 的用法和仿真。 首先,我们来了解一下 inout 的含义。 inout 是一种双向信号类型,即可以作为输入信号也可以作为输出信号。它类似于双向数据线,可以实现数据的双向传输。在硬件设计中, inout 可以用于与外部设备进行通信,如键盘、鼠标
    的头像 发表于 02-23 10:15 356次阅读

    例说Verilog HDL和VHDL区别

    Verilog和VHDL之间的区别将在本文中通过示例进行详细说明。对优点和缺点的Verilog和VHDL进行了讨论。
    的头像 发表于 12-20 09:03 623次阅读
    例说<b class='flag-5'>Verilog</b> HDL和VHDL区别

    使用nuclei stuio将软件程序编为.Verilog,在vivado中仿真出现的问题求解

    胡哥好,请问我的项目提示string is not a constant是怎么回事,是这一句出的提示 在进行这个仿真时, 我将e203_hbirdv2文件夹中的rtl和tb所有文件
    发表于 08-16 08:20

    为什么按照demo_nice的例子编译时候无法生成.verilog文件呢?

    求问大神,我想像demo_nice例子一样仿真看核内部信号,尝试在IDE中写内部寄存器值,然后转成.verilog用于vcs仿真读入ITCM,这总思路是对的吗,为什么按照demo_nice的例子
    发表于 08-16 07:14

    NICE自定义指令如何被编译生成汇编文件和.verilog二进制文件

    在学习官方的demo_nice例程时,使用了 NICE Instruction的自定义指令,但是不太理解自己在.c文件中定义的指令是如何被编译器识别,编译生成汇编文件和.
    发表于 08-16 06:46

    如何用Nuclei Studio来生成编译后的.verilog文件

    各位大佬,想问一下怎么用Nuclei Studio来生成编译后的.verilog文件
    发表于 08-11 13:02

    Verilog Testbench怎么写 Verilog Testbench文件的编写要点

    熟练了一点、但是整体编写下来比较零碎不成体系,所以在这里简要记录一下一般情况下、针对小型的verilog模块进行测试时所需要使用到的testbench文件的编写要点。
    的头像 发表于 08-01 12:44 1439次阅读
    <b class='flag-5'>Verilog</b> Testbench怎么写 <b class='flag-5'>Verilog</b> Testbench<b class='flag-5'>文件</b>的编写要点

    Verilog代码封装后门访问

    关于仿真里的后门访问,之前的文章《三分钟教会你SpinalHDL仿真中的后门读写》中有做过介绍,其针对的都是针对以SpinalHDL中的代码进行的后门访问。今天来看看当封装了Verilog
    的头像 发表于 07-15 10:22 505次阅读
    <b class='flag-5'>Verilog</b>代码封装后门访问

    Verilog仿真激励举例

    Verilog 代码设计完成后,还需要进行重要的步骤,即逻辑功能仿真仿真激励文件称之为 testbench,放在各设计模块的顶层,以便对模
    的头像 发表于 06-02 11:35 1113次阅读
    <b class='flag-5'>Verilog</b><b class='flag-5'>仿真</b>激励举例

    VCS实用技巧分享

    VCS是编译verilog仿真器,VCS先将verilog/systemverilog文件转化为C文件
    的头像 发表于 05-30 09:26 859次阅读
    VCS实用技巧分享

    介绍下Verilog系统完整的8种编译指令

    以反引号(`)开始的某些标识符是 Verilog 系统编译指令。编译指令为 Verilog 代码的撰写、编译、调试等提供了极大的便利。
    的头像 发表于 05-29 16:43 1147次阅读

    仿真器的角度理解Verilog语言2

    只作为语法设定来介绍,忽略了Verilog语言的软件特性和仿真特性。使得初学者无法理解Verilog语言在行为级语法(过程块、赋值和延迟)背后隐藏的设计思想。本文尝试从仿真器的角度对
    的头像 发表于 05-25 15:10 617次阅读
    从<b class='flag-5'>仿真</b>器的角度理解<b class='flag-5'>Verilog</b>语言2

    仿真器的角度理解Verilog语言1

    只作为语法设定来介绍,忽略了Verilog语言的软件特性和仿真特性。使得初学者无法理解Verilog语言在行为级语法(过程块、赋值和延迟)背后隐藏的设计思想。本文尝试从仿真器的角度对
    的头像 发表于 05-25 15:10 669次阅读
    从<b class='flag-5'>仿真</b>器的角度理解<b class='flag-5'>Verilog</b>语言1

    如何用vcs+verdi仿真Verilog文件

    我们以一个简单的加法器为例,来看下如何用vcs+verdi仿真Verilog文件并查看波形。 源文件内容如下:
    的头像 发表于 05-11 17:03 1412次阅读
    如何用vcs+verdi<b class='flag-5'>仿真</b><b class='flag-5'>Verilog</b><b class='flag-5'>文件</b>

    如何用vcs+verdi仿真Verilog文件并查看波形呢?

    我们以一个简单的加法器为例,来看下如何用vcs+verdi仿真Verilog文件并查看波形。
    的头像 发表于 05-08 16:00 4443次阅读
    如何用vcs+verdi<b class='flag-5'>仿真</b><b class='flag-5'>Verilog</b><b class='flag-5'>文件</b>并查看波形呢?