diff --git a/docs/amaranth/latest/.buildinfo b/docs/amaranth/latest/.buildinfo index 34086fc4..8bdaeb61 100644 --- a/docs/amaranth/latest/.buildinfo +++ b/docs/amaranth/latest/.buildinfo @@ -1,4 +1,4 @@ # Sphinx build info version 1 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. -config: 416784a355798523c416c535c96f67ff +config: 4be8f8d37220c982eeab3c6083ecbb21 tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/docs/amaranth/latest/.doctrees/environment.pickle b/docs/amaranth/latest/.doctrees/environment.pickle index 340e7773..863572a6 100644 Binary files a/docs/amaranth/latest/.doctrees/environment.pickle and b/docs/amaranth/latest/.doctrees/environment.pickle differ diff --git a/docs/amaranth/latest/.doctrees/install.doctree b/docs/amaranth/latest/.doctrees/install.doctree index 28ae2058..001f8293 100644 Binary files a/docs/amaranth/latest/.doctrees/install.doctree and b/docs/amaranth/latest/.doctrees/install.doctree differ diff --git a/docs/amaranth/latest/_sources/install.rst.txt b/docs/amaranth/latest/_sources/install.rst.txt index 26ad58fe..d9236808 100644 --- a/docs/amaranth/latest/_sources/install.rst.txt +++ b/docs/amaranth/latest/_sources/install.rst.txt @@ -4,7 +4,7 @@ Installation System requirements =================== -.. |yosys-version| replace:: 0.10 (or newer) +.. |yosys-version| replace:: 0.35 (or newer) Amaranth HDL requires Python 3.8; it works on CPython_ 3.8 (or newer), and works faster on PyPy3.8_ 7.3.7 (or newer). Installation requires pip_ 23.0 (or newer). diff --git a/docs/amaranth/latest/_static/documentation_options.js b/docs/amaranth/latest/_static/documentation_options.js index ba5a07a1..fdde2c82 100644 --- a/docs/amaranth/latest/_static/documentation_options.js +++ b/docs/amaranth/latest/_static/documentation_options.js @@ -1,6 +1,6 @@ var DOCUMENTATION_OPTIONS = { URL_ROOT: document.getElementById("documentation_options").getAttribute('data-url_root'), - VERSION: '0.4.dev234', + VERSION: '0.4.dev235', LANGUAGE: 'en', COLLAPSE_INDEX: false, BUILDER: 'html', diff --git a/docs/amaranth/latest/changes.html b/docs/amaranth/latest/changes.html index 3c2a1ecc..0cab24df 100644 --- a/docs/amaranth/latest/changes.html +++ b/docs/amaranth/latest/changes.html @@ -4,7 +4,7 @@ - Changelog — Amaranth HDL toolchain 0.4.dev234 documentation + Changelog — Amaranth HDL toolchain 0.4.dev235 documentation @@ -15,7 +15,7 @@ - + @@ -38,7 +38,7 @@ Amaranth HDL toolchain
- 0.4.dev234+gabd74ea.editable + 0.4.dev235+g1b74c29.editable
diff --git a/docs/amaranth/latest/contrib.html b/docs/amaranth/latest/contrib.html index 4ddd7ec6..9e63996b 100644 --- a/docs/amaranth/latest/contrib.html +++ b/docs/amaranth/latest/contrib.html @@ -4,7 +4,7 @@ - Contributing — Amaranth HDL toolchain 0.4.dev234 documentation + Contributing — Amaranth HDL toolchain 0.4.dev235 documentation @@ -15,7 +15,7 @@ - + @@ -37,7 +37,7 @@ Amaranth HDL toolchain
- 0.4.dev234+gabd74ea.editable + 0.4.dev235+g1b74c29.editable
diff --git a/docs/amaranth/latest/cover.html b/docs/amaranth/latest/cover.html index 52e42f05..fa3df349 100644 --- a/docs/amaranth/latest/cover.html +++ b/docs/amaranth/latest/cover.html @@ -4,7 +4,7 @@ - Amaranth HDL documentation — Amaranth HDL toolchain 0.4.dev234 documentation + Amaranth HDL documentation — Amaranth HDL toolchain 0.4.dev235 documentation @@ -15,7 +15,7 @@ - + @@ -37,7 +37,7 @@ Amaranth HDL toolchain
- 0.4.dev234+gabd74ea.editable + 0.4.dev235+g1b74c29.editable
diff --git a/docs/amaranth/latest/genindex.html b/docs/amaranth/latest/genindex.html index 0d2abed6..fe82f0b0 100644 --- a/docs/amaranth/latest/genindex.html +++ b/docs/amaranth/latest/genindex.html @@ -3,7 +3,7 @@ - Index — Amaranth HDL toolchain 0.4.dev234 documentation + Index — Amaranth HDL toolchain 0.4.dev235 documentation @@ -14,7 +14,7 @@ - + @@ -35,7 +35,7 @@ Amaranth HDL toolchain
- 0.4.dev234+gabd74ea.editable + 0.4.dev235+g1b74c29.editable
diff --git a/docs/amaranth/latest/index.html b/docs/amaranth/latest/index.html index a237caf7..b156f11d 100644 --- a/docs/amaranth/latest/index.html +++ b/docs/amaranth/latest/index.html @@ -4,7 +4,7 @@ - Language & toolchain — Amaranth HDL toolchain 0.4.dev234 documentation + Language & toolchain — Amaranth HDL toolchain 0.4.dev235 documentation @@ -15,7 +15,7 @@ - + @@ -38,7 +38,7 @@ Amaranth HDL toolchain
- 0.4.dev234+gabd74ea.editable + 0.4.dev235+g1b74c29.editable
diff --git a/docs/amaranth/latest/install.html b/docs/amaranth/latest/install.html index da7ec5e0..e7eeb7e0 100644 --- a/docs/amaranth/latest/install.html +++ b/docs/amaranth/latest/install.html @@ -4,7 +4,7 @@ - Installation — Amaranth HDL toolchain 0.4.dev234 documentation + Installation — Amaranth HDL toolchain 0.4.dev235 documentation @@ -15,7 +15,7 @@ - + @@ -38,7 +38,7 @@ Amaranth HDL toolchain
- 0.4.dev234+gabd74ea.editable + 0.4.dev235+g1b74c29.editable
@@ -105,7 +105,7 @@

Installation

System requirements

Amaranth HDL requires Python 3.8; it works on CPython 3.8 (or newer), and works faster on PyPy3.8 7.3.7 (or newer). Installation requires pip 23.0 (or newer).

-

For most workflows, Amaranth requires Yosys 0.10 (or newer). A compatible version of Yosys is distributed via PyPI for most popular platforms.

+

For most workflows, Amaranth requires Yosys 0.35 (or newer). A compatible version of Yosys is distributed via PyPI for most popular platforms.

Simulating Amaranth code requires no additional software. However, a waveform viewer like GTKWave is invaluable for debugging.

Synthesizing, placing and routing an Amaranth design for an FPGA requires the FPGA family specific toolchain.

@@ -142,7 +142,7 @@

System requirements
$ sudo apt-get install yosys
 

-

If Yosys 0.10 (or newer) is not available, build Yosys from source.

+

If Yosys 0.35 (or newer) is not available, build Yosys from source.

Before continuing, make sure you have the latest version of pip installed by running:

$ pip3 install --user --upgrade pip
 
@@ -159,7 +159,7 @@

System requirementsOther Linux

Install Python and GTKWave from the package repository of your distribution.

On architectures other than x86_64 and AArch64, install Yosys from the package repository of your distribution.

-

If Yosys 0.10 (or newer) is not available, build Yosys from source.

+

If Yosys 0.35 (or newer) is not available, build Yosys from source.

Before continuing, make sure you have the latest version of pip installed by running:

$ pip3 install --user --upgrade pip
 
