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. Markdown 中如何添加图片

    语法 ![alt text](uri "optional title") alt text:可选,图片标签,用来描述的关键词,图片加载错误时候的替代文本,也可用于SEO. uri: ...

  2. Code First 初始化数据时发生异常

    问题重现 用Entity Framework的Code First默认生成的数据库文件被我直接删除了, 然后不管怎么重新编译等等, 运行后总是会报错如下: 解决方案同下 Cannot attach t ...

  3. 学习unigui【19】unidbgrid的Group By This Field汉化

    上面已经将group by this field 汉化. 由于版本的不断更新,不可避免有汉化遗漏.那么说到 如何汉化问题. 根据ExtJSVersion查找你电脑响应目录文件D:\Program Fi ...

  4. 阿里云域名+Github配置Pages

    最近用Flutter开发了一个新的应用,准备上架AppStore的时候遇到一个问题,就是通过什么途经能把自己的隐私html和官网html通过链接都显示出来呢? 经过一番的查找和研究后就准备用Githu ...

  5. Vue的前端项目开发环境搭建

    一.本机window端:安装Node.js,其实质性功能相当于,java的maven https://nodejs.org/en/download/ 二.本机window端:检查Node.js的版本 ...

  6. Spring Ioc源码引入:什么是IoC,IoC解决了什么问题

    Spring Ioc源码引入:什么是IoC,IoC解决了什么问题 什么是IoC 用一个故事举例: 小陈想开一家咖啡店,于是独自创业.找咖啡豆供应商.买咖啡机.招员工,样样都要自己来.开店成本很高.后来 ...

  7. 27.7K star!这个SpringBoot+Vue人力资源管理系统,让企业开发事半功倍!

    嗨,大家好,我是小华同学,关注我们获得"最新.最全.最优质"开源项目和高效工作学习方法 "只需一个脚手架,轻松搭建企业级人事管理系统!" 微人事(vhr)是一款 ...

  8. Java编程--简单的Proxy程序(代理设计模式)

    有时候对象要完成某项任务(功能)需要很多步骤,而这些步骤全部交给对象自己完成显然是不现实的,就像我们人要吃饭,你总不能要求我们每个人都去种地.打面.做饭一样,我们只需要完成其中的吃饭这一核心操作就可以 ...

  9. SpringMVC框架第一天

    目录 SpringMVC的基本概念 三层架构和MVC 三层架构 MVC模型 MVC概述 SpringMVC是什么 SpringMVC在三层架构的位置 SpringMVC的优势 SpringMVC的入门 ...

  10. 传统的可扩展架构模式:分层架构和SOA

    极客时间:<从 0 开始学架构>:传统的可扩展架构模式:分层架构和SOA 分层架构 分层架构是很常见的架构模式,它也叫 N 层架构,通常情况下,N 至少是 2 层.例如,C/S 架构.B/ ...