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
f48b8650c4
sim: fix simulation loop when process catches an injected exception.
2024-02-06 18:55:11 +00:00
Catherine
15b6068c57
Remove features deprecated in past releases.
2024-02-06 15:55:05 +00:00
Vegard Storheil Eriksen
5e2f3b7992
Implement RFC 42: Const from shape-castable.
2024-02-06 10:18:12 +00:00
Wanda
089213e19f
Implement RFC 46: Change Shape.cast(range(1)) to unsigned(0).
2024-02-06 10:05:10 +00:00
Catherine
1fe7bd010f
hdl: remove subclassing of AnyValue and Property.
...
This subclassing is unnecessary and makes downstream code more complex.
In the new IR, they are unified into cells with the same name anyway.
Even before that, this change simplifies things.
2024-02-05 05:58:12 +00:00
Wanda
115954b4d9
lib.fifo: add Memory as submodules instead of its ports. [NFC]
...
This makes the generated netlist very slightly nicer.
2024-01-31 21:14:08 +00:00
Catherine
357ffb680c
hdl: remove Repl per RFC 10.
...
Closes #770 .
2024-01-31 03:01:35 +00:00
Catherine
4da8adf7ba
back.rtlil: remove _SyncBuilder. NFC
...
Amaranth doesn't emit sync rules for a while since these are private
for the Yosys Verilog frontend.
2024-01-31 02:47:52 +00:00
Catherine
572a60d838
hdl: add missing compatibility shims.
...
These were originally planned to be committed as a part of 5dd1223c ,
but were lost during rebasing.
2024-01-31 02:05:17 +00:00
Wanda
1506f08b81
sim: use Value.cast on traces.
...
See kuznia-rdzeni/coreblocks#357 .
2024-01-30 23:20:31 +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
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
cf83193bf9
amaranth.hdl: rename internal modules to begin with an underscore.
...
This change completely breaks the library. It is done separately just
to make sure git tracks renames as such.
2024-01-30 17:20:45 +00:00
Catherine
8678d5fa14
hdl.dsl: warn if a case is defined after a default case.
2024-01-30 02:54:48 +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
65d77f03fe
back.verilog: forbid Yosys version range with dangling else bug.
...
Fixes #1049 .
2024-01-24 16:45:22 +00:00
Catherine
b3639c4cc5
utils: fix docstring syntax.
2024-01-22 23:25:14 +00:00
Adam Greig
db7e64960c
lib.crc: make module documentation introduction consistent with other stdlib modules.
2024-01-19 08:57:57 +00:00
Wanda
b40c18fb00
hdl.ast: suggest bit_select or word_select when indexing with Value.
...
Fixes #1044 .
2024-01-18 20:06:55 +00:00
Wanda
9e9790377a
back.rtlil: fix emitting ROMs
2024-01-18 06:40:12 +00:00
Wanda
ae36b596bb
hdl.mem: Switch to first-class IR representation for memories.
...
Fixes #611 .
2024-01-17 08:10:28 +00:00
Wanda
bf8faea51e
hdl.ast: raise a sensible error for xxx in Value
2024-01-14 00:36:44 +00:00
Wanda
86d14f584e
Implement RFC 39: Change semantics of no-argument m.Case().
2024-01-13 22:33:54 +00:00
Wanda
eb1c55859e
hdl.ir: collect source location for Instance.
2024-01-13 22:33:01 +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
Wanda
ea258fad71
Change uses of Case() to Default() in preparation for RFC 39.
2024-01-11 04:44:02 +00:00
Wanda
7e18786c97
hdl.ast: use operator.index instead of int.
...
This ensures things like `Const(1.5)` raise an error.
`int(operator.index())` is used since `operator.index(True)` on Python
3.9 and earlier returns `True` instead of `1`.
2024-01-10 18:07:48 +00:00
Wanda
f25bf51a92
hdl.dsl: fix handling of redundant Case branches.
...
Fixes #1024 .
2024-01-10 18:04:06 +00:00
Catherine
4e1b2451ec
build.run: use correct working directory in BuildPlan.execute_local.
...
This regression was introduced in commit 3200a3961 . Fixes #1020 .
2024-01-09 15:55:54 +00:00
Catherine
e59e2aa715
build.plat: add trailing newline at end of build script.
2024-01-09 15:55:54 +00:00
Jaro Habiger
ded84fe9d6
sim: fix ValueCastable not being recognized as a coroutine command
2024-01-05 14:30:38 +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
Jaro Habiger
cc9fe89049
hdl.ast: fix Array not being indexable by ValueCastable
2024-01-03 13:46:16 +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
Wanda
6780c838b2
hdl.ast: fix Const.cast(Cat(...)) handling for signed numbers.
2023-12-30 11:27:08 +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
a2aa07cbc7
lib.wiring: document amaranth-lang/rfcs#2 . WIP
...
Co-authored-by: Charlotte <charlotte@hrzn.ee>
2023-12-11 22:57:30 +00:00
Jean-François Nguyen
d154bddf17
lib.wiring: preserve insertion order in SignatureMembers.__iter__.
2023-12-11 22:34:57 +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
Catherine
b9c2404f22
lib.wiring: make values of In and Out be strings "In" and "Out".
...
Their `str()` and `repr()` values are already that; and the 0 and 1
don't make sense. The RFC leaves it unspecified.
2023-12-11 18:04:37 +00:00