Commit graph

1688 commits

Author SHA1 Message Date
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
Wanda 1d2b9c309e back.rtlil: set read port init to all-x.
This is an unfortunate necessity needed to fix memory inference regressions
introduced when we switched to using v2 cells. A better approach, compatible
with RFC 54, will need to be figured out for Amaranth 0.6.

Fixes #1011.
2024-05-09 02:38:53 +00:00
Wanda 4b49284ccb hdl._ir: derive DriverConflict from Exception instead of UserWarning. 2024-05-09 02:11:23 +00:00
Wanda 14929b9499 vendor: add AMDPlatform as an alias for XilinxPlatform.
Fixes #1349.
2024-05-07 23:52:39 +00:00
Catherine 994fa81599 Implement RFC 36.
This feature does not exactly follow the RFC because the RFC as written
is not implementable; the treatment of async resets in `tick()` triggers
had to be changed. In addition, iterating a trigger was made to watch
for missed events, in case the body of the `async for` awaited for too
long.

Co-authored-by: Wanda <wanda-phi@users.noreply.github.com>
2024-05-06 11:09:46 +00:00
Catherine 5e59189c2b hdl: track domain renames in IR.
Co-authored-by: Wanda <wanda@phinode.net>
2024-05-06 11:09:46 +00:00
Catherine f637530093 sim: move Command from core to _pycoro.
Simulator commands are deprecated and will be removed once RFC 36 is
implemented and released. They are an artifact of the old API.
2024-05-06 11:09:46 +00:00
Catherine 78a289e5aa sim: {add,remove}_trigger{add,remove}_signal_trigger 2024-05-06 11:09:46 +00:00
Catherine eef248a080 pyproject: write XML coverage after running the testsuite.
This is particularly useful with IDEs that can display coverage in
the editor, e.g. VS Code with the "Coverage Gutters" extension.
2024-05-06 11:09:46 +00:00
Wanda 25c3531e93 vendor.*: fix [io]_domain propagation when creating buffers.
Closes #1347.
2024-05-05 04:57:52 +00:00
Wanda 9e82d54302 lib.io: make [io]_domain attributes always present.
Having conditionally-present attributes causes more problems than it's
worth (see #1347). Just make them contain `None` when irrelevant.
2024-05-05 04:57:52 +00:00
Richard Meadows 653a51b421 vendor._lattice: OFS1P3DX -> OFD1P3DX and IFS1P3DX -> IFD1P3DX for nexus
More specialized buffers required
2024-05-04 21:03:01 +00:00
Sohaib Errabii 79d9f5e8a4 docs._code: led to led.o 2024-05-04 20:01:22 +00:00
Sage Walker 9201cc3179 vendor._lattice: Add clock constraints to oxide .pdc template. 2024-04-20 10:28:56 +00:00
meta d2b2c9b06a back.verilog, back.rtlil: map path elements to str 2024-04-19 21:54:23 +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 cf07f938ab vendor._lattice: add nextpnr-machxo2 support. 2024-04-19 04:39:48 +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
Wanda f243cea0fb sim: implement Format.* for memories in VCD. 2024-04-15 14:54:44 +00:00
Wanda 625dac376a hdl._dsl: improve error message on m.domains.cd_foo = ....
Fixes #1331.
2024-04-15 00:32:09 +00:00
Catherine 8c1c9f2d26 docs: begin building the documentation style guide. 2024-04-13 20:56:55 +00:00
Wanda 877a1062a6 hdl._nir: add combinational cycle detection.
Fixes #704.
Fixes #1143.
2024-04-13 14:01:47 +00:00
Catherine 3fbed68365 pyproject: use .dev{distance}, not +{node}, for non-release builds.
At the moment this uses a git URL for pdm-backend because required PDM
functionality (pdm-project/pdm-backend#217) is not released yet.
2024-04-13 12:45:05 +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 122be7849c sim: raise an error when overriding a combinationally-driven signal.
Fixes #557.
2024-04-13 09:40:41 +00:00
Wanda 16f187e7fa test_build_res: fix naming, squash warnings. 2024-04-13 08:38:38 +00:00
Wanda eebffc15d6 sim: add eval_format function.
This will be used in an upcoming PR for VCD output.
2024-04-12 20:14:11 +00:00
Wanda 580706fafd hdl._nir, back.rtlil: use Format.* to emit enum attributes and wires for fields. 2024-04-11 22:02:26 +00:00
Wanda 4cb2dde25f lib.data: add .format() implementation. 2024-04-11 19:02:06 +00:00
Wanda 67f5b61bcc hdl._ast: add enum name argument to Format.Enum.
Turns out that RTLIL enum representation requires such, so add a place to store it.
2024-04-11 18:45:16 +00:00
Wanda 1fdd9bf4e9 lib.enum: add .format() implementation. 2024-04-11 14:23:26 +00:00
Wanda 3c870d6b73 hdl._ast: add Format.Enum, Format.Struct, Format.Array. 2024-04-11 10:02:54 +00:00
Wanda 6f5d009fad sim: fix LRHS evaluation.
Fixes #1269.
2024-04-11 09:42:14 +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 c59447c258 hdl._ast: make Signal.like work properly with ShapeCastables.
Fixes #1285.
2024-04-11 05:03:17 +00:00
Wanda 0be2dda656 lib.data: accept data.Const in *.const(). 2024-04-11 03:20:35 +00:00
Wanda cf534489a2 build.{plat,res}: post-lib.io cleanup. 2024-04-11 03:19:38 +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
Wanda b36e7e0880 lib.fifo: remove dependency on lib.coding. 2024-04-10 20:50:45 +00:00
Wanda 2ca55dd4b0 build.res: handle connectors in pin reuse detection. 2024-04-10 20:19:13 +00:00
Jean-François Nguyen fd811831fd docs: remove margin around logo background. 2024-04-10 19:58:40 +00:00
Catherine 1b81a47b69 test_lib_crc: speed up tests using multiprocessing. 2024-04-10 05:08:05 +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 c68f9e43f9 Add .editorconfig file.
This helps avoid inconsistent editor settings.
2024-04-10 05:08:05 +00:00
Wanda 544eeee788 build.run: fix broken link in docstring. 2024-04-10 04:51:47 +00:00