跳转到主要内容

Amaranth硬件定义语言

项目描述

Amaranth HDL(以前称为nMigen)

Amaranth项目提供了一组开源工具链,用于使用Python编程语言开发基于同步数字逻辑的硬件,包括评估板定义系统芯片工具包等。它旨在易于学习和使用,减少或消除常见的编码错误,并使用可重用组件简化复杂硬件的设计。

Amaranth工具链包括Amaranth硬件定义语言、标准库、模拟器和构建系统,涵盖了典型FPGA开发工作流程的所有步骤。同时,它不对设计师选择工具进行限制:现有的行业标准(System)Verilog或VHDL代码可以集成到基于Amaranth的设计流程中,或者相反,Amaranth代码可以集成到现有的基于Verilog的设计流程中。

Amaranth的开发得到了LambdaConceptChipElevenChipflow的支持。

简介

请参阅文档中的简介部分。

安装

请参阅文档中的安装部分。

用法

请参阅文档中的语言指南部分。

平台支持

Amaranth可以用于针对任何接受行为Verilog-2001作为输入的FPGA或ASIC工艺。它还提供了对许多FPGA系列的扩展支持,包括工具链集成、针对特定设备的原语抽象等。具体来说

  • Lattice iCE40(工具链:Yosys+nextpnr,LSE-iCECube2,Synplify-iCECube2);
  • Lattice MachXO2, MachXO3L(工具链:Yosys+nextpnr,Diamond);
  • Lattice ECP5(工具链:Yosys+nextpnr,Diamond);
  • Lattice Nexus(工具链:Yosys+nextpnr,Radiant);
  • AMD Virtex, Virtex E, Spartan 2, Spartan 2E(工具链:ISE);
  • AMD Virtex II, Virtex II Pro(工具链:ISE);
  • AMD Spartan 3, Spartan 3E, Spartan 3A, Spartan 3AN, Spartan 3A DSP(工具链:ISE);
  • AMD Virtex 4, Virtex 5, Virtex 6(工具链:ISE);
  • AMD Spartan 6(工具链:ISE);
  • AMD 7系列(工具链:Vivado,ISE);
  • AMD UltraScale,UltraScale+(工具链:Vivado);
  • Altera(工具链:Quartus);
  • Quicklogic EOS S3(工具链:Yosys+VPR)。

开源工具链以粗体显示。

社区

Amaranth有一个专门的IRC频道#amaranth-lang at libera.chat,该频道已通过[1]桥接到#amaranth-lang:matrix.org的Matrix。您可以加入并询问有关使用Amaranth的问题,或讨论Amaranth及其相关项目的持续开发。

[1]:相同的消息出现在IRC和Matrix上,您可以使用任一通信系统平等地参与讨论。

许可证

Amaranth在双条款BSD许可证下发布。只要复制许可证文件中的版权声明,您就可以使用Amaranth进行开源和专有设计。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源分发

amaranth-0.5.2.tar.gz (225.4 kB 查看哈希

上传时间:

构建分发

amaranth-0.5.2-py3-none-any.whl (252.5 kB 查看哈希

上传时间: Python 3

由以下提供支持