amaranth
amaranth copied to clipboard
A modern hardware definition language and toolchain based on Python
- RFC PR: https://github.com/amaranth-lang/rfcs/pull/30 - Amaranth PR: https://github.com/amaranth-lang/amaranth/pull/978 - [x] Implementation - [x] Reference documentation - [x] Guide-level documentation - [x] Expanding the documentation of `lib.wiring` - [x] Changelog entry
Using Views instead of Records has an unfortunate consequence for debugging. In Record, each of the fields had a separate Signal, which made them available for VCD dumping. In contrast,...
Now that we have [RFC 1](https://amaranth-lang.org/rfcs/0001-aggregate-data-structures.html) and [RFC 2](https://amaranth-lang.org/rfcs/0002-interfaces.html), we can finally deprecate (and, later, remove) that awful hack. It should probably not be removed before Amaranth 0.6, since it...
According to [this line](https://github.com/YosysHQ/apicula/blob/a4f04e0c481d0ab5feb828a311cca1a76c7b18b6/examples/Makefile#L130) in apicula, the Tang Nano 9k has the device `GW1NR-LV9QN88PC6/I5` and family `GW1N-9C`. However, when using these values with the Gowin vendor support in Amaranth, the...
For whatever reason I manage to tickle the iCE40 BRAM startup erratum about every three years. In this case, I'm evaluating Amaranth and brought up the iCE40 PLL for the...
Demo: ``` $ cat pyproject.toml [project] name = "efbutils" version = "0" requires-python = "~=3.8" dependencies = [ "amaranth @ file:///${PROJECT_ROOT}/../amaranth" ] [build-system] requires = ["pdm-backend"] build-backend = "pdm.backend" [tool.pdm.build]...
To duplicate: 1. `git clone https://github.com/cr1901/amaranth-unused-elaboratable` 2. `pdm install` 3. `pdm run test` Output on my Windows machine is the following: ``` William@DESKTOP-3H1DSBV MINGW64 ~/Projects/MCVE/amaranth-unused $ pdm run test ========================================================...
What are your thoughts about adding [PEP 484](https://peps.python.org/pep-0484/) / [PEP 526](https://peps.python.org/pep-0526/) type hints to the amaranth.* code? I know that many functions are documented in docstrings, but this lets static...