win10下使用iverilog仿真+gtkwave/WaveDrom查看波形

这篇具有很好参考价值的文章主要介绍了win10下使用iverilog仿真+gtkwave/WaveDrom查看波形。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

简介

在win10环境下,使用iverilog进行简单的verilog编译仿真,使用gtkwave和WaveDrom查看仿真波形。
iverilog for windows提供了iverilog和gtkwave的捆绑安装程序,下载链接:https://bleyer.org/icarus/,下载安装后要配置环境变量。
WaveDrom是一个网页波形编辑器,链接:https://wavedrom.com/

被测试模块

用状态机写一个1101序列检测模块:

module test(
    input clk,
    input rst_n,
    input in,
    output out
);
    localparam IDLE = 1, H = 2, HH = 3, HHL = 4, HHLH = 5;
    reg [2:0] state;

    always @(posedge clk, negedge rst_n) begin
        if(!rst_n)
            state <= IDLE;
        else begin
            case(state)
                IDLE: state <= in ? H : IDLE;
                H   : state <= in ? HH : IDLE;
                HH  : state <= in ? HH : HHL;
                HHL : state <= in ? HHLH : IDLE;
                HHLH: state <= in ? H : IDLE;
                default: state <= IDLE;
            endcase 
        end
    end

    assign out = (state == HHLH);
endmodule

testbench

由于需要查看波形,所以调用系统函数$dumpfile(“wave.vcd”)将波形输出到wave.vcd文件,调用$dumpvars输出所有波形。写一个简单的tb,直接给出1101序列的激励:

