🚀 收录与整理使用 Python 进行芯片建模、仿真、验证、测试等的优质开源工具项目,帮助研究者、开发者和学生高效入门和选型。
版本:v0.1(持续完善中)
当前 Python 在芯片设计、验证和仿真领域应用越来越广,但相关工具和资源分散、缺乏系统整理。本项目希望为该领域的开发者、教学者与爱好者提供一站式参考和交流平台。
-
PyRTL:面向教学的 Python RTL 电路设计与仿真平台,适合数字逻辑课程、原型验证。
-
polyphony:可将 Python 代码直接转换为 HDL,支持硬件合成。
-
hdl21:用于模拟和数字硬件设计的 Python 领域特定语言。
- Pyverilog:用于 Verilog 代码解析、分析、转换的 Python 工具,适合自动化设计流程和EDA研究。
- pyVHDLParser:VHDL 的 Python 解析器,可用于代码分析、抽象语法树生成等。
- BinPy:用 Python 进行逻辑门与组合电路的建模与仿真,适合教学、原型实验。
- DigSim:Python 实现的数字逻辑电路仿真器,支持门电路搭建与波形分析。
- Logisim-evolution:虽为 Java 工具,但有 Python 脚本接口,可辅助数字电路实验和自动化仿真。
- pyFDA:Python 下的数字滤波器设计与分析工具。
- Edalize:统一调用和管理多种 EDA 工具(如 Icarus, Yosys, ModelSim, Verilator, Vivado 等),支持项目文件生成、批量/GUI 模式运行。
- FuseSoC:基于 Python 的 SoC 构建和集成工具,支持多种后端仿真器和 EDA 工具。
- cocotb
- pyvpi
- Cocotb-test:Cocotb 的测试驱动和自动化扩展工具。
- ChatEDA:大语言模型 EDA 智能体
- SNS:基于深度学习的综合工具,用于探索人工智能驱动的硬件综合任务。
- Developing synthesis flows without human knowledge:基于强化学习的自动综合流程生成工具
- AutoDMP: Automated DREAMPlace-based Macro Placement
- DeePEB: A Neural Partial Differential Equation Solver for Post Exposure Baking Simulation in Lithography
- hdlparse
- pyvcd:一个仿真波形/数据处理辅助工具
- pyDigitalWaveTools:Python 处理 VCD、FSDB 等数字仿真波形文件的工具。
- pyverilator:Python 接口,用于与 Verilator 交互、自动化测试。
- CircuitNet:开源 EDA 机器学习研究数据集,涵盖布图、综合、时序等多类任务,适合算法训练与评测。
- PyMTL 在计算机体系结构教学中的应用 - 知乎
- Awesome HDL - 综合 HDL 资源(多语言)
- 超40个芯片类开源项目推荐 - 极术社区 AI EDA
- Awesome Artificial Intelligence for Electronic Design Automation
- LLM4EDA: Emerging Progress in Large Language Models for Electronic Design Automation
- thu-nics: Awesome AI for EDA
- ai4eda: Awesome AI for EDA
- 欢迎通过 Issue 或 PR 推荐新项目、补充文档、修正错误!
- 推荐格式见
CONTRIBUTING.md,请注明工具名称、简介、项目地址及适用场景。 - 欢迎提供英文/中文文档、示例代码、实际案例等资料!
本项目内容遵循 MIT License。
- 提问、建议或合作可通过 Issue 或 Discussions 区留言。
- 欢迎关注、Star、Fork 本项目,助力 Python+芯片仿真生态发展!
本项目选题由 Copilot 提供,感谢其智能辅助与灵感支持。
🚀 This is a curated, continuously-updated collection of open-source Python projects for chip modeling, simulation, verification, and testing. The goal is to help researchers, developers, and students quickly find and select the right tools to accelerate their work in hardware design and education.
Version: v0.1 (Actively maintained and improved)
Python's role in chip design, verification, and simulation is expanding rapidly. However, the available tools and resources are scattered and lack a unified, systematized directory. This project brings together high-quality Python-based EDA and simulation tools in one place, making it easier for engineers, educators, and hobbyists to discover, compare, and use these resources.
- PyMTL: An open-source Python framework for multi-level hardware modeling.
- PyRTL: A teaching-oriented Python platform for RTL circuit design and simulation, ideal for digital logic courses and prototyping.
- MyHDL: Converts Python code to synthesizable HDL, enabling hardware design directly in Python.
- Migen / Nmigen: Python toolkits for building complex digital hardware designs.
- polyphony: Translates Python code to synthesizable HDL for hardware synthesis.
- hdl21: Domain-specific language in Python for analog and digital hardware design.
- Pyverilog: A Python library for parsing, analyzing, and transforming Verilog code, suitable for EDA research and automation.
- pyVHDLParser: Python parser for VHDL, supporting code analysis and AST generation.
- BinPy: Models and simulates logic gates and combinational circuits in Python for education and prototyping.
- DigSim: A Python-based digital logic simulator supporting gate-level design and waveform analysis.
- Logisim-evolution: Java-based digital circuit tool with a Python scripting interface for experiments and automation.
- pyFDA: A Python tool for digital filter design and analysis.
- Edalize: Provides a unified interface for managing multiple EDA tools (Icarus, Yosys, ModelSim, Verilator, Vivado, etc.), supporting project generation and batch/GUI operation.
- FuseSoC: Python-based SoC build and integration tool with support for various simulators and backends.
- cocotb: Coroutine-based cosimulation library for writing testbenches in Python.
- pyvpi: Python interface for VPI, enabling integration with Verilog simulators.
- Cocotb-test: Utilities for test automation and organization with cocotb.
- PySpice: A Python interface to SPICE simulators for analog and mixed-signal circuit simulation.
- SKiDL: Python library for programmatically generating electronic circuit schematics.
- PyAMS: Framework for mixed-signal modeling and simulation in Python.
- pyopus: Tools for analog and mixed-signal circuit design and analysis.
- ChatEDA: LLM-based EDA assistant agent.
- SNS: Deep learning-based hardware synthesis tool, exploring AI-driven EDA flows.
- FLowGen-CNNs-DAC18: Reinforcement learning for automatic synthesis flow generation.
- AutoDMP: Automated macro placement using DREAMPlace and machine learning.
- DeePEB: Neural PDE solver for lithography post-exposure baking simulation.
- hdlparse: Tools for parsing HDL files.
- pyvcd: Tools for processing simulation waveforms and VCD data in Python.
- pyDigitalWaveTools: Python utilities for handling VCD, FSDB, and similar waveform files.
- pyverilator: Python interface for automated Verilator simulation and testing.
- CircuitNet: Open EDA machine learning datasets for layout, synthesis, timing, and algorithm evaluation.
- PyMTL in Computer Architecture Teaching - Zhihu
- Awesome HDL - Comprehensive multi-language HDL resources
- 40+ Open Source Chip Projects Recommendation - Aijishu
- Awesome Artificial Intelligence for Electronic Design Automation
- LLM4EDA: Progress in Large Language Models for EDA
- thu-nics: Awesome AI for EDA
- ai4eda: Awesome AI for EDA
- Contributions are welcome! Recommend new projects, add documentation, or report errors via Issues or Pull Requests.
- Please follow the format found in
CONTRIBUTING.md—include tool name, description, project link, and applicable scenarios. - Contributions of English/Chinese docs, code samples, and real-world use cases are especially encouraged!
This project is licensed under the MIT License.
- For questions, suggestions, or collaboration, please use Issues or Discussions.
- If you find this project helpful, please star, fork, or share it to support the Python hardware simulation ecosystem!
This project was inspired by Copilot. Thanks to its intelligent assistance and support.