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的原理是在开发功能代码之前,先编写 ...
随机推荐
- Markdown 中如何添加图片
语法  alt text:可选,图片标签,用来描述的关键词,图片加载错误时候的替代文本,也可用于SEO. uri: ...
- Code First 初始化数据时发生异常
问题重现 用Entity Framework的Code First默认生成的数据库文件被我直接删除了, 然后不管怎么重新编译等等, 运行后总是会报错如下: 解决方案同下 Cannot attach t ...
- 学习unigui【19】unidbgrid的Group By This Field汉化
上面已经将group by this field 汉化. 由于版本的不断更新,不可避免有汉化遗漏.那么说到 如何汉化问题. 根据ExtJSVersion查找你电脑响应目录文件D:\Program Fi ...
- 阿里云域名+Github配置Pages
最近用Flutter开发了一个新的应用,准备上架AppStore的时候遇到一个问题,就是通过什么途经能把自己的隐私html和官网html通过链接都显示出来呢? 经过一番的查找和研究后就准备用Githu ...
- Vue的前端项目开发环境搭建
一.本机window端:安装Node.js,其实质性功能相当于,java的maven https://nodejs.org/en/download/ 二.本机window端:检查Node.js的版本 ...
- Spring Ioc源码引入:什么是IoC,IoC解决了什么问题
Spring Ioc源码引入:什么是IoC,IoC解决了什么问题 什么是IoC 用一个故事举例: 小陈想开一家咖啡店,于是独自创业.找咖啡豆供应商.买咖啡机.招员工,样样都要自己来.开店成本很高.后来 ...
- 27.7K star!这个SpringBoot+Vue人力资源管理系统,让企业开发事半功倍!
嗨,大家好,我是小华同学,关注我们获得"最新.最全.最优质"开源项目和高效工作学习方法 "只需一个脚手架,轻松搭建企业级人事管理系统!" 微人事(vhr)是一款 ...
- Java编程--简单的Proxy程序(代理设计模式)
有时候对象要完成某项任务(功能)需要很多步骤,而这些步骤全部交给对象自己完成显然是不现实的,就像我们人要吃饭,你总不能要求我们每个人都去种地.打面.做饭一样,我们只需要完成其中的吃饭这一核心操作就可以 ...
- SpringMVC框架第一天
目录 SpringMVC的基本概念 三层架构和MVC 三层架构 MVC模型 MVC概述 SpringMVC是什么 SpringMVC在三层架构的位置 SpringMVC的优势 SpringMVC的入门 ...
- 传统的可扩展架构模式:分层架构和SOA
极客时间:<从 0 开始学架构>:传统的可扩展架构模式:分层架构和SOA 分层架构 分层架构是很常见的架构模式,它也叫 N 层架构,通常情况下,N 至少是 2 层.例如,C/S 架构.B/ ...