Commit graph

1451 commits

Author SHA1 Message Date
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 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 e88ff1335e docs/start: update to track changes in the language. 2024-01-30 03:22:46 +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 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 65d77f03fe back.verilog: forbid Yosys version range with dangling else bug.
Fixes #1049.
2024-01-24 16:45:22 +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 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
Catherine 6211eca4ac docs: update cover, title, and copyright. 2024-01-17 18:29:16 +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 2fecd1c78b examples.basic.pmux: Fix for RFC 39. 2024-01-16 12:14:43 +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 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 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 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
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
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
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