amaranth-soc icon indicating copy to clipboard operation
amaranth-soc copied to clipboard

System on Chip toolkit for Amaranth HDL

Results 30 amaranth-soc issues
Sort by recently updated
recently updated
newest added

In multiple places I end up needing an enable signal that generates ones at a given frequency in relation to the domain clock. This is a proposal for a generic...

design

This PR migrates existing docstrings to numpydoc and renders them with `pdm run document` alongside upstream documentation. Docstring content is (mostly) left untouched and will be the focus of the...

Remains in draft status until: - [ ] amaranth-lang/rfcs#60 is merged. - [x] amaranth-lang/amaranth#1244 is closed.

- RFC PR: https://github.com/amaranth-lang/rfcs/pull/49 - Amaranth SoC PR: - [x] Implementation: amaranth-lang/amaranth-soc#76 - [ ] Reference documentation - [ ] Guide-level documentation

"TODO" isn't a very convincing pitch.

improvement

- RFC PR: https://github.com/amaranth-lang/rfcs/pull/16 - Amaranth SoC PR: https://github.com/amaranth-lang/amaranth-soc/pull/40 - [x] Implementation: amaranth-lang/amaranth-soc#40 - [x] Fix amaranth-lang/amaranth-soc#69 - [ ] Reference documentation - [ ] Guide-level documentation

Currently, `csr.Builder` works around this by casting array indices to strings calling `MemoryMap.add_resource()`. Repro: ```python3 from amaranth import * from amaranth_soc import csr class FooRegister(csr.Register, access="r"): a: csr.Field(csr.action.R, unsigned(8)) regs...

bug

Depends on PR amaranth-lang/amaranth#978. `MemoryMap` resources (e.g. `csr.Element`s) are now assumed to have a `.signature` property, which lets them hold annotations. I am not sure whether we should enforce this...

Peripherals are a currently missing building block from nmigen-soc. They would provide wrappers to cores by means of a CSR interface (also interrupts, but handling these could be the subject...

question
meta:needs-rfc

Apparently, resources in a dense memory window cannot be smaller than the data width of the parent memory map. This can be demonstrated in `test_memory.py` by making the resource in...