进行数字IC学习和工作的时候,想在自己的电脑上进行一些工作的时候,常常会苦于没有商业工具。(学习版的除外)。

并且像新思的vcs、dc等所支持的操作系统版本一般比较老旧,其中的python库,C的依赖库已经过时,新的软件往往无法简单的在上面运行,折腾起来会很麻烦。因此在学习和编写RTL代码的阶段,可以选择使用一些开源的EDA工具。

本文记录一下常用的开源EDA工具,仅供参考,如有错误和遗漏欢迎指出。

下面只是会提及这些工具,不会给出这些工具的使用和安装教程(大部分其实都在github上),系统也是以linux为准,有些工具并没有window版本(指的是打包好的内容)。

软件或工具

阶段 / 分类

工具名称

主要用途与特点

常见搭配/备注

0. 代码分析与格式化 (Linting & Formatting)

Verible

专注于 SystemVerilog 的代码格式化(Formatter)与静态语法检查(Linter),提升代码规范性。

适合集成到集成开发环境(IDE)或 CI/CD 自动化流水线中。

Surelog

强大的 SystemVerilog 解析器(Parser),支持完整的 SV 标准,常作为其他前端工具的解析插件。

经常作为 Yosys 等工具的 SV 前端插件使用。

Slang

强大的 SystemVerilog 解析器,支持完整的 SV 标准,常作为其他前端工具的解析插件。

作为前端工具使用,常集成在插件中

1. 仿真与验证 (Simulation & Verification)

Verilator

将 Verilog/SV 代码编译转换为高性能的 C++/SystemC 模型进行周期精确(Cycle-accurate)仿真。

速度极快,是目前开源 CPU(如 RISC-V)验证的首选。

Icarus Verilog (iverilog)

传统的基于 IEEE-1364 标准的事件驱动型 Verilog 仿真器。

适合中小型模块验证,标准兼容性好。

Cocotb

基于 Python 的芯片验证平台(类似于开源的 UVM/SystemVerilog 验证环境)。

需要配合 Iverilog 或 Verilator 作为底层仿真引擎。

2. 波形查看 (Waveform Viewer)

GTKWave

经典的电子波形查看器,支持读取 VCD等多种标准波形格式。

几乎是所有开源仿真器(iverilog、Verilator)的标配可视化工具。

Surfer

基于 Rust 开发的新一代高性能、现代界面的开源波形查看器。

界面更现代化,对大波形文件加载和缩放进行了优化。

3. 逻辑综合 (Synthesis)

Yosys

开源逻辑综合的绝对核心,负责将 RTL(Verilog)代码转换为逻辑门级网表(Netlist)。

支持标准单元映射(Technology Mapping)以及各种形式的逻辑优化。

4. 物理设计(布局布线) (Physical Design / P&R)

OpenROAD

自动化物理设计核心,集成了地板规划(Floorplanning)、布局(Placement)、时钟树综合(CTS)和布线(Routing)。

旨在实现无人值守、24小时内完成 RTL-to-GDSII 的设计。

OpenFASOC

专注于自动化模拟与数字混合信号(AMS)集成电路设计的工具框架。

适合需要快速生成辅助模拟IP(如低功耗管理、LDO、PLL)的数字团队。

5. 静态时序分析 (Static Timing Analysis)

OpenSTA

高性能、工业级的静态时序分析引擎,用于检查芯片的时序违例(Setup/Hold Time)。

已经无缝嵌入在 OpenROAD 内部,也可独立对网表和寄生参数进行签合(Sign-off)。

6. 物理验证与参数提取 (Sign-off Verification)

Magic

超大规模集成电路(VLSI)版图编辑器,具备成熟的实时 DRC(设计规则检查)和 LVS(版图对原理图)。

经典工具,提取寄生参数(RC Extraction)的能力非常可靠。

KLayout

现代、高性能的 GDSII/OASIS 版图查看与编辑工具。

配合 Python 脚本,被用作独立的 DRC/LVS 规则检查器。

7. 数据格式转换与管理 (Data Management)

Netgen

用于网表比较(Netlist Comparison)和 LVS 的底层比较工具。

负责对比 Yosys 生成的门级网表和从版图提取出的网表是否一致。

Ohm / Schema 等

各种用于 LEF/DEF、Liberty(.lib)、SDC 等工业标准设计数据格式解析与转换的小工具。

通常被封装在 OpenLane 等集成工作流的底层。

套件

实际使用中开源的工具往往不是由同一个组织进行维护,下载安装非常麻烦,但是网上也有已经整理好的开源套件提供。

套件名称

核心定位与用途

交付/安装形式

内部集成的核心工具链

OSS CAD Suite

数字前端设计、形式验证、FPGA 开发全能工具箱。

跨平台免安装压缩包 ( linux / macOS)

Yosys, Verilator, iverilog, sby (形式验证), nextpnr, openFPGALoader, GTKWave, Surfer, Python (内置 Amaranth / LiteX)

OpenLane( LibreLane)

专注于 ASIC 芯片落地的自动化 RTL-to-GDSII 全流程流水线。

Docker 容器镜像、源码等

Yosys, ABC, OpenROAD (内置时序分析 OpenSTA), Magic, KLayout, Netgen 以及开源晶圆工艺库 (如 SkyWater 130nm)

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