Commit graph

119 commits

Author SHA1 Message Date
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