amaranth
amaranth copied to clipboard
A modern hardware definition language and toolchain based on Python
- RFC PR: amaranth-lang/rfcs#63 - Deprecation PR (0.5): #1311 - Removal PR (0.6): TODO
- [x] Code - [ ] Guide-level documentation - [ ] Reference-level documentation [Documentation preview](https://whitequark.github.io/amaranth/docs/streams/stdlib/stream.html)
The following design: ``` from amaranth import * from amaranth.back import verilog class Bar(Elaboratable): def elaborate(self, platform): m = Module() m.d.sync += Signal().eq(1) return m class Foo(Elaboratable): def elaborate(self, platform):...
- RFC PR: https://github.com/amaranth-lang/rfcs/pull/61 - Implementation PR: https://github.com/amaranth-lang/amaranth/pull/1266
See [preview](https://whitequark.github.io/amaranth/docs/dark-theme/stdlib/memory.html). Unfortunately this approach (using [sphinx-rtd-dark-mode](https://pypi.org/project/sphinx-rtd-dark-mode/)) has several issues: - [ ] Parts of the theme are outright broken and unreadable (see below; these are examples from the preview...
- RFC PR: amaranth-lang/rfcs#59 - Implementation PR (0.5): #1259 - Implementation PR (0.6): #1397 - Implementation PR (0.7): TODO
The rules are quite simple and liberal: * Can't be None or the empty string (case-specific exceptions) * Can't contain a Unicode separator character * Can't contain a Unicode control...
- RFC PR: amaranth-lang/rfcs#54 - Implementation PR: TODO (milestone 0.6)
Those should be either removed or replaced with an AST visitor function/class.
- RFC PR: amaranth-lang/rfcs#51 - Implementation PR: https://github.com/amaranth-lang/amaranth/pull/1202 - Deprecation PR (for making `ShapeCastable.from_bits` non-optional): N/A (for milestone 0.6)