EDA工具链:一款颠覆认知的FPGA或数字IC开源开发工具-Anlogic-安路社区-FPGA CPLD-ChipDebug

EDA工具链:一款颠覆认知的FPGA或数字IC开源开发工具

前言

最近发现了一款非常强大的 EDA 开发工具,它甚至有些颠覆我对RTL开发Flow的认知。国产EDA 工具能达到这样的水准,实在令人惊叹。

图片[1]-EDA工具链:一款颠覆认知的FPGA或数字IC开源开发工具-Anlogic-安路社区-FPGA CPLD-ChipDebug

在此,特别感谢为该 GitHub 项目付出心血的开发者!接下来,我将简要介绍它的使用方法,欢迎大家一起探索,共同挖掘这款工具的更多潜力!

图片[2]-EDA工具链:一款颠覆认知的FPGA或数字IC开源开发工具-Anlogic-安路社区-FPGA CPLD-ChipDebug

介绍

Digital IDE

简称为 DIDE 是一个给数字开发工作者提供的友好便捷的自研开发工具。
借助规范的、简化的、可视的工程管理系统、IP管理系统以及丰富的辅助组件,帮助下游的开发者能够满足研发过程中敏捷开发、验证以及团队协作等需求。对于上游,帮助FPGA原厂降低软件开发生态的扩展和维护成本

适用平台

DIDE可以基于VSCode插件运行在常规的所有平台上。

  • • Windows
  • • Linux
  • • MacOS

现有功能

以下是这款工具的主要功能概述,接下来我将带大家完成安装,并尝试其中的一些核心功能,体验它如何提升 EDA 开发效率。

1.语言服务

  • • 语言高亮
  • • 语法诊断
  • • 文件大纲
  • • 悬停提示
  • • 自动补全
  • • 定义跳转
  • • 代码格式
  • • 代码翻译
  • • inlay hints

2.项目管理

工程搭建类
  • • project Management (PS & PL)
  • • lib Management (IP & bd)
仿真搭建类
  • • generate instance & tb file
  • • fast simulate
设计辅助类
  • • [x]tree Structure
  • • [x]netlist preview
  • • [x]Code to doc
  • • [x]fsm preview
  • • [x]waveform preview
  • • [0]fsm designer

安装

1.安装前准备

安装最新版VSCode

https://code.visualstudio.com/

2.安装DIDE插件

DIDE不同于其他EDA工具,它无需繁琐的前置环境配置,只需一键安装,即可获得完整的开发环境。

安装

搜索DIDE安装即可

图片[3]-EDA工具链:一款颠覆认知的FPGA或数字IC开源开发工具-Anlogic-安路社区-FPGA CPLD-ChipDebug
LSP安装

默认会安装全套环境,如果网络不好可能需要手动安装LSP
打开 vscode,按下 F1,输入 download 后,找到下图这个指令:

图片[4]-EDA工具链:一款颠覆认知的FPGA或数字IC开源开发工具-Anlogic-安路社区-FPGA CPLD-ChipDebug
其他问题

离线或者其他安装问题可查看DIDE官网安装:

https://nc-ai.cn/article/60esc87p/#%E4%BB%8E-vscode-%E5%AE%89%E8%A3%85

使用

一、文件夹启动

1.用VSCode打开对应RTL工程的文件夹

图片[5]-EDA工具链:一款颠覆认知的FPGA或数字IC开源开发工具-Anlogic-安路社区-FPGA CPLD-ChipDebug

2.找到DIDE图标

图片[6]-EDA工具链:一款颠覆认知的FPGA或数字IC开源开发工具-Anlogic-安路社区-FPGA CPLD-ChipDebug

3.设置你的top文件

图片[7]-EDA工具链:一款颠覆认知的FPGA或数字IC开源开发工具-Anlogic-安路社区-FPGA CPLD-ChipDebug

4.启动方式

具体的启动方式可以参考 DIDE官方网站,上述内容仅介绍了最简单的启动方式。如果需要更高级的配置或个性化设置,建议查看官方文档,以充分发挥 DIDE 的强大功能

https://nc-ai.cn/article/40pehd2r/#%E5%8D%95%E6%96%87%E4%BB%B6%E5%90%AF%E5%8A%A8

二、语法纠错

DIDE兼容了这些诊断工具,它们的基本信息和对各个HDL 语言的支持情况如下表。

工具名称
Verilog
SystemVerilog
VHDL
iverilog
✔️
modelsim
✔️
✔️
✔️
vivado
✔️
✔️
✔️
verible
✔️
✔️
verilator
✔️
✔️

1.设置诊断工具

打开插件设置,设置我们自己的诊断工具
这里我使用的是verilator,如果你使用vivado,选择vivado即可

图片[8]-EDA工具链:一款颠覆认知的FPGA或数字IC开源开发工具-Anlogic-安路社区-FPGA CPLD-ChipDebug

2.设置路径

如果是windows用户可能需要设置vivado或者modelsim的bin路径

图片[9]-EDA工具链:一款颠覆认知的FPGA或数字IC开源开发工具-Anlogic-安路社区-FPGA CPLD-ChipDebug

3.实现效果

https://nc-ai.cn/videos/lsp/linter-introduction.mp4

三、文件大纲

点击左侧文件夹,可以看到当前代码的大纲

图片[10]-EDA工具链:一款颠覆认知的FPGA或数字IC开源开发工具-Anlogic-安路社区-FPGA CPLD-ChipDebug

四、悬停提示

当我们的鼠标放在调用的模块或信号上,会出现该模块的提示,用于展示这些变量的上下文。

图片[11]-EDA工具链:一款颠覆认知的FPGA或数字IC开源开发工具-Anlogic-安路社区-FPGA CPLD-ChipDebug

