介绍

Digital IDE (简称为 DIDE) 是一个给数字开发工作者提供的友好便捷的自研开发工具。DIDE 可以运行在常规的所有平台上(Windows,Linux,MacOS)上。对于常年使用 ssh 连接内网服务器工作的工程师, DIDE 也能支持远程开发状态下的各项功能支持。
官网:Digital-IDE
安装
-
下载安装iverilog(建议版本v11,无脑下一步),下载地址:bleyer.org/icarus/
检测软件有无安装好,可以在命令行中分别输入下述代码:
bashwhere iverilog
bashwhere vvp
bashwhere gtkwave
运行成功后,命令行会分别显示三个工具的路径。
-
在 Vscode 插件商店中搜索 "Digital IDE" ,点击下载即可。
-
在线安装 lsp(自动)
下载完成后,如果你当前目录中存在任何 HDL 文件(
.v
,.sv
或者.vhd
结尾的文件),DIDE 就会自动启动。如果当前版本的 DIDE 在目标计算机上第一次启动,则会在启动时自动下载digital-lsp
,如下图所示:这是 DIDE 用于解析 HDL 文件并提供语言服务的核心负载。没有它,DIDE 绝大部分的功能将会下线。我们提供了国内国外两个下载源,理论上,大部分地区都可以稳定且愉快地下载
digital lsp
。 -
在线安装 lsp(手动)
digital lsp 的主版本不一定和 DIDE 是同步的,如果对于同一个版本(比如 0.4.0),您想要体验最新的 digital lsp,那么可以手动下载。打开 vscode,按下
F1
,输入download
后,找到下图这个指令:这将会下载最新的 digital lsp 并部署到 DIDE 中。
-
离线安装 lsp(手动)
如果你的执行环境为公司内网或者其他无法访问到,就要离线下载 lsp。先从我们提供的仓库中根据你目标计算机的操作系统+芯片架构,下载对应版本的 lsp. 我们提供了两个仓库源,我们保证这两个仓库的版本同步:
- Github: github.com/Digital-EDA...
- Gitee: gitee.com/Digital-IDE...
比如你的目标计算机是 x86 的 Windows(绝大部分的国内工作机),那么就选择带有
windows
和amd64
的压缩包下载:拷贝到目标计算机上后,按下
F1
,输入install
后,找到下图这个指令:在打开的文件浏览器中,找到之前下载拷贝过来的 压缩包 安装即可。安装后重启 vscode 即可完成。
插件启动
插件启动分为两种模式:
- 单文件启动,也即vscode只打开一个文件的情况
- 文件夹启动,也即vscode打开一个工程文件夹(建议采样该方式,可体验完整功能)
快速仿真
快速仿真的触发方式有两种。一种通过 codelens
的行间字符,一种通过模块树的按钮。
SF.1 通过 codelens 进行快速仿真
如下图所示的,悬浮在模块命名上的Simulate
按键功能入口

SF.2 通过 模块树 进行快速仿真
如下图所示的依赖结构中的功能入口

点击快速仿真之后,如果生成了 vcd 文件, DIDE 会自动打开对应的波形渲染器:

常见问题
没有生成 vcd 文件
如果运行的过程中没有报错,那可能是tb文件中缺少生成vcd波形文件的语句:
rubyinitial begin $dumpfile("prj/icarus/FFT_IFFT.vcd"); $dumpvars(0, FFT_IFFT_tb); #2000 $finish(); end
直接卡死,毫无输出
如果运行的过程中没有报错,那可能是tb文件中缺少
$finish();
,强烈不建议这么做,这样做vcd会不断变大,后端iverilog也会卡住进程。需要在设计中加入一个$finish();
来完善整个验证设计。
无法 simulate 且没有报错内容快速仿真功能报错时:
- 去掉代码中的include部分
- 下调iverilog的版本为11,或者如图直接群文件下载win版 后续会修复此问题,上面是过渡方案
- 如下图所示,在DIDE设置中不要选择
run in terminal
- iverilog路径未设置
代码文档化
DIDE 对于项目中的 vlog 和 vhdl 等文件,支持直接查看它们的文档,点击右上角的按钮即可查看。通过文档化,你可以快速了解当前 verilog 或者 vhdl 文件中 module 的基本信息和依赖信息。依赖信息也支持跳转。
Wavedrom
Wavedrom 是一种用于绘制数字时序图的工具,特别适合硬件设计和数字电路仿真。它使用简单的 JSON 格式来描述波形,并能在浏览器中实时渲染。Wavedrom 支持多种波形元素,如时钟、信号、总线等,广泛应用于文档编写和教学演示。
DIDE 也支持了在注释中编写 Wavedrom 风格的注释,并在文档化中渲染它们。Wavedrom 注释必须写成块状注释,并且必须在块状注释的第一行写上 @wavedrom
,DIDE 会给与 Wavedrom 注释代码高亮方便用户编写需要演示的信号。一个例子如下:
perl
/* @wavedrom this is wavedrom demo1
{
signal : [
{ name: "clk", wave: "p......" },
{ name: "bus", wave: "x.34.5x", data: "head body tail" },
{ name: "wire", wave: "0.1..0." }
]
}
*/
渲染效果:

导出文档
DIDE 的文档化支持如下三种导出格式:
- markdown
- html
导出的文档默认都在项目的 ./doc
下。
如果需要导出pdf,请将你本机的Google Chrome或者Edge浏览器的启动路径填入参数markdown-pdf executable path中。由于大部分pdf阅读器都不支持变色背景,请在浅色主题下导出你的pdf.
如果是 Windows 11 用户,默认不需要设置浏览器路径。因为 win11 自带的 edge 路径 C:/Program Files (x86)/Microsoft/Edge/Application/msedge.exe
是固定的。
Netlist 网表查看器
插件后端集成了yosys可执行文件(直接编译后的),这使得可以在不安装以及配置任何软件之下完成工程代码(仅限verilog和部分sv,具体支持见yosys官网)的综合,并能够展示出综合之后的网表图。使用方式非常简单,只需要在功能入口处点击,就能渲染出以当前模块为顶层的网表图,能帮助用户快速审查自己的代码设计。

NF.1 启动方法一:Codelens
通过 module 上方的 codelens
的 Netlist,可以渲染当前 module 的 netlist。
如下图所示的,悬浮在模块命名上的Netlist
按键功能入口

NF.2 启动方法二:模块树
在模块树中,你也可以查看某一个 module 的 netlist。