diff --git a/docs/amaranth/latest/install.rst b/docs/amaranth/latest/install.rst index 26ad58fe..d9236808 100644 --- a/docs/amaranth/latest/install.rst +++ b/docs/amaranth/latest/install.rst @@ -4,7 +4,7 @@ Installation System requirements =================== -.. |yosys-version| replace:: 0.10 (or newer) +.. |yosys-version| replace:: 0.35 (or newer) Amaranth HDL requires Python 3.8; it works on CPython_ 3.8 (or newer), and works faster on PyPy3.8_ 7.3.7 (or newer). Installation requires pip_ 23.0 (or newer). diff --git a/docs/amaranth/latest/intro.html b/docs/amaranth/latest/intro.html index ba4e25bd..4b751a04 100644 --- a/docs/amaranth/latest/intro.html +++ b/docs/amaranth/latest/intro.html @@ -4,7 +4,7 @@ - Introduction — Amaranth HDL toolchain 0.4.dev234 documentation + Introduction — Amaranth HDL toolchain 0.4.dev235 documentation @@ -15,7 +15,7 @@ - + @@ -38,7 +38,7 @@ Amaranth HDL toolchain
- 0.4.dev234+gabd74ea.editable + 0.4.dev235+g1b74c29.editable
diff --git a/docs/amaranth/latest/lang.html b/docs/amaranth/latest/lang.html index 211c6bdd..7e931f4f 100644 --- a/docs/amaranth/latest/lang.html +++ b/docs/amaranth/latest/lang.html @@ -4,7 +4,7 @@ - Language guide — Amaranth HDL toolchain 0.4.dev234 documentation + Language guide — Amaranth HDL toolchain 0.4.dev235 documentation @@ -15,7 +15,7 @@ - + @@ -38,7 +38,7 @@ Amaranth HDL toolchain
- 0.4.dev234+gabd74ea.editable + 0.4.dev235+g1b74c29.editable
diff --git a/docs/amaranth/latest/objects.inv b/docs/amaranth/latest/objects.inv index ded1121e..bf0f6288 100644 Binary files a/docs/amaranth/latest/objects.inv and b/docs/amaranth/latest/objects.inv differ diff --git a/docs/amaranth/latest/platform.html b/docs/amaranth/latest/platform.html index c4a774f1..0e3c5096 100644 --- a/docs/amaranth/latest/platform.html +++ b/docs/amaranth/latest/platform.html @@ -4,7 +4,7 @@ - Platform integration — Amaranth HDL toolchain 0.4.dev234 documentation + Platform integration — Amaranth HDL toolchain 0.4.dev235 documentation @@ -15,7 +15,7 @@ - + @@ -38,7 +38,7 @@ Amaranth HDL toolchain
- 0.4.dev234+gabd74ea.editable + 0.4.dev235+g1b74c29.editable
diff --git a/docs/amaranth/latest/platform/gowin.html b/docs/amaranth/latest/platform/gowin.html index 256a917d..a008e6fd 100644 --- a/docs/amaranth/latest/platform/gowin.html +++ b/docs/amaranth/latest/platform/gowin.html @@ -4,7 +4,7 @@ - Gowin — Amaranth HDL toolchain 0.4.dev234 documentation + Gowin — Amaranth HDL toolchain 0.4.dev235 documentation @@ -15,7 +15,7 @@ - + @@ -38,7 +38,7 @@ Amaranth HDL toolchain
- 0.4.dev234+gabd74ea.editable + 0.4.dev235+g1b74c29.editable
diff --git a/docs/amaranth/latest/platform/intel.html b/docs/amaranth/latest/platform/intel.html index e2a24583..cb6a6f6f 100644 --- a/docs/amaranth/latest/platform/intel.html +++ b/docs/amaranth/latest/platform/intel.html @@ -4,7 +4,7 @@ - Intel — Amaranth HDL toolchain 0.4.dev234 documentation + Intel — Amaranth HDL toolchain 0.4.dev235 documentation @@ -15,7 +15,7 @@ - + @@ -38,7 +38,7 @@ Amaranth HDL toolchain
- 0.4.dev234+gabd74ea.editable + 0.4.dev235+g1b74c29.editable
diff --git a/docs/amaranth/latest/platform/lattice-ecp5.html b/docs/amaranth/latest/platform/lattice-ecp5.html index 8a4da8e3..06e08b1b 100644 --- a/docs/amaranth/latest/platform/lattice-ecp5.html +++ b/docs/amaranth/latest/platform/lattice-ecp5.html @@ -4,7 +4,7 @@ - Lattice ECP5 — Amaranth HDL toolchain 0.4.dev234 documentation + Lattice ECP5 — Amaranth HDL toolchain 0.4.dev235 documentation @@ -15,7 +15,7 @@ - + @@ -38,7 +38,7 @@ Amaranth HDL toolchain
- 0.4.dev234+gabd74ea.editable + 0.4.dev235+g1b74c29.editable
diff --git a/docs/amaranth/latest/platform/lattice-ice40.html b/docs/amaranth/latest/platform/lattice-ice40.html index b9cf2724..bfd456a7 100644 --- a/docs/amaranth/latest/platform/lattice-ice40.html +++ b/docs/amaranth/latest/platform/lattice-ice40.html @@ -4,7 +4,7 @@ - Lattice iCE40 — Amaranth HDL toolchain 0.4.dev234 documentation + Lattice iCE40 — Amaranth HDL toolchain 0.4.dev235 documentation @@ -15,7 +15,7 @@ - + @@ -38,7 +38,7 @@ Amaranth HDL toolchain
- 0.4.dev234+gabd74ea.editable + 0.4.dev235+g1b74c29.editable
diff --git a/docs/amaranth/latest/platform/lattice-machxo-2-3l.html b/docs/amaranth/latest/platform/lattice-machxo-2-3l.html index 5c660ee7..aac17574 100644 --- a/docs/amaranth/latest/platform/lattice-machxo-2-3l.html +++ b/docs/amaranth/latest/platform/lattice-machxo-2-3l.html @@ -4,7 +4,7 @@ - Lattice MachXO2 and MachXO3L — Amaranth HDL toolchain 0.4.dev234 documentation + Lattice MachXO2 and MachXO3L — Amaranth HDL toolchain 0.4.dev235 documentation @@ -15,7 +15,7 @@ - + @@ -38,7 +38,7 @@ Amaranth HDL toolchain
- 0.4.dev234+gabd74ea.editable + 0.4.dev235+g1b74c29.editable
diff --git a/docs/amaranth/latest/platform/quicklogic.html b/docs/amaranth/latest/platform/quicklogic.html index bdbf49c9..63d0045e 100644 --- a/docs/amaranth/latest/platform/quicklogic.html +++ b/docs/amaranth/latest/platform/quicklogic.html @@ -4,7 +4,7 @@ - Quicklogic — Amaranth HDL toolchain 0.4.dev234 documentation + Quicklogic — Amaranth HDL toolchain 0.4.dev235 documentation @@ -15,7 +15,7 @@ - + @@ -38,7 +38,7 @@ Amaranth HDL toolchain
- 0.4.dev234+gabd74ea.editable + 0.4.dev235+g1b74c29.editable
diff --git a/docs/amaranth/latest/platform/xilinx.html b/docs/amaranth/latest/platform/xilinx.html index d7e74967..2f236b13 100644 --- a/docs/amaranth/latest/platform/xilinx.html +++ b/docs/amaranth/latest/platform/xilinx.html @@ -4,7 +4,7 @@ - Xilinx — Amaranth HDL toolchain 0.4.dev234 documentation + Xilinx — Amaranth HDL toolchain 0.4.dev235 documentation @@ -15,7 +15,7 @@ - + @@ -38,7 +38,7 @@ Amaranth HDL toolchain
- 0.4.dev234+gabd74ea.editable + 0.4.dev235+g1b74c29.editable
diff --git a/docs/amaranth/latest/py-modindex.html b/docs/amaranth/latest/py-modindex.html index 1234dd54..7d4572ea 100644 --- a/docs/amaranth/latest/py-modindex.html +++ b/docs/amaranth/latest/py-modindex.html @@ -3,7 +3,7 @@ - Python Module Index — Amaranth HDL toolchain 0.4.dev234 documentation + Python Module Index — Amaranth HDL toolchain 0.4.dev235 documentation @@ -14,7 +14,7 @@ - + @@ -38,7 +38,7 @@ Amaranth HDL toolchain
- 0.4.dev234+gabd74ea.editable + 0.4.dev235+g1b74c29.editable
diff --git a/docs/amaranth/latest/search.html b/docs/amaranth/latest/search.html index 44add663..7c8a1c8c 100644 --- a/docs/amaranth/latest/search.html +++ b/docs/amaranth/latest/search.html @@ -3,7 +3,7 @@ - Search — Amaranth HDL toolchain 0.4.dev234 documentation + Search — Amaranth HDL toolchain 0.4.dev235 documentation @@ -15,7 +15,7 @@ - + @@ -38,7 +38,7 @@ Amaranth HDL toolchain
- 0.4.dev234+gabd74ea.editable + 0.4.dev235+g1b74c29.editable
diff --git a/docs/amaranth/latest/searchindex.js b/docs/amaranth/latest/searchindex.js index 64715659..bb14c9c8 100644 --- a/docs/amaranth/latest/searchindex.js +++ b/docs/amaranth/latest/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["changes", "contrib", "cover", "index", "install", "intro", "lang", "platform", "platform/gowin", "platform/intel", "platform/lattice-ecp5", "platform/lattice-ice40", "platform/lattice-machxo-2-3l", "platform/quicklogic", "platform/xilinx", "start", "stdlib", "stdlib/cdc", "stdlib/coding", "stdlib/crc", "stdlib/crc/catalog", "stdlib/data", "stdlib/enum", "stdlib/fifo", "tutorial"], "filenames": ["changes.rst", "contrib.rst", "cover.rst", "index.rst", "install.rst", "intro.rst", "lang.rst", "platform.rst", "platform/gowin.rst", "platform/intel.rst", "platform/lattice-ecp5.rst", "platform/lattice-ice40.rst", "platform/lattice-machxo-2-3l.rst", "platform/quicklogic.rst", "platform/xilinx.rst", "start.rst", "stdlib.rst", "stdlib/cdc.rst", "stdlib/coding.rst", "stdlib/crc.rst", "stdlib/crc/catalog.rst", "stdlib/data.rst", "stdlib/enum.rst", "stdlib/fifo.rst", "tutorial.rst"], "titles": ["Changelog", "Contributing", "Amaranth HDL documentation", "Language & toolchain", "Installation", "Introduction", "Language guide", "Platform integration", "Gowin", "Intel", "Lattice ECP5", "Lattice iCE40", "Lattice MachXO2 and MachXO3L", "Quicklogic", "Xilinx", "Getting started", "Standard library", "Clock domain crossing", "Code conversion", "Cyclic redundancy checks", "Predefined CRC Algorithms", "Data structures", "Enumerations", "First-in first-out queues", "Tutorial"], "terms": {"thi": [0, 1, 3, 5, 6, 7, 11, 15, 16, 17, 19, 20, 21, 22, 23], "document": [0, 5, 15, 19], "describ": [0, 1, 15, 21], "public": [0, 1], "interfac": [0, 5, 6, 15, 21, 23], "amaranth": [0, 1, 3, 6, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 20, 21, 22, 23, 24], "It": [0, 1, 5, 6, 15, 19, 21], "doe": [0, 4, 5, 6, 17, 21, 23], "includ": [0, 1, 4, 5, 6, 15, 19], "most": [0, 4, 5, 6, 15, 17, 19, 21], "bug": [0, 1, 4, 5, 6], "fix": [0, 3, 4, 6, 15, 19], "support": [0, 1, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 17, 23], "ha": [0, 1, 5, 6, 15, 19, 21, 22, 23], "been": [0, 4, 19, 23], "ad": [0, 4, 5, 6, 15, 21], "new": [0, 3, 4, 5, 19, 21, 23], "improv": [0, 1, 21, 23], "wai": [0, 1, 6, 21, 22], "defin": [0, 5, 6, 15, 17, 19], "data": [0, 3, 16, 17, 19, 23], "structur": [0, 1, 3, 15, 16], "lib": [0, 6, 17, 18, 19, 20, 21, 22, 23], "compon": [0, 5, 21], "wire": [0, 6, 15], "record": [0, 1, 15], "deprec": 0, "In": [0, 6, 21, 22, 23], "departur": 0, "usual": [0, 1, 5, 6, 17, 21], "polici": 0, "give": [0, 6, 21], "design": [0, 1, 4, 5, 6, 14, 15, 17, 19, 21, 24], "addit": [0, 1, 4, 5, 6, 21, 23], "time": [0, 1, 4, 5, 6, 11, 15, 17, 21, 23], "remov": [0, 1, 6, 19], "6": [0, 6, 15, 20, 21], "one": [0, 1, 6, 15, 17, 18, 19, 21, 23, 24], "releas": [0, 17], "later": [0, 1], "than": [0, 4, 5, 6, 17, 21, 22], "normal": 0, "enumer": [0, 3, 16, 21], "extend": [0, 5, 6, 22], "A": [0, 1, 3, 4, 5, 6, 17, 19, 21, 22, 24], "shape": [0, 3, 21, 22], "member": [0, 21, 22], "can": [0, 1, 4, 5, 6, 15, 19, 21, 22, 23], "provid": [0, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 21, 22, 23], "an": [0, 1, 4, 5, 6, 15, 17, 19, 20, 21, 22, 23], "class": [0, 1, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 23], "The": [0, 1, 3, 4, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 21, 22, 23, 24], "sever": [0, 1], "extens": [0, 15], "point": [0, 11, 21], "valu": [0, 3, 15, 17, 19, 21, 22], "base": [0, 5, 6, 8, 9, 10, 11, 12, 13, 14, 16, 19, 21], "outsid": 0, "core": [0, 5, 9], "particular": [0, 5, 21], "signal": [0, 3, 5, 15, 17, 18, 19, 21, 23], "mai": [0, 1, 4, 6, 17, 19, 21, 22], "now": 0, "return": [0, 15, 19, 21, 22], "object": [0, 6, 9, 19, 21], "wrap": [0, 21], "anoth": [0, 21], "call": [0, 6, 19, 20, 21, 22], "protocol": [0, 22], "15": [0, 15, 20], "issu": [0, 1, 5, 6], "infer": [0, 5, 6, 21], "have": [0, 1, 4, 6, 21, 23], "resolv": 0, "notabl": [0, 4], "b": [0, 6, 19], "where": [0, 1, 6, 17, 19, 21], "both": [0, 1, 5, 6, 19, 21], "ar": [0, 1, 5, 6, 8, 9, 10, 11, 14, 15, 17, 18, 19, 20, 21, 23], "unsign": [0, 6, 21, 22], "sign": [0, 1, 6, 21], "python": [0, 1, 4, 5, 6, 11, 15, 21, 22], "7": [0, 4, 5, 6, 20, 21], "11": [0, 20, 21], "12": [0, 6, 20], "featur": [0, 3, 17], "nmigen": [0, 24], "namespac": [0, 6], "i": [0, 1, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 21, 22, 23, 24], "annot": [0, 21], "recogn": 0, "nmigen_": 0, "envron": 0, "variabl": [0, 6, 8, 9, 10, 11, 12, 13, 14, 18, 19, 21, 23], "us": [0, 1, 4, 5, 6, 9, 15, 17, 19, 20, 21, 22, 23, 24], "appli": [0, 6, 19, 21], "follow": [0, 1, 4, 5, 6, 10, 12, 15, 17, 19, 21, 24], "code": [0, 1, 3, 4, 5, 6, 15, 16, 21], "written": [0, 5, 6, 15, 23, 24], "against": 0, "updat": [0, 1, 4, 6, 15, 19], "shell": 0, "environ": [0, 5, 8, 9, 10, 11, 12, 13, 14], "amaranth_": 0, "instead": [0, 6, 21], "amaranth_env_": 0, "all": [0, 1, 5, 6, 9, 15, 19, 20, 21, 22], "uppercas": 0, "name": [0, 5, 8, 9, 10, 11, 12, 14, 17, 21], "nmigen_env_": 0, "mix": [0, 6], "case": [0, 6, 15, 19, 21, 23], "import": [0, 1, 6, 15, 19, 21, 22], "form": [0, 6, 19], "vendor": [0, 5, 8, 9, 10, 11, 12, 13, 14, 15], "some_vendor": 0, "somevendorplatform": 0, "reduc": [0, 5, 6, 17, 21], "futur": [0, 5, 6], "churn": 0, "replac": [0, 22], "const": [0, 6, 21], "repl": 0, "count": [0, 6, 15], "replic": [0, 6], "appropri": 0, "depend": [0, 1, 4, 5, 21, 23], "If": [0, 1, 4, 6, 15, 17, 18, 19, 21, 22, 23], "wa": [0, 19, 21], "being": [0, 1, 6, 21, 23, 24], "storag": 0, "access": [0, 20, 23], "bit": [0, 4, 10, 12, 14, 15, 18, 19, 21, 23], "level": [0, 5, 6, 15, 21, 23], "represent": [0, 6], "connect": [0, 15, 17], "togeth": [0, 1, 6], "ensur": [0, 6], "pin": [0, 5], "instanc": [0, 10, 12, 19, 21, 22], "request": [0, 1, 6, 15, 18], "cast": [0, 3, 21, 22], "directli": [0, 5, 6, 17, 19, 21, 23], "its": [0, 1, 6, 15, 17, 19, 21, 22], "field": [0, 21], "like": [0, 1, 4, 5, 6, 17, 21], "led": [0, 3], "cat": [0, 6, 22], "n": [0, 6, 17, 18, 21], "rang": [0, 15, 18, 21, 23], "o": [0, 5, 14, 17, 18], "note": [0, 6, 17, 19, 21], "schedul": 0, "roundrobin": 0, "inlin": 0, "copi": [0, 1], "fifo": [0, 5, 23], "syncfifo": [0, 16, 23], "fwft": [0, 23], "fals": [0, 6, 17, 19, 20, 23], "fifointerfac": [0, 16, 23], "convert": [0, 5, 6, 21], "true": [0, 6, 15, 17, 19, 20, 23], "those": 0, "while": [0, 1, 5, 6, 19, 21], "list": [0, 1, 6, 19], "below": [0, 6, 15, 17], "work": [0, 3, 4, 5, 6, 10, 12, 15, 21], "thei": [0, 1, 6, 15, 19, 21], "next": [0, 4, 15, 23], "aggreg": [0, 6, 21], "definit": [0, 2, 3, 15], "constant": [0, 3, 21, 22], "castabl": [0, 6, 21, 22], "express": [0, 6, 21, 22], "5": [0, 6, 15, 20, 21, 22], "crc": [0, 16, 19], "gener": [0, 5, 6, 15, 19], "8": [0, 4, 6, 19, 20, 21], "9": [0, 6], "initi": [0, 17, 19, 21], "10": [0, 4, 6, 20, 21], "move": 0, "18": 0, "reorgan": 0, "19": 0, "lift": 0, "20": 0, "non": [0, 5, 6, 17, 23], "22": 0, "valuecast": [0, 21], "28": 0, "allow": [0, 5, 6, 17], "overrid": [0, 9, 10, 11, 12, 13, 14, 17, 21], "oper": [0, 3, 5, 21], "shapecast": [0, 21, 22], "similar": [0, 1, 6, 15, 19, 21], "as_sign": [0, 6], "as_unsign": [0, 6], "left": [0, 6, 19], "hand": 0, "side": [0, 6], "assign": [0, 15, 21], "differ": [0, 1, 5, 6, 17, 18, 21, 23], "behavior": [0, 1, 5, 6, 15, 21], "match": [0, 5, 6], "m": [0, 6, 15, 19, 20, 21], "accept": [0, 1, 6, 21, 22], "ani": [0, 1, 4, 6, 15, 17, 18, 19, 21, 22, 23], "supersed": 0, "memori": [0, 5, 15, 23], "transpar": [0, 6], "read": [0, 6, 21, 23], "port": [0, 15], "enabl": [0, 5, 9, 10, 11, 15, 21], "creat": [0, 1, 6, 19, 20], "__call__": [0, 19, 21], "method": [0, 1, 6, 15, 17, 19, 21, 22], "recurs": [0, 21], "treat": [0, 6, 19], "deriv": [0, 5, 6, 15, 21], "enum": [0, 6, 21, 22], "int": [0, 6, 15, 17, 18, 19, 21, 23], "intenum": [0, 6, 22], "rather": [0, 6], "integ": [0, 19, 21], "empti": [0, 6, 23], "pattern": 0, "warn": 0, "without": [0, 1, 5, 19, 21], "explicitli": [0, 6, 15, 19, 21, 22], "specifi": [0, 6, 8, 9, 10, 11, 12, 13, 14, 15, 17, 19, 21, 22, 23], "width": [0, 18, 19, 21, 23], "tupl": [0, 6], "ast": 0, "uservalu": 0, "linter": 0, "instruct": [0, 15], "begin": [0, 15], "file": [0, 3, 5, 6, 9, 10, 11, 12, 13, 14, 15], "text": 0, "lf": 0, "line": [0, 15], "end": [0, 5, 6, 9, 10, 11, 12, 15], "window": [0, 4, 5, 10, 12], "other": [0, 1, 4, 5, 6, 15, 17, 19, 21, 22], "debug_verilog": 0, "build": [0, 3, 4, 6, 8, 9, 10, 11, 12, 14, 15, 17, 18, 23], "templatedplatform": 0, "env": 0, "argument": [0, 6, 22], "run": [0, 4, 5, 8, 9, 10, 11, 12, 13, 14, 15], "buildplan": 0, "execute_loc": 0, "nmigen_env_diamond": 0, "amaranth_env_diamond": [0, 10, 12], "upper": 0, "sim": [0, 15], "simul": [0, 3, 4, 6, 15], "step": [0, 1, 4, 5, 6, 15], "back": [0, 15], "pysim": 0, "invok": [0, 6], "rtlil": 0, "verilog": [0, 5, 6, 15], "explicit": [0, 5, 6, 19], "test": [0, 1, 5, 23], "icepack_opt": 0, "latticeice40platform": [0, 7, 11], "osch": 0, "default_clk": 0, "clock": [0, 3, 5, 6, 15, 16, 19, 23], "sourc": [0, 1, 4, 5, 6, 15, 21], "latticemachxo2platform": [0, 7, 12], "latticemachxo3lplatform": [0, 7, 12], "xrai": [0, 14], "xilinxplatform": [0, 7, 14], "gowinplatform": [0, 7, 8], "intel": [0, 3, 7], "lattice_ecp5": 0, "lattice_ice40": 0, "lattice_machxo2_3l": 0, "quicklog": [0, 3, 7], "xilinx": [0, 3, 7], "lattice_machxo2": 0, "lattice_machxo_2_3l": 0, "latticemachxo2or3lplatform": [0, 7, 12], "svf": [0, 10, 12], "program": [0, 1, 5, 6, 10, 12, 15], "vector": [0, 10, 12], "xilinx_spartan_3_6": 0, "xilinxspartan3aplatform": 0, "xilinxspartan6platform": 0, "xilinx_7seri": 0, "xilinx7seriesplatform": 0, "xilinx_ultrascal": 0, "xilinxultrascaleplatform": 0, "project": [0, 1, 5, 22], "renam": [0, 6], "nm": 0, "prelud": [0, 3], "am": [0, 6], "adjust": 0, "nmigen_board": 0, "amaranth_board": [0, 15], "board": [0, 2, 3, 15], "switch": [0, 6, 21], "hdl": [0, 4, 5, 6, 15, 24], "inherit": [0, 6, 21, 23], "add": [0, 1, 5, 6, 9, 10, 11, 14, 19, 22], "miss": [0, 1], "util": [0, 19], "fhdltestcas": 0, "assertform": 0, "necessari": [0, 1, 5, 6, 11, 15, 21, 23], "ab": [0, 6], "rotate_left": [0, 6], "rotate_right": [0, 6], "shift_left": [0, 6], "shift_right": [0, 6], "divis": [0, 6], "modulo": [0, 6], "neg": [0, 6, 17], "divisor": [0, 15], "cdc": [0, 5, 17], "pulsesynchron": [0, 16, 17], "asyncffsynchron": [0, 16, 17], "asyncfifo": [0, 16, 23], "reset": [0, 5, 15, 17, 19, 21, 23], "when": [0, 1, 5, 6, 15, 17, 19, 21, 23], "write": [0, 6, 7, 15, 16, 23], "domain": [0, 3, 5, 15, 16, 23], "r_rst": [0, 23], "assert": [0, 6, 15, 17, 18, 19, 23], "r_level": [0, 23], "w_level": [0, 23], "backend": [0, 6, 15], "reject": [0, 6], "larger": [0, 6, 19], "65536": 0, "emit": [0, 6], "yosi": [0, 1, 4, 5, 8, 9, 10, 11, 14], "attribut": [0, 5, 6, 15, 21], "compat": [0, 4], "instal": [0, 1, 3, 11, 15], "fall": 0, "pypi": [0, 4, 5], "packag": [0, 1, 4], "builtin": [0, 4], "avail": [0, 4, 9, 10, 11, 12, 13, 14, 15, 19, 23], "cxxrtl": 0, "multipl": [0, 5, 6, 18], "fragment": 0, "add_process": 0, "advanc": [0, 5, 15], "execute_remote_ssh": 0, "vcd": [0, 15], "output": [0, 1, 6, 11, 15, 17, 18, 19, 23], "top": [0, 6, 15], "bench": [0, 5, 15], "modul": [0, 3, 15, 17, 18, 19, 20, 21, 22, 23], "contain": [0, 1, 5, 6, 15, 19, 20, 21], "testbench": 0, "onli": [0, 4, 5, 6, 15, 17, 18, 19, 21, 23], "sb_lfosc": 0, "sb_hfosc": 0, "binari": [0, 4, 6, 8, 9, 10, 11, 12, 14, 18], "bitstream": [0, 8, 9, 10, 11, 12, 14, 15], "grade": [0, 24], "famili": [0, 4, 5, 21], "temperatur": 0, "part": [0, 1, 6, 15, 21], "speed": [0, 5], "symbiflow": [0, 13, 14], "separ": 0, "flash": [0, 5, 12, 15], "sram": [0, 9, 12], "_flash": [0, 12], "_sram": [0, 12], "quicklogicplatform": [0, 7, 13], "cyclonev_oscil": 0, "intelplatform": [0, 7, 9], "add_set": [0, 9], "add_constraint": [0, 9, 10, 11, 12, 13, 14], "mistral": [0, 9], "synth_design_opt": [0, 14], "No": 0, "were": [0, 6], "publish": 0, "under": [0, 6, 21], "collect": [1, 5, 6], "mani": [1, 5, 6, 15, 19], "peopl": 1, "collabor": 1, "over": [1, 19, 21], "year": 1, "would": [1, 6, 19, 21], "same": [1, 5, 6, 15, 19, 21, 22, 23], "everyon": 1, "": [1, 4, 5, 6, 15, 17, 19, 21, 23, 24], "uniqu": [1, 6], "perspect": 1, "we": 1, "re": [1, 19, 22], "glad": 1, "you": [1, 4, 17, 19], "consid": [1, 5, 6, 15, 17, 21, 24], "join": 1, "u": 1, "page": 1, "guid": [1, 3, 15, 19], "through": [1, 5, 6, 21], "some": [1, 5, 6, 15], "best": 1, "tool": [1, 5, 6, 8, 9, 10, 11, 12, 13, 14], "hear": 1, "about": [1, 6], "encount": 1, "crucial": 1, "do": [1, 6, 15, 21], "care": 1, "lot": 1, "correct": [1, 6], "result": [1, 6, 15, 21, 22], "experi": [1, 6], "just": [1, 6, 21], "much": 1, "meant": 1, "comfort": 1, "fewer": 1, "sharp": 1, "edg": [1, 6, 15, 17], "matter": [1, 21], "how": [1, 4, 6, 19, 21], "technolog": 1, "appeal": 1, "might": 1, "more": [1, 5, 6, 15, 21], "guardrail": 1, "pleas": 1, "To": [1, 4, 5, 6, 15, 19, 20, 21], "go": [1, 5], "beyond": [1, 6], "see": [1, 6, 15, 17], "error": [1, 5, 6, 9, 10, 11, 19, 21], "messag": [1, 6, 9, 10, 11, 15], "hard": [1, 5, 21], "understand": [1, 6], "mislead": 1, "even": [1, 6, 17], "especi": [1, 5], "think": 1, "did": [1, 4], "someth": 1, "wrong": [1, 6], "inform": [1, 9, 10, 11, 15], "exact": [1, 21], "version": [1, 3, 4, 6], "which": [1, 5, 6, 11, 15, 17, 19, 20, 21, 23], "find": 1, "c": [1, 6, 10, 12], "print": [1, 6], "__version__": 1, "complet": [1, 19], "self": [1, 5, 6, 15, 21], "minim": [1, 15], "demonstr": [1, 15], "feasibl": 1, "sequenc": [1, 17, 21], "reproduc": [1, 5], "what": [1, 19], "expect": [1, 21], "happen": [1, 6], "actual": 1, "possibl": [1, 5, 6], "verbatim": 1, "log": [1, 9, 10, 11, 12, 14], "termin": 1, "For": [1, 4, 6, 19, 20, 21, 23], "usabl": [1, 5], "reason": 1, "e": [1, 6, 17, 23], "why": 1, "There": 1, "person": 1, "who": 1, "should": [1, 4, 6, 15, 17, 21, 23], "submit": [1, 21], "valuabl": 1, "own": [1, 6, 21], "right": [1, 6, 21], "appreci": 1, "open": [1, 5, 6, 15], "commun": [1, 5, 21, 24], "tend": 1, "opportun": 1, "enjoi": 1, "pull": [1, 4], "howev": [1, 4, 6, 17, 21], "unless": [1, 6, 23], "ve": 1, "few": [1, 6, 15, 21], "befor": [1, 4, 6, 10, 12, 14], "truli": 1, "trivial": 1, "discuss": 1, "maintain": [1, 5, 17], "first": [1, 3, 4, 5, 6, 15, 16, 17, 19, 21], "doesn": 1, "t": [1, 6, 21], "take": [1, 5, 6, 19], "sometim": [1, 5, 6], "save": [1, 10, 12], "unnecessari": 1, "frustrat": 1, "languag": [1, 2, 15], "toolchain": [1, 2, 4, 8, 9, 10, 11, 12, 13, 14, 15], "from": [1, 4, 5, 15, 17, 19, 20, 21, 22, 23], "kind": [1, 6, 21], "everi": [1, 5, 6, 15, 17, 19, 21], "unavoid": 1, "tightli": [1, 6], "coupl": 1, "seemingli": 1, "obviou": 1, "appar": 1, "minor": 1, "decis": [1, 6], "dramat": 1, "consequ": [1, 5], "make": [1, 4, 5, 6, 22, 23], "sure": [1, 4], "undergo": 1, "scrutini": 1, "commit": [1, 4], "impact": 1, "chanc": 1, "voic": 1, "heard": 1, "substanti": 1, "must": [1, 6, 11, 17, 21], "formal": [1, 24], "comment": 1, "process": [1, 5, 6, 19, 21], "well": [1, 4, 5, 6, 15, 21], "here": [1, 21], "typic": [1, 5], "after": [1, 4, 6, 9, 10, 11, 12, 14, 17, 19, 23], "round": [1, 23], "review": 1, "achiev": [1, 5], "unanim": 1, "consensu": 1, "pdm": 1, "manag": [1, 6, 21], "develop": [1, 15, 21], "workflow": [1, 4, 5, 15], "download": [1, 4, 5, 15, 19], "latest": 1, "onc": [1, 6, 15, 17, 21], "done": [1, 6, 21], "so": [1, 5, 6, 15, 17, 19, 21], "dev": 1, "command": [1, 4, 5, 9, 10, 11, 12, 13, 14, 15, 21], "virtual": 1, "locat": [1, 4, 15, 21], "venv": 1, "runtim": 1, "itself": [1, 6, 10, 12, 15, 19, 21], "edit": [1, 15], "mode": 1, "mean": [1, 6, 19], "immedi": [1, 4, 6, 17], "reflect": [1, 19], "pick": 1, "up": [1, 6, 15, 21, 23, 24], "good": [1, 6, 10, 12], "habit": 1, "each": [1, 5, 6, 19, 21], "tree": [1, 5, 6], "frontend": 1, "yices2": 1, "smt": 1, "solver": 1, "These": [1, 5, 21], "distribut": [1, 4], "oss": 1, "cad": 1, "suit": 1, "reli": [1, 5], "verif": [1, 5, 24], "skip": 1, "index": [1, 6, 21], "doc": 1, "_build": 1, "html": 1, "involv": 1, "small": [1, 6, 15], "iter": [1, 6, 19, 21], "labor": [1, 5, 21], "rebuild": 1, "manual": [1, 3, 4, 19, 21], "start": [1, 3, 5, 6, 19, 21], "automat": [1, 6, 15], "live": 1, "brows": 1, "http": [1, 4, 19], "127": [1, 6], "0": [1, 3, 4, 6, 15, 18, 19, 21, 22], "1": [1, 3, 6, 15, 17, 19, 21, 22, 23], "8000": 1, "browser": 1, "short": [1, 6], "delai": [1, 17, 23], "keep": 1, "ey": 1, "syntact": 1, "refer": [1, 6, 19], "occasion": [1, 6], "builder": 1, "persist": 1, "render": 1, "incorrect": 1, "outdat": 1, "content": 1, "our": 1, "style": [1, 5], "guidelin": 1, "evolv": 1, "eventu": 1, "them": [1, 6, 15, 19, 21], "At": [1, 5, 6], "moment": [1, 5, 6, 15], "ask": 1, "effort": [1, 5, 15], "modifi": 1, "spirit": 1, "surround": 1, "dure": [1, 5, 6, 17, 21], "doubt": 1, "mondai": 1, "17": [1, 20, 22], "00": 1, "utc": 1, "irc": 1, "channel": [1, 21], "lang": [1, 4], "libera": 1, "chat": 1, "matrix": 1, "org": 1, "bridg": 1, "appear": [1, 6, 21, 23], "user": [1, 4, 6, 15, 21], "contributor": 1, "newli": 1, "warrant": 1, "broad": 1, "attent": 1, "primari": 1, "avenu": 1, "want": [1, 19, 24], "interest": 1, "evolut": 1, "simpli": 1, "view": [1, 6, 16], "feel": 1, "free": 1, "attend": 1, "abl": [1, 6], "publicli": 1, "summari": 1, "post": 1, "relev": 1, "github": [1, 4], "thread": 1, "progress": [3, 6], "serious": [3, 6], "incomplet": [3, 6], "introduct": [3, 6, 15, 16], "standard": [3, 6, 9, 10, 11, 15, 19, 22], "librari": [3, 6, 17], "system": [3, 15], "requir": [3, 5, 6, 8, 9, 10, 11, 12, 13, 14, 19, 21], "prerequisit": 3, "get": [3, 4, 5, 6, 21], "counter": [3, 6], "blink": 3, "tutori": [3, 6, 15], "convers": [3, 5, 16], "cross": [3, 5, 16], "cyclic": [3, 16], "redund": [3, 16], "check": [3, 15, 16], "out": [3, 4, 5, 15, 16, 17, 18, 19], "queue": [3, 16], "platform": [3, 4, 5, 8, 9, 10, 11, 12, 13, 14, 15, 17], "integr": [3, 15, 24], "gowin": [3, 7], "lattic": [3, 7, 15], "ecp5": [3, 7], "ice40": [3, 7, 15], "machxo2": [3, 7], "machxo3l": [3, 7], "changelog": 3, "4": [3, 6, 15, 20, 21, 22], "unreleas": 3, "3": [3, 4, 6, 15, 20, 21], "2": [3, 6, 15, 17, 22, 23], "contribut": 3, "problem": [3, 6], "report": [3, 5, 9, 11, 14], "propos": 3, "codebas": 3, "your": [3, 4, 17], "chang": [3, 4, 5, 6, 21], "weekli": 3, "meet": 3, "newer": 4, "cpython": 4, "faster": [4, 17], "pypy3": 4, "pip": 4, "23": [4, 21], "via": [4, 5, 6, 21], "popular": 4, "softwar": [4, 19], "waveform": [4, 6, 15], "viewer": [4, 6], "gtkwave": 4, "invalu": 4, "debug": [4, 5, 15], "synthes": [4, 5, 6, 10, 11, 14, 15], "place": [4, 5, 6, 14, 15, 22], "rout": [4, 5, 6, 14, 15], "fpga": [4, 15, 17, 23, 24], "specif": [4, 5, 6, 17, 21], "x86_64": 4, "aarch64": 4, "continu": [4, 24], "either": [4, 6, 17, 18, 21], "store": [4, 6, 21], "full": [4, 19], "64": [4, 20], "win32": 4, "win64": 4, "need": [4, 5, 6, 17, 21, 23], "unpack": 4, "conveni": [4, 6], "upgrad": 4, "maco": 4, "homebrew": 4, "Then": 4, "brew": 4, "debian": 4, "sudo": 4, "apt": 4, "python3": [4, 15], "On": [4, 10, 12, 17], "architectur": [4, 19], "pip3": 4, "arch": 4, "linux": [4, 10, 12], "pacman": 4, "repositori": [4, 5], "applic": [4, 5, 15, 21], "main": 4, "branch": [4, 6], "similarli": [4, 6], "reliabl": [4, 5], "experiment": 4, "api": 4, "flux": 4, "until": [4, 6, 17, 21, 24], "With": [4, 15, 19], "mind": 4, "try": [4, 6], "function": [4, 5, 6, 15, 19, 21], "avoid": [4, 5, 6], "sinc": [4, 6, 15, 19, 21], "last": [4, 6, 21], "previou": [4, 19, 21], "git": 4, "com": 4, "made": 4, "directori": 4, "affect": [4, 6], "otherwis": [4, 6, 15, 17, 18, 21, 23], "crash": 4, "becaus": [4, 6, 21], "mismatch": [4, 6], "clone": 4, "cd": 4, "ff": 4, "origin": 4, "omit": [4, 6], "explain": [4, 6], "hardwar": [5, 6, 19], "synchron": [5, 15, 17, 23], "digit": [5, 6], "logic": [5, 15, 23], "aim": 5, "easi": 5, "learn": [5, 24], "elimin": [5, 6, 17], "common": [5, 15, 16], "mistak": 5, "simplifi": [5, 6], "complex": [5, 6, 21], "reusabl": [5, 15], "consist": [5, 17], "cover": 5, "restrict": [5, 21, 22], "choic": 5, "exist": [5, 6, 19, 23], "industri": 5, "vhdl": 5, "flow": [5, 6], "descript": [5, 6, 19, 21], "regist": [5, 6, 19, 23], "transfer": [5, 17], "model": [5, 16, 19], "ordinari": [5, 6], "construct": [5, 6, 15, 19, 21, 23], "netlist": [5, 11, 14], "circuit": [5, 6], "human": 5, "readabl": [5, 6], "By": 5, "flexibl": [5, 21], "rich": [5, 6], "widespread": 5, "adopt": 5, "focus": 5, "singl": [5, 6, 15, 21], "task": [5, 6], "block": [5, 6, 15, 17, 18, 23], "finit": [5, 6], "state": [5, 6, 15, 17], "machin": [5, 6], "simpl": [5, 15, 21], "rule": [5, 21], "arithmet": 5, "close": 5, "semant": [5, 6], "loop": [5, 6], "condit": [5, 6, 15, 23], "organ": 5, "seamlessli": 5, "principl": 5, "also": [5, 6, 15, 19, 21, 23], "accident": 5, "misus": [5, 6], "unexpect": [5, 6], "undesir": 5, "synthesi": [5, 6, 11, 14], "often": [5, 6, 21], "expens": 5, "signific": [5, 6, 18, 19, 21], "safe": [5, 17], "third": [5, 21], "parti": 5, "lint": 5, "lack": [5, 6], "synthesiz": [5, 15], "prone": [5, 21], "favor": 5, "instanti": [5, 6, 15, 17, 21], "diagnost": [5, 6, 15], "regularli": 5, "ones": [5, 21], "highlight": 5, "potenti": [5, 6], "importantli": 5, "come": [5, 11], "essenti": [5, 6], "primit": [5, 6], "asynchron": [5, 6, 17, 23], "buffer": [5, 23], "box": [5, 15], "focu": 5, "subtl": [5, 6], "between": [5, 6, 17, 18, 21, 23], "special": [5, 6], "treatment": 5, "devic": [5, 6, 10, 11, 12], "overridden": [5, 21], "recommend": 5, "high": [5, 18, 21], "gear": 5, "peripher": 5, "implement": [5, 6, 17, 19, 21, 22, 23], "least": [5, 6, 18, 19, 21, 23], "amount": [5, 6, 15, 21], "migrat": 5, "option": [5, 6, 9, 10, 11, 14, 15, 17, 20, 22], "limit": [5, 6, 15], "Of": 5, "cours": 5, "alwai": [5, 6, 15, 17, 19, 23], "known": [5, 6, 10, 12, 19, 21], "icaru": 5, "veril": 5, "event": 5, "driven": [5, 6, 17], "although": [5, 6, 15], "slower": 5, "compil": 5, "ahead": 5, "remark": 5, "perform": [5, 19, 21], "pure": 5, "nativ": 5, "co": [5, 15], "major": 5, "commerci": 5, "easili": 5, "constraint": [5, 14, 15, 17], "power": [5, 6, 17, 23], "final": [5, 6], "script": [5, 8, 9, 10, 11, 12, 13, 14], "placement": 5, "analysi": 5, "custom": [5, 15, 19, 23], "insert": [5, 9, 10, 11, 12, 13, 14], "produc": [5, 6, 15, 17], "portabl": 5, "present": [5, 8, 9, 10, 11, 12, 13, 14], "easier": [5, 6], "remot": 5, "nix": 5, "configur": [5, 15, 17, 19, 23], "suppli": 5, "everyth": [5, 21, 22], "direct": [5, 6, 21], "connector": 5, "pinout": [5, 15], "built": [5, 15, 21], "probe": 5, "invoc": [5, 15], "show": 5, "whether": [5, 6, 15, 19], "programm": 5, "correctli": [5, 15, 23], "establish": 5, "convent": [5, 6], "segment": 5, "displai": 5, "spi": 5, "sdram": 5, "reus": 5, "unmodifi": 5, "further": [5, 6, 17], "polar": 5, "control": [5, 15], "unifi": 5, "activ": 5, "invers": 5, "trace": 5, "low": [5, 18, 21], "invert": 5, "introduc": 6, "depth": [6, 23], "assum": 6, "familiar": 6, "prior": 6, "regular": 6, "root": [6, 11, 15], "carefulli": 6, "curat": 6, "export": [6, 10, 12, 22], "nearli": 6, "dedic": 6, "practic": 6, "glob": 6, "frown": 6, "upon": 6, "alia": [6, 12], "exampl": [6, 15, 19, 20, 21], "two": [6, 11, 19, 21], "signed": [6, 21], "alias": 6, "v": [6, 15], "retriev": [6, 21], "len": [6, 21], "basic": [6, 15], "term": [6, 19], "number": [6, 9, 17, 18, 21, 23], "anywher": [6, 21], "repres": 6, "interpret": 6, "complement": 6, "simplest": 6, "ten": 6, "minus_two": 6, "abov": [6, 15], "posit": [6, 19, 21], "smallest": 6, "As": [6, 15, 21], "truncat": 6, "fit": 6, "rare": [6, 21], "permit": 6, "360": 6, "104": 6, "129": 6, "indirectli": 6, "implicit": [6, 19], "shorthand": 6, "r": 6, "larg": [6, 21, 23], "enough": [6, 21], "min": 6, "max": 6, "whose": [6, 21], "set": [6, 9, 10, 11, 12, 14, 17, 19, 23, 24], "100": [6, 17], "item": [6, 19], "exclus": 6, "half": 6, "stop": 6, "element": [6, 21, 23], "wide": 6, "fencepost": 6, "256": [6, 21], "syntaxwarn": 6, "equal": [6, 19, 21], "inclus": 6, "off": [6, 10, 12], "detect": [6, 19], "bound": 6, "subclass": [6, 21, 22], "multiplex": 6, "distinct": 6, "bottom": 6, "funct4": 6, "sub": [6, 22], "mul": [6, 22], "prevent": 6, "unwant": 6, "equival": [6, 21], "d5": 6, "type": [6, 19, 21, 22, 23], "d1": 6, "subset": [6, 21], "operand": 6, "numer": 6, "d26": 6, "funct": [6, 22], "op": [6, 22], "reg": [6, 15, 22], "imm": [6, 22], "instr": [6, 22], "addi": [6, 22], "expand": 6, "vari": 6, "respect": 6, "cannot": [6, 21, 23], "uniniti": 6, "undefin": 6, "default": [6, 14, 15, 17, 19, 20], "foo": 6, "bar": 6, "paramet": [6, 15, 16, 17, 18, 19, 21, 23], "foo2": 6, "second_foo": 6, "prepar": 6, "ambigu": 6, "zero": [6, 21, 23], "none": [6, 14, 15, 17, 18], "never": [6, 21, 22], "resett": [6, 17], "reset_less": [6, 17], "resetinsert": 6, "combin": [6, 21], "arrai": [6, 21], "themselv": 6, "concret": [6, 21], "goal": 6, "calcul": 6, "contrast": 6, "abstract": [6, 21], "sig": [6, 15, 21], "syntax": [6, 15, 21], "rememb": 6, "higher": [6, 17], "traceback": [6, 21], "recent": [6, 19, 21], "typeerror": [6, 21, 22], "attempt": 6, "boolean": 6, "therefor": [6, 19], "statement": [6, 22], "execut": 6, "decid": 6, "bodi": 6, "fact": 6, "long": [6, 19], "finish": [6, 15], "solv": 6, "manipul": [6, 21], "OR": 6, "select": 6, "regardless": 6, "too": 6, "unlimit": 6, "precis": [6, 21], "overflow": [6, 15], "suffici": [6, 21], "128": 6, "382": 6, "tabl": 6, "negat": 6, "subtract": 6, "floor": 6, "absolut": 6, "due": 6, "chain": [6, 17], "g": [6, 14, 17], "inequ": 6, "greater": 6, "effici": 6, "NOT": 6, "AND": 6, "xor": [6, 19], "impli": 6, "revers": [6, 19], "exponenti": 6, "wider": 6, "intermedi": 6, "stress": 6, "32": [6, 20, 21], "4294967296": 6, "break": 6, "veri": [6, 21], "sidewai": 6, "pair": 6, "unari": 6, "sole": 6, "odd": 6, "bool": [6, 17, 19, 23], "conceptu": 6, "unlik": 6, "clariti": [6, 15], "p": 6, "q": 6, "preced": 6, "bind": 6, "wherea": 6, "parenthes": 6, "around": 6, "en": [6, 15], "addr": [6, 21], "d0": [6, 21], "stb": 6, "use_stb": 6, "msb": 6, "sd": 6, "detail": [6, 15, 17, 19], "apart": 6, "act": [6, 22, 23], "slice": [6, 21], "concaten": 6, "clash": 6, "except": [6, 21], "subscript": 6, "offset": [6, 21], "notat": 6, "length": [6, 21], "j": 6, "k": 6, "bit_select": 6, "w": [6, 15], "overlap": 6, "word_select": 6, "word": [6, 19, 23], "talk": 6, "convention": 6, "variat": 6, "occupi": 6, "0th": 6, "expon": [6, 21], "caus": [6, 17], "confus": 6, "0b1001": 6, "0b1010": 6, "0b1010_1001": 6, "val": [6, 15], "Such": 6, "seem": 6, "natur": [6, 18], "alon": 6, "could": [6, 17, 21], "ye": 6, "deliber": 6, "reinterpret": 6, "pc": 6, "mux": 6, "sel": 6, "val1": 6, "val0": 6, "unit": 6, "hierarchi": [6, 21], "independ": 6, "associ": [6, 21], "submodul": [6, 19, 20], "fresh": 6, "group": [6, 21], "ident": [6, 18, 19, 23], "predefin": [6, 16, 19], "comb": [6, 15, 21], "reserv": [6, 21], "occur": 6, "sync": [6, 15, 21], "feedback": 6, "hold": [6, 15], "eq": [6, 15, 21], "effect": 6, "0b11": 6, "d3": 6, "d": [6, 15, 19, 21], "entir": [6, 15, 19], "upfront": 6, "def": [6, 15, 21], "add_toggl": 6, "num": 6, "f": [6, 8, 15], "sync_": 6, "becom": [6, 19, 23], "undriven": 6, "exactli": [6, 21, 22], "dsl": 6, "syntaxerror": 6, "driver": 6, "conflict": 6, "drive": [6, 15], "alreadi": [6, 15, 23], "clearli": 6, "meaning": 6, "inher": 6, "answer": 6, "greatli": 6, "analyz": 6, "snippet": 6, "determin": 6, "tailor": 6, "fsm": 6, "context": 6, "timer": [6, 15], "els": [6, 15, 17], "superfici": 6, "imper": 6, "insid": 6, "observ": 6, "satisfi": 6, "given": [6, 19, 21], "uncondition": 6, "account": 6, "whenev": [6, 19], "shorten": 6, "stabl": 6, "latch": [6, 23], "unstabl": 6, "ring": 6, "oscil": [6, 15], "prohibit": 6, "current": [6, 19], "assumpt": 6, "aren": 6, "silent": 6, "miscompil": 6, "though": 6, "hazard": 6, "exceedingli": 6, "desir": 6, "technologi": 6, "lut": 6, "transit": 6, "section": [7, 15, 16, 21], "latticeecp5platform": [7, 10], "apicula": 8, "nextpnr": [8, 9, 10, 11, 14], "gowin_pack": 8, "popul": [8, 9, 10, 11, 12, 13, 14, 21], "amaranth_env_apicula": 8, "product": [8, 9, 10, 11, 12, 14], "gw_sh": 8, "amaranth_env_gowin": 8, "quartu": 9, "quartus_map": 9, "quartus_fit": 9, "quartus_asm": 9, "quartus_sta": 9, "amaranth_env_quartu": 9, "qsf": 9, "sdc": [9, 11], "nproc": 9, "quartus_map_opt": 9, "extra": [9, 10, 11, 14], "quartus_fit_opt": 9, "quartus_asm_opt": 9, "quartus_sta_opt": 9, "rpt": [9, 10, 11, 14], "sof": 9, "rbf": 9, "raw": [9, 14], "amaranth_env_mistr": 9, "verbos": [9, 10, 11, 15], "read_verilog_opt": [9, 10, 11], "read_verilog": [9, 10, 11], "synth_opt": [9, 10, 11], "synth_intel_alm": 9, "script_after_read": [9, 10, 11, 14], "read_ilang": [9, 10, 11], "script_after_synth": [9, 10, 11, 14], "yosys_opt": [9, 10, 11], "nextpnr_opt": [9, 10, 11], "trelli": 10, "diamond": [10, 12], "ecppack": 10, "amaranth_env_trelli": 10, "synth_ecp5": 10, "ecppack_opt": 10, "add_prefer": [10, 12], "lpf": [10, 12], "json": [10, 11], "rtl": [10, 11, 14], "tim": [10, 11], "config": 10, "ascii": [10, 11], "jtag": [10, 12], "pnmainc": [10, 12], "ddtcmd": [10, 12], "diamond_env": [10, 12], "candid": [10, 12], "bat": [10, 12], "echo": [10, 12], "path": [10, 12], "lscc": [10, 12], "diamond_vers": [10, 12], "bin": [10, 11, 12, 14], "nt64": [10, 12], "script_project": [10, 12], "prj_project": [10, 12], "tcl": [10, 11, 12, 14], "script_after_export": [10, 12], "prj_run": [10, 12], "xdc": [10, 12, 13, 14], "_impl": [10, 12], "htm": [10, 11, 12], "consolid": [10, 12], "icestorm": 11, "icecube2": 11, "icepack": 11, "amaranth_env_icestorm": 11, "synth_ice40": 11, "add_pre_pack": 11, "pre": [11, 19], "pack": 11, "pcf": [11, 14], "asc": 11, "variant": 11, "lse": 11, "synplifi": 11, "tclsh": 11, "amaranth_env_icecube2": 11, "lse_opt": 11, "script_after_add": 11, "add_fil": 11, "script_after_opt": 11, "set_opt": 11, "script_after_flow": 11, "run_sbt_backend_auto": 11, "sbt": 11, "_lse": 11, "_design": 11, "router": 11, "_time": [11, 14], "edf": 11, "edif": 11, "_lattice_machxo_2_3l": 12, "jed": 12, "jedec": 12, "fuse": 12, "symbiflow_synth": [13, 14], "symbiflow_pack": [13, 14], "symbiflow_plac": [13, 14], "symbiflow_rout": [13, 14], "symbiflow_write_fasm": [13, 14], "symbiflow_write_bitstream": [13, 14], "amaranth_env_qlsymbiflow": 13, "ISE": 14, "vivado": 14, "amaranth_env_vivado": 14, "read_xdc": 14, "synth_design": 14, "script_after_plac": 14, "place_design": 14, "script_after_rout": 14, "route_design": 14, "script_before_bitstream": 14, "write_bitstream": 14, "script_after_bitstream": 14, "vivado_opt": 14, "_timing_synth": 14, "_utilization_hierarchical_synth": 14, "_utilization_synth": 14, "_utilization_hierarchical_plac": 14, "_utilization_plac": 14, "_io": 14, "_control_set": 14, "_clock_util": 14, "_route_statu": 14, "_drc": 14, "_methodologi": 14, "_power": 14, "_rout": 14, "dcp": 14, "checkpoint": 14, "metadata": 14, "xst": 14, "ngdbuild": 14, "map": [14, 21], "par": 14, "bitgen": 14, "amaranth_env_is": 14, "script_after_run": 14, "ucf": 14, "xst_opt": 14, "ngdbuild_opt": 14, "map_opt": 14, "par_opt": 14, "bitgen_opt": 14, "compress": 14, "srp": 14, "ngc": 14, "bld": 14, "ngd": 14, "databas": 14, "_map": 14, "mrp": 14, "ncd": 14, "physic": 14, "_par": 14, "_par_pad": 14, "txt": [14, 19], "usag": 14, "drc": 14, "bgn": 14, "amaranth_env_symbiflow": 14, "fasm2fram": 14, "xc7frames2bit": 14, "amaranth_env_xrai": 14, "cursori": 15, "overview": 15, "explan": 15, "shown": 15, "up_count": 15, "py": 15, "16": [15, 19, 20, 21], "input": [15, 17, 18, 19, 23], "upcount": 15, "elaborat": 15, "increment": 15, "retain": 15, "ovf": 15, "reach": [15, 21], "__init__": [15, 21], "elabor": [15, 17], "helper": 15, "combinatori": 15, "elif": 15, "black": [15, 21], "verifi": 15, "dut": 15, "25": [15, 20], "disabl": 15, "yield": [15, 21], "_": 15, "30": [15, 20], "cycl": [15, 17, 19, 23], "clear": 15, "add_clock": 15, "1e": 15, "mhz": 15, "add_sync_process": 15, "write_vcd": 15, "inspect": 15, "successfulli": 15, "still": [15, 17, 24], "de": 15, "facto": 15, "interoper": 15, "correspond": [15, 19, 21], "rise": [15, 23], "lightli": 15, "clk": 15, "rst": 15, "src": 15, "ir": 15, "526": 15, "26": 15, "27": 15, "h0000": 15, "35": 15, "41": 15, "h19": 15, "h1": 15, "posedg": 15, "37": 15, "casez": 15, "38": 15, "40": [15, 20], "endcas": 15, "xfrm": 15, "518": 15, "endmodul": 15, "aid": 15, "unfortun": 15, "standalon": 15, "adapt": 15, "frequenc": [15, 17], "hz": 15, "ledblink": 15, "half_freq": 15, "default_clk_frequ": 15, "icestick": 15, "evalu": 15, "link": 15, "foss": 15, "probabl": 15, "icestickplatform": 15, "do_program": 15, "choos": 15, "benefit": 15, "turnkei": 15, "abil": [15, 22], "metaclass": 16, "layout": 16, "One": [16, 21], "hot": 16, "prioriti": 16, "grai": 16, "ffsynchron": [16, 17], "resetsynchron": [16, 17], "algorithm": [16, 19], "processor": [16, 19], "syncfifobuff": [16, 23], "asyncfifobuff": [16, 23], "resynchronis": 17, "flip": 17, "flop": 17, "metast": 17, "guarante": 17, "synchronis": 17, "o_domain": 17, "str": [17, 21, 23], "unaffect": 17, "stage": 17, "lowest": 17, "mtbf": 17, "cost": 17, "increas": [17, 23], "latenc": [17, 19, 23], "max_input_delai": 17, "float": [17, 21], "maximum": 17, "second": [17, 21], "fail": 17, "safest": 17, "load": 17, "valid": [17, 19, 21, 23], "target": [17, 21], "asic": 17, "arbitrari": [17, 21], "warm": 17, "insuffici": 17, "deassert": 17, "get_ff_sync": 17, "cell": 17, "primarili": 17, "async_edg": 17, "po": 17, "get_async_ff_sync": 17, "gate": 17, "yet": 17, "promptli": 17, "arst": 17, "get_reset_sync": 17, "puls": 17, "duti": 17, "ratio": 17, "drop": [17, 22], "i_domain": 17, "encod": 18, "indic": [18, 19, 21], "invalid": 18, "decod": 18, "th": 18, "priorityencod": 18, "prioritydecod": 18, "grayencod": 18, "graydecod": 18, "comput": 19, "polynomi": [19, 20], "commonli": 19, "catalog": [19, 20], "accommod": [19, 21], "data_width": [19, 20], "obtain": 19, "fulli": 19, "crc16": 19, "ccitt": 19, "byte": [19, 21], "crc16_ccitt": [19, 20], "algo": 19, "crc_width": [19, 20], "0x1021": [19, 20], "initial_crc": [19, 20], "0xffff": [19, 20], "reflect_input": [19, 20], "reflect_output": [19, 20], "xor_output": [19, 20], "0x0000": [19, 20], "123456789": 19, "0x29b1": 19, "exclud": 19, "william": 19, "painless": 19, "www": 19, "ross": 19, "net": 19, "crc_v3": 19, "reveng": [19, 20], "catalogu": 19, "parameteris": 19, "crcmod": 19, "lead": 19, "polynomin": 19, "init": [19, 21], "zoo": 19, "entri": [19, 20, 23], "x": 19, "highest": 19, "order": [19, 21], "transmiss": 19, "littl": 19, "endian": 19, "multi": 19, "0x4e4c": 19, "transmit": 19, "octet": 19, "0x4c": 19, "0x4e": 19, "addition": 19, "properti": [19, 21], "residu": 19, "codeword": 19, "bitwidth": 19, "arg": 19, "src_loc_at": 19, "kwarg": 19, "stream": 19, "handl": [19, 23], "subsequ": 19, "throughput": 19, "per": 19, "classic": 19, "serial": 19, "galoi": 19, "shift": 19, "parallel": 19, "match_detect": 19, "trail": 19, "initialis": 19, "simultan": 19, "receiv": 19, "crc3_gsm": [19, 20], "crc3_rohc": [19, 20], "crc4_g_704": [19, 20], "crc4_itu": [19, 20], "crc4_interlaken": [19, 20], "crc5_epc_c1g2": [19, 20], "crc5_epc": [19, 20], "crc5_g_704": [19, 20], "crc5_itu": [19, 20], "crc5_usb": [19, 20], "crc6_cdma2000_a": [19, 20], "crc6_cdma2000_b": [19, 20], "crc6_darc": [19, 20], "crc6_g_704": [19, 20], "crc6_itu": [19, 20], "crc6_gsm": [19, 20], "crc7_mmc": [19, 20], "crc7_rohc": [19, 20], "crc7_umt": [19, 20], "crc8_autosar": [19, 20], "crc8_bluetooth": [19, 20], "crc8_cdma2000": [19, 20], "crc8_darc": [19, 20], "crc8_dvb_s2": [19, 20], "crc8_gsm_a": [19, 20], "crc8_gsm_b": [19, 20], "crc8_hitag": [19, 20], "crc8_i_432_1": [19, 20], "crc8_itu": [19, 20], "crc8_i_cod": [19, 20], "crc8_lte": [19, 20], "crc8_maxim_dow": [19, 20], "crc8_maxim": [19, 20], "crc8_mifare_mad": [19, 20], "crc8_nrsc_5": [19, 20], "crc8_opensafeti": [19, 20], "crc8_rohc": [19, 20], "crc8_sae_j1850": [19, 20], "crc8_smbu": [19, 20], "crc8_tech_3250": [19, 20], "crc8_ae": [19, 20], "crc8_etu": [19, 20], "crc8_wcdma": [19, 20], "crc10_atm": [19, 20], "crc10_i_610": [19, 20], "crc10_cdma2000": [19, 20], "crc10_gsm": [19, 20], "crc11_flexrai": [19, 20], "crc11_umt": [19, 20], "crc12_cdma2000": [19, 20], "crc12_dect": [19, 20], "crc12_gsm": [19, 20], "crc12_umt": [19, 20], "crc12_3gpp": [19, 20], "crc13_bbc": [19, 20], "crc14_darc": [19, 20], "crc14_gsm": [19, 20], "crc15_can": [19, 20], "crc15_mpt1327": [19, 20], "crc16_arc": [19, 20], "crc16_ibm": [19, 20], "crc16_cdma2000": [19, 20], "crc16_cm": [19, 20], "crc16_dds_110": [19, 20], "crc16_dect_r": [19, 20], "crc16_dect_x": [19, 20], "crc16_dnp": [19, 20], "crc16_en_13757": [19, 20], "crc16_genibu": [19, 20], "crc16_darc": [19, 20], "crc16_epc": [19, 20], "crc16_epc_c1g2": [19, 20], "crc16_i_cod": [19, 20], "crc16_gsm": [19, 20], "crc16_ibm_3740": [19, 20], "crc16_autosar": [19, 20], "crc16_ccitt_fals": [19, 20], "crc16_ibm_sdlc": [19, 20], "crc16_iso_hdlc": [19, 20], "crc16_iso_iec_14443_3_b": [19, 20], "crc16_x25": [19, 20], "crc16_iso_iec_14443_3_a": [19, 20], "crc16_kermit": [19, 20], "crc16_bluetooth": [19, 20], "crc16_ccitt_tru": [19, 20], "crc16_v_41_lsb": [19, 20], "crc16_lj1200": [19, 20], "crc16_m17": [19, 20], "crc16_maxim_dow": [19, 20], "crc16_maxim": [19, 20], "crc16_mcrf4xx": [19, 20], "crc16_modbu": [19, 20], "crc16_nrsc_5": [19, 20], "crc16_opensafety_a": [19, 20], "crc16_opensafety_b": [19, 20], "crc16_profibu": [19, 20], "crc16_iec_61158_2": [19, 20], "crc16_riello": [19, 20], "crc16_spi_fujitsu": [19, 20], "crc16_aug_ccitt": [19, 20], "crc16_t10_dif": [19, 20], "crc16_teledisk": [19, 20], "crc16_tms37157": [19, 20], "crc16_umt": [19, 20], "crc16_buypass": [19, 20], "crc16_verifon": [19, 20], "crc16_usb": [19, 20], "crc16_xmodem": [19, 20], "crc16_acorn": [19, 20], "crc16_lte": [19, 20], "crc16_v_41_msb": [19, 20], "crc16_zmodem": [19, 20], "crc17_can_fd": [19, 20], "crc21_can_fd": [19, 20], "crc24_ble": [19, 20], "crc24_flexray_a": [19, 20], "crc24_flexray_b": [19, 20], "crc24_interlaken": [19, 20], "crc24_lte_a": [19, 20], "crc24_lte_b": [19, 20], "crc24_openpgp": [19, 20], "crc24_os_9": [19, 20], "crc30_cdma": [19, 20], "crc31_philip": [19, 20], "crc32_aixm": [19, 20], "crc32_autosar": [19, 20], "crc32_base91_d": [19, 20], "crc32_bzip2": [19, 20], "crc32_aal5": [19, 20], "crc32_dect_b": [19, 20], "crc32_cd_rom_edc": [19, 20], "crc32_cksum": [19, 20], "crc32_posix": [19, 20], "crc32_iscsi": [19, 20], "crc32_base91_c": [19, 20], "crc32_castagnoli": [19, 20], "crc32_interlaken": [19, 20], "crc32_iso_hdlc": [19, 20], "crc32_adccp": [19, 20], "crc32_v_42": [19, 20], "crc32_xz": [19, 20], "crc32_pkzip": [19, 20], "crc32_ethernet": [19, 20], "crc32_jamcrc": [19, 20], "crc32_mef": [19, 20], "crc32_mpeg_2": [19, 20], "crc32_xfer": [19, 20], "crc40_gsm": [19, 20], "crc64_ecma_182": [19, 20], "crc64_go_iso": [19, 20], "crc64_m": [19, 20], "crc64_redi": [19, 20], "crc64_we": [19, 20], "crc64_xz": [19, 20], "crc64_ecma": [19, 20], "crc82_darc": [19, 20], "2023": 20, "05": 20, "crc8": 20, "0x3": 20, "0x0": [20, 21], "0x7": 20, "0xf": 20, "0x9": 20, "0x15": 20, "0x5": 20, "0x1f": 20, "0x27": 20, "0x3f": 20, "0x19": 20, "0x2f": 20, "0x4f": 20, "0x7f": [20, 21], "0x45": 20, "0xff": 20, "0xa7": 20, "0x00": 20, "0x9b": 20, "0x39": 20, "0xd5": 20, "0x1d": 20, "0x49": 20, "0x07": 20, "0x55": 20, "0xfd": 20, "0x31": 20, "0xc7": 20, "0x233": 20, "0x3d9": 20, "0x3ff": 20, "0x175": 20, "0x385": 20, "0x1a": 20, "0x307": 20, "0xf13": 20, "0xfff": 20, "0x000": 20, "0x80f": 20, "0xd31": 20, "13": 20, "0x1cf5": 20, "14": [20, 21], "0x805": 20, "0x202d": 20, "0x3fff": 20, "0x4599": 20, "0x6815": 20, "0x001": 20, "0x8005": 20, "0xc867": 20, "0x800d": 20, "0x0589": 20, "0x0001": 20, "0x3d65": 20, "0xc6c6": 20, "0x6f63": 20, "0x5935": 20, "0x080b": 20, "0x755b": 20, "0x1dcf": 20, "0xb2aa": 20, "0x1d0f": 20, "0x8bb7": 20, "0xa097": 20, "0x89ec": 20, "0x1685b": 20, "21": 20, "0x102899": 20, "0x00000": 20, "24": [20, 21], "0x00065b": 20, "0x555555": 20, "0x000000": 20, "0x5d6dcb": 20, "0xfedcba": 20, "0xabcdef": 20, "0x328b63": 20, "0xffffff": 20, "0x864cfb": 20, "0x800063": 20, "0xb704ce": 20, "0x2030b9c7": 20, "0x3fffffff": 20, "31": [20, 21], "0x4c11db7": 20, "0x7fffffff": 20, "0x814141ab": 20, "0x00000000": 20, "0xf4acfb13": 20, "0xffffffff": 20, "0xa833982b": 20, "0x04c11db7": 20, "0x8001801b": 20, "0x1edc6f41": 20, "0x741b8cd7": 20, "0x000000af": 20, "0x0004820009": 20, "0x0000000000": 20, "0xffffffffff": 20, "0x42f0e1eba9ea3693": 20, "0x0000000000000000": 20, "0x000000000000001b": 20, "0xffffffffffffffff": 20, "0x259c84cba6426349": 20, "0xad93d23594c935a9": 20, "82": 20, "0x308c0111011401440411": 20, "0x00000000000000000000": 20, "bitwis": 21, "proxi": 21, "four": 21, "relat": 21, "facil": 21, "foundat": 21, "introspect": 21, "structlayout": 21, "unionlayout": 21, "arraylayout": 21, "flexiblelayout": 21, "plain": 21, "struct": 21, "fundament": 21, "intern": 21, "pixel": 21, "rgb": 21, "grayscal": 21, "color": 21, "format": 21, "rgb565": 21, "fast": 21, "approxim": 21, "i_color": 21, "o_grai": 21, "repetit": 21, "referenc": 21, "rgb565_layout": 21, "red": 21, "green": 21, "blue": 21, "accumul": 21, "averag": 21, "intens": 21, "input_layout": 21, "i_stream": 21, "r_accum": 21, "sum": 21, "interchang": 21, "rgb_layout": 21, "r_bit": 21, "g_bit": 21, "b_bit": 21, "rgb24_layout": 21, "transform": 21, "rgblayout": 21, "super": 21, "rgbview": 21, "bright": 21, "as_valu": 21, "static": 21, "boilerpl": 21, "ieee754singl": 21, "fraction": 21, "is_subnorm": 21, "set_addr": 21, "send_data": 21, "param": 21, "biggest": 21, "cmd": 21, "0x00001234": 21, "react": 21, "immut": 21, "__eq__": 21, "compar": [21, 23], "kei": 21, "string": 21, "identifi": 21, "span": 21, "preserv": 21, "invari": 21, "obj": 21, "as_shap": [21, 22], "rais": [21, 22], "recursionerror": 21, "__iter__": 21, "__getitem__": 21, "keyerror": 21, "size": 21, "underli": 21, "had": 21, "gap": 21, "pad": 21, "altern": 21, "_1": 21, "_2": 21, "won": 21, "dictionari": 21, "plu": [21, 23], "largest": 21, "elem_shap": 21, "multipli": 21, "individu": 21, "arbitrarili": 21, "chosen": 21, "dynam": 21, "leav": 21, "rest": 21, "concis": 21, "look": 21, "repeatedli": 21, "latter": 21, "unspecifi": 21, "inout": 21, "__getattr__": 21, "attributeerror": 21, "underscor": 21, "kept": 21, "ieee": 21, "754": 21, "flt": 21, "hex": 21, "0x3f800000": 21, "0xbf800000": 21, "share": 21, "haschecksum": 21, "checksum": 21, "barehead": 21, "address": 21, "headerwithparam": 21, "bare": 21, "varint": 21, "int8": 21, "int16": 21, "0x100": 21, "flag": 22, "intflag": 22, "keyword": 22, "subi": 22, "behav": 22, "likewis": 22, "normalenum": 22, "spam": 22, "ham": 22, "enummeta": 22, "neither": 22, "nor": 22, "w_data": 23, "w_rdy": 23, "w_en": 23, "r_data": 23, "r_rdy": 23, "r_en": 23, "fallthrough": 23, "strobe": 23, "space": 23, "noth": 23, "unread": 23, "substitut": 23, "incompat": 23, "ram": 23, "exchang": 23, "r_domain": 23, "w_domain": 23, "exact_depth": 23, "remain": 23, "offici": 24, "readi": 24, "vivonomicon": 24, "kbob": 24, "robert": 24, "baruch": 24, "exercis": 24, "my": 24, "journei": 24, "david": 24, "sporn": 24, "focuss": 24, "workstat": 24}, "objects": {"amaranth.lib": [[17, 0, 0, "-", "cdc"], [18, 0, 0, "-", "coding"], [19, 0, 0, "-", "crc"], [21, 0, 0, "-", "data"], [22, 0, 0, "-", "enum"], [23, 0, 0, "-", "fifo"]], "amaranth.lib.cdc": [[17, 1, 1, "", "AsyncFFSynchronizer"], [17, 1, 1, "", "FFSynchronizer"], [17, 1, 1, "", "PulseSynchronizer"], [17, 1, 1, "", "ResetSynchronizer"]], "amaranth.lib.coding": [[18, 1, 1, "", "Decoder"], [18, 1, 1, "", "Encoder"], [18, 1, 1, "", "GrayDecoder"], [18, 1, 1, "", "GrayEncoder"], [18, 1, 1, "", "PriorityDecoder"], [18, 1, 1, "", "PriorityEncoder"]], "amaranth.lib.crc": [[19, 1, 1, "", "Algorithm"], [19, 1, 1, "", "Parameters"], [19, 1, 1, "", "Processor"], [20, 0, 0, "-", "catalog"]], "amaranth.lib.crc.Algorithm": [[19, 2, 1, "", "__call__"]], "amaranth.lib.crc.Parameters": [[19, 3, 1, "", "algorithm"], [19, 2, 1, "", "compute"], [19, 2, 1, "", "create"], [19, 2, 1, "", "residue"]], "amaranth.lib.crc.catalog": [[20, 4, 1, "", "CRC10_ATM"], [20, 4, 1, "", "CRC10_CDMA2000"], [20, 4, 1, "", "CRC10_GSM"], [20, 4, 1, "", "CRC10_I_610"], [20, 4, 1, "", "CRC11_FLEXRAY"], [20, 4, 1, "", "CRC11_UMTS"], [20, 4, 1, "", "CRC12_3GPP"], [20, 4, 1, "", "CRC12_CDMA2000"], [20, 4, 1, "", "CRC12_DECT"], [20, 4, 1, "", "CRC12_GSM"], [20, 4, 1, "", "CRC12_UMTS"], [20, 4, 1, "", "CRC13_BBC"], [20, 4, 1, "", "CRC14_DARC"], [20, 4, 1, "", "CRC14_GSM"], [20, 4, 1, "", "CRC15_CAN"], [20, 4, 1, "", "CRC15_MPT1327"], [20, 4, 1, "", "CRC16_ACORN"], [20, 4, 1, "", "CRC16_ARC"], [20, 4, 1, "", "CRC16_AUG_CCITT"], [20, 4, 1, "", "CRC16_AUTOSAR"], [20, 4, 1, "", "CRC16_BLUETOOTH"], [20, 4, 1, "", "CRC16_BUYPASS"], [20, 4, 1, "", "CRC16_CCITT"], [20, 4, 1, "", "CRC16_CCITT_FALSE"], [20, 4, 1, "", "CRC16_CCITT_TRUE"], [20, 4, 1, "", "CRC16_CDMA2000"], [20, 4, 1, "", "CRC16_CMS"], [20, 4, 1, "", "CRC16_DARC"], [20, 4, 1, "", "CRC16_DDS_110"], [20, 4, 1, "", "CRC16_DECT_R"], [20, 4, 1, "", "CRC16_DECT_X"], [20, 4, 1, "", "CRC16_DNP"], [20, 4, 1, "", "CRC16_EN_13757"], [20, 4, 1, "", "CRC16_EPC"], [20, 4, 1, "", "CRC16_EPC_C1G2"], [20, 4, 1, "", "CRC16_GENIBUS"], [20, 4, 1, "", "CRC16_GSM"], [20, 4, 1, "", "CRC16_IBM"], [20, 4, 1, "", "CRC16_IBM_3740"], [20, 4, 1, "", "CRC16_IBM_SDLC"], [20, 4, 1, "", "CRC16_IEC_61158_2"], [20, 4, 1, "", "CRC16_ISO_HDLC"], [20, 4, 1, "", "CRC16_ISO_IEC_14443_3_A"], [20, 4, 1, "", "CRC16_ISO_IEC_14443_3_B"], [20, 4, 1, "", "CRC16_I_CODE"], [20, 4, 1, "", "CRC16_KERMIT"], [20, 4, 1, "", "CRC16_LJ1200"], [20, 4, 1, "", "CRC16_LTE"], [20, 4, 1, "", "CRC16_M17"], [20, 4, 1, "", "CRC16_MAXIM"], [20, 4, 1, "", "CRC16_MAXIM_DOW"], [20, 4, 1, "", "CRC16_MCRF4XX"], [20, 4, 1, "", "CRC16_MODBUS"], [20, 4, 1, "", "CRC16_NRSC_5"], [20, 4, 1, "", "CRC16_OPENSAFETY_A"], [20, 4, 1, "", "CRC16_OPENSAFETY_B"], [20, 4, 1, "", "CRC16_PROFIBUS"], [20, 4, 1, "", "CRC16_RIELLO"], [20, 4, 1, "", "CRC16_SPI_FUJITSU"], [20, 4, 1, "", "CRC16_T10_DIF"], [20, 4, 1, "", "CRC16_TELEDISK"], [20, 4, 1, "", "CRC16_TMS37157"], [20, 4, 1, "", "CRC16_UMTS"], [20, 4, 1, "", "CRC16_USB"], [20, 4, 1, "", "CRC16_VERIFONE"], [20, 4, 1, "", "CRC16_V_41_LSB"], [20, 4, 1, "", "CRC16_V_41_MSB"], [20, 4, 1, "", "CRC16_X25"], [20, 4, 1, "", "CRC16_XMODEM"], [20, 4, 1, "", "CRC16_ZMODEM"], [20, 4, 1, "", "CRC17_CAN_FD"], [20, 4, 1, "", "CRC21_CAN_FD"], [20, 4, 1, "", "CRC24_BLE"], [20, 4, 1, "", "CRC24_FLEXRAY_A"], [20, 4, 1, "", "CRC24_FLEXRAY_B"], [20, 4, 1, "", "CRC24_INTERLAKEN"], [20, 4, 1, "", "CRC24_LTE_A"], [20, 4, 1, "", "CRC24_LTE_B"], [20, 4, 1, "", "CRC24_OPENPGP"], [20, 4, 1, "", "CRC24_OS_9"], [20, 4, 1, "", "CRC30_CDMA"], [20, 4, 1, "", "CRC31_PHILIPS"], [20, 4, 1, "", "CRC32_AAL5"], [20, 4, 1, "", "CRC32_ADCCP"], [20, 4, 1, "", "CRC32_AIXM"], [20, 4, 1, "", "CRC32_AUTOSAR"], [20, 4, 1, "", "CRC32_BASE91_C"], [20, 4, 1, "", "CRC32_BASE91_D"], [20, 4, 1, "", "CRC32_BZIP2"], [20, 4, 1, "", "CRC32_CASTAGNOLI"], [20, 4, 1, "", "CRC32_CD_ROM_EDC"], [20, 4, 1, "", "CRC32_CKSUM"], [20, 4, 1, "", "CRC32_DECT_B"], [20, 4, 1, "", "CRC32_ETHERNET"], [20, 4, 1, "", "CRC32_INTERLAKEN"], [20, 4, 1, "", "CRC32_ISCSI"], [20, 4, 1, "", "CRC32_ISO_HDLC"], [20, 4, 1, "", "CRC32_JAMCRC"], [20, 4, 1, "", "CRC32_MEF"], [20, 4, 1, "", "CRC32_MPEG_2"], [20, 4, 1, "", "CRC32_PKZIP"], [20, 4, 1, "", "CRC32_POSIX"], [20, 4, 1, "", "CRC32_V_42"], [20, 4, 1, "", "CRC32_XFER"], [20, 4, 1, "", "CRC32_XZ"], [20, 4, 1, "", "CRC3_GSM"], [20, 4, 1, "", "CRC3_ROHC"], [20, 4, 1, "", "CRC40_GSM"], [20, 4, 1, "", "CRC4_G_704"], [20, 4, 1, "", "CRC4_INTERLAKEN"], [20, 4, 1, "", "CRC4_ITU"], [20, 4, 1, "", "CRC5_EPC"], [20, 4, 1, "", "CRC5_EPC_C1G2"], [20, 4, 1, "", "CRC5_G_704"], [20, 4, 1, "", "CRC5_ITU"], [20, 4, 1, "", "CRC5_USB"], [20, 4, 1, "", "CRC64_ECMA"], [20, 4, 1, "", "CRC64_ECMA_182"], [20, 4, 1, "", "CRC64_GO_ISO"], [20, 4, 1, "", "CRC64_MS"], [20, 4, 1, "", "CRC64_REDIS"], [20, 4, 1, "", "CRC64_WE"], [20, 4, 1, "", "CRC64_XZ"], [20, 4, 1, "", "CRC6_CDMA2000_A"], [20, 4, 1, "", "CRC6_CDMA2000_B"], [20, 4, 1, "", "CRC6_DARC"], [20, 4, 1, "", "CRC6_GSM"], [20, 4, 1, "", "CRC6_G_704"], [20, 4, 1, "", "CRC6_ITU"], [20, 4, 1, "", "CRC7_MMC"], [20, 4, 1, "", "CRC7_ROHC"], [20, 4, 1, "", "CRC7_UMTS"], [20, 4, 1, "", "CRC82_DARC"], [20, 4, 1, "", "CRC8_AES"], [20, 4, 1, "", "CRC8_AUTOSAR"], [20, 4, 1, "", "CRC8_BLUETOOTH"], [20, 4, 1, "", "CRC8_CDMA2000"], [20, 4, 1, "", "CRC8_DARC"], [20, 4, 1, "", "CRC8_DVB_S2"], [20, 4, 1, "", "CRC8_ETU"], [20, 4, 1, "", "CRC8_GSM_A"], [20, 4, 1, "", "CRC8_GSM_B"], [20, 4, 1, "", "CRC8_HITAG"], [20, 4, 1, "", "CRC8_ITU"], [20, 4, 1, "", "CRC8_I_432_1"], [20, 4, 1, "", "CRC8_I_CODE"], [20, 4, 1, "", "CRC8_LTE"], [20, 4, 1, "", "CRC8_MAXIM"], [20, 4, 1, "", "CRC8_MAXIM_DOW"], [20, 4, 1, "", "CRC8_MIFARE_MAD"], [20, 4, 1, "", "CRC8_NRSC_5"], [20, 4, 1, "", "CRC8_OPENSAFETY"], [20, 4, 1, "", "CRC8_ROHC"], [20, 4, 1, "", "CRC8_SAE_J1850"], [20, 4, 1, "", "CRC8_SMBUS"], [20, 4, 1, "", "CRC8_TECH_3250"], [20, 4, 1, "", "CRC8_WCDMA"]], "amaranth.lib.data": [[21, 1, 1, "", "ArrayLayout"], [21, 1, 1, "", "Field"], [21, 1, 1, "", "FlexibleLayout"], [21, 1, 1, "", "Layout"], [21, 1, 1, "", "Struct"], [21, 1, 1, "", "StructLayout"], [21, 1, 1, "", "Union"], [21, 1, 1, "", "UnionLayout"], [21, 1, 1, "", "View"]], "amaranth.lib.data.ArrayLayout": [[21, 3, 1, "", "size"]], "amaranth.lib.data.Field": [[21, 2, 1, "", "__eq__"], [21, 3, 1, "", "width"]], "amaranth.lib.data.Layout": [[21, 2, 1, "", "__call__"], [21, 2, 1, "", "__eq__"], [21, 2, 1, "", "__getitem__"], [21, 2, 1, "", "__iter__"], [21, 2, 1, "", "as_shape"], [21, 2, 1, "", "cast"], [21, 2, 1, "", "const"], [21, 3, 1, "", "size"]], "amaranth.lib.data.StructLayout": [[21, 3, 1, "", "size"]], "amaranth.lib.data.UnionLayout": [[21, 2, 1, "", "const"], [21, 3, 1, "", "size"]], "amaranth.lib.data.View": [[21, 2, 1, "", "__getattr__"], [21, 2, 1, "", "__getitem__"], [21, 2, 1, "", "as_value"], [21, 2, 1, "", "eq"], [21, 2, 1, "", "shape"]], "amaranth.lib.enum": [[22, 1, 1, "", "Enum"], [22, 1, 1, "", "EnumMeta"], [22, 1, 1, "", "Flag"], [22, 1, 1, "", "IntEnum"], [22, 1, 1, "", "IntFlag"]], "amaranth.lib.enum.EnumMeta": [[22, 2, 1, "", "as_shape"]], "amaranth.lib.fifo": [[23, 1, 1, "", "AsyncFIFO"], [23, 1, 1, "", "AsyncFIFOBuffered"], [23, 1, 1, "", "FIFOInterface"], [23, 1, 1, "", "SyncFIFO"], [23, 1, 1, "", "SyncFIFOBuffered"]], "amaranth.vendor": [[8, 1, 1, "", "GowinPlatform"], [9, 1, 1, "", "IntelPlatform"], [10, 1, 1, "", "LatticeECP5Platform"], [11, 1, 1, "", "LatticeICE40Platform"], [12, 5, 1, "", "LatticeMachXO2Platform"], [12, 5, 1, "", "LatticeMachXO3LPlatform"], [13, 1, 1, "", "QuicklogicPlatform"], [14, 1, 1, "", "XilinxPlatform"]], "amaranth.vendor._lattice_machxo_2_3l": [[12, 1, 1, "", "LatticeMachXO2Or3LPlatform"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:property", "4": "py:data", "5": "py:attribute"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "property", "Python property"], "4": ["py", "data", "Python data"], "5": ["py", "attribute", "Python attribute"]}, "titleterms": {"changelog": 0, "version": 0, "0": 0, "4": 0, "unreleas": 0, "migrat": 0, "from": [0, 6], "3": 0, "implement": [0, 15], "rfc": 0, "languag": [0, 3, 5, 6], "chang": [0, 1], "standard": [0, 5, 16], "librari": [0, 5, 16], "toolchain": [0, 3, 5], "platform": [0, 7], "integr": [0, 5, 7], "2": 0, "1": 0, "contribut": 1, "file": 1, "problem": 1, "report": 1, "fix": 1, "propos": 1, "new": 1, "featur": 1, "work": 1, "codebas": 1, "prepar": 1, "environ": 1, "run": 1, "testsuit": 1, "build": [1, 5], "document": [1, 2], "your": 1, "weekli": 1, "meet": 1, "amaranth": [2, 4, 5], "hdl": 2, "instal": 4, "system": [4, 5], "requir": 4, "prerequisit": 4, "latest": 4, "releas": 4, "develop": [4, 5], "snapshot": 4, "edit": 4, "board": [4, 5], "definit": [4, 5], "todo": [4, 7, 15, 16, 24], "introduct": [5, 21], "The": [5, 6], "simul": 5, "fpga": 5, "guid": 6, "prelud": 6, "shape": 6, "valu": 6, "constant": 6, "cast": 6, "integ": 6, "rang": 6, "enumer": [6, 22], "member": 6, "signal": 6, "name": 6, "initi": 6, "reset": 6, "less": 6, "data": [6, 21], "structur": [6, 21], "oper": 6, "perform": 6, "describ": 6, "comput": 6, "width": 6, "extens": 6, "arithmet": 6, "comparison": 6, "bitwis": 6, "shift": 6, "rotat": 6, "reduct": 6, "logic": 6, "bit": 6, "sequenc": 6, "convers": [6, 18], "choic": 6, "modul": 6, "control": 6, "domain": [6, 17], "assign": 6, "target": 6, "order": 6, "activ": 6, "inact": 6, "combinatori": 6, "evalu": 6, "synchron": 6, "gowin": 8, "intel": 9, "lattic": [10, 11, 12], "ecp5": 10, "ice40": 11, "machxo2": 12, "machxo3l": 12, "quicklog": 13, "xilinx": 14, "get": 15, "start": 15, "A": 15, "counter": 15, "test": 15, "convert": 15, "blink": 15, "led": 15, "clock": 17, "cross": 17, "code": 18, "One": 18, "hot": 18, "prioriti": 18, "grai": 18, "cyclic": 19, "redund": 19, "check": 19, "predefin": 20, "crc": 20, "algorithm": 20, "overview": 21, "motiv": 21, "compos": 21, "layout": 21, "defin": 21, "discrimin": 21, "union": 21, "model": 21, "common": 21, "view": 21, "creat": 21, "access": 21, "custom": 21, "class": [21, 22], "metaclass": 22, "base": 22, "first": 23, "out": 23, "queue": 23, "tutori": 24}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx": 58}, "alltitles": {"Changelog": [[0, "changelog"]], "Version 0.4 (unreleased)": [[0, "version-0-4-unreleased"]], "Migrating from version 0.3": [[0, "migrating-from-version-0-3"]], "Implemented RFCs": [[0, "implemented-rfcs"]], "Language changes": [[0, "language-changes"], [0, "id1"]], "Standard library changes": [[0, "standard-library-changes"], [0, "id2"]], "Toolchain changes": [[0, "toolchain-changes"], [0, "id3"]], "Platform integration changes": [[0, "platform-integration-changes"], [0, "id4"]], "Version 0.3": [[0, "version-0-3"]], "Migrating from version 0.2": [[0, "migrating-from-version-0-2"]], "Versions 0.1, 0.2": [[0, "versions-0-1-0-2"]], "Contributing": [[1, "contributing"]], "Filing problem reports": [[1, "filing-problem-reports"]], "Fixing problems": [[1, "fixing-problems"]], "Proposing new features": [[1, "proposing-new-features"]], "Working with the codebase": [[1, "working-with-the-codebase"]], "Preparing the environment": [[1, "preparing-the-environment"]], "Running the testsuite": [[1, "running-the-testsuite"]], "Building the documentation": [[1, "building-the-documentation"]], "Contributing your changes": [[1, "contributing-your-changes"]], "Weekly meetings": [[1, "weekly-meetings"]], "Amaranth HDL documentation": [[2, "amaranth-hdl-documentation"]], "Language & toolchain": [[3, "language-toolchain"]], "Installation": [[4, "installation"]], "System requirements": [[4, "system-requirements"]], "Installing prerequisites": [[4, "installing-prerequisites"]], "Installing Amaranth": [[4, "installing-amaranth"]], "Latest release": [[4, "latest-release"]], "Development snapshot": [[4, "development-snapshot"]], "Editable development snapshot": [[4, "editable-development-snapshot"]], "Installing board definitions": [[4, "installing-board-definitions"]], "Todo": [[4, "id1"], [7, "id1"], [15, "id1"], [16, "id1"], [24, "id1"]], "Introduction": [[5, "introduction"], [21, "introduction"]], "The Amaranth language": [[5, "the-amaranth-language"]], "The Amaranth standard library": [[5, "the-amaranth-standard-library"]], "The Amaranth simulator": [[5, "the-amaranth-simulator"]], "The Amaranth build system": [[5, "the-amaranth-build-system"]], "FPGA toolchain integration": [[5, "fpga-toolchain-integration"]], "Development board definitions": [[5, "development-board-definitions"]], "Language guide": [[6, "language-guide"]], "The prelude": [[6, "the-prelude"]], "Shapes": [[6, "shapes"]], "Shapes of values": [[6, "shapes-of-values"]], "Values": [[6, "values"]], "Constants": [[6, "constants"]], "Shape casting": [[6, "shape-casting"]], "Shapes from integers": [[6, "shapes-from-integers"]], "Shapes from ranges": [[6, "shapes-from-ranges"]], "Shapes from enumerations": [[6, "shapes-from-enumerations"]], "Value casting": [[6, "value-casting"]], "Values from integers": [[6, "values-from-integers"]], "Values from enumeration members": [[6, "values-from-enumeration-members"]], "Constant casting": [[6, "constant-casting"]], "Signals": [[6, "signals"]], "Signal shapes": [[6, "signal-shapes"]], "Signal names": [[6, "signal-names"]], "Initial signal values": [[6, "initial-signal-values"]], "Reset-less signals": [[6, "reset-less-signals"]], "Data structures": [[6, "data-structures"], [21, "module-amaranth.lib.data"]], "Operators": [[6, "operators"]], "Performing or describing computations?": [[6, "performing-or-describing-computations"]], "Width extension": [[6, "width-extension"]], "Arithmetic operators": [[6, "arithmetic-operators"]], "Comparison operators": [[6, "comparison-operators"]], "Bitwise, shift, and rotate operators": [[6, "bitwise-shift-and-rotate-operators"]], "Reduction operators": [[6, "reduction-operators"]], "Logical operators": [[6, "logical-operators"]], "Bit sequence operators": [[6, "bit-sequence-operators"]], "Conversion operators": [[6, "conversion-operators"]], "Choice operator": [[6, "choice-operator"]], "Modules": [[6, "modules"]], "Control domains": [[6, "control-domains"]], "Assigning to signals": [[6, "assigning-to-signals"]], "Assignment targets": [[6, "assignment-targets"]], "Assignment domains": [[6, "assignment-domains"]], "Assignment order": [[6, "assignment-order"]], "Control structures": [[6, "control-structures"]], "Active and inactive assignments": [[6, "active-and-inactive-assignments"]], "Combinatorial evaluation": [[6, "combinatorial-evaluation"]], "Synchronous evaluation": [[6, "synchronous-evaluation"]], "Platform integration": [[7, "platform-integration"]], "Gowin": [[8, "gowin"]], "Intel": [[9, "intel"]], "Lattice ECP5": [[10, "lattice-ecp5"]], "Lattice iCE40": [[11, "lattice-ice40"]], "Lattice MachXO2 and MachXO3L": [[12, "lattice-machxo2-and-machxo3l"]], "Quicklogic": [[13, "quicklogic"]], "Xilinx": [[14, "xilinx"]], "Getting started": [[15, "getting-started"]], "A counter": [[15, "a-counter"]], "Implementing a counter": [[15, "implementing-a-counter"]], "Testing a counter": [[15, "testing-a-counter"]], "Converting a counter": [[15, "converting-a-counter"]], "A blinking LED": [[15, "a-blinking-led"]], "Standard library": [[16, "standard-library"]], "Clock domain crossing": [[17, "module-amaranth.lib.cdc"]], "Code conversion": [[18, "module-amaranth.lib.coding"]], "One-hot coding": [[18, "one-hot-coding"]], "Priority coding": [[18, "priority-coding"]], "Gray coding": [[18, "gray-coding"]], "Cyclic redundancy checks": [[19, "module-amaranth.lib.crc"]], "Predefined CRC Algorithms": [[20, "module-amaranth.lib.crc.catalog"]], "Overview": [[21, "overview"]], "Motivation": [[21, "motivation"]], "Composing layouts": [[21, "composing-layouts"]], "Defining layouts": [[21, "defining-layouts"]], "Discriminated unions": [[21, "discriminated-unions"]], "Modeling structured data": [[21, "modeling-structured-data"]], "Common data layouts": [[21, "common-data-layouts"]], "Data views": [[21, "data-views"]], "Creating a view": [[21, "creating-a-view"]], "Accessing a view": [[21, "accessing-a-view"]], "Custom view classes": [[21, "custom-view-classes"]], "Data classes": [[21, "data-classes"]], "Enumerations": [[22, "module-amaranth.lib.enum"]], "Metaclass": [[22, "metaclass"]], "Base classes": [[22, "base-classes"]], "First-in first-out queues": [[23, "module-amaranth.lib.fifo"]], "Tutorial": [[24, "tutorial"]]}, "indexentries": {"gowinplatform (class in amaranth.vendor)": [[8, "amaranth.vendor.GowinPlatform"]], "intelplatform (class in amaranth.vendor)": [[9, "amaranth.vendor.IntelPlatform"]], "latticeecp5platform (class in amaranth.vendor)": [[10, "amaranth.vendor.LatticeECP5Platform"]], "latticeice40platform (class in amaranth.vendor)": [[11, "amaranth.vendor.LatticeICE40Platform"]], "latticemachxo2or3lplatform (class in amaranth.vendor._lattice_machxo_2_3l)": [[12, "amaranth.vendor._lattice_machxo_2_3l.LatticeMachXO2Or3LPlatform"]], "latticemachxo2platform (in module amaranth.vendor)": [[12, "amaranth.vendor.LatticeMachXO2Platform"]], "latticemachxo3lplatform (in module amaranth.vendor)": [[12, "amaranth.vendor.LatticeMachXO3LPlatform"]], "quicklogicplatform (class in amaranth.vendor)": [[13, "amaranth.vendor.QuicklogicPlatform"]], "xilinxplatform (class in amaranth.vendor)": [[14, "amaranth.vendor.XilinxPlatform"]], "asyncffsynchronizer (class in amaranth.lib.cdc)": [[17, "amaranth.lib.cdc.AsyncFFSynchronizer"]], "ffsynchronizer (class in amaranth.lib.cdc)": [[17, "amaranth.lib.cdc.FFSynchronizer"]], "pulsesynchronizer (class in amaranth.lib.cdc)": [[17, "amaranth.lib.cdc.PulseSynchronizer"]], "resetsynchronizer (class in amaranth.lib.cdc)": [[17, "amaranth.lib.cdc.ResetSynchronizer"]], "amaranth.lib.cdc": [[17, "module-amaranth.lib.cdc"]], "module": [[17, "module-amaranth.lib.cdc"], [18, "module-amaranth.lib.coding"], [19, "module-amaranth.lib.crc"], [20, "module-amaranth.lib.crc.catalog"], [21, "module-amaranth.lib.data"], [22, "module-amaranth.lib.enum"], [23, "module-amaranth.lib.fifo"]], "decoder (class in amaranth.lib.coding)": [[18, "amaranth.lib.coding.Decoder"]], "encoder (class in amaranth.lib.coding)": [[18, "amaranth.lib.coding.Encoder"]], "graydecoder (class in amaranth.lib.coding)": [[18, "amaranth.lib.coding.GrayDecoder"]], "grayencoder (class in amaranth.lib.coding)": [[18, "amaranth.lib.coding.GrayEncoder"]], "prioritydecoder (class in amaranth.lib.coding)": [[18, "amaranth.lib.coding.PriorityDecoder"]], "priorityencoder (class in amaranth.lib.coding)": [[18, "amaranth.lib.coding.PriorityEncoder"]], "amaranth.lib.coding": [[18, "module-amaranth.lib.coding"]], "algorithm (class in amaranth.lib.crc)": [[19, "amaranth.lib.crc.Algorithm"]], "parameters (class in amaranth.lib.crc)": [[19, "amaranth.lib.crc.Parameters"]], "processor (class in amaranth.lib.crc)": [[19, "amaranth.lib.crc.Processor"]], "__call__() (amaranth.lib.crc.algorithm method)": [[19, "amaranth.lib.crc.Algorithm.__call__"]], "algorithm (amaranth.lib.crc.parameters property)": [[19, "amaranth.lib.crc.Parameters.algorithm"]], "amaranth.lib.crc": [[19, "module-amaranth.lib.crc"]], "compute() (amaranth.lib.crc.parameters method)": [[19, "amaranth.lib.crc.Parameters.compute"]], "create() (amaranth.lib.crc.parameters method)": [[19, "amaranth.lib.crc.Parameters.create"]], "residue() (amaranth.lib.crc.parameters method)": [[19, "amaranth.lib.crc.Parameters.residue"]], "crc10_atm (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC10_ATM"]], "crc10_cdma2000 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC10_CDMA2000"]], "crc10_gsm (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC10_GSM"]], "crc10_i_610 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC10_I_610"]], "crc11_flexray (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC11_FLEXRAY"]], "crc11_umts (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC11_UMTS"]], "crc12_3gpp (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC12_3GPP"]], "crc12_cdma2000 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC12_CDMA2000"]], "crc12_dect (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC12_DECT"]], "crc12_gsm (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC12_GSM"]], "crc12_umts (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC12_UMTS"]], "crc13_bbc (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC13_BBC"]], "crc14_darc (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC14_DARC"]], "crc14_gsm (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC14_GSM"]], "crc15_can (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC15_CAN"]], "crc15_mpt1327 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC15_MPT1327"]], "crc16_acorn (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_ACORN"]], "crc16_arc (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_ARC"]], "crc16_aug_ccitt (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_AUG_CCITT"]], "crc16_autosar (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_AUTOSAR"]], "crc16_bluetooth (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_BLUETOOTH"]], "crc16_buypass (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_BUYPASS"]], "crc16_ccitt (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_CCITT"]], "crc16_ccitt_false (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_CCITT_FALSE"]], "crc16_ccitt_true (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_CCITT_TRUE"]], "crc16_cdma2000 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_CDMA2000"]], "crc16_cms (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_CMS"]], "crc16_darc (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_DARC"]], "crc16_dds_110 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_DDS_110"]], "crc16_dect_r (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_DECT_R"]], "crc16_dect_x (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_DECT_X"]], "crc16_dnp (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_DNP"]], "crc16_en_13757 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_EN_13757"]], "crc16_epc (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_EPC"]], "crc16_epc_c1g2 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_EPC_C1G2"]], "crc16_genibus (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_GENIBUS"]], "crc16_gsm (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_GSM"]], "crc16_ibm (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_IBM"]], "crc16_ibm_3740 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_IBM_3740"]], "crc16_ibm_sdlc (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_IBM_SDLC"]], "crc16_iec_61158_2 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_IEC_61158_2"]], "crc16_iso_hdlc (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_ISO_HDLC"]], "crc16_iso_iec_14443_3_a (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_ISO_IEC_14443_3_A"]], "crc16_iso_iec_14443_3_b (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_ISO_IEC_14443_3_B"]], "crc16_i_code (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_I_CODE"]], "crc16_kermit (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_KERMIT"]], "crc16_lj1200 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_LJ1200"]], "crc16_lte (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_LTE"]], "crc16_m17 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_M17"]], "crc16_maxim (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_MAXIM"]], "crc16_maxim_dow (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_MAXIM_DOW"]], "crc16_mcrf4xx (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_MCRF4XX"]], "crc16_modbus (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_MODBUS"]], "crc16_nrsc_5 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_NRSC_5"]], "crc16_opensafety_a (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_OPENSAFETY_A"]], "crc16_opensafety_b (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_OPENSAFETY_B"]], "crc16_profibus (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_PROFIBUS"]], "crc16_riello (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_RIELLO"]], "crc16_spi_fujitsu (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_SPI_FUJITSU"]], "crc16_t10_dif (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_T10_DIF"]], "crc16_teledisk (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_TELEDISK"]], "crc16_tms37157 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_TMS37157"]], "crc16_umts (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_UMTS"]], "crc16_usb (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_USB"]], "crc16_verifone (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_VERIFONE"]], "crc16_v_41_lsb (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_V_41_LSB"]], "crc16_v_41_msb (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_V_41_MSB"]], "crc16_x25 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_X25"]], "crc16_xmodem (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_XMODEM"]], "crc16_zmodem (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_ZMODEM"]], "crc17_can_fd (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC17_CAN_FD"]], "crc21_can_fd (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC21_CAN_FD"]], "crc24_ble (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC24_BLE"]], "crc24_flexray_a (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC24_FLEXRAY_A"]], "crc24_flexray_b (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC24_FLEXRAY_B"]], "crc24_interlaken (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC24_INTERLAKEN"]], "crc24_lte_a (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC24_LTE_A"]], "crc24_lte_b (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC24_LTE_B"]], "crc24_openpgp (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC24_OPENPGP"]], "crc24_os_9 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC24_OS_9"]], "crc30_cdma (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC30_CDMA"]], "crc31_philips (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC31_PHILIPS"]], "crc32_aal5 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC32_AAL5"]], "crc32_adccp (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC32_ADCCP"]], "crc32_aixm (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC32_AIXM"]], "crc32_autosar (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC32_AUTOSAR"]], "crc32_base91_c (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC32_BASE91_C"]], "crc32_base91_d (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC32_BASE91_D"]], "crc32_bzip2 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC32_BZIP2"]], "crc32_castagnoli (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC32_CASTAGNOLI"]], "crc32_cd_rom_edc (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC32_CD_ROM_EDC"]], "crc32_cksum (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC32_CKSUM"]], "crc32_dect_b (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC32_DECT_B"]], "crc32_ethernet (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC32_ETHERNET"]], "crc32_interlaken (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC32_INTERLAKEN"]], "crc32_iscsi (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC32_ISCSI"]], "crc32_iso_hdlc (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC32_ISO_HDLC"]], "crc32_jamcrc (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC32_JAMCRC"]], "crc32_mef (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC32_MEF"]], "crc32_mpeg_2 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC32_MPEG_2"]], "crc32_pkzip (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC32_PKZIP"]], "crc32_posix (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC32_POSIX"]], "crc32_v_42 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC32_V_42"]], "crc32_xfer (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC32_XFER"]], "crc32_xz (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC32_XZ"]], "crc3_gsm (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC3_GSM"]], "crc3_rohc (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC3_ROHC"]], "crc40_gsm (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC40_GSM"]], "crc4_g_704 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC4_G_704"]], "crc4_interlaken (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC4_INTERLAKEN"]], "crc4_itu (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC4_ITU"]], "crc5_epc (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC5_EPC"]], "crc5_epc_c1g2 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC5_EPC_C1G2"]], "crc5_g_704 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC5_G_704"]], "crc5_itu (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC5_ITU"]], "crc5_usb (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC5_USB"]], "crc64_ecma (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC64_ECMA"]], "crc64_ecma_182 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC64_ECMA_182"]], "crc64_go_iso (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC64_GO_ISO"]], "crc64_ms (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC64_MS"]], "crc64_redis (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC64_REDIS"]], "crc64_we (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC64_WE"]], "crc64_xz (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC64_XZ"]], "crc6_cdma2000_a (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC6_CDMA2000_A"]], "crc6_cdma2000_b (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC6_CDMA2000_B"]], "crc6_darc (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC6_DARC"]], "crc6_gsm (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC6_GSM"]], "crc6_g_704 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC6_G_704"]], "crc6_itu (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC6_ITU"]], "crc7_mmc (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC7_MMC"]], "crc7_rohc (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC7_ROHC"]], "crc7_umts (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC7_UMTS"]], "crc82_darc (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC82_DARC"]], "crc8_aes (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC8_AES"]], "crc8_autosar (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC8_AUTOSAR"]], "crc8_bluetooth (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC8_BLUETOOTH"]], "crc8_cdma2000 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC8_CDMA2000"]], "crc8_darc (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC8_DARC"]], "crc8_dvb_s2 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC8_DVB_S2"]], "crc8_etu (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC8_ETU"]], "crc8_gsm_a (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC8_GSM_A"]], "crc8_gsm_b (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC8_GSM_B"]], "crc8_hitag (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC8_HITAG"]], "crc8_itu (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC8_ITU"]], "crc8_i_432_1 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC8_I_432_1"]], "crc8_i_code (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC8_I_CODE"]], "crc8_lte (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC8_LTE"]], "crc8_maxim (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC8_MAXIM"]], "crc8_maxim_dow (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC8_MAXIM_DOW"]], "crc8_mifare_mad (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC8_MIFARE_MAD"]], "crc8_nrsc_5 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC8_NRSC_5"]], "crc8_opensafety (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC8_OPENSAFETY"]], "crc8_rohc (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC8_ROHC"]], "crc8_sae_j1850 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC8_SAE_J1850"]], "crc8_smbus (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC8_SMBUS"]], "crc8_tech_3250 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC8_TECH_3250"]], "crc8_wcdma (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC8_WCDMA"]], "amaranth.lib.crc.catalog": [[20, "module-amaranth.lib.crc.catalog"]], "arraylayout (class in amaranth.lib.data)": [[21, "amaranth.lib.data.ArrayLayout"]], "field (class in amaranth.lib.data)": [[21, "amaranth.lib.data.Field"]], "flexiblelayout (class in amaranth.lib.data)": [[21, "amaranth.lib.data.FlexibleLayout"]], "layout (class in amaranth.lib.data)": [[21, "amaranth.lib.data.Layout"]], "struct (class in amaranth.lib.data)": [[21, "amaranth.lib.data.Struct"]], "structlayout (class in amaranth.lib.data)": [[21, "amaranth.lib.data.StructLayout"]], "union (class in amaranth.lib.data)": [[21, "amaranth.lib.data.Union"]], "unionlayout (class in amaranth.lib.data)": [[21, "amaranth.lib.data.UnionLayout"]], "view (class in amaranth.lib.data)": [[21, "amaranth.lib.data.View"]], "__call__() (amaranth.lib.data.layout method)": [[21, "amaranth.lib.data.Layout.__call__"]], "__eq__() (amaranth.lib.data.field method)": [[21, "amaranth.lib.data.Field.__eq__"]], "__eq__() (amaranth.lib.data.layout method)": [[21, "amaranth.lib.data.Layout.__eq__"]], "__getattr__() (amaranth.lib.data.view method)": [[21, "amaranth.lib.data.View.__getattr__"]], "__getitem__() (amaranth.lib.data.layout method)": [[21, "amaranth.lib.data.Layout.__getitem__"]], "__getitem__() (amaranth.lib.data.view method)": [[21, "amaranth.lib.data.View.__getitem__"]], "__iter__() (amaranth.lib.data.layout method)": [[21, "amaranth.lib.data.Layout.__iter__"]], "amaranth.lib.data": [[21, "module-amaranth.lib.data"]], "as_shape() (amaranth.lib.data.layout method)": [[21, "amaranth.lib.data.Layout.as_shape"]], "as_value() (amaranth.lib.data.view method)": [[21, "amaranth.lib.data.View.as_value"]], "cast() (amaranth.lib.data.layout static method)": [[21, "amaranth.lib.data.Layout.cast"]], "const() (amaranth.lib.data.layout method)": [[21, "amaranth.lib.data.Layout.const"]], "const() (amaranth.lib.data.unionlayout method)": [[21, "amaranth.lib.data.UnionLayout.const"]], "eq() (amaranth.lib.data.view method)": [[21, "amaranth.lib.data.View.eq"]], "shape() (amaranth.lib.data.view method)": [[21, "amaranth.lib.data.View.shape"]], "size (amaranth.lib.data.arraylayout property)": [[21, "amaranth.lib.data.ArrayLayout.size"]], "size (amaranth.lib.data.layout property)": [[21, "amaranth.lib.data.Layout.size"]], "size (amaranth.lib.data.structlayout property)": [[21, "amaranth.lib.data.StructLayout.size"]], "size (amaranth.lib.data.unionlayout property)": [[21, "amaranth.lib.data.UnionLayout.size"]], "width (amaranth.lib.data.field property)": [[21, "amaranth.lib.data.Field.width"]], "enum (class in amaranth.lib.enum)": [[22, "amaranth.lib.enum.Enum"]], "enummeta (class in amaranth.lib.enum)": [[22, "amaranth.lib.enum.EnumMeta"]], "flag (class in amaranth.lib.enum)": [[22, "amaranth.lib.enum.Flag"]], "intenum (class in amaranth.lib.enum)": [[22, "amaranth.lib.enum.IntEnum"]], "intflag (class in amaranth.lib.enum)": [[22, "amaranth.lib.enum.IntFlag"]], "amaranth.lib.enum": [[22, "module-amaranth.lib.enum"]], "as_shape() (amaranth.lib.enum.enummeta method)": [[22, "amaranth.lib.enum.EnumMeta.as_shape"]], "asyncfifo (class in amaranth.lib.fifo)": [[23, "amaranth.lib.fifo.AsyncFIFO"]], "asyncfifobuffered (class in amaranth.lib.fifo)": [[23, "amaranth.lib.fifo.AsyncFIFOBuffered"]], "fifointerface (class in amaranth.lib.fifo)": [[23, "amaranth.lib.fifo.FIFOInterface"]], "syncfifo (class in amaranth.lib.fifo)": [[23, "amaranth.lib.fifo.SyncFIFO"]], "syncfifobuffered (class in amaranth.lib.fifo)": [[23, "amaranth.lib.fifo.SyncFIFOBuffered"]], "amaranth.lib.fifo": [[23, "module-amaranth.lib.fifo"]]}}) \ No newline at end of file +Search.setIndex({"docnames": ["changes", "contrib", "cover", "index", "install", "intro", "lang", "platform", "platform/gowin", "platform/intel", "platform/lattice-ecp5", "platform/lattice-ice40", "platform/lattice-machxo-2-3l", "platform/quicklogic", "platform/xilinx", "start", "stdlib", "stdlib/cdc", "stdlib/coding", "stdlib/crc", "stdlib/crc/catalog", "stdlib/data", "stdlib/enum", "stdlib/fifo", "tutorial"], "filenames": ["changes.rst", "contrib.rst", "cover.rst", "index.rst", "install.rst", "intro.rst", "lang.rst", "platform.rst", "platform/gowin.rst", "platform/intel.rst", "platform/lattice-ecp5.rst", "platform/lattice-ice40.rst", "platform/lattice-machxo-2-3l.rst", "platform/quicklogic.rst", "platform/xilinx.rst", "start.rst", "stdlib.rst", "stdlib/cdc.rst", "stdlib/coding.rst", "stdlib/crc.rst", "stdlib/crc/catalog.rst", "stdlib/data.rst", "stdlib/enum.rst", "stdlib/fifo.rst", "tutorial.rst"], "titles": ["Changelog", "Contributing", "Amaranth HDL documentation", "Language & toolchain", "Installation", "Introduction", "Language guide", "Platform integration", "Gowin", "Intel", "Lattice ECP5", "Lattice iCE40", "Lattice MachXO2 and MachXO3L", "Quicklogic", "Xilinx", "Getting started", "Standard library", "Clock domain crossing", "Code conversion", "Cyclic redundancy checks", "Predefined CRC Algorithms", "Data structures", "Enumerations", "First-in first-out queues", "Tutorial"], "terms": {"thi": [0, 1, 3, 5, 6, 7, 11, 15, 16, 17, 19, 20, 21, 22, 23], "document": [0, 5, 15, 19], "describ": [0, 1, 15, 21], "public": [0, 1], "interfac": [0, 5, 6, 15, 21, 23], "amaranth": [0, 1, 3, 6, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 20, 21, 22, 23, 24], "It": [0, 1, 5, 6, 15, 19, 21], "doe": [0, 4, 5, 6, 17, 21, 23], "includ": [0, 1, 4, 5, 6, 15, 19], "most": [0, 4, 5, 6, 15, 17, 19, 21], "bug": [0, 1, 4, 5, 6], "fix": [0, 3, 4, 6, 15, 19], "support": [0, 1, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 17, 23], "ha": [0, 1, 5, 6, 15, 19, 21, 22, 23], "been": [0, 4, 19, 23], "ad": [0, 4, 5, 6, 15, 21], "new": [0, 3, 4, 5, 19, 21, 23], "improv": [0, 1, 21, 23], "wai": [0, 1, 6, 21, 22], "defin": [0, 5, 6, 15, 17, 19], "data": [0, 3, 16, 17, 19, 23], "structur": [0, 1, 3, 15, 16], "lib": [0, 6, 17, 18, 19, 20, 21, 22, 23], "compon": [0, 5, 21], "wire": [0, 6, 15], "record": [0, 1, 15], "deprec": 0, "In": [0, 6, 21, 22, 23], "departur": 0, "usual": [0, 1, 5, 6, 17, 21], "polici": 0, "give": [0, 6, 21], "design": [0, 1, 4, 5, 6, 14, 15, 17, 19, 21, 24], "addit": [0, 1, 4, 5, 6, 21, 23], "time": [0, 1, 4, 5, 6, 11, 15, 17, 21, 23], "remov": [0, 1, 6, 19], "6": [0, 6, 15, 20, 21], "one": [0, 1, 6, 15, 17, 18, 19, 21, 23, 24], "releas": [0, 17], "later": [0, 1], "than": [0, 4, 5, 6, 17, 21, 22], "normal": 0, "enumer": [0, 3, 16, 21], "extend": [0, 5, 6, 22], "A": [0, 1, 3, 4, 5, 6, 17, 19, 21, 22, 24], "shape": [0, 3, 21, 22], "member": [0, 21, 22], "can": [0, 1, 4, 5, 6, 15, 19, 21, 22, 23], "provid": [0, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 21, 22, 23], "an": [0, 1, 4, 5, 6, 15, 17, 19, 20, 21, 22, 23], "class": [0, 1, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 23], "The": [0, 1, 3, 4, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 21, 22, 23, 24], "sever": [0, 1], "extens": [0, 15], "point": [0, 11, 21], "valu": [0, 3, 15, 17, 19, 21, 22], "base": [0, 5, 6, 8, 9, 10, 11, 12, 13, 14, 16, 19, 21], "outsid": 0, "core": [0, 5, 9], "particular": [0, 5, 21], "signal": [0, 3, 5, 15, 17, 18, 19, 21, 23], "mai": [0, 1, 4, 6, 17, 19, 21, 22], "now": 0, "return": [0, 15, 19, 21, 22], "object": [0, 6, 9, 19, 21], "wrap": [0, 21], "anoth": [0, 21], "call": [0, 6, 19, 20, 21, 22], "protocol": [0, 22], "15": [0, 15, 20], "issu": [0, 1, 5, 6], "infer": [0, 5, 6, 21], "have": [0, 1, 4, 6, 21, 23], "resolv": 0, "notabl": [0, 4], "b": [0, 6, 19], "where": [0, 1, 6, 17, 19, 21], "both": [0, 1, 5, 6, 19, 21], "ar": [0, 1, 5, 6, 8, 9, 10, 11, 14, 15, 17, 18, 19, 20, 21, 23], "unsign": [0, 6, 21, 22], "sign": [0, 1, 6, 21], "python": [0, 1, 4, 5, 6, 11, 15, 21, 22], "7": [0, 4, 5, 6, 20, 21], "11": [0, 20, 21], "12": [0, 6, 20], "featur": [0, 3, 17], "nmigen": [0, 24], "namespac": [0, 6], "i": [0, 1, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 21, 22, 23, 24], "annot": [0, 21], "recogn": 0, "nmigen_": 0, "envron": 0, "variabl": [0, 6, 8, 9, 10, 11, 12, 13, 14, 18, 19, 21, 23], "us": [0, 1, 4, 5, 6, 9, 15, 17, 19, 20, 21, 22, 23, 24], "appli": [0, 6, 19, 21], "follow": [0, 1, 4, 5, 6, 10, 12, 15, 17, 19, 21, 24], "code": [0, 1, 3, 4, 5, 6, 15, 16, 21], "written": [0, 5, 6, 15, 23, 24], "against": 0, "updat": [0, 1, 4, 6, 15, 19], "shell": 0, "environ": [0, 5, 8, 9, 10, 11, 12, 13, 14], "amaranth_": 0, "instead": [0, 6, 21], "amaranth_env_": 0, "all": [0, 1, 5, 6, 9, 15, 19, 20, 21, 22], "uppercas": 0, "name": [0, 5, 8, 9, 10, 11, 12, 14, 17, 21], "nmigen_env_": 0, "mix": [0, 6], "case": [0, 6, 15, 19, 21, 23], "import": [0, 1, 6, 15, 19, 21, 22], "form": [0, 6, 19], "vendor": [0, 5, 8, 9, 10, 11, 12, 13, 14, 15], "some_vendor": 0, "somevendorplatform": 0, "reduc": [0, 5, 6, 17, 21], "futur": [0, 5, 6], "churn": 0, "replac": [0, 22], "const": [0, 6, 21], "repl": 0, "count": [0, 6, 15], "replic": [0, 6], "appropri": 0, "depend": [0, 1, 4, 5, 21, 23], "If": [0, 1, 4, 6, 15, 17, 18, 19, 21, 22, 23], "wa": [0, 19, 21], "being": [0, 1, 6, 21, 23, 24], "storag": 0, "access": [0, 20, 23], "bit": [0, 4, 10, 12, 14, 15, 18, 19, 21, 23], "level": [0, 5, 6, 15, 21, 23], "represent": [0, 6], "connect": [0, 15, 17], "togeth": [0, 1, 6], "ensur": [0, 6], "pin": [0, 5], "instanc": [0, 10, 12, 19, 21, 22], "request": [0, 1, 6, 15, 18], "cast": [0, 3, 21, 22], "directli": [0, 5, 6, 17, 19, 21, 23], "its": [0, 1, 6, 15, 17, 19, 21, 22], "field": [0, 21], "like": [0, 1, 4, 5, 6, 17, 21], "led": [0, 3], "cat": [0, 6, 22], "n": [0, 6, 17, 18, 21], "rang": [0, 15, 18, 21, 23], "o": [0, 5, 14, 17, 18], "note": [0, 6, 17, 19, 21], "schedul": 0, "roundrobin": 0, "inlin": 0, "copi": [0, 1], "fifo": [0, 5, 23], "syncfifo": [0, 16, 23], "fwft": [0, 23], "fals": [0, 6, 17, 19, 20, 23], "fifointerfac": [0, 16, 23], "convert": [0, 5, 6, 21], "true": [0, 6, 15, 17, 19, 20, 23], "those": 0, "while": [0, 1, 5, 6, 19, 21], "list": [0, 1, 6, 19], "below": [0, 6, 15, 17], "work": [0, 3, 4, 5, 6, 10, 12, 15, 21], "thei": [0, 1, 6, 15, 19, 21], "next": [0, 4, 15, 23], "aggreg": [0, 6, 21], "definit": [0, 2, 3, 15], "constant": [0, 3, 21, 22], "castabl": [0, 6, 21, 22], "express": [0, 6, 21, 22], "5": [0, 6, 15, 20, 21, 22], "crc": [0, 16, 19], "gener": [0, 5, 6, 15, 19], "8": [0, 4, 6, 19, 20, 21], "9": [0, 6], "initi": [0, 17, 19, 21], "10": [0, 6, 20, 21], "move": 0, "18": 0, "reorgan": 0, "19": 0, "lift": 0, "20": 0, "non": [0, 5, 6, 17, 23], "22": 0, "valuecast": [0, 21], "28": 0, "allow": [0, 5, 6, 17], "overrid": [0, 9, 10, 11, 12, 13, 14, 17, 21], "oper": [0, 3, 5, 21], "shapecast": [0, 21, 22], "similar": [0, 1, 6, 15, 19, 21], "as_sign": [0, 6], "as_unsign": [0, 6], "left": [0, 6, 19], "hand": 0, "side": [0, 6], "assign": [0, 15, 21], "differ": [0, 1, 5, 6, 17, 18, 21, 23], "behavior": [0, 1, 5, 6, 15, 21], "match": [0, 5, 6], "m": [0, 6, 15, 19, 20, 21], "accept": [0, 1, 6, 21, 22], "ani": [0, 1, 4, 6, 15, 17, 18, 19, 21, 22, 23], "supersed": 0, "memori": [0, 5, 15, 23], "transpar": [0, 6], "read": [0, 6, 21, 23], "port": [0, 15], "enabl": [0, 5, 9, 10, 11, 15, 21], "creat": [0, 1, 6, 19, 20], "__call__": [0, 19, 21], "method": [0, 1, 6, 15, 17, 19, 21, 22], "recurs": [0, 21], "treat": [0, 6, 19], "deriv": [0, 5, 6, 15, 21], "enum": [0, 6, 21, 22], "int": [0, 6, 15, 17, 18, 19, 21, 23], "intenum": [0, 6, 22], "rather": [0, 6], "integ": [0, 19, 21], "empti": [0, 6, 23], "pattern": 0, "warn": 0, "without": [0, 1, 5, 19, 21], "explicitli": [0, 6, 15, 19, 21, 22], "specifi": [0, 6, 8, 9, 10, 11, 12, 13, 14, 15, 17, 19, 21, 22, 23], "width": [0, 18, 19, 21, 23], "tupl": [0, 6], "ast": 0, "uservalu": 0, "linter": 0, "instruct": [0, 15], "begin": [0, 15], "file": [0, 3, 5, 6, 9, 10, 11, 12, 13, 14, 15], "text": 0, "lf": 0, "line": [0, 15], "end": [0, 5, 6, 9, 10, 11, 12, 15], "window": [0, 4, 5, 10, 12], "other": [0, 1, 4, 5, 6, 15, 17, 19, 21, 22], "debug_verilog": 0, "build": [0, 3, 4, 6, 8, 9, 10, 11, 12, 14, 15, 17, 18, 23], "templatedplatform": 0, "env": 0, "argument": [0, 6, 22], "run": [0, 4, 5, 8, 9, 10, 11, 12, 13, 14, 15], "buildplan": 0, "execute_loc": 0, "nmigen_env_diamond": 0, "amaranth_env_diamond": [0, 10, 12], "upper": 0, "sim": [0, 15], "simul": [0, 3, 4, 6, 15], "step": [0, 1, 4, 5, 6, 15], "back": [0, 15], "pysim": 0, "invok": [0, 6], "rtlil": 0, "verilog": [0, 5, 6, 15], "explicit": [0, 5, 6, 19], "test": [0, 1, 5, 23], "icepack_opt": 0, "latticeice40platform": [0, 7, 11], "osch": 0, "default_clk": 0, "clock": [0, 3, 5, 6, 15, 16, 19, 23], "sourc": [0, 1, 4, 5, 6, 15, 21], "latticemachxo2platform": [0, 7, 12], "latticemachxo3lplatform": [0, 7, 12], "xrai": [0, 14], "xilinxplatform": [0, 7, 14], "gowinplatform": [0, 7, 8], "intel": [0, 3, 7], "lattice_ecp5": 0, "lattice_ice40": 0, "lattice_machxo2_3l": 0, "quicklog": [0, 3, 7], "xilinx": [0, 3, 7], "lattice_machxo2": 0, "lattice_machxo_2_3l": 0, "latticemachxo2or3lplatform": [0, 7, 12], "svf": [0, 10, 12], "program": [0, 1, 5, 6, 10, 12, 15], "vector": [0, 10, 12], "xilinx_spartan_3_6": 0, "xilinxspartan3aplatform": 0, "xilinxspartan6platform": 0, "xilinx_7seri": 0, "xilinx7seriesplatform": 0, "xilinx_ultrascal": 0, "xilinxultrascaleplatform": 0, "project": [0, 1, 5, 22], "renam": [0, 6], "nm": 0, "prelud": [0, 3], "am": [0, 6], "adjust": 0, "nmigen_board": 0, "amaranth_board": [0, 15], "board": [0, 2, 3, 15], "switch": [0, 6, 21], "hdl": [0, 4, 5, 6, 15, 24], "inherit": [0, 6, 21, 23], "add": [0, 1, 5, 6, 9, 10, 11, 14, 19, 22], "miss": [0, 1], "util": [0, 19], "fhdltestcas": 0, "assertform": 0, "necessari": [0, 1, 5, 6, 11, 15, 21, 23], "ab": [0, 6], "rotate_left": [0, 6], "rotate_right": [0, 6], "shift_left": [0, 6], "shift_right": [0, 6], "divis": [0, 6], "modulo": [0, 6], "neg": [0, 6, 17], "divisor": [0, 15], "cdc": [0, 5, 17], "pulsesynchron": [0, 16, 17], "asyncffsynchron": [0, 16, 17], "asyncfifo": [0, 16, 23], "reset": [0, 5, 15, 17, 19, 21, 23], "when": [0, 1, 5, 6, 15, 17, 19, 21, 23], "write": [0, 6, 7, 15, 16, 23], "domain": [0, 3, 5, 15, 16, 23], "r_rst": [0, 23], "assert": [0, 6, 15, 17, 18, 19, 23], "r_level": [0, 23], "w_level": [0, 23], "backend": [0, 6, 15], "reject": [0, 6], "larger": [0, 6, 19], "65536": 0, "emit": [0, 6], "yosi": [0, 1, 4, 5, 8, 9, 10, 11, 14], "attribut": [0, 5, 6, 15, 21], "compat": [0, 4], "instal": [0, 1, 3, 11, 15], "fall": 0, "pypi": [0, 4, 5], "packag": [0, 1, 4], "builtin": [0, 4], "avail": [0, 4, 9, 10, 11, 12, 13, 14, 15, 19, 23], "cxxrtl": 0, "multipl": [0, 5, 6, 18], "fragment": 0, "add_process": 0, "advanc": [0, 5, 15], "execute_remote_ssh": 0, "vcd": [0, 15], "output": [0, 1, 6, 11, 15, 17, 18, 19, 23], "top": [0, 6, 15], "bench": [0, 5, 15], "modul": [0, 3, 15, 17, 18, 19, 20, 21, 22, 23], "contain": [0, 1, 5, 6, 15, 19, 20, 21], "testbench": 0, "onli": [0, 4, 5, 6, 15, 17, 18, 19, 21, 23], "sb_lfosc": 0, "sb_hfosc": 0, "binari": [0, 4, 6, 8, 9, 10, 11, 12, 14, 18], "bitstream": [0, 8, 9, 10, 11, 12, 14, 15], "grade": [0, 24], "famili": [0, 4, 5, 21], "temperatur": 0, "part": [0, 1, 6, 15, 21], "speed": [0, 5], "symbiflow": [0, 13, 14], "separ": 0, "flash": [0, 5, 12, 15], "sram": [0, 9, 12], "_flash": [0, 12], "_sram": [0, 12], "quicklogicplatform": [0, 7, 13], "cyclonev_oscil": 0, "intelplatform": [0, 7, 9], "add_set": [0, 9], "add_constraint": [0, 9, 10, 11, 12, 13, 14], "mistral": [0, 9], "synth_design_opt": [0, 14], "No": 0, "were": [0, 6], "publish": 0, "under": [0, 6, 21], "collect": [1, 5, 6], "mani": [1, 5, 6, 15, 19], "peopl": 1, "collabor": 1, "over": [1, 19, 21], "year": 1, "would": [1, 6, 19, 21], "same": [1, 5, 6, 15, 19, 21, 22, 23], "everyon": 1, "": [1, 4, 5, 6, 15, 17, 19, 21, 23, 24], "uniqu": [1, 6], "perspect": 1, "we": 1, "re": [1, 19, 22], "glad": 1, "you": [1, 4, 17, 19], "consid": [1, 5, 6, 15, 17, 21, 24], "join": 1, "u": 1, "page": 1, "guid": [1, 3, 15, 19], "through": [1, 5, 6, 21], "some": [1, 5, 6, 15], "best": 1, "tool": [1, 5, 6, 8, 9, 10, 11, 12, 13, 14], "hear": 1, "about": [1, 6], "encount": 1, "crucial": 1, "do": [1, 6, 15, 21], "care": 1, "lot": 1, "correct": [1, 6], "result": [1, 6, 15, 21, 22], "experi": [1, 6], "just": [1, 6, 21], "much": 1, "meant": 1, "comfort": 1, "fewer": 1, "sharp": 1, "edg": [1, 6, 15, 17], "matter": [1, 21], "how": [1, 4, 6, 19, 21], "technolog": 1, "appeal": 1, "might": 1, "more": [1, 5, 6, 15, 21], "guardrail": 1, "pleas": 1, "To": [1, 4, 5, 6, 15, 19, 20, 21], "go": [1, 5], "beyond": [1, 6], "see": [1, 6, 15, 17], "error": [1, 5, 6, 9, 10, 11, 19, 21], "messag": [1, 6, 9, 10, 11, 15], "hard": [1, 5, 21], "understand": [1, 6], "mislead": 1, "even": [1, 6, 17], "especi": [1, 5], "think": 1, "did": [1, 4], "someth": 1, "wrong": [1, 6], "inform": [1, 9, 10, 11, 15], "exact": [1, 21], "version": [1, 3, 4, 6], "which": [1, 5, 6, 11, 15, 17, 19, 20, 21, 23], "find": 1, "c": [1, 6, 10, 12], "print": [1, 6], "__version__": 1, "complet": [1, 19], "self": [1, 5, 6, 15, 21], "minim": [1, 15], "demonstr": [1, 15], "feasibl": 1, "sequenc": [1, 17, 21], "reproduc": [1, 5], "what": [1, 19], "expect": [1, 21], "happen": [1, 6], "actual": 1, "possibl": [1, 5, 6], "verbatim": 1, "log": [1, 9, 10, 11, 12, 14], "termin": 1, "For": [1, 4, 6, 19, 20, 21, 23], "usabl": [1, 5], "reason": 1, "e": [1, 6, 17, 23], "why": 1, "There": 1, "person": 1, "who": 1, "should": [1, 4, 6, 15, 17, 21, 23], "submit": [1, 21], "valuabl": 1, "own": [1, 6, 21], "right": [1, 6, 21], "appreci": 1, "open": [1, 5, 6, 15], "commun": [1, 5, 21, 24], "tend": 1, "opportun": 1, "enjoi": 1, "pull": [1, 4], "howev": [1, 4, 6, 17, 21], "unless": [1, 6, 23], "ve": 1, "few": [1, 6, 15, 21], "befor": [1, 4, 6, 10, 12, 14], "truli": 1, "trivial": 1, "discuss": 1, "maintain": [1, 5, 17], "first": [1, 3, 4, 5, 6, 15, 16, 17, 19, 21], "doesn": 1, "t": [1, 6, 21], "take": [1, 5, 6, 19], "sometim": [1, 5, 6], "save": [1, 10, 12], "unnecessari": 1, "frustrat": 1, "languag": [1, 2, 15], "toolchain": [1, 2, 4, 8, 9, 10, 11, 12, 13, 14, 15], "from": [1, 4, 5, 15, 17, 19, 20, 21, 22, 23], "kind": [1, 6, 21], "everi": [1, 5, 6, 15, 17, 19, 21], "unavoid": 1, "tightli": [1, 6], "coupl": 1, "seemingli": 1, "obviou": 1, "appar": 1, "minor": 1, "decis": [1, 6], "dramat": 1, "consequ": [1, 5], "make": [1, 4, 5, 6, 22, 23], "sure": [1, 4], "undergo": 1, "scrutini": 1, "commit": [1, 4], "impact": 1, "chanc": 1, "voic": 1, "heard": 1, "substanti": 1, "must": [1, 6, 11, 17, 21], "formal": [1, 24], "comment": 1, "process": [1, 5, 6, 19, 21], "well": [1, 4, 5, 6, 15, 21], "here": [1, 21], "typic": [1, 5], "after": [1, 4, 6, 9, 10, 11, 12, 14, 17, 19, 23], "round": [1, 23], "review": 1, "achiev": [1, 5], "unanim": 1, "consensu": 1, "pdm": 1, "manag": [1, 6, 21], "develop": [1, 15, 21], "workflow": [1, 4, 5, 15], "download": [1, 4, 5, 15, 19], "latest": 1, "onc": [1, 6, 15, 17, 21], "done": [1, 6, 21], "so": [1, 5, 6, 15, 17, 19, 21], "dev": 1, "command": [1, 4, 5, 9, 10, 11, 12, 13, 14, 15, 21], "virtual": 1, "locat": [1, 4, 15, 21], "venv": 1, "runtim": 1, "itself": [1, 6, 10, 12, 15, 19, 21], "edit": [1, 15], "mode": 1, "mean": [1, 6, 19], "immedi": [1, 4, 6, 17], "reflect": [1, 19], "pick": 1, "up": [1, 6, 15, 21, 23, 24], "good": [1, 6, 10, 12], "habit": 1, "each": [1, 5, 6, 19, 21], "tree": [1, 5, 6], "frontend": 1, "yices2": 1, "smt": 1, "solver": 1, "These": [1, 5, 21], "distribut": [1, 4], "oss": 1, "cad": 1, "suit": 1, "reli": [1, 5], "verif": [1, 5, 24], "skip": 1, "index": [1, 6, 21], "doc": 1, "_build": 1, "html": 1, "involv": 1, "small": [1, 6, 15], "iter": [1, 6, 19, 21], "labor": [1, 5, 21], "rebuild": 1, "manual": [1, 3, 4, 19, 21], "start": [1, 3, 5, 6, 19, 21], "automat": [1, 6, 15], "live": 1, "brows": 1, "http": [1, 4, 19], "127": [1, 6], "0": [1, 3, 4, 6, 15, 18, 19, 21, 22], "1": [1, 3, 6, 15, 17, 19, 21, 22, 23], "8000": 1, "browser": 1, "short": [1, 6], "delai": [1, 17, 23], "keep": 1, "ey": 1, "syntact": 1, "refer": [1, 6, 19], "occasion": [1, 6], "builder": 1, "persist": 1, "render": 1, "incorrect": 1, "outdat": 1, "content": 1, "our": 1, "style": [1, 5], "guidelin": 1, "evolv": 1, "eventu": 1, "them": [1, 6, 15, 19, 21], "At": [1, 5, 6], "moment": [1, 5, 6, 15], "ask": 1, "effort": [1, 5, 15], "modifi": 1, "spirit": 1, "surround": 1, "dure": [1, 5, 6, 17, 21], "doubt": 1, "mondai": 1, "17": [1, 20, 22], "00": 1, "utc": 1, "irc": 1, "channel": [1, 21], "lang": [1, 4], "libera": 1, "chat": 1, "matrix": 1, "org": 1, "bridg": 1, "appear": [1, 6, 21, 23], "user": [1, 4, 6, 15, 21], "contributor": 1, "newli": 1, "warrant": 1, "broad": 1, "attent": 1, "primari": 1, "avenu": 1, "want": [1, 19, 24], "interest": 1, "evolut": 1, "simpli": 1, "view": [1, 6, 16], "feel": 1, "free": 1, "attend": 1, "abl": [1, 6], "publicli": 1, "summari": 1, "post": 1, "relev": 1, "github": [1, 4], "thread": 1, "progress": [3, 6], "serious": [3, 6], "incomplet": [3, 6], "introduct": [3, 6, 15, 16], "standard": [3, 6, 9, 10, 11, 15, 19, 22], "librari": [3, 6, 17], "system": [3, 15], "requir": [3, 5, 6, 8, 9, 10, 11, 12, 13, 14, 19, 21], "prerequisit": 3, "get": [3, 4, 5, 6, 21], "counter": [3, 6], "blink": 3, "tutori": [3, 6, 15], "convers": [3, 5, 16], "cross": [3, 5, 16], "cyclic": [3, 16], "redund": [3, 16], "check": [3, 15, 16], "out": [3, 4, 5, 15, 16, 17, 18, 19], "queue": [3, 16], "platform": [3, 4, 5, 8, 9, 10, 11, 12, 13, 14, 15, 17], "integr": [3, 15, 24], "gowin": [3, 7], "lattic": [3, 7, 15], "ecp5": [3, 7], "ice40": [3, 7, 15], "machxo2": [3, 7], "machxo3l": [3, 7], "changelog": 3, "4": [3, 6, 15, 20, 21, 22], "unreleas": 3, "3": [3, 4, 6, 15, 20, 21], "2": [3, 6, 15, 17, 22, 23], "contribut": 3, "problem": [3, 6], "report": [3, 5, 9, 11, 14], "propos": 3, "codebas": 3, "your": [3, 4, 17], "chang": [3, 4, 5, 6, 21], "weekli": 3, "meet": 3, "35": [4, 15], "newer": 4, "cpython": 4, "faster": [4, 17], "pypy3": 4, "pip": 4, "23": [4, 21], "via": [4, 5, 6, 21], "popular": 4, "softwar": [4, 19], "waveform": [4, 6, 15], "viewer": [4, 6], "gtkwave": 4, "invalu": 4, "debug": [4, 5, 15], "synthes": [4, 5, 6, 10, 11, 14, 15], "place": [4, 5, 6, 14, 15, 22], "rout": [4, 5, 6, 14, 15], "fpga": [4, 15, 17, 23, 24], "specif": [4, 5, 6, 17, 21], "x86_64": 4, "aarch64": 4, "continu": [4, 24], "either": [4, 6, 17, 18, 21], "store": [4, 6, 21], "full": [4, 19], "64": [4, 20], "win32": 4, "win64": 4, "need": [4, 5, 6, 17, 21, 23], "unpack": 4, "conveni": [4, 6], "upgrad": 4, "maco": 4, "homebrew": 4, "Then": 4, "brew": 4, "debian": 4, "sudo": 4, "apt": 4, "python3": [4, 15], "On": [4, 10, 12, 17], "architectur": [4, 19], "pip3": 4, "arch": 4, "linux": [4, 10, 12], "pacman": 4, "repositori": [4, 5], "applic": [4, 5, 15, 21], "main": 4, "branch": [4, 6], "similarli": [4, 6], "reliabl": [4, 5], "experiment": 4, "api": 4, "flux": 4, "until": [4, 6, 17, 21, 24], "With": [4, 15, 19], "mind": 4, "try": [4, 6], "function": [4, 5, 6, 15, 19, 21], "avoid": [4, 5, 6], "sinc": [4, 6, 15, 19, 21], "last": [4, 6, 21], "previou": [4, 19, 21], "git": 4, "com": 4, "made": 4, "directori": 4, "affect": [4, 6], "otherwis": [4, 6, 15, 17, 18, 21, 23], "crash": 4, "becaus": [4, 6, 21], "mismatch": [4, 6], "clone": 4, "cd": 4, "ff": 4, "origin": 4, "omit": [4, 6], "explain": [4, 6], "hardwar": [5, 6, 19], "synchron": [5, 15, 17, 23], "digit": [5, 6], "logic": [5, 15, 23], "aim": 5, "easi": 5, "learn": [5, 24], "elimin": [5, 6, 17], "common": [5, 15, 16], "mistak": 5, "simplifi": [5, 6], "complex": [5, 6, 21], "reusabl": [5, 15], "consist": [5, 17], "cover": 5, "restrict": [5, 21, 22], "choic": 5, "exist": [5, 6, 19, 23], "industri": 5, "vhdl": 5, "flow": [5, 6], "descript": [5, 6, 19, 21], "regist": [5, 6, 19, 23], "transfer": [5, 17], "model": [5, 16, 19], "ordinari": [5, 6], "construct": [5, 6, 15, 19, 21, 23], "netlist": [5, 11, 14], "circuit": [5, 6], "human": 5, "readabl": [5, 6], "By": 5, "flexibl": [5, 21], "rich": [5, 6], "widespread": 5, "adopt": 5, "focus": 5, "singl": [5, 6, 15, 21], "task": [5, 6], "block": [5, 6, 15, 17, 18, 23], "finit": [5, 6], "state": [5, 6, 15, 17], "machin": [5, 6], "simpl": [5, 15, 21], "rule": [5, 21], "arithmet": 5, "close": 5, "semant": [5, 6], "loop": [5, 6], "condit": [5, 6, 15, 23], "organ": 5, "seamlessli": 5, "principl": 5, "also": [5, 6, 15, 19, 21, 23], "accident": 5, "misus": [5, 6], "unexpect": [5, 6], "undesir": 5, "synthesi": [5, 6, 11, 14], "often": [5, 6, 21], "expens": 5, "signific": [5, 6, 18, 19, 21], "safe": [5, 17], "third": [5, 21], "parti": 5, "lint": 5, "lack": [5, 6], "synthesiz": [5, 15], "prone": [5, 21], "favor": 5, "instanti": [5, 6, 15, 17, 21], "diagnost": [5, 6, 15], "regularli": 5, "ones": [5, 21], "highlight": 5, "potenti": [5, 6], "importantli": 5, "come": [5, 11], "essenti": [5, 6], "primit": [5, 6], "asynchron": [5, 6, 17, 23], "buffer": [5, 23], "box": [5, 15], "focu": 5, "subtl": [5, 6], "between": [5, 6, 17, 18, 21, 23], "special": [5, 6], "treatment": 5, "devic": [5, 6, 10, 11, 12], "overridden": [5, 21], "recommend": 5, "high": [5, 18, 21], "gear": 5, "peripher": 5, "implement": [5, 6, 17, 19, 21, 22, 23], "least": [5, 6, 18, 19, 21, 23], "amount": [5, 6, 15, 21], "migrat": 5, "option": [5, 6, 9, 10, 11, 14, 15, 17, 20, 22], "limit": [5, 6, 15], "Of": 5, "cours": 5, "alwai": [5, 6, 15, 17, 19, 23], "known": [5, 6, 10, 12, 19, 21], "icaru": 5, "veril": 5, "event": 5, "driven": [5, 6, 17], "although": [5, 6, 15], "slower": 5, "compil": 5, "ahead": 5, "remark": 5, "perform": [5, 19, 21], "pure": 5, "nativ": 5, "co": [5, 15], "major": 5, "commerci": 5, "easili": 5, "constraint": [5, 14, 15, 17], "power": [5, 6, 17, 23], "final": [5, 6], "script": [5, 8, 9, 10, 11, 12, 13, 14], "placement": 5, "analysi": 5, "custom": [5, 15, 19, 23], "insert": [5, 9, 10, 11, 12, 13, 14], "produc": [5, 6, 15, 17], "portabl": 5, "present": [5, 8, 9, 10, 11, 12, 13, 14], "easier": [5, 6], "remot": 5, "nix": 5, "configur": [5, 15, 17, 19, 23], "suppli": 5, "everyth": [5, 21, 22], "direct": [5, 6, 21], "connector": 5, "pinout": [5, 15], "built": [5, 15, 21], "probe": 5, "invoc": [5, 15], "show": 5, "whether": [5, 6, 15, 19], "programm": 5, "correctli": [5, 15, 23], "establish": 5, "convent": [5, 6], "segment": 5, "displai": 5, "spi": 5, "sdram": 5, "reus": 5, "unmodifi": 5, "further": [5, 6, 17], "polar": 5, "control": [5, 15], "unifi": 5, "activ": 5, "invers": 5, "trace": 5, "low": [5, 18, 21], "invert": 5, "introduc": 6, "depth": [6, 23], "assum": 6, "familiar": 6, "prior": 6, "regular": 6, "root": [6, 11, 15], "carefulli": 6, "curat": 6, "export": [6, 10, 12, 22], "nearli": 6, "dedic": 6, "practic": 6, "glob": 6, "frown": 6, "upon": 6, "alia": [6, 12], "exampl": [6, 15, 19, 20, 21], "two": [6, 11, 19, 21], "signed": [6, 21], "alias": 6, "v": [6, 15], "retriev": [6, 21], "len": [6, 21], "basic": [6, 15], "term": [6, 19], "number": [6, 9, 17, 18, 21, 23], "anywher": [6, 21], "repres": 6, "interpret": 6, "complement": 6, "simplest": 6, "ten": 6, "minus_two": 6, "abov": [6, 15], "posit": [6, 19, 21], "smallest": 6, "As": [6, 15, 21], "truncat": 6, "fit": 6, "rare": [6, 21], "permit": 6, "360": 6, "104": 6, "129": 6, "indirectli": 6, "implicit": [6, 19], "shorthand": 6, "r": 6, "larg": [6, 21, 23], "enough": [6, 21], "min": 6, "max": 6, "whose": [6, 21], "set": [6, 9, 10, 11, 12, 14, 17, 19, 23, 24], "100": [6, 17], "item": [6, 19], "exclus": 6, "half": 6, "stop": 6, "element": [6, 21, 23], "wide": 6, "fencepost": 6, "256": [6, 21], "syntaxwarn": 6, "equal": [6, 19, 21], "inclus": 6, "off": [6, 10, 12], "detect": [6, 19], "bound": 6, "subclass": [6, 21, 22], "multiplex": 6, "distinct": 6, "bottom": 6, "funct4": 6, "sub": [6, 22], "mul": [6, 22], "prevent": 6, "unwant": 6, "equival": [6, 21], "d5": 6, "type": [6, 19, 21, 22, 23], "d1": 6, "subset": [6, 21], "operand": 6, "numer": 6, "d26": 6, "funct": [6, 22], "op": [6, 22], "reg": [6, 15, 22], "imm": [6, 22], "instr": [6, 22], "addi": [6, 22], "expand": 6, "vari": 6, "respect": 6, "cannot": [6, 21, 23], "uniniti": 6, "undefin": 6, "default": [6, 14, 15, 17, 19, 20], "foo": 6, "bar": 6, "paramet": [6, 15, 16, 17, 18, 19, 21, 23], "foo2": 6, "second_foo": 6, "prepar": 6, "ambigu": 6, "zero": [6, 21, 23], "none": [6, 14, 15, 17, 18], "never": [6, 21, 22], "resett": [6, 17], "reset_less": [6, 17], "resetinsert": 6, "combin": [6, 21], "arrai": [6, 21], "themselv": 6, "concret": [6, 21], "goal": 6, "calcul": 6, "contrast": 6, "abstract": [6, 21], "sig": [6, 15, 21], "syntax": [6, 15, 21], "rememb": 6, "higher": [6, 17], "traceback": [6, 21], "recent": [6, 19, 21], "typeerror": [6, 21, 22], "attempt": 6, "boolean": 6, "therefor": [6, 19], "statement": [6, 22], "execut": 6, "decid": 6, "bodi": 6, "fact": 6, "long": [6, 19], "finish": [6, 15], "solv": 6, "manipul": [6, 21], "OR": 6, "select": 6, "regardless": 6, "too": 6, "unlimit": 6, "precis": [6, 21], "overflow": [6, 15], "suffici": [6, 21], "128": 6, "382": 6, "tabl": 6, "negat": 6, "subtract": 6, "floor": 6, "absolut": 6, "due": 6, "chain": [6, 17], "g": [6, 14, 17], "inequ": 6, "greater": 6, "effici": 6, "NOT": 6, "AND": 6, "xor": [6, 19], "impli": 6, "revers": [6, 19], "exponenti": 6, "wider": 6, "intermedi": 6, "stress": 6, "32": [6, 20, 21], "4294967296": 6, "break": 6, "veri": [6, 21], "sidewai": 6, "pair": 6, "unari": 6, "sole": 6, "odd": 6, "bool": [6, 17, 19, 23], "conceptu": 6, "unlik": 6, "clariti": [6, 15], "p": 6, "q": 6, "preced": 6, "bind": 6, "wherea": 6, "parenthes": 6, "around": 6, "en": [6, 15], "addr": [6, 21], "d0": [6, 21], "stb": 6, "use_stb": 6, "msb": 6, "sd": 6, "detail": [6, 15, 17, 19], "apart": 6, "act": [6, 22, 23], "slice": [6, 21], "concaten": 6, "clash": 6, "except": [6, 21], "subscript": 6, "offset": [6, 21], "notat": 6, "length": [6, 21], "j": 6, "k": 6, "bit_select": 6, "w": [6, 15], "overlap": 6, "word_select": 6, "word": [6, 19, 23], "talk": 6, "convention": 6, "variat": 6, "occupi": 6, "0th": 6, "expon": [6, 21], "caus": [6, 17], "confus": 6, "0b1001": 6, "0b1010": 6, "0b1010_1001": 6, "val": [6, 15], "Such": 6, "seem": 6, "natur": [6, 18], "alon": 6, "could": [6, 17, 21], "ye": 6, "deliber": 6, "reinterpret": 6, "pc": 6, "mux": 6, "sel": 6, "val1": 6, "val0": 6, "unit": 6, "hierarchi": [6, 21], "independ": 6, "associ": [6, 21], "submodul": [6, 19, 20], "fresh": 6, "group": [6, 21], "ident": [6, 18, 19, 23], "predefin": [6, 16, 19], "comb": [6, 15, 21], "reserv": [6, 21], "occur": 6, "sync": [6, 15, 21], "feedback": 6, "hold": [6, 15], "eq": [6, 15, 21], "effect": 6, "0b11": 6, "d3": 6, "d": [6, 15, 19, 21], "entir": [6, 15, 19], "upfront": 6, "def": [6, 15, 21], "add_toggl": 6, "num": 6, "f": [6, 8, 15], "sync_": 6, "becom": [6, 19, 23], "undriven": 6, "exactli": [6, 21, 22], "dsl": 6, "syntaxerror": 6, "driver": 6, "conflict": 6, "drive": [6, 15], "alreadi": [6, 15, 23], "clearli": 6, "meaning": 6, "inher": 6, "answer": 6, "greatli": 6, "analyz": 6, "snippet": 6, "determin": 6, "tailor": 6, "fsm": 6, "context": 6, "timer": [6, 15], "els": [6, 15, 17], "superfici": 6, "imper": 6, "insid": 6, "observ": 6, "satisfi": 6, "given": [6, 19, 21], "uncondition": 6, "account": 6, "whenev": [6, 19], "shorten": 6, "stabl": 6, "latch": [6, 23], "unstabl": 6, "ring": 6, "oscil": [6, 15], "prohibit": 6, "current": [6, 19], "assumpt": 6, "aren": 6, "silent": 6, "miscompil": 6, "though": 6, "hazard": 6, "exceedingli": 6, "desir": 6, "technologi": 6, "lut": 6, "transit": 6, "section": [7, 15, 16, 21], "latticeecp5platform": [7, 10], "apicula": 8, "nextpnr": [8, 9, 10, 11, 14], "gowin_pack": 8, "popul": [8, 9, 10, 11, 12, 13, 14, 21], "amaranth_env_apicula": 8, "product": [8, 9, 10, 11, 12, 14], "gw_sh": 8, "amaranth_env_gowin": 8, "quartu": 9, "quartus_map": 9, "quartus_fit": 9, "quartus_asm": 9, "quartus_sta": 9, "amaranth_env_quartu": 9, "qsf": 9, "sdc": [9, 11], "nproc": 9, "quartus_map_opt": 9, "extra": [9, 10, 11, 14], "quartus_fit_opt": 9, "quartus_asm_opt": 9, "quartus_sta_opt": 9, "rpt": [9, 10, 11, 14], "sof": 9, "rbf": 9, "raw": [9, 14], "amaranth_env_mistr": 9, "verbos": [9, 10, 11, 15], "read_verilog_opt": [9, 10, 11], "read_verilog": [9, 10, 11], "synth_opt": [9, 10, 11], "synth_intel_alm": 9, "script_after_read": [9, 10, 11, 14], "read_ilang": [9, 10, 11], "script_after_synth": [9, 10, 11, 14], "yosys_opt": [9, 10, 11], "nextpnr_opt": [9, 10, 11], "trelli": 10, "diamond": [10, 12], "ecppack": 10, "amaranth_env_trelli": 10, "synth_ecp5": 10, "ecppack_opt": 10, "add_prefer": [10, 12], "lpf": [10, 12], "json": [10, 11], "rtl": [10, 11, 14], "tim": [10, 11], "config": 10, "ascii": [10, 11], "jtag": [10, 12], "pnmainc": [10, 12], "ddtcmd": [10, 12], "diamond_env": [10, 12], "candid": [10, 12], "bat": [10, 12], "echo": [10, 12], "path": [10, 12], "lscc": [10, 12], "diamond_vers": [10, 12], "bin": [10, 11, 12, 14], "nt64": [10, 12], "script_project": [10, 12], "prj_project": [10, 12], "tcl": [10, 11, 12, 14], "script_after_export": [10, 12], "prj_run": [10, 12], "xdc": [10, 12, 13, 14], "_impl": [10, 12], "htm": [10, 11, 12], "consolid": [10, 12], "icestorm": 11, "icecube2": 11, "icepack": 11, "amaranth_env_icestorm": 11, "synth_ice40": 11, "add_pre_pack": 11, "pre": [11, 19], "pack": 11, "pcf": [11, 14], "asc": 11, "variant": 11, "lse": 11, "synplifi": 11, "tclsh": 11, "amaranth_env_icecube2": 11, "lse_opt": 11, "script_after_add": 11, "add_fil": 11, "script_after_opt": 11, "set_opt": 11, "script_after_flow": 11, "run_sbt_backend_auto": 11, "sbt": 11, "_lse": 11, "_design": 11, "router": 11, "_time": [11, 14], "edf": 11, "edif": 11, "_lattice_machxo_2_3l": 12, "jed": 12, "jedec": 12, "fuse": 12, "symbiflow_synth": [13, 14], "symbiflow_pack": [13, 14], "symbiflow_plac": [13, 14], "symbiflow_rout": [13, 14], "symbiflow_write_fasm": [13, 14], "symbiflow_write_bitstream": [13, 14], "amaranth_env_qlsymbiflow": 13, "ISE": 14, "vivado": 14, "amaranth_env_vivado": 14, "read_xdc": 14, "synth_design": 14, "script_after_plac": 14, "place_design": 14, "script_after_rout": 14, "route_design": 14, "script_before_bitstream": 14, "write_bitstream": 14, "script_after_bitstream": 14, "vivado_opt": 14, "_timing_synth": 14, "_utilization_hierarchical_synth": 14, "_utilization_synth": 14, "_utilization_hierarchical_plac": 14, "_utilization_plac": 14, "_io": 14, "_control_set": 14, "_clock_util": 14, "_route_statu": 14, "_drc": 14, "_methodologi": 14, "_power": 14, "_rout": 14, "dcp": 14, "checkpoint": 14, "metadata": 14, "xst": 14, "ngdbuild": 14, "map": [14, 21], "par": 14, "bitgen": 14, "amaranth_env_is": 14, "script_after_run": 14, "ucf": 14, "xst_opt": 14, "ngdbuild_opt": 14, "map_opt": 14, "par_opt": 14, "bitgen_opt": 14, "compress": 14, "srp": 14, "ngc": 14, "bld": 14, "ngd": 14, "databas": 14, "_map": 14, "mrp": 14, "ncd": 14, "physic": 14, "_par": 14, "_par_pad": 14, "txt": [14, 19], "usag": 14, "drc": 14, "bgn": 14, "amaranth_env_symbiflow": 14, "fasm2fram": 14, "xc7frames2bit": 14, "amaranth_env_xrai": 14, "cursori": 15, "overview": 15, "explan": 15, "shown": 15, "up_count": 15, "py": 15, "16": [15, 19, 20, 21], "input": [15, 17, 18, 19, 23], "upcount": 15, "elaborat": 15, "increment": 15, "retain": 15, "ovf": 15, "reach": [15, 21], "__init__": [15, 21], "elabor": [15, 17], "helper": 15, "combinatori": 15, "elif": 15, "black": [15, 21], "verifi": 15, "dut": 15, "25": [15, 20], "disabl": 15, "yield": [15, 21], "_": 15, "30": [15, 20], "cycl": [15, 17, 19, 23], "clear": 15, "add_clock": 15, "1e": 15, "mhz": 15, "add_sync_process": 15, "write_vcd": 15, "inspect": 15, "successfulli": 15, "still": [15, 17, 24], "de": 15, "facto": 15, "interoper": 15, "correspond": [15, 19, 21], "rise": [15, 23], "lightli": 15, "clk": 15, "rst": 15, "src": 15, "ir": 15, "526": 15, "26": 15, "27": 15, "h0000": 15, "41": 15, "h19": 15, "h1": 15, "posedg": 15, "37": 15, "casez": 15, "38": 15, "40": [15, 20], "endcas": 15, "xfrm": 15, "518": 15, "endmodul": 15, "aid": 15, "unfortun": 15, "standalon": 15, "adapt": 15, "frequenc": [15, 17], "hz": 15, "ledblink": 15, "half_freq": 15, "default_clk_frequ": 15, "icestick": 15, "evalu": 15, "link": 15, "foss": 15, "probabl": 15, "icestickplatform": 15, "do_program": 15, "choos": 15, "benefit": 15, "turnkei": 15, "abil": [15, 22], "metaclass": 16, "layout": 16, "One": [16, 21], "hot": 16, "prioriti": 16, "grai": 16, "ffsynchron": [16, 17], "resetsynchron": [16, 17], "algorithm": [16, 19], "processor": [16, 19], "syncfifobuff": [16, 23], "asyncfifobuff": [16, 23], "resynchronis": 17, "flip": 17, "flop": 17, "metast": 17, "guarante": 17, "synchronis": 17, "o_domain": 17, "str": [17, 21, 23], "unaffect": 17, "stage": 17, "lowest": 17, "mtbf": 17, "cost": 17, "increas": [17, 23], "latenc": [17, 19, 23], "max_input_delai": 17, "float": [17, 21], "maximum": 17, "second": [17, 21], "fail": 17, "safest": 17, "load": 17, "valid": [17, 19, 21, 23], "target": [17, 21], "asic": 17, "arbitrari": [17, 21], "warm": 17, "insuffici": 17, "deassert": 17, "get_ff_sync": 17, "cell": 17, "primarili": 17, "async_edg": 17, "po": 17, "get_async_ff_sync": 17, "gate": 17, "yet": 17, "promptli": 17, "arst": 17, "get_reset_sync": 17, "puls": 17, "duti": 17, "ratio": 17, "drop": [17, 22], "i_domain": 17, "encod": 18, "indic": [18, 19, 21], "invalid": 18, "decod": 18, "th": 18, "priorityencod": 18, "prioritydecod": 18, "grayencod": 18, "graydecod": 18, "comput": 19, "polynomi": [19, 20], "commonli": 19, "catalog": [19, 20], "accommod": [19, 21], "data_width": [19, 20], "obtain": 19, "fulli": 19, "crc16": 19, "ccitt": 19, "byte": [19, 21], "crc16_ccitt": [19, 20], "algo": 19, "crc_width": [19, 20], "0x1021": [19, 20], "initial_crc": [19, 20], "0xffff": [19, 20], "reflect_input": [19, 20], "reflect_output": [19, 20], "xor_output": [19, 20], "0x0000": [19, 20], "123456789": 19, "0x29b1": 19, "exclud": 19, "william": 19, "painless": 19, "www": 19, "ross": 19, "net": 19, "crc_v3": 19, "reveng": [19, 20], "catalogu": 19, "parameteris": 19, "crcmod": 19, "lead": 19, "polynomin": 19, "init": [19, 21], "zoo": 19, "entri": [19, 20, 23], "x": 19, "highest": 19, "order": [19, 21], "transmiss": 19, "littl": 19, "endian": 19, "multi": 19, "0x4e4c": 19, "transmit": 19, "octet": 19, "0x4c": 19, "0x4e": 19, "addition": 19, "properti": [19, 21], "residu": 19, "codeword": 19, "bitwidth": 19, "arg": 19, "src_loc_at": 19, "kwarg": 19, "stream": 19, "handl": [19, 23], "subsequ": 19, "throughput": 19, "per": 19, "classic": 19, "serial": 19, "galoi": 19, "shift": 19, "parallel": 19, "match_detect": 19, "trail": 19, "initialis": 19, "simultan": 19, "receiv": 19, "crc3_gsm": [19, 20], "crc3_rohc": [19, 20], "crc4_g_704": [19, 20], "crc4_itu": [19, 20], "crc4_interlaken": [19, 20], "crc5_epc_c1g2": [19, 20], "crc5_epc": [19, 20], "crc5_g_704": [19, 20], "crc5_itu": [19, 20], "crc5_usb": [19, 20], "crc6_cdma2000_a": [19, 20], "crc6_cdma2000_b": [19, 20], "crc6_darc": [19, 20], "crc6_g_704": [19, 20], "crc6_itu": [19, 20], "crc6_gsm": [19, 20], "crc7_mmc": [19, 20], "crc7_rohc": [19, 20], "crc7_umt": [19, 20], "crc8_autosar": [19, 20], "crc8_bluetooth": [19, 20], "crc8_cdma2000": [19, 20], "crc8_darc": [19, 20], "crc8_dvb_s2": [19, 20], "crc8_gsm_a": [19, 20], "crc8_gsm_b": [19, 20], "crc8_hitag": [19, 20], "crc8_i_432_1": [19, 20], "crc8_itu": [19, 20], "crc8_i_cod": [19, 20], "crc8_lte": [19, 20], "crc8_maxim_dow": [19, 20], "crc8_maxim": [19, 20], "crc8_mifare_mad": [19, 20], "crc8_nrsc_5": [19, 20], "crc8_opensafeti": [19, 20], "crc8_rohc": [19, 20], "crc8_sae_j1850": [19, 20], "crc8_smbu": [19, 20], "crc8_tech_3250": [19, 20], "crc8_ae": [19, 20], "crc8_etu": [19, 20], "crc8_wcdma": [19, 20], "crc10_atm": [19, 20], "crc10_i_610": [19, 20], "crc10_cdma2000": [19, 20], "crc10_gsm": [19, 20], "crc11_flexrai": [19, 20], "crc11_umt": [19, 20], "crc12_cdma2000": [19, 20], "crc12_dect": [19, 20], "crc12_gsm": [19, 20], "crc12_umt": [19, 20], "crc12_3gpp": [19, 20], "crc13_bbc": [19, 20], "crc14_darc": [19, 20], "crc14_gsm": [19, 20], "crc15_can": [19, 20], "crc15_mpt1327": [19, 20], "crc16_arc": [19, 20], "crc16_ibm": [19, 20], "crc16_cdma2000": [19, 20], "crc16_cm": [19, 20], "crc16_dds_110": [19, 20], "crc16_dect_r": [19, 20], "crc16_dect_x": [19, 20], "crc16_dnp": [19, 20], "crc16_en_13757": [19, 20], "crc16_genibu": [19, 20], "crc16_darc": [19, 20], "crc16_epc": [19, 20], "crc16_epc_c1g2": [19, 20], "crc16_i_cod": [19, 20], "crc16_gsm": [19, 20], "crc16_ibm_3740": [19, 20], "crc16_autosar": [19, 20], "crc16_ccitt_fals": [19, 20], "crc16_ibm_sdlc": [19, 20], "crc16_iso_hdlc": [19, 20], "crc16_iso_iec_14443_3_b": [19, 20], "crc16_x25": [19, 20], "crc16_iso_iec_14443_3_a": [19, 20], "crc16_kermit": [19, 20], "crc16_bluetooth": [19, 20], "crc16_ccitt_tru": [19, 20], "crc16_v_41_lsb": [19, 20], "crc16_lj1200": [19, 20], "crc16_m17": [19, 20], "crc16_maxim_dow": [19, 20], "crc16_maxim": [19, 20], "crc16_mcrf4xx": [19, 20], "crc16_modbu": [19, 20], "crc16_nrsc_5": [19, 20], "crc16_opensafety_a": [19, 20], "crc16_opensafety_b": [19, 20], "crc16_profibu": [19, 20], "crc16_iec_61158_2": [19, 20], "crc16_riello": [19, 20], "crc16_spi_fujitsu": [19, 20], "crc16_aug_ccitt": [19, 20], "crc16_t10_dif": [19, 20], "crc16_teledisk": [19, 20], "crc16_tms37157": [19, 20], "crc16_umt": [19, 20], "crc16_buypass": [19, 20], "crc16_verifon": [19, 20], "crc16_usb": [19, 20], "crc16_xmodem": [19, 20], "crc16_acorn": [19, 20], "crc16_lte": [19, 20], "crc16_v_41_msb": [19, 20], "crc16_zmodem": [19, 20], "crc17_can_fd": [19, 20], "crc21_can_fd": [19, 20], "crc24_ble": [19, 20], "crc24_flexray_a": [19, 20], "crc24_flexray_b": [19, 20], "crc24_interlaken": [19, 20], "crc24_lte_a": [19, 20], "crc24_lte_b": [19, 20], "crc24_openpgp": [19, 20], "crc24_os_9": [19, 20], "crc30_cdma": [19, 20], "crc31_philip": [19, 20], "crc32_aixm": [19, 20], "crc32_autosar": [19, 20], "crc32_base91_d": [19, 20], "crc32_bzip2": [19, 20], "crc32_aal5": [19, 20], "crc32_dect_b": [19, 20], "crc32_cd_rom_edc": [19, 20], "crc32_cksum": [19, 20], "crc32_posix": [19, 20], "crc32_iscsi": [19, 20], "crc32_base91_c": [19, 20], "crc32_castagnoli": [19, 20], "crc32_interlaken": [19, 20], "crc32_iso_hdlc": [19, 20], "crc32_adccp": [19, 20], "crc32_v_42": [19, 20], "crc32_xz": [19, 20], "crc32_pkzip": [19, 20], "crc32_ethernet": [19, 20], "crc32_jamcrc": [19, 20], "crc32_mef": [19, 20], "crc32_mpeg_2": [19, 20], "crc32_xfer": [19, 20], "crc40_gsm": [19, 20], "crc64_ecma_182": [19, 20], "crc64_go_iso": [19, 20], "crc64_m": [19, 20], "crc64_redi": [19, 20], "crc64_we": [19, 20], "crc64_xz": [19, 20], "crc64_ecma": [19, 20], "crc82_darc": [19, 20], "2023": 20, "05": 20, "crc8": 20, "0x3": 20, "0x0": [20, 21], "0x7": 20, "0xf": 20, "0x9": 20, "0x15": 20, "0x5": 20, "0x1f": 20, "0x27": 20, "0x3f": 20, "0x19": 20, "0x2f": 20, "0x4f": 20, "0x7f": [20, 21], "0x45": 20, "0xff": 20, "0xa7": 20, "0x00": 20, "0x9b": 20, "0x39": 20, "0xd5": 20, "0x1d": 20, "0x49": 20, "0x07": 20, "0x55": 20, "0xfd": 20, "0x31": 20, "0xc7": 20, "0x233": 20, "0x3d9": 20, "0x3ff": 20, "0x175": 20, "0x385": 20, "0x1a": 20, "0x307": 20, "0xf13": 20, "0xfff": 20, "0x000": 20, "0x80f": 20, "0xd31": 20, "13": 20, "0x1cf5": 20, "14": [20, 21], "0x805": 20, "0x202d": 20, "0x3fff": 20, "0x4599": 20, "0x6815": 20, "0x001": 20, "0x8005": 20, "0xc867": 20, "0x800d": 20, "0x0589": 20, "0x0001": 20, "0x3d65": 20, "0xc6c6": 20, "0x6f63": 20, "0x5935": 20, "0x080b": 20, "0x755b": 20, "0x1dcf": 20, "0xb2aa": 20, "0x1d0f": 20, "0x8bb7": 20, "0xa097": 20, "0x89ec": 20, "0x1685b": 20, "21": 20, "0x102899": 20, "0x00000": 20, "24": [20, 21], "0x00065b": 20, "0x555555": 20, "0x000000": 20, "0x5d6dcb": 20, "0xfedcba": 20, "0xabcdef": 20, "0x328b63": 20, "0xffffff": 20, "0x864cfb": 20, "0x800063": 20, "0xb704ce": 20, "0x2030b9c7": 20, "0x3fffffff": 20, "31": [20, 21], "0x4c11db7": 20, "0x7fffffff": 20, "0x814141ab": 20, "0x00000000": 20, "0xf4acfb13": 20, "0xffffffff": 20, "0xa833982b": 20, "0x04c11db7": 20, "0x8001801b": 20, "0x1edc6f41": 20, "0x741b8cd7": 20, "0x000000af": 20, "0x0004820009": 20, "0x0000000000": 20, "0xffffffffff": 20, "0x42f0e1eba9ea3693": 20, "0x0000000000000000": 20, "0x000000000000001b": 20, "0xffffffffffffffff": 20, "0x259c84cba6426349": 20, "0xad93d23594c935a9": 20, "82": 20, "0x308c0111011401440411": 20, "0x00000000000000000000": 20, "bitwis": 21, "proxi": 21, "four": 21, "relat": 21, "facil": 21, "foundat": 21, "introspect": 21, "structlayout": 21, "unionlayout": 21, "arraylayout": 21, "flexiblelayout": 21, "plain": 21, "struct": 21, "fundament": 21, "intern": 21, "pixel": 21, "rgb": 21, "grayscal": 21, "color": 21, "format": 21, "rgb565": 21, "fast": 21, "approxim": 21, "i_color": 21, "o_grai": 21, "repetit": 21, "referenc": 21, "rgb565_layout": 21, "red": 21, "green": 21, "blue": 21, "accumul": 21, "averag": 21, "intens": 21, "input_layout": 21, "i_stream": 21, "r_accum": 21, "sum": 21, "interchang": 21, "rgb_layout": 21, "r_bit": 21, "g_bit": 21, "b_bit": 21, "rgb24_layout": 21, "transform": 21, "rgblayout": 21, "super": 21, "rgbview": 21, "bright": 21, "as_valu": 21, "static": 21, "boilerpl": 21, "ieee754singl": 21, "fraction": 21, "is_subnorm": 21, "set_addr": 21, "send_data": 21, "param": 21, "biggest": 21, "cmd": 21, "0x00001234": 21, "react": 21, "immut": 21, "__eq__": 21, "compar": [21, 23], "kei": 21, "string": 21, "identifi": 21, "span": 21, "preserv": 21, "invari": 21, "obj": 21, "as_shap": [21, 22], "rais": [21, 22], "recursionerror": 21, "__iter__": 21, "__getitem__": 21, "keyerror": 21, "size": 21, "underli": 21, "had": 21, "gap": 21, "pad": 21, "altern": 21, "_1": 21, "_2": 21, "won": 21, "dictionari": 21, "plu": [21, 23], "largest": 21, "elem_shap": 21, "multipli": 21, "individu": 21, "arbitrarili": 21, "chosen": 21, "dynam": 21, "leav": 21, "rest": 21, "concis": 21, "look": 21, "repeatedli": 21, "latter": 21, "unspecifi": 21, "inout": 21, "__getattr__": 21, "attributeerror": 21, "underscor": 21, "kept": 21, "ieee": 21, "754": 21, "flt": 21, "hex": 21, "0x3f800000": 21, "0xbf800000": 21, "share": 21, "haschecksum": 21, "checksum": 21, "barehead": 21, "address": 21, "headerwithparam": 21, "bare": 21, "varint": 21, "int8": 21, "int16": 21, "0x100": 21, "flag": 22, "intflag": 22, "keyword": 22, "subi": 22, "behav": 22, "likewis": 22, "normalenum": 22, "spam": 22, "ham": 22, "enummeta": 22, "neither": 22, "nor": 22, "w_data": 23, "w_rdy": 23, "w_en": 23, "r_data": 23, "r_rdy": 23, "r_en": 23, "fallthrough": 23, "strobe": 23, "space": 23, "noth": 23, "unread": 23, "substitut": 23, "incompat": 23, "ram": 23, "exchang": 23, "r_domain": 23, "w_domain": 23, "exact_depth": 23, "remain": 23, "offici": 24, "readi": 24, "vivonomicon": 24, "kbob": 24, "robert": 24, "baruch": 24, "exercis": 24, "my": 24, "journei": 24, "david": 24, "sporn": 24, "focuss": 24, "workstat": 24}, "objects": {"amaranth.lib": [[17, 0, 0, "-", "cdc"], [18, 0, 0, "-", "coding"], [19, 0, 0, "-", "crc"], [21, 0, 0, "-", "data"], [22, 0, 0, "-", "enum"], [23, 0, 0, "-", "fifo"]], "amaranth.lib.cdc": [[17, 1, 1, "", "AsyncFFSynchronizer"], [17, 1, 1, "", "FFSynchronizer"], [17, 1, 1, "", "PulseSynchronizer"], [17, 1, 1, "", "ResetSynchronizer"]], "amaranth.lib.coding": [[18, 1, 1, "", "Decoder"], [18, 1, 1, "", "Encoder"], [18, 1, 1, "", "GrayDecoder"], [18, 1, 1, "", "GrayEncoder"], [18, 1, 1, "", "PriorityDecoder"], [18, 1, 1, "", "PriorityEncoder"]], "amaranth.lib.crc": [[19, 1, 1, "", "Algorithm"], [19, 1, 1, "", "Parameters"], [19, 1, 1, "", "Processor"], [20, 0, 0, "-", "catalog"]], "amaranth.lib.crc.Algorithm": [[19, 2, 1, "", "__call__"]], "amaranth.lib.crc.Parameters": [[19, 3, 1, "", "algorithm"], [19, 2, 1, "", "compute"], [19, 2, 1, "", "create"], [19, 2, 1, "", "residue"]], "amaranth.lib.crc.catalog": [[20, 4, 1, "", "CRC10_ATM"], [20, 4, 1, "", "CRC10_CDMA2000"], [20, 4, 1, "", "CRC10_GSM"], [20, 4, 1, "", "CRC10_I_610"], [20, 4, 1, "", "CRC11_FLEXRAY"], [20, 4, 1, "", "CRC11_UMTS"], [20, 4, 1, "", "CRC12_3GPP"], [20, 4, 1, "", "CRC12_CDMA2000"], [20, 4, 1, "", "CRC12_DECT"], [20, 4, 1, "", "CRC12_GSM"], [20, 4, 1, "", "CRC12_UMTS"], [20, 4, 1, "", "CRC13_BBC"], [20, 4, 1, "", "CRC14_DARC"], [20, 4, 1, "", "CRC14_GSM"], [20, 4, 1, "", "CRC15_CAN"], [20, 4, 1, "", "CRC15_MPT1327"], [20, 4, 1, "", "CRC16_ACORN"], [20, 4, 1, "", "CRC16_ARC"], [20, 4, 1, "", "CRC16_AUG_CCITT"], [20, 4, 1, "", "CRC16_AUTOSAR"], [20, 4, 1, "", "CRC16_BLUETOOTH"], [20, 4, 1, "", "CRC16_BUYPASS"], [20, 4, 1, "", "CRC16_CCITT"], [20, 4, 1, "", "CRC16_CCITT_FALSE"], [20, 4, 1, "", "CRC16_CCITT_TRUE"], [20, 4, 1, "", "CRC16_CDMA2000"], [20, 4, 1, "", "CRC16_CMS"], [20, 4, 1, "", "CRC16_DARC"], [20, 4, 1, "", "CRC16_DDS_110"], [20, 4, 1, "", "CRC16_DECT_R"], [20, 4, 1, "", "CRC16_DECT_X"], [20, 4, 1, "", "CRC16_DNP"], [20, 4, 1, "", "CRC16_EN_13757"], [20, 4, 1, "", "CRC16_EPC"], [20, 4, 1, "", "CRC16_EPC_C1G2"], [20, 4, 1, "", "CRC16_GENIBUS"], [20, 4, 1, "", "CRC16_GSM"], [20, 4, 1, "", "CRC16_IBM"], [20, 4, 1, "", "CRC16_IBM_3740"], [20, 4, 1, "", "CRC16_IBM_SDLC"], [20, 4, 1, "", "CRC16_IEC_61158_2"], [20, 4, 1, "", "CRC16_ISO_HDLC"], [20, 4, 1, "", "CRC16_ISO_IEC_14443_3_A"], [20, 4, 1, "", "CRC16_ISO_IEC_14443_3_B"], [20, 4, 1, "", "CRC16_I_CODE"], [20, 4, 1, "", "CRC16_KERMIT"], [20, 4, 1, "", "CRC16_LJ1200"], [20, 4, 1, "", "CRC16_LTE"], [20, 4, 1, "", "CRC16_M17"], [20, 4, 1, "", "CRC16_MAXIM"], [20, 4, 1, "", "CRC16_MAXIM_DOW"], [20, 4, 1, "", "CRC16_MCRF4XX"], [20, 4, 1, "", "CRC16_MODBUS"], [20, 4, 1, "", "CRC16_NRSC_5"], [20, 4, 1, "", "CRC16_OPENSAFETY_A"], [20, 4, 1, "", "CRC16_OPENSAFETY_B"], [20, 4, 1, "", "CRC16_PROFIBUS"], [20, 4, 1, "", "CRC16_RIELLO"], [20, 4, 1, "", "CRC16_SPI_FUJITSU"], [20, 4, 1, "", "CRC16_T10_DIF"], [20, 4, 1, "", "CRC16_TELEDISK"], [20, 4, 1, "", "CRC16_TMS37157"], [20, 4, 1, "", "CRC16_UMTS"], [20, 4, 1, "", "CRC16_USB"], [20, 4, 1, "", "CRC16_VERIFONE"], [20, 4, 1, "", "CRC16_V_41_LSB"], [20, 4, 1, "", "CRC16_V_41_MSB"], [20, 4, 1, "", "CRC16_X25"], [20, 4, 1, "", "CRC16_XMODEM"], [20, 4, 1, "", "CRC16_ZMODEM"], [20, 4, 1, "", "CRC17_CAN_FD"], [20, 4, 1, "", "CRC21_CAN_FD"], [20, 4, 1, "", "CRC24_BLE"], [20, 4, 1, "", "CRC24_FLEXRAY_A"], [20, 4, 1, "", "CRC24_FLEXRAY_B"], [20, 4, 1, "", "CRC24_INTERLAKEN"], [20, 4, 1, "", "CRC24_LTE_A"], [20, 4, 1, "", "CRC24_LTE_B"], [20, 4, 1, "", "CRC24_OPENPGP"], [20, 4, 1, "", "CRC24_OS_9"], [20, 4, 1, "", "CRC30_CDMA"], [20, 4, 1, "", "CRC31_PHILIPS"], [20, 4, 1, "", "CRC32_AAL5"], [20, 4, 1, "", "CRC32_ADCCP"], [20, 4, 1, "", "CRC32_AIXM"], [20, 4, 1, "", "CRC32_AUTOSAR"], [20, 4, 1, "", "CRC32_BASE91_C"], [20, 4, 1, "", "CRC32_BASE91_D"], [20, 4, 1, "", "CRC32_BZIP2"], [20, 4, 1, "", "CRC32_CASTAGNOLI"], [20, 4, 1, "", "CRC32_CD_ROM_EDC"], [20, 4, 1, "", "CRC32_CKSUM"], [20, 4, 1, "", "CRC32_DECT_B"], [20, 4, 1, "", "CRC32_ETHERNET"], [20, 4, 1, "", "CRC32_INTERLAKEN"], [20, 4, 1, "", "CRC32_ISCSI"], [20, 4, 1, "", "CRC32_ISO_HDLC"], [20, 4, 1, "", "CRC32_JAMCRC"], [20, 4, 1, "", "CRC32_MEF"], [20, 4, 1, "", "CRC32_MPEG_2"], [20, 4, 1, "", "CRC32_PKZIP"], [20, 4, 1, "", "CRC32_POSIX"], [20, 4, 1, "", "CRC32_V_42"], [20, 4, 1, "", "CRC32_XFER"], [20, 4, 1, "", "CRC32_XZ"], [20, 4, 1, "", "CRC3_GSM"], [20, 4, 1, "", "CRC3_ROHC"], [20, 4, 1, "", "CRC40_GSM"], [20, 4, 1, "", "CRC4_G_704"], [20, 4, 1, "", "CRC4_INTERLAKEN"], [20, 4, 1, "", "CRC4_ITU"], [20, 4, 1, "", "CRC5_EPC"], [20, 4, 1, "", "CRC5_EPC_C1G2"], [20, 4, 1, "", "CRC5_G_704"], [20, 4, 1, "", "CRC5_ITU"], [20, 4, 1, "", "CRC5_USB"], [20, 4, 1, "", "CRC64_ECMA"], [20, 4, 1, "", "CRC64_ECMA_182"], [20, 4, 1, "", "CRC64_GO_ISO"], [20, 4, 1, "", "CRC64_MS"], [20, 4, 1, "", "CRC64_REDIS"], [20, 4, 1, "", "CRC64_WE"], [20, 4, 1, "", "CRC64_XZ"], [20, 4, 1, "", "CRC6_CDMA2000_A"], [20, 4, 1, "", "CRC6_CDMA2000_B"], [20, 4, 1, "", "CRC6_DARC"], [20, 4, 1, "", "CRC6_GSM"], [20, 4, 1, "", "CRC6_G_704"], [20, 4, 1, "", "CRC6_ITU"], [20, 4, 1, "", "CRC7_MMC"], [20, 4, 1, "", "CRC7_ROHC"], [20, 4, 1, "", "CRC7_UMTS"], [20, 4, 1, "", "CRC82_DARC"], [20, 4, 1, "", "CRC8_AES"], [20, 4, 1, "", "CRC8_AUTOSAR"], [20, 4, 1, "", "CRC8_BLUETOOTH"], [20, 4, 1, "", "CRC8_CDMA2000"], [20, 4, 1, "", "CRC8_DARC"], [20, 4, 1, "", "CRC8_DVB_S2"], [20, 4, 1, "", "CRC8_ETU"], [20, 4, 1, "", "CRC8_GSM_A"], [20, 4, 1, "", "CRC8_GSM_B"], [20, 4, 1, "", "CRC8_HITAG"], [20, 4, 1, "", "CRC8_ITU"], [20, 4, 1, "", "CRC8_I_432_1"], [20, 4, 1, "", "CRC8_I_CODE"], [20, 4, 1, "", "CRC8_LTE"], [20, 4, 1, "", "CRC8_MAXIM"], [20, 4, 1, "", "CRC8_MAXIM_DOW"], [20, 4, 1, "", "CRC8_MIFARE_MAD"], [20, 4, 1, "", "CRC8_NRSC_5"], [20, 4, 1, "", "CRC8_OPENSAFETY"], [20, 4, 1, "", "CRC8_ROHC"], [20, 4, 1, "", "CRC8_SAE_J1850"], [20, 4, 1, "", "CRC8_SMBUS"], [20, 4, 1, "", "CRC8_TECH_3250"], [20, 4, 1, "", "CRC8_WCDMA"]], "amaranth.lib.data": [[21, 1, 1, "", "ArrayLayout"], [21, 1, 1, "", "Field"], [21, 1, 1, "", "FlexibleLayout"], [21, 1, 1, "", "Layout"], [21, 1, 1, "", "Struct"], [21, 1, 1, "", "StructLayout"], [21, 1, 1, "", "Union"], [21, 1, 1, "", "UnionLayout"], [21, 1, 1, "", "View"]], "amaranth.lib.data.ArrayLayout": [[21, 3, 1, "", "size"]], "amaranth.lib.data.Field": [[21, 2, 1, "", "__eq__"], [21, 3, 1, "", "width"]], "amaranth.lib.data.Layout": [[21, 2, 1, "", "__call__"], [21, 2, 1, "", "__eq__"], [21, 2, 1, "", "__getitem__"], [21, 2, 1, "", "__iter__"], [21, 2, 1, "", "as_shape"], [21, 2, 1, "", "cast"], [21, 2, 1, "", "const"], [21, 3, 1, "", "size"]], "amaranth.lib.data.StructLayout": [[21, 3, 1, "", "size"]], "amaranth.lib.data.UnionLayout": [[21, 2, 1, "", "const"], [21, 3, 1, "", "size"]], "amaranth.lib.data.View": [[21, 2, 1, "", "__getattr__"], [21, 2, 1, "", "__getitem__"], [21, 2, 1, "", "as_value"], [21, 2, 1, "", "eq"], [21, 2, 1, "", "shape"]], "amaranth.lib.enum": [[22, 1, 1, "", "Enum"], [22, 1, 1, "", "EnumMeta"], [22, 1, 1, "", "Flag"], [22, 1, 1, "", "IntEnum"], [22, 1, 1, "", "IntFlag"]], "amaranth.lib.enum.EnumMeta": [[22, 2, 1, "", "as_shape"]], "amaranth.lib.fifo": [[23, 1, 1, "", "AsyncFIFO"], [23, 1, 1, "", "AsyncFIFOBuffered"], [23, 1, 1, "", "FIFOInterface"], [23, 1, 1, "", "SyncFIFO"], [23, 1, 1, "", "SyncFIFOBuffered"]], "amaranth.vendor": [[8, 1, 1, "", "GowinPlatform"], [9, 1, 1, "", "IntelPlatform"], [10, 1, 1, "", "LatticeECP5Platform"], [11, 1, 1, "", "LatticeICE40Platform"], [12, 5, 1, "", "LatticeMachXO2Platform"], [12, 5, 1, "", "LatticeMachXO3LPlatform"], [13, 1, 1, "", "QuicklogicPlatform"], [14, 1, 1, "", "XilinxPlatform"]], "amaranth.vendor._lattice_machxo_2_3l": [[12, 1, 1, "", "LatticeMachXO2Or3LPlatform"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:property", "4": "py:data", "5": "py:attribute"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "property", "Python property"], "4": ["py", "data", "Python data"], "5": ["py", "attribute", "Python attribute"]}, "titleterms": {"changelog": 0, "version": 0, "0": 0, "4": 0, "unreleas": 0, "migrat": 0, "from": [0, 6], "3": 0, "implement": [0, 15], "rfc": 0, "languag": [0, 3, 5, 6], "chang": [0, 1], "standard": [0, 5, 16], "librari": [0, 5, 16], "toolchain": [0, 3, 5], "platform": [0, 7], "integr": [0, 5, 7], "2": 0, "1": 0, "contribut": 1, "file": 1, "problem": 1, "report": 1, "fix": 1, "propos": 1, "new": 1, "featur": 1, "work": 1, "codebas": 1, "prepar": 1, "environ": 1, "run": 1, "testsuit": 1, "build": [1, 5], "document": [1, 2], "your": 1, "weekli": 1, "meet": 1, "amaranth": [2, 4, 5], "hdl": 2, "instal": 4, "system": [4, 5], "requir": 4, "prerequisit": 4, "latest": 4, "releas": 4, "develop": [4, 5], "snapshot": 4, "edit": 4, "board": [4, 5], "definit": [4, 5], "todo": [4, 7, 15, 16, 24], "introduct": [5, 21], "The": [5, 6], "simul": 5, "fpga": 5, "guid": 6, "prelud": 6, "shape": 6, "valu": 6, "constant": 6, "cast": 6, "integ": 6, "rang": 6, "enumer": [6, 22], "member": 6, "signal": 6, "name": 6, "initi": 6, "reset": 6, "less": 6, "data": [6, 21], "structur": [6, 21], "oper": 6, "perform": 6, "describ": 6, "comput": 6, "width": 6, "extens": 6, "arithmet": 6, "comparison": 6, "bitwis": 6, "shift": 6, "rotat": 6, "reduct": 6, "logic": 6, "bit": 6, "sequenc": 6, "convers": [6, 18], "choic": 6, "modul": 6, "control": 6, "domain": [6, 17], "assign": 6, "target": 6, "order": 6, "activ": 6, "inact": 6, "combinatori": 6, "evalu": 6, "synchron": 6, "gowin": 8, "intel": 9, "lattic": [10, 11, 12], "ecp5": 10, "ice40": 11, "machxo2": 12, "machxo3l": 12, "quicklog": 13, "xilinx": 14, "get": 15, "start": 15, "A": 15, "counter": 15, "test": 15, "convert": 15, "blink": 15, "led": 15, "clock": 17, "cross": 17, "code": 18, "One": 18, "hot": 18, "prioriti": 18, "grai": 18, "cyclic": 19, "redund": 19, "check": 19, "predefin": 20, "crc": 20, "algorithm": 20, "overview": 21, "motiv": 21, "compos": 21, "layout": 21, "defin": 21, "discrimin": 21, "union": 21, "model": 21, "common": 21, "view": 21, "creat": 21, "access": 21, "custom": 21, "class": [21, 22], "metaclass": 22, "base": 22, "first": 23, "out": 23, "queue": 23, "tutori": 24}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx": 58}, "alltitles": {"Changelog": [[0, "changelog"]], "Version 0.4 (unreleased)": [[0, "version-0-4-unreleased"]], "Migrating from version 0.3": [[0, "migrating-from-version-0-3"]], "Implemented RFCs": [[0, "implemented-rfcs"]], "Language changes": [[0, "language-changes"], [0, "id1"]], "Standard library changes": [[0, "standard-library-changes"], [0, "id2"]], "Toolchain changes": [[0, "toolchain-changes"], [0, "id3"]], "Platform integration changes": [[0, "platform-integration-changes"], [0, "id4"]], "Version 0.3": [[0, "version-0-3"]], "Migrating from version 0.2": [[0, "migrating-from-version-0-2"]], "Versions 0.1, 0.2": [[0, "versions-0-1-0-2"]], "Contributing": [[1, "contributing"]], "Filing problem reports": [[1, "filing-problem-reports"]], "Fixing problems": [[1, "fixing-problems"]], "Proposing new features": [[1, "proposing-new-features"]], "Working with the codebase": [[1, "working-with-the-codebase"]], "Preparing the environment": [[1, "preparing-the-environment"]], "Running the testsuite": [[1, "running-the-testsuite"]], "Building the documentation": [[1, "building-the-documentation"]], "Contributing your changes": [[1, "contributing-your-changes"]], "Weekly meetings": [[1, "weekly-meetings"]], "Amaranth HDL documentation": [[2, "amaranth-hdl-documentation"]], "Language & toolchain": [[3, "language-toolchain"]], "Installation": [[4, "installation"]], "System requirements": [[4, "system-requirements"]], "Installing prerequisites": [[4, "installing-prerequisites"]], "Installing Amaranth": [[4, "installing-amaranth"]], "Latest release": [[4, "latest-release"]], "Development snapshot": [[4, "development-snapshot"]], "Editable development snapshot": [[4, "editable-development-snapshot"]], "Installing board definitions": [[4, "installing-board-definitions"]], "Todo": [[4, "id1"], [7, "id1"], [15, "id1"], [16, "id1"], [24, "id1"]], "Introduction": [[5, "introduction"], [21, "introduction"]], "The Amaranth language": [[5, "the-amaranth-language"]], "The Amaranth standard library": [[5, "the-amaranth-standard-library"]], "The Amaranth simulator": [[5, "the-amaranth-simulator"]], "The Amaranth build system": [[5, "the-amaranth-build-system"]], "FPGA toolchain integration": [[5, "fpga-toolchain-integration"]], "Development board definitions": [[5, "development-board-definitions"]], "Language guide": [[6, "language-guide"]], "The prelude": [[6, "the-prelude"]], "Shapes": [[6, "shapes"]], "Shapes of values": [[6, "shapes-of-values"]], "Values": [[6, "values"]], "Constants": [[6, "constants"]], "Shape casting": [[6, "shape-casting"]], "Shapes from integers": [[6, "shapes-from-integers"]], "Shapes from ranges": [[6, "shapes-from-ranges"]], "Shapes from enumerations": [[6, "shapes-from-enumerations"]], "Value casting": [[6, "value-casting"]], "Values from integers": [[6, "values-from-integers"]], "Values from enumeration members": [[6, "values-from-enumeration-members"]], "Constant casting": [[6, "constant-casting"]], "Signals": [[6, "signals"]], "Signal shapes": [[6, "signal-shapes"]], "Signal names": [[6, "signal-names"]], "Initial signal values": [[6, "initial-signal-values"]], "Reset-less signals": [[6, "reset-less-signals"]], "Data structures": [[6, "data-structures"], [21, "module-amaranth.lib.data"]], "Operators": [[6, "operators"]], "Performing or describing computations?": [[6, "performing-or-describing-computations"]], "Width extension": [[6, "width-extension"]], "Arithmetic operators": [[6, "arithmetic-operators"]], "Comparison operators": [[6, "comparison-operators"]], "Bitwise, shift, and rotate operators": [[6, "bitwise-shift-and-rotate-operators"]], "Reduction operators": [[6, "reduction-operators"]], "Logical operators": [[6, "logical-operators"]], "Bit sequence operators": [[6, "bit-sequence-operators"]], "Conversion operators": [[6, "conversion-operators"]], "Choice operator": [[6, "choice-operator"]], "Modules": [[6, "modules"]], "Control domains": [[6, "control-domains"]], "Assigning to signals": [[6, "assigning-to-signals"]], "Assignment targets": [[6, "assignment-targets"]], "Assignment domains": [[6, "assignment-domains"]], "Assignment order": [[6, "assignment-order"]], "Control structures": [[6, "control-structures"]], "Active and inactive assignments": [[6, "active-and-inactive-assignments"]], "Combinatorial evaluation": [[6, "combinatorial-evaluation"]], "Synchronous evaluation": [[6, "synchronous-evaluation"]], "Platform integration": [[7, "platform-integration"]], "Gowin": [[8, "gowin"]], "Intel": [[9, "intel"]], "Lattice ECP5": [[10, "lattice-ecp5"]], "Lattice iCE40": [[11, "lattice-ice40"]], "Lattice MachXO2 and MachXO3L": [[12, "lattice-machxo2-and-machxo3l"]], "Quicklogic": [[13, "quicklogic"]], "Xilinx": [[14, "xilinx"]], "Getting started": [[15, "getting-started"]], "A counter": [[15, "a-counter"]], "Implementing a counter": [[15, "implementing-a-counter"]], "Testing a counter": [[15, "testing-a-counter"]], "Converting a counter": [[15, "converting-a-counter"]], "A blinking LED": [[15, "a-blinking-led"]], "Standard library": [[16, "standard-library"]], "Clock domain crossing": [[17, "module-amaranth.lib.cdc"]], "Code conversion": [[18, "module-amaranth.lib.coding"]], "One-hot coding": [[18, "one-hot-coding"]], "Priority coding": [[18, "priority-coding"]], "Gray coding": [[18, "gray-coding"]], "Cyclic redundancy checks": [[19, "module-amaranth.lib.crc"]], "Predefined CRC Algorithms": [[20, "module-amaranth.lib.crc.catalog"]], "Overview": [[21, "overview"]], "Motivation": [[21, "motivation"]], "Composing layouts": [[21, "composing-layouts"]], "Defining layouts": [[21, "defining-layouts"]], "Discriminated unions": [[21, "discriminated-unions"]], "Modeling structured data": [[21, "modeling-structured-data"]], "Common data layouts": [[21, "common-data-layouts"]], "Data views": [[21, "data-views"]], "Creating a view": [[21, "creating-a-view"]], "Accessing a view": [[21, "accessing-a-view"]], "Custom view classes": [[21, "custom-view-classes"]], "Data classes": [[21, "data-classes"]], "Enumerations": [[22, "module-amaranth.lib.enum"]], "Metaclass": [[22, "metaclass"]], "Base classes": [[22, "base-classes"]], "First-in first-out queues": [[23, "module-amaranth.lib.fifo"]], "Tutorial": [[24, "tutorial"]]}, "indexentries": {"gowinplatform (class in amaranth.vendor)": [[8, "amaranth.vendor.GowinPlatform"]], "intelplatform (class in amaranth.vendor)": [[9, "amaranth.vendor.IntelPlatform"]], "latticeecp5platform (class in amaranth.vendor)": [[10, "amaranth.vendor.LatticeECP5Platform"]], "latticeice40platform (class in amaranth.vendor)": [[11, "amaranth.vendor.LatticeICE40Platform"]], "latticemachxo2or3lplatform (class in amaranth.vendor._lattice_machxo_2_3l)": [[12, "amaranth.vendor._lattice_machxo_2_3l.LatticeMachXO2Or3LPlatform"]], "latticemachxo2platform (in module amaranth.vendor)": [[12, "amaranth.vendor.LatticeMachXO2Platform"]], "latticemachxo3lplatform (in module amaranth.vendor)": [[12, "amaranth.vendor.LatticeMachXO3LPlatform"]], "quicklogicplatform (class in amaranth.vendor)": [[13, "amaranth.vendor.QuicklogicPlatform"]], "xilinxplatform (class in amaranth.vendor)": [[14, "amaranth.vendor.XilinxPlatform"]], "asyncffsynchronizer (class in amaranth.lib.cdc)": [[17, "amaranth.lib.cdc.AsyncFFSynchronizer"]], "ffsynchronizer (class in amaranth.lib.cdc)": [[17, "amaranth.lib.cdc.FFSynchronizer"]], "pulsesynchronizer (class in amaranth.lib.cdc)": [[17, "amaranth.lib.cdc.PulseSynchronizer"]], "resetsynchronizer (class in amaranth.lib.cdc)": [[17, "amaranth.lib.cdc.ResetSynchronizer"]], "amaranth.lib.cdc": [[17, "module-amaranth.lib.cdc"]], "module": [[17, "module-amaranth.lib.cdc"], [18, "module-amaranth.lib.coding"], [19, "module-amaranth.lib.crc"], [20, "module-amaranth.lib.crc.catalog"], [21, "module-amaranth.lib.data"], [22, "module-amaranth.lib.enum"], [23, "module-amaranth.lib.fifo"]], "decoder (class in amaranth.lib.coding)": [[18, "amaranth.lib.coding.Decoder"]], "encoder (class in amaranth.lib.coding)": [[18, "amaranth.lib.coding.Encoder"]], "graydecoder (class in amaranth.lib.coding)": [[18, "amaranth.lib.coding.GrayDecoder"]], "grayencoder (class in amaranth.lib.coding)": [[18, "amaranth.lib.coding.GrayEncoder"]], "prioritydecoder (class in amaranth.lib.coding)": [[18, "amaranth.lib.coding.PriorityDecoder"]], "priorityencoder (class in amaranth.lib.coding)": [[18, "amaranth.lib.coding.PriorityEncoder"]], "amaranth.lib.coding": [[18, "module-amaranth.lib.coding"]], "algorithm (class in amaranth.lib.crc)": [[19, "amaranth.lib.crc.Algorithm"]], "parameters (class in amaranth.lib.crc)": [[19, "amaranth.lib.crc.Parameters"]], "processor (class in amaranth.lib.crc)": [[19, "amaranth.lib.crc.Processor"]], "__call__() (amaranth.lib.crc.algorithm method)": [[19, "amaranth.lib.crc.Algorithm.__call__"]], "algorithm (amaranth.lib.crc.parameters property)": [[19, "amaranth.lib.crc.Parameters.algorithm"]], "amaranth.lib.crc": [[19, "module-amaranth.lib.crc"]], "compute() (amaranth.lib.crc.parameters method)": [[19, "amaranth.lib.crc.Parameters.compute"]], "create() (amaranth.lib.crc.parameters method)": [[19, "amaranth.lib.crc.Parameters.create"]], "residue() (amaranth.lib.crc.parameters method)": [[19, "amaranth.lib.crc.Parameters.residue"]], "crc10_atm (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC10_ATM"]], "crc10_cdma2000 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC10_CDMA2000"]], "crc10_gsm (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC10_GSM"]], "crc10_i_610 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC10_I_610"]], "crc11_flexray (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC11_FLEXRAY"]], "crc11_umts (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC11_UMTS"]], "crc12_3gpp (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC12_3GPP"]], "crc12_cdma2000 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC12_CDMA2000"]], "crc12_dect (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC12_DECT"]], "crc12_gsm (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC12_GSM"]], "crc12_umts (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC12_UMTS"]], "crc13_bbc (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC13_BBC"]], "crc14_darc (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC14_DARC"]], "crc14_gsm (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC14_GSM"]], "crc15_can (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC15_CAN"]], "crc15_mpt1327 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC15_MPT1327"]], "crc16_acorn (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_ACORN"]], "crc16_arc (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_ARC"]], "crc16_aug_ccitt (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_AUG_CCITT"]], "crc16_autosar (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_AUTOSAR"]], "crc16_bluetooth (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_BLUETOOTH"]], "crc16_buypass (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_BUYPASS"]], "crc16_ccitt (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_CCITT"]], "crc16_ccitt_false (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_CCITT_FALSE"]], "crc16_ccitt_true (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_CCITT_TRUE"]], "crc16_cdma2000 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_CDMA2000"]], "crc16_cms (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_CMS"]], "crc16_darc (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_DARC"]], "crc16_dds_110 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_DDS_110"]], "crc16_dect_r (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_DECT_R"]], "crc16_dect_x (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_DECT_X"]], "crc16_dnp (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_DNP"]], "crc16_en_13757 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_EN_13757"]], "crc16_epc (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_EPC"]], "crc16_epc_c1g2 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_EPC_C1G2"]], "crc16_genibus (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_GENIBUS"]], "crc16_gsm (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_GSM"]], "crc16_ibm (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_IBM"]], "crc16_ibm_3740 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_IBM_3740"]], "crc16_ibm_sdlc (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_IBM_SDLC"]], "crc16_iec_61158_2 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_IEC_61158_2"]], "crc16_iso_hdlc (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_ISO_HDLC"]], "crc16_iso_iec_14443_3_a (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_ISO_IEC_14443_3_A"]], "crc16_iso_iec_14443_3_b (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_ISO_IEC_14443_3_B"]], "crc16_i_code (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_I_CODE"]], "crc16_kermit (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_KERMIT"]], "crc16_lj1200 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_LJ1200"]], "crc16_lte (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_LTE"]], "crc16_m17 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_M17"]], "crc16_maxim (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_MAXIM"]], "crc16_maxim_dow (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_MAXIM_DOW"]], "crc16_mcrf4xx (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_MCRF4XX"]], "crc16_modbus (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_MODBUS"]], "crc16_nrsc_5 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_NRSC_5"]], "crc16_opensafety_a (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_OPENSAFETY_A"]], "crc16_opensafety_b (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_OPENSAFETY_B"]], "crc16_profibus (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_PROFIBUS"]], "crc16_riello (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_RIELLO"]], "crc16_spi_fujitsu (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_SPI_FUJITSU"]], "crc16_t10_dif (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_T10_DIF"]], "crc16_teledisk (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_TELEDISK"]], "crc16_tms37157 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_TMS37157"]], "crc16_umts (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_UMTS"]], "crc16_usb (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_USB"]], "crc16_verifone (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_VERIFONE"]], "crc16_v_41_lsb (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_V_41_LSB"]], "crc16_v_41_msb (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_V_41_MSB"]], "crc16_x25 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_X25"]], "crc16_xmodem (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_XMODEM"]], "crc16_zmodem (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_ZMODEM"]], "crc17_can_fd (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC17_CAN_FD"]], "crc21_can_fd (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC21_CAN_FD"]], "crc24_ble (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC24_BLE"]], "crc24_flexray_a (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC24_FLEXRAY_A"]], "crc24_flexray_b (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC24_FLEXRAY_B"]], "crc24_interlaken (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC24_INTERLAKEN"]], "crc24_lte_a (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC24_LTE_A"]], "crc24_lte_b (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC24_LTE_B"]], "crc24_openpgp (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC24_OPENPGP"]], "crc24_os_9 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC24_OS_9"]], "crc30_cdma (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC30_CDMA"]], "crc31_philips (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC31_PHILIPS"]], "crc32_aal5 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC32_AAL5"]], "crc32_adccp (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC32_ADCCP"]], "crc32_aixm (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC32_AIXM"]], "crc32_autosar (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC32_AUTOSAR"]], "crc32_base91_c (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC32_BASE91_C"]], "crc32_base91_d (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC32_BASE91_D"]], "crc32_bzip2 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC32_BZIP2"]], "crc32_castagnoli (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC32_CASTAGNOLI"]], "crc32_cd_rom_edc (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC32_CD_ROM_EDC"]], "crc32_cksum (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC32_CKSUM"]], "crc32_dect_b (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC32_DECT_B"]], "crc32_ethernet (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC32_ETHERNET"]], "crc32_interlaken (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC32_INTERLAKEN"]], "crc32_iscsi (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC32_ISCSI"]], "crc32_iso_hdlc (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC32_ISO_HDLC"]], "crc32_jamcrc (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC32_JAMCRC"]], "crc32_mef (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC32_MEF"]], "crc32_mpeg_2 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC32_MPEG_2"]], "crc32_pkzip (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC32_PKZIP"]], "crc32_posix (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC32_POSIX"]], "crc32_v_42 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC32_V_42"]], "crc32_xfer (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC32_XFER"]], "crc32_xz (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC32_XZ"]], "crc3_gsm (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC3_GSM"]], "crc3_rohc (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC3_ROHC"]], "crc40_gsm (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC40_GSM"]], "crc4_g_704 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC4_G_704"]], "crc4_interlaken (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC4_INTERLAKEN"]], "crc4_itu (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC4_ITU"]], "crc5_epc (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC5_EPC"]], "crc5_epc_c1g2 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC5_EPC_C1G2"]], "crc5_g_704 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC5_G_704"]], "crc5_itu (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC5_ITU"]], "crc5_usb (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC5_USB"]], "crc64_ecma (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC64_ECMA"]], "crc64_ecma_182 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC64_ECMA_182"]], "crc64_go_iso (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC64_GO_ISO"]], "crc64_ms (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC64_MS"]], "crc64_redis (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC64_REDIS"]], "crc64_we (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC64_WE"]], "crc64_xz (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC64_XZ"]], "crc6_cdma2000_a (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC6_CDMA2000_A"]], "crc6_cdma2000_b (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC6_CDMA2000_B"]], "crc6_darc (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC6_DARC"]], "crc6_gsm (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC6_GSM"]], "crc6_g_704 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC6_G_704"]], "crc6_itu (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC6_ITU"]], "crc7_mmc (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC7_MMC"]], "crc7_rohc (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC7_ROHC"]], "crc7_umts (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC7_UMTS"]], "crc82_darc (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC82_DARC"]], "crc8_aes (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC8_AES"]], "crc8_autosar (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC8_AUTOSAR"]], "crc8_bluetooth (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC8_BLUETOOTH"]], "crc8_cdma2000 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC8_CDMA2000"]], "crc8_darc (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC8_DARC"]], "crc8_dvb_s2 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC8_DVB_S2"]], "crc8_etu (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC8_ETU"]], "crc8_gsm_a (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC8_GSM_A"]], "crc8_gsm_b (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC8_GSM_B"]], "crc8_hitag (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC8_HITAG"]], "crc8_itu (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC8_ITU"]], "crc8_i_432_1 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC8_I_432_1"]], "crc8_i_code (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC8_I_CODE"]], "crc8_lte (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC8_LTE"]], "crc8_maxim (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC8_MAXIM"]], "crc8_maxim_dow (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC8_MAXIM_DOW"]], "crc8_mifare_mad (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC8_MIFARE_MAD"]], "crc8_nrsc_5 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC8_NRSC_5"]], "crc8_opensafety (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC8_OPENSAFETY"]], "crc8_rohc (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC8_ROHC"]], "crc8_sae_j1850 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC8_SAE_J1850"]], "crc8_smbus (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC8_SMBUS"]], "crc8_tech_3250 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC8_TECH_3250"]], "crc8_wcdma (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC8_WCDMA"]], "amaranth.lib.crc.catalog": [[20, "module-amaranth.lib.crc.catalog"]], "arraylayout (class in amaranth.lib.data)": [[21, "amaranth.lib.data.ArrayLayout"]], "field (class in amaranth.lib.data)": [[21, "amaranth.lib.data.Field"]], "flexiblelayout (class in amaranth.lib.data)": [[21, "amaranth.lib.data.FlexibleLayout"]], "layout (class in amaranth.lib.data)": [[21, "amaranth.lib.data.Layout"]], "struct (class in amaranth.lib.data)": [[21, "amaranth.lib.data.Struct"]], "structlayout (class in amaranth.lib.data)": [[21, "amaranth.lib.data.StructLayout"]], "union (class in amaranth.lib.data)": [[21, "amaranth.lib.data.Union"]], "unionlayout (class in amaranth.lib.data)": [[21, "amaranth.lib.data.UnionLayout"]], "view (class in amaranth.lib.data)": [[21, "amaranth.lib.data.View"]], "__call__() (amaranth.lib.data.layout method)": [[21, "amaranth.lib.data.Layout.__call__"]], "__eq__() (amaranth.lib.data.field method)": [[21, "amaranth.lib.data.Field.__eq__"]], "__eq__() (amaranth.lib.data.layout method)": [[21, "amaranth.lib.data.Layout.__eq__"]], "__getattr__() (amaranth.lib.data.view method)": [[21, "amaranth.lib.data.View.__getattr__"]], "__getitem__() (amaranth.lib.data.layout method)": [[21, "amaranth.lib.data.Layout.__getitem__"]], "__getitem__() (amaranth.lib.data.view method)": [[21, "amaranth.lib.data.View.__getitem__"]], "__iter__() (amaranth.lib.data.layout method)": [[21, "amaranth.lib.data.Layout.__iter__"]], "amaranth.lib.data": [[21, "module-amaranth.lib.data"]], "as_shape() (amaranth.lib.data.layout method)": [[21, "amaranth.lib.data.Layout.as_shape"]], "as_value() (amaranth.lib.data.view method)": [[21, "amaranth.lib.data.View.as_value"]], "cast() (amaranth.lib.data.layout static method)": [[21, "amaranth.lib.data.Layout.cast"]], "const() (amaranth.lib.data.layout method)": [[21, "amaranth.lib.data.Layout.const"]], "const() (amaranth.lib.data.unionlayout method)": [[21, "amaranth.lib.data.UnionLayout.const"]], "eq() (amaranth.lib.data.view method)": [[21, "amaranth.lib.data.View.eq"]], "shape() (amaranth.lib.data.view method)": [[21, "amaranth.lib.data.View.shape"]], "size (amaranth.lib.data.arraylayout property)": [[21, "amaranth.lib.data.ArrayLayout.size"]], "size (amaranth.lib.data.layout property)": [[21, "amaranth.lib.data.Layout.size"]], "size (amaranth.lib.data.structlayout property)": [[21, "amaranth.lib.data.StructLayout.size"]], "size (amaranth.lib.data.unionlayout property)": [[21, "amaranth.lib.data.UnionLayout.size"]], "width (amaranth.lib.data.field property)": [[21, "amaranth.lib.data.Field.width"]], "enum (class in amaranth.lib.enum)": [[22, "amaranth.lib.enum.Enum"]], "enummeta (class in amaranth.lib.enum)": [[22, "amaranth.lib.enum.EnumMeta"]], "flag (class in amaranth.lib.enum)": [[22, "amaranth.lib.enum.Flag"]], "intenum (class in amaranth.lib.enum)": [[22, "amaranth.lib.enum.IntEnum"]], "intflag (class in amaranth.lib.enum)": [[22, "amaranth.lib.enum.IntFlag"]], "amaranth.lib.enum": [[22, "module-amaranth.lib.enum"]], "as_shape() (amaranth.lib.enum.enummeta method)": [[22, "amaranth.lib.enum.EnumMeta.as_shape"]], "asyncfifo (class in amaranth.lib.fifo)": [[23, "amaranth.lib.fifo.AsyncFIFO"]], "asyncfifobuffered (class in amaranth.lib.fifo)": [[23, "amaranth.lib.fifo.AsyncFIFOBuffered"]], "fifointerface (class in amaranth.lib.fifo)": [[23, "amaranth.lib.fifo.FIFOInterface"]], "syncfifo (class in amaranth.lib.fifo)": [[23, "amaranth.lib.fifo.SyncFIFO"]], "syncfifobuffered (class in amaranth.lib.fifo)": [[23, "amaranth.lib.fifo.SyncFIFOBuffered"]], "amaranth.lib.fifo": [[23, "module-amaranth.lib.fifo"]]}}) \ No newline at end of file diff --git a/docs/amaranth/latest/start.html b/docs/amaranth/latest/start.html index d748f663..9fd9174d 100644 --- a/docs/amaranth/latest/start.html +++ b/docs/amaranth/latest/start.html @@ -4,7 +4,7 @@ - Getting started — Amaranth HDL toolchain 0.4.dev234 documentation + Getting started — Amaranth HDL toolchain 0.4.dev235 documentation @@ -15,7 +15,7 @@ - + @@ -38,7 +38,7 @@ Amaranth HDL toolchain
- 0.4.dev234+gabd74ea.editable + 0.4.dev235+g1b74c29.editable
diff --git a/docs/amaranth/latest/stdlib.html b/docs/amaranth/latest/stdlib.html index 7866d54b..907f3292 100644 --- a/docs/amaranth/latest/stdlib.html +++ b/docs/amaranth/latest/stdlib.html @@ -4,7 +4,7 @@ - Standard library — Amaranth HDL toolchain 0.4.dev234 documentation + Standard library — Amaranth HDL toolchain 0.4.dev235 documentation @@ -15,7 +15,7 @@ - + @@ -38,7 +38,7 @@ Amaranth HDL toolchain
- 0.4.dev234+gabd74ea.editable + 0.4.dev235+g1b74c29.editable
diff --git a/docs/amaranth/latest/stdlib/cdc.html b/docs/amaranth/latest/stdlib/cdc.html index 97a225dc..3b6bd223 100644 --- a/docs/amaranth/latest/stdlib/cdc.html +++ b/docs/amaranth/latest/stdlib/cdc.html @@ -4,7 +4,7 @@ - Clock domain crossing — Amaranth HDL toolchain 0.4.dev234 documentation + Clock domain crossing — Amaranth HDL toolchain 0.4.dev235 documentation @@ -15,7 +15,7 @@ - + @@ -38,7 +38,7 @@ Amaranth HDL toolchain
- 0.4.dev234+gabd74ea.editable + 0.4.dev235+g1b74c29.editable
diff --git a/docs/amaranth/latest/stdlib/coding.html b/docs/amaranth/latest/stdlib/coding.html index 54a82089..ea7e5b41 100644 --- a/docs/amaranth/latest/stdlib/coding.html +++ b/docs/amaranth/latest/stdlib/coding.html @@ -4,7 +4,7 @@ - Code conversion — Amaranth HDL toolchain 0.4.dev234 documentation + Code conversion — Amaranth HDL toolchain 0.4.dev235 documentation @@ -15,7 +15,7 @@ - + @@ -38,7 +38,7 @@ Amaranth HDL toolchain
- 0.4.dev234+gabd74ea.editable + 0.4.dev235+g1b74c29.editable
diff --git a/docs/amaranth/latest/stdlib/crc.html b/docs/amaranth/latest/stdlib/crc.html index b549c543..797fcf5e 100644 --- a/docs/amaranth/latest/stdlib/crc.html +++ b/docs/amaranth/latest/stdlib/crc.html @@ -4,7 +4,7 @@ - Cyclic redundancy checks — Amaranth HDL toolchain 0.4.dev234 documentation + Cyclic redundancy checks — Amaranth HDL toolchain 0.4.dev235 documentation @@ -15,7 +15,7 @@ - + @@ -38,7 +38,7 @@ Amaranth HDL toolchain
- 0.4.dev234+gabd74ea.editable + 0.4.dev235+g1b74c29.editable
diff --git a/docs/amaranth/latest/stdlib/crc/catalog.html b/docs/amaranth/latest/stdlib/crc/catalog.html index 8e431899..d0d4bf94 100644 --- a/docs/amaranth/latest/stdlib/crc/catalog.html +++ b/docs/amaranth/latest/stdlib/crc/catalog.html @@ -4,7 +4,7 @@ - Predefined CRC Algorithms — Amaranth HDL toolchain 0.4.dev234 documentation + Predefined CRC Algorithms — Amaranth HDL toolchain 0.4.dev235 documentation @@ -15,7 +15,7 @@ - + @@ -38,7 +38,7 @@ Amaranth HDL toolchain
- 0.4.dev234+gabd74ea.editable + 0.4.dev235+g1b74c29.editable
diff --git a/docs/amaranth/latest/stdlib/data.html b/docs/amaranth/latest/stdlib/data.html index 1d834daa..d05eb210 100644 --- a/docs/amaranth/latest/stdlib/data.html +++ b/docs/amaranth/latest/stdlib/data.html @@ -4,7 +4,7 @@ - Data structures — Amaranth HDL toolchain 0.4.dev234 documentation + Data structures — Amaranth HDL toolchain 0.4.dev235 documentation @@ -15,7 +15,7 @@ - + @@ -38,7 +38,7 @@ Amaranth HDL toolchain
- 0.4.dev234+gabd74ea.editable + 0.4.dev235+g1b74c29.editable
diff --git a/docs/amaranth/latest/stdlib/enum.html b/docs/amaranth/latest/stdlib/enum.html index fb7af90c..46c1f4d1 100644 --- a/docs/amaranth/latest/stdlib/enum.html +++ b/docs/amaranth/latest/stdlib/enum.html @@ -4,7 +4,7 @@ - Enumerations — Amaranth HDL toolchain 0.4.dev234 documentation + Enumerations — Amaranth HDL toolchain 0.4.dev235 documentation @@ -15,7 +15,7 @@ - + @@ -38,7 +38,7 @@ Amaranth HDL toolchain
- 0.4.dev234+gabd74ea.editable + 0.4.dev235+g1b74c29.editable
diff --git a/docs/amaranth/latest/stdlib/fifo.html b/docs/amaranth/latest/stdlib/fifo.html index 6b6b7940..f82609a6 100644 --- a/docs/amaranth/latest/stdlib/fifo.html +++ b/docs/amaranth/latest/stdlib/fifo.html @@ -4,7 +4,7 @@ - First-in first-out queues — Amaranth HDL toolchain 0.4.dev234 documentation + First-in first-out queues — Amaranth HDL toolchain 0.4.dev235 documentation @@ -15,7 +15,7 @@ - + @@ -38,7 +38,7 @@ Amaranth HDL toolchain
- 0.4.dev234+gabd74ea.editable + 0.4.dev235+g1b74c29.editable
diff --git a/docs/amaranth/latest/tutorial.html b/docs/amaranth/latest/tutorial.html index 3353ed14..44040151 100644 --- a/docs/amaranth/latest/tutorial.html +++ b/docs/amaranth/latest/tutorial.html @@ -4,7 +4,7 @@ - Tutorial — Amaranth HDL toolchain 0.4.dev234 documentation + Tutorial — Amaranth HDL toolchain 0.4.dev235 documentation @@ -15,7 +15,7 @@ - + @@ -38,7 +38,7 @@ Amaranth HDL toolchain
- 0.4.dev234+gabd74ea.editable + 0.4.dev235+g1b74c29.editable