Catherine
6dc7c2718c
docs/guide: fix a bunch of TODOs.
2024-02-27 09:10:29 +00:00
Catherine
77e41cc88a
docs: add stub stdlib/memory
, mark guide
as done.
2024-02-27 09:10:29 +00:00
Wanda
890e099ec3
Implement RFC 45: Move hdl.Memory
to lib.Memory
.
2024-02-19 22:24:58 +00:00
Wanda
6058ad35cf
hdl._ast: make Shape
immutable and hashable.
...
Fixes #1127 .
2024-02-16 15:21:05 +00:00
Wanda
24a392887a
Implement RFC 43: Rename reset=
to init=
.
2024-02-15 22:52:24 +00:00
Catherine
52842ee524
docs: fix link rot.
2024-02-15 19:58:19 +00:00
Catherine
b9c9948038
docs: use :py:
role for inline Python code, not :pc:
.
...
I originally picked :pc: as it is short for "python code", but it is
obscure and :py: is not taken, so a much more obvious role can be used
instead. Also, we all typo :pc: as :py: all the time anyway.
2024-02-13 10:38:36 +00:00
Wanda
5797643c9c
docs: remove leftover TODO and warning from #1003 , fix matches
docs.
2024-02-13 06:23:23 +00:00
Catherine
0056e982c5
docs/reference: document Value
, ValueCastable
, ValueLike
.
...
Co-authored-by: Wanda <wanda@phinode.net>
Co-authored-by: mcclure <mcclure@users.noreply.github.com>
2024-02-13 03:22:04 +00:00
Wanda
4014f6429c
Implement RFC 27 amendment: deprecate add_sync_process
, not add_process
.
2024-02-12 18:26:48 +00:00
Catherine
78b90fbafa
build.plat,vendor: fix toolchain environment variable check.
...
The bug was introduced in commit 15b6068c
. A changelog entry was also
missing.
Fixes #1089 .
2024-02-08 11:37:59 +00:00
Catherine
9e75962c35
Implement RFC 27: Testbench processes for the simulator.
...
Co-authored-by: Wanda <wanda@phinode.net>
2024-02-06 23:12:07 +00:00
Wanda
089213e19f
Implement RFC 46: Change Shape.cast(range(1))
to unsigned(0)
.
2024-02-06 10:05:10 +00:00
Catherine
b5f0295bf4
docs/changes: mention removal of Repl
.
2024-01-31 04:13:31 +00:00
Catherine
357ffb680c
hdl: remove Repl
per RFC 10.
...
Closes #770 .
2024-01-31 03:01:35 +00:00
Catherine
ea3d6c9557
docs/reference: document compat guarantee, importing, shapes.
...
This commit also contains a related semantic change: it adds `Shape`
and `ShapeCastable` to the `__all__` list in `amaranth.hdl`. This is
consistent with the policy that is laid out in the new documentation,
which permits such additions without notice.
Co-authored-by: mcclure <mcclure@users.noreply.github.com>
2024-01-30 22:54:18 +00:00
Catherine
c9b87a4fc5
docs: lang.rst→guide.rst, add reference.rst.
2024-01-30 22:54:18 +00:00
Catherine
5dd1223cf8
amaranth.hdl: start all private names with an underscore.
...
This change completes commit 9dc0617e and makes all the tests pass.
It corresponds with the ongoing langauge reference documentation effort.
Fixes #781 .
2024-01-30 17:20:45 +00:00
Catherine
e88ff1335e
docs/start: update to track changes in the language.
2024-01-30 03:22:46 +00:00
Wanda
e9299ccd0e
hdl.ast: change warning on out-of-range reset to an error, improve it.
...
Fixes #1019 .
2024-01-30 02:35:26 +00:00
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