01windows环境配置
Windows Verilog开发环境配置指南
本指南将详细介绍如何在Windows系统上搭建完整的Verilog开发和仿真环境,包括iverilog、gtkwave、vvp和make工具的安装与配置。
目录
环境概述
本开发环境包含以下工具:
- Icarus Verilog (iverilog): Verilog编译器
- VVP: Verilog仿真器
- GTKWave: 波形查看器
- Make: 自动化构建工具
Icarus Verilog安装与配置
1. 下载Icarus Verilog
从官方下载地址下载iverilog软件包。

版本选择: 推荐使用v12版本,具有良好的稳定性和功能完整性。
2. 安装配置
重要安装选项:
完整安装: 如果没有单独安装GTKWave,请选择"Full Installation"

环境变量配置: 安装时选择自动添加到环境变量

3. 手动配置环境变量(如需要)
如果安装时未自动配置环境变量,可以手动添加:
- 在Windows搜索框中搜索"环境变量"
- 将iverilog和gtkwave的可执行文件路径添加到系统PATH中

验证环境安装
测试iverilog
在命令提示符中输入以下命令验证安装:
iverilog
正确安装后应显示如下信息:

测试VVP仿真器
vvp

测试GTKWave
gtkwave

安装完成: 如果以上三个工具都能正常运行,恭喜您已成功搭建基础仿真环境!
实践示例
通过一个完整的计数器设计示例来演示整个开发流程。
设计模块 (counter.v)
module counter(
input wire clk,
input wire rstn,
output reg [2:0] cnt
);
always @(posedge clk or negedge rstn) begin
if(!rstn | cnt == 3'd5) begin
cnt = 3'b0;
end
else begin
cnt = cnt + 1'b1;
end
end
endmodule
测试平台 (counter_tb.v)
module counter_tb;
reg clk;
reg rstn;
wire [2:0] cnt;
// 实例化被测试模块
counter u_counter(
.clk(clk),
.rstn(rstn),
.cnt(cnt)
);
// 测试激励
initial begin
clk = 1'b0;
rstn = 1'b1;
#3 rstn = 1'b0;
#5 rstn = 1'b1;
#100 rstn = 1'b0;
#10 rstn = 1'b1;
#50;
$finish;
end
// 时钟信号生成
always #5 clk = ~clk;
// 波形文件生成
initial begin
$dumpfile("counter_tb.vcd");
$dumpvars(0, counter_tb);
end
endmodule
编译仿真流程
编译生成可执行文件
iverilog -o ./sim.out -s counter_tb ./counter_tb.v ./counter.v
运行仿真
vvp ./sim.out
查看波形
gtkwave ./counter_tb.vcd
运行结果

Make工具安装与使用
对于大型项目,重复输入编译命令会很繁琐。使用Make工具可以自动化整个构建和仿真流程。
MinGW安装配置
1. 下载MinGW
从MinGW官方下载页面下载安装包。
2. 安装MinGW

3. 选择安装包
在MinGW Installation Manager中选择需要的包:

推荐: 选择mingw32-base和mingw32-gcc-g++包。
4. 配置环境变量
找到MinGW安装目录下的bin文件夹

将该路径添加到系统环境变量PATH中

将
mingw32-make.exe重命名为make.exe
5. 验证安装
在命令提示符中测试make命令:
make

安装成功: 看到上述输出表示Make工具安装成功。
Makefile编写示例
创建Makefile文件来自动化构建流程:
# Makefile for Verilog simulation
all: iverilog_com vvp_sim gtk_wave
iverilog_com:
iverilog -o ./sim.out -s counter_tb ./counter_tb.v ./counter.v
vvp_sim:
vvp ./sim.out
gtk_wave:
gtkwave ./counter_tb.vcd
clean:
del /Q sim.out counter_tb.vcd
.PHONY: all iverilog_com vvp_sim gtk_wave clean
使用Makefile
创建Makefile后,在项目目录中运行:
make all

Make命令说明:
make all: 执行完整的编译、仿真、波形查看流程make clean: 清理生成的文件make iverilog_com: 仅执行编译make vvp_sim: 仅执行仿真make gtk_wave: 仅打开波形查看器
后续扩展
基础环境配置完成后,还可以继续扩展以下工具:
- VS Code插件: 提供语法高亮和智能提示
- ModelSim: 专业级仿真工具
- Vivado: Xilinx FPGA开发套件
说明: 这些高级工具的配置将在后续文档中详细介绍。
总结
通过以上步骤,您已经成功搭建了完整的Windows Verilog开发环境,包括:
Icarus Verilog编译器
VVP仿真器
GTKWave波形查看器
Make自动化构建工具
现在您可以开始愉快的Verilog设计之旅了!
01windows环境配置的更多相关文章
- uboot环境配置
uboot环境配置 通过配置uboot让它在启动过程中从tftp获取内核和设备树,并从在加载内核之后把通过启动参数将"从nfs挂载根文件系统"传入内核.这个配置主要是通过uboot ...
- 史上最全Windows版本搭建安装React Native环境配置
史上最全Windows版本搭建安装React Native环境配置 配置过React Native 环境的都知道,在Windows React Native环境配置有很多坑要跳,为了帮助新手快速无误的 ...
- Electron的环境配置
原文地址http://huisky.com/blog/161218121551123 本文介绍了Electron的环境配置,包括Electron下载.nodejs下载安装.NPM+Bower安装配置. ...
- Python开发环境配置
好久没有写博客了,自从6月份毕业后,进入一家做书法.字画文化宣传的互联网公司(www.manyiaby.com),这段时间一直在进行前端开发,对于后端的使用很少了,整天都是什么html.css.jav ...
- PHP_环境配置_python脚本_2017
Apache配置 需要安装:VC2015 httpd-2.4.16-win32-VC14.zip VC14就是2015的环境. 又比如:php-5.6.12-Win32-VC11-x86 VC11就是 ...
- PHP环境配置
PHP环境配置 1.Apache的安装 第一步: 1. 双击httpd-2.2.17-win32-x86-no_ssl.msi.出现 Windows 标准的软件安装欢迎界面,直接点“Next”继 ...
- Visual studio 通用开发环境配置:SDL,FFMPEG为例
引言 每一个C++库的使用都是从开发环境的配置开始的,其实每个库的配置过程都是大同小异,总结下来有下面几个步骤: 下载库文件,这里假定是已经预先编译完成的. 配置库文件的包含目录(include)和库 ...
- windows 7下React Native环境配置
React Native 是 Facebook 推出的一个用 Java 语言就能同时编写 ios,android,以及后台的一项技术,它可以做到实时热更新 .FaceBook 也号称这们技术是 “Le ...
- seL4环境配置
转载声明:希望大家能够从这里收获知识之外,也能够体会到博主撰写博客的辛苦.个人博客势单力薄,对于强转甚至转载博客访问量高于原文的例子不在少数. 希望能够得到大家关注的同时,也能够稍微体谅一下博主的 ...
- 前端自动化测试 —— TDD环境配置(React+TypeScript)
欢迎讨论与指导:) 前言 TDD -- Test-Drive Development是测试驱动开发的意思,是敏捷开发中的一项核心实践和技术,也是一种测试方法论.TDD的原理是在开发功能代码之前,先编写 ...
随机推荐
- C# 窗口过程消息处理 WndProc
C# 窗口过程消息处理 WndProc WinForm WndProc 在 WinForm 中一般采用重写 WndProc 的方法对窗口或控件接受到的指定消息进行处理 示例:禁止通过关闭按钮或其他发送 ...
- 🎀GitHub Pages静态文件发布
简介 GitHub Pages是GitHub提供的一项服务,允许用户和组织从存储库中的静态文件创建和托管网站.这些静态文件可以是HTML.CSS.JavaScript文件或任何其他可以在浏览器中直接渲 ...
- Nginx日志拆分(linux环境下)
1.新增shell脚本[nginx_log.sh],进行每日自动切割一次,存储在nginx文件夹下的logs下 #!/bin/bash #设置日志文件存放目录 LOG_HOME="/app/ ...
- Ubuntu v22配置用户临界值
方法 1:使用 pam_faillock(推荐,Ubuntu 22.04 默认方式) pam_faillock 是较新的 PAM 模块,用于记录失败登录尝试并在达到限制后锁定账户. 修改 /etc/p ...
- 康谋方案 | 基于AI自适应迭代的边缘场景探索方案
构建巨量的驾驶场景时,测试ADAS和AD系统面临着巨大挑战,如传统的实验设计(Design of Experiments, DoE)方法难以有效覆盖识别驾驶边缘场景案例,但这些边缘案例恰恰是进一步提升 ...
- 树形DP学习总结
学完换根不久后发现不太熟了,赶紧写篇总结复习一下 \(\\\\\) 树形DP,即在树上进行DP的操作. 例题1:luogu P1352 没有上司的舞会 题目描述 某大学有 \(n\) 个职员,编号为 ...
- 基于CARLA与PyTorch的自动驾驶仿真系统全栈开发指南
引言:自动驾驶仿真的价值与技术栈选择 自动驾驶作为AI领域最具挑战性的研究方向之一,其开发流程需要经历"仿真测试-闭环验证-实车部署"的完整链路.其中,高保真仿真平台为算法迭代提供 ...
- [开源] .NetCore 使用 ORM FreeSql 访问 MySql/Mariadb
1.创建项目 我们以 console 类型项目试验 插入.删除.更新.查询 等功能,创建控制台项目,使用命令: dotnet new console dotnet add package FreeSq ...
- Spring Boot 不能加载 tcnative-2.dll 库(Can't load library: tcnative-2.dll)
Spring Boot 不能加载 tcnative-2.dll 库 本文将介绍怎样解决 Spring Boot 在启动时抛出 "org.apache.tomcat.jni.LibraryNo ...
- C#/.NET/.NET Core优秀项目和框架2025年4月简报
前言 公众号每月定期推广和分享的C#/.NET/.NET Core优秀项目和框架(每周至少会推荐两个优秀的项目和框架当然节假日除外),公众号推文中有项目和框架的详细介绍.功能特点.使用方式以及部分功能 ...