编程学习网 > 编程语言 > Python > 用 Python 写硬件|Amaranth HDL:开源 FPGA 设计的新革命
2025
08-14

用 Python 写硬件|Amaranth HDL:开源 FPGA 设计的新革命


过去二十多年,FPGA/ASIC 设计几乎是 Verilog + VHDL 的天下,学习曲线陡、代码复用性弱、生态封闭。 但 Python 靠着几个“天赋技能”,开始在硬件设计圈攻城略地。

从MyHDL(https://github.com/myhdl/myhdl)开始(2003年)人们就开始探索使用Python进行FPGA/ASIC 开发,但是受限于之前的开发方式(思路的演变),所以myhdl并没有受到太多关注,但是还有一个基于Python开发FPGA/ASIC的方式-Amaranth,我们今天就好好介绍一下。
什么是 Amaranth?为什么值得关注
Amaranth HDL 是一个基于 Python 的硬件描述语言工具链,专注于描述同步数字逻辑,适配 FPGA 与 ASIC 开发流程。
与传统 Verilog/VHDL 不同,Amaranth 借助 Python 的表达能力,让设计变得更简洁、模块化、更易于调试与复用 。
它具备标准库、模拟器、构建系统全套工具链,支持集成 SystemVerilog/VHDL 模块,也可生成标准 Verilog 供传统工具使用 。
核心亮点与优势
Python-native HDL:你可以用 Python 写 FSM、时钟域转换、信号处理等结构化代码。
安全性高:避免难以综合的不规范写法,所有构造均明确且可追踪 。
标准库丰富:包括 CDC 原语、FIFO、IO 缓冲定义等硬件公用模块,便于跨平台迁移。
自带仿真能力:提供纯 Python 模拟器,支持多时钟域设计,支持 Python generator 测试基准 。
工具链与平台支持广泛:集成 Yosys、nextpnr 等开源 FPGA 工具,同时提供现成的开发板定义平台。
社区怎么看 Amaranth?不是 HLS 而是地道 HDL
在 Hacker News 上有用户指出:
“Amaranth 就是 HDL,不是 HLS,将硬件描述放在 Python 中,但严格保持硬件语义 & 时序逻辑,不是把 Python 当成硬件语言那种误导。”
“它拥有对时钟域、reset、blockram 等硬件特性的原生支持,是比 SV/VHDL 更贴合硬件本质的语言。”

“红极一时的 Python HDL Flow 中,Amaranth 就以其准确、简洁、可调试成功突围。”

以上就是“用 Python 写硬件|Amaranth HDL:开源 FPGA 设计的新革命的详细内容,想要了解更多Python教程欢迎持续关注编程学习网。

扫码二维码 获取免费视频学习资料

Python编程学习

查 看2022高级编程视频教程免费获取