当前位置: 首页 > java >正文

VSCode Verilog编辑仿真环境搭建

VSCode Verilog环境搭建

  • 下载Iverilog
  • 安装Iverilog
  • 验证安装
  • VS Code安装插件

下载Iverilog

官网下载Iverilog
在这里插入图片描述

安装Iverilog

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
一定要勾选这两项
在这里插入图片描述
在这里插入图片描述
建议勾选这两项
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

验证安装

  • 运行Windows PowerShell
  • 输入命令:iverilog
  • 输入命令:Get-Command gtkwave
    在这里插入图片描述

VS Code安装插件

  • 搜索安装:Verilog-HDL插件
  • 搜索安装:Digital IDE插件
    在这里插入图片描述

在这里插入图片描述
创建counter.v文件

module counter(input clk,  // 27MHzoutput [5:0] led);parameter DELAY_MAX = 13_500_000;reg [$clog2(DELAY_MAX+1)-1 : 0] delay_cnt=0;reg [5:0] led_reg = 0;always @(posedge clk) beginif (delay_cnt == DELAY_MAX-1) begindelay_cnt <= 0;endelse begindelay_cnt <= delay_cnt + 1'b1;endendalways @(posedge clk) beginif (delay_cnt == DELAY_MAX -1) beginled_reg <= led_reg + 1'b1;endendassign led = ~led_reg;endmodule //moduleName

创建counter_tb.v (testbeanch测试实例)

`timescale 1ns/1nsmodule testbench();reg clk;wire [5:0] led;always # 1 clk=~clk;initial beginclk = 0;endinitial begin$dumpfile("wave.vcd");$dumpvars(0, testbench);#6000 $finish;endcounter #(.DELAY_MAX(5)) u_counter(.clk(clk),.led(led));endmodule

使用iverilog编译器将Verilog代码和测试文件编译成VVP文件:

  • 命令行执行:iverilog -o “test_tb.vvp” .\counter_tb.v .\counter.v

在命令行中运行生成的VVP文件,生成VCD波形文件:

  • vvp test_tb.vvp

使用GTKwave打开生成的VCD文件,查看仿真波形:

  • gtkwave.exe -L .\wave.vcd
    在这里插入图片描述
http://www.xdnf.cn/news/3080.html

相关文章:

  • 松灵PiPER强势突围,攻克具身智能“数据壁垒”
  • [逆向工程]深入理解计算机中的“栈”
  • 内容/社区APP增长:用Deeplink让用户分享的内容“一键直达”
  • 4.2.4 MYSQL的缓存策略
  • C++中vector的扩容过程是怎样的?
  • ARP渗透学习1
  • 农村供水智能化远程监控解决方案
  • std::optional 类是个啥?
  • esp32将partitions.csv文件启用到工程项目中的配置
  • antd pro4 升级 antd5
  • 深入解析:实现一个详细的日志过滤器(LogFilter)
  • 2025年渗透测试面试题总结-拷打题库25(题目+回答)
  • 30天通过软考高项-第一天
  • 刀客doc:小红书商业技术负责人苍响离职
  • 信息系统项目管理师——第10章 项目进度管理 笔记
  • 解决Ollama run qwen3:32b: Error: unable to load model问题
  • 阵列麦克风降噪原理
  • 记录一个单独读取evt.bdf的方法
  • 头歌java课程实验(文件操作)
  • 【CF】Day46——Codeforces Round 967 (Div. 2) B
  • 2025年高级Java后端面试题:最新技术体系深度解析
  • java发送邮件
  • 运行不会存储上一次的命令;运行命令不保存历史记录
  • 算法备案类型解析:如何判断你的算法属于哪种类型?
  • conda添加新python版本环境,如何激活和销毁
  • 深入理解 Web Service:原理、组件与核心技术详解
  • c++ 内部类
  • linux使用亚马逊aws-sdk-cpp
  • 适合五一劳动节的SVG模版
  • C++/SDL 进阶游戏开发 —— 双人塔防(代号:村庄保卫战 15)