Commit graph

217 commits

Author SHA1 Message Date
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
Catherine 7d611b8fc1 docs: update sphinxcontrib-platformpicker. 2022-01-02 05:19:50 +00:00
Catherine 4ae75c117f docs/tutorial: remove dead link. 2022-01-02 04:41:33 +00:00
Catherine aa749567e4 docs: update sphinx-rtd-theme.
Incorporate the fix for readthedocs/sphinx_rtd_theme#1168.
2021-12-28 20:43:15 +00:00
Catherine e2b3e8caf9 CI: publish documentation at https://amaranth-lang.org/docs/amaranth/ 2021-12-16 17:51:53 +00:00
Catherine e156ac62c5 docs: don't call Python modules "packages". 2021-12-16 17:46:01 +00:00
Irides 538c14116c sim.pysim: use "bench" as a top level root for testbench signals.
Fixes #561.
2021-12-16 15:46:05 +00:00
Catherine 0169d47365 docs/changes: add simulation-related changes. 2021-12-16 08:04:02 +00:00
Catherine a6a13dd612 docs: add changelog. 2021-12-13 13:00:10 +00:00
Catherine 47c79cf3c8 docs: simplify. NFC. 2021-12-13 09:53:54 +00:00
Irides 40b92965c9 docs: cover amaranth.vendor. 2021-12-13 09:17:50 +00:00
modwizcode d2c569c45e docs: cover amaranth.lib.fifo. 2021-12-13 07:48:43 +00:00
Catherine 2adbe59e4f docs: formatting and readability improvements. 2021-12-13 06:33:36 +00:00
Catherine 18837b9029 docs: cover amaranth.lib.cdc. 2021-12-13 06:23:12 +00:00
Catherine 3a8cd63b23 docs: cover amaranth.lib.coding. 2021-12-13 05:48:31 +00:00
whitequark b452e0e871 hdl.ast: support division and modulo with negative divisor.
Fixes #621.

This commit bumps the Yosys version requirement to >=0.10.
2021-12-11 10:25:48 +00:00
whitequark 0fb2b4cd39 docs: fix download link in start.rst.
Fixes #647.
2021-12-11 06:32:32 +00:00
whitequark 909a3b8be7 Rename nMigen to Amaranth HDL. 2021-12-10 10:34:13 +00:00
whitequark 369cc59d69 docs: update requirements.
Sphinx 4.2 or later is required for compatibility with Python 3.10.

A released version of Pygments can now be used for highlighting.
2021-11-05 18:53:09 +00:00
Joel Stanley 490fca5745 docs: Update up_counter to avoid deprecation warning
nmigen/docs/_code/up_counter.py:44: DeprecationWarning: instead of nmigen.back.pysim.*, use nmigen.sim.*
  from nmigen.back.pysim import Simulator
2021-01-17 12:56:30 +00:00
whitequark e46118dac0 docs/lang: use less confusing placeholder variable names.
Fixes #474.
2020-08-15 13:01:09 +00:00
Filipe Laíns d714d78de1 docs: add install instructions for arch
Signed-off-by: Filipe Laíns <lains@archlinux.org>
2020-07-14 00:28:24 +00:00
whitequark 175c8a596e docs: use working sphinxcontrib-platformpicker. 2020-07-05 23:51:14 +00:00
whitequark 1fbd7f1d08 docs: use sphinxcontrib-platformpicker.
Fixes #416.
2020-07-05 23:39:47 +00:00
whitequark f1153352c0 docs: link to community tutorials until we have an official one. 2020-07-04 02:09:35 +00:00
whitequark f24f1b02e8 docs/lang: document constshifts. 2020-07-02 23:11:35 +00:00
whitequark 76b3ef4b13 docs/index: rename to "Language & toolchain". 2020-07-02 23:08:10 +00:00
whitequark 7fa4b348a9 docs/install: use pip/pip3 more consistently. 2020-07-01 08:58:36 +00:00
whitequark 6c0530cf4e docs: clarify naming. 2020-07-01 08:53:52 +00:00
whitequark 76c7e70582 docs: add a crude approximation of intersphinx toctrees.
This is a pretty awful hack. We could do this properly after one of
the following issues is fixed:
  * sphinx-doc/sphinx#701
  * sphinx-doc/sphinx#1836
2020-07-01 08:03:57 +00:00
whitequark f5670a9b71 docs/install: fix dead link. 2020-07-01 06:33:03 +00:00
whitequark 43da4e3f0a docs/install: quote special chars to avoid issues with extended glob. 2020-07-01 06:32:15 +00:00
whitequark f50303ca7c docs/install: explain how to install non-editable snapshot from git. 2020-07-01 06:15:16 +00:00
whitequark adbc947274 docs/install: use pip install --user on *nix. 2020-07-01 05:06:20 +00:00
whitequark 78c027fb36 docs/install: reduce repetition. 2020-07-01 04:11:51 +00:00
whitequark 20baea401b docs: reword slightly. 2020-07-01 03:59:16 +00:00
whitequark 9f731d185d docs: explain how to install GTKWave on Windows. 2020-07-01 03:47:02 +00:00
whitequark c20266164d docs: rewrite install instructions to be easier to understand. 2020-07-01 03:32:17 +00:00
whitequark 5048c5efc7 docs: fix syntax. 2020-06-30 22:29:43 +00:00
whitequark 9928b6067d docs: explain that pip3 install -e should be run after pulling. 2020-06-30 22:26:54 +00:00
whitequark 399b8f9863 Add (heavily work in progress) documentation.
To render correctly, the docs require:
 * pygments/pygments#1441
2020-06-30 22:21:16 +00:00