五、自动补全及自动例化

1.代码片段补全

snippet 补全(代码片段补全)是 vscode 自带的一种补全方式,由插件和用户所提供的 snippet 共同组成。用户定义常用代码的模板,vscode 会自定根据前缀把这个模板补全添加到自动补全列表中。

图片[12]-EDA工具链:一款颠覆认知的FPGA或数字IC开源开发工具-Anlogic-安路社区-FPGA CPLD-ChipDebug

2.预定代码片段

DIDE 提供了 verilog 和 vhdl 的常用模板,在本插件的 snippet 中补充了一些常用设计组件,如申明模块、边沿提取、计数器、简单状态机模板等逻辑
如果你希望自行补充自定义的一些snippet功能,也可以自行添加,具体可查看官网CF.1自定义代码片段

3.自动例化

只要打出你想要例化的模块名(可自动关联)就能将该模块的例化自动补充出来。

3.原语例化

在0.4.0版本之后,插件包含了xilinx以及efinix的所有原语的例化,同时给出相应的注释,再也不用到vivado中的language template里面进行复制。

4.查看官网

更详细的应用案例可查看官网:

https://nc-ai.cn/article/un7eg34t/#cf-2-%E8%87%AA%E5%8A%A8%E4%BE%8B%E5%8C%96

六、自定义跳转

代码设计中的“定义跳转”(Definition Jump 或 Go to Definition)功能是一种快速导航工具,允许用户快速在编辑器中跳转到对应变量的定义的位置上。

按住 ctrl 键(MAC cmd键),再鼠标左击标识符,便可进行跳转,效果可查看官网视频:

https://nc-ai.cn/videos/lsp/definition-common.mp4

七、代码格式化

可以对选中的字符或者全文进行文档的格式化 vscode自带快捷键打开方式:shift + alt + f。支持verilog和VHDL。
verilog 和 systemverilog格式化类型,支持三种类型 kransigun

图片[13]-EDA工具链:一款颠覆认知的FPGA或数字IC开源开发工具-Anlogic-安路社区-FPGA CPLD-ChipDebug
图片[14]-EDA工具链:一款颠覆认知的FPGA或数字IC开源开发工具-Anlogic-安路社区-FPGA CPLD-ChipDebug

八、代码翻译

支持vhdl转Verilog的翻译功能,以下是他的效果视频:

https://nc-ai.cn/videos/lsp/translate-common.mp4

九、Inlay Hints

Inlay Hints 是一项新的 IDE 技术,用于在文本编辑器中渲染行间文本,用于进行提示。

1.例化模块端口

图片[15]-EDA工具链:一款颠覆认知的FPGA或数字IC开源开发工具-Anlogic-安路社区-FPGA CPLD-ChipDebug

2.模块结尾申明

图片[16]-EDA工具链:一款颠覆认知的FPGA或数字IC开源开发工具-Anlogic-安路社区-FPGA CPLD-ChipDebug

十、文档化

1.代码文档化

通过文档化,你可以快速了解当前 verilog 或者 vhdl 文件中 module 的基本信息和依赖信息。依赖信息也支持跳转。

图片[17]-EDA工具链:一款颠覆认知的FPGA或数字IC开源开发工具-Anlogic-安路社区-FPGA CPLD-ChipDebug

2.Wavedrom注释

Wavedrom 是一种用于绘制数字时序图的工具,特别适合硬件设计和数字电路仿真。使用简单的 JSON 格式来描述波形,并能在浏览器中实时渲染。
DIDE 也支持了在注释中编写 Wavedrom 风格的注释,并在文档化中渲染它们。Wavedrom 注释必须写成块状注释,并且必须在块状注释的第一行写上 @wavedrom

图片[18]-EDA工具链:一款颠覆认知的FPGA或数字IC开源开发工具-Anlogic-安路社区-FPGA CPLD-ChipDebug

十一、网表查看

1.点击某根连线还会有很炫酷的动画

图片[19]-EDA工具链:一款颠覆认知的FPGA或数字IC开源开发工具-Anlogic-安路社区-FPGA CPLD-ChipDebug

2.还可以trace对应的信号

图片[20]-EDA工具链:一款颠覆认知的FPGA或数字IC开源开发工具-Anlogic-安路社区-FPGA CPLD-ChipDebug

3.以及各种不同的设置

图片[21]-EDA工具链:一款颠覆认知的FPGA或数字IC开源开发工具-Anlogic-安路社区-FPGA CPLD-ChipDebug

十二、其他功能

DIDE还有很多的功能,如VCS波形查看
以及vivado工程的搭建,甚至可以通过VSCode来实现仿真,综合,执行,生成bit流等各种功能。受篇幅所限,这里就不再介绍

1.vivado工作流

vivado工作流
vivado工作流

2.VCD波形查看

VCD波形查看
VCD波形查看

3.推荐阅读官方文档

如果想深入了解更多细节,建议参考官方文档,其中提供了详细的中文说明,内容清晰易懂:

https://nc-ai.cn/

写在最后

相较之下,现有的 RTL 开发 Flow 显得不够“新”,而这款工具带来了更新颖的开发体验。近年来,随着国产化浪潮的推进,相信未来会有更多类似的EDA工具以及国产软件和硬件产品百花齐放,从最初对国产工具的存疑,到如今它们不断推陈出新、突破技术壁垒,我们可以预见,国产化的道路正越走越稳,越来越好。

类似的EDA工具,只有使用的人越来越多,社区生态才能不断发展,工具本身也会变得越来越完善。希望各位读者朋友多多分享和推广这类优秀的国产工具,让更多开发者受益,共同推动国产EDA生态的进步