`timescale 1ns/1ns
module test_tb;
    reg clk = 1;
    always #10 clk = ~clk;

    reg rst_n = 0;

    reg in = 0;
    wire out;

    initial begin            
        $dumpfile("wave.vcd"); // 指定用作dumpfile的文件
        $dumpvars; // dump all vars
    end

    initial begin
        #20 rst_n <= 1;
        #20 in <= 1;
        #20 in <= 1;
        #20 in <= 0;
        #20 in <= 1;
        #20 in <= 0;
        #40;
        $display("it works");
        $finish;
    end

    test inst_test (
        .clk   (clk), 
        .rst_n (rst_n), 
        .in    (in), 
        .out   (out)
    );
endmodule

编译仿真

使用iverilog命令进行编译,默认输出文件名为a.out:

 iverilog test.v test_tb.v

使用vvp命令对a.out执行仿真:

PS E:\WorkSpace\test> vvp a.out
VCD info: dumpfile wave.vcd opened for output.
it works

执行仿真后,波形文件输出到了wave.vcd文件中,可以用gtkwave软件和WaveDrom网页查看波形。

使用gtkwave查看波形

执行gtkwave命令查看波形:

 gtkwave wave.vcd

执行后会弹出gtkwave软件,不过没有波形,要手动选择左侧的tb,然后添加想要查看的波形即可:
win10下使用iverilog仿真+gtkwave/WaveDrom查看波形

使用WaveDrom查看波形

使用WaveDrom网页查看波形需要将vcd波形文件转化为wdrom文件,我使用sublime编辑器的verilog-Gadget插件实现该功能。
使用sublime编辑器打开wave.vcd文件,然后鼠标右键,选择VCD to WaveDrom,即可生成wdrom文件:
win10下使用iverilog仿真+gtkwave/WaveDrom查看波形
将这些代码复制到WaveDrom网页中,即可查看波形:
win10下使用iverilog仿真+gtkwave/WaveDrom查看波形文章来源地址https://www.toymoban.com/news/detail-422367.html

到了这里,关于win10下使用iverilog仿真+gtkwave/WaveDrom查看波形的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • keil仿真和使用示波器调波形

    Debug的设置,点击魔法棒进行配置 一般情况下,设置后就可以调试出波形,但是报错: error 65: access violation at 0x40023800 : no \\\'read\\\' permission 根本原因是:map地址空间权限映射有问题。部分地址空间没有读写的权限,造成程序不能自动运行。有两个解决办法: 1.方法一 1.1 工程文件

    2024年02月15日
    浏览(44)
  • Win10 IE11浏览器,您正在查看的页使用 Java,Microsoft 网站提供有关 Java 支持的更多信息 解决

    最近工作需要支持下IE11浏览器,使用java applet控件。 以前IE10及以下版本都比较正常,但是IE11会出现一些比较奇怪的现象。 记录下解决的方法和过程,便于有需要的同学自取。 1.首先是报错,如下图所示;这个网上搜索了较多的资料,分析下来核心的原因是浏览器未启用ja

    2024年02月09日
    浏览(82)
  • Win10系统查看本地端口占用情况

    前言 0. Netstat命令及其常见用法 1. 打开命令提示符窗口 2. 输入命令 netstat -ano 查看本地端口占用情况 3. 通过PID查看占用端口的程序         在Win10系统环境启动程序服务过程中,有时会遇到启动服务失败,提示相关端口被占用的情况,本文将介绍Win10系统查看端口占用情

    2024年02月09日
    浏览(49)
  • 怎么查看电脑开关机时间——Win10

    1、找到我的电脑-右击选择管理  2、选择事件查看器——Windows日志——系统  3、点击右侧的筛选当前日志  4、弹出对话框,在ID号栏出输入6005,意思就是获取开机时间,点击确定。  4、这个时候窗口显示的系统日志就是开机时间的所有日期,选择自己想要的即可。  5、获

    2024年02月11日
    浏览(65)
  • 【前端设计】使用Verdi查看波形时鼠标遮住了parameter值怎么整

    盆友,你们在使用Verdi的时候,有没有遇到过鼠标遮挡着了parameter数值的场景?就跟下面这个示意图一样: 最可恨的是这个参数值他会跟着你的鼠标走,你想把鼠标移开看看看这个例化值到底是多大吧,这个数他跟着你的鼠标飞,就很气。 所以这个时候需要点击Verdi - Source

    2024年02月16日
    浏览(41)
  • win10查看、关闭和开启多个mysql服务

    我的之前安装了2个MySQL版本,一个是MySQL8.0.17,一个是MySQL5.7.19 为什么要查看怎么关闭MySQL服务?如果是个人电脑,我觉得开启一个服务相当于开启一个进程,可能会占用部分内存。如果自己是游戏摆烂状态(非学习状态),那么这么多服务可能影响自己游戏摆烂体验。 之前安

    2024年02月16日
    浏览(35)
  • 【电脑技巧】win10怎么查看电池的损耗情况

    1.按下键盘的 win+R 组合快捷键;或者是直接点击开始菜单中的 命令行提示符 选项。 然后在打开的命令行窗口中输入 Powercfg /batteryreport 回车。 然后会给出电池使用时间报告的路径信息。 然后根据给出的路径,打开这个文件,然后就可以看到给出的报告网页文件了。 最后计算

    2024年02月10日
    浏览(45)
  • 电脑怎么查看连接过的WIFI密码(测试环境win11,win10也能用)

    打开设置 点击“网络和Internet”,在下面找到“高级网络设置”点进去 在下面找到 “更多网络适配器选项” 点进去 找到 WLAN ,然后 双击 它 5.然后点击“无线属性” 6.最后点击 “显示字符(H)”,正在连接的wifi密码就在上面“网络安全密钥(K)”后面显示出来了 打开命令行

    2024年02月13日
    浏览(58)
  • 怎么在Windows10中找回Windows7的照片查看器(Windows 照片查看器)win10新的照片查看器太难用了

    背景 win10用了 “照片”(Photos)替代 “Windows 照片查看器”(Windows Photo Viewer) 这个 “照片” 的应用非常难用,启动速度比之前慢多了,怎么恢复用 “Windows 照片查看器” 进行查看? 背景: 中文系统叫 “照片”,英文系统叫 “Photos” 中文系统叫\\\"Windows 照片查看器\\\",英文

    2024年02月12日
    浏览(45)
  • 【VC++开发必备神器 -- Dependencies,查看依赖库DLL,支持win10,比depends更好用】

    软件之Dependencies,不同于depends 1、微软官方有提供depends,可以查看exe文件的依赖库,仅适用于winxp/win7/win8,但是不能用于win10,会卡死报错. 官网下载:Dependency Walker (depends.exe) Home Page 左上角第一个窗口是Dll信息窗口,显示程序所需的Dll模块。 如何使用Depends.exe查看dll动态链

    2024年02月05日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包