Commit graph

217 commits

Author SHA1 Message Date
Catherine a0750b89c6 Release version 0.5. 2024-06-14 19:41:03 +00:00
Catherine f3bcdf4782 docs/changes: add RFC 42. 2024-06-14 18:51:38 +00:00
Catherine 64809bea99 docs/changes: reorder migration checklist by importance. 2024-06-14 18:51:38 +00:00
Catherine 2c0265d827 Implement RFC 61: Minimal streams. 2024-06-14 18:51:38 +00:00
Catherine 86fdaba2db docs/simulator: improve explanation for resetting the simulation. 2024-06-10 14:06:57 +00:00
Catherine 7870eb344b sim: document.
This commit includes additional non-documentation changes, related to
issues found while documenting it:
- `Simulator.run_until()` no longer accepts a `run_passive=` argument.
  Passive no longer exist and in any case defaulting to `False` does not
  make a lot of sense from an API perspective.
- `add_clock()`'s `phase=` argument, when specified, no longer has
  `period/2` added to it. This wasn't the documented behavior in first
  place and it makes no sense to do that.
- `add_clock()` raises a `NameError` if a clock domain does not exist,
  instead of `ValueError`.
- `add_clock()` raises a `DriverConflict` if a clock domain is already
  being driven by a clock, instead of `ValueError`.
- GTKWave is no longer a part of the installation instructions, and both
  Surfer and GTKWave are recommended (in this order).
2024-06-10 10:34:32 +00:00
Wanda d3c312cf96 Implement RFC 55: New lib.io components. 2024-05-22 13:47:13 +00:00
Catherine 324c37f9fa docs/stdlib/io: document I/O buffer library. 2024-05-21 15:58:59 +00:00
Wanda 77dab7884c hdl._dsl: raise an error when modifying an already-elaborated Module.
This renames the `FrozenMemory` exception to `AlreadyElaborated`
and reuses it for modules.

Fixes #1350.
2024-05-18 00:59:00 +00:00
Catherine ae71cf6601 docs/guide: remove the warning for array resource exhaustion.
It is no longer relevant in a NIR world.
2024-05-13 02:39:40 +00:00
Catherine 001f7c78dc docs: note that Array and ArrayLayout are distinct. 2024-05-13 02:39:40 +00:00
Catherine cd679dd9b3 docs: exempt https://amaranth-lang.org/schema/ (exact) from linkcheck. 2024-05-11 08:55:53 +00:00
Jean-François Nguyen 496432edaa Implement RFC 30: Component metadata.
Co-authored-by: Catherine <whitequark@whitequark.org>
2024-05-10 13:17:24 +00:00
Sohaib Errabii 79d9f5e8a4 docs._code: led to led.o 2024-05-04 20:01:22 +00:00
Wanda dde8334031 vendor._lattice: add Nexus support.
Co-authored-by: Nate Slager <slagernate@gmail.com>
2024-04-19 16:01:30 +00:00
Wanda 09045a2724 vendor._lattice: merge ECP5 and MachXO[23] into one platform. 2024-04-18 15:32:08 +00:00
Wanda a7a7d32099 hdl._ast: deprecate Value.implies. 2024-04-16 19:26:08 +00:00
Chris Baker c4370efcf4 docs: change combinatorial to combinational
- Replace occurrences of combinatorial with combinational in docstrings
- Replace occurrences of combinatorial with combinational in .rst files
- Add note to contrib.rst to document the editorial decision from #1301
2024-04-16 02:19:10 +00:00
Wanda 08aaac9a41 docs/guide: remove warning about lack of combinational loop detection. 2024-04-15 17:33:27 +00:00
Catherine 8c1c9f2d26 docs: begin building the documentation style guide. 2024-04-13 20:56:55 +00:00
Wanda 8bf4f77616 sim: use Format.* for VCD output, remove hdl._repr.
This also changes `decoder` a bit: when an enum is used as a decoder,
it is converted to a `Format.Enum` instead. The original enum is still
stored on the `decoder` attribute, so that it can be propagated
on `Signal.like`.
2024-04-13 10:00:16 +00:00
Wanda 49a8a942e8 lib.enum: rename EnumMeta to EnumType.
Fixes #1073.
2024-04-11 08:40:12 +00:00
Catherine 84dff93786 docs/stdlib/crc: minor phrasing improvement. 2024-04-11 06:46:27 +00:00
Wanda 7fe62f810b Implement RFC 63: Remove amaranth.lib.coding 2024-04-11 00:15:55 +00:00
Catherine 8c02d3ef89 Bump Yosys dependency to >=0.40. 2024-04-10 21:57:30 +00:00
Jean-François Nguyen fd811831fd docs: remove margin around logo background. 2024-04-10 19:58:40 +00:00
Catherine b6f51d269e lib.crc,docs/stdlib/crc: improve consistency with the rest of documentation. 2024-04-10 05:08:05 +00:00
Catherine d557afdcd9 docs: avoid excessive font smallness in the sidebar. 2024-04-10 01:30:10 +00:00
Catherine 3103841eee docs/stdlib/data: use :py: role. NFC 2024-04-10 01:30:10 +00:00
Catherine 1a962cc405 docs: remove all generated WaveDrom diagrams. 2024-04-10 01:30:10 +00:00
Catherine 7dd93bea57 Document RFC 62.
This includes a few minor code changes:
- Removing redundant `lib.memory.Memory.Init = hdl.MemoryData.Init`
  re-export;
- Renaming `FrozenError` to `FrozenMemory` and moving it to `.hdl`;
- Marking `ReadPort` and `WritePort` as `@final`.
2024-04-09 15:52:34 +00:00
Catherine 6fb5f3f120 docs/memory: use wavedrom directive for diagrams. 2024-04-07 08:03:44 +00:00
Wanda 0e6d802de4 Implement RFC 58: Core support for ValueCastable formatting. 2024-04-03 19:59:19 +00:00
Wanda 767d69c703 hdl._mem: implement MemoryData._Row from RFC 62. 2024-04-03 17:15:02 +00:00
Wanda 93ef89626e docs: add links to more docs versions. 2024-04-03 16:15:25 +00:00
Catherine 967dabc2fe docs/{guide,reference}: clarify semantics of a.any() vs a.bool(). 2024-04-03 13:29:19 +00:00
Catherine 3c6f46717b lib.wiring: allow reset-less signals in interfaces.
This check was originally added out of abundance of caution, but since
then it was observed that reset-less-ness is purely an implementation
detail (see #1220), and furthermore it interferes with adaptation of
`FIFOInterface`` signals (where `[rw]_data` are reset-less) for RFC 61.
2024-04-03 12:01:48 +00:00
Wanda 0e4c2de725 Implement RFC 59: Get rid of upwards propagation of clock domains 2024-04-02 17:00:42 +00:00
Wanda 09d5540430 hdl._mem: add MemoryData class.
This implements half of RFC 62. The `MemoryData._Row` class will be
implemented later, as a follow-up.
2024-04-02 14:58:23 +00:00
Catherine f261071f7c docs/guide: clarify section on IOBufferInstance.
There is no reason to assign names to `IOBufferInstance` submodules
because it's ignored anyways.
2024-03-26 23:21:29 +00:00
Catherine 3d5c36a606 docs/reference: finish Value section. 2024-03-25 16:03:55 +00:00
Catherine 6ce82848d9 lib.memory: Memory.{r,w}_ports.{read,write}_ports.
The abbreviated form was initially added to match `lib.fifo`, but it
looks very out of place on `lib.memory`, and we may be moving away from
such heavy use of abbreviations anyway.

While technically a breaking change, these attributes have very narrow
usefulness and so this change qualifies as "minor".
2024-03-22 23:05:42 +00:00
Catherine 8d44ec513d lib.memory: improve and finish documentation. 2024-03-22 23:05:42 +00:00
Catherine e3c9296813 docs: introduce custom "Members" section, for lib.wiring signatures. 2024-03-22 23:05:42 +00:00
Catherine 6b512520ff docs: upgrade sphinx-rtd-theme, work around readthedocs/sphinx_rtd_theme#1301. 2024-03-22 23:05:42 +00:00
Wanda 456dcaeb7b lib.io: Implement *Buffer from RFC 55. 2024-03-22 01:44:25 +00:00
Catherine 81eae1dd35 docs/install: link to YoWASP. 2024-03-22 01:22:02 +00:00
Catherine 12b4b1891a docs/install: link to playground. 2024-03-22 01:22:02 +00:00
Catherine 2ab3a4a0a0 docs/install: fix Yosys version requirement. 2024-03-22 01:22:02 +00:00
Wanda 8c65a79cdd hdl._ir: Remove support for non-Elaboratable elaboratables.
Fixes #1216.
2024-03-20 08:20:23 +00:00