Commit graph

190 commits

Author SHA1 Message Date
Catherine 8501d9dd73 docs/changes: fix formatting. 2024-01-29 19:33:39 +00:00
Catherine fc7c86bbe6 docs/changes: link to docs for past releases. 2024-01-29 19:33:39 +00:00
Catherine 0ea2aa6b69 docs/lang: document arrays. 2024-01-22 23:25:14 +00:00
Catherine 53f7b628b3 docs/lang: document instances. 2024-01-22 23:25:14 +00:00
Catherine a5dd63246c docs/lang: document domain renaming. 2024-01-22 23:25:14 +00:00
Catherine 6211eca4ac docs: update cover, title, and copyright. 2024-01-17 18:29:16 +00:00
Catherine 95538a3e07 docs/lang: describe ResetInserter and EnableInserter.
Co-authored-by: mcclure <mcclure@users.noreply.github.com>
2024-01-15 23:30:05 +00:00
Catherine be0e163279 docs/lang: clarify some text about clock domains.
Co-authored-by: mcclure <mcclure@users.noreply.github.com>
2024-01-15 23:30:05 +00:00
Catherine b8ca2a09b4 docs: make the logo a bit smaller.
Co-authored-by: mcclure <mcclure@users.noreply.github.com>
2024-01-15 23:30:05 +00:00
Wanda 86d14f584e Implement RFC 39: Change semantics of no-argument m.Case(). 2024-01-13 22:33:54 +00:00
Wanda 7f76914b74 Implement RFC 17: Remove log2_int.
Reexports of `amaranth.utils` functions are removed from
`amaranth._utils` to avoid a circular import issue (for `deprecated`).
Since this is a private module, this should not be a problem.
2024-01-11 04:45:17 +00:00
Catherine d8515807c2 docs: explain elaboration, elaboratables, and submodules.
Co-authored-by: mcclure <mcclure@users.noreply.github.com>
2024-01-09 22:32:14 +00:00
Catherine 4014aef033 docs: change mobile navbar color too. 2024-01-05 12:28:22 +00:00
Piotr Esden-Tempski 7eea9c39cf docs: fix nav-bar on mobile
The side nav-bar tweaks should only be valid when the side nav bar is present. It is only present on displays wider than 769px.
2024-01-04 20:14:07 +00:00
Catherine 996fcfbda4 docs: match sidebar background color to logo. 2024-01-04 16:47:32 +00:00
Catherine 8ac22bc114 docs: add logo. 2024-01-04 16:47:32 +00:00
Catherine 0191011bde docs: links should be underlined. 2024-01-04 16:47:32 +00:00
Catherine e356ee2cac docs: strip .editable suffix from version.
This shows up in CI builds as well, since those use `pip install -e`.
2024-01-04 16:47:32 +00:00
Jaro Habiger c00e770f01 build.run: deprecate run_script argument in BuildPlan.execute_local() 2024-01-03 14:08:34 +00:00
Jaro Habiger b823a8ee9d build.run: add BuildPlan.execute_docker()
One usecase for this is using amaranth with vivado on macOs.
2024-01-03 14:08:34 +00:00
Jaro Habiger 3200a3961d build.run: factor out extract method 2024-01-03 14:08:34 +00:00
Catherine 5d9ad62f36 build.plat,vendor: start build.sh with #!/bin/sh.
The build scripts generated by Amaranth are designed to be invoked by
directly running them with any shell (some of them will re-invoke
themselves with `bash` specifically, when it's a toolchain requirement),
and they're not currently marked executable, so there's no shebang.

Add a shebang line to improve compatibility with cases where they are
treated as executables in their own right.
2024-01-03 11:45:57 +00:00
Wanda 0849e1af0b hdl.ast: make Slice const-castable.
Fixes #1006.
2023-12-30 11:28:03 +00:00
Catherine 82d35fb932 docs/lang: document clock domains. 2023-12-19 01:54:46 +00:00
Catherine 8dec39d37f docs/lang: expand to include all control flow syntax. 2023-12-19 01:54:46 +00:00
Wanda 8cd8cdde2b Implement RFC 20: Remove non-FWFT FIFOs.
Fixes #875.
2023-12-13 11:41:19 +00:00
Catherine 3ed78d98ea Implement RFC 18: Reorganize vendor platforms
Closes #873.
2023-12-13 11:24:37 +00:00
Catherine 9d4ffab104 compat: remove.
Fixes #692.
2023-12-13 11:20:12 +00:00
Catherine 750cbbc3c7 hdl: remove deprecated Sample, Past, Stable, Rose, Fell. 2023-12-13 11:13:14 +00:00
Catherine 475b0f35dd Implement RFC 19: Remove amaranth.lib.scheduler.
Closes #874.
2023-12-13 09:53:54 +00:00
Catherine 597b1b8839 Implement RFC 5: Remove Const.normalize.
Closes #754.
2023-12-13 09:53:54 +00:00
Catherine a2f3c544ee Release version 0.4. 2023-12-13 09:29:50 +00:00
Catherine 73e3ee695d docs/changes: add some missing items. 2023-12-13 09:29:50 +00:00
Catherine fc4d70486a docs/stdlib: write an introductory section.
Co-authored-by: Wanda <wanda-phi@users.noreply.github.com>
Co-authored-by: mcclure <mcclure@users.noreply.github.com>
2023-12-11 22:57:30 +00:00
Catherine a2aa07cbc7 lib.wiring: document amaranth-lang/rfcs#2. WIP
Co-authored-by: Charlotte <charlotte@hrzn.ee>
2023-12-11 22:57:30 +00:00
Wanda 8e6ae9e6e0 Implement RFC 38: Component signature immutability.
Fixes #996.
2023-12-11 19:51:32 +00:00
Wanda 6ad0d21cc9 Implement RFC 37: Make `Signature` immutable.
Fixes #995.
2023-12-11 19:01:32 +00:00
Wanda 3d0c5426df docs: Add changelog entries for RFCs 34, 35. 2023-12-11 10:39:02 +00:00
Wanda e9545efb22 Implement RFC 35: Add ShapeLike, ValueLike. 2023-12-09 13:57:30 +00:00
Wanda ef5cfa72bc Implement RFC 31: Enumeration type safety. 2023-11-29 10:50:34 +00:00
Catherine 1eea38c9c0 docs: fix sidebar CSS. 2023-11-27 15:42:24 +00:00
Catherine 89d1c9bb28 docs: update changelog. 2023-11-25 02:05:54 +00:00
Wanda 1b74c2904c docs: fix required yosys version. 2023-11-24 04:14:27 +00:00
Vegard Storheil Eriksen 879601380d ast: allow overriding Value operators. 2023-10-30 20:17:51 +00:00
Wanda 4e4085a95b Implement RFC 20: Deprecate non-FWFT FIFOs.
Tracking issue #875.
2023-10-24 20:49:51 +00:00
David SPORN 0c3ada6250 Reference to my series of articles 2023-09-28 09:51:48 +00:00
Catherine e6ec0be889 examples,docs: ensure amaranth-boards is available as a dev dependency. 2023-09-25 14:15:11 +00:00
crzwdjk 11d5bb19eb vendor._lattice_ice40: add an icepack_opts override
Add an icepack_opts override in case the user wants to pass
extra options to icepack as part of the build process.
2023-09-13 20:05:01 +00:00
Catherine 1d3a62093b docs/changes: call out backwards incompatibility with Pin. 2023-09-05 14:07:33 +00:00
Catherine f135226a79 hdl: disallow signed(0) values with unclear semantics.
Fixes #807.
2023-09-03 04:37:59 +00:00
Marcelina Kościelnicka 8c4a15ab92 hdl.mem: lower Memory directly to $mem_v2 RTLIL cell.
The design decision of using split memory ports in the internal
representation (copied from Yosys) was misguided and caused no end
of misery. Remove any uses of `$memrd`/`$memwr` and lower memories
directly to a combined memory cell, currently the RTLIL one.
2023-09-03 03:27:51 +00:00
Catherine fc85feb30d docs/changes: document deprecation of Record. 2023-09-01 06:48:28 +00:00
Catherine cd4ea96bd1 Implement RFC 19: Remove amaranth.lib.scheduler 2023-09-01 00:56:12 +00:00
Catherine b172d63160 docs/changes: minor cleanups and improvements. 2023-09-01 00:37:48 +00:00
Catherine 796068a192 Implement RFC 18: Reorganize vendor platforms 2023-09-01 00:37:48 +00:00
Catherine cfd4f9c84e docs/enum: emphasize that shape= is optional. 2023-08-31 02:16:26 +00:00
Catherine f95fe45186 Implement RFC 22: Add ValueCastable.shape().
Fixes #794.
Closes #876.
2023-08-23 10:48:48 +00:00
Catherine 012f12339d docs/contrib: fix typo. 2023-08-16 09:39:59 +00:00
mcc f976754e15 docs: Minor typo in tutorial.rst 2023-08-10 18:12:07 +00:00
Catherine 7b992672aa docs/contrib: minor fixes. 2023-08-10 14:23:07 +00:00
Bastian Löher 93e89f5632 vendor.gowin: new platform.
Co-authored-by: Catherine <whitequark@whitequark.org>
2023-08-08 12:38:36 +00:00
Catherine b9520050d1 docs/contrib: expand the contribution guide.
Co-authored-by: AllysonProlisko <137875383+AllysonProlisko@users.noreply.github.com>
2023-07-27 13:04:20 +00:00
Catherine a127167c53 docs/lang: capture and verify an expected warning in doctest. 2023-07-24 13:46:48 +00:00
Catherine 7639e84af4 docs/contrib: begin writing a contribution guide. 2023-07-24 13:46:48 +00:00
Catherine 1826fa83bd Formalize test and documentation workflows using PDM. 2023-07-24 13:46:48 +00:00
Catherine a921261215 build.run: add env= argument to BuildPlan.execute_local().
Build scripts are explicitly intended to have overrides that are
done through the use of environment variables, and right now this
would require a very awkward `run_script=False` invocation followed
by copying a bit of code out of the Amaranth codebase, which is
clearly suboptimal.
2023-07-23 04:12:32 +00:00
Adam Greig 45b9730786 Implement RFC 6: CRC Generator
See amaranth-lang/rfcs#6 and #681.
2023-06-29 02:42:47 +00:00
Catherine b77e33f16a Drop support for Python 3.7. 2023-06-28 14:50:30 +00:00
Charlotte d218273b9b hdl.ast: deprecate Repl and remove from AST; add Value.replicate. 2023-06-22 03:52:55 +00:00
Catherine 46433268cd docs/changes: update. 2023-06-07 13:50:04 +00:00
Catherine 7d99981d57 Implement RFC 15: Lifting shape-castable objects.
See amaranth-lang/rfcs#15 and #784.

Note that this RFC breaks the existing syntax for initializing a view
with a new signal. Instances of `View(layout)` *must* be changed to
`Signal(layout)`.
2023-05-15 19:42:12 +01:00
Catherine a70cfa05cd lib.data: fix incorrect and very misleading example in documentation.
Found while working on amaranth/rfcs#15. The new code is also robust
in the face of RFC 15 itself (the value returned by Signal will change
but that will save work for the programmer).
2023-05-15 10:55:44 +01:00
Catherine 68e292c681 lib.data: add reference documentation. 2023-05-12 19:54:47 +01:00
Catherine 4398575322 lib.enum: accept any const-castable expression as member value.
This behavior was introduced by amaranth-lang/rfcs#4. See #755.
2023-05-12 16:39:02 +01:00
Josuah Demangeon a0307c343d docs: disambiguate Cat(a, b, ...) support for more than 2 arguments
I had this confusion while reading the doc.

Someone else also likely did:
https://github.com/bl0x/learn-fpga-amaranth/blob/main/06_alu/soc.py#L111
2023-03-21 14:16:27 +00:00
Catherine 80343d1c4c hdl.ast: warn on fencepost error in Signal(range(x), reset=x).
Also, relax the language reference inset from "warning" to "note"
since this is no longer something developers have to keep in mind
explicitly.
2023-03-13 20:38:41 +00:00
Catherine 57612f1dce lib.enum: add Enum wrappers that allow specifying shape.
See #756 and amaranth-lang/rfcs#3.
2023-02-28 13:00:41 +00:00
Catherine ef2e9fa809 hdl.ast: Value.matches() with no arguments should return C(1).
The behavior of the following must be always the same:
- `with m.Switch(v): with m.Case(*pats):`
- `with m.If(v.matches(*pats)):`
2023-02-28 09:09:27 +00:00
Catherine 9aeb22311f docs/changes: add changes from RFC 4. 2023-02-28 09:06:49 +00:00
Catherine 58721ee4fe hdl: implement constant-castable expressions.
See #755 and amaranth-lang/rfcs#4.
2023-02-27 22:38:38 +00:00
Catherine 342fd5f8bd docs: fix doctests and run them in CI workflow. 2023-02-27 19:47:51 +00:00
Catherine 5d872096a7 docs/changes: link to RFC. 2023-02-27 18:28:52 +00:00
Catherine f602ce1f8f hdl.ast: deprecate Const.normalize.
Tracking issue #754.
2023-02-27 18:19:59 +00:00
Catherine e2f0519774 docs: upgrade Sphinx. 2023-02-17 09:59:19 +00:00
Catherine 12a81f24bd docs/install: pip>=23.0 is required.
Fixes #745.
2023-02-16 22:09:14 +00:00
Catherine ca77de5ed3 docs/install: update deprecated pip syntax.
Fixes #750.
2023-02-16 20:41:31 +00:00
Catherine dafefa87a9 build.run: in BuildPlan.execute_local, always use LF line endings.
This way the files are written identically on *nix and Windows.

Fixes #732.
2023-02-04 23:31:34 +00:00
Catherine 5a79c351e3 Remove features deprecated in version 0.3. 2023-01-31 21:38:27 +00:00
Catherine 47551e8c71 Add PEP 518 pyproject.toml.
See also commits:
 * 7fca037f (adding it)
 * 416b2531 (reverting it)
 * a2ef4cb6 (adding it)
 * 810c19dd (reverting it)

Third time's the charm?
2023-01-31 19:48:54 +00:00
Catherine f133646e9b Remove all remaining code references to nmigen and the namespace.
Closes #741.
2023-01-31 13:49:13 +00:00
Catherine 29502442fb hdl.ast: remove Shape<>tuple casts.
Closes #691.
2023-01-31 12:58:29 +00:00
Catherine 309f647c0e Update documentation and changelog to reflect existing changes. 2023-01-31 12:57:44 +00:00
Arusekk 58a0c68279 hdl.ast: allow typed int enums in Value.cast. 2023-01-22 23:40:39 +00:00
J. Neuschäfer 91d4513682
Fix several typos. NFC. 2023-01-20 19:48:29 +00:00
Robert Baruch beb1b38c1a
doc: update tutorial links (to Amaranth versions). 2022-10-27 23:04:56 +00:00
Catherine 0723f6bac9 hdl.ast: recursively cast ValueCastable objects to values. 2022-09-24 07:18:57 +00:00
Catherine 8b85afa72e docs/changes: document OSCH available as default clock source. 2022-04-06 04:18:40 +00:00
Irides f39ee6e014 docs/changes: document addition of debug_verilog override. 2022-04-06 00:57:19 +00:00
Catherine 07c6ea5af2 CI: test on PyPy 3.7 v7.3.3. 2022-04-04 09:49:10 +00:00
Catherine 64771a065a Drop support for Python 3.6. 2022-04-04 09:39:28 +00:00