Windows Verilog开发环境配置指南

本指南将详细介绍如何在Windows系统上搭建完整的Verilog开发和仿真环境,包括iverilog、gtkwave、vvp和make工具的安装与配置。

目录

环境概述

本开发环境包含以下工具:

  • Icarus Verilog (iverilog): Verilog编译器
  • VVP: Verilog仿真器
  • GTKWave: 波形查看器
  • Make: 自动化构建工具

Icarus Verilog安装与配置

1. 下载Icarus Verilog

官方下载地址下载iverilog软件包。

版本选择: 推荐使用v12版本,具有良好的稳定性和功能完整性。

2. 安装配置

重要安装选项:

  1. 完整安装: 如果没有单独安装GTKWave,请选择"Full Installation"

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

3. 手动配置环境变量(如需要)

如果安装时未自动配置环境变量,可以手动添加:

  1. 在Windows搜索框中搜索"环境变量"
  2. 将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

编译仿真流程

  1. 编译生成可执行文件

    iverilog -o ./sim.out -s counter_tb ./counter_tb.v ./counter.v
  2. 运行仿真

    vvp ./sim.out
  3. 查看波形

    gtkwave ./counter_tb.vcd

运行结果

Make工具安装与使用

对于大型项目,重复输入编译命令会很繁琐。使用Make工具可以自动化整个构建和仿真流程。

MinGW安装配置

1. 下载MinGW

MinGW官方下载页面下载安装包。

2. 安装MinGW

3. 选择安装包

在MinGW Installation Manager中选择需要的包:

推荐: 选择mingw32-base和mingw32-gcc-g++包。

4. 配置环境变量

  1. 找到MinGW安装目录下的bin文件夹

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

  3. 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环境配置的更多相关文章

  1. uboot环境配置

    uboot环境配置 通过配置uboot让它在启动过程中从tftp获取内核和设备树,并从在加载内核之后把通过启动参数将"从nfs挂载根文件系统"传入内核.这个配置主要是通过uboot ...

  2. 史上最全Windows版本搭建安装React Native环境配置

    史上最全Windows版本搭建安装React Native环境配置 配置过React Native 环境的都知道,在Windows React Native环境配置有很多坑要跳,为了帮助新手快速无误的 ...

  3. Electron的环境配置

    原文地址http://huisky.com/blog/161218121551123 本文介绍了Electron的环境配置,包括Electron下载.nodejs下载安装.NPM+Bower安装配置. ...

  4. Python开发环境配置

    好久没有写博客了,自从6月份毕业后,进入一家做书法.字画文化宣传的互联网公司(www.manyiaby.com),这段时间一直在进行前端开发,对于后端的使用很少了,整天都是什么html.css.jav ...

  5. PHP_环境配置_python脚本_2017

    Apache配置 需要安装:VC2015 httpd-2.4.16-win32-VC14.zip VC14就是2015的环境. 又比如:php-5.6.12-Win32-VC11-x86 VC11就是 ...

  6. PHP环境配置

    PHP环境配置 1.Apache的安装 第一步: 1.    双击httpd-2.2.17-win32-x86-no_ssl.msi.出现 Windows 标准的软件安装欢迎界面,直接点“Next”继 ...

  7. Visual studio 通用开发环境配置:SDL,FFMPEG为例

    引言 每一个C++库的使用都是从开发环境的配置开始的,其实每个库的配置过程都是大同小异,总结下来有下面几个步骤: 下载库文件,这里假定是已经预先编译完成的. 配置库文件的包含目录(include)和库 ...

  8. windows 7下React Native环境配置

    React Native 是 Facebook 推出的一个用 Java 语言就能同时编写 ios,android,以及后台的一项技术,它可以做到实时热更新 .FaceBook 也号称这们技术是 “Le ...

  9. seL4环境配置

      转载声明:希望大家能够从这里收获知识之外,也能够体会到博主撰写博客的辛苦.个人博客势单力薄,对于强转甚至转载博客访问量高于原文的例子不在少数. 希望能够得到大家关注的同时,也能够稍微体谅一下博主的 ...

  10. 前端自动化测试 —— TDD环境配置(React+TypeScript)

    欢迎讨论与指导:) 前言 TDD -- Test-Drive Development是测试驱动开发的意思,是敏捷开发中的一项核心实践和技术,也是一种测试方法论.TDD的原理是在开发功能代码之前,先编写 ...

随机推荐

  1. C# 窗口过程消息处理 WndProc

    C# 窗口过程消息处理 WndProc WinForm WndProc 在 WinForm 中一般采用重写 WndProc 的方法对窗口或控件接受到的指定消息进行处理 示例:禁止通过关闭按钮或其他发送 ...

  2. 🎀GitHub Pages静态文件发布

    简介 GitHub Pages是GitHub提供的一项服务,允许用户和组织从存储库中的静态文件创建和托管网站.这些静态文件可以是HTML.CSS.JavaScript文件或任何其他可以在浏览器中直接渲 ...

  3. Nginx日志拆分(linux环境下)

    1.新增shell脚本[nginx_log.sh],进行每日自动切割一次,存储在nginx文件夹下的logs下 #!/bin/bash #设置日志文件存放目录 LOG_HOME="/app/ ...

  4. Ubuntu v22配置用户临界值

    方法 1:使用 pam_faillock(推荐,Ubuntu 22.04 默认方式) pam_faillock 是较新的 PAM 模块,用于记录失败登录尝试并在达到限制后锁定账户. 修改 /etc/p ...

  5. 康谋方案 | 基于AI自适应迭代的边缘场景探索方案

    构建巨量的驾驶场景时,测试ADAS和AD系统面临着巨大挑战,如传统的实验设计(Design of Experiments, DoE)方法难以有效覆盖识别驾驶边缘场景案例,但这些边缘案例恰恰是进一步提升 ...

  6. 树形DP学习总结

    学完换根不久后发现不太熟了,赶紧写篇总结复习一下 \(\\\\\) 树形DP,即在树上进行DP的操作. 例题1:luogu P1352 没有上司的舞会 题目描述 某大学有 \(n\) 个职员,编号为 ...

  7. 基于CARLA与PyTorch的自动驾驶仿真系统全栈开发指南

    引言:自动驾驶仿真的价值与技术栈选择 自动驾驶作为AI领域最具挑战性的研究方向之一,其开发流程需要经历"仿真测试-闭环验证-实车部署"的完整链路.其中,高保真仿真平台为算法迭代提供 ...

  8. [开源] .NetCore 使用 ORM FreeSql 访问 MySql/Mariadb

    1.创建项目 我们以 console 类型项目试验 插入.删除.更新.查询 等功能,创建控制台项目,使用命令: dotnet new console dotnet add package FreeSq ...

  9. Spring Boot 不能加载 tcnative-2.dll 库(Can't load library: tcnative-2.dll)

    Spring Boot 不能加载 tcnative-2.dll 库 本文将介绍怎样解决 Spring Boot 在启动时抛出 "org.apache.tomcat.jni.LibraryNo ...

  10. C#/.NET/.NET Core优秀项目和框架2025年4月简报

    前言 公众号每月定期推广和分享的C#/.NET/.NET Core优秀项目和框架(每周至少会推荐两个优秀的项目和框架当然节假日除外),公众号推文中有项目和框架的详细介绍.功能特点.使用方式以及部分功能 ...