Notepad++怎么运行Verilog代码_Icarus硬件描述环境配置实操【指南】

千伟吖_7955

千伟吖_7955

2026-08-07

871人浏览

原创

nppexec通过调用iverilog、vvp和gtkwave实现verilog一键编译、仿真与波形查看:先编译当前文件为a.out,再运行仿真,最后打开test_tb.vcd;要求testbench中必须包含匹配的$dumpfile("test_tb.vcd")和$dumpvars(),且工具路径已加入系统path,命令中路径与文件名严格一致。

notepad++怎么运行verilog代码_icarus硬件描述环境配置实操【指南】

怎么用NppExec调用iverilog编译并仿真

Notepad++本身不能运行Verilog,必须靠NppExec插件调用iverilog完成编译、仿真和波形查看。关键不是“写代码”,而是让命令链正确串联且路径可访问。

  • 确保iverilog、vvp、gtkwave已安装,并加入系统PATH环境变量(否则要在命令里写全路径,比如D:\iverilog\bin\iverilog.exe)
  • 按F6打开NppExec脚本窗口,粘贴以下命令(注意win10/win11路径切换语法差异):
    cmd /k cd /d "$(CURRENT_DIRECTORY)" & iverilog.exe -o a.out "$(FULL_CURRENT_PATH)" & vvp.exe a.out & gtkwave.exe test_tb.vcd & EXIT
  • 这个命令只做三件事:编译当前文件为a.out、运行仿真、打开test_tb.vcd——所以你的testbench里必须有$dumpfile("test_tb.vcd");,且文件名严格匹配
  • 保存脚本时命名建议含工具名,比如Run with Icarus,避免和ModelSim/Vivado脚本混淆

为什么编译成功但波形打不开?常见断点在哪

最常卡在gtkwave找不到.vcd文件,或vvp没生成它。根本原因不是工具装错,而是testbench里没触发dump输出,或路径/权限被Windows拦截。

  • $dumpfile()和$dumpvars()必须成对出现,且$dumpvars()不能放在initial块外;常见错误是只写了$dumpfile("xxx.vcd")但漏了$dumpvars
  • gtkwave.exe默认不接受相对路径,命令中写的test_tb.vcd必须和当前.v文件在同一目录,且不能含中文或空格
  • 如果控制台显示vvp: finished但没弹出gtkwave,检查是否被杀毒软件拦截——特别是Windows Defender会静默阻止gtkwave.exe启动
  • 临时验证方法:手动在命令行进入当前目录,执行vvp a.out,再执行gtkwave test_tb.vcd,能跑通说明NppExec脚本里路径或逻辑有问题

如何让错误行双击跳转到源码

默认NppExec输出的错误信息只是文本,双击无效。要启用跳转,必须配置Console Output Filters,且正则必须匹配iverilog的实际报错格式。

Notepad++ Windows版
Notepad++ Windows版

Notepad++ 8.9.7 Windows版官方安装包,适合 Windows 用户进行代码编辑、文本处理、语法高亮和插件扩展配置。

下载
  • iverilog报错格式通常是test.v:12: error: syntax error,不是ModelSim的** Error: test.v(12): ...
  • 进插件 → NppExec → Console Output Filters → Highlight,添加新规则:
    .*\.v:(\d+):.*error:.*,勾选Jump to line,设置Line number group为1
  • 别用网上抄来的通用正则,比如.*\((\d+)\).*——iverilog不用括号包行号,用冒号,匹配不上就跳不了
  • 生效前需重启Notepad++,或至少重新加载NppExec插件(插件菜单里有Reload选项)

多个Verilog文件怎么一起编译

单文件命令iverilog.exe -o a.out file.v无法处理模块分文件场景。硬编码路径或手动拼接既脆弱又难维护,得改用项目级编译方式。

  • 不要在NppExec里硬写所有文件名,比如iverilog.exe -o a.out top.v sub1.v sub2.v——一旦增删文件就得改脚本
  • 推荐做法:在项目根目录建一个run.bat,内容为iverilog -o a.out *.v或更稳妥的iverilog -o a.out $(cat filelist.txt),然后NppExec调用这个bat
  • 或者直接用iverilog -f filelist.f,其中filelist.f每行一个.v文件路径(支持相对路径),这样NppExec脚本只需一行:iverilog.exe -f filelist.f -o a.out
  • 注意:iverilog对文件顺序敏感,filelist.f里必须把被引用模块放前面,顶层模块放最后,否则报undefined reference

实际用起来最麻烦的从来不是配路径,而是testbench里$dumpfile名字和NppExec命令里写的不一致,或者忘记$dumpvars。这两处错一个,整个波形流程就断在中间,但控制台还显示“success”。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
notepad++官网
notepad++官网

notepad++提供了许多强大的功能和工具,使其成为许多程序员和开发人员的首选工具。本专题为大家提供notepad++官网的相关文章,大家可以免费体验。

2023.08.04

5673

7

notepad++使用教程
notepad++使用教程

notepad++适合处理代码编辑、文本替换、格式查看和批量查找等日常任务。本专题围绕下载安装、界面设置、文件编辑、查找替换、插件使用和常见问题处理展开。

2025.08.01

7442

38

Python uv使用教程
Python uv使用教程

本专题汇总了 Python uv 使用教程与高效使用指南,从 uv 安装配置、常用命令到虚拟环境、依赖管理与项目打包,系统讲解如何用 uv 替代 pip 与 poetry,全面提升 Python 项目开发效率,助你快速上手这一现代化包管理工具,打造干净高效的 Python 工作流。

2026.10.15

0

15

剧云AI短剧创作教程合集
剧云AI短剧创作教程合集

本专题聚焦剧云AI短剧创作,讲解从短剧灵感、梗概、全局大纲到分集、分场和正文的完整流程及节奏设计方法。

2026.10.14

0

15

剧云AI剧本创作零基础入门
剧云AI剧本创作零基础入门

本专题系统讲解剧云AI剧本创作流程,涵盖灵感、梗概、大纲、分场与正文生成,帮助新手快速完成首个中文剧本项目。

2026.10.14

0

14

VibeKnow文档转视频操作指南
VibeKnow文档转视频操作指南

本专题讲解VibeKnow上传Word、TXT、Markdown等材料生成视频的方法,覆盖内容解析、脚本组织、画面生成与成片检查。

2026.10.14

0

15

VibeKnow知识视频制作与导出详解
VibeKnow知识视频制作与导出详解

本专题整理VibeKnow从注册、素材上传、AI生成到预览导出的完整操作,帮助新手快速制作第一条知识讲解视频。

2026.10.14

0

13

二狗PPT大纲编辑实操指南
二狗PPT大纲编辑实操指南

本专题聚焦二狗PPT结构化大纲的生成和修改,讲解标题、正文、目录、页数与页面顺序的调整方法,提升汇报逻辑和内容完整性。

2026.10.14

0

15

二狗PPT文档转PPT全教程
二狗PPT文档转PPT全教程

本专题讲解二狗PPT解析Word、PDF、Excel和PPT资料的方法,涵盖文件上传、内容提取、大纲整理、异常处理与转换后校对。

2026.10.14

0

13

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程