2025年ChipCamp芯片营地十大开源EDA
本文罗列了2025年在ChipCamp芯片营地所见到的10个代表性开源硬件设计与验证工具:Chisel语言(基于Scala的可综合Verilog生成器)、iVerilog和Verilator(Verilog功能仿真工具)、Yosys(RTL综合框架)、OpenROAD(全流程芯片设计工具)。还涵盖RISC-V开发工具链(riscv-gnu-toolchain)、测试套件(riscv-tests)、
1、Chisel语言:
----官网地址:https://chisel-lang.org。
----被Chipcamp收录于:https://gitcode.com/ChipCamp/chisel。
----Chisel adds hardware construction primitives to the Scala programming language, providing designers with the power of a modern programming language to write complex, parameterizable circuit generators that produce synthesizable Verilog. This generator methodology enables the creation of re-usable components and libraries, such as the FIFO queue and arbiters in the Chisel Standard Library, raising the level of abstraction in design while retaining fine-grained control.
2、iVerilog功能仿真:
----官网地址:https://steveicarus.github.io/iverilog/
----Iverilog is part of the Icarus Verilog suite, which is used for simulating Verilog hardware description language (HDL) designs. It allows users to create, simulate, and test their digital designs, providing both quick simulation and extensive support for different levels of Verilog syntax.
3、Verilator功能仿真:
----官网地址:https://verilator.org/
----The Verilator package converts Verilog and SystemVerilog hardware description language (HDL) designs into a C++ or SystemC model that, after compiling, can be executed. Verilator is not a traditional simulator but a compiler.
4、Yosys综合工具:
----官网地址:https://yosyshq.net/
----被Chipcamp收录于:https://gitcode.com/ChipCamp/Yosys。
----Yosys is a framework for Verilog RTL synthesis. It currently has extensive Verilog-2005 support and provides a basic set of synthesis algorithms for various application domains.
5、OpenROAD全流程的设计工作流:
----官网地址:https://theopenroadproject.com
----被Chipcamp收录于:https://gitcode.com/ChipCamp/OpenROAD。
----OpenROAD is the leading open-source, foundational application for semiconductor digital design. The OpenROAD flow delivers an Autonomous, No-Human-In-Loop (NHIL) flow, 24 hour turnaround from RTL-GDSII for rapid design exploration and physical design implementation.
6、riscv64-linux-gnu-gcc和riscv64-unknown-elf-gcc:
----官网地址:https://gitcode.com/riscv-collab/riscv-gnu-toolchain。
----riscv64-unknown-elf-gcc 是一个用于RISC-V架构的交叉编译器,主要用于编译RISC-V架构的嵌入式系统程序,支持通过参数指定32位或者64位架构。它使用的是newlib C运行库,支持静态链接。riscv64-linux-gnu-gcc 则主要用于通用的编译比如基于RISC-V的PC或Server的应用程序编译。
7、riscv-tests:
----官网地址:https://github.com/riscv-software-src/riscv-tests
----被Chipcamp收录于:https://gitcode.com/ChipCamp/riscv-tests。
----A test program for RISC-V is written within a single assembly language file, which is passed through the C preprocessor, and all regular assembly directives can be used.
----本仓库托管用于RISC-V处理器的单元测试。RISC-V测试程序需编写为单个汇编语言文件,该文件会经过C预处理器处理,且支持所有标准汇编指令。
8、riscv-spike:
----官网地址:https://github.com/riscv-software-src/riscv-isa-sim。
----Spike, the RISC-V ISA Simulator, implements a functional model of one or more RISC-V harts.
----Spike代表了一类称作“指令集模拟器(Instruction Set Simulation, ISS)的工具,意义在于,RISC-V的代码编译为二进制机器码,放在所设计的RISC-V芯片中运行和测试,即是对芯片的RTL代码进行功能验证,但运行的结果是否正确,如果都通过传统的测试用例(测试代码,预期结果),则这个测试用例的构造会非常繁琐。而采用ISS工具,则可以将RISC-V的二进制机器码使用ISS运行一次并获得结果,和在RTL芯片代码中运行的结果进行对比,如果结果一样则表明测试用例没问题。这个ISS作为RTL芯片代码的“参照物(reference)”,实现芯片的自动化验证。
----这种通过参照物对芯片进行自动化验证,是芯片功能验证的一个范式/套路,对RISC-V芯片来说,最广泛的功能验证就是基于RISC-V ISA所构造的二进制机器码(所谓ABI的概念)的运行验证,spike则是这其中的关键一环。甚至在另一种验证方法学之形式验证中,也能清楚地见到使用“参照物”进行“对比”的套路,哪就是拿RTL级别代码的仿真结果,和综合以后的低级别的电路描述(低级别电路代码)的仿真结果进行比对,从而判断综合出来的低级别电路描述是否正确。
9、Qemu
----官网地址:https://www.qemu.org/
----Full-system emulation Run operating systems for any machine on any supported architecture. Qemu可以对一个系统进行仿真,常见的场景是在芯片回片之前,比如某个新的ISA架构的芯片或者外设芯片回片之前,就可以开始写软件&编译并在qemu上运行调试。等到芯片回来的时候,软件已经写好了并可以开始对芯片进行验证。
----还有一些简单的场景,编写.c代码,使用riscv64-linux-gnu-gcc编译链接文件,使用qemu对这个二进制指令的文件进行仿真运行,这就非常ISS了。
10、Logisim
----官网地址:https://www.cburch.com/logisim/
----Logisim is an educational tool for designing and simulating digital logic circuits. With its simple toolbar interface and simulation of circuits as you build them, it is simple enough to facilitate learning the most basic concepts related to logic circuits. With the capacity to build larger circuits from smaller subcircuits, and to draw bundles of wires with a single mouse drag, Logisim can be used (and is used) to design and simulate entire CPUs for educational purposes.
----Logisim的图形化功能非常强大,可以学习最基础的逻辑电路原理,也可以用来设计和仿真一整个CPU的行为,特别是它通过图形化动画的形式展示CPU的运行逻辑(众多的部件分步骤的动作),非常直观。
----Logisim is used by students at colleges and universities around the world in many types of classes, ranging from a brief unit on logic in general-education computer science surveys, to computer organization courses, to full-semester courses on computer architecture.
----Logisim被全世界范围内的众多学校和专业所使用,包括计算机科学基础,计算机组成原理介绍,甚至一个完整学期的计算机架构课程。
封面图:

关键词:Chisel, iVerilog, Verilator, Yosys, OpenRoad, riscv64-unknown-elf-gcc, riscv-tests, riscv-spike, qemu, Logisim.
摘要:本文罗列了2025年在ChipCamp芯片营地所见到的10个代表性开源硬件设计与验证工具:Chisel语言(基于Scala的可综合Verilog生成器)、iVerilog和Verilator(Verilog功能仿真工具)、Yosys(RTL综合框架)、OpenROAD(全流程芯片设计工具)。还涵盖RISC-V开发工具链(riscv-gnu-toolchain)、测试套件(riscv-tests)、指令集模拟器(Spike)、系统仿真器(Qemu)以及教学用数字电路仿真工具Logisim。
更多推荐


所有评论(0)