diff --git a/docs/amaranth/latest/_static/documentation_options.js b/docs/amaranth/latest/_static/documentation_options.js index 3b6c3e49..88ac13f0 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.6.0.dev67', + VERSION: '0.6.0.dev68', LANGUAGE: 'en', COLLAPSE_INDEX: false, BUILDER: 'html', diff --git a/docs/amaranth/latest/changes.html b/docs/amaranth/latest/changes.html index 9f6e443f..ceda3148 100644 --- a/docs/amaranth/latest/changes.html +++ b/docs/amaranth/latest/changes.html @@ -4,7 +4,7 @@ - Changelog — Amaranth language & toolchain 0.6.0.dev67 documentation + Changelog — Amaranth language & toolchain 0.6.0.dev68 documentation @@ -17,7 +17,7 @@ - + @@ -41,7 +41,7 @@
- 0.6.0.dev67 + 0.6.0.dev68
diff --git a/docs/amaranth/latest/contrib.html b/docs/amaranth/latest/contrib.html index 4516cca8..87a3f70c 100644 --- a/docs/amaranth/latest/contrib.html +++ b/docs/amaranth/latest/contrib.html @@ -4,7 +4,7 @@ - Contributing — Amaranth language & toolchain 0.6.0.dev67 documentation + Contributing — Amaranth language & toolchain 0.6.0.dev68 documentation @@ -17,7 +17,7 @@ - + @@ -40,7 +40,7 @@
- 0.6.0.dev67 + 0.6.0.dev68
diff --git a/docs/amaranth/latest/cover.html b/docs/amaranth/latest/cover.html index 8bb2ba38..01399406 100644 --- a/docs/amaranth/latest/cover.html +++ b/docs/amaranth/latest/cover.html @@ -4,7 +4,7 @@ - Amaranth project documentation — Amaranth language & toolchain 0.6.0.dev67 documentation + Amaranth project documentation — Amaranth language & toolchain 0.6.0.dev68 documentation @@ -17,7 +17,7 @@ - + @@ -40,7 +40,7 @@
- 0.6.0.dev67 + 0.6.0.dev68
diff --git a/docs/amaranth/latest/genindex.html b/docs/amaranth/latest/genindex.html index a4901a48..d10fca5b 100644 --- a/docs/amaranth/latest/genindex.html +++ b/docs/amaranth/latest/genindex.html @@ -3,7 +3,7 @@ - Index — Amaranth language & toolchain 0.6.0.dev67 documentation + Index — Amaranth language & toolchain 0.6.0.dev68 documentation @@ -16,7 +16,7 @@ - + @@ -38,7 +38,7 @@
- 0.6.0.dev67 + 0.6.0.dev68
diff --git a/docs/amaranth/latest/guide.html b/docs/amaranth/latest/guide.html index 1f24842d..a1d209cf 100644 --- a/docs/amaranth/latest/guide.html +++ b/docs/amaranth/latest/guide.html @@ -4,7 +4,7 @@ - Language guide — Amaranth language & toolchain 0.6.0.dev67 documentation + Language guide — Amaranth language & toolchain 0.6.0.dev68 documentation @@ -17,7 +17,7 @@ - + @@ -41,7 +41,7 @@
- 0.6.0.dev67 + 0.6.0.dev68
diff --git a/docs/amaranth/latest/index.html b/docs/amaranth/latest/index.html index 359773a7..d60388bb 100644 --- a/docs/amaranth/latest/index.html +++ b/docs/amaranth/latest/index.html @@ -4,7 +4,7 @@ - Language & toolchain — Amaranth language & toolchain 0.6.0.dev67 documentation + Language & toolchain — Amaranth language & toolchain 0.6.0.dev68 documentation @@ -17,7 +17,7 @@ - + @@ -41,7 +41,7 @@
- 0.6.0.dev67 + 0.6.0.dev68
diff --git a/docs/amaranth/latest/install.html b/docs/amaranth/latest/install.html index f8b95d16..37cdaaa6 100644 --- a/docs/amaranth/latest/install.html +++ b/docs/amaranth/latest/install.html @@ -4,7 +4,7 @@ - Installation — Amaranth language & toolchain 0.6.0.dev67 documentation + Installation — Amaranth language & toolchain 0.6.0.dev68 documentation @@ -17,7 +17,7 @@ - + @@ -41,7 +41,7 @@
- 0.6.0.dev67 + 0.6.0.dev68
diff --git a/docs/amaranth/latest/intro.html b/docs/amaranth/latest/intro.html index 4e8956eb..5d41e03c 100644 --- a/docs/amaranth/latest/intro.html +++ b/docs/amaranth/latest/intro.html @@ -4,7 +4,7 @@ - Introduction — Amaranth language & toolchain 0.6.0.dev67 documentation + Introduction — Amaranth language & toolchain 0.6.0.dev68 documentation @@ -17,7 +17,7 @@ - + @@ -41,7 +41,7 @@
- 0.6.0.dev67 + 0.6.0.dev68
diff --git a/docs/amaranth/latest/objects.inv b/docs/amaranth/latest/objects.inv index e5c3fdb6..e8adca6b 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 87d9ed35..3c34b4b8 100644 --- a/docs/amaranth/latest/platform.html +++ b/docs/amaranth/latest/platform.html @@ -4,7 +4,7 @@ - Platform integration — Amaranth language & toolchain 0.6.0.dev67 documentation + Platform integration — Amaranth language & toolchain 0.6.0.dev68 documentation @@ -17,7 +17,7 @@ - + @@ -41,7 +41,7 @@
- 0.6.0.dev67 + 0.6.0.dev68
diff --git a/docs/amaranth/latest/platform/altera.html b/docs/amaranth/latest/platform/altera.html index 5b35f416..a476afec 100644 --- a/docs/amaranth/latest/platform/altera.html +++ b/docs/amaranth/latest/platform/altera.html @@ -4,7 +4,7 @@ - Altera — Amaranth language & toolchain 0.6.0.dev67 documentation + Altera — Amaranth language & toolchain 0.6.0.dev68 documentation @@ -17,7 +17,7 @@ - + @@ -41,7 +41,7 @@
- 0.6.0.dev67 + 0.6.0.dev68
diff --git a/docs/amaranth/latest/platform/gowin.html b/docs/amaranth/latest/platform/gowin.html index ec983e72..6b4f0be4 100644 --- a/docs/amaranth/latest/platform/gowin.html +++ b/docs/amaranth/latest/platform/gowin.html @@ -4,7 +4,7 @@ - Gowin — Amaranth language & toolchain 0.6.0.dev67 documentation + Gowin — Amaranth language & toolchain 0.6.0.dev68 documentation @@ -17,7 +17,7 @@ - + @@ -41,7 +41,7 @@
- 0.6.0.dev67 + 0.6.0.dev68
@@ -126,6 +126,10 @@

Gowin

The environment is populated by running the script specified in the environment variable AMARANTH_ENV_APICULA, if present.

+
Available overrides:
    +
  • add_preferences: inserts commands at the end of the CST file.

  • +
+
Build products:
  • {{name}}.fs: binary bitstream.

@@ -141,6 +145,10 @@

Gowin

The environment is populated by running the script specified in the environment variable AMARANTH_ENV_GOWIN, if present.

+
Available overrides:
    +
  • add_preferences: inserts commands at the end of the CST file.

  • +
+
Build products:
  • {{name}}.fs: binary bitstream.

diff --git a/docs/amaranth/latest/platform/lattice.html b/docs/amaranth/latest/platform/lattice.html index a5f65066..1f213199 100644 --- a/docs/amaranth/latest/platform/lattice.html +++ b/docs/amaranth/latest/platform/lattice.html @@ -4,7 +4,7 @@ - Lattice — Amaranth language & toolchain 0.6.0.dev67 documentation + Lattice — Amaranth language & toolchain 0.6.0.dev68 documentation @@ -17,7 +17,7 @@ - + @@ -41,7 +41,7 @@
- 0.6.0.dev67 + 0.6.0.dev68
diff --git a/docs/amaranth/latest/platform/quicklogic.html b/docs/amaranth/latest/platform/quicklogic.html index 50ac30d9..79e9f15c 100644 --- a/docs/amaranth/latest/platform/quicklogic.html +++ b/docs/amaranth/latest/platform/quicklogic.html @@ -4,7 +4,7 @@ - Quicklogic — Amaranth language & toolchain 0.6.0.dev67 documentation + Quicklogic — Amaranth language & toolchain 0.6.0.dev68 documentation @@ -17,7 +17,7 @@ - + @@ -41,7 +41,7 @@
- 0.6.0.dev67 + 0.6.0.dev68
diff --git a/docs/amaranth/latest/platform/siliconblue.html b/docs/amaranth/latest/platform/siliconblue.html index 66c4dd0d..097b2424 100644 --- a/docs/amaranth/latest/platform/siliconblue.html +++ b/docs/amaranth/latest/platform/siliconblue.html @@ -4,7 +4,7 @@ - SiliconBlue — Amaranth language & toolchain 0.6.0.dev67 documentation + SiliconBlue — Amaranth language & toolchain 0.6.0.dev68 documentation @@ -17,7 +17,7 @@ - + @@ -41,7 +41,7 @@
- 0.6.0.dev67 + 0.6.0.dev68
diff --git a/docs/amaranth/latest/platform/xilinx.html b/docs/amaranth/latest/platform/xilinx.html index 76084194..f712e1a7 100644 --- a/docs/amaranth/latest/platform/xilinx.html +++ b/docs/amaranth/latest/platform/xilinx.html @@ -4,7 +4,7 @@ - Xilinx — Amaranth language & toolchain 0.6.0.dev67 documentation + Xilinx — Amaranth language & toolchain 0.6.0.dev68 documentation @@ -17,7 +17,7 @@ - + @@ -41,7 +41,7 @@
- 0.6.0.dev67 + 0.6.0.dev68
diff --git a/docs/amaranth/latest/py-modindex.html b/docs/amaranth/latest/py-modindex.html index 0f35d9fe..7a5d5bd6 100644 --- a/docs/amaranth/latest/py-modindex.html +++ b/docs/amaranth/latest/py-modindex.html @@ -3,7 +3,7 @@ - Python Module Index — Amaranth language & toolchain 0.6.0.dev67 documentation + Python Module Index — Amaranth language & toolchain 0.6.0.dev68 documentation @@ -16,7 +16,7 @@ - + @@ -41,7 +41,7 @@
- 0.6.0.dev67 + 0.6.0.dev68
diff --git a/docs/amaranth/latest/reference.html b/docs/amaranth/latest/reference.html index a627df92..4f6c715c 100644 --- a/docs/amaranth/latest/reference.html +++ b/docs/amaranth/latest/reference.html @@ -4,7 +4,7 @@ - Language reference — Amaranth language & toolchain 0.6.0.dev67 documentation + Language reference — Amaranth language & toolchain 0.6.0.dev68 documentation @@ -17,7 +17,7 @@ - + @@ -41,7 +41,7 @@
- 0.6.0.dev67 + 0.6.0.dev68
diff --git a/docs/amaranth/latest/search.html b/docs/amaranth/latest/search.html index 8588e668..9663e08c 100644 --- a/docs/amaranth/latest/search.html +++ b/docs/amaranth/latest/search.html @@ -3,7 +3,7 @@ - Search — Amaranth language & toolchain 0.6.0.dev67 documentation + Search — Amaranth language & toolchain 0.6.0.dev68 documentation @@ -17,7 +17,7 @@ - + @@ -41,7 +41,7 @@
- 0.6.0.dev67 + 0.6.0.dev68
diff --git a/docs/amaranth/latest/searchindex.js b/docs/amaranth/latest/searchindex.js index eeedd4e8..0807777f 100644 --- a/docs/amaranth/latest/searchindex.js +++ b/docs/amaranth/latest/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["changes", "contrib", "cover", "guide", "index", "install", "intro", "platform", "platform/altera", "platform/gowin", "platform/lattice", "platform/quicklogic", "platform/siliconblue", "platform/xilinx", "reference", "simulator", "start", "stdlib", "stdlib/cdc", "stdlib/crc", "stdlib/crc/catalog", "stdlib/data", "stdlib/enum", "stdlib/fifo", "stdlib/io", "stdlib/memory", "stdlib/meta", "stdlib/stream", "stdlib/wiring", "tutorial"], "filenames": ["changes.rst", "contrib.rst", "cover.rst", "guide.rst", "index.rst", "install.rst", "intro.rst", "platform.rst", "platform/altera.rst", "platform/gowin.rst", "platform/lattice.rst", "platform/quicklogic.rst", "platform/siliconblue.rst", "platform/xilinx.rst", "reference.rst", "simulator.rst", "start.rst", "stdlib.rst", "stdlib/cdc.rst", "stdlib/crc.rst", "stdlib/crc/catalog.rst", "stdlib/data.rst", "stdlib/enum.rst", "stdlib/fifo.rst", "stdlib/io.rst", "stdlib/memory.rst", "stdlib/meta.rst", "stdlib/stream.rst", "stdlib/wiring.rst", "tutorial.rst"], "titles": ["Changelog", "Contributing", "Amaranth project documentation", "Language guide", "Language & toolchain", "Installation", "Introduction", "Platform integration", "Altera", "Gowin", "Lattice", "Quicklogic", "SiliconBlue", "Xilinx", "Language reference", "Simulator", "Getting started", "Standard library", "Clock domain crossing", "Cyclic redundancy checks", "Algorithm catalog", "Data structures", "Enumerations", "First-in first-out queues", "Input/output buffers", "Memory arrays", "Interface metadata", "Data streams", "Interfaces and connections", "Tutorial"], "terms": {"thi": [0, 1, 3, 4, 6, 7, 12, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28], "describ": [0, 1, 14, 15, 16, 17, 21, 25, 26, 28], "public": [0, 1, 14, 17, 28], "interfac": [0, 1, 3, 4, 6, 14, 15, 16, 17, 21, 23, 24, 25, 27], "amaranth": [0, 1, 3, 4, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29], "It": [0, 1, 3, 5, 6, 14, 15, 16, 19, 21, 22, 24, 25, 28], "doe": [0, 1, 3, 6, 14, 15, 18, 21, 23, 24, 25, 26, 27, 28], "includ": [0, 1, 3, 5, 6, 10, 14, 16, 17, 19, 22, 24, 25, 27, 28], "most": [0, 1, 3, 5, 6, 14, 15, 16, 18, 19, 21, 22, 24, 25, 27, 28], "bug": [0, 1, 3, 5, 6], "fix": [0, 3, 4, 5, 16, 19, 25, 28], "which": [0, 1, 3, 6, 10, 12, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28], "do": [0, 1, 3, 14, 15, 16, 21, 25, 27, 28], "notabl": [0, 5], "ar": [0, 1, 3, 5, 6, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28], "list": [0, 1, 3, 14, 15, 19, 21, 25, 26, 28], "here": [0, 1, 14, 21, 27], "i": [0, 1, 2, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29], "avail": [0, 1, 5, 8, 10, 11, 12, 13, 15, 16, 19, 23, 24, 26, 27, 28], "onlin": 0, "66": 0, "simul": [0, 3, 4, 5, 14, 16, 17, 27], "time": [0, 1, 3, 5, 6, 12, 14, 15, 16, 18, 21, 23, 24, 25, 27, 28], "71": 0, "enumview": [0, 22, 28], "match": [0, 6, 14, 15, 22, 24, 25, 28], "ad": [0, 1, 3, 5, 6, 15, 16, 21, 24, 25, 28], "period": [0, 15, 16, 24, 27], "repres": [0, 3, 14, 24], "overrid": [0, 8, 10, 11, 12, 13, 14, 18, 21, 25, 28], "valuecast": [0, 3, 14, 15, 21], "from_bit": [0, 14, 15, 21], "now": [0, 3, 28], "mandatori": 0, "51": 0, "deprec": 0, "local": [0, 25], "argument": [0, 1, 3, 14, 15, 22, 28], "clockdomain": [0, 3, 14, 15, 24], "59": 0, "remov": [0, 1, 3, 14, 15, 19, 28], "record": [0, 1, 16], "memori": [0, 4, 6, 14, 15, 16, 17, 23, 26, 28], "45": 0, "submodul": [0, 15, 19, 24, 25, 27, 28], "hdl": [0, 3, 5, 6, 14, 16, 21, 24, 25, 29], "valu": [0, 1, 4, 15, 16, 18, 19, 21, 22, 24, 25, 26, 28], "impli": [0, 3], "const": [0, 3, 14, 15, 21, 22, 25, 27, 28], "width": [0, 14, 19, 21, 23, 24, 25, 26, 27, 28], "sign": [0, 1, 3, 14, 21, 26, 27], "signal": [0, 4, 6, 14, 15, 16, 18, 19, 21, 22, 23, 24, 25, 27, 28], "upward": 0, "propag": [0, 14, 15], "clock": [0, 4, 6, 15, 16, 17, 19, 23, 25, 27], "domain": [0, 4, 6, 14, 15, 16, 17, 23, 24, 25, 26, 27, 28], "util": [0, 14, 17], "log2_int": 0, "17": [0, 1, 15, 20, 22, 27], "payload_init": [0, 27], "lib": [0, 3, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28], "stream": [0, 4, 17, 19, 24, 28], "signatur": [0, 1, 17, 24, 25, 26, 27], "enum": [0, 3, 14, 17, 21, 22, 28], "provid": [0, 3, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28], "io": [0, 3, 24], "portlik": [0, 24], "__add__": [0, 14, 24, 28], "69": 0, "code": [0, 1, 3, 4, 5, 6, 14, 16, 17, 19, 21, 26, 28], "63": 0, "simulatorcontext": [0, 15], "elapsed_tim": [0, 15], "get": [0, 3, 4, 5, 6, 15, 21, 24, 25], "elaps": [0, 15], "default_clk_period": [0, 16], "add_clock": [0, 15, 16, 24, 27], "accept": [0, 1, 3, 14, 15, 21, 22, 24, 27, 28], "phase": [0, 3, 15, 24], "run_until": [0, 15], "deadlin": [0, 15], "delai": [0, 1, 15, 18, 23, 24], "interv": [0, 15], "resourcemanag": 0, "add_clock_constraint": 0, "return": [0, 1, 3, 14, 15, 16, 19, 21, 22, 24, 25, 26, 27, 28], "pass": [0, 3, 15, 22, 24, 26, 28], "float": [0, 18, 21], "second": [0, 1, 3, 14, 15, 18, 21, 27], "hertz": [0, 16], "ani": [0, 1, 3, 5, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28], "method": [0, 1, 3, 14, 15, 16, 18, 19, 21, 22, 25, 26, 28], "frequenc": [0, 3, 16, 18, 24], "default_clk_frequ": 0, "gowin": [0, 4, 5, 7], "us": [0, 1, 3, 5, 6, 8, 10, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29], "nextpnr": [0, 8, 9, 10, 12, 13], "himbaechel": [0, 9], "rather": [0, 1, 3, 15, 21, 24, 28], "than": [0, 1, 3, 5, 6, 14, 15, 18, 21, 22, 24, 25, 28], "individu": [0, 1, 14, 15, 21, 24, 27], "bit": [0, 5, 10, 13, 14, 15, 16, 19, 21, 22, 23, 24, 25, 27], "same": [0, 1, 3, 6, 14, 15, 16, 19, 21, 22, 23, 24, 25, 27, 28], "can": [0, 1, 3, 5, 6, 14, 15, 16, 19, 21, 22, 23, 24, 25, 26, 27, 28], "assign": [0, 1, 14, 15, 16, 21, 22, 25, 28], "differ": [0, 1, 3, 6, 15, 17, 18, 21, 23, 24, 25, 26, 28], "modul": [0, 1, 4, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28], "constant": [0, 4, 14, 22, 27], "data": [0, 4, 14, 15, 17, 18, 19, 23, 24, 25, 26, 28], "arraylayout": [0, 3, 21, 24, 25], "index": [0, 1, 3, 14, 21, 24, 25, 27, 28], "neg": [0, 3, 14, 15, 18, 24], "integ": [0, 14, 21, 22, 25, 26, 28], "slice": [0, 3, 14, 15, 21, 24], "len": [0, 3, 14, 21, 24, 25], "work": [0, 3, 4, 5, 6, 10, 14, 15, 16, 21, 27, 28], "iter": [0, 1, 3, 15, 19, 21, 24, 25, 28], "request": [0, 1, 3, 14, 16, 17, 24, 25, 27, 28], "dir": [0, 24, 26], "resourc": [0, 25], "subsign": 0, "add": [0, 1, 3, 6, 8, 10, 12, 13, 14, 15, 19, 21, 22, 27, 28], "object": [0, 3, 8, 14, 15, 19, 21, 24, 25, 26, 27, 28], "usabl": [0, 1, 6, 28], "view": [0, 1, 3, 17], "simulationport": [0, 24], "The": [0, 1, 4, 5, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29], "migen": 0, "compat": [0, 4, 5, 17, 24, 26, 27], "layer": 0, "ha": [0, 1, 3, 6, 14, 15, 16, 19, 21, 22, 23, 24, 25, 27, 28], "been": [0, 3, 5, 14, 15, 17, 19, 23], "appli": [0, 3, 19, 21, 22, 24, 27], "follow": [0, 1, 3, 5, 6, 10, 14, 15, 16, 18, 19, 21, 24, 25, 27, 28, 29], "written": [0, 3, 6, 16, 23, 25, 28, 29], "against": [0, 3, 14, 22, 26, 28], "updat": [0, 1, 3, 5, 15, 16, 19, 24, 25, 28], "reset": [0, 6, 15, 16, 18, 19, 23, 24, 28], "keyword": [0, 3, 14, 22, 26, 28], "init": [0, 3, 14, 15, 18, 19, 21, 24, 25, 26, 28], "ensur": [0, 3, 14, 22, 24, 26, 27, 28], "all": [0, 1, 3, 5, 6, 8, 14, 15, 16, 17, 19, 21, 22, 24, 25, 26, 28], "elaborat": [0, 3, 14, 15, 16, 24, 25, 28], "subclass": [0, 3, 14, 21, 22, 26, 28], "replac": [0, 4, 14, 22, 27, 28], "m": [0, 3, 14, 15, 16, 19, 21, 24, 25, 26, 27, 28], "case": [0, 14, 15, 16, 19, 21, 23, 25, 26, 28], "pattern": [0, 3, 14, 21, 22], "default": [0, 3, 13, 14, 15, 18, 24, 25, 28], "aren": 0, "t": [0, 1, 3, 14, 21, 25, 26, 27, 28], "outsid": [0, 3, 24, 28], "defin": [0, 3, 6, 14, 15, 16, 17, 18, 19, 22, 24, 25, 27, 28], "them": [0, 1, 3, 14, 15, 16, 21, 24, 28], "its": [0, 1, 3, 14, 15, 16, 18, 19, 21, 22, 24, 25, 26, 27, 28], "move": 0, "definit": [0, 3, 4, 16, 26, 28], "hierarchi": [0, 3, 21, 26], "necessari": [0, 1, 3, 5, 6, 12, 14, 15, 16, 17, 21, 26, 27, 28], "import": [0, 1, 3, 4, 15, 16, 19, 21, 22, 24, 25, 27, 28], "assert": [0, 4, 14, 15, 16, 18, 19, 23, 24, 25, 27, 28], "assum": [0, 3, 14, 15, 24, 25], "cover": [0, 3, 6, 14, 26, 28], "name": [0, 1, 6, 8, 9, 10, 12, 13, 14, 15, 18, 21, 24, 25, 26, 28], "messag": [0, 1, 3, 8, 10, 12, 14, 16, 25, 28], "instead": [0, 3, 14, 15, 21, 25, 26, 27, 28], "buffer": [0, 4, 6, 17, 23], "inlin": [0, 1], "copi": [0, 1, 27, 28], "convert": [0, 3, 6, 14, 15, 21, 24, 25, 26, 27, 28], "add_sync_process": 0, "testbench": [0, 15, 16, 25], "add_testbench": [0, 15, 16, 24, 27], "other": [0, 1, 3, 5, 6, 14, 15, 16, 18, 19, 21, 22, 24, 26, 27, 28], "add_process": [0, 15], "process": [0, 1, 3, 6, 14, 15, 17, 19, 21, 27, 28], "new": [0, 3, 4, 5, 6, 15, 19, 21, 23, 24, 25, 28], "async": [0, 15, 16, 24, 25, 27], "api": [0, 5], "explicit": [0, 3, 6, 14, 19], "take": [0, 1, 3, 6, 14, 15, 19, 28], "account": [0, 3, 28], "longer": 0, "implicit": [0, 3, 19], "previous": [0, 26, 28], "wa": [0, 3, 15, 19, 21, 28], "first": [0, 1, 3, 4, 5, 6, 14, 15, 16, 17, 18, 19, 21, 24, 27, 28], "toggl": [0, 15], "actual": [0, 1, 22, 28], "run_pass": 0, "true": [0, 3, 14, 15, 16, 18, 19, 20, 22, 24, 25, 27, 28], "If": [0, 1, 5, 14, 15, 16, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28], "fals": [0, 3, 14, 15, 18, 19, 20, 23, 24, 26, 27, 28], "still": [0, 3, 15, 16, 18, 28, 29], "behavior": [0, 1, 3, 6, 14, 15, 16, 17, 21, 25, 28], "need_pow2": 0, "ceil_log2": [0, 25], "exact_log2": 0, "b": [0, 3, 15, 19, 22, 24, 25, 26, 28], "27": 0, "30": [0, 16, 20], "compon": [0, 1, 2, 3, 6, 15, 16, 17, 21, 24, 26, 27], "metadata": [0, 4, 13, 17], "36": [0, 16], "function": [0, 3, 5, 6, 14, 15, 16, 17, 19, 21, 25, 27, 28], "39": [0, 16], "semant": [0, 1, 3, 6, 14, 28], "42": [0, 16], "shape": [0, 1, 4, 15, 21, 22, 25, 27, 28], "castabl": [0, 3, 14, 21, 22, 25, 27, 28], "43": 0, "renam": 0, "46": 0, "cast": [0, 4, 14, 21, 22, 28], "rang": [0, 14, 15, 16, 21, 23, 24, 27, 28], "unsign": [0, 3, 14, 21, 22, 25, 26, 28], "50": [0, 15], "print": [0, 1, 4, 14, 28], "statement": [0, 3, 14, 15, 22, 28], "string": [0, 3, 14, 15, 21, 24, 26, 28], "format": [0, 1, 3, 14, 21, 26], "shapecast": [0, 3, 14, 15, 21, 22, 25], "53": 0, "low": [0, 3, 6, 15, 21, 24, 27], "level": [0, 1, 3, 6, 14, 15, 16, 21, 23, 24, 28], "o": [0, 2, 4, 6, 13, 15, 16, 18, 24, 26], "primit": [0, 3, 6, 25, 26], "55": 0, "58": [0, 3], "core": [0, 3, 6, 8, 24, 28], "support": [0, 1, 3, 5, 6, 8, 9, 10, 11, 12, 13, 14, 16, 18, 21, 23, 24, 25, 27], "rid": 0, "61": [0, 27], "minim": [0, 1, 14, 16, 27], "62": 0, "memorydata": [0, 15, 25], "class": [0, 1, 3, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 23, 24, 25, 26, 27, 28], "65": 0, "special": [0, 3, 6, 19, 24, 25, 28], "structur": [0, 1, 4, 14, 16, 17, 26, 28], "have": [0, 1, 3, 5, 14, 15, 17, 21, 24, 25, 26, 28], "made": [0, 3, 5, 25, 28], "ioport": [0, 3, 24], "iobufferinst": [0, 3, 24], "never": [0, 3, 15, 21, 22, 25, 28], "activ": [0, 6, 15, 25], "alwai": [0, 1, 3, 6, 14, 15, 16, 18, 19, 24, 25, 28], "stop": [0, 3, 15], "warn": [0, 1, 14, 17], "hard": [0, 1, 6, 15, 21], "error": [0, 1, 3, 6, 8, 10, 12, 15, 19, 21, 28], "trigger": [0, 15, 25], "out": [0, 4, 5, 6, 14, 15, 16, 17, 18, 19, 24, 26, 27, 28], "valid": [0, 14, 18, 19, 21, 23, 24, 26, 27, 28], "without": [0, 1, 3, 5, 6, 14, 15, 17, 19, 21, 25, 27, 28], "like": [0, 1, 3, 5, 6, 14, 15, 18, 21, 22, 24, 25, 28], "wire": [0, 3, 15, 16, 17, 24, 25, 26, 27, 28], "member": [0, 1, 14, 21, 22, 24, 25, 26, 27, 28], "cdc": [0, 3, 6, 17, 18], "ffsynchron": [0, 17, 18], "fsm": 0, "immut": [0, 3, 15, 21, 28], "hashabl": [0, 14], "instanc": [0, 4, 10, 14, 21, 22, 24, 26, 28], "port": [0, 16, 17, 26, 28], "onli": [0, 1, 3, 5, 6, 10, 14, 15, 16, 18, 19, 21, 22, 23, 24, 26, 27, 28], "plain": [0, 3, 21, 22], "normal": [0, 14, 24, 28], "repl": 0, "10": [0, 3, 15, 20, 21, 28], "ast": [0, 14], "sampl": [0, 3, 15, 24, 27, 28], "stabl": [0, 3], "rose": 0, "fell": 0, "non": [0, 1, 3, 6, 14, 15, 18, 26, 28], "layout": [0, 17, 26], "is_compli": [0, 28], "reject": [0, 3], "less": [0, 14, 15, 24, 28], "singleendedport": [0, 24], "differentialport": [0, 24], "ffbuffer": [0, 24], "ddrbuffer": [0, 24], "meta": [0, 17, 26, 28], "componentmetadata": [0, 26, 28], "schedul": [0, 15], "19": 0, "fifo": [0, 6, 17, 23, 27], "fifointerfac": [0, 17, 23], "fwft": 0, "20": 0, "syncfifo": [0, 17, 23], "implicitli": [0, 14], "when": [0, 1, 3, 6, 14, 15, 16, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28], "specifi": [0, 3, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 19, 21, 22, 23, 24, 25, 27, 28], "run": [0, 5, 6, 8, 9, 10, 11, 12, 13, 16, 24, 27], "until": [0, 3, 5, 14, 15, 18, 21, 24, 25, 27, 29], "given": [0, 3, 19, 21, 22, 25, 28], "even": [0, 1, 3, 14, 15, 18, 25, 28], "critic": [0, 15], "present": [0, 3, 6, 8, 9, 10, 11, 12, 13, 14, 24, 28], "settl": 0, "command": [0, 1, 5, 6, 8, 10, 11, 12, 13, 16, 21], "gener": [0, 3, 5, 6, 14, 16, 19, 24, 25, 26, 28], "base": [0, 3, 6, 8, 9, 10, 11, 12, 13, 14, 15, 17, 19, 21, 26, 28], "noth": [0, 14, 23, 28], "mix": [0, 3], "environ": [0, 6, 8, 9, 10, 11, 12, 13, 15], "variabl": [0, 3, 8, 9, 10, 11, 12, 13, 14, 21, 28], "nmigen_env_diamond": 0, "amaranth_env_diamond": [0, 10], "upper": 0, "buildplan": 0, "execute_local_dock": 0, "extract": [0, 28], "build": [0, 3, 4, 5, 8, 9, 10, 12, 13, 15, 16, 18, 23, 24, 26, 28], "sh": 0, "begin": [0, 3, 14, 15, 16, 21, 24, 27, 28], "bin": [0, 10, 12, 13], "intelplatform": 0, "alteraplatform": [0, 7, 8], "run_script": 0, "execute_loc": 0, "vendor": [0, 3, 6, 8, 9, 10, 11, 12, 13, 16], "intel": 0, "lattice_ecp5": 0, "lattice_ice40": 0, "lattice_machxo2_3l": 0, "quicklog": [0, 4, 7], "xilinx": [0, 4, 7], "18": 0, "improv": [0, 1, 14, 15, 21, 23, 28], "wai": [0, 1, 3, 14, 15, 21, 22, 24, 25, 26, 27, 28], "In": [0, 1, 3, 4, 14, 15, 16, 21, 22, 23, 24, 25, 26, 27, 28], "departur": 0, "usual": [0, 1, 3, 5, 6, 14, 15, 18, 21, 25, 26, 28], "polici": 0, "give": [0, 3, 14, 21], "design": [0, 1, 3, 5, 6, 13, 14, 15, 16, 17, 18, 19, 21, 24, 25, 26, 27, 28, 29], "addit": [0, 1, 3, 5, 6, 14, 15, 21, 22, 23, 24, 26, 27, 28], "one": [0, 1, 3, 14, 15, 16, 17, 18, 19, 21, 23, 24, 25, 28, 29], "later": [0, 1, 3, 15, 27], "enumer": [0, 4, 14, 17, 21, 24, 27, 28], "extend": [0, 3, 6, 14, 15, 22, 26, 28], "A": [0, 1, 3, 4, 5, 6, 14, 15, 18, 19, 21, 22, 24, 25, 26, 27, 28, 29], "an": [0, 1, 3, 5, 6, 14, 15, 16, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28], "sever": [0, 1, 3, 14, 15, 24, 28], "extens": [0, 16], "point": [0, 12, 15, 21, 24, 27], "particular": [0, 1, 3, 6, 15, 19, 21, 28], "mai": [0, 1, 3, 5, 14, 15, 18, 19, 21, 22, 24, 25, 27, 28], "wrap": [0, 1, 14, 15, 21, 22, 28], "anoth": [0, 3, 14, 15, 17, 21, 22, 25, 26, 27, 28], "call": [0, 3, 14, 15, 21, 22, 24, 25, 26, 28], "protocol": [0, 14, 22, 26, 27], "15": [0, 15, 16, 20], "issu": [0, 1, 3, 6, 25], "infer": [0, 3, 6, 21, 24], "resolv": [0, 3, 28], "where": [0, 1, 3, 14, 15, 18, 19, 21, 24, 25, 26, 27, 28], "both": [0, 1, 3, 6, 14, 15, 19, 21, 24, 25, 27, 28], "python": [0, 1, 3, 5, 6, 12, 14, 15, 16, 21, 22, 26, 28], "7": [0, 3, 5, 6, 20, 21, 24, 27], "11": [0, 3, 20, 21], "12": [0, 3, 20, 26], "featur": [0, 4, 14, 18, 28], "nmigen": [0, 29], "namespac": [0, 1, 3], "annot": [0, 14, 17, 21, 24, 28], "recogn": [0, 14, 25, 27], "nmigen_": 0, "envron": 0, "remain": [0, 14, 15, 23, 27, 28], "had": [0, 21, 28], "sinc": [0, 3, 5, 14, 15, 16, 19, 21, 28], "shell": 0, "amaranth_": 0, "amaranth_env_": 0, "uppercas": 0, "nmigen_env_": 0, "form": [0, 3, 19, 24, 27, 28], "some_vendor": 0, "somevendorplatform": 0, "reduc": [0, 3, 6, 18, 21, 25, 27, 28], "futur": [0, 3, 6, 15, 24, 28], "churn": 0, "count": [0, 3, 14, 15, 16, 27, 28], "replic": [0, 3, 14, 25], "appropri": [0, 24, 27, 28], "depend": [0, 1, 3, 5, 6, 14, 15, 21, 23, 28], "being": [0, 1, 3, 14, 21, 23, 25, 27, 28, 29], "storag": [0, 14], "access": [0, 3, 15, 23, 25, 26, 28], "represent": [0, 3, 14, 15, 25, 26, 28], "connect": [0, 3, 4, 16, 17, 18, 24, 27], "togeth": [0, 1, 3, 27, 28], "manual": [0, 1, 4, 5, 19, 21, 28], "instanti": [0, 3, 6, 14, 16, 18, 21, 24, 25], "regist": [0, 3, 6, 19, 23, 24, 26, 28], "e": [0, 1, 3, 14, 15, 18, 23, 24, 25, 27, 28], "g": [0, 1, 3, 13, 14, 15, 18, 25, 28], "past_x": 0, "x": [0, 3, 14, 19, 25, 28], "d": [0, 3, 15, 16, 19, 21, 24, 25, 26, 27, 28], "sync": [0, 3, 15, 16, 21, 24, 25, 27, 28], "eq": [0, 3, 14, 15, 16, 21, 22, 24, 25, 26, 27, 28], "nativ": [0, 6], "syntax": [0, 1, 3, 4, 15, 16, 21, 28], "pin": [0, 3, 6], "directli": [0, 3, 6, 14, 15, 18, 19, 21, 23, 24, 25, 28], "field": [0, 21], "led": [0, 4], "cat": [0, 3, 14, 22, 27], "n": [0, 3, 18, 21, 24, 25], "note": [0, 1, 3, 14, 18, 19, 21, 22, 24], "roundrobin": 0, "those": [0, 3, 28], "while": [0, 1, 3, 6, 14, 15, 19, 21, 24, 25, 26, 27, 28], "below": [0, 3, 14, 15, 16, 18, 25, 27, 28], "thei": [0, 1, 3, 14, 15, 16, 19, 21, 25, 26, 27, 28], "next": [0, 3, 5, 15, 16, 23, 24, 25, 27, 28], "aggreg": [0, 3, 21], "express": [0, 3, 15, 21, 22, 26, 28], "crc": [0, 17, 20], "8": [0, 3, 5, 19, 20, 21, 24, 25, 26, 27, 28], "9": [0, 3, 27], "initi": [0, 14, 15, 18, 19, 21, 25, 27, 28], "reorgan": 0, "lift": [0, 14, 24, 27, 28], "22": 0, "28": 0, "allow": [0, 1, 3, 6, 14, 18, 22, 24, 27, 28], "oper": [0, 4, 6, 14, 15, 21, 22, 24, 25, 28], "31": [0, 3, 20, 21], "type": [0, 3, 14, 15, 19, 21, 22, 23, 24, 25, 26, 28], "safeti": [0, 22], "34": 0, "pureinterfac": [0, 28], "35": 0, "shapelik": [0, 14, 21, 27], "valuelik": [0, 14, 15], "37": 0, "make": [0, 1, 3, 5, 6, 15, 17, 22, 23, 24, 25, 26, 27], "38": [0, 16], "similar": [0, 1, 3, 14, 15, 16, 19, 21, 25, 27, 28], "as_sign": [0, 3, 14], "as_unsign": [0, 3, 14], "left": [0, 3, 14, 19, 25], "hand": 0, "side": [0, 3], "supersed": 0, "transpar": [0, 3, 25], "read": [0, 1, 3, 21, 23, 24, 28], "enabl": [0, 3, 6, 8, 10, 12, 15, 16, 21, 24, 25, 27, 28], "creat": [0, 1, 3, 14, 15, 19, 22, 24, 25, 27, 28], "__call__": [0, 14, 19, 21, 22, 28], "recurs": [0, 21, 28], "treat": [0, 3, 19, 27, 28], "deriv": [0, 3, 6, 16, 21, 24, 28], "int": [0, 3, 14, 15, 16, 18, 19, 21, 23, 24, 25, 26, 28], "intenum": [0, 3, 14, 22], "empti": [0, 3, 15, 23, 25, 26], "explicitli": [0, 3, 14, 15, 16, 19, 21, 22, 25, 28], "construct": [0, 3, 6, 14, 15, 16, 19, 21, 22, 23, 25, 27, 28], "were": [0, 1, 3, 15], "__abs__": [0, 14], "predat": 0, "tupl": [0, 3, 15, 24, 25, 28], "uservalu": 0, "linter": 0, "instruct": [0, 3, 15, 16], "file": [0, 3, 4, 6, 8, 10, 11, 12, 13, 14, 15, 16, 21, 22, 28], "text": [0, 1], "lf": 0, "line": [0, 1, 14, 16, 22, 28], "end": [0, 3, 6, 8, 10, 12, 15, 16, 24], "window": [0, 5, 6, 10], "debug_verilog": 0, "templatedplatform": 0, "env": 0, "add_fil": [0, 12], "absolut": [0, 3, 14], "path": [0, 10, 26, 27], "sim": [0, 15, 16, 24, 25, 27], "step": [0, 1, 3, 5, 6, 15, 16], "back": [0, 15, 16, 28], "pysim": 0, "invok": [0, 3, 28], "rtlil": 0, "verilog": [0, 3, 5, 6, 16, 26], "test": [0, 1, 6, 14, 23, 24, 26, 27], "icepack_opt": 0, "latticeice40platform": [0, 3], "osch": 0, "default_clk": 0, "sourc": [0, 1, 3, 4, 5, 6, 16, 21, 24, 26, 28], "latticemachxo2platform": 0, "latticemachxo3lplatform": 0, "xrai": [0, 13], "xilinxplatform": [0, 7, 13], "artix": 0, "ultrascal": 0, "part": [0, 1, 3, 14, 15, 16, 17, 21, 25, 28], "gowinplatform": [0, 7, 9], "lattice_machxo2": 0, "lattice_machxo_2_3l": 0, "latticemachxo2or3lplatform": 0, "svf": [0, 10], "program": [0, 1, 3, 6, 10, 16], "vector": [0, 10], "xilinx_spartan_3_6": 0, "xilinxspartan3aplatform": 0, "xilinxspartan6platform": 0, "xilinx_7seri": 0, "xilinx7seriesplatform": 0, "xilinx_ultrascal": 0, "xilinxultrascaleplatform": 0, "project": [0, 1, 5, 6, 22, 26], "nm": 0, "prelud": [0, 4, 14], "am": [0, 3, 14], "adjust": 0, "nmigen_board": 0, "amaranth_board": [0, 16], "board": [0, 4, 16], "switch": [0, 21, 24], "inherit": [0, 3, 14, 21, 23, 28], "miss": [0, 1, 15], "fhdltestcas": 0, "assertform": 0, "ab": [0, 3, 14], "rotate_left": [0, 3, 14], "rotate_right": [0, 3, 14], "shift_left": [0, 3, 14], "shift_right": [0, 3, 14], "divis": [0, 3, 14], "modulo": [0, 3, 14], "divisor": [0, 16], "pulsesynchron": [0, 17, 18], "asyncffsynchron": [0, 17, 18], "asyncfifo": [0, 17, 23], "write": [0, 1, 3, 7, 15, 16, 23, 24, 25, 28], "r_rst": [0, 23], "r_level": [0, 23], "w_level": [0, 23], "backend": [0, 16], "larger": [0, 3, 19], "65536": 0, "emit": [0, 3, 28], "yosi": [0, 1, 5, 6, 8, 9, 10, 12, 13], "attribut": [0, 1, 3, 6, 16, 19, 21, 23, 24, 25, 26, 27, 28], "instal": [0, 1, 4, 12, 16], "fall": [0, 17, 24], "pypi": [0, 5, 6], "packag": [0, 1, 5, 16, 26], "builtin": [0, 5], "cxxrtl": 0, "multipl": [0, 3, 6, 14, 15, 27, 28], "fragment": [0, 3, 14], "advanc": [0, 6, 15, 16, 28], "execute_remote_ssh": 0, "vcd": [0, 15, 16, 27], "output": [0, 1, 3, 4, 12, 14, 15, 16, 17, 18, 19, 23, 25, 27, 28], "top": [0, 3, 15, 16, 24], "bench": [0, 6, 16], "contain": [0, 1, 3, 5, 6, 14, 15, 16, 19, 20, 21, 24, 25, 26, 27, 28], "sb_lfosc": 0, "sb_hfosc": 0, "binari": [0, 3, 8, 9, 10, 12, 13], "bitstream": [0, 8, 9, 10, 12, 13, 16], "grade": [0, 29], "famili": [0, 5, 6, 10, 21], "temperatur": 0, "speed": [0, 6, 15], "symbiflow": [0, 11, 13], "separ": [0, 5, 17], "flash": [0, 6, 10, 16], "sram": [0, 8, 10], "_flash": [0, 10], "_sram": [0, 10], "quicklogicplatform": [0, 7, 11], "cyclonev_oscil": 0, "add_set": [0, 8], "add_constraint": [0, 8, 10, 11, 12, 13], "mistral": [0, 8], "synth_design_opt": [0, 13], "No": [0, 21, 28], "publish": [0, 15, 26], "under": [0, 3, 14, 21, 26, 28], "collect": [1, 3, 6, 28], "mani": [1, 3, 6, 14, 16, 19, 25, 26, 28], "peopl": 1, "collabor": 1, "over": [1, 19, 21, 25], "year": 1, "would": [1, 3, 14, 15, 19, 21, 25, 26, 27, 28], "everyon": 1, "": [1, 3, 6, 14, 15, 16, 18, 19, 21, 23, 24, 25, 27, 28, 29], "uniqu": [1, 3, 26], "perspect": 1, "we": [1, 3, 24], "re": [1, 15, 19, 22, 24], "glad": 1, "you": [1, 3, 5, 14, 15, 18, 19, 25, 27], "consid": [1, 3, 6, 14, 16, 18, 21, 24, 26, 28, 29], "join": 1, "u": [1, 15, 25], "page": 1, "through": [1, 3, 6, 14, 15, 17, 21, 25, 26, 27, 28], "some": [1, 3, 6, 14, 16, 24, 25, 27, 28], "best": 1, "tool": [1, 3, 6, 8, 9, 10, 11, 12, 13, 26, 28], "hear": 1, "about": [1, 3, 14, 15, 17, 26, 28], "encount": [1, 14, 15], "crucial": [1, 3], "care": [1, 3], "lot": 1, "correct": [1, 3, 15, 17, 28], "result": [1, 3, 14, 15, 16, 21, 22, 24, 25, 26, 27, 28], "experi": [1, 3], "just": [1, 3, 15, 21, 22], "much": [1, 25], "meant": [1, 28], "comfort": 1, "fewer": [1, 3], "sharp": 1, "edg": [1, 3, 5, 15, 16, 18, 24, 25, 27], "matter": [1, 21], "how": [1, 3, 5, 15, 21, 28], "technolog": 1, "appeal": 1, "might": [1, 15], "more": [1, 3, 6, 14, 15, 16, 21, 24, 25, 26, 27, 28], "guardrail": 1, "pleas": 1, "To": [1, 3, 5, 6, 14, 15, 16, 21, 25, 28], "go": [1, 6, 14, 17, 28], "beyond": [1, 3, 28], "see": [1, 3, 14, 15, 16, 18, 20, 24, 28], "understand": [1, 3, 15, 28], "mislead": 1, "especi": [1, 3, 6], "think": 1, "did": [1, 5], "someth": 1, "wrong": [1, 3, 24, 28], "inform": [1, 8, 10, 12, 16, 21, 26, 28], "exact": [1, 14, 15, 21, 27], "version": [1, 4, 5, 14, 17, 26], "find": [1, 26], "c": [1, 3, 10, 14, 22, 28], "__version__": 1, "complet": [1, 3, 14, 15, 19], "self": [1, 3, 6, 14, 15, 16, 19, 21, 22, 24, 25, 26, 27, 28], "demonstr": [1, 14, 16, 27, 28], "feasibl": [1, 14], "sequenc": [1, 14, 15, 18, 21], "reproduc": [1, 6], "what": [1, 3, 25, 28], "expect": [1, 3, 15, 21, 27, 28], "happen": [1, 3, 25], "possibl": [1, 3, 6, 14, 15, 22, 24, 25, 27, 28], "verbatim": 1, "log": [1, 8, 10, 12, 13], "termin": [1, 3], "For": [1, 3, 5, 14, 15, 19, 21, 22, 24, 25, 26, 27, 28], "reason": [1, 3, 15, 28], "why": [1, 28], "There": [1, 3, 14, 25, 28], "person": [1, 26], "who": 1, "should": [1, 3, 5, 14, 15, 16, 18, 21, 23, 24, 25, 28], "submit": [1, 21], "valuabl": 1, "own": [1, 3, 19, 21], "right": [1, 3, 14, 21], "appreci": 1, "open": [1, 3, 5, 6, 15, 16], "commun": [1, 6, 15, 21, 27, 28, 29], "tend": 1, "opportun": 1, "enjoi": 1, "pull": [1, 5], "howev": [1, 3, 5, 14, 15, 18, 21, 25, 26, 27, 28], "unless": [1, 3, 14, 15, 23, 24, 26, 28], "ve": 1, "few": [1, 3, 16, 21, 26, 27, 28], "befor": [1, 3, 5, 10, 13, 15, 27, 28], "truli": 1, "trivial": 1, "discuss": [1, 28], "maintain": [1, 6, 18], "doesn": [1, 26, 28], "sometim": [1, 3, 6, 28], "save": [1, 10, 15], "unnecessari": 1, "frustrat": 1, "languag": [1, 2, 15, 16, 17, 24, 26, 28], "toolchain": [1, 2, 3, 5, 8, 9, 10, 11, 12, 13, 16, 25], "from": [1, 5, 6, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28], "kind": [1, 3, 15, 21, 28], "everi": [1, 3, 6, 14, 15, 16, 18, 19, 21, 25, 28], "unavoid": 1, "tightli": [1, 3, 28], "coupl": 1, "seemingli": 1, "obviou": 1, "appar": 1, "minor": 1, "decis": [1, 3], "dramat": 1, "consequ": [1, 6, 28], "sure": [1, 5], "undergo": 1, "scrutini": 1, "commit": [1, 5, 26], "impact": 1, "chanc": 1, "voic": 1, "heard": 1, "substanti": 1, "must": [1, 3, 12, 14, 15, 17, 18, 19, 21, 22, 24, 25, 26, 27, 28], "formal": [1, 29], "comment": [1, 14, 17], "well": [1, 3, 5, 6, 14, 15, 16, 21, 25, 27, 28], "typic": [1, 6, 24], "after": [1, 3, 5, 8, 10, 12, 13, 15, 18, 19, 23, 24, 25, 28], "round": [1, 23], "review": [1, 14, 17], "achiev": [1, 6], "unanim": 1, "consensu": 1, "pdm": 1, "manag": [1, 3, 15, 21], "develop": [1, 16, 21, 26, 27], "workflow": [1, 5, 6, 16], "download": [1, 6, 16], "latest": 1, "onc": [1, 3, 14, 15, 16, 18, 21, 24, 27, 28], "done": [1, 3, 14, 15, 19, 21, 27], "so": [1, 3, 5, 6, 15, 16, 18, 19, 21, 24, 25, 28], "dev": 1, "virtual": [1, 15, 25, 28], "locat": [1, 4, 16, 24, 28], "venv": 1, "runtim": 1, "itself": [1, 3, 10, 14, 15, 16, 19, 21, 22, 26, 28], "edit": [1, 16], "mode": [1, 3], "mean": [1, 3, 14, 24, 25, 28], "immedi": [1, 3, 5, 14, 15, 18, 25], "reflect": [1, 14, 19, 25], "pick": 1, "up": [1, 3, 15, 16, 21, 23, 28, 29], "good": [1, 3, 10], "habit": 1, "each": [1, 3, 6, 14, 15, 19, 21, 24, 25, 27, 28], "tree": [1, 3, 6], "frontend": 1, "yices2": 1, "smt": 1, "solver": 1, "These": [1, 3, 6, 14, 21, 27, 28], "distribut": [1, 5, 25], "oss": 1, "cad": 1, "suit": [1, 25], "reli": [1, 3, 6, 15, 28], "verif": [1, 6, 28, 29], "skip": [1, 14, 15], "doc": 1, "_build": 1, "html": 1, "involv": [1, 3], "small": [1, 3, 14, 16], "labor": [1, 6, 21], "rebuild": 1, "start": [1, 3, 4, 6, 15, 19, 21, 28], "automat": [1, 3, 16, 22], "live": 1, "brows": 1, "http": [1, 5, 26, 28], "127": [1, 3], "0": [1, 3, 4, 5, 14, 15, 16, 21, 22, 24, 25, 26, 27, 28], "1": [1, 3, 4, 14, 15, 16, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28], "8000": 1, "browser": [1, 4], "short": [1, 3, 28], "keep": [1, 28], "ey": 1, "syntact": 1, "refer": [1, 3, 4, 17, 19, 24, 25, 28], "occasion": 1, "builder": 1, "persist": [1, 3], "render": 1, "incorrect": 1, "outdat": 1, "content": [1, 15, 24, 25, 27], "our": 1, "guidelin": 1, "evolv": 1, "section": [1, 3, 7, 15, 16, 21, 28], "incomplet": [1, 4, 14], "fundament": [1, 21], "contract": 1, "afford": 1, "implement": [1, 3, 6, 14, 15, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28], "becaus": [1, 3, 5, 14, 15, 21, 25, 28], "truth": [1, 21, 28], "secondari": 1, "rfc": [1, 27], "exist": [1, 3, 6, 19, 23, 26, 28], "outcom": 1, "corollari": 1, "previou": [1, 5, 15, 19, 21, 24], "difficult": [1, 3, 15, 26, 27], "readili": 1, "understood": 1, "need": [1, 3, 6, 14, 15, 18, 21, 23, 25, 26, 28], "break": [1, 3, 14, 15], "librari": [1, 3, 4, 14, 18, 24, 25, 27], "easier": [1, 3, 6], "Be": [1, 3], "consist": [1, 6, 15, 18, 24, 27, 28], "inspir": 1, "don": [1, 3], "expens": [1, 6], "clariti": [1, 3, 15, 16, 28], "concis": [1, 3, 21, 28], "easi": [1, 3, 6], "boilerpl": [1, 21, 28], "navig": 1, "paramet": [1, 3, 14, 15, 16, 17, 18, 21, 23, 24, 25, 26, 27, 28], "docstr": 1, "addition": [1, 14, 15, 25], "fact": [1, 3], "isn": [1, 14, 27], "correspond": [1, 3, 14, 15, 16, 19, 21, 22, 25, 27, 28], "mainli": 1, "clutter": 1, "goal": [1, 3, 28], "transfer": [1, 6, 17, 18, 25, 28], "knowledg": [1, 28], "tick": [1, 3, 15, 16, 24, 27], "box": [1, 6, 16], "limit": [1, 3, 6, 16, 24, 27, 28], "sphinx": 1, "100": [1, 3, 18], "column": 1, "py": [1, 16], "paragraph": 1, "rst": [1, 3, 15, 16], "head": 1, "third": [1, 6, 14, 17, 21], "ones": [1, 6, 14, 15, 21, 25, 28], "var_nam": 1, "testcod": 1, "block": [1, 6, 15, 16, 18, 23, 25, 28], "cannot": [1, 3, 14, 15, 19, 21, 23, 24, 25, 26, 28], "doctest": 1, "admonit": 1, "sparingli": 1, "paid": 1, "attent": 1, "els": [1, 16, 18, 24, 25, 27, 28], "unexpect": [1, 3, 6], "bad": 1, "thing": 1, "notic": [1, 14], "yellow": 1, "moment": [1, 3, 6, 15, 16, 24], "tip": 1, "otherwis": [1, 3, 5, 14, 15, 16, 18, 21, 24, 25, 28], "annoy": 1, "bright": [1, 21], "blue": [1, 21], "green": [1, 21], "kei": [1, 3, 14, 21, 24, 28], "topic": 1, "whole": [1, 3], "least": [1, 3, 6, 14, 15, 17, 19, 21, 23, 24, 25, 28], "faint": 1, "todo": 1, "also": [1, 3, 6, 14, 15, 16, 17, 19, 21, 22, 23, 24, 25, 27, 28], "phrase": 1, "descript": [1, 3, 6, 14, 15, 17, 21, 26, 28], "imper": [1, 3], "sentenc": 1, "properti": [1, 3, 21, 24, 25, 26, 27, 28], "declar": [1, 16, 28], "standard": [1, 2, 3, 4, 8, 10, 12, 14, 16, 19, 22, 26, 27, 28], "anchor": 1, "_lang": 1, "lang": [1, 5, 26, 28], "global": [1, 26], "sequenti": 1, "logic": [1, 6, 14, 16, 23, 24, 25], "term": [1, 3, 19, 24, 25], "combin": [1, 4, 14, 16, 19, 21, 24, 25, 27, 28], "combinatori": 1, "yet": [1, 18, 25], "ask": 1, "effort": [1, 6, 16], "modifi": [1, 25, 27, 28], "spirit": 1, "surround": 1, "dure": [1, 3, 6, 15, 18, 21, 24], "doubt": 1, "mondai": 1, "00": 1, "utc": 1, "irc": 1, "channel": [1, 21], "libera": 1, "chat": 1, "matrix": 1, "org": [1, 26, 28], "bridg": 1, "appear": [1, 3, 15, 21, 23, 24, 28], "user": [1, 3, 5, 14, 16, 21, 22, 26], "contributor": 1, "newli": [1, 15, 28], "warrant": 1, "broad": [1, 17], "primari": 1, "avenu": 1, "want": [1, 14, 19, 29], "interest": [1, 14], "evolut": 1, "simpli": 1, "feel": 1, "free": 1, "attend": 1, "abl": [1, 3, 15, 24], "publicli": [1, 26], "summari": 1, "post": 1, "relev": [1, 14, 15, 28], "github": [1, 5], "thread": 1, "system": [2, 3, 4, 16, 27, 28], "chip": [2, 28], "toolkit": 2, "introduc": [3, 15, 28], "depth": [3, 23, 25, 27], "familiar": [3, 14, 15], "digit": [3, 6, 17], "requir": [3, 4, 6, 8, 9, 10, 11, 12, 13, 14, 15, 21, 24, 25, 26, 27, 28], "prior": 3, "hardwar": [3, 6, 15, 17, 19, 25, 26], "tutori": [3, 4, 16], "introduct": [3, 4, 14, 16, 17], "detail": [3, 15, 16, 18, 28], "underli": [3, 14, 21, 22, 24], "regular": 3, "root": [3, 12, 26], "carefulli": 3, "curat": 3, "export": [3, 10, 14, 22, 28], "amount": [3, 6, 14, 16, 21, 24, 25], "essenti": [3, 6, 17, 19, 28], "nearli": 3, "dedic": 3, "practic": [3, 27, 28], "glob": [3, 14], "readabl": [3, 6, 28], "frown": 3, "upon": 3, "convent": [3, 6], "alia": 3, "exampl": [3, 14, 15, 16, 17, 20, 21, 26, 28], "signed": [3, 14, 21, 28], "5": [3, 4, 15, 16, 20, 21, 22, 24, 28], "known": [3, 6, 10, 14, 15, 17, 19, 21, 25], "upfront": [3, 14], "conveni": [3, 14, 21, 25, 28], "alias": [3, 14], "v": [3, 16], "retriev": [3, 14, 15, 20, 21, 25, 26, 28], "3": [3, 4, 5, 15, 16, 20, 21, 25, 28], "basic": [3, 15, 16], "number": [3, 8, 14, 15, 18, 21, 23, 24, 25, 28], "store": [3, 5, 15, 21, 24, 25], "anywher": [3, 21], "interpret": [3, 5, 14, 28], "two": [3, 12, 14, 15, 19, 21, 24, 25, 27, 28], "complement": [3, 14, 24, 27], "simplest": 3, "ten": 3, "minus_two": 3, "2": [3, 4, 14, 15, 16, 18, 22, 23, 24, 25, 27, 28], "abov": [3, 14, 15, 16, 27, 28], "omit": [3, 5], "posit": [3, 14, 19, 21, 24, 28], "smallest": 3, "As": [3, 5, 14, 16, 17, 21], "4": [3, 4, 15, 16, 20, 21, 22, 24, 26], "truncat": [3, 14], "fit": [3, 14, 26], "although": [3, 6, 15, 16, 24, 28], "rare": [3, 14, 21, 28], "permit": 3, "360": 3, "104": 3, "129": 3, "indirectli": [3, 15], "shorthand": 3, "r": [3, 14, 25], "produc": [3, 6, 15, 16, 18, 27, 28], "larg": [3, 15, 21, 23], "enough": [3, 14, 21], "min": 3, "max": [3, 14], "counter": [3, 4, 15, 28], "whose": [3, 14, 15, 17, 21, 25, 26, 28], "set": [3, 8, 10, 12, 13, 14, 15, 16, 18, 19, 22, 23, 24, 25, 27, 28, 29], "item": [3, 28], "exclus": 3, "half": [3, 15, 24], "element": [3, 14, 15, 21, 23, 25, 28], "power": [3, 6, 18, 23, 25], "wide": [3, 14, 19, 25, 27], "fencepost": 3, "256": [3, 21], "syntaxwarn": 3, "equal": [3, 14, 21, 22, 24, 25, 28], "inclus": 3, "off": [3, 10], "detect": [3, 19, 27, 28], "diagnost": [3, 6, 14, 16, 28], "bound": [3, 14], "finit": [3, 6], "machin": [3, 6], "multiplex": 3, "complex": [3, 6, 14, 15, 21, 25, 26, 27, 28], "distinct": [3, 21], "direct": [3, 6, 15, 21, 24, 26, 28], "bottom": 3, "funct4": 3, "sub": [3, 22], "mul": [3, 22], "prevent": [3, 14, 15], "unwant": 3, "facil": [3, 19, 21, 26, 28], "equival": [3, 14, 15, 21, 22, 28], "d5": 3, "d1": [3, 16, 28], "subset": [3, 21, 25], "operand": [3, 14, 22], "numer": [3, 15], "6": [3, 4, 20, 21, 24], "d26": 3, "funct": [3, 22], "op": [3, 22], "reg": [3, 16, 22], "imm": [3, 22], "instr": [3, 22], "addi": [3, 22], "At": [3, 6, 15, 24], "expand": 3, "potenti": [3, 6, 28], "vari": [3, 15], "respect": [3, 25, 28], "uniniti": [3, 25], "undefin": [3, 15, 25], "waveform": [3, 5, 15, 16, 24], "viewer": [3, 5, 15], "place": [3, 5, 6, 13, 14, 16, 22, 28], "foo": [3, 22, 28], "bar": [3, 22], "foo2": 3, "second_foo": 3, "prepar": [3, 15], "synthesi": [3, 6, 12, 13], "ambigu": [3, 24, 25], "zero": [3, 14, 15, 21, 23, 25], "none": [3, 10, 13, 14, 15, 16, 18, 24, 25, 27, 28], "resett": [3, 18], "reset_less": [3, 18], "via": [3, 5, 6, 14, 21, 24, 25, 26, 27, 28], "resetinsert": [3, 14], "affect": [3, 5, 15, 24, 28], "rich": [3, 6], "themselv": 3, "concret": [3, 14, 21], "calcul": 3, "contrast": 3, "abstract": [3, 14, 17, 21, 24, 25, 26, 27], "circuit": [3, 4, 6, 14], "synthes": [3, 5, 6, 10, 12, 13, 15, 16], "ordinari": [3, 6], "sig": [3, 16, 21, 22, 28], "rememb": 3, "higher": [3, 14, 15, 18, 24], "traceback": [3, 21, 22, 28], "recent": [3, 19, 21, 22, 28], "last": [3, 5, 15, 21, 22, 28], "typeerror": [3, 14, 15, 21, 22, 24, 28], "attempt": [3, 25], "boolean": [3, 14], "therefor": [3, 19], "execut": [3, 15], "decid": 3, "whether": [3, 6, 14, 15, 16, 19, 25, 27, 28], "bodi": [3, 15, 28], "long": [3, 14, 19], "finish": [3, 15, 16], "solv": 3, "problem": [3, 4, 27, 28], "manipul": [3, 14, 15, 21, 27, 28], "OR": [3, 14, 22], "select": [3, 14, 15, 24, 25], "regardless": 3, "too": 3, "unlimit": 3, "precis": [3, 21], "overflow": [3, 16, 28], "suffici": [3, 21, 28], "similarli": [3, 5, 27, 28], "either": [3, 5, 14, 15, 18, 21, 22, 25, 26, 28], "128": 3, "382": 3, "signific": [3, 6, 14, 19, 21, 25], "tabl": 3, "negat": [3, 14, 22], "subtract": [3, 14], "floor": [3, 14], "due": [3, 25, 28], "chain": [3, 15, 18], "inequ": [3, 14], "greater": [3, 14], "effici": [3, 15, 25, 27], "NOT": [3, 14], "AND": [3, 14, 22], "xor": [3, 14, 19, 22], "revers": [3, 19, 27, 28], "exponenti": 3, "wider": 3, "intermedi": [3, 15], "stress": 3, "32": [3, 16, 19, 20, 21, 26, 28], "4294967296": 3, "veri": [3, 21, 28], "sidewai": 3, "pair": [3, 14, 24, 28], "between": [3, 6, 14, 15, 17, 18, 21, 23, 24, 25, 27, 28], "unari": [3, 14], "sole": [3, 14, 28], "odd": [3, 14], "bool": [3, 14, 18, 19, 21, 24, 26, 27, 28], "conceptu": [3, 15, 25], "unlik": 3, "chang": [3, 4, 5, 6, 14, 15, 17, 21, 25, 27, 28], "p": [3, 24, 27], "q": 3, "preced": 3, "wherea": [3, 28], "parenthes": 3, "around": [3, 24, 28], "subtl": [3, 6], "en": [3, 15, 16, 25, 28], "addr": [3, 21, 25, 26, 28], "d0": [3, 21, 22], "stb": 3, "use_stb": 3, "msb": [3, 27], "sd": 3, "misus": [3, 6], "apart": 3, "act": [3, 22, 23, 28], "concaten": [3, 24, 28], "clash": 3, "except": [3, 14, 15, 21, 24, 25, 26, 27, 28], "singl": [3, 6, 14, 15, 16, 21, 22, 24, 28], "subscript": 3, "often": [3, 6, 21, 28], "offset": [3, 14, 21], "notat": 3, "length": [3, 21, 24, 25], "j": [3, 14], "k": [3, 14], "bit_select": [3, 14, 24], "w": [3, 16, 25], "overlap": [3, 14, 21, 27], "word_select": [3, 14], "word": [3, 14, 15, 19, 24, 27, 28], "talk": 3, "convention": 3, "variat": 3, "occupi": 3, "explain": [3, 5], "0th": 3, "expon": [3, 21], "mismatch": [3, 5, 27], "caus": [3, 14, 15, 18, 24, 26, 27], "confus": [3, 25, 28], "0b1001": 3, "0b1010": 3, "0b1010_1001": 3, "val": [3, 16], "Such": [3, 15, 27, 28], "avoid": [3, 5, 6, 14, 15, 24, 27], "seem": [3, 25], "natur": 3, "alon": 3, "could": [3, 15, 17, 18, 21, 24, 25, 26, 27, 28], "ye": 3, "deliber": 3, "option": [3, 6, 8, 10, 12, 13, 15, 16, 18, 22, 28], "examin": [3, 28], "str": [3, 14, 15, 18, 21, 23, 24, 25, 26, 28], "mask": 3, "whitespac": 3, "charact": [3, 25], "compar": [3, 15, 21, 22, 23, 28], "leftmost": 3, "lowest": [3, 18], "succe": 3, "correspondingli": [3, 28], "asid": [3, 15, 28], "space": [3, 23], "tab": 3, "ignor": [3, 14, 28], "01": 3, "0b0000_0110": 3, "0b0000_0010": 3, "reinterpret": [3, 14], "pc": 3, "mux": [3, 14], "sel": 3, "val1": 3, "val0": 3, "condit": [3, 6, 14, 15, 16, 23, 27], "mutabl": [3, 25, 28], "behav": [3, 22], "proxi": [3, 21, 28], "three": [3, 14, 15, 17, 21, 27], "transform": [3, 21, 27], "origin": [3, 5, 26, 28], "target": [3, 18, 21, 22, 28], "final": [3, 6, 15, 28], "pixel": [3, 21], "180": 3, "92": 3, "230": 3, "74": 3, "130": 3, "115": 3, "becom": [3, 15, 19, 23, 27], "recommend": [3, 6, 14], "mutat": [3, 28], "unpredict": 3, "serv": [3, 21, 26, 28], "unit": [3, 27], "independ": [3, 24, 25, 27], "associ": [3, 15, 21, 24, 25, 28], "fresh": 3, "group": [3, 21], "ident": [3, 14, 19, 23, 25, 28], "predefin": [3, 17, 20], "comb": [3, 15, 16, 21, 24, 25, 26, 27, 28], "reserv": [3, 21], "specif": [3, 5, 6, 14, 15, 18, 19, 21, 24, 25, 26, 27, 28], "occur": [3, 15, 27], "asynchron": [3, 6, 15, 18, 23, 25], "lack": [3, 6, 27], "feedback": [3, 27, 28], "loop": [3, 6, 15, 25], "hold": [3, 14, 15, 16], "effect": [3, 15, 24, 25, 28], "0b11": 3, "d3": 3, "entir": [3, 15, 16, 19, 24, 26], "def": [3, 14, 15, 16, 21, 22, 24, 25, 26, 27, 28], "add_toggl": 3, "num": 3, "f": [3, 9, 14, 16, 27, 28], "sync_": 3, "driven": [3, 6, 15, 18, 24, 25, 27], "undriven": 3, "exactli": [3, 14, 15, 21, 22, 24, 25, 28], "dsl": 3, "syntaxerror": [3, 14], "driver": 3, "conflict": [3, 28], "try": [3, 5, 15], "drive": [3, 15, 16, 24, 28], "alreadi": [3, 15, 16, 28], "snippet": [3, 14], "determin": [3, 14, 15, 25, 27, 28], "tailor": 3, "task": [3, 6, 26], "context": [3, 15, 28], "timer": [3, 16], "superfici": 3, "branch": [3, 5], "insid": [3, 28], "observ": [3, 15], "satisfi": [3, 15, 28], "uncondition": 3, "further": [3, 6, 18, 27], "cond1": 3, "cond2": 3, "parallel": [3, 19, 24], "x_coord": 3, "is_bporch": 3, "364": 3, "is_act": 3, "374": 3, "is_fporch": 3, "within": [3, 14, 25, 26, 28], "full": [3, 5, 28], "is_even": 3, "is_odd": 3, "too_big": 3, "whichev": 3, "earlier": [3, 12], "programmat": 3, "particularli": 3, "squar": 3, "simpl": [3, 5, 6, 16, 21, 24, 25, 26, 28], "choos": [3, 16], "enter": 3, "cycl": [3, 15, 16, 18, 19, 23, 24, 25, 27], "bu": [3, 15, 26, 28], "transact": [3, 15], "bus_addr": 3, "16": [3, 15, 16, 19, 20, 21, 24, 25, 26, 27, 28], "r_data": [3, 15, 23, 26, 28], "r_en": [3, 23, 26], "latch": [3, 23], "address": [3, 21, 25, 26, 28], "0x1234": 3, "strobe": [3, 23], "again": [3, 15, 27], "belong": [3, 25, 27], "dom": 3, "current": [3, 10, 15, 19, 27, 28], "captur": [3, 15, 24, 27, 28], "ongo": 3, "whenev": [3, 14, 15, 19, 24, 27, 28], "y": [3, 25, 28], "past": [3, 4], "typo": 3, "unreach": 3, "hazard": 3, "elimin": [3, 6, 18], "lead": [3, 19], "surpris": 3, "nest": [3, 28], "innermost": 3, "outer": [3, 28], "inner": [3, 28], "shorten": 3, "unstabl": 3, "ring": 3, "oscil": [3, 16], "prohibit": [3, 27], "exceedingli": 3, "desir": 3, "technologi": 3, "devic": [3, 6, 10, 12, 24, 25, 27], "lut": [3, 25], "transit": [3, 15, 27], "configur": [3, 6, 16, 18, 19, 25, 28], "down": [3, 25], "increment": [3, 15, 16], "decrement": 3, "retain": [3, 16], "violat": 3, "meaningless": [3, 28], "guard": 3, "ip": 3, "pointer": 3, "boot": 3, "glitch": [3, 15], "instantan": 3, "transient": [3, 15], "visibl": [3, 15], "afterward": [3, 25], "safe": [3, 6, 18, 22, 27], "neither": [3, 15, 22, 28], "ip_sync": 3, "elsewher": [3, 28], "taken": [3, 15, 28], "old_stat": 3, "sep": 3, "helper": [3, 16, 27, 28], "08x": 3, "rule": [3, 6, 14, 17, 21], "0b111": 3, "unalign": 3, "video": 3, "cd_video": 3, "add_video_domain": 3, "cd": [3, 5], "video_": 3, "domain_nam": 3, "invoc": [3, 6, 16], "clk": [3, 15, 16, 24], "By": [3, 6], "jtag": [3, 10], "clk_edg": [3, 15], "high": [3, 6, 15, 21, 24, 25, 27], "nevertheless": [3, 28], "undesir": [3, 6], "startup": [3, 15], "subject": [3, 14, 22], "intention": 3, "undocu": 3, "enableinsert": [3, 14], "clocksign": [3, 14], "resetsign": [3, 14], "bus_clk": 3, "bus_rstn": 3, "found": 3, "With": [3, 5, 16], "cd_sync": [3, 15, 24], "consult": 3, "document": [3, 4, 6, 14, 15, 16, 17, 20, 24, 25, 28], "your": [3, 4, 5, 14, 18, 27, 28], "platform": [3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 15, 16, 17, 18, 24, 25, 26, 27, 28], "fpga": [3, 5, 16, 18, 23, 24, 25, 29], "disabl": [3, 15, 16], "divid": [3, 25], "built": [3, 6, 14, 16, 21, 24, 26, 27], "smaller": 3, "subdivis": 3, "compos": [3, 28], "deleg": [3, 14], "netlist": [3, 6, 12, 13, 14, 24], "receiv": [3, 15, 19, 24, 28], "inject": [3, 24], "experiment": [3, 5], "twice": [3, 14, 28], "correctli": [3, 6, 15, 16, 23, 25, 28], "rel": [3, 25], "guarante": [3, 14, 15, 17, 18], "counter_": 3, "autogener": 3, "suppli": [3, 6], "alter": 3, "input": [3, 4, 14, 15, 16, 17, 18, 19, 23, 25, 27], "map": [3, 13, 21, 26, 28], "shorter": 3, "common": [3, 6, 16, 17, 27], "forward": 3, "held": 3, "z": 3, "applic": [3, 5, 6, 15, 16, 21, 27, 28], "resetsynchron": [3, 17, 18], "reusabl": [3, 6, 15, 16], "leav": [3, 21, 28], "domainrenam": [3, 14], "integr": [3, 4, 15, 16, 26, 29], "interoper": [3, 16, 17, 28], "extern": [3, 15, 21, 24, 26, 27, 28], "circuitri": 3, "bundl": 3, "carri": [3, 28], "uninterpret": 3, "unidirect": [3, 27], "electr": [3, 24], "analog": 3, "travers": 3, "topmost": 3, "clk_port": 3, "unambigu": [3, 28], "13": [3, 20], "lower": [3, 21], "indic": [3, 14, 15, 19, 21, 27, 28], "vhdl": [3, 6], "translat": [3, 28], "entiti": [3, 26], "Not": 3, "parameter": 3, "inout": 3, "bidirect": 3, "identifi": [3, 17, 21], "a_anam": 3, "attr": [3, 28], "anam": 3, "p_pname": 3, "param": [3, 21], "pname": 3, "i_inam": 3, "in_val": 3, "inam": 3, "o_onam": 3, "out_val": 3, "onam": 3, "io_ionam": 3, "inout_v": 3, "ionam": 3, "processor": [3, 19], "p_width": 3, "i_clk": 3, "i_rst": 3, "i_en": 3, "i_mod": 3, "i_data_in": 3, "i_data": 3, "o_data_out": 3, "o_data": 3, "io_pin": 3, "data_in": 3, "data_out": 3, "convein": 3, "adorn": 3, "flipflop": 3, "__init__": [3, 16, 21, 22, 24, 26, 28], "isinst": [3, 14, 28], "sb_dff": 3, "i_c": 3, "i_d": 3, "o_q": 3, "rais": [3, 14, 15, 21, 22, 24, 25, 26, 28], "notimplementederror": 3, "privat": [3, 15], "four": [3, 15, 21, 27, 28], "tristat": 3, "combination": 3, "port_i": 3, "port_o": 3, "oe": [3, 24], "imped": 3, "progress": [4, 14], "serious": [4, 14], "playground": 4, "prerequisit": 4, "blink": [4, 24], "guid": [4, 14, 15, 16, 19, 28], "arrai": [4, 14, 17, 21, 28], "control": [4, 6, 15, 16, 26, 27, 28], "flow": [4, 6, 27, 28], "evalu": [4, 15, 16], "synchron": [4, 6, 16, 18, 23, 24, 25, 27], "debug": [4, 5, 6, 15, 16], "elabor": [4, 14, 15, 16, 18, 24, 25, 26, 27, 28], "backward": [4, 17], "cross": [4, 6, 17], "queue": [4, 17, 27], "cyclic": [4, 17], "redund": [4, 17, 28], "check": [4, 14, 15, 16, 17, 28], "altera": [4, 7], "lattic": [4, 7, 12, 16], "siliconblu": [4, 7], "changelog": 4, "releas": [4, 14, 18, 27], "unreleas": 4, "contribut": 4, "report": [4, 6, 8, 12, 13, 28], "propos": 4, "codebas": 4, "style": [4, 6], "weekli": 4, "meet": [4, 25], "anyth": [5, 14], "visit": 5, "webpag": 5, "fulli": [5, 14, 19], "displai": [5, 6, 15], "modern": 5, "webassembli": 5, "firefox": 5, "chrome": 5, "40": [5, 20], "newer": 5, "cpython": 5, "faster": [5, 18], "pypy3": 5, "pip": 5, "23": [5, 21], "popular": 5, "softwar": [5, 19], "surfer": [5, 15], "gtkwave": [5, 15], "invalu": 5, "altern": [5, 21], "rout": [5, 6, 13, 16], "ice40": [5, 10, 12, 16], "ecp5": [5, 10], "machxo2": [5, 10], "nexu": [5, 10], "yowasp": 5, "x86_64": 5, "aarch64": 5, "continu": [5, 15, 25, 29], "64": [5, 20], "upgrad": 5, "maco": 5, "homebrew": 5, "Then": [5, 25], "brew": 5, "debian": 5, "sudo": 5, "apt": 5, "python3": [5, 16], "On": [5, 10, 15, 18, 24, 25, 27], "architectur": [5, 19], "pip3": 5, "linux": [5, 10], "repositori": [5, 6], "main": 5, "reliabl": [5, 6, 28], "flux": 5, "mind": 5, "git": 5, "com": 5, "directori": 5, "crash": [5, 15], "clone": 5, "ff": 5, "aim": 6, "learn": [6, 15, 29], "mistak": 6, "simplifi": [6, 15, 27], "restrict": [6, 21, 22, 27, 28], "choic": 6, "industri": 6, "convers": [6, 14, 24, 26, 28], "model": [6, 15, 17, 19], "human": [6, 28], "flexibl": [6, 21], "widespread": 6, "adopt": 6, "focus": 6, "state": [6, 14, 15, 18, 24, 25], "arithmet": [6, 14], "close": [6, 15], "organ": [6, 25], "seamlessli": [6, 14], "principl": [6, 28], "accident": 6, "parti": [6, 14, 17], "lint": 6, "synthesiz": [6, 16, 24], "prone": [6, 21, 28], "favor": 6, "regularli": 6, "highlight": 6, "importantli": [6, 14], "come": [6, 12], "focu": [6, 27], "treatment": 6, "overridden": [6, 21, 28], "gear": 6, "peripher": [6, 24, 26, 28], "migrat": 6, "Of": 6, "cours": 6, "icaru": 6, "veril": 6, "event": [6, 15], "slower": 6, "compil": 6, "ahead": 6, "remark": 6, "perform": [6, 14, 15, 19, 21, 22, 25, 27, 28], "pure": [6, 28], "co": 6, "major": [6, 28], "commerci": 6, "easili": [6, 26], "constraint": [6, 13, 16, 18], "script": [6, 8, 9, 10, 11, 12, 13], "placement": 6, "analysi": 6, "custom": [6, 14, 16, 19, 22, 23, 25], "insert": [6, 8, 10, 11, 12, 13, 25, 28], "portabl": 6, "remot": 6, "nix": 6, "everyth": [6, 17, 21, 22, 28], "connector": 6, "pinout": [6, 16], "probe": 6, "show": 6, "programm": [6, 10], "establish": 6, "segment": 6, "spi": 6, "sdram": 6, "reus": [6, 15, 28], "unmodifi": 6, "polar": [6, 15, 24], "unifi": [6, 27], "invers": [6, 14, 24], "trace": [6, 15], "invert": [6, 22, 24], "latticeplatform": [7, 10], "siliconblueplatform": [7, 10, 12], "quartu": 8, "quartus_map": 8, "quartus_fit": 8, "quartus_asm": 8, "quartus_sta": 8, "popul": [8, 9, 10, 11, 12, 13, 15, 21, 28], "amaranth_env_quartu": 8, "qsf": 8, "sdc": [8, 10, 12], "nproc": 8, "quartus_map_opt": 8, "extra": [8, 10, 12, 13], "quartus_fit_opt": 8, "quartus_asm_opt": 8, "quartus_sta_opt": 8, "product": [8, 9, 10, 12, 13], "rpt": [8, 10, 12, 13], "sof": 8, "rbf": 8, "raw": [8, 13, 14, 21], "amaranth_env_mistr": 8, "verbos": [8, 10, 12, 16], "read_verilog_opt": [8, 10, 12], "read_verilog": [8, 10, 12], "synth_opt": [8, 10, 12], "synth_intel_alm": 8, "script_after_read": [8, 10, 12, 13], "read_ilang": [8, 10, 12], "script_after_synth": [8, 10, 12, 13], "yosys_opt": [8, 10, 12], "nextpnr_opt": [8, 10, 12], "apicula": 9, "uarch": 9, "gowin_pack": 9, "amaranth_env_apicula": 9, "gw_sh": 9, "amaranth_env_gowin": 9, "machxo3l": 10, "trelli": 10, "diamond": 10, "machxo3": 10, "ecppack": 10, "amaranth_env_trelli": 10, "synth_": 10, "ecppack_opt": 10, "add_prefer": 10, "lpf": 10, "json": [10, 12, 26, 28], "rtl": [10, 12, 13], "tim": [10, 12], "config": 10, "ascii": [10, 12], "oxid": 10, "prjoxid": 10, "amaranth_env_oxid": 10, "synth_nexu": 10, "prjoxide_opt": 10, "pdc": 10, "xcf": 10, "pnmainc": 10, "ddtcmd": 10, "diamond_env": 10, "candid": 10, "bat": 10, "echo": 10, "lscc": 10, "diamond_vers": 10, "nt64": 10, "script_project": 10, "prj_project": 10, "tcl": [10, 12, 13], "script_after_export": 10, "prj_run": 10, "xdc": [10, 11, 13], "_impl": 10, "htm": [10, 12], "consolid": 10, "jed": 10, "jedec": 10, "fuse": 10, "radiant": 10, "radiantc": 10, "amaranth_env_radi": 10, "radiant_env": 10, "radiant_vers": 10, "prj_save": 10, "symbiflow_synth": [11, 13], "symbiflow_pack": [11, 13], "symbiflow_plac": [11, 13], "symbiflow_rout": [11, 13], "symbiflow_write_fasm": [11, 13], "symbiflow_write_bitstream": [11, 13], "amaranth_env_qlsymbiflow": 11, "icestorm": 12, "icecube2": 12, "icepack": 12, "amaranth_env_icestorm": 12, "synth_ice40": 12, "add_pre_pack": 12, "pre": 12, "pack": 12, "pcf": [12, 13], "asc": 12, "variant": 12, "lse": 12, "synplifi": 12, "tclsh": 12, "amaranth_env_icecube2": 12, "lse_opt": 12, "script_after_add": 12, "script_after_opt": 12, "set_opt": 12, "script_after_flow": 12, "run_sbt_backend_auto": 12, "sbt": 12, "_lse": 12, "_design": 12, "router": 12, "_time": [12, 13], "edf": 12, "edif": 12, "ISE": 13, "vivado": 13, "amaranth_env_vivado": 13, "read_xdc": 13, "synth_design": 13, "script_after_plac": 13, "place_design": 13, "script_after_rout": 13, "route_design": 13, "script_before_bitstream": 13, "write_bitstream": 13, "script_after_bitstream": 13, "vivado_opt": 13, "_timing_synth": 13, "_utilization_hierarchical_synth": 13, "_utilization_synth": 13, "_utilization_hierarchical_plac": 13, "_utilization_plac": 13, "_io": 13, "_control_set": 13, "_clock_util": 13, "_route_statu": 13, "_drc": 13, "_methodologi": 13, "_power": 13, "_rout": 13, "dcp": 13, "checkpoint": 13, "xst": 13, "ngdbuild": 13, "par": 13, "bitgen": 13, "amaranth_env_is": 13, "script_after_run": 13, "ucf": 13, "xst_opt": 13, "ngdbuild_opt": 13, "map_opt": 13, "par_opt": 13, "bitgen_opt": 13, "compress": 13, "srp": 13, "ngc": 13, "bld": 13, "ngd": 13, "databas": 13, "_map": 13, "mrp": 13, "ncd": 13, "physic": 13, "_par": 13, "_par_pad": 13, "txt": 13, "usag": 13, "drc": 13, "bgn": 13, "amaranth_env_symbiflow": 13, "fasm2fram": 13, "xc7frames2bit": 13, "amaranth_env_xrai": 13, "impend": [14, 17], "nontrivi": [14, 17], "underscor": [14, 21, 28], "intern": [14, 21, 24, 28], "kept": [14, 21], "downstream": 14, "src_loc_at": [14, 24, 25, 27, 28], "inspect": [14, 15, 16], "stack": 14, "site": [14, 16], "consider": 14, "concept": [14, 28], "my_shape_cast": 14, "obj": [14, 21, 26, 28], "frame": 14, "obtain": [14, 19], "varieti": 14, "static": [14, 21, 28], "repeatedli": [14, 15, 21], "as_shap": [14, 21, 22], "recursionerror": [14, 21], "__repr__": [14, 28], "mechan": [14, 24, 27], "illustr": [14, 27, 28], "purpos": [14, 28], "shape_cast": 14, "value_lik": 14, "idempot": 14, "caller": [14, 15], "arbitrari": [14, 15, 18, 21, 26, 27], "liter": 14, "constrain": 14, "valueerror": [14, 15, 21, 24], "unspecifi": [14, 21], "latter": [14, 21, 25], "compliant": [14, 28], "spec": 14, "issubclass": [14, 28], "cl": [14, 28], "enummeta": 14, "comput": [14, 17, 24, 28], "abil": [14, 16, 22], "bitwis": [14, 21, 22], "__invert__": [14, 22, 24], "drop": [14, 18, 22], "union": [14, 28], "opaqu": [14, 26], "enum_shap": 14, "as_valu": [14, 21, 22], "__bool__": 14, "forbidden": [14, 28], "__pos__": 14, "__neg__": 14, "__radd__": 14, "swap": 14, "__sub__": 14, "__rsub__": 14, "__mul__": 14, "__rmul__": 14, "__floordiv__": 14, "__rfloordiv__": 14, "__mod__": 14, "remaind": 14, "__rmod__": 14, "__eq__": [14, 21, 22, 28], "comparison": [14, 22], "__ne__": 14, "__lt__": 14, "__le__": 14, "__gt__": 14, "__ge__": 14, "deviat": 14, "wasn": 14, "imposs": [14, 28], "__and__": [14, 22, 24], "__rand__": [14, 22], "reduct": 14, "__or__": [14, 22], "__ror__": [14, 22], "__xor__": [14, 22], "__rxor__": [14, 22], "__lshift__": 14, "shift": [14, 19, 25], "__rlshift__": 14, "rotat": 14, "__rshift__": 14, "__rrshift__": 14, "__len__": [14, 24], "__getitem__": [14, 21, 24, 25, 28], "trim": 14, "__contains__": [14, 28], "membership": 14, "granular": [14, 25], "success": 14, "adjac": 14, "_": [14, 15, 16, 24, 25, 27, 28], "grammar": 14, "invalid": [14, 28], "__hash__": 14, "hash": 14, "preclud": 14, "dict": [14, 15, 21, 26, 28], "assoc": 14, "id": [14, 26, 28], "info": 14, "__format__": 14, "format_desc": 14, "unsuit": 14, "realli": 14, "dump": 14, "repr": 14, "prefer": [14, 15, 25], "value_cast": 14, "discov": 14, "richer": 14, "badenum": 14, "adder": [15, 26], "dut": [15, 16, 24, 27], "stimul": 15, "nor": [15, 22, 28], "measur": 15, "stimulu": 15, "reach": [15, 16, 21, 28], "write_vcd": [15, 16, 27], "mhz": [15, 16, 24, 27], "\u00b5": 15, "example1": 15, "revert": 15, "example1_error": 15, "verifi": [15, 16, 28], "intend": [15, 28], "concurr": [15, 16, 25], "interact": [15, 25, 27, 28], "ctx": [15, 16, 24, 25, 27], "wait": [15, 27], "testbench_example2": 15, "await": [15, 16, 24, 27], "repeat": [15, 28], "5th": 15, "deassert": [15, 18, 27], "10th": 15, "example2": 15, "react": [15, 21], "testbench_example3": 15, "1717": 15, "420": 15, "2137": 15, "example3": 15, "instant": 15, "techniqu": 15, "commonli": [15, 19], "reimplement": 15, "algorithm": [15, 17], "simultan": [15, 19], "order": [15, 19, 21, 27, 28], "yield": [15, 21, 28], "inconsist": 15, "converg": 15, "rest": [15, 21, 25, 28], "process_example4": 15, "count_valu": 15, "rst_valu": 15, "en_valu": 15, "elif": [15, 16, 24, 27], "testbench_example4": 15, "example4": 15, "anytim": 15, "process_example5": 15, "a_valu": 15, "b_valu": 15, "testbench_example5": 15, "example5": 15, "toplevel": [15, 24], "exercis": [15, 29], "lifecycl": 15, "stage": [15, 18], "fast": [15, 21], "process_instr_decod": 15, "testbench_cpu_execut": 15, "amort": 15, "cost": [15, 18], "if_exist": 15, "duti": [15, 18], "coincid": [15, 24], "nameerror": [15, 28], "driverconflict": 15, "runtimeerror": 15, "creation": [15, 28], "constructor": [15, 24, 28], "background": 15, "coroutin": 15, "exit": 15, "temporarili": 15, "share": [15, 21], "coordin": 15, "procss": 15, "indefinit": 15, "regard": 15, "closest": 15, "vcd_file": 15, "gtkw_file": 15, "referenc": [15, 21], "filenam": 15, "row": [15, 25], "restart": 15, "preempt": 15, "paus": [15, 27], "expr": 15, "span": [15, 21], "arriv": 15, "elev": 15, "durat": 15, "testbench_bus_transact": 15, "rst_activ": 15, "bus_active_valu": 15, "addr_valu": 15, "r_addr": 15, "ticktrigg": 15, "look": [15, 21], "indirect": 15, "triggercombin": 15, "expir": 15, "invis": 15, "wake": 15, "handl": [15, 19, 23, 25], "spuriou": 15, "wakeup": 15, "presenc": [15, 28], "brokentrigg": 15, "statu": [15, 26, 28], "race": 15, "suitabl": 15, "posedg": [15, 16, 24, 27], "negedg": 15, "domainreset": 15, "shot": 15, "clk_hit": 15, "multi": [15, 19, 24], "respond": [15, 28], "notifi": 15, "in_a_valu": 15, "in_b_valu": 15, "in_a": 15, "in_b": 15, "advantag": 15, "append": 15, "met": 15, "discard": [15, 27], "flag_valu": 15, "flag": [15, 22, 28], "arst_edg": 15, "delay_expir": 15, "arst": [15, 18], "1e": 15, "cursori": 16, "overview": 16, "explan": [16, 28], "shown": [16, 28], "up_count": 16, "upcount": 16, "ovf": 16, "super": [16, 21, 24, 26, 28], "black": [16, 21], "25": [16, 20], "24": [16, 20, 21, 24, 28], "clear": [16, 25, 28], "successfulli": 16, "de": 16, "facto": 16, "rise": [16, 24], "lightli": 16, "auto": 16, "verilog_backend": 16, "cc": 16, "2255": 16, "dump_modul": 16, "src": 16, "ir": 16, "509": 16, "29": 16, "h0000": 16, "1647": 16, "h19": 16, "h1": 16, "full_cas": 16, "xfrm": 16, "534": 16, "endmodul": 16, "aid": 16, "unfortun": [16, 24, 25, 26], "standalon": [16, 28], "adapt": 16, "hz": 16, "ledblink": 16, "half_freq": 16, "icestick": 16, "link": [16, 28], "foss": 16, "probabl": 16, "icestickplatform": 16, "do_program": 16, "benefit": 16, "turnkei": 16, "categori": 17, "idiomat": [17, 28], "metaclass": [17, 28], "schema": [17, 28], "syncfifobuff": [17, 23, 27], "asyncfifobuff": [17, 23], "resynchronis": 18, "flip": [18, 24, 28], "flop": 18, "metast": 18, "synchronis": 18, "o_domain": [18, 24], "unaffect": 18, "mtbf": 18, "increas": [18, 23, 24], "latenc": [18, 19, 23, 24, 25, 27], "max_input_delai": 18, "maximum": [18, 24], "fail": [18, 25, 28], "safest": 18, "load": 18, "asic": [18, 25], "warm": 18, "insuffici": 18, "get_ff_sync": 18, "cell": [18, 25], "primarili": [18, 28], "async_edg": 18, "po": 18, "get_async_ff_sync": 18, "gate": 18, "promptli": 18, "get_reset_sync": 18, "puls": [18, 24], "ratio": 18, "i_domain": [18, 24], "polynomi": [19, 20], "catalog": 19, "accommod": [19, 21], "crc16_ccitt": [19, 20], "crc16_usb": [19, 20], "crc16": 19, "ccitt": 19, "byte": [19, 21, 24], "usb": 19, "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, 26], "data_width": [19, 25, 28], "123456789": 19, "0x29b1": 19, "william": 19, "painless": 19, "reveng": [19, 20], "catalogu": [19, 20], "parameteris": 19, "crcmod": 19, "polynomin": 19, "zoo": 19, "entri": [19, 23], "highest": 19, "transmiss": [19, 24, 27], "littl": 19, "endian": 19, "0x4e4c": 19, "transmit": [19, 24, 27], "octet": 19, "0x4c": 19, "0x4e": 19, "plu": [19, 21, 23, 24], "residu": 19, "trail": 19, "subsequ": 19, "throughput": 19, "per": [19, 24], "classic": 19, "serial": [19, 24], "galoi": 19, "match_detect": 19, "codeword": 19, "theori": 19, "initialis": 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_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, "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, 27], "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, "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, "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, "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, "relat": [21, 24, 25, 28], "foundat": [21, 24], "introspect": [21, 27, 28], "structlayout": 21, "unionlayout": 21, "flexiblelayout": 21, "struct": 21, "rgb": 21, "grayscal": 21, "color": 21, "rgb565": 21, "approxim": 21, "i_color": 21, "o_grai": 21, "repetit": [21, 27, 28], "rgb565_layout": 21, "red": 21, "accumul": 21, "averag": 21, "intens": 21, "input_layout": 21, "i_stream": [21, 27], "r_accum": 21, "sum": 21, "interchang": 21, "rgb_layout": 21, "r_bit": 21, "g_bit": 21, "b_bit": 21, "rgb24_layout": 21, "rgblayout": 21, "rgbview": 21, "ieee754singl": 21, "fraction": 21, "is_subnorm": 21, "set_addr": 21, "send_data": 21, "biggest": 21, "One": [21, 27], "cmd": 21, "0x00001234": 21, "preserv": [21, 24], "invari": 21, "__iter__": [21, 28], "keyerror": 21, "size": [21, 25], "gap": 21, "pad": 21, "_1": 21, "_2": 21, "won": 21, "dictionari": [21, 28], "largest": 21, "elem_shap": 21, "multipli": 21, "contigu": 21, "boundari": [21, 28], "arbitrarili": 21, "stride": 21, "chosen": 21, "dynam": [21, 25], "as_bit": 21, "__getattr__": [21, 28], "attributeerror": [21, 28], "accord": [21, 24, 26, 27], "ieee": 21, "754": 21, "flt": 21, "hex": 21, "0x3f800000": 21, "0xbf800000": 21, "haschecksum": 21, "checksum": 21, "barehead": 21, "headerwithparam": 21, "bare": 21, "varint": 21, "int8": 21, "int16": 21, "0x100": 21, "intflag": 22, "subi": 22, "likewis": 22, "normalenum": 22, "spam": 22, "ham": 22, "flagview": 22, "wrapper": [22, 28], "stdin": 22, "loos": 22, "transparentenum": 22, "instrview": 22, "has_immedi": 22, "view_class": 22, "d16": 22, "d17": 22, "enumtyp": 22, "arg": [22, 28], "kwarg": [22, 28], "among": 22, "w_data": [23, 26, 28], "w_rdy": 23, "w_en": [23, 26], "r_rdy": 23, "unread": 23, "substitut": 23, "incompat": [23, 28], "ram": [23, 25], "exchang": [23, 26, 27], "r_domain": 23, "w_domain": 23, "exact_depth": 23, "doubl": [24, 28], "rate": [24, 25, 27], "ddr": 24, "unavail": [24, 25, 28], "capabl": [24, 28], "terminologi": [24, 25], "clk24": 24, "recal": 24, "bus_d": 24, "bus_r": 24, "bus_w": 24, "turn": 24, "pipelin": 24, "buse": [24, 28], "diagram": [24, 25, 27], "complic": 24, "sourcesynchronousoutput": 24, "dout": 24, "bus_dclk": 24, "dclk": 24, "bus_dout": 24, "halv": 24, "align": 24, "unidirection": 24, "sim_port": 24, "outputseri": 24, "dclk_port": 24, "dout_port": 24, "payload": [24, 27], "readi": [24, 27, 28, 29], "test_output_seri": 24, "testbench_write_data": 24, "0xa1": 24, "testbench_sample_output": 24, "dout_valu": 24, "world": [24, 25], "bidir": 24, "narrow": 24, "differenti": 24, "Its": [24, 27], "iovalu": 24, "ouptut": 24, "relationship": [24, 28], "label": [24, 25], "t1": 24, "t2": 24, "recept": [24, 27], "queri": 24, "readport": 25, "writeport": 25, "read_port": 25, "write_port": 25, "almost": [25, 28], "dual": 25, "tdp": 25, "sdp": 25, "dram": 25, "abbrevi": 25, "consum": [25, 27, 28], "extrem": 25, "errata": 25, "defect": 25, "basi": 25, "simpler": 25, "better": 25, "hello": 25, "rd_port": 25, "writabl": 25, "push": [25, 27], "pop": 25, "wr_port": 25, "transparent_for": 25, "minimum": [25, 26], "alreadyelabor": 25, "geometri": 25, "delet": [25, 28], "dimens": [25, 28], "get_memori": 25, "ti": [25, 27], "old": 25, "addr_width": [25, 28], "partial": 25, "evenli": 25, "split": 25, "far": 25, "en_width": 25, "elem_count": 25, "stai": 26, "ecosystem": 26, "explor": 26, "33": 26, "pars": 26, "unreward": 26, "as_json": [26, 28], "adher": 26, "csr": 26, "csrlayoutannot": 26, "draft": 26, "2020": 26, "patternproperti": 26, "requiredproperti": 26, "_origin": 26, "conform": [26, 28], "csrsignatur": 26, "superclass": [26, 28], "emb": 26, "myperipher": 26, "csr_bu": 26, "0x0004": 26, "0x0008": 26, "csr_bus__addr": 26, "csr_bus__w_en": 26, "csr_bus__w_data": 26, "csr_bus__r_en": 26, "csr_bus__r_data": 26, "url": 26, "suggest": 26, "encourag": [26, 28], "invalidschema": 26, "invalidannot": 26, "classmethod": [26, 28], "__init_subclass__": 26, "handshak": 27, "govern": 27, "convei": 27, "backpressur": 27, "tie": 27, "always_readi": 27, "always_valid": 27, "unduli": 27, "albeit": 27, "dsp": 27, "uniform": 27, "stream_get": 27, "stream_put": 27, "pend": 27, "ssel": 27, "sclk": 27, "sdat": 27, "eight": 27, "consecut": 27, "assembl": 27, "serialreceiv": 27, "sclk_reg": 27, "sclk_edg": 27, "test_serial_receiv": 27, "testbench_input": 27, "testbench_output": 27, "expected_word": 27, "0b10100111": 27, "08b": 27, "stream_serial_receiv": 27, "serialtransmitt": 27, "test_serial_transmitt": 27, "expected_bit": 27, "stream_serial_transmitt": 27, "fir": 27, "filter": 27, "valueneg": 27, "o_stream": 27, "test_value_neg": 27, "stream_value_neg": 27, "seri": 27, "momentari": 27, "loss": 27, "examplepipelin": 27, "i_ssel": 27, "i_sclk": 27, "i_sdat": 27, "o_ssel": 27, "o_sclk": 27, "o_sdat": 27, "w_stream": 27, "r_stream": 27, "test_example_pipelin": 27, "expected_valu": 27, "stream_example_pipelin": 27, "payload_shap": 27, "lane": 27, "packet": 27, "shortcut": [27, 28], "signaturememb": 28, "flippedsignatur": 28, "flippedinterfac": 28, "flippedsignaturememb": 28, "vice": 28, "versa": 28, "basiccount": 28, "solut": 28, "rewritten": 28, "componentcount": 28, "gone": 28, "unchang": 28, "answer": 28, "question": 28, "genericcount": 28, "direction": 28, "meaning": 28, "sink": 28, "dataproduc": 28, "dataconsum": 28, "though": 28, "simplestreamsignatur": 28, "data_shap": 28, "intact": 28, "intf": 28, "metaprogram": 28, "streamproduc": 28, "streamconsum": 28, "complementari": 28, "ubiquit": 28, "streamconsumerusingin": 28, "deep": 28, "in1": 28, "in2": 28, "auxiliari": 28, "robust": 28, "proportion": 28, "pronounc": 28, "refactor": 28, "conclud": 28, "expos": 28, "dataprocessorimplement": 28, "dataprocessorwrapp": 28, "impl": 28, "dataforward": 28, "producerrequiringreadi": 28, "consumeralwaysreadi": 28, "consumerpossiblyunreadi": 28, "connectionerror": 28, "arg0": 28, "prolifer": 28, "subtli": 28, "absenc": 28, "legacyaxidataproduc": 28, "adata": 28, "avalid": 28, "areadi": 28, "moderndataconsum": 28, "data_produc": 28, "data_consum": 28, "adapted_data_sourc": 28, "usefulli": 28, "transfertyp": 28, "simplebussignatur": 28, "_addr_width": 28, "rw": 28, "simplebusinterfac": 28, "is_read_xf": 28, "is_write_xf": 28, "frozen": 28, "freez": 28, "anonym": 28, "sig32": 28, "sig24": 28, "bus__en": 28, "bus__rw": 28, "bus__addr": 28, "bus__r_data": 28, "bus__w_data": 28, "unusu": 28, "ever": 28, "denot": 28, "cyc": 28, "outgo": 28, "That": 28, "incom": 28, "discrimin": 28, "rgbpixel": 28, "prepend": 28, "dimension": 28, "is_port": 28, "is_signatur": 28, "signatureerror": 28, "abc": 28, "__setitem__": 28, "stub": 28, "forbid": 28, "__delitem__": 28, "flatten": 28, "disregard": 28, "__": 28, "unflip": 28, "flipped_memb": 28, "ing": 28, "influenc": 28, "obj__items__0": 28, "obj__items__1": 28, "prescrib": 28, "aspect": 28, "complianc": 28, "fill": 28, "help": 28, "hoc": 28, "customsignatur": 28, "custominterfac": 28, "my_properti": 28, "accur": 28, "flipped_sig": 28, "distinguish": 28, "signatureknowswhenflip": 28, "is_flip": 28, "getattr": 28, "getter": 28, "__setattr__": 28, "setattr": 28, "setter": 28, "__delattr__": 28, "delattr": 28, "signaturemeta": 28, "subtyp": 28, "__subclasscheck__": 28, "__instancecheck__": 28, "overhead": 28, "__dict__": 28, "approach": 28, "checker": 28, "track": 28, "burdensom": 28, "flipped_intf": 28, "interfaceknowswhenflip": 28, "other_unflip": 28, "caveat": 28, "obj1": 28, "obj2": 28, "obj3": 28, "besid": 28, "out1": 28, "arbit": 28, "decod": 28, "clarifi": 28, "fixedcompon": 28, "assumpt": 28, "parametriccompon": 28, "rai": 28, "attach": 28, "invalidmetadata": 28, "network": 28, "offici": 29, "vivonomicon": 29, "kbob": 29, "robert": 29, "baruch": 29, "my": 29, "journei": 29, "david": 29, "sporn": 29, "focuss": 29, "workstat": 29}, "objects": {"amaranth": [[14, 0, 0, "-", "hdl"], [15, 0, 0, "-", "sim"]], "amaranth.hdl": [[25, 1, 1, "", "MemoryData"], [14, 1, 1, "", "Shape"], [14, 1, 1, "", "ShapeCastable"], [14, 1, 1, "", "ShapeLike"], [14, 1, 1, "", "Value"], [14, 1, 1, "", "ValueCastable"], [14, 1, 1, "", "ValueLike"], [14, 4, 1, "", "signed"], [14, 4, 1, "", "unsigned"]], "amaranth.hdl.MemoryData": [[25, 1, 1, "", "Init"], [25, 2, 1, "", "__getitem__"]], "amaranth.hdl.Shape": [[14, 2, 1, "", "__repr__"], [14, 2, 1, "", "cast"]], "amaranth.hdl.ShapeCastable": [[14, 2, 1, "", "__call__"], [14, 2, 1, "", "as_shape"], [14, 2, 1, "", "const"], [14, 2, 1, "", "format"], [14, 2, 1, "", "from_bits"]], "amaranth.hdl.Value": [[14, 2, 1, "", "__abs__"], [14, 2, 1, "", "__add__"], [14, 2, 1, "", "__and__"], [14, 2, 1, "", "__bool__"], [14, 2, 1, "", "__contains__"], [14, 2, 1, "", "__eq__"], [14, 2, 1, "", "__floordiv__"], [14, 2, 1, "", "__format__"], [14, 2, 1, "", "__ge__"], [14, 2, 1, "", "__getitem__"], [14, 2, 1, "", "__gt__"], [14, 3, 1, "", "__hash__"], [14, 2, 1, "", "__invert__"], [14, 2, 1, "", "__le__"], [14, 2, 1, "", "__len__"], [14, 2, 1, "", "__lshift__"], [14, 2, 1, "", "__lt__"], [14, 2, 1, "", "__mod__"], [14, 2, 1, "", "__mul__"], [14, 2, 1, "", "__ne__"], [14, 2, 1, "", "__neg__"], [14, 2, 1, "", "__or__"], [14, 2, 1, "", "__pos__"], [14, 2, 1, "", "__radd__"], [14, 2, 1, "", "__rand__"], [14, 2, 1, "", "__rfloordiv__"], [14, 2, 1, "", "__rlshift__"], [14, 2, 1, "", "__rmod__"], [14, 2, 1, "", "__rmul__"], [14, 2, 1, "", "__ror__"], [14, 2, 1, "", "__rrshift__"], [14, 2, 1, "", "__rshift__"], [14, 2, 1, "", "__rsub__"], [14, 2, 1, "", "__rxor__"], [14, 2, 1, "", "__sub__"], [14, 2, 1, "", "__xor__"], [14, 2, 1, "", "all"], [14, 2, 1, "", "any"], [14, 2, 1, "", "as_signed"], [14, 2, 1, "", "as_unsigned"], [14, 2, 1, "", "bit_select"], [14, 2, 1, "", "bool"], [14, 2, 1, "", "cast"], [14, 2, 1, "", "eq"], [14, 2, 1, "", "matches"], [14, 2, 1, "", "replicate"], [14, 2, 1, "", "rotate_left"], [14, 2, 1, "", "rotate_right"], [14, 2, 1, "", "shape"], [14, 2, 1, "", "shift_left"], [14, 2, 1, "", "shift_right"], [14, 2, 1, "", "word_select"], [14, 2, 1, "", "xor"]], "amaranth.hdl.ValueCastable": [[14, 2, 1, "", "as_value"], [14, 2, 1, "", "shape"]], "amaranth.lib": [[18, 0, 0, "-", "cdc"], [19, 0, 0, "-", "crc"], [21, 0, 0, "-", "data"], [22, 0, 0, "-", "enum"], [23, 0, 0, "-", "fifo"], [24, 0, 0, "-", "io"], [25, 0, 0, "-", "memory"], [26, 0, 0, "-", "meta"], [27, 0, 0, "-", "stream"], [28, 0, 0, "-", "wiring"]], "amaranth.lib.cdc": [[18, 1, 1, "", "AsyncFFSynchronizer"], [18, 1, 1, "", "FFSynchronizer"], [18, 1, 1, "", "PulseSynchronizer"], [18, 1, 1, "", "ResetSynchronizer"]], "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, 2, 1, "", "compute"], [19, 2, 1, "", "create"], [19, 2, 1, "", "residue"]], "amaranth.lib.crc.catalog": [[20, 5, 1, "", "CRC10_ATM"], [20, 5, 1, "", "CRC10_CDMA2000"], [20, 5, 1, "", "CRC10_GSM"], [20, 5, 1, "", "CRC10_I_610"], [20, 5, 1, "", "CRC11_FLEXRAY"], [20, 5, 1, "", "CRC11_UMTS"], [20, 5, 1, "", "CRC12_3GPP"], [20, 5, 1, "", "CRC12_CDMA2000"], [20, 5, 1, "", "CRC12_DECT"], [20, 5, 1, "", "CRC12_GSM"], [20, 5, 1, "", "CRC12_UMTS"], [20, 5, 1, "", "CRC13_BBC"], [20, 5, 1, "", "CRC14_DARC"], [20, 5, 1, "", "CRC14_GSM"], [20, 5, 1, "", "CRC15_CAN"], [20, 5, 1, "", "CRC15_MPT1327"], [20, 5, 1, "", "CRC16_ACORN"], [20, 5, 1, "", "CRC16_ARC"], [20, 5, 1, "", "CRC16_AUG_CCITT"], [20, 5, 1, "", "CRC16_AUTOSAR"], [20, 5, 1, "", "CRC16_BLUETOOTH"], [20, 5, 1, "", "CRC16_BUYPASS"], [20, 5, 1, "", "CRC16_CCITT"], [20, 5, 1, "", "CRC16_CCITT_FALSE"], [20, 5, 1, "", "CRC16_CCITT_TRUE"], [20, 5, 1, "", "CRC16_CDMA2000"], [20, 5, 1, "", "CRC16_CMS"], [20, 5, 1, "", "CRC16_DARC"], [20, 5, 1, "", "CRC16_DDS_110"], [20, 5, 1, "", "CRC16_DECT_R"], [20, 5, 1, "", "CRC16_DECT_X"], [20, 5, 1, "", "CRC16_DNP"], [20, 5, 1, "", "CRC16_EN_13757"], [20, 5, 1, "", "CRC16_EPC"], [20, 5, 1, "", "CRC16_EPC_C1G2"], [20, 5, 1, "", "CRC16_GENIBUS"], [20, 5, 1, "", "CRC16_GSM"], [20, 5, 1, "", "CRC16_IBM"], [20, 5, 1, "", "CRC16_IBM_3740"], [20, 5, 1, "", "CRC16_IBM_SDLC"], [20, 5, 1, "", "CRC16_IEC_61158_2"], [20, 5, 1, "", "CRC16_ISO_HDLC"], [20, 5, 1, "", "CRC16_ISO_IEC_14443_3_A"], [20, 5, 1, "", "CRC16_ISO_IEC_14443_3_B"], [20, 5, 1, "", "CRC16_I_CODE"], [20, 5, 1, "", "CRC16_KERMIT"], [20, 5, 1, "", "CRC16_LJ1200"], [20, 5, 1, "", "CRC16_LTE"], [20, 5, 1, "", "CRC16_M17"], [20, 5, 1, "", "CRC16_MAXIM"], [20, 5, 1, "", "CRC16_MAXIM_DOW"], [20, 5, 1, "", "CRC16_MCRF4XX"], [20, 5, 1, "", "CRC16_MODBUS"], [20, 5, 1, "", "CRC16_NRSC_5"], [20, 5, 1, "", "CRC16_OPENSAFETY_A"], [20, 5, 1, "", "CRC16_OPENSAFETY_B"], [20, 5, 1, "", "CRC16_PROFIBUS"], [20, 5, 1, "", "CRC16_RIELLO"], [20, 5, 1, "", "CRC16_SPI_FUJITSU"], [20, 5, 1, "", "CRC16_T10_DIF"], [20, 5, 1, "", "CRC16_TELEDISK"], [20, 5, 1, "", "CRC16_TMS37157"], [20, 5, 1, "", "CRC16_UMTS"], [20, 5, 1, "", "CRC16_USB"], [20, 5, 1, "", "CRC16_VERIFONE"], [20, 5, 1, "", "CRC16_V_41_LSB"], [20, 5, 1, "", "CRC16_V_41_MSB"], [20, 5, 1, "", "CRC16_X25"], [20, 5, 1, "", "CRC16_XMODEM"], [20, 5, 1, "", "CRC16_ZMODEM"], [20, 5, 1, "", "CRC17_CAN_FD"], [20, 5, 1, "", "CRC21_CAN_FD"], [20, 5, 1, "", "CRC24_BLE"], [20, 5, 1, "", "CRC24_FLEXRAY_A"], [20, 5, 1, "", "CRC24_FLEXRAY_B"], [20, 5, 1, "", "CRC24_INTERLAKEN"], [20, 5, 1, "", "CRC24_LTE_A"], [20, 5, 1, "", "CRC24_LTE_B"], [20, 5, 1, "", "CRC24_OPENPGP"], [20, 5, 1, "", "CRC24_OS_9"], [20, 5, 1, "", "CRC30_CDMA"], [20, 5, 1, "", "CRC31_PHILIPS"], [20, 5, 1, "", "CRC32_AAL5"], [20, 5, 1, "", "CRC32_ADCCP"], [20, 5, 1, "", "CRC32_AIXM"], [20, 5, 1, "", "CRC32_AUTOSAR"], [20, 5, 1, "", "CRC32_BASE91_C"], [20, 5, 1, "", "CRC32_BASE91_D"], [20, 5, 1, "", "CRC32_BZIP2"], [20, 5, 1, "", "CRC32_CASTAGNOLI"], [20, 5, 1, "", "CRC32_CD_ROM_EDC"], [20, 5, 1, "", "CRC32_CKSUM"], [20, 5, 1, "", "CRC32_DECT_B"], [20, 5, 1, "", "CRC32_ETHERNET"], [20, 5, 1, "", "CRC32_INTERLAKEN"], [20, 5, 1, "", "CRC32_ISCSI"], [20, 5, 1, "", "CRC32_ISO_HDLC"], [20, 5, 1, "", "CRC32_JAMCRC"], [20, 5, 1, "", "CRC32_MEF"], [20, 5, 1, "", "CRC32_MPEG_2"], [20, 5, 1, "", "CRC32_PKZIP"], [20, 5, 1, "", "CRC32_POSIX"], [20, 5, 1, "", "CRC32_V_42"], [20, 5, 1, "", "CRC32_XFER"], [20, 5, 1, "", "CRC32_XZ"], [20, 5, 1, "", "CRC3_GSM"], [20, 5, 1, "", "CRC3_ROHC"], [20, 5, 1, "", "CRC40_GSM"], [20, 5, 1, "", "CRC4_G_704"], [20, 5, 1, "", "CRC4_INTERLAKEN"], [20, 5, 1, "", "CRC4_ITU"], [20, 5, 1, "", "CRC5_EPC"], [20, 5, 1, "", "CRC5_EPC_C1G2"], [20, 5, 1, "", "CRC5_G_704"], [20, 5, 1, "", "CRC5_ITU"], [20, 5, 1, "", "CRC5_USB"], [20, 5, 1, "", "CRC64_ECMA"], [20, 5, 1, "", "CRC64_ECMA_182"], [20, 5, 1, "", "CRC64_GO_ISO"], [20, 5, 1, "", "CRC64_MS"], [20, 5, 1, "", "CRC64_REDIS"], [20, 5, 1, "", "CRC64_WE"], [20, 5, 1, "", "CRC64_XZ"], [20, 5, 1, "", "CRC6_CDMA2000_A"], [20, 5, 1, "", "CRC6_CDMA2000_B"], [20, 5, 1, "", "CRC6_DARC"], [20, 5, 1, "", "CRC6_GSM"], [20, 5, 1, "", "CRC6_G_704"], [20, 5, 1, "", "CRC6_ITU"], [20, 5, 1, "", "CRC7_MMC"], [20, 5, 1, "", "CRC7_ROHC"], [20, 5, 1, "", "CRC7_UMTS"], [20, 5, 1, "", "CRC82_DARC"], [20, 5, 1, "", "CRC8_AES"], [20, 5, 1, "", "CRC8_AUTOSAR"], [20, 5, 1, "", "CRC8_BLUETOOTH"], [20, 5, 1, "", "CRC8_CDMA2000"], [20, 5, 1, "", "CRC8_DARC"], [20, 5, 1, "", "CRC8_DVB_S2"], [20, 5, 1, "", "CRC8_ETU"], [20, 5, 1, "", "CRC8_GSM_A"], [20, 5, 1, "", "CRC8_GSM_B"], [20, 5, 1, "", "CRC8_HITAG"], [20, 5, 1, "", "CRC8_ITU"], [20, 5, 1, "", "CRC8_I_432_1"], [20, 5, 1, "", "CRC8_I_CODE"], [20, 5, 1, "", "CRC8_LTE"], [20, 5, 1, "", "CRC8_MAXIM"], [20, 5, 1, "", "CRC8_MAXIM_DOW"], [20, 5, 1, "", "CRC8_MIFARE_MAD"], [20, 5, 1, "", "CRC8_NRSC_5"], [20, 5, 1, "", "CRC8_OPENSAFETY"], [20, 5, 1, "", "CRC8_ROHC"], [20, 5, 1, "", "CRC8_SAE_J1850"], [20, 5, 1, "", "CRC8_SMBUS"], [20, 5, 1, "", "CRC8_TECH_3250"], [20, 5, 1, "", "CRC8_WCDMA"]], "amaranth.lib.data": [[21, 1, 1, "", "ArrayLayout"], [21, 1, 1, "", "Const"], [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, 6, 1, "", "size"]], "amaranth.lib.data.Const": [[21, 2, 1, "", "__getattr__"], [21, 2, 1, "", "__getitem__"], [21, 2, 1, "", "as_bits"], [21, 2, 1, "", "as_value"], [21, 2, 1, "", "shape"]], "amaranth.lib.data.Field": [[21, 2, 1, "", "__eq__"], [21, 6, 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, 2, 1, "", "from_bits"], [21, 6, 1, "", "size"]], "amaranth.lib.data.StructLayout": [[21, 6, 1, "", "size"]], "amaranth.lib.data.UnionLayout": [[21, 6, 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, "", "EnumType"], [22, 1, 1, "", "EnumView"], [22, 1, 1, "", "Flag"], [22, 1, 1, "", "FlagView"], [22, 1, 1, "", "IntEnum"], [22, 1, 1, "", "IntFlag"]], "amaranth.lib.enum.EnumType": [[22, 2, 1, "", "__call__"], [22, 2, 1, "", "as_shape"]], "amaranth.lib.enum.EnumView": [[22, 2, 1, "", "__eq__"], [22, 2, 1, "", "__init__"], [22, 2, 1, "", "as_value"], [22, 2, 1, "", "eq"], [22, 2, 1, "", "matches"], [22, 2, 1, "", "shape"]], "amaranth.lib.enum.FlagView": [[22, 2, 1, "", "__and__"], [22, 2, 1, "", "__invert__"], [22, 2, 1, "", "__or__"], [22, 2, 1, "", "__rand__"], [22, 2, 1, "", "__ror__"], [22, 2, 1, "", "__rxor__"], [22, 2, 1, "", "__xor__"]], "amaranth.lib.fifo": [[23, 1, 1, "", "AsyncFIFO"], [23, 1, 1, "", "AsyncFIFOBuffered"], [23, 1, 1, "", "FIFOInterface"], [23, 1, 1, "", "SyncFIFO"], [23, 1, 1, "", "SyncFIFOBuffered"]], "amaranth.lib.io": [[24, 1, 1, "", "Buffer"], [24, 1, 1, "", "DDRBuffer"], [24, 1, 1, "", "DifferentialPort"], [24, 1, 1, "", "Direction"], [24, 1, 1, "", "FFBuffer"], [24, 1, 1, "", "PortLike"], [24, 1, 1, "", "SimulationPort"], [24, 1, 1, "", "SingleEndedPort"]], "amaranth.lib.io.Buffer": [[24, 1, 1, "", "Signature"]], "amaranth.lib.io.DDRBuffer": [[24, 1, 1, "", "Signature"]], "amaranth.lib.io.Direction": [[24, 3, 1, "", "Bidir"], [24, 3, 1, "", "Input"], [24, 3, 1, "", "Output"], [24, 2, 1, "", "__and__"]], "amaranth.lib.io.FFBuffer": [[24, 1, 1, "", "Signature"]], "amaranth.lib.io.PortLike": [[24, 2, 1, "", "__add__"], [24, 2, 1, "", "__getitem__"], [24, 2, 1, "", "__invert__"], [24, 2, 1, "", "__len__"], [24, 6, 1, "", "direction"]], "amaranth.lib.memory": [[25, 1, 1, "", "Memory"], [25, 1, 1, "", "ReadPort"], [25, 1, 1, "", "WritePort"]], "amaranth.lib.memory.Memory": [[25, 2, 1, "", "read_port"], [25, 6, 1, "", "read_ports"], [25, 2, 1, "", "write_port"], [25, 6, 1, "", "write_ports"]], "amaranth.lib.memory.ReadPort": [[25, 1, 1, "", "Signature"]], "amaranth.lib.memory.WritePort": [[25, 1, 1, "", "Signature"]], "amaranth.lib.meta": [[26, 1, 1, "", "Annotation"], [26, 7, 1, "", "InvalidAnnotation"], [26, 7, 1, "", "InvalidSchema"]], "amaranth.lib.meta.Annotation": [[26, 2, 1, "", "__init_subclass__"], [26, 2, 1, "", "as_json"], [26, 6, 1, "", "origin"], [26, 3, 1, "", "schema"], [26, 2, 1, "", "validate"]], "amaranth.lib.stream": [[27, 1, 1, "", "Interface"], [27, 1, 1, "", "Signature"]], "amaranth.lib.stream.Interface": [[27, 6, 1, "", "p"]], "amaranth.lib.wiring": [[28, 1, 1, "", "Component"], [28, 1, 1, "", "ComponentMetadata"], [28, 7, 1, "", "ConnectionError"], [28, 1, 1, "", "FlippedInterface"], [28, 1, 1, "", "FlippedSignature"], [28, 1, 1, "", "FlippedSignatureMembers"], [28, 1, 1, "", "Flow"], [28, 5, 1, "", "In"], [28, 7, 1, "", "InvalidMetadata"], [28, 1, 1, "", "Member"], [28, 5, 1, "", "Out"], [28, 1, 1, "", "PureInterface"], [28, 1, 1, "", "Signature"], [28, 7, 1, "", "SignatureError"], [28, 1, 1, "", "SignatureMembers"], [28, 1, 1, "", "SignatureMeta"], [28, 4, 1, "", "connect"], [28, 4, 1, "", "flipped"]], "amaranth.lib.wiring.Component": [[28, 6, 1, "", "metadata"], [28, 6, 1, "", "signature"]], "amaranth.lib.wiring.ComponentMetadata": [[28, 2, 1, "", "as_json"], [28, 6, 1, "", "origin"], [28, 3, 1, "", "schema"], [28, 2, 1, "", "validate"]], "amaranth.lib.wiring.FlippedInterface": [[28, 2, 1, "", "__delattr__"], [28, 2, 1, "", "__eq__"], [28, 2, 1, "", "__getattr__"], [28, 2, 1, "", "__setattr__"], [28, 6, 1, "", "signature"]], "amaranth.lib.wiring.FlippedSignature": [[28, 2, 1, "", "__delattr__"], [28, 2, 1, "", "__getattr__"], [28, 2, 1, "", "__setattr__"], [28, 2, 1, "", "flip"]], "amaranth.lib.wiring.FlippedSignatureMembers": [[28, 2, 1, "", "flip"]], "amaranth.lib.wiring.Flow": [[28, 3, 1, "", "In"], [28, 3, 1, "", "Out"], [28, 2, 1, "", "__call__"], [28, 2, 1, "", "flip"]], "amaranth.lib.wiring.Member": [[28, 2, 1, "", "array"], [28, 6, 1, "", "dimensions"], [28, 2, 1, "", "flip"], [28, 6, 1, "", "flow"], [28, 6, 1, "", "init"], [28, 6, 1, "", "is_port"], [28, 6, 1, "", "is_signature"], [28, 6, 1, "", "shape"], [28, 6, 1, "", "signature"]], "amaranth.lib.wiring.PureInterface": [[28, 2, 1, "", "__init__"]], "amaranth.lib.wiring.Signature": [[28, 2, 1, "", "__eq__"], [28, 2, 1, "", "annotations"], [28, 2, 1, "", "create"], [28, 2, 1, "", "flatten"], [28, 2, 1, "", "flip"], [28, 2, 1, "", "is_compliant"], [28, 6, 1, "", "members"]], "amaranth.lib.wiring.SignatureMembers": [[28, 2, 1, "", "__contains__"], [28, 2, 1, "", "__delitem__"], [28, 2, 1, "", "__eq__"], [28, 2, 1, "", "__getitem__"], [28, 2, 1, "", "__iter__"], [28, 2, 1, "", "__setitem__"], [28, 2, 1, "", "create"], [28, 2, 1, "", "flatten"], [28, 2, 1, "", "flip"]], "amaranth.lib.wiring.SignatureMeta": [[28, 2, 1, "", "__instancecheck__"], [28, 2, 1, "", "__subclasscheck__"]], "amaranth.sim": [[15, 7, 1, "", "BrokenTrigger"], [15, 7, 1, "", "DomainReset"], [15, 1, 1, "", "Simulator"], [15, 1, 1, "", "SimulatorContext"], [15, 1, 1, "", "TickTrigger"], [15, 1, 1, "", "TriggerCombination"]], "amaranth.sim.Simulator": [[15, 2, 1, "", "add_clock"], [15, 2, 1, "", "add_process"], [15, 2, 1, "", "add_testbench"], [15, 2, 1, "", "advance"], [15, 2, 1, "", "reset"], [15, 2, 1, "", "run"], [15, 2, 1, "", "run_until"], [15, 2, 1, "", "write_vcd"]], "amaranth.sim.SimulatorContext": [[15, 2, 1, "", "changed"], [15, 2, 1, "", "critical"], [15, 2, 1, "", "delay"], [15, 2, 1, "", "edge"], [15, 2, 1, "", "elapsed_time"], [15, 2, 1, "", "get"], [15, 2, 1, "", "negedge"], [15, 2, 1, "", "posedge"], [15, 2, 1, "", "set"], [15, 2, 1, "", "tick"]], "amaranth.sim.TickTrigger": [[15, 2, 1, "", "repeat"], [15, 2, 1, "", "sample"], [15, 2, 1, "", "until"]], "amaranth.sim.TriggerCombination": [[15, 2, 1, "", "changed"], [15, 2, 1, "", "delay"], [15, 2, 1, "", "edge"], [15, 2, 1, "", "negedge"], [15, 2, 1, "", "posedge"], [15, 2, 1, "", "sample"]], "amaranth.vendor": [[8, 1, 1, "", "AlteraPlatform"], [9, 1, 1, "", "GowinPlatform"], [10, 1, 1, "", "LatticePlatform"], [11, 1, 1, "", "QuicklogicPlatform"], [12, 1, 1, "", "SiliconBluePlatform"], [13, 1, 1, "", "XilinxPlatform"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:attribute", "4": "py:function", "5": "py:data", "6": "py:property", "7": "py:exception"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "attribute", "Python attribute"], "4": ["py", "function", "Python function"], "5": ["py", "data", "Python data"], "6": ["py", "property", "Python property"], "7": ["py", "exception", "Python exception"]}, "titleterms": {"changelog": 0, "document": [0, 1, 2], "past": 0, "releas": [0, 5], "version": 0, "0": 0, "6": 0, "unreleas": 0, "implement": [0, 16], "rfc": 0, "languag": [0, 3, 4, 6, 14], "chang": [0, 1], "standard": [0, 6, 17], "librari": [0, 6, 17], "toolchain": [0, 4, 6], "platform": [0, 7], "integr": [0, 6, 7], "5": 0, "3": 0, "2": 0, "1": 0, "migrat": 0, "from": [0, 3], "4": 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, 15], "testsuit": 1, "build": [1, 6], "style": 1, "guid": [1, 3], "your": 1, "weekli": 1, "meet": 1, "amaranth": [2, 5, 6], "project": 2, "The": [3, 6], "prelud": 3, "shape": [3, 14], "valu": [3, 14, 27], "constant": [3, 21, 28], "cast": 3, "integ": 3, "rang": 3, "enumer": [3, 22], "custom": [3, 21, 28], "member": 3, "signal": 3, "name": 3, "initi": 3, "reset": 3, "less": 3, "oper": 3, "perform": 3, "describ": 3, "comput": [3, 19], "width": 3, "extens": 3, "arithmet": 3, "comparison": 3, "bitwis": 3, "shift": 3, "rotat": 3, "reduct": 3, "logic": 3, "bit": 3, "sequenc": 3, "match": 3, "convers": 3, "choic": 3, "arrai": [3, 25], "data": [3, 21, 27], "structur": [3, 21], "modul": 3, "control": 3, "domain": [3, 18], "assign": 3, "order": 3, "flow": 3, "activ": 3, "inact": 3, "If": 3, "elif": 3, "els": 3, "block": 3, "switch": 3, "case": 3, "fsm": 3, "state": 3, "combin": [3, 15], "evalu": 3, "synchron": [3, 15], "assert": 3, "debug": 3, "print": 3, "clock": [3, 18, 24], "late": 3, "bind": 3, "elabor": 3, "submodul": 3, "modifi": 3, "renam": 3, "memori": [3, 25], "i": 3, "o": 3, "port": [3, 24, 25], "instanc": 3, "buffer": [3, 24], "instal": 5, "In": 5, "browser": 5, "playground": 5, "system": [5, 6], "requir": 5, "prerequisit": 5, "latest": 5, "develop": [5, 6], "snapshot": 5, "edit": 5, "board": [5, 6], "definit": [5, 6], "todo": [5, 7, 16, 29], "introduct": [6, 19, 21, 24, 25, 26, 27, 28], "simul": [6, 15, 24, 25], "fpga": 6, "altera": 8, "gowin": 9, "lattic": 10, "quicklog": 11, "siliconblu": 12, "xilinx": 13, "refer": [14, 15, 26, 27], "backward": 14, "compat": 14, "import": 14, "syntax": 14, "sourc": 14, "locat": 14, "circuit": 15, "test": [15, 16], "replac": 15, "code": 15, "get": 16, "start": 16, "A": 16, "counter": 16, "convert": 16, "blink": 16, "led": [16, 24], "cross": 18, "cyclic": 19, "redund": 19, "check": 19, "exampl": [19, 24, 25, 27], "algorithm": [19, 20], "paramet": 19, "crc": 19, "predefin": 19, "catalog": 20, "overview": [21, 28], "motiv": [21, 28], "compos": 21, "layout": 21, "defin": [21, 26], "discrimin": 21, "union": 21, "model": 21, "common": 21, "view": [21, 22], "creat": 21, "access": 21, "class": [21, 22], "metaclass": 22, "base": 22, "first": [23, 25], "out": [23, 25], "queue": [23, 25], "input": [24, 28], "output": 24, "bidirect": 24, "bu": 24, "forward": [24, 28], "read": 25, "onli": 25, "descript": 25, "compon": [25, 28], "interfac": [26, 28], "metadata": [26, 28], "annot": 26, "identifi": 26, "schema": 26, "stream": 27, "transfer": 27, "rule": 27, "serial": 27, "receiv": 27, "transmitt": 27, "negat": 27, "complet": 27, "pipelin": 27, "connect": 28, "reusabl": 28, "interior": 28, "adapt": 28, "signatur": 28, "path": 28, "make": 28, "tutori": 29}, "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"]], "Documentation for past releases": [[0, "documentation-for-past-releases"]], "Version 0.6.0 (unreleased)": [[0, "version-0-6-0-unreleased"]], "Implemented RFCs": [[0, "implemented-rfcs"], [0, "id4"], [0, "id6"], [0, "id11"]], "Language changes": [[0, "language-changes"], [0, "id1"], [0, "id7"], [0, "id12"], [0, "id16"]], "Standard library changes": [[0, "standard-library-changes"], [0, "id2"], [0, "id5"], [0, "id8"], [0, "id13"], [0, "id17"]], "Toolchain changes": [[0, "toolchain-changes"], [0, "id9"], [0, "id14"], [0, "id18"]], "Platform integration changes": [[0, "platform-integration-changes"], [0, "id3"], [0, "id10"], [0, "id15"], [0, "id19"]], "Version 0.5.3 (unreleased)": [[0, "version-0-5-3-unreleased"]], "Version 0.5.2": [[0, "version-0-5-2"]], "Version 0.5.1": [[0, "version-0-5-1"]], "Version 0.5.0": [[0, "version-0-5-0"]], "Migrating from version 0.4": [[0, "migrating-from-version-0-4"]], "Version 0.4.0": [[0, "version-0-4-0"]], "Migrating from version 0.3": [[0, "migrating-from-version-0-3"]], "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"]], "Documentation style guide": [[1, "documentation-style-guide"]], "Contributing your changes": [[1, "contributing-your-changes"]], "Weekly meetings": [[1, "weekly-meetings"]], "Amaranth project documentation": [[2, "amaranth-project-documentation"]], "Language guide": [[3, "language-guide"]], "The prelude": [[3, "the-prelude"]], "Shapes": [[3, "shapes"], [14, "shapes"]], "Shapes of values": [[3, "shapes-of-values"]], "Values": [[3, "values"], [14, "values"]], "Constants": [[3, "constants"]], "Shape casting": [[3, "shape-casting"]], "Shapes from integers": [[3, "shapes-from-integers"]], "Shapes from ranges": [[3, "shapes-from-ranges"]], "Shapes from enumerations": [[3, "shapes-from-enumerations"]], "Custom shapes": [[3, "custom-shapes"]], "Value casting": [[3, "value-casting"]], "Values from integers": [[3, "values-from-integers"]], "Values from enumeration members": [[3, "values-from-enumeration-members"]], "Constant casting": [[3, "constant-casting"]], "Signals": [[3, "signals"]], "Signal shapes": [[3, "signal-shapes"]], "Signal names": [[3, "signal-names"]], "Initial signal values": [[3, "initial-signal-values"]], "Reset-less signals": [[3, "reset-less-signals"]], "Operators": [[3, "operators"]], "Performing or describing computations?": [[3, "performing-or-describing-computations"]], "Width extension": [[3, "width-extension"]], "Arithmetic operators": [[3, "arithmetic-operators"]], "Comparison operators": [[3, "comparison-operators"]], "Bitwise, shift, and rotate operators": [[3, "bitwise-shift-and-rotate-operators"]], "Reduction operators": [[3, "reduction-operators"]], "Logical operators": [[3, "logical-operators"]], "Bit sequence operators": [[3, "bit-sequence-operators"]], "Match operator": [[3, "match-operator"]], "Conversion operators": [[3, "conversion-operators"]], "Choice operator": [[3, "choice-operator"]], "Arrays": [[3, "arrays"]], "Data structures": [[3, "data-structures"], [21, "module-amaranth.lib.data"]], "Modules": [[3, "modules"]], "Control domains": [[3, "control-domains"]], "Assigning to signals": [[3, "assigning-to-signals"]], "Assignable values": [[3, "assignable-values"]], "Assignment domains": [[3, "assignment-domains"]], "Assignment order": [[3, "assignment-order"]], "Control flow": [[3, "control-flow"]], "Active and inactive assignments": [[3, "active-and-inactive-assignments"]], "If/Elif/Else control blocks": [[3, "if-elif-else-control-blocks"]], "Switch/Case control blocks": [[3, "switch-case-control-blocks"]], "FSM/State control blocks": [[3, "fsm-state-control-blocks"]], "Combinational evaluation": [[3, "combinational-evaluation"]], "Synchronous evaluation": [[3, "synchronous-evaluation"]], "Assertions": [[3, "assertions"]], "Debug printing": [[3, "debug-printing"]], "Clock domains": [[3, "clock-domains"]], "Late binding of clock and reset signals": [[3, "late-binding-of-clock-and-reset-signals"]], "Elaboration": [[3, "elaboration"]], "Submodules": [[3, "submodules"]], "Modifying control flow": [[3, "modifying-control-flow"]], "Renaming domains": [[3, "renaming-domains"]], "Memories": [[3, "memories"]], "I/O values": [[3, "i-o-values"]], "I/O ports": [[3, "i-o-ports"]], "I/O operators": [[3, "i-o-operators"]], "Instances": [[3, "instances"]], "I/O buffer instances": [[3, "i-o-buffer-instances"]], "Language & toolchain": [[4, "language-toolchain"]], "Installation": [[5, "installation"]], "In-browser playground": [[5, "in-browser-playground"]], "System requirements": [[5, "system-requirements"]], "Installing prerequisites": [[5, "installing-prerequisites"]], "Installing Amaranth": [[5, "installing-amaranth"]], "Latest release": [[5, "latest-release"]], "Development snapshot": [[5, "development-snapshot"]], "Editable development snapshot": [[5, "editable-development-snapshot"]], "Installing board definitions": [[5, "installing-board-definitions"]], "Todo": [[5, "id1"], [7, "id1"], [16, "id1"], [29, "id1"]], "Introduction": [[6, "introduction"], [19, "introduction"], [21, "introduction"], [24, "introduction"], [25, "introduction"], [26, "introduction"], [27, "introduction"], [28, "introduction"]], "The Amaranth language": [[6, "the-amaranth-language"]], "The Amaranth standard library": [[6, "the-amaranth-standard-library"]], "The Amaranth simulator": [[6, "the-amaranth-simulator"]], "The Amaranth build system": [[6, "the-amaranth-build-system"]], "FPGA toolchain integration": [[6, "fpga-toolchain-integration"]], "Development board definitions": [[6, "development-board-definitions"]], "Platform integration": [[7, "platform-integration"]], "Altera": [[8, "altera"]], "Gowin": [[9, "gowin"]], "Lattice": [[10, "lattice"]], "Quicklogic": [[11, "quicklogic"]], "SiliconBlue": [[12, "siliconblue"]], "Xilinx": [[13, "xilinx"]], "Language reference": [[14, "module-amaranth.hdl"]], "Backwards compatibility": [[14, "backwards-compatibility"]], "Importing syntax": [[14, "importing-syntax"]], "Source locations": [[14, "source-locations"]], "Simulator": [[15, "module-amaranth.sim"]], "Simulating circuits": [[15, "simulating-circuits"]], "Running a simulation": [[15, "running-a-simulation"]], "Testing synchronous circuits": [[15, "testing-synchronous-circuits"]], "Testing combinational circuits": [[15, "testing-combinational-circuits"]], "Replacing circuits with code": [[15, "replacing-circuits-with-code"]], "Replacing synchronous circuits": [[15, "replacing-synchronous-circuits"]], "Replacing combinational circuits": [[15, "replacing-combinational-circuits"]], "Reference": [[15, "reference"], [26, "reference"], [27, "reference"]], "Getting started": [[16, "getting-started"]], "A counter": [[16, "a-counter"]], "Implementing a counter": [[16, "implementing-a-counter"]], "Testing a counter": [[16, "testing-a-counter"]], "Converting a counter": [[16, "converting-a-counter"]], "A blinking LED": [[16, "a-blinking-led"]], "Standard library": [[17, "standard-library"]], "Clock domain crossing": [[18, "module-amaranth.lib.cdc"]], "Cyclic redundancy checks": [[19, "module-amaranth.lib.crc"]], "Examples": [[19, "examples"], [24, "examples"], [25, "examples"], [27, "examples"]], "Algorithms and parameters": [[19, "algorithms-and-parameters"]], "CRC computation": [[19, "crc-computation"]], "Predefined algorithms": [[19, "predefined-algorithms"]], "Algorithm catalog": [[20, "module-amaranth.lib.crc.catalog"]], "Overview": [[21, "overview"], [28, "overview"]], "Motivation": [[21, "motivation"], [28, "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"]], "Creating a constant": [[21, "creating-a-constant"]], "Accessing a constant": [[21, "accessing-a-constant"]], "Data classes": [[21, "data-classes"]], "Enumerations": [[22, "module-amaranth.lib.enum"]], "Metaclass": [[22, "metaclass"]], "Base classes": [[22, "base-classes"]], "View classes": [[22, "view-classes"]], "First-in first-out queues": [[23, "module-amaranth.lib.fifo"]], "Input/output buffers": [[24, "module-amaranth.lib.io"]], "LED output": [[24, "led-output"]], "Clock input": [[24, "clock-input"]], "Bidirectional bus": [[24, "bidirectional-bus"]], "Clock forwarding": [[24, "clock-forwarding"]], "Simulation": [[24, "simulation"], [25, "simulation"]], "Ports": [[24, "ports"]], "Buffers": [[24, "buffers"]], "Memory arrays": [[25, "module-amaranth.lib.memory"]], "Read-only memory": [[25, "read-only-memory"]], "First-in, first-out queue": [[25, "first-in-first-out-queue"]], "Memory description": [[25, "memory-description"]], "Memory component": [[25, "memory-component"]], "Memory ports": [[25, "memory-ports"]], "Interface metadata": [[26, "module-amaranth.lib.meta"]], "Defining annotations": [[26, "defining-annotations"]], "Identifying schemas": [[26, "identifying-schemas"]], "Data streams": [[27, "module-amaranth.lib.stream"]], "Data transfer rules": [[27, "data-transfer-rules"]], "Serial receiver": [[27, "serial-receiver"]], "Serial transmitter": [[27, "serial-transmitter"]], "Value negator": [[27, "value-negator"]], "Complete pipeline": [[27, "complete-pipeline"]], "Interfaces and connections": [[28, "module-amaranth.lib.wiring"]], "Reusable interfaces": [[28, "reusable-interfaces"]], "Forwarding interior interfaces": [[28, "forwarding-interior-interfaces"]], "Constant inputs": [[28, "constant-inputs"]], "Adapting interfaces": [[28, "adapting-interfaces"]], "Customizing signatures and interfaces": [[28, "customizing-signatures-and-interfaces"]], "Paths": [[28, "paths"]], "Signatures": [[28, "signatures"]], "Interfaces": [[28, "interfaces"]], "Making connections": [[28, "making-connections"]], "Components": [[28, "components"]], "Component metadata": [[28, "component-metadata"]], "Tutorial": [[29, "tutorial"]]}, "indexentries": {"alteraplatform (class in amaranth.vendor)": [[8, "amaranth.vendor.AlteraPlatform"]], "gowinplatform (class in amaranth.vendor)": [[9, "amaranth.vendor.GowinPlatform"]], "latticeplatform (class in amaranth.vendor)": [[10, "amaranth.vendor.LatticePlatform"]], "quicklogicplatform (class in amaranth.vendor)": [[11, "amaranth.vendor.QuicklogicPlatform"]], "siliconblueplatform (class in amaranth.vendor)": [[12, "amaranth.vendor.SiliconBluePlatform"]], "xilinxplatform (class in amaranth.vendor)": [[13, "amaranth.vendor.XilinxPlatform"]], "shape (class in amaranth.hdl)": [[14, "amaranth.hdl.Shape"]], "shapecastable (class in amaranth.hdl)": [[14, "amaranth.hdl.ShapeCastable"]], "shapelike (class in amaranth.hdl)": [[14, "amaranth.hdl.ShapeLike"]], "value (class in amaranth.hdl)": [[14, "amaranth.hdl.Value"]], "valuecastable (class in amaranth.hdl)": [[14, "amaranth.hdl.ValueCastable"]], "valuelike (class in amaranth.hdl)": [[14, "amaranth.hdl.ValueLike"]], "__abs__() (amaranth.hdl.value method)": [[14, "amaranth.hdl.Value.__abs__"]], "__add__() (amaranth.hdl.value method)": [[14, "amaranth.hdl.Value.__add__"]], "__and__() (amaranth.hdl.value method)": [[14, "amaranth.hdl.Value.__and__"]], "__bool__() (amaranth.hdl.value method)": [[14, "amaranth.hdl.Value.__bool__"]], "__call__() (amaranth.hdl.shapecastable method)": [[14, "amaranth.hdl.ShapeCastable.__call__"]], "__contains__() (amaranth.hdl.value method)": [[14, "amaranth.hdl.Value.__contains__"]], "__eq__() (amaranth.hdl.value method)": [[14, "amaranth.hdl.Value.__eq__"]], "__floordiv__() (amaranth.hdl.value method)": [[14, "amaranth.hdl.Value.__floordiv__"]], "__format__() (amaranth.hdl.value method)": [[14, "amaranth.hdl.Value.__format__"]], "__ge__() (amaranth.hdl.value method)": [[14, "amaranth.hdl.Value.__ge__"]], "__getitem__() (amaranth.hdl.value method)": [[14, "amaranth.hdl.Value.__getitem__"]], "__gt__() (amaranth.hdl.value method)": [[14, "amaranth.hdl.Value.__gt__"]], "__hash__ (amaranth.hdl.value attribute)": [[14, "amaranth.hdl.Value.__hash__"]], "__invert__() (amaranth.hdl.value method)": [[14, "amaranth.hdl.Value.__invert__"]], "__le__() (amaranth.hdl.value method)": [[14, "amaranth.hdl.Value.__le__"]], "__len__() (amaranth.hdl.value method)": [[14, "amaranth.hdl.Value.__len__"]], "__lshift__() (amaranth.hdl.value method)": [[14, "amaranth.hdl.Value.__lshift__"]], "__lt__() (amaranth.hdl.value method)": [[14, "amaranth.hdl.Value.__lt__"]], "__mod__() (amaranth.hdl.value method)": [[14, "amaranth.hdl.Value.__mod__"]], "__mul__() (amaranth.hdl.value method)": [[14, "amaranth.hdl.Value.__mul__"]], "__ne__() (amaranth.hdl.value method)": [[14, "amaranth.hdl.Value.__ne__"]], "__neg__() (amaranth.hdl.value method)": [[14, "amaranth.hdl.Value.__neg__"]], "__or__() (amaranth.hdl.value method)": [[14, "amaranth.hdl.Value.__or__"]], "__pos__() (amaranth.hdl.value method)": [[14, "amaranth.hdl.Value.__pos__"]], "__radd__() (amaranth.hdl.value method)": [[14, "amaranth.hdl.Value.__radd__"]], "__rand__() (amaranth.hdl.value method)": [[14, "amaranth.hdl.Value.__rand__"]], "__repr__() (amaranth.hdl.shape method)": [[14, "amaranth.hdl.Shape.__repr__"]], "__rfloordiv__() (amaranth.hdl.value method)": [[14, "amaranth.hdl.Value.__rfloordiv__"]], "__rlshift__() (amaranth.hdl.value method)": [[14, "amaranth.hdl.Value.__rlshift__"]], "__rmod__() (amaranth.hdl.value method)": [[14, "amaranth.hdl.Value.__rmod__"]], "__rmul__() (amaranth.hdl.value method)": [[14, "amaranth.hdl.Value.__rmul__"]], "__ror__() (amaranth.hdl.value method)": [[14, "amaranth.hdl.Value.__ror__"]], "__rrshift__() (amaranth.hdl.value method)": [[14, "amaranth.hdl.Value.__rrshift__"]], "__rshift__() (amaranth.hdl.value method)": [[14, "amaranth.hdl.Value.__rshift__"]], "__rsub__() (amaranth.hdl.value method)": [[14, "amaranth.hdl.Value.__rsub__"]], "__rxor__() (amaranth.hdl.value method)": [[14, "amaranth.hdl.Value.__rxor__"]], "__sub__() (amaranth.hdl.value method)": [[14, "amaranth.hdl.Value.__sub__"]], "__xor__() (amaranth.hdl.value method)": [[14, "amaranth.hdl.Value.__xor__"]], "all() (amaranth.hdl.value method)": [[14, "amaranth.hdl.Value.all"]], "amaranth.hdl": [[14, "module-amaranth.hdl"]], "any() (amaranth.hdl.value method)": [[14, "amaranth.hdl.Value.any"]], "as_shape() (amaranth.hdl.shapecastable method)": [[14, "amaranth.hdl.ShapeCastable.as_shape"]], "as_signed() (amaranth.hdl.value method)": [[14, "amaranth.hdl.Value.as_signed"]], "as_unsigned() (amaranth.hdl.value method)": [[14, "amaranth.hdl.Value.as_unsigned"]], "as_value() (amaranth.hdl.valuecastable method)": [[14, "amaranth.hdl.ValueCastable.as_value"]], "bit_select() (amaranth.hdl.value method)": [[14, "amaranth.hdl.Value.bit_select"]], "bool() (amaranth.hdl.value method)": [[14, "amaranth.hdl.Value.bool"]], "cast() (amaranth.hdl.shape static method)": [[14, "amaranth.hdl.Shape.cast"]], "cast() (amaranth.hdl.value static method)": [[14, "amaranth.hdl.Value.cast"]], "const() (amaranth.hdl.shapecastable method)": [[14, "amaranth.hdl.ShapeCastable.const"]], "eq() (amaranth.hdl.value method)": [[14, "amaranth.hdl.Value.eq"]], "format() (amaranth.hdl.shapecastable method)": [[14, "amaranth.hdl.ShapeCastable.format"]], "from_bits() (amaranth.hdl.shapecastable method)": [[14, "amaranth.hdl.ShapeCastable.from_bits"]], "matches() (amaranth.hdl.value method)": [[14, "amaranth.hdl.Value.matches"]], "module": [[14, "module-amaranth.hdl"], [15, "module-amaranth.sim"], [18, "module-amaranth.lib.cdc"], [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"], [24, "module-amaranth.lib.io"], [25, "module-amaranth.lib.memory"], [26, "module-amaranth.lib.meta"], [27, "module-amaranth.lib.stream"], [28, "module-amaranth.lib.wiring"]], "replicate() (amaranth.hdl.value method)": [[14, "amaranth.hdl.Value.replicate"]], "rotate_left() (amaranth.hdl.value method)": [[14, "amaranth.hdl.Value.rotate_left"]], "rotate_right() (amaranth.hdl.value method)": [[14, "amaranth.hdl.Value.rotate_right"]], "shape() (amaranth.hdl.value method)": [[14, "amaranth.hdl.Value.shape"]], "shape() (amaranth.hdl.valuecastable method)": [[14, "amaranth.hdl.ValueCastable.shape"]], "shift_left() (amaranth.hdl.value method)": [[14, "amaranth.hdl.Value.shift_left"]], "shift_right() (amaranth.hdl.value method)": [[14, "amaranth.hdl.Value.shift_right"]], "signed() (in module amaranth.hdl)": [[14, "amaranth.hdl.signed"]], "unsigned() (in module amaranth.hdl)": [[14, "amaranth.hdl.unsigned"]], "word_select() (amaranth.hdl.value method)": [[14, "amaranth.hdl.Value.word_select"]], "xor() (amaranth.hdl.value method)": [[14, "amaranth.hdl.Value.xor"]], "brokentrigger": [[15, "amaranth.sim.BrokenTrigger"]], "domainreset": [[15, "amaranth.sim.DomainReset"]], "simulator (class in amaranth.sim)": [[15, "amaranth.sim.Simulator"]], "simulatorcontext (class in amaranth.sim)": [[15, "amaranth.sim.SimulatorContext"]], "ticktrigger (class in amaranth.sim)": [[15, "amaranth.sim.TickTrigger"]], "triggercombination (class in amaranth.sim)": [[15, "amaranth.sim.TriggerCombination"]], "add_clock() (amaranth.sim.simulator method)": [[15, "amaranth.sim.Simulator.add_clock"]], "add_process() (amaranth.sim.simulator method)": [[15, "amaranth.sim.Simulator.add_process"]], "add_testbench() (amaranth.sim.simulator method)": [[15, "amaranth.sim.Simulator.add_testbench"]], "advance() (amaranth.sim.simulator method)": [[15, "amaranth.sim.Simulator.advance"]], "amaranth.sim": [[15, "module-amaranth.sim"]], "changed() (amaranth.sim.simulatorcontext method)": [[15, "amaranth.sim.SimulatorContext.changed"]], "changed() (amaranth.sim.triggercombination method)": [[15, "amaranth.sim.TriggerCombination.changed"]], "critical() (amaranth.sim.simulatorcontext method)": [[15, "amaranth.sim.SimulatorContext.critical"]], "delay() (amaranth.sim.simulatorcontext method)": [[15, "amaranth.sim.SimulatorContext.delay"]], "delay() (amaranth.sim.triggercombination method)": [[15, "amaranth.sim.TriggerCombination.delay"]], "edge() (amaranth.sim.simulatorcontext method)": [[15, "amaranth.sim.SimulatorContext.edge"]], "edge() (amaranth.sim.triggercombination method)": [[15, "amaranth.sim.TriggerCombination.edge"]], "elapsed_time() (amaranth.sim.simulatorcontext method)": [[15, "amaranth.sim.SimulatorContext.elapsed_time"]], "get() (amaranth.sim.simulatorcontext method)": [[15, "amaranth.sim.SimulatorContext.get"]], "negedge() (amaranth.sim.simulatorcontext method)": [[15, "amaranth.sim.SimulatorContext.negedge"]], "negedge() (amaranth.sim.triggercombination method)": [[15, "amaranth.sim.TriggerCombination.negedge"]], "posedge() (amaranth.sim.simulatorcontext method)": [[15, "amaranth.sim.SimulatorContext.posedge"]], "posedge() (amaranth.sim.triggercombination method)": [[15, "amaranth.sim.TriggerCombination.posedge"]], "repeat() (amaranth.sim.ticktrigger method)": [[15, "amaranth.sim.TickTrigger.repeat"]], "reset() (amaranth.sim.simulator method)": [[15, "amaranth.sim.Simulator.reset"]], "run() (amaranth.sim.simulator method)": [[15, "amaranth.sim.Simulator.run"]], "run_until() (amaranth.sim.simulator method)": [[15, "amaranth.sim.Simulator.run_until"]], "sample() (amaranth.sim.ticktrigger method)": [[15, "amaranth.sim.TickTrigger.sample"]], "sample() (amaranth.sim.triggercombination method)": [[15, "amaranth.sim.TriggerCombination.sample"]], "set() (amaranth.sim.simulatorcontext method)": [[15, "amaranth.sim.SimulatorContext.set"]], "tick() (amaranth.sim.simulatorcontext method)": [[15, "amaranth.sim.SimulatorContext.tick"]], "until() (amaranth.sim.ticktrigger method)": [[15, "amaranth.sim.TickTrigger.until"]], "write_vcd() (amaranth.sim.simulator method)": [[15, "amaranth.sim.Simulator.write_vcd"]], "asyncffsynchronizer (class in amaranth.lib.cdc)": [[18, "amaranth.lib.cdc.AsyncFFSynchronizer"]], "ffsynchronizer (class in amaranth.lib.cdc)": [[18, "amaranth.lib.cdc.FFSynchronizer"]], "pulsesynchronizer (class in amaranth.lib.cdc)": [[18, "amaranth.lib.cdc.PulseSynchronizer"]], "resetsynchronizer (class in amaranth.lib.cdc)": [[18, "amaranth.lib.cdc.ResetSynchronizer"]], "amaranth.lib.cdc": [[18, "module-amaranth.lib.cdc"]], "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__"]], "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"]], "const (class in amaranth.lib.data)": [[21, "amaranth.lib.data.Const"]], "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.const method)": [[21, "amaranth.lib.data.Const.__getattr__"]], "__getattr__() (amaranth.lib.data.view method)": [[21, "amaranth.lib.data.View.__getattr__"]], "__getitem__() (amaranth.lib.data.const method)": [[21, "amaranth.lib.data.Const.__getitem__"]], "__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_bits() (amaranth.lib.data.const method)": [[21, "amaranth.lib.data.Const.as_bits"]], "as_shape() (amaranth.lib.data.layout method)": [[21, "amaranth.lib.data.Layout.as_shape"]], "as_value() (amaranth.lib.data.const method)": [[21, "amaranth.lib.data.Const.as_value"]], "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"]], "eq() (amaranth.lib.data.view method)": [[21, "amaranth.lib.data.View.eq"]], "from_bits() (amaranth.lib.data.layout method)": [[21, "amaranth.lib.data.Layout.from_bits"]], "shape() (amaranth.lib.data.const method)": [[21, "amaranth.lib.data.Const.shape"]], "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"]], "enumtype (class in amaranth.lib.enum)": [[22, "amaranth.lib.enum.EnumType"]], "enumview (class in amaranth.lib.enum)": [[22, "amaranth.lib.enum.EnumView"]], "flag (class in amaranth.lib.enum)": [[22, "amaranth.lib.enum.Flag"]], "flagview (class in amaranth.lib.enum)": [[22, "amaranth.lib.enum.FlagView"]], "intenum (class in amaranth.lib.enum)": [[22, "amaranth.lib.enum.IntEnum"]], "intflag (class in amaranth.lib.enum)": [[22, "amaranth.lib.enum.IntFlag"]], "__and__() (amaranth.lib.enum.flagview method)": [[22, "amaranth.lib.enum.FlagView.__and__"]], "__call__() (amaranth.lib.enum.enumtype method)": [[22, "amaranth.lib.enum.EnumType.__call__"]], "__eq__() (amaranth.lib.enum.enumview method)": [[22, "amaranth.lib.enum.EnumView.__eq__"]], "__init__() (amaranth.lib.enum.enumview method)": [[22, "amaranth.lib.enum.EnumView.__init__"]], "__invert__() (amaranth.lib.enum.flagview method)": [[22, "amaranth.lib.enum.FlagView.__invert__"]], "__or__() (amaranth.lib.enum.flagview method)": [[22, "amaranth.lib.enum.FlagView.__or__"]], "__rand__() (amaranth.lib.enum.flagview method)": [[22, "amaranth.lib.enum.FlagView.__rand__"]], "__ror__() (amaranth.lib.enum.flagview method)": [[22, "amaranth.lib.enum.FlagView.__ror__"]], "__rxor__() (amaranth.lib.enum.flagview method)": [[22, "amaranth.lib.enum.FlagView.__rxor__"]], "__xor__() (amaranth.lib.enum.flagview method)": [[22, "amaranth.lib.enum.FlagView.__xor__"]], "amaranth.lib.enum": [[22, "module-amaranth.lib.enum"]], "as_shape() (amaranth.lib.enum.enumtype method)": [[22, "amaranth.lib.enum.EnumType.as_shape"]], "as_value() (amaranth.lib.enum.enumview method)": [[22, "amaranth.lib.enum.EnumView.as_value"]], "eq() (amaranth.lib.enum.enumview method)": [[22, "amaranth.lib.enum.EnumView.eq"]], "matches() (amaranth.lib.enum.enumview method)": [[22, "amaranth.lib.enum.EnumView.matches"]], "shape() (amaranth.lib.enum.enumview method)": [[22, "amaranth.lib.enum.EnumView.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"]], "bidir (amaranth.lib.io.direction attribute)": [[24, "amaranth.lib.io.Direction.Bidir"]], "buffer (class in amaranth.lib.io)": [[24, "amaranth.lib.io.Buffer"]], "buffer.signature (class in amaranth.lib.io)": [[24, "amaranth.lib.io.Buffer.Signature"]], "ddrbuffer (class in amaranth.lib.io)": [[24, "amaranth.lib.io.DDRBuffer"]], "ddrbuffer.signature (class in amaranth.lib.io)": [[24, "amaranth.lib.io.DDRBuffer.Signature"]], "differentialport (class in amaranth.lib.io)": [[24, "amaranth.lib.io.DifferentialPort"]], "direction (class in amaranth.lib.io)": [[24, "amaranth.lib.io.Direction"]], "ffbuffer (class in amaranth.lib.io)": [[24, "amaranth.lib.io.FFBuffer"]], "ffbuffer.signature (class in amaranth.lib.io)": [[24, "amaranth.lib.io.FFBuffer.Signature"]], "input (amaranth.lib.io.direction attribute)": [[24, "amaranth.lib.io.Direction.Input"]], "output (amaranth.lib.io.direction attribute)": [[24, "amaranth.lib.io.Direction.Output"]], "portlike (class in amaranth.lib.io)": [[24, "amaranth.lib.io.PortLike"]], "simulationport (class in amaranth.lib.io)": [[24, "amaranth.lib.io.SimulationPort"]], "singleendedport (class in amaranth.lib.io)": [[24, "amaranth.lib.io.SingleEndedPort"]], "__add__() (amaranth.lib.io.portlike method)": [[24, "amaranth.lib.io.PortLike.__add__"]], "__and__() (amaranth.lib.io.direction method)": [[24, "amaranth.lib.io.Direction.__and__"]], "__getitem__() (amaranth.lib.io.portlike method)": [[24, "amaranth.lib.io.PortLike.__getitem__"]], "__invert__() (amaranth.lib.io.portlike method)": [[24, "amaranth.lib.io.PortLike.__invert__"]], "__len__() (amaranth.lib.io.portlike method)": [[24, "amaranth.lib.io.PortLike.__len__"]], "amaranth.lib.io": [[24, "module-amaranth.lib.io"]], "direction (amaranth.lib.io.portlike property)": [[24, "amaranth.lib.io.PortLike.direction"]], "memory (class in amaranth.lib.memory)": [[25, "amaranth.lib.memory.Memory"]], "memorydata (class in amaranth.hdl)": [[25, "amaranth.hdl.MemoryData"]], "memorydata.init (class in amaranth.hdl)": [[25, "amaranth.hdl.MemoryData.Init"]], "readport (class in amaranth.lib.memory)": [[25, "amaranth.lib.memory.ReadPort"]], "readport.signature (class in amaranth.lib.memory)": [[25, "amaranth.lib.memory.ReadPort.Signature"]], "writeport (class in amaranth.lib.memory)": [[25, "amaranth.lib.memory.WritePort"]], "writeport.signature (class in amaranth.lib.memory)": [[25, "amaranth.lib.memory.WritePort.Signature"]], "__getitem__() (amaranth.hdl.memorydata method)": [[25, "amaranth.hdl.MemoryData.__getitem__"]], "amaranth.lib.memory": [[25, "module-amaranth.lib.memory"]], "read_port() (amaranth.lib.memory.memory method)": [[25, "amaranth.lib.memory.Memory.read_port"]], "read_ports (amaranth.lib.memory.memory property)": [[25, "amaranth.lib.memory.Memory.read_ports"]], "write_port() (amaranth.lib.memory.memory method)": [[25, "amaranth.lib.memory.Memory.write_port"]], "write_ports (amaranth.lib.memory.memory property)": [[25, "amaranth.lib.memory.Memory.write_ports"]], "annotation (class in amaranth.lib.meta)": [[26, "amaranth.lib.meta.Annotation"]], "invalidannotation": [[26, "amaranth.lib.meta.InvalidAnnotation"]], "invalidschema": [[26, "amaranth.lib.meta.InvalidSchema"]], "__init_subclass__() (amaranth.lib.meta.annotation class method)": [[26, "amaranth.lib.meta.Annotation.__init_subclass__"]], "amaranth.lib.meta": [[26, "module-amaranth.lib.meta"]], "as_json() (amaranth.lib.meta.annotation method)": [[26, "amaranth.lib.meta.Annotation.as_json"]], "origin (amaranth.lib.meta.annotation property)": [[26, "amaranth.lib.meta.Annotation.origin"]], "schema (amaranth.lib.meta.annotation attribute)": [[26, "amaranth.lib.meta.Annotation.schema"]], "validate() (amaranth.lib.meta.annotation class method)": [[26, "amaranth.lib.meta.Annotation.validate"]], "interface (class in amaranth.lib.stream)": [[27, "amaranth.lib.stream.Interface"]], "signature (class in amaranth.lib.stream)": [[27, "amaranth.lib.stream.Signature"]], "amaranth.lib.stream": [[27, "module-amaranth.lib.stream"]], "p (amaranth.lib.stream.interface property)": [[27, "amaranth.lib.stream.Interface.p"]], "component (class in amaranth.lib.wiring)": [[28, "amaranth.lib.wiring.Component"]], "componentmetadata (class in amaranth.lib.wiring)": [[28, "amaranth.lib.wiring.ComponentMetadata"]], "connectionerror": [[28, "amaranth.lib.wiring.ConnectionError"]], "flippedinterface (class in amaranth.lib.wiring)": [[28, "amaranth.lib.wiring.FlippedInterface"]], "flippedsignature (class in amaranth.lib.wiring)": [[28, "amaranth.lib.wiring.FlippedSignature"]], "flippedsignaturemembers (class in amaranth.lib.wiring)": [[28, "amaranth.lib.wiring.FlippedSignatureMembers"]], "flow (class in amaranth.lib.wiring)": [[28, "amaranth.lib.wiring.Flow"]], "in (amaranth.lib.wiring.flow attribute)": [[28, "amaranth.lib.wiring.Flow.In"]], "in (in module amaranth.lib.wiring)": [[28, "amaranth.lib.wiring.In"]], "invalidmetadata": [[28, "amaranth.lib.wiring.InvalidMetadata"]], "member (class in amaranth.lib.wiring)": [[28, "amaranth.lib.wiring.Member"]], "out (amaranth.lib.wiring.flow attribute)": [[28, "amaranth.lib.wiring.Flow.Out"]], "out (in module amaranth.lib.wiring)": [[28, "amaranth.lib.wiring.Out"]], "pureinterface (class in amaranth.lib.wiring)": [[28, "amaranth.lib.wiring.PureInterface"]], "signature (class in amaranth.lib.wiring)": [[28, "amaranth.lib.wiring.Signature"]], "signatureerror": [[28, "amaranth.lib.wiring.SignatureError"]], "signaturemembers (class in amaranth.lib.wiring)": [[28, "amaranth.lib.wiring.SignatureMembers"]], "signaturemeta (class in amaranth.lib.wiring)": [[28, "amaranth.lib.wiring.SignatureMeta"]], "__call__() (amaranth.lib.wiring.flow method)": [[28, "amaranth.lib.wiring.Flow.__call__"]], "__contains__() (amaranth.lib.wiring.signaturemembers method)": [[28, "amaranth.lib.wiring.SignatureMembers.__contains__"]], "__delattr__() (amaranth.lib.wiring.flippedinterface method)": [[28, "amaranth.lib.wiring.FlippedInterface.__delattr__"]], "__delattr__() (amaranth.lib.wiring.flippedsignature method)": [[28, "amaranth.lib.wiring.FlippedSignature.__delattr__"]], "__delitem__() (amaranth.lib.wiring.signaturemembers method)": [[28, "amaranth.lib.wiring.SignatureMembers.__delitem__"]], "__eq__() (amaranth.lib.wiring.flippedinterface method)": [[28, "amaranth.lib.wiring.FlippedInterface.__eq__"]], "__eq__() (amaranth.lib.wiring.signature method)": [[28, "amaranth.lib.wiring.Signature.__eq__"]], "__eq__() (amaranth.lib.wiring.signaturemembers method)": [[28, "amaranth.lib.wiring.SignatureMembers.__eq__"]], "__getattr__() (amaranth.lib.wiring.flippedinterface method)": [[28, "amaranth.lib.wiring.FlippedInterface.__getattr__"]], "__getattr__() (amaranth.lib.wiring.flippedsignature method)": [[28, "amaranth.lib.wiring.FlippedSignature.__getattr__"]], "__getitem__() (amaranth.lib.wiring.signaturemembers method)": [[28, "amaranth.lib.wiring.SignatureMembers.__getitem__"]], "__init__() (amaranth.lib.wiring.pureinterface method)": [[28, "amaranth.lib.wiring.PureInterface.__init__"]], "__instancecheck__() (amaranth.lib.wiring.signaturemeta method)": [[28, "amaranth.lib.wiring.SignatureMeta.__instancecheck__"]], "__iter__() (amaranth.lib.wiring.signaturemembers method)": [[28, "amaranth.lib.wiring.SignatureMembers.__iter__"]], "__setattr__() (amaranth.lib.wiring.flippedinterface method)": [[28, "amaranth.lib.wiring.FlippedInterface.__setattr__"]], "__setattr__() (amaranth.lib.wiring.flippedsignature method)": [[28, "amaranth.lib.wiring.FlippedSignature.__setattr__"]], "__setitem__() (amaranth.lib.wiring.signaturemembers method)": [[28, "amaranth.lib.wiring.SignatureMembers.__setitem__"]], "__subclasscheck__() (amaranth.lib.wiring.signaturemeta method)": [[28, "amaranth.lib.wiring.SignatureMeta.__subclasscheck__"]], "amaranth.lib.wiring": [[28, "module-amaranth.lib.wiring"]], "annotations() (amaranth.lib.wiring.signature method)": [[28, "amaranth.lib.wiring.Signature.annotations"]], "array() (amaranth.lib.wiring.member method)": [[28, "amaranth.lib.wiring.Member.array"]], "as_json() (amaranth.lib.wiring.componentmetadata method)": [[28, "amaranth.lib.wiring.ComponentMetadata.as_json"]], "connect() (in module amaranth.lib.wiring)": [[28, "amaranth.lib.wiring.connect"]], "create() (amaranth.lib.wiring.signature method)": [[28, "amaranth.lib.wiring.Signature.create"]], "create() (amaranth.lib.wiring.signaturemembers method)": [[28, "amaranth.lib.wiring.SignatureMembers.create"]], "dimensions (amaranth.lib.wiring.member property)": [[28, "amaranth.lib.wiring.Member.dimensions"]], "flatten() (amaranth.lib.wiring.signature method)": [[28, "amaranth.lib.wiring.Signature.flatten"]], "flatten() (amaranth.lib.wiring.signaturemembers method)": [[28, "amaranth.lib.wiring.SignatureMembers.flatten"]], "flip() (amaranth.lib.wiring.flippedsignature method)": [[28, "amaranth.lib.wiring.FlippedSignature.flip"]], "flip() (amaranth.lib.wiring.flippedsignaturemembers method)": [[28, "amaranth.lib.wiring.FlippedSignatureMembers.flip"]], "flip() (amaranth.lib.wiring.flow method)": [[28, "amaranth.lib.wiring.Flow.flip"]], "flip() (amaranth.lib.wiring.member method)": [[28, "amaranth.lib.wiring.Member.flip"]], "flip() (amaranth.lib.wiring.signature method)": [[28, "amaranth.lib.wiring.Signature.flip"]], "flip() (amaranth.lib.wiring.signaturemembers method)": [[28, "amaranth.lib.wiring.SignatureMembers.flip"]], "flipped() (in module amaranth.lib.wiring)": [[28, "amaranth.lib.wiring.flipped"]], "flow (amaranth.lib.wiring.member property)": [[28, "amaranth.lib.wiring.Member.flow"]], "init (amaranth.lib.wiring.member property)": [[28, "amaranth.lib.wiring.Member.init"]], "is_compliant() (amaranth.lib.wiring.signature method)": [[28, "amaranth.lib.wiring.Signature.is_compliant"]], "is_port (amaranth.lib.wiring.member property)": [[28, "amaranth.lib.wiring.Member.is_port"]], "is_signature (amaranth.lib.wiring.member property)": [[28, "amaranth.lib.wiring.Member.is_signature"]], "members (amaranth.lib.wiring.signature property)": [[28, "amaranth.lib.wiring.Signature.members"]], "metadata (amaranth.lib.wiring.component property)": [[28, "amaranth.lib.wiring.Component.metadata"]], "origin (amaranth.lib.wiring.componentmetadata property)": [[28, "amaranth.lib.wiring.ComponentMetadata.origin"]], "schema (amaranth.lib.wiring.componentmetadata attribute)": [[28, "amaranth.lib.wiring.ComponentMetadata.schema"]], "shape (amaranth.lib.wiring.member property)": [[28, "amaranth.lib.wiring.Member.shape"]], "signature (amaranth.lib.wiring.component property)": [[28, "amaranth.lib.wiring.Component.signature"]], "signature (amaranth.lib.wiring.flippedinterface property)": [[28, "amaranth.lib.wiring.FlippedInterface.signature"]], "signature (amaranth.lib.wiring.member property)": [[28, "amaranth.lib.wiring.Member.signature"]], "validate() (amaranth.lib.wiring.componentmetadata class method)": [[28, "amaranth.lib.wiring.ComponentMetadata.validate"]]}}) \ No newline at end of file +Search.setIndex({"docnames": ["changes", "contrib", "cover", "guide", "index", "install", "intro", "platform", "platform/altera", "platform/gowin", "platform/lattice", "platform/quicklogic", "platform/siliconblue", "platform/xilinx", "reference", "simulator", "start", "stdlib", "stdlib/cdc", "stdlib/crc", "stdlib/crc/catalog", "stdlib/data", "stdlib/enum", "stdlib/fifo", "stdlib/io", "stdlib/memory", "stdlib/meta", "stdlib/stream", "stdlib/wiring", "tutorial"], "filenames": ["changes.rst", "contrib.rst", "cover.rst", "guide.rst", "index.rst", "install.rst", "intro.rst", "platform.rst", "platform/altera.rst", "platform/gowin.rst", "platform/lattice.rst", "platform/quicklogic.rst", "platform/siliconblue.rst", "platform/xilinx.rst", "reference.rst", "simulator.rst", "start.rst", "stdlib.rst", "stdlib/cdc.rst", "stdlib/crc.rst", "stdlib/crc/catalog.rst", "stdlib/data.rst", "stdlib/enum.rst", "stdlib/fifo.rst", "stdlib/io.rst", "stdlib/memory.rst", "stdlib/meta.rst", "stdlib/stream.rst", "stdlib/wiring.rst", "tutorial.rst"], "titles": ["Changelog", "Contributing", "Amaranth project documentation", "Language guide", "Language & toolchain", "Installation", "Introduction", "Platform integration", "Altera", "Gowin", "Lattice", "Quicklogic", "SiliconBlue", "Xilinx", "Language reference", "Simulator", "Getting started", "Standard library", "Clock domain crossing", "Cyclic redundancy checks", "Algorithm catalog", "Data structures", "Enumerations", "First-in first-out queues", "Input/output buffers", "Memory arrays", "Interface metadata", "Data streams", "Interfaces and connections", "Tutorial"], "terms": {"thi": [0, 1, 3, 4, 6, 7, 12, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28], "describ": [0, 1, 14, 15, 16, 17, 21, 25, 26, 28], "public": [0, 1, 14, 17, 28], "interfac": [0, 1, 3, 4, 6, 14, 15, 16, 17, 21, 23, 24, 25, 27], "amaranth": [0, 1, 3, 4, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29], "It": [0, 1, 3, 5, 6, 14, 15, 16, 19, 21, 22, 24, 25, 28], "doe": [0, 1, 3, 6, 14, 15, 18, 21, 23, 24, 25, 26, 27, 28], "includ": [0, 1, 3, 5, 6, 10, 14, 16, 17, 19, 22, 24, 25, 27, 28], "most": [0, 1, 3, 5, 6, 14, 15, 16, 18, 19, 21, 22, 24, 25, 27, 28], "bug": [0, 1, 3, 5, 6], "fix": [0, 3, 4, 5, 16, 19, 25, 28], "which": [0, 1, 3, 6, 10, 12, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28], "do": [0, 1, 3, 14, 15, 16, 21, 25, 27, 28], "notabl": [0, 5], "ar": [0, 1, 3, 5, 6, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28], "list": [0, 1, 3, 14, 15, 19, 21, 25, 26, 28], "here": [0, 1, 14, 21, 27], "i": [0, 1, 2, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29], "avail": [0, 1, 5, 8, 9, 10, 11, 12, 13, 15, 16, 19, 23, 24, 26, 27, 28], "onlin": 0, "66": 0, "simul": [0, 3, 4, 5, 14, 16, 17, 27], "time": [0, 1, 3, 5, 6, 12, 14, 15, 16, 18, 21, 23, 24, 25, 27, 28], "71": 0, "enumview": [0, 22, 28], "match": [0, 6, 14, 15, 22, 24, 25, 28], "ad": [0, 1, 3, 5, 6, 15, 16, 21, 24, 25, 28], "period": [0, 15, 16, 24, 27], "repres": [0, 3, 14, 24], "overrid": [0, 8, 9, 10, 11, 12, 13, 14, 18, 21, 25, 28], "valuecast": [0, 3, 14, 15, 21], "from_bit": [0, 14, 15, 21], "now": [0, 3, 28], "mandatori": 0, "51": 0, "deprec": 0, "local": [0, 25], "argument": [0, 1, 3, 14, 15, 22, 28], "clockdomain": [0, 3, 14, 15, 24], "59": 0, "remov": [0, 1, 3, 14, 15, 19, 28], "record": [0, 1, 16], "memori": [0, 4, 6, 14, 15, 16, 17, 23, 26, 28], "45": 0, "submodul": [0, 15, 19, 24, 25, 27, 28], "hdl": [0, 3, 5, 6, 14, 16, 21, 24, 25, 29], "valu": [0, 1, 4, 15, 16, 18, 19, 21, 22, 24, 25, 26, 28], "impli": [0, 3], "const": [0, 3, 14, 15, 21, 22, 25, 27, 28], "width": [0, 14, 19, 21, 23, 24, 25, 26, 27, 28], "sign": [0, 1, 3, 14, 21, 26, 27], "signal": [0, 4, 6, 14, 15, 16, 18, 19, 21, 22, 23, 24, 25, 27, 28], "upward": 0, "propag": [0, 14, 15], "clock": [0, 4, 6, 15, 16, 17, 19, 23, 25, 27], "domain": [0, 4, 6, 14, 15, 16, 17, 23, 24, 25, 26, 27, 28], "util": [0, 14, 17], "log2_int": 0, "17": [0, 1, 15, 20, 22, 27], "payload_init": [0, 27], "lib": [0, 3, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28], "stream": [0, 4, 17, 19, 24, 28], "signatur": [0, 1, 17, 24, 25, 26, 27], "enum": [0, 3, 14, 17, 21, 22, 28], "provid": [0, 3, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28], "io": [0, 3, 24], "portlik": [0, 24], "__add__": [0, 14, 24, 28], "69": 0, "code": [0, 1, 3, 4, 5, 6, 14, 16, 17, 19, 21, 26, 28], "63": 0, "simulatorcontext": [0, 15], "elapsed_tim": [0, 15], "get": [0, 3, 4, 5, 6, 15, 21, 24, 25], "elaps": [0, 15], "default_clk_period": [0, 16], "add_clock": [0, 15, 16, 24, 27], "accept": [0, 1, 3, 14, 15, 21, 22, 24, 27, 28], "phase": [0, 3, 15, 24], "run_until": [0, 15], "deadlin": [0, 15], "delai": [0, 1, 15, 18, 23, 24], "interv": [0, 15], "resourcemanag": 0, "add_clock_constraint": 0, "return": [0, 1, 3, 14, 15, 16, 19, 21, 22, 24, 25, 26, 27, 28], "pass": [0, 3, 15, 22, 24, 26, 28], "float": [0, 18, 21], "second": [0, 1, 3, 14, 15, 18, 21, 27], "hertz": [0, 16], "ani": [0, 1, 3, 5, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28], "method": [0, 1, 3, 14, 15, 16, 18, 19, 21, 22, 25, 26, 28], "frequenc": [0, 3, 16, 18, 24], "default_clk_frequ": 0, "gowin": [0, 4, 5, 7], "us": [0, 1, 3, 5, 6, 8, 10, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29], "nextpnr": [0, 8, 9, 10, 12, 13], "himbaechel": [0, 9], "rather": [0, 1, 3, 15, 21, 24, 28], "than": [0, 1, 3, 5, 6, 14, 15, 18, 21, 22, 24, 25, 28], "individu": [0, 1, 14, 15, 21, 24, 27], "bit": [0, 5, 10, 13, 14, 15, 16, 19, 21, 22, 23, 24, 25, 27], "same": [0, 1, 3, 6, 14, 15, 16, 19, 21, 22, 23, 24, 25, 27, 28], "can": [0, 1, 3, 5, 6, 14, 15, 16, 19, 21, 22, 23, 24, 25, 26, 27, 28], "assign": [0, 1, 14, 15, 16, 21, 22, 25, 28], "differ": [0, 1, 3, 6, 15, 17, 18, 21, 23, 24, 25, 26, 28], "modul": [0, 1, 4, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28], "constant": [0, 4, 14, 22, 27], "data": [0, 4, 14, 15, 17, 18, 19, 23, 24, 25, 26, 28], "arraylayout": [0, 3, 21, 24, 25], "index": [0, 1, 3, 14, 21, 24, 25, 27, 28], "neg": [0, 3, 14, 15, 18, 24], "integ": [0, 14, 21, 22, 25, 26, 28], "slice": [0, 3, 14, 15, 21, 24], "len": [0, 3, 14, 21, 24, 25], "work": [0, 3, 4, 5, 6, 10, 14, 15, 16, 21, 27, 28], "iter": [0, 1, 3, 15, 19, 21, 24, 25, 28], "request": [0, 1, 3, 14, 16, 17, 24, 25, 27, 28], "dir": [0, 24, 26], "resourc": [0, 25], "subsign": 0, "add": [0, 1, 3, 6, 8, 10, 12, 13, 14, 15, 19, 21, 22, 27, 28], "object": [0, 3, 8, 14, 15, 19, 21, 24, 25, 26, 27, 28], "usabl": [0, 1, 6, 28], "view": [0, 1, 3, 17], "simulationport": [0, 24], "The": [0, 1, 4, 5, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29], "migen": 0, "compat": [0, 4, 5, 17, 24, 26, 27], "layer": 0, "ha": [0, 1, 3, 6, 14, 15, 16, 19, 21, 22, 23, 24, 25, 27, 28], "been": [0, 3, 5, 14, 15, 17, 19, 23], "appli": [0, 3, 19, 21, 22, 24, 27], "follow": [0, 1, 3, 5, 6, 10, 14, 15, 16, 18, 19, 21, 24, 25, 27, 28, 29], "written": [0, 3, 6, 16, 23, 25, 28, 29], "against": [0, 3, 14, 22, 26, 28], "updat": [0, 1, 3, 5, 15, 16, 19, 24, 25, 28], "reset": [0, 6, 15, 16, 18, 19, 23, 24, 28], "keyword": [0, 3, 14, 22, 26, 28], "init": [0, 3, 14, 15, 18, 19, 21, 24, 25, 26, 28], "ensur": [0, 3, 14, 22, 24, 26, 27, 28], "all": [0, 1, 3, 5, 6, 8, 14, 15, 16, 17, 19, 21, 22, 24, 25, 26, 28], "elaborat": [0, 3, 14, 15, 16, 24, 25, 28], "subclass": [0, 3, 14, 21, 22, 26, 28], "replac": [0, 4, 14, 22, 27, 28], "m": [0, 3, 14, 15, 16, 19, 21, 24, 25, 26, 27, 28], "case": [0, 14, 15, 16, 19, 21, 23, 25, 26, 28], "pattern": [0, 3, 14, 21, 22], "default": [0, 3, 13, 14, 15, 18, 24, 25, 28], "aren": 0, "t": [0, 1, 3, 14, 21, 25, 26, 27, 28], "outsid": [0, 3, 24, 28], "defin": [0, 3, 6, 14, 15, 16, 17, 18, 19, 22, 24, 25, 27, 28], "them": [0, 1, 3, 14, 15, 16, 21, 24, 28], "its": [0, 1, 3, 14, 15, 16, 18, 19, 21, 22, 24, 25, 26, 27, 28], "move": 0, "definit": [0, 3, 4, 16, 26, 28], "hierarchi": [0, 3, 21, 26], "necessari": [0, 1, 3, 5, 6, 12, 14, 15, 16, 17, 21, 26, 27, 28], "import": [0, 1, 3, 4, 15, 16, 19, 21, 22, 24, 25, 27, 28], "assert": [0, 4, 14, 15, 16, 18, 19, 23, 24, 25, 27, 28], "assum": [0, 3, 14, 15, 24, 25], "cover": [0, 3, 6, 14, 26, 28], "name": [0, 1, 6, 8, 9, 10, 12, 13, 14, 15, 18, 21, 24, 25, 26, 28], "messag": [0, 1, 3, 8, 10, 12, 14, 16, 25, 28], "instead": [0, 3, 14, 15, 21, 25, 26, 27, 28], "buffer": [0, 4, 6, 17, 23], "inlin": [0, 1], "copi": [0, 1, 27, 28], "convert": [0, 3, 6, 14, 15, 21, 24, 25, 26, 27, 28], "add_sync_process": 0, "testbench": [0, 15, 16, 25], "add_testbench": [0, 15, 16, 24, 27], "other": [0, 1, 3, 5, 6, 14, 15, 16, 18, 19, 21, 22, 24, 26, 27, 28], "add_process": [0, 15], "process": [0, 1, 3, 6, 14, 15, 17, 19, 21, 27, 28], "new": [0, 3, 4, 5, 6, 15, 19, 21, 23, 24, 25, 28], "async": [0, 15, 16, 24, 25, 27], "api": [0, 5], "explicit": [0, 3, 6, 14, 19], "take": [0, 1, 3, 6, 14, 15, 19, 28], "account": [0, 3, 28], "longer": 0, "implicit": [0, 3, 19], "previous": [0, 26, 28], "wa": [0, 3, 15, 19, 21, 28], "first": [0, 1, 3, 4, 5, 6, 14, 15, 16, 17, 18, 19, 21, 24, 27, 28], "toggl": [0, 15], "actual": [0, 1, 22, 28], "run_pass": 0, "true": [0, 3, 14, 15, 16, 18, 19, 20, 22, 24, 25, 27, 28], "If": [0, 1, 5, 14, 15, 16, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28], "fals": [0, 3, 14, 15, 18, 19, 20, 23, 24, 26, 27, 28], "still": [0, 3, 15, 16, 18, 28, 29], "behavior": [0, 1, 3, 6, 14, 15, 16, 17, 21, 25, 28], "need_pow2": 0, "ceil_log2": [0, 25], "exact_log2": 0, "b": [0, 3, 15, 19, 22, 24, 25, 26, 28], "27": 0, "30": [0, 16, 20], "compon": [0, 1, 2, 3, 6, 15, 16, 17, 21, 24, 26, 27], "metadata": [0, 4, 13, 17], "36": [0, 16], "function": [0, 3, 5, 6, 14, 15, 16, 17, 19, 21, 25, 27, 28], "39": [0, 16], "semant": [0, 1, 3, 6, 14, 28], "42": [0, 16], "shape": [0, 1, 4, 15, 21, 22, 25, 27, 28], "castabl": [0, 3, 14, 21, 22, 25, 27, 28], "43": 0, "renam": 0, "46": 0, "cast": [0, 4, 14, 21, 22, 28], "rang": [0, 14, 15, 16, 21, 23, 24, 27, 28], "unsign": [0, 3, 14, 21, 22, 25, 26, 28], "50": [0, 15], "print": [0, 1, 4, 14, 28], "statement": [0, 3, 14, 15, 22, 28], "string": [0, 3, 14, 15, 21, 24, 26, 28], "format": [0, 1, 3, 14, 21, 26], "shapecast": [0, 3, 14, 15, 21, 22, 25], "53": 0, "low": [0, 3, 6, 15, 21, 24, 27], "level": [0, 1, 3, 6, 14, 15, 16, 21, 23, 24, 28], "o": [0, 2, 4, 6, 13, 15, 16, 18, 24, 26], "primit": [0, 3, 6, 25, 26], "55": 0, "58": [0, 3], "core": [0, 3, 6, 8, 24, 28], "support": [0, 1, 3, 5, 6, 8, 9, 10, 11, 12, 13, 14, 16, 18, 21, 23, 24, 25, 27], "rid": 0, "61": [0, 27], "minim": [0, 1, 14, 16, 27], "62": 0, "memorydata": [0, 15, 25], "class": [0, 1, 3, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 23, 24, 25, 26, 27, 28], "65": 0, "special": [0, 3, 6, 19, 24, 25, 28], "structur": [0, 1, 4, 14, 16, 17, 26, 28], "have": [0, 1, 3, 5, 14, 15, 17, 21, 24, 25, 26, 28], "made": [0, 3, 5, 25, 28], "ioport": [0, 3, 24], "iobufferinst": [0, 3, 24], "never": [0, 3, 15, 21, 22, 25, 28], "activ": [0, 6, 15, 25], "alwai": [0, 1, 3, 6, 14, 15, 16, 18, 19, 24, 25, 28], "stop": [0, 3, 15], "warn": [0, 1, 14, 17], "hard": [0, 1, 6, 15, 21], "error": [0, 1, 3, 6, 8, 10, 12, 15, 19, 21, 28], "trigger": [0, 15, 25], "out": [0, 4, 5, 6, 14, 15, 16, 17, 18, 19, 24, 26, 27, 28], "valid": [0, 14, 18, 19, 21, 23, 24, 26, 27, 28], "without": [0, 1, 3, 5, 6, 14, 15, 17, 19, 21, 25, 27, 28], "like": [0, 1, 3, 5, 6, 14, 15, 18, 21, 22, 24, 25, 28], "wire": [0, 3, 15, 16, 17, 24, 25, 26, 27, 28], "member": [0, 1, 14, 21, 22, 24, 25, 26, 27, 28], "cdc": [0, 3, 6, 17, 18], "ffsynchron": [0, 17, 18], "fsm": 0, "immut": [0, 3, 15, 21, 28], "hashabl": [0, 14], "instanc": [0, 4, 10, 14, 21, 22, 24, 26, 28], "port": [0, 16, 17, 26, 28], "onli": [0, 1, 3, 5, 6, 10, 14, 15, 16, 18, 19, 21, 22, 23, 24, 26, 27, 28], "plain": [0, 3, 21, 22], "normal": [0, 14, 24, 28], "repl": 0, "10": [0, 3, 15, 20, 21, 28], "ast": [0, 14], "sampl": [0, 3, 15, 24, 27, 28], "stabl": [0, 3], "rose": 0, "fell": 0, "non": [0, 1, 3, 6, 14, 15, 18, 26, 28], "layout": [0, 17, 26], "is_compli": [0, 28], "reject": [0, 3], "less": [0, 14, 15, 24, 28], "singleendedport": [0, 24], "differentialport": [0, 24], "ffbuffer": [0, 24], "ddrbuffer": [0, 24], "meta": [0, 17, 26, 28], "componentmetadata": [0, 26, 28], "schedul": [0, 15], "19": 0, "fifo": [0, 6, 17, 23, 27], "fifointerfac": [0, 17, 23], "fwft": 0, "20": 0, "syncfifo": [0, 17, 23], "implicitli": [0, 14], "when": [0, 1, 3, 6, 14, 15, 16, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28], "specifi": [0, 3, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 19, 21, 22, 23, 24, 25, 27, 28], "run": [0, 5, 6, 8, 9, 10, 11, 12, 13, 16, 24, 27], "until": [0, 3, 5, 14, 15, 18, 21, 24, 25, 27, 29], "given": [0, 3, 19, 21, 22, 25, 28], "even": [0, 1, 3, 14, 15, 18, 25, 28], "critic": [0, 15], "present": [0, 3, 6, 8, 9, 10, 11, 12, 13, 14, 24, 28], "settl": 0, "command": [0, 1, 5, 6, 8, 9, 10, 11, 12, 13, 16, 21], "gener": [0, 3, 5, 6, 14, 16, 19, 24, 25, 26, 28], "base": [0, 3, 6, 8, 9, 10, 11, 12, 13, 14, 15, 17, 19, 21, 26, 28], "noth": [0, 14, 23, 28], "mix": [0, 3], "environ": [0, 6, 8, 9, 10, 11, 12, 13, 15], "variabl": [0, 3, 8, 9, 10, 11, 12, 13, 14, 21, 28], "nmigen_env_diamond": 0, "amaranth_env_diamond": [0, 10], "upper": 0, "buildplan": 0, "execute_local_dock": 0, "extract": [0, 28], "build": [0, 3, 4, 5, 8, 9, 10, 12, 13, 15, 16, 18, 23, 24, 26, 28], "sh": 0, "begin": [0, 3, 14, 15, 16, 21, 24, 27, 28], "bin": [0, 10, 12, 13], "intelplatform": 0, "alteraplatform": [0, 7, 8], "run_script": 0, "execute_loc": 0, "vendor": [0, 3, 6, 8, 9, 10, 11, 12, 13, 16], "intel": 0, "lattice_ecp5": 0, "lattice_ice40": 0, "lattice_machxo2_3l": 0, "quicklog": [0, 4, 7], "xilinx": [0, 4, 7], "18": 0, "improv": [0, 1, 14, 15, 21, 23, 28], "wai": [0, 1, 3, 14, 15, 21, 22, 24, 25, 26, 27, 28], "In": [0, 1, 3, 4, 14, 15, 16, 21, 22, 23, 24, 25, 26, 27, 28], "departur": 0, "usual": [0, 1, 3, 5, 6, 14, 15, 18, 21, 25, 26, 28], "polici": 0, "give": [0, 3, 14, 21], "design": [0, 1, 3, 5, 6, 13, 14, 15, 16, 17, 18, 19, 21, 24, 25, 26, 27, 28, 29], "addit": [0, 1, 3, 5, 6, 14, 15, 21, 22, 23, 24, 26, 27, 28], "one": [0, 1, 3, 14, 15, 16, 17, 18, 19, 21, 23, 24, 25, 28, 29], "later": [0, 1, 3, 15, 27], "enumer": [0, 4, 14, 17, 21, 24, 27, 28], "extend": [0, 3, 6, 14, 15, 22, 26, 28], "A": [0, 1, 3, 4, 5, 6, 14, 15, 18, 19, 21, 22, 24, 25, 26, 27, 28, 29], "an": [0, 1, 3, 5, 6, 14, 15, 16, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28], "sever": [0, 1, 3, 14, 15, 24, 28], "extens": [0, 16], "point": [0, 12, 15, 21, 24, 27], "particular": [0, 1, 3, 6, 15, 19, 21, 28], "mai": [0, 1, 3, 5, 14, 15, 18, 19, 21, 22, 24, 25, 27, 28], "wrap": [0, 1, 14, 15, 21, 22, 28], "anoth": [0, 3, 14, 15, 17, 21, 22, 25, 26, 27, 28], "call": [0, 3, 14, 15, 21, 22, 24, 25, 26, 28], "protocol": [0, 14, 22, 26, 27], "15": [0, 15, 16, 20], "issu": [0, 1, 3, 6, 25], "infer": [0, 3, 6, 21, 24], "resolv": [0, 3, 28], "where": [0, 1, 3, 14, 15, 18, 19, 21, 24, 25, 26, 27, 28], "both": [0, 1, 3, 6, 14, 15, 19, 21, 24, 25, 27, 28], "python": [0, 1, 3, 5, 6, 12, 14, 15, 16, 21, 22, 26, 28], "7": [0, 3, 5, 6, 20, 21, 24, 27], "11": [0, 3, 20, 21], "12": [0, 3, 20, 26], "featur": [0, 4, 14, 18, 28], "nmigen": [0, 29], "namespac": [0, 1, 3], "annot": [0, 14, 17, 21, 24, 28], "recogn": [0, 14, 25, 27], "nmigen_": 0, "envron": 0, "remain": [0, 14, 15, 23, 27, 28], "had": [0, 21, 28], "sinc": [0, 3, 5, 14, 15, 16, 19, 21, 28], "shell": 0, "amaranth_": 0, "amaranth_env_": 0, "uppercas": 0, "nmigen_env_": 0, "form": [0, 3, 19, 24, 27, 28], "some_vendor": 0, "somevendorplatform": 0, "reduc": [0, 3, 6, 18, 21, 25, 27, 28], "futur": [0, 3, 6, 15, 24, 28], "churn": 0, "count": [0, 3, 14, 15, 16, 27, 28], "replic": [0, 3, 14, 25], "appropri": [0, 24, 27, 28], "depend": [0, 1, 3, 5, 6, 14, 15, 21, 23, 28], "being": [0, 1, 3, 14, 21, 23, 25, 27, 28, 29], "storag": [0, 14], "access": [0, 3, 15, 23, 25, 26, 28], "represent": [0, 3, 14, 15, 25, 26, 28], "connect": [0, 3, 4, 16, 17, 18, 24, 27], "togeth": [0, 1, 3, 27, 28], "manual": [0, 1, 4, 5, 19, 21, 28], "instanti": [0, 3, 6, 14, 16, 18, 21, 24, 25], "regist": [0, 3, 6, 19, 23, 24, 26, 28], "e": [0, 1, 3, 14, 15, 18, 23, 24, 25, 27, 28], "g": [0, 1, 3, 13, 14, 15, 18, 25, 28], "past_x": 0, "x": [0, 3, 14, 19, 25, 28], "d": [0, 3, 15, 16, 19, 21, 24, 25, 26, 27, 28], "sync": [0, 3, 15, 16, 21, 24, 25, 27, 28], "eq": [0, 3, 14, 15, 16, 21, 22, 24, 25, 26, 27, 28], "nativ": [0, 6], "syntax": [0, 1, 3, 4, 15, 16, 21, 28], "pin": [0, 3, 6], "directli": [0, 3, 6, 14, 15, 18, 19, 21, 23, 24, 25, 28], "field": [0, 21], "led": [0, 4], "cat": [0, 3, 14, 22, 27], "n": [0, 3, 18, 21, 24, 25], "note": [0, 1, 3, 14, 18, 19, 21, 22, 24], "roundrobin": 0, "those": [0, 3, 28], "while": [0, 1, 3, 6, 14, 15, 19, 21, 24, 25, 26, 27, 28], "below": [0, 3, 14, 15, 16, 18, 25, 27, 28], "thei": [0, 1, 3, 14, 15, 16, 19, 21, 25, 26, 27, 28], "next": [0, 3, 5, 15, 16, 23, 24, 25, 27, 28], "aggreg": [0, 3, 21], "express": [0, 3, 15, 21, 22, 26, 28], "crc": [0, 17, 20], "8": [0, 3, 5, 19, 20, 21, 24, 25, 26, 27, 28], "9": [0, 3, 27], "initi": [0, 14, 15, 18, 19, 21, 25, 27, 28], "reorgan": 0, "lift": [0, 14, 24, 27, 28], "22": 0, "28": 0, "allow": [0, 1, 3, 6, 14, 18, 22, 24, 27, 28], "oper": [0, 4, 6, 14, 15, 21, 22, 24, 25, 28], "31": [0, 3, 20, 21], "type": [0, 3, 14, 15, 19, 21, 22, 23, 24, 25, 26, 28], "safeti": [0, 22], "34": 0, "pureinterfac": [0, 28], "35": 0, "shapelik": [0, 14, 21, 27], "valuelik": [0, 14, 15], "37": 0, "make": [0, 1, 3, 5, 6, 15, 17, 22, 23, 24, 25, 26, 27], "38": [0, 16], "similar": [0, 1, 3, 14, 15, 16, 19, 21, 25, 27, 28], "as_sign": [0, 3, 14], "as_unsign": [0, 3, 14], "left": [0, 3, 14, 19, 25], "hand": 0, "side": [0, 3], "supersed": 0, "transpar": [0, 3, 25], "read": [0, 1, 3, 21, 23, 24, 28], "enabl": [0, 3, 6, 8, 10, 12, 15, 16, 21, 24, 25, 27, 28], "creat": [0, 1, 3, 14, 15, 19, 22, 24, 25, 27, 28], "__call__": [0, 14, 19, 21, 22, 28], "recurs": [0, 21, 28], "treat": [0, 3, 19, 27, 28], "deriv": [0, 3, 6, 16, 21, 24, 28], "int": [0, 3, 14, 15, 16, 18, 19, 21, 23, 24, 25, 26, 28], "intenum": [0, 3, 14, 22], "empti": [0, 3, 15, 23, 25, 26], "explicitli": [0, 3, 14, 15, 16, 19, 21, 22, 25, 28], "construct": [0, 3, 6, 14, 15, 16, 19, 21, 22, 23, 25, 27, 28], "were": [0, 1, 3, 15], "__abs__": [0, 14], "predat": 0, "tupl": [0, 3, 15, 24, 25, 28], "uservalu": 0, "linter": 0, "instruct": [0, 3, 15, 16], "file": [0, 3, 4, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 21, 22, 28], "text": [0, 1], "lf": 0, "line": [0, 1, 14, 16, 22, 28], "end": [0, 3, 6, 8, 9, 10, 12, 15, 16, 24], "window": [0, 5, 6, 10], "debug_verilog": 0, "templatedplatform": 0, "env": 0, "add_fil": [0, 12], "absolut": [0, 3, 14], "path": [0, 10, 26, 27], "sim": [0, 15, 16, 24, 25, 27], "step": [0, 1, 3, 5, 6, 15, 16], "back": [0, 15, 16, 28], "pysim": 0, "invok": [0, 3, 28], "rtlil": 0, "verilog": [0, 3, 5, 6, 16, 26], "test": [0, 1, 6, 14, 23, 24, 26, 27], "icepack_opt": 0, "latticeice40platform": [0, 3], "osch": 0, "default_clk": 0, "sourc": [0, 1, 3, 4, 5, 6, 16, 21, 24, 26, 28], "latticemachxo2platform": 0, "latticemachxo3lplatform": 0, "xrai": [0, 13], "xilinxplatform": [0, 7, 13], "artix": 0, "ultrascal": 0, "part": [0, 1, 3, 14, 15, 16, 17, 21, 25, 28], "gowinplatform": [0, 7, 9], "lattice_machxo2": 0, "lattice_machxo_2_3l": 0, "latticemachxo2or3lplatform": 0, "svf": [0, 10], "program": [0, 1, 3, 6, 10, 16], "vector": [0, 10], "xilinx_spartan_3_6": 0, "xilinxspartan3aplatform": 0, "xilinxspartan6platform": 0, "xilinx_7seri": 0, "xilinx7seriesplatform": 0, "xilinx_ultrascal": 0, "xilinxultrascaleplatform": 0, "project": [0, 1, 5, 6, 22, 26], "nm": 0, "prelud": [0, 4, 14], "am": [0, 3, 14], "adjust": 0, "nmigen_board": 0, "amaranth_board": [0, 16], "board": [0, 4, 16], "switch": [0, 21, 24], "inherit": [0, 3, 14, 21, 23, 28], "miss": [0, 1, 15], "fhdltestcas": 0, "assertform": 0, "ab": [0, 3, 14], "rotate_left": [0, 3, 14], "rotate_right": [0, 3, 14], "shift_left": [0, 3, 14], "shift_right": [0, 3, 14], "divis": [0, 3, 14], "modulo": [0, 3, 14], "divisor": [0, 16], "pulsesynchron": [0, 17, 18], "asyncffsynchron": [0, 17, 18], "asyncfifo": [0, 17, 23], "write": [0, 1, 3, 7, 15, 16, 23, 24, 25, 28], "r_rst": [0, 23], "r_level": [0, 23], "w_level": [0, 23], "backend": [0, 16], "larger": [0, 3, 19], "65536": 0, "emit": [0, 3, 28], "yosi": [0, 1, 5, 6, 8, 9, 10, 12, 13], "attribut": [0, 1, 3, 6, 16, 19, 21, 23, 24, 25, 26, 27, 28], "instal": [0, 1, 4, 12, 16], "fall": [0, 17, 24], "pypi": [0, 5, 6], "packag": [0, 1, 5, 16, 26], "builtin": [0, 5], "cxxrtl": 0, "multipl": [0, 3, 6, 14, 15, 27, 28], "fragment": [0, 3, 14], "advanc": [0, 6, 15, 16, 28], "execute_remote_ssh": 0, "vcd": [0, 15, 16, 27], "output": [0, 1, 3, 4, 12, 14, 15, 16, 17, 18, 19, 23, 25, 27, 28], "top": [0, 3, 15, 16, 24], "bench": [0, 6, 16], "contain": [0, 1, 3, 5, 6, 14, 15, 16, 19, 20, 21, 24, 25, 26, 27, 28], "sb_lfosc": 0, "sb_hfosc": 0, "binari": [0, 3, 8, 9, 10, 12, 13], "bitstream": [0, 8, 9, 10, 12, 13, 16], "grade": [0, 29], "famili": [0, 5, 6, 10, 21], "temperatur": 0, "speed": [0, 6, 15], "symbiflow": [0, 11, 13], "separ": [0, 5, 17], "flash": [0, 6, 10, 16], "sram": [0, 8, 10], "_flash": [0, 10], "_sram": [0, 10], "quicklogicplatform": [0, 7, 11], "cyclonev_oscil": 0, "add_set": [0, 8], "add_constraint": [0, 8, 10, 11, 12, 13], "mistral": [0, 8], "synth_design_opt": [0, 13], "No": [0, 21, 28], "publish": [0, 15, 26], "under": [0, 3, 14, 21, 26, 28], "collect": [1, 3, 6, 28], "mani": [1, 3, 6, 14, 16, 19, 25, 26, 28], "peopl": 1, "collabor": 1, "over": [1, 19, 21, 25], "year": 1, "would": [1, 3, 14, 15, 19, 21, 25, 26, 27, 28], "everyon": 1, "": [1, 3, 6, 14, 15, 16, 18, 19, 21, 23, 24, 25, 27, 28, 29], "uniqu": [1, 3, 26], "perspect": 1, "we": [1, 3, 24], "re": [1, 15, 19, 22, 24], "glad": 1, "you": [1, 3, 5, 14, 15, 18, 19, 25, 27], "consid": [1, 3, 6, 14, 16, 18, 21, 24, 26, 28, 29], "join": 1, "u": [1, 15, 25], "page": 1, "through": [1, 3, 6, 14, 15, 17, 21, 25, 26, 27, 28], "some": [1, 3, 6, 14, 16, 24, 25, 27, 28], "best": 1, "tool": [1, 3, 6, 8, 9, 10, 11, 12, 13, 26, 28], "hear": 1, "about": [1, 3, 14, 15, 17, 26, 28], "encount": [1, 14, 15], "crucial": [1, 3], "care": [1, 3], "lot": 1, "correct": [1, 3, 15, 17, 28], "result": [1, 3, 14, 15, 16, 21, 22, 24, 25, 26, 27, 28], "experi": [1, 3], "just": [1, 3, 15, 21, 22], "much": [1, 25], "meant": [1, 28], "comfort": 1, "fewer": [1, 3], "sharp": 1, "edg": [1, 3, 5, 15, 16, 18, 24, 25, 27], "matter": [1, 21], "how": [1, 3, 5, 15, 21, 28], "technolog": 1, "appeal": 1, "might": [1, 15], "more": [1, 3, 6, 14, 15, 16, 21, 24, 25, 26, 27, 28], "guardrail": 1, "pleas": 1, "To": [1, 3, 5, 6, 14, 15, 16, 21, 25, 28], "go": [1, 6, 14, 17, 28], "beyond": [1, 3, 28], "see": [1, 3, 14, 15, 16, 18, 20, 24, 28], "understand": [1, 3, 15, 28], "mislead": 1, "especi": [1, 3, 6], "think": 1, "did": [1, 5], "someth": 1, "wrong": [1, 3, 24, 28], "inform": [1, 8, 10, 12, 16, 21, 26, 28], "exact": [1, 14, 15, 21, 27], "version": [1, 4, 5, 14, 17, 26], "find": [1, 26], "c": [1, 3, 10, 14, 22, 28], "__version__": 1, "complet": [1, 3, 14, 15, 19], "self": [1, 3, 6, 14, 15, 16, 19, 21, 22, 24, 25, 26, 27, 28], "demonstr": [1, 14, 16, 27, 28], "feasibl": [1, 14], "sequenc": [1, 14, 15, 18, 21], "reproduc": [1, 6], "what": [1, 3, 25, 28], "expect": [1, 3, 15, 21, 27, 28], "happen": [1, 3, 25], "possibl": [1, 3, 6, 14, 15, 22, 24, 25, 27, 28], "verbatim": 1, "log": [1, 8, 10, 12, 13], "termin": [1, 3], "For": [1, 3, 5, 14, 15, 19, 21, 22, 24, 25, 26, 27, 28], "reason": [1, 3, 15, 28], "why": [1, 28], "There": [1, 3, 14, 25, 28], "person": [1, 26], "who": 1, "should": [1, 3, 5, 14, 15, 16, 18, 21, 23, 24, 25, 28], "submit": [1, 21], "valuabl": 1, "own": [1, 3, 19, 21], "right": [1, 3, 14, 21], "appreci": 1, "open": [1, 3, 5, 6, 15, 16], "commun": [1, 6, 15, 21, 27, 28, 29], "tend": 1, "opportun": 1, "enjoi": 1, "pull": [1, 5], "howev": [1, 3, 5, 14, 15, 18, 21, 25, 26, 27, 28], "unless": [1, 3, 14, 15, 23, 24, 26, 28], "ve": 1, "few": [1, 3, 16, 21, 26, 27, 28], "befor": [1, 3, 5, 10, 13, 15, 27, 28], "truli": 1, "trivial": 1, "discuss": [1, 28], "maintain": [1, 6, 18], "doesn": [1, 26, 28], "sometim": [1, 3, 6, 28], "save": [1, 10, 15], "unnecessari": 1, "frustrat": 1, "languag": [1, 2, 15, 16, 17, 24, 26, 28], "toolchain": [1, 2, 3, 5, 8, 9, 10, 11, 12, 13, 16, 25], "from": [1, 5, 6, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28], "kind": [1, 3, 15, 21, 28], "everi": [1, 3, 6, 14, 15, 16, 18, 19, 21, 25, 28], "unavoid": 1, "tightli": [1, 3, 28], "coupl": 1, "seemingli": 1, "obviou": 1, "appar": 1, "minor": 1, "decis": [1, 3], "dramat": 1, "consequ": [1, 6, 28], "sure": [1, 5], "undergo": 1, "scrutini": 1, "commit": [1, 5, 26], "impact": 1, "chanc": 1, "voic": 1, "heard": 1, "substanti": 1, "must": [1, 3, 12, 14, 15, 17, 18, 19, 21, 22, 24, 25, 26, 27, 28], "formal": [1, 29], "comment": [1, 14, 17], "well": [1, 3, 5, 6, 14, 15, 16, 21, 25, 27, 28], "typic": [1, 6, 24], "after": [1, 3, 5, 8, 10, 12, 13, 15, 18, 19, 23, 24, 25, 28], "round": [1, 23], "review": [1, 14, 17], "achiev": [1, 6], "unanim": 1, "consensu": 1, "pdm": 1, "manag": [1, 3, 15, 21], "develop": [1, 16, 21, 26, 27], "workflow": [1, 5, 6, 16], "download": [1, 6, 16], "latest": 1, "onc": [1, 3, 14, 15, 16, 18, 21, 24, 27, 28], "done": [1, 3, 14, 15, 19, 21, 27], "so": [1, 3, 5, 6, 15, 16, 18, 19, 21, 24, 25, 28], "dev": 1, "virtual": [1, 15, 25, 28], "locat": [1, 4, 16, 24, 28], "venv": 1, "runtim": 1, "itself": [1, 3, 10, 14, 15, 16, 19, 21, 22, 26, 28], "edit": [1, 16], "mode": [1, 3], "mean": [1, 3, 14, 24, 25, 28], "immedi": [1, 3, 5, 14, 15, 18, 25], "reflect": [1, 14, 19, 25], "pick": 1, "up": [1, 3, 15, 16, 21, 23, 28, 29], "good": [1, 3, 10], "habit": 1, "each": [1, 3, 6, 14, 15, 19, 21, 24, 25, 27, 28], "tree": [1, 3, 6], "frontend": 1, "yices2": 1, "smt": 1, "solver": 1, "These": [1, 3, 6, 14, 21, 27, 28], "distribut": [1, 5, 25], "oss": 1, "cad": 1, "suit": [1, 25], "reli": [1, 3, 6, 15, 28], "verif": [1, 6, 28, 29], "skip": [1, 14, 15], "doc": 1, "_build": 1, "html": 1, "involv": [1, 3], "small": [1, 3, 14, 16], "labor": [1, 6, 21], "rebuild": 1, "start": [1, 3, 4, 6, 15, 19, 21, 28], "automat": [1, 3, 16, 22], "live": 1, "brows": 1, "http": [1, 5, 26, 28], "127": [1, 3], "0": [1, 3, 4, 5, 14, 15, 16, 21, 22, 24, 25, 26, 27, 28], "1": [1, 3, 4, 14, 15, 16, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28], "8000": 1, "browser": [1, 4], "short": [1, 3, 28], "keep": [1, 28], "ey": 1, "syntact": 1, "refer": [1, 3, 4, 17, 19, 24, 25, 28], "occasion": 1, "builder": 1, "persist": [1, 3], "render": 1, "incorrect": 1, "outdat": 1, "content": [1, 15, 24, 25, 27], "our": 1, "guidelin": 1, "evolv": 1, "section": [1, 3, 7, 15, 16, 21, 28], "incomplet": [1, 4, 14], "fundament": [1, 21], "contract": 1, "afford": 1, "implement": [1, 3, 6, 14, 15, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28], "becaus": [1, 3, 5, 14, 15, 21, 25, 28], "truth": [1, 21, 28], "secondari": 1, "rfc": [1, 27], "exist": [1, 3, 6, 19, 23, 26, 28], "outcom": 1, "corollari": 1, "previou": [1, 5, 15, 19, 21, 24], "difficult": [1, 3, 15, 26, 27], "readili": 1, "understood": 1, "need": [1, 3, 6, 14, 15, 18, 21, 23, 25, 26, 28], "break": [1, 3, 14, 15], "librari": [1, 3, 4, 14, 18, 24, 25, 27], "easier": [1, 3, 6], "Be": [1, 3], "consist": [1, 6, 15, 18, 24, 27, 28], "inspir": 1, "don": [1, 3], "expens": [1, 6], "clariti": [1, 3, 15, 16, 28], "concis": [1, 3, 21, 28], "easi": [1, 3, 6], "boilerpl": [1, 21, 28], "navig": 1, "paramet": [1, 3, 14, 15, 16, 17, 18, 21, 23, 24, 25, 26, 27, 28], "docstr": 1, "addition": [1, 14, 15, 25], "fact": [1, 3], "isn": [1, 14, 27], "correspond": [1, 3, 14, 15, 16, 19, 21, 22, 25, 27, 28], "mainli": 1, "clutter": 1, "goal": [1, 3, 28], "transfer": [1, 6, 17, 18, 25, 28], "knowledg": [1, 28], "tick": [1, 3, 15, 16, 24, 27], "box": [1, 6, 16], "limit": [1, 3, 6, 16, 24, 27, 28], "sphinx": 1, "100": [1, 3, 18], "column": 1, "py": [1, 16], "paragraph": 1, "rst": [1, 3, 15, 16], "head": 1, "third": [1, 6, 14, 17, 21], "ones": [1, 6, 14, 15, 21, 25, 28], "var_nam": 1, "testcod": 1, "block": [1, 6, 15, 16, 18, 23, 25, 28], "cannot": [1, 3, 14, 15, 19, 21, 23, 24, 25, 26, 28], "doctest": 1, "admonit": 1, "sparingli": 1, "paid": 1, "attent": 1, "els": [1, 16, 18, 24, 25, 27, 28], "unexpect": [1, 3, 6], "bad": 1, "thing": 1, "notic": [1, 14], "yellow": 1, "moment": [1, 3, 6, 15, 16, 24], "tip": 1, "otherwis": [1, 3, 5, 14, 15, 16, 18, 21, 24, 25, 28], "annoy": 1, "bright": [1, 21], "blue": [1, 21], "green": [1, 21], "kei": [1, 3, 14, 21, 24, 28], "topic": 1, "whole": [1, 3], "least": [1, 3, 6, 14, 15, 17, 19, 21, 23, 24, 25, 28], "faint": 1, "todo": 1, "also": [1, 3, 6, 14, 15, 16, 17, 19, 21, 22, 23, 24, 25, 27, 28], "phrase": 1, "descript": [1, 3, 6, 14, 15, 17, 21, 26, 28], "imper": [1, 3], "sentenc": 1, "properti": [1, 3, 21, 24, 25, 26, 27, 28], "declar": [1, 16, 28], "standard": [1, 2, 3, 4, 8, 10, 12, 14, 16, 19, 22, 26, 27, 28], "anchor": 1, "_lang": 1, "lang": [1, 5, 26, 28], "global": [1, 26], "sequenti": 1, "logic": [1, 6, 14, 16, 23, 24, 25], "term": [1, 3, 19, 24, 25], "combin": [1, 4, 14, 16, 19, 21, 24, 25, 27, 28], "combinatori": 1, "yet": [1, 18, 25], "ask": 1, "effort": [1, 6, 16], "modifi": [1, 25, 27, 28], "spirit": 1, "surround": 1, "dure": [1, 3, 6, 15, 18, 21, 24], "doubt": 1, "mondai": 1, "00": 1, "utc": 1, "irc": 1, "channel": [1, 21], "libera": 1, "chat": 1, "matrix": 1, "org": [1, 26, 28], "bridg": 1, "appear": [1, 3, 15, 21, 23, 24, 28], "user": [1, 3, 5, 14, 16, 21, 22, 26], "contributor": 1, "newli": [1, 15, 28], "warrant": 1, "broad": [1, 17], "primari": 1, "avenu": 1, "want": [1, 14, 19, 29], "interest": [1, 14], "evolut": 1, "simpli": 1, "feel": 1, "free": 1, "attend": 1, "abl": [1, 3, 15, 24], "publicli": [1, 26], "summari": 1, "post": 1, "relev": [1, 14, 15, 28], "github": [1, 5], "thread": 1, "system": [2, 3, 4, 16, 27, 28], "chip": [2, 28], "toolkit": 2, "introduc": [3, 15, 28], "depth": [3, 23, 25, 27], "familiar": [3, 14, 15], "digit": [3, 6, 17], "requir": [3, 4, 6, 8, 9, 10, 11, 12, 13, 14, 15, 21, 24, 25, 26, 27, 28], "prior": 3, "hardwar": [3, 6, 15, 17, 19, 25, 26], "tutori": [3, 4, 16], "introduct": [3, 4, 14, 16, 17], "detail": [3, 15, 16, 18, 28], "underli": [3, 14, 21, 22, 24], "regular": 3, "root": [3, 12, 26], "carefulli": 3, "curat": 3, "export": [3, 10, 14, 22, 28], "amount": [3, 6, 14, 16, 21, 24, 25], "essenti": [3, 6, 17, 19, 28], "nearli": 3, "dedic": 3, "practic": [3, 27, 28], "glob": [3, 14], "readabl": [3, 6, 28], "frown": 3, "upon": 3, "convent": [3, 6], "alia": 3, "exampl": [3, 14, 15, 16, 17, 20, 21, 26, 28], "signed": [3, 14, 21, 28], "5": [3, 4, 15, 16, 20, 21, 22, 24, 28], "known": [3, 6, 10, 14, 15, 17, 19, 21, 25], "upfront": [3, 14], "conveni": [3, 14, 21, 25, 28], "alias": [3, 14], "v": [3, 16], "retriev": [3, 14, 15, 20, 21, 25, 26, 28], "3": [3, 4, 5, 15, 16, 20, 21, 25, 28], "basic": [3, 15, 16], "number": [3, 8, 14, 15, 18, 21, 23, 24, 25, 28], "store": [3, 5, 15, 21, 24, 25], "anywher": [3, 21], "interpret": [3, 5, 14, 28], "two": [3, 12, 14, 15, 19, 21, 24, 25, 27, 28], "complement": [3, 14, 24, 27], "simplest": 3, "ten": 3, "minus_two": 3, "2": [3, 4, 14, 15, 16, 18, 22, 23, 24, 25, 27, 28], "abov": [3, 14, 15, 16, 27, 28], "omit": [3, 5], "posit": [3, 14, 19, 21, 24, 28], "smallest": 3, "As": [3, 5, 14, 16, 17, 21], "4": [3, 4, 15, 16, 20, 21, 22, 24, 26], "truncat": [3, 14], "fit": [3, 14, 26], "although": [3, 6, 15, 16, 24, 28], "rare": [3, 14, 21, 28], "permit": 3, "360": 3, "104": 3, "129": 3, "indirectli": [3, 15], "shorthand": 3, "r": [3, 14, 25], "produc": [3, 6, 15, 16, 18, 27, 28], "larg": [3, 15, 21, 23], "enough": [3, 14, 21], "min": 3, "max": [3, 14], "counter": [3, 4, 15, 28], "whose": [3, 14, 15, 17, 21, 25, 26, 28], "set": [3, 8, 10, 12, 13, 14, 15, 16, 18, 19, 22, 23, 24, 25, 27, 28, 29], "item": [3, 28], "exclus": 3, "half": [3, 15, 24], "element": [3, 14, 15, 21, 23, 25, 28], "power": [3, 6, 18, 23, 25], "wide": [3, 14, 19, 25, 27], "fencepost": 3, "256": [3, 21], "syntaxwarn": 3, "equal": [3, 14, 21, 22, 24, 25, 28], "inclus": 3, "off": [3, 10], "detect": [3, 19, 27, 28], "diagnost": [3, 6, 14, 16, 28], "bound": [3, 14], "finit": [3, 6], "machin": [3, 6], "multiplex": 3, "complex": [3, 6, 14, 15, 21, 25, 26, 27, 28], "distinct": [3, 21], "direct": [3, 6, 15, 21, 24, 26, 28], "bottom": 3, "funct4": 3, "sub": [3, 22], "mul": [3, 22], "prevent": [3, 14, 15], "unwant": 3, "facil": [3, 19, 21, 26, 28], "equival": [3, 14, 15, 21, 22, 28], "d5": 3, "d1": [3, 16, 28], "subset": [3, 21, 25], "operand": [3, 14, 22], "numer": [3, 15], "6": [3, 4, 20, 21, 24], "d26": 3, "funct": [3, 22], "op": [3, 22], "reg": [3, 16, 22], "imm": [3, 22], "instr": [3, 22], "addi": [3, 22], "At": [3, 6, 15, 24], "expand": 3, "potenti": [3, 6, 28], "vari": [3, 15], "respect": [3, 25, 28], "uniniti": [3, 25], "undefin": [3, 15, 25], "waveform": [3, 5, 15, 16, 24], "viewer": [3, 5, 15], "place": [3, 5, 6, 13, 14, 16, 22, 28], "foo": [3, 22, 28], "bar": [3, 22], "foo2": 3, "second_foo": 3, "prepar": [3, 15], "synthesi": [3, 6, 12, 13], "ambigu": [3, 24, 25], "zero": [3, 14, 15, 21, 23, 25], "none": [3, 10, 13, 14, 15, 16, 18, 24, 25, 27, 28], "resett": [3, 18], "reset_less": [3, 18], "via": [3, 5, 6, 14, 21, 24, 25, 26, 27, 28], "resetinsert": [3, 14], "affect": [3, 5, 15, 24, 28], "rich": [3, 6], "themselv": 3, "concret": [3, 14, 21], "calcul": 3, "contrast": 3, "abstract": [3, 14, 17, 21, 24, 25, 26, 27], "circuit": [3, 4, 6, 14], "synthes": [3, 5, 6, 10, 12, 13, 15, 16], "ordinari": [3, 6], "sig": [3, 16, 21, 22, 28], "rememb": 3, "higher": [3, 14, 15, 18, 24], "traceback": [3, 21, 22, 28], "recent": [3, 19, 21, 22, 28], "last": [3, 5, 15, 21, 22, 28], "typeerror": [3, 14, 15, 21, 22, 24, 28], "attempt": [3, 25], "boolean": [3, 14], "therefor": [3, 19], "execut": [3, 15], "decid": 3, "whether": [3, 6, 14, 15, 16, 19, 25, 27, 28], "bodi": [3, 15, 28], "long": [3, 14, 19], "finish": [3, 15, 16], "solv": 3, "problem": [3, 4, 27, 28], "manipul": [3, 14, 15, 21, 27, 28], "OR": [3, 14, 22], "select": [3, 14, 15, 24, 25], "regardless": 3, "too": 3, "unlimit": 3, "precis": [3, 21], "overflow": [3, 16, 28], "suffici": [3, 21, 28], "similarli": [3, 5, 27, 28], "either": [3, 5, 14, 15, 18, 21, 22, 25, 26, 28], "128": 3, "382": 3, "signific": [3, 6, 14, 19, 21, 25], "tabl": 3, "negat": [3, 14, 22], "subtract": [3, 14], "floor": [3, 14], "due": [3, 25, 28], "chain": [3, 15, 18], "inequ": [3, 14], "greater": [3, 14], "effici": [3, 15, 25, 27], "NOT": [3, 14], "AND": [3, 14, 22], "xor": [3, 14, 19, 22], "revers": [3, 19, 27, 28], "exponenti": 3, "wider": 3, "intermedi": [3, 15], "stress": 3, "32": [3, 16, 19, 20, 21, 26, 28], "4294967296": 3, "veri": [3, 21, 28], "sidewai": 3, "pair": [3, 14, 24, 28], "between": [3, 6, 14, 15, 17, 18, 21, 23, 24, 25, 27, 28], "unari": [3, 14], "sole": [3, 14, 28], "odd": [3, 14], "bool": [3, 14, 18, 19, 21, 24, 26, 27, 28], "conceptu": [3, 15, 25], "unlik": 3, "chang": [3, 4, 5, 6, 14, 15, 17, 21, 25, 27, 28], "p": [3, 24, 27], "q": 3, "preced": 3, "wherea": [3, 28], "parenthes": 3, "around": [3, 24, 28], "subtl": [3, 6], "en": [3, 15, 16, 25, 28], "addr": [3, 21, 25, 26, 28], "d0": [3, 21, 22], "stb": 3, "use_stb": 3, "msb": [3, 27], "sd": 3, "misus": [3, 6], "apart": 3, "act": [3, 22, 23, 28], "concaten": [3, 24, 28], "clash": 3, "except": [3, 14, 15, 21, 24, 25, 26, 27, 28], "singl": [3, 6, 14, 15, 16, 21, 22, 24, 28], "subscript": 3, "often": [3, 6, 21, 28], "offset": [3, 14, 21], "notat": 3, "length": [3, 21, 24, 25], "j": [3, 14], "k": [3, 14], "bit_select": [3, 14, 24], "w": [3, 16, 25], "overlap": [3, 14, 21, 27], "word_select": [3, 14], "word": [3, 14, 15, 19, 24, 27, 28], "talk": 3, "convention": 3, "variat": 3, "occupi": 3, "explain": [3, 5], "0th": 3, "expon": [3, 21], "mismatch": [3, 5, 27], "caus": [3, 14, 15, 18, 24, 26, 27], "confus": [3, 25, 28], "0b1001": 3, "0b1010": 3, "0b1010_1001": 3, "val": [3, 16], "Such": [3, 15, 27, 28], "avoid": [3, 5, 6, 14, 15, 24, 27], "seem": [3, 25], "natur": 3, "alon": 3, "could": [3, 15, 17, 18, 21, 24, 25, 26, 27, 28], "ye": 3, "deliber": 3, "option": [3, 6, 8, 10, 12, 13, 15, 16, 18, 22, 28], "examin": [3, 28], "str": [3, 14, 15, 18, 21, 23, 24, 25, 26, 28], "mask": 3, "whitespac": 3, "charact": [3, 25], "compar": [3, 15, 21, 22, 23, 28], "leftmost": 3, "lowest": [3, 18], "succe": 3, "correspondingli": [3, 28], "asid": [3, 15, 28], "space": [3, 23], "tab": 3, "ignor": [3, 14, 28], "01": 3, "0b0000_0110": 3, "0b0000_0010": 3, "reinterpret": [3, 14], "pc": 3, "mux": [3, 14], "sel": 3, "val1": 3, "val0": 3, "condit": [3, 6, 14, 15, 16, 23, 27], "mutabl": [3, 25, 28], "behav": [3, 22], "proxi": [3, 21, 28], "three": [3, 14, 15, 17, 21, 27], "transform": [3, 21, 27], "origin": [3, 5, 26, 28], "target": [3, 18, 21, 22, 28], "final": [3, 6, 15, 28], "pixel": [3, 21], "180": 3, "92": 3, "230": 3, "74": 3, "130": 3, "115": 3, "becom": [3, 15, 19, 23, 27], "recommend": [3, 6, 14], "mutat": [3, 28], "unpredict": 3, "serv": [3, 21, 26, 28], "unit": [3, 27], "independ": [3, 24, 25, 27], "associ": [3, 15, 21, 24, 25, 28], "fresh": 3, "group": [3, 21], "ident": [3, 14, 19, 23, 25, 28], "predefin": [3, 17, 20], "comb": [3, 15, 16, 21, 24, 25, 26, 27, 28], "reserv": [3, 21], "specif": [3, 5, 6, 14, 15, 18, 19, 21, 24, 25, 26, 27, 28], "occur": [3, 15, 27], "asynchron": [3, 6, 15, 18, 23, 25], "lack": [3, 6, 27], "feedback": [3, 27, 28], "loop": [3, 6, 15, 25], "hold": [3, 14, 15, 16], "effect": [3, 15, 24, 25, 28], "0b11": 3, "d3": 3, "entir": [3, 15, 16, 19, 24, 26], "def": [3, 14, 15, 16, 21, 22, 24, 25, 26, 27, 28], "add_toggl": 3, "num": 3, "f": [3, 9, 14, 16, 27, 28], "sync_": 3, "driven": [3, 6, 15, 18, 24, 25, 27], "undriven": 3, "exactli": [3, 14, 15, 21, 22, 24, 25, 28], "dsl": 3, "syntaxerror": [3, 14], "driver": 3, "conflict": [3, 28], "try": [3, 5, 15], "drive": [3, 15, 16, 24, 28], "alreadi": [3, 15, 16, 28], "snippet": [3, 14], "determin": [3, 14, 15, 25, 27, 28], "tailor": 3, "task": [3, 6, 26], "context": [3, 15, 28], "timer": [3, 16], "superfici": 3, "branch": [3, 5], "insid": [3, 28], "observ": [3, 15], "satisfi": [3, 15, 28], "uncondition": 3, "further": [3, 6, 18, 27], "cond1": 3, "cond2": 3, "parallel": [3, 19, 24], "x_coord": 3, "is_bporch": 3, "364": 3, "is_act": 3, "374": 3, "is_fporch": 3, "within": [3, 14, 25, 26, 28], "full": [3, 5, 28], "is_even": 3, "is_odd": 3, "too_big": 3, "whichev": 3, "earlier": [3, 12], "programmat": 3, "particularli": 3, "squar": 3, "simpl": [3, 5, 6, 16, 21, 24, 25, 26, 28], "choos": [3, 16], "enter": 3, "cycl": [3, 15, 16, 18, 19, 23, 24, 25, 27], "bu": [3, 15, 26, 28], "transact": [3, 15], "bus_addr": 3, "16": [3, 15, 16, 19, 20, 21, 24, 25, 26, 27, 28], "r_data": [3, 15, 23, 26, 28], "r_en": [3, 23, 26], "latch": [3, 23], "address": [3, 21, 25, 26, 28], "0x1234": 3, "strobe": [3, 23], "again": [3, 15, 27], "belong": [3, 25, 27], "dom": 3, "current": [3, 10, 15, 19, 27, 28], "captur": [3, 15, 24, 27, 28], "ongo": 3, "whenev": [3, 14, 15, 19, 24, 27, 28], "y": [3, 25, 28], "past": [3, 4], "typo": 3, "unreach": 3, "hazard": 3, "elimin": [3, 6, 18], "lead": [3, 19], "surpris": 3, "nest": [3, 28], "innermost": 3, "outer": [3, 28], "inner": [3, 28], "shorten": 3, "unstabl": 3, "ring": 3, "oscil": [3, 16], "prohibit": [3, 27], "exceedingli": 3, "desir": 3, "technologi": 3, "devic": [3, 6, 10, 12, 24, 25, 27], "lut": [3, 25], "transit": [3, 15, 27], "configur": [3, 6, 16, 18, 19, 25, 28], "down": [3, 25], "increment": [3, 15, 16], "decrement": 3, "retain": [3, 16], "violat": 3, "meaningless": [3, 28], "guard": 3, "ip": 3, "pointer": 3, "boot": 3, "glitch": [3, 15], "instantan": 3, "transient": [3, 15], "visibl": [3, 15], "afterward": [3, 25], "safe": [3, 6, 18, 22, 27], "neither": [3, 15, 22, 28], "ip_sync": 3, "elsewher": [3, 28], "taken": [3, 15, 28], "old_stat": 3, "sep": 3, "helper": [3, 16, 27, 28], "08x": 3, "rule": [3, 6, 14, 17, 21], "0b111": 3, "unalign": 3, "video": 3, "cd_video": 3, "add_video_domain": 3, "cd": [3, 5], "video_": 3, "domain_nam": 3, "invoc": [3, 6, 16], "clk": [3, 15, 16, 24], "By": [3, 6], "jtag": [3, 10], "clk_edg": [3, 15], "high": [3, 6, 15, 21, 24, 25, 27], "nevertheless": [3, 28], "undesir": [3, 6], "startup": [3, 15], "subject": [3, 14, 22], "intention": 3, "undocu": 3, "enableinsert": [3, 14], "clocksign": [3, 14], "resetsign": [3, 14], "bus_clk": 3, "bus_rstn": 3, "found": 3, "With": [3, 5, 16], "cd_sync": [3, 15, 24], "consult": 3, "document": [3, 4, 6, 14, 15, 16, 17, 20, 24, 25, 28], "your": [3, 4, 5, 14, 18, 27, 28], "platform": [3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 15, 16, 17, 18, 24, 25, 26, 27, 28], "fpga": [3, 5, 16, 18, 23, 24, 25, 29], "disabl": [3, 15, 16], "divid": [3, 25], "built": [3, 6, 14, 16, 21, 24, 26, 27], "smaller": 3, "subdivis": 3, "compos": [3, 28], "deleg": [3, 14], "netlist": [3, 6, 12, 13, 14, 24], "receiv": [3, 15, 19, 24, 28], "inject": [3, 24], "experiment": [3, 5], "twice": [3, 14, 28], "correctli": [3, 6, 15, 16, 23, 25, 28], "rel": [3, 25], "guarante": [3, 14, 15, 17, 18], "counter_": 3, "autogener": 3, "suppli": [3, 6], "alter": 3, "input": [3, 4, 14, 15, 16, 17, 18, 19, 23, 25, 27], "map": [3, 13, 21, 26, 28], "shorter": 3, "common": [3, 6, 16, 17, 27], "forward": 3, "held": 3, "z": 3, "applic": [3, 5, 6, 15, 16, 21, 27, 28], "resetsynchron": [3, 17, 18], "reusabl": [3, 6, 15, 16], "leav": [3, 21, 28], "domainrenam": [3, 14], "integr": [3, 4, 15, 16, 26, 29], "interoper": [3, 16, 17, 28], "extern": [3, 15, 21, 24, 26, 27, 28], "circuitri": 3, "bundl": 3, "carri": [3, 28], "uninterpret": 3, "unidirect": [3, 27], "electr": [3, 24], "analog": 3, "travers": 3, "topmost": 3, "clk_port": 3, "unambigu": [3, 28], "13": [3, 20], "lower": [3, 21], "indic": [3, 14, 15, 19, 21, 27, 28], "vhdl": [3, 6], "translat": [3, 28], "entiti": [3, 26], "Not": 3, "parameter": 3, "inout": 3, "bidirect": 3, "identifi": [3, 17, 21], "a_anam": 3, "attr": [3, 28], "anam": 3, "p_pname": 3, "param": [3, 21], "pname": 3, "i_inam": 3, "in_val": 3, "inam": 3, "o_onam": 3, "out_val": 3, "onam": 3, "io_ionam": 3, "inout_v": 3, "ionam": 3, "processor": [3, 19], "p_width": 3, "i_clk": 3, "i_rst": 3, "i_en": 3, "i_mod": 3, "i_data_in": 3, "i_data": 3, "o_data_out": 3, "o_data": 3, "io_pin": 3, "data_in": 3, "data_out": 3, "convein": 3, "adorn": 3, "flipflop": 3, "__init__": [3, 16, 21, 22, 24, 26, 28], "isinst": [3, 14, 28], "sb_dff": 3, "i_c": 3, "i_d": 3, "o_q": 3, "rais": [3, 14, 15, 21, 22, 24, 25, 26, 28], "notimplementederror": 3, "privat": [3, 15], "four": [3, 15, 21, 27, 28], "tristat": 3, "combination": 3, "port_i": 3, "port_o": 3, "oe": [3, 24], "imped": 3, "progress": [4, 14], "serious": [4, 14], "playground": 4, "prerequisit": 4, "blink": [4, 24], "guid": [4, 14, 15, 16, 19, 28], "arrai": [4, 14, 17, 21, 28], "control": [4, 6, 15, 16, 26, 27, 28], "flow": [4, 6, 27, 28], "evalu": [4, 15, 16], "synchron": [4, 6, 16, 18, 23, 24, 25, 27], "debug": [4, 5, 6, 15, 16], "elabor": [4, 14, 15, 16, 18, 24, 25, 26, 27, 28], "backward": [4, 17], "cross": [4, 6, 17], "queue": [4, 17, 27], "cyclic": [4, 17], "redund": [4, 17, 28], "check": [4, 14, 15, 16, 17, 28], "altera": [4, 7], "lattic": [4, 7, 12, 16], "siliconblu": [4, 7], "changelog": 4, "releas": [4, 14, 18, 27], "unreleas": 4, "contribut": 4, "report": [4, 6, 8, 12, 13, 28], "propos": 4, "codebas": 4, "style": [4, 6], "weekli": 4, "meet": [4, 25], "anyth": [5, 14], "visit": 5, "webpag": 5, "fulli": [5, 14, 19], "displai": [5, 6, 15], "modern": 5, "webassembli": 5, "firefox": 5, "chrome": 5, "40": [5, 20], "newer": 5, "cpython": 5, "faster": [5, 18], "pypy3": 5, "pip": 5, "23": [5, 21], "popular": 5, "softwar": [5, 19], "surfer": [5, 15], "gtkwave": [5, 15], "invalu": 5, "altern": [5, 21], "rout": [5, 6, 13, 16], "ice40": [5, 10, 12, 16], "ecp5": [5, 10], "machxo2": [5, 10], "nexu": [5, 10], "yowasp": 5, "x86_64": 5, "aarch64": 5, "continu": [5, 15, 25, 29], "64": [5, 20], "upgrad": 5, "maco": 5, "homebrew": 5, "Then": [5, 25], "brew": 5, "debian": 5, "sudo": 5, "apt": 5, "python3": [5, 16], "On": [5, 10, 15, 18, 24, 25, 27], "architectur": [5, 19], "pip3": 5, "linux": [5, 10], "repositori": [5, 6], "main": 5, "reliabl": [5, 6, 28], "flux": 5, "mind": 5, "git": 5, "com": 5, "directori": 5, "crash": [5, 15], "clone": 5, "ff": 5, "aim": 6, "learn": [6, 15, 29], "mistak": 6, "simplifi": [6, 15, 27], "restrict": [6, 21, 22, 27, 28], "choic": 6, "industri": 6, "convers": [6, 14, 24, 26, 28], "model": [6, 15, 17, 19], "human": [6, 28], "flexibl": [6, 21], "widespread": 6, "adopt": 6, "focus": 6, "state": [6, 14, 15, 18, 24, 25], "arithmet": [6, 14], "close": [6, 15], "organ": [6, 25], "seamlessli": [6, 14], "principl": [6, 28], "accident": 6, "parti": [6, 14, 17], "lint": 6, "synthesiz": [6, 16, 24], "prone": [6, 21, 28], "favor": 6, "regularli": 6, "highlight": 6, "importantli": [6, 14], "come": [6, 12], "focu": [6, 27], "treatment": 6, "overridden": [6, 21, 28], "gear": 6, "peripher": [6, 24, 26, 28], "migrat": 6, "Of": 6, "cours": 6, "icaru": 6, "veril": 6, "event": [6, 15], "slower": 6, "compil": 6, "ahead": 6, "remark": 6, "perform": [6, 14, 15, 19, 21, 22, 25, 27, 28], "pure": [6, 28], "co": 6, "major": [6, 28], "commerci": 6, "easili": [6, 26], "constraint": [6, 13, 16, 18], "script": [6, 8, 9, 10, 11, 12, 13], "placement": 6, "analysi": 6, "custom": [6, 14, 16, 19, 22, 23, 25], "insert": [6, 8, 9, 10, 11, 12, 13, 25, 28], "portabl": 6, "remot": 6, "nix": 6, "everyth": [6, 17, 21, 22, 28], "connector": 6, "pinout": [6, 16], "probe": 6, "show": 6, "programm": [6, 10], "establish": 6, "segment": 6, "spi": 6, "sdram": 6, "reus": [6, 15, 28], "unmodifi": 6, "polar": [6, 15, 24], "unifi": [6, 27], "invers": [6, 14, 24], "trace": [6, 15], "invert": [6, 22, 24], "latticeplatform": [7, 10], "siliconblueplatform": [7, 10, 12], "quartu": 8, "quartus_map": 8, "quartus_fit": 8, "quartus_asm": 8, "quartus_sta": 8, "popul": [8, 9, 10, 11, 12, 13, 15, 21, 28], "amaranth_env_quartu": 8, "qsf": 8, "sdc": [8, 10, 12], "nproc": 8, "quartus_map_opt": 8, "extra": [8, 10, 12, 13], "quartus_fit_opt": 8, "quartus_asm_opt": 8, "quartus_sta_opt": 8, "product": [8, 9, 10, 12, 13], "rpt": [8, 10, 12, 13], "sof": 8, "rbf": 8, "raw": [8, 13, 14, 21], "amaranth_env_mistr": 8, "verbos": [8, 10, 12, 16], "read_verilog_opt": [8, 10, 12], "read_verilog": [8, 10, 12], "synth_opt": [8, 10, 12], "synth_intel_alm": 8, "script_after_read": [8, 10, 12, 13], "read_ilang": [8, 10, 12], "script_after_synth": [8, 10, 12, 13], "yosys_opt": [8, 10, 12], "nextpnr_opt": [8, 10, 12], "apicula": 9, "uarch": 9, "gowin_pack": 9, "amaranth_env_apicula": 9, "add_prefer": [9, 10], "cst": 9, "gw_sh": 9, "amaranth_env_gowin": 9, "machxo3l": 10, "trelli": 10, "diamond": 10, "machxo3": 10, "ecppack": 10, "amaranth_env_trelli": 10, "synth_": 10, "ecppack_opt": 10, "lpf": 10, "json": [10, 12, 26, 28], "rtl": [10, 12, 13], "tim": [10, 12], "config": 10, "ascii": [10, 12], "oxid": 10, "prjoxid": 10, "amaranth_env_oxid": 10, "synth_nexu": 10, "prjoxide_opt": 10, "pdc": 10, "xcf": 10, "pnmainc": 10, "ddtcmd": 10, "diamond_env": 10, "candid": 10, "bat": 10, "echo": 10, "lscc": 10, "diamond_vers": 10, "nt64": 10, "script_project": 10, "prj_project": 10, "tcl": [10, 12, 13], "script_after_export": 10, "prj_run": 10, "xdc": [10, 11, 13], "_impl": 10, "htm": [10, 12], "consolid": 10, "jed": 10, "jedec": 10, "fuse": 10, "radiant": 10, "radiantc": 10, "amaranth_env_radi": 10, "radiant_env": 10, "radiant_vers": 10, "prj_save": 10, "symbiflow_synth": [11, 13], "symbiflow_pack": [11, 13], "symbiflow_plac": [11, 13], "symbiflow_rout": [11, 13], "symbiflow_write_fasm": [11, 13], "symbiflow_write_bitstream": [11, 13], "amaranth_env_qlsymbiflow": 11, "icestorm": 12, "icecube2": 12, "icepack": 12, "amaranth_env_icestorm": 12, "synth_ice40": 12, "add_pre_pack": 12, "pre": 12, "pack": 12, "pcf": [12, 13], "asc": 12, "variant": 12, "lse": 12, "synplifi": 12, "tclsh": 12, "amaranth_env_icecube2": 12, "lse_opt": 12, "script_after_add": 12, "script_after_opt": 12, "set_opt": 12, "script_after_flow": 12, "run_sbt_backend_auto": 12, "sbt": 12, "_lse": 12, "_design": 12, "router": 12, "_time": [12, 13], "edf": 12, "edif": 12, "ISE": 13, "vivado": 13, "amaranth_env_vivado": 13, "read_xdc": 13, "synth_design": 13, "script_after_plac": 13, "place_design": 13, "script_after_rout": 13, "route_design": 13, "script_before_bitstream": 13, "write_bitstream": 13, "script_after_bitstream": 13, "vivado_opt": 13, "_timing_synth": 13, "_utilization_hierarchical_synth": 13, "_utilization_synth": 13, "_utilization_hierarchical_plac": 13, "_utilization_plac": 13, "_io": 13, "_control_set": 13, "_clock_util": 13, "_route_statu": 13, "_drc": 13, "_methodologi": 13, "_power": 13, "_rout": 13, "dcp": 13, "checkpoint": 13, "xst": 13, "ngdbuild": 13, "par": 13, "bitgen": 13, "amaranth_env_is": 13, "script_after_run": 13, "ucf": 13, "xst_opt": 13, "ngdbuild_opt": 13, "map_opt": 13, "par_opt": 13, "bitgen_opt": 13, "compress": 13, "srp": 13, "ngc": 13, "bld": 13, "ngd": 13, "databas": 13, "_map": 13, "mrp": 13, "ncd": 13, "physic": 13, "_par": 13, "_par_pad": 13, "txt": 13, "usag": 13, "drc": 13, "bgn": 13, "amaranth_env_symbiflow": 13, "fasm2fram": 13, "xc7frames2bit": 13, "amaranth_env_xrai": 13, "impend": [14, 17], "nontrivi": [14, 17], "underscor": [14, 21, 28], "intern": [14, 21, 24, 28], "kept": [14, 21], "downstream": 14, "src_loc_at": [14, 24, 25, 27, 28], "inspect": [14, 15, 16], "stack": 14, "site": [14, 16], "consider": 14, "concept": [14, 28], "my_shape_cast": 14, "obj": [14, 21, 26, 28], "frame": 14, "obtain": [14, 19], "varieti": 14, "static": [14, 21, 28], "repeatedli": [14, 15, 21], "as_shap": [14, 21, 22], "recursionerror": [14, 21], "__repr__": [14, 28], "mechan": [14, 24, 27], "illustr": [14, 27, 28], "purpos": [14, 28], "shape_cast": 14, "value_lik": 14, "idempot": 14, "caller": [14, 15], "arbitrari": [14, 15, 18, 21, 26, 27], "liter": 14, "constrain": 14, "valueerror": [14, 15, 21, 24], "unspecifi": [14, 21], "latter": [14, 21, 25], "compliant": [14, 28], "spec": 14, "issubclass": [14, 28], "cl": [14, 28], "enummeta": 14, "comput": [14, 17, 24, 28], "abil": [14, 16, 22], "bitwis": [14, 21, 22], "__invert__": [14, 22, 24], "drop": [14, 18, 22], "union": [14, 28], "opaqu": [14, 26], "enum_shap": 14, "as_valu": [14, 21, 22], "__bool__": 14, "forbidden": [14, 28], "__pos__": 14, "__neg__": 14, "__radd__": 14, "swap": 14, "__sub__": 14, "__rsub__": 14, "__mul__": 14, "__rmul__": 14, "__floordiv__": 14, "__rfloordiv__": 14, "__mod__": 14, "remaind": 14, "__rmod__": 14, "__eq__": [14, 21, 22, 28], "comparison": [14, 22], "__ne__": 14, "__lt__": 14, "__le__": 14, "__gt__": 14, "__ge__": 14, "deviat": 14, "wasn": 14, "imposs": [14, 28], "__and__": [14, 22, 24], "__rand__": [14, 22], "reduct": 14, "__or__": [14, 22], "__ror__": [14, 22], "__xor__": [14, 22], "__rxor__": [14, 22], "__lshift__": 14, "shift": [14, 19, 25], "__rlshift__": 14, "rotat": 14, "__rshift__": 14, "__rrshift__": 14, "__len__": [14, 24], "__getitem__": [14, 21, 24, 25, 28], "trim": 14, "__contains__": [14, 28], "membership": 14, "granular": [14, 25], "success": 14, "adjac": 14, "_": [14, 15, 16, 24, 25, 27, 28], "grammar": 14, "invalid": [14, 28], "__hash__": 14, "hash": 14, "preclud": 14, "dict": [14, 15, 21, 26, 28], "assoc": 14, "id": [14, 26, 28], "info": 14, "__format__": 14, "format_desc": 14, "unsuit": 14, "realli": 14, "dump": 14, "repr": 14, "prefer": [14, 15, 25], "value_cast": 14, "discov": 14, "richer": 14, "badenum": 14, "adder": [15, 26], "dut": [15, 16, 24, 27], "stimul": 15, "nor": [15, 22, 28], "measur": 15, "stimulu": 15, "reach": [15, 16, 21, 28], "write_vcd": [15, 16, 27], "mhz": [15, 16, 24, 27], "\u00b5": 15, "example1": 15, "revert": 15, "example1_error": 15, "verifi": [15, 16, 28], "intend": [15, 28], "concurr": [15, 16, 25], "interact": [15, 25, 27, 28], "ctx": [15, 16, 24, 25, 27], "wait": [15, 27], "testbench_example2": 15, "await": [15, 16, 24, 27], "repeat": [15, 28], "5th": 15, "deassert": [15, 18, 27], "10th": 15, "example2": 15, "react": [15, 21], "testbench_example3": 15, "1717": 15, "420": 15, "2137": 15, "example3": 15, "instant": 15, "techniqu": 15, "commonli": [15, 19], "reimplement": 15, "algorithm": [15, 17], "simultan": [15, 19], "order": [15, 19, 21, 27, 28], "yield": [15, 21, 28], "inconsist": 15, "converg": 15, "rest": [15, 21, 25, 28], "process_example4": 15, "count_valu": 15, "rst_valu": 15, "en_valu": 15, "elif": [15, 16, 24, 27], "testbench_example4": 15, "example4": 15, "anytim": 15, "process_example5": 15, "a_valu": 15, "b_valu": 15, "testbench_example5": 15, "example5": 15, "toplevel": [15, 24], "exercis": [15, 29], "lifecycl": 15, "stage": [15, 18], "fast": [15, 21], "process_instr_decod": 15, "testbench_cpu_execut": 15, "amort": 15, "cost": [15, 18], "if_exist": 15, "duti": [15, 18], "coincid": [15, 24], "nameerror": [15, 28], "driverconflict": 15, "runtimeerror": 15, "creation": [15, 28], "constructor": [15, 24, 28], "background": 15, "coroutin": 15, "exit": 15, "temporarili": 15, "share": [15, 21], "coordin": 15, "procss": 15, "indefinit": 15, "regard": 15, "closest": 15, "vcd_file": 15, "gtkw_file": 15, "referenc": [15, 21], "filenam": 15, "row": [15, 25], "restart": 15, "preempt": 15, "paus": [15, 27], "expr": 15, "span": [15, 21], "arriv": 15, "elev": 15, "durat": 15, "testbench_bus_transact": 15, "rst_activ": 15, "bus_active_valu": 15, "addr_valu": 15, "r_addr": 15, "ticktrigg": 15, "look": [15, 21], "indirect": 15, "triggercombin": 15, "expir": 15, "invis": 15, "wake": 15, "handl": [15, 19, 23, 25], "spuriou": 15, "wakeup": 15, "presenc": [15, 28], "brokentrigg": 15, "statu": [15, 26, 28], "race": 15, "suitabl": 15, "posedg": [15, 16, 24, 27], "negedg": 15, "domainreset": 15, "shot": 15, "clk_hit": 15, "multi": [15, 19, 24], "respond": [15, 28], "notifi": 15, "in_a_valu": 15, "in_b_valu": 15, "in_a": 15, "in_b": 15, "advantag": 15, "append": 15, "met": 15, "discard": [15, 27], "flag_valu": 15, "flag": [15, 22, 28], "arst_edg": 15, "delay_expir": 15, "arst": [15, 18], "1e": 15, "cursori": 16, "overview": 16, "explan": [16, 28], "shown": [16, 28], "up_count": 16, "upcount": 16, "ovf": 16, "super": [16, 21, 24, 26, 28], "black": [16, 21], "25": [16, 20], "24": [16, 20, 21, 24, 28], "clear": [16, 25, 28], "successfulli": 16, "de": 16, "facto": 16, "rise": [16, 24], "lightli": 16, "auto": 16, "verilog_backend": 16, "cc": 16, "2255": 16, "dump_modul": 16, "src": 16, "ir": 16, "509": 16, "29": 16, "h0000": 16, "1647": 16, "h19": 16, "h1": 16, "full_cas": 16, "xfrm": 16, "534": 16, "endmodul": 16, "aid": 16, "unfortun": [16, 24, 25, 26], "standalon": [16, 28], "adapt": 16, "hz": 16, "ledblink": 16, "half_freq": 16, "icestick": 16, "link": [16, 28], "foss": 16, "probabl": 16, "icestickplatform": 16, "do_program": 16, "benefit": 16, "turnkei": 16, "categori": 17, "idiomat": [17, 28], "metaclass": [17, 28], "schema": [17, 28], "syncfifobuff": [17, 23, 27], "asyncfifobuff": [17, 23], "resynchronis": 18, "flip": [18, 24, 28], "flop": 18, "metast": 18, "synchronis": 18, "o_domain": [18, 24], "unaffect": 18, "mtbf": 18, "increas": [18, 23, 24], "latenc": [18, 19, 23, 24, 25, 27], "max_input_delai": 18, "maximum": [18, 24], "fail": [18, 25, 28], "safest": 18, "load": 18, "asic": [18, 25], "warm": 18, "insuffici": 18, "get_ff_sync": 18, "cell": [18, 25], "primarili": [18, 28], "async_edg": 18, "po": 18, "get_async_ff_sync": 18, "gate": 18, "promptli": 18, "get_reset_sync": 18, "puls": [18, 24], "ratio": 18, "i_domain": [18, 24], "polynomi": [19, 20], "catalog": 19, "accommod": [19, 21], "crc16_ccitt": [19, 20], "crc16_usb": [19, 20], "crc16": 19, "ccitt": 19, "byte": [19, 21, 24], "usb": 19, "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, 26], "data_width": [19, 25, 28], "123456789": 19, "0x29b1": 19, "william": 19, "painless": 19, "reveng": [19, 20], "catalogu": [19, 20], "parameteris": 19, "crcmod": 19, "polynomin": 19, "zoo": 19, "entri": [19, 23], "highest": 19, "transmiss": [19, 24, 27], "littl": 19, "endian": 19, "0x4e4c": 19, "transmit": [19, 24, 27], "octet": 19, "0x4c": 19, "0x4e": 19, "plu": [19, 21, 23, 24], "residu": 19, "trail": 19, "subsequ": 19, "throughput": 19, "per": [19, 24], "classic": 19, "serial": [19, 24], "galoi": 19, "match_detect": 19, "codeword": 19, "theori": 19, "initialis": 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_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, "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, 27], "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, "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, "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, "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, "relat": [21, 24, 25, 28], "foundat": [21, 24], "introspect": [21, 27, 28], "structlayout": 21, "unionlayout": 21, "flexiblelayout": 21, "struct": 21, "rgb": 21, "grayscal": 21, "color": 21, "rgb565": 21, "approxim": 21, "i_color": 21, "o_grai": 21, "repetit": [21, 27, 28], "rgb565_layout": 21, "red": 21, "accumul": 21, "averag": 21, "intens": 21, "input_layout": 21, "i_stream": [21, 27], "r_accum": 21, "sum": 21, "interchang": 21, "rgb_layout": 21, "r_bit": 21, "g_bit": 21, "b_bit": 21, "rgb24_layout": 21, "rgblayout": 21, "rgbview": 21, "ieee754singl": 21, "fraction": 21, "is_subnorm": 21, "set_addr": 21, "send_data": 21, "biggest": 21, "One": [21, 27], "cmd": 21, "0x00001234": 21, "preserv": [21, 24], "invari": 21, "__iter__": [21, 28], "keyerror": 21, "size": [21, 25], "gap": 21, "pad": 21, "_1": 21, "_2": 21, "won": 21, "dictionari": [21, 28], "largest": 21, "elem_shap": 21, "multipli": 21, "contigu": 21, "boundari": [21, 28], "arbitrarili": 21, "stride": 21, "chosen": 21, "dynam": [21, 25], "as_bit": 21, "__getattr__": [21, 28], "attributeerror": [21, 28], "accord": [21, 24, 26, 27], "ieee": 21, "754": 21, "flt": 21, "hex": 21, "0x3f800000": 21, "0xbf800000": 21, "haschecksum": 21, "checksum": 21, "barehead": 21, "headerwithparam": 21, "bare": 21, "varint": 21, "int8": 21, "int16": 21, "0x100": 21, "intflag": 22, "subi": 22, "likewis": 22, "normalenum": 22, "spam": 22, "ham": 22, "flagview": 22, "wrapper": [22, 28], "stdin": 22, "loos": 22, "transparentenum": 22, "instrview": 22, "has_immedi": 22, "view_class": 22, "d16": 22, "d17": 22, "enumtyp": 22, "arg": [22, 28], "kwarg": [22, 28], "among": 22, "w_data": [23, 26, 28], "w_rdy": 23, "w_en": [23, 26], "r_rdy": 23, "unread": 23, "substitut": 23, "incompat": [23, 28], "ram": [23, 25], "exchang": [23, 26, 27], "r_domain": 23, "w_domain": 23, "exact_depth": 23, "doubl": [24, 28], "rate": [24, 25, 27], "ddr": 24, "unavail": [24, 25, 28], "capabl": [24, 28], "terminologi": [24, 25], "clk24": 24, "recal": 24, "bus_d": 24, "bus_r": 24, "bus_w": 24, "turn": 24, "pipelin": 24, "buse": [24, 28], "diagram": [24, 25, 27], "complic": 24, "sourcesynchronousoutput": 24, "dout": 24, "bus_dclk": 24, "dclk": 24, "bus_dout": 24, "halv": 24, "align": 24, "unidirection": 24, "sim_port": 24, "outputseri": 24, "dclk_port": 24, "dout_port": 24, "payload": [24, 27], "readi": [24, 27, 28, 29], "test_output_seri": 24, "testbench_write_data": 24, "0xa1": 24, "testbench_sample_output": 24, "dout_valu": 24, "world": [24, 25], "bidir": 24, "narrow": 24, "differenti": 24, "Its": [24, 27], "iovalu": 24, "ouptut": 24, "relationship": [24, 28], "label": [24, 25], "t1": 24, "t2": 24, "recept": [24, 27], "queri": 24, "readport": 25, "writeport": 25, "read_port": 25, "write_port": 25, "almost": [25, 28], "dual": 25, "tdp": 25, "sdp": 25, "dram": 25, "abbrevi": 25, "consum": [25, 27, 28], "extrem": 25, "errata": 25, "defect": 25, "basi": 25, "simpler": 25, "better": 25, "hello": 25, "rd_port": 25, "writabl": 25, "push": [25, 27], "pop": 25, "wr_port": 25, "transparent_for": 25, "minimum": [25, 26], "alreadyelabor": 25, "geometri": 25, "delet": [25, 28], "dimens": [25, 28], "get_memori": 25, "ti": [25, 27], "old": 25, "addr_width": [25, 28], "partial": 25, "evenli": 25, "split": 25, "far": 25, "en_width": 25, "elem_count": 25, "stai": 26, "ecosystem": 26, "explor": 26, "33": 26, "pars": 26, "unreward": 26, "as_json": [26, 28], "adher": 26, "csr": 26, "csrlayoutannot": 26, "draft": 26, "2020": 26, "patternproperti": 26, "requiredproperti": 26, "_origin": 26, "conform": [26, 28], "csrsignatur": 26, "superclass": [26, 28], "emb": 26, "myperipher": 26, "csr_bu": 26, "0x0004": 26, "0x0008": 26, "csr_bus__addr": 26, "csr_bus__w_en": 26, "csr_bus__w_data": 26, "csr_bus__r_en": 26, "csr_bus__r_data": 26, "url": 26, "suggest": 26, "encourag": [26, 28], "invalidschema": 26, "invalidannot": 26, "classmethod": [26, 28], "__init_subclass__": 26, "handshak": 27, "govern": 27, "convei": 27, "backpressur": 27, "tie": 27, "always_readi": 27, "always_valid": 27, "unduli": 27, "albeit": 27, "dsp": 27, "uniform": 27, "stream_get": 27, "stream_put": 27, "pend": 27, "ssel": 27, "sclk": 27, "sdat": 27, "eight": 27, "consecut": 27, "assembl": 27, "serialreceiv": 27, "sclk_reg": 27, "sclk_edg": 27, "test_serial_receiv": 27, "testbench_input": 27, "testbench_output": 27, "expected_word": 27, "0b10100111": 27, "08b": 27, "stream_serial_receiv": 27, "serialtransmitt": 27, "test_serial_transmitt": 27, "expected_bit": 27, "stream_serial_transmitt": 27, "fir": 27, "filter": 27, "valueneg": 27, "o_stream": 27, "test_value_neg": 27, "stream_value_neg": 27, "seri": 27, "momentari": 27, "loss": 27, "examplepipelin": 27, "i_ssel": 27, "i_sclk": 27, "i_sdat": 27, "o_ssel": 27, "o_sclk": 27, "o_sdat": 27, "w_stream": 27, "r_stream": 27, "test_example_pipelin": 27, "expected_valu": 27, "stream_example_pipelin": 27, "payload_shap": 27, "lane": 27, "packet": 27, "shortcut": [27, 28], "signaturememb": 28, "flippedsignatur": 28, "flippedinterfac": 28, "flippedsignaturememb": 28, "vice": 28, "versa": 28, "basiccount": 28, "solut": 28, "rewritten": 28, "componentcount": 28, "gone": 28, "unchang": 28, "answer": 28, "question": 28, "genericcount": 28, "direction": 28, "meaning": 28, "sink": 28, "dataproduc": 28, "dataconsum": 28, "though": 28, "simplestreamsignatur": 28, "data_shap": 28, "intact": 28, "intf": 28, "metaprogram": 28, "streamproduc": 28, "streamconsum": 28, "complementari": 28, "ubiquit": 28, "streamconsumerusingin": 28, "deep": 28, "in1": 28, "in2": 28, "auxiliari": 28, "robust": 28, "proportion": 28, "pronounc": 28, "refactor": 28, "conclud": 28, "expos": 28, "dataprocessorimplement": 28, "dataprocessorwrapp": 28, "impl": 28, "dataforward": 28, "producerrequiringreadi": 28, "consumeralwaysreadi": 28, "consumerpossiblyunreadi": 28, "connectionerror": 28, "arg0": 28, "prolifer": 28, "subtli": 28, "absenc": 28, "legacyaxidataproduc": 28, "adata": 28, "avalid": 28, "areadi": 28, "moderndataconsum": 28, "data_produc": 28, "data_consum": 28, "adapted_data_sourc": 28, "usefulli": 28, "transfertyp": 28, "simplebussignatur": 28, "_addr_width": 28, "rw": 28, "simplebusinterfac": 28, "is_read_xf": 28, "is_write_xf": 28, "frozen": 28, "freez": 28, "anonym": 28, "sig32": 28, "sig24": 28, "bus__en": 28, "bus__rw": 28, "bus__addr": 28, "bus__r_data": 28, "bus__w_data": 28, "unusu": 28, "ever": 28, "denot": 28, "cyc": 28, "outgo": 28, "That": 28, "incom": 28, "discrimin": 28, "rgbpixel": 28, "prepend": 28, "dimension": 28, "is_port": 28, "is_signatur": 28, "signatureerror": 28, "abc": 28, "__setitem__": 28, "stub": 28, "forbid": 28, "__delitem__": 28, "flatten": 28, "disregard": 28, "__": 28, "unflip": 28, "flipped_memb": 28, "ing": 28, "influenc": 28, "obj__items__0": 28, "obj__items__1": 28, "prescrib": 28, "aspect": 28, "complianc": 28, "fill": 28, "help": 28, "hoc": 28, "customsignatur": 28, "custominterfac": 28, "my_properti": 28, "accur": 28, "flipped_sig": 28, "distinguish": 28, "signatureknowswhenflip": 28, "is_flip": 28, "getattr": 28, "getter": 28, "__setattr__": 28, "setattr": 28, "setter": 28, "__delattr__": 28, "delattr": 28, "signaturemeta": 28, "subtyp": 28, "__subclasscheck__": 28, "__instancecheck__": 28, "overhead": 28, "__dict__": 28, "approach": 28, "checker": 28, "track": 28, "burdensom": 28, "flipped_intf": 28, "interfaceknowswhenflip": 28, "other_unflip": 28, "caveat": 28, "obj1": 28, "obj2": 28, "obj3": 28, "besid": 28, "out1": 28, "arbit": 28, "decod": 28, "clarifi": 28, "fixedcompon": 28, "assumpt": 28, "parametriccompon": 28, "rai": 28, "attach": 28, "invalidmetadata": 28, "network": 28, "offici": 29, "vivonomicon": 29, "kbob": 29, "robert": 29, "baruch": 29, "my": 29, "journei": 29, "david": 29, "sporn": 29, "focuss": 29, "workstat": 29}, "objects": {"amaranth": [[14, 0, 0, "-", "hdl"], [15, 0, 0, "-", "sim"]], "amaranth.hdl": [[25, 1, 1, "", "MemoryData"], [14, 1, 1, "", "Shape"], [14, 1, 1, "", "ShapeCastable"], [14, 1, 1, "", "ShapeLike"], [14, 1, 1, "", "Value"], [14, 1, 1, "", "ValueCastable"], [14, 1, 1, "", "ValueLike"], [14, 4, 1, "", "signed"], [14, 4, 1, "", "unsigned"]], "amaranth.hdl.MemoryData": [[25, 1, 1, "", "Init"], [25, 2, 1, "", "__getitem__"]], "amaranth.hdl.Shape": [[14, 2, 1, "", "__repr__"], [14, 2, 1, "", "cast"]], "amaranth.hdl.ShapeCastable": [[14, 2, 1, "", "__call__"], [14, 2, 1, "", "as_shape"], [14, 2, 1, "", "const"], [14, 2, 1, "", "format"], [14, 2, 1, "", "from_bits"]], "amaranth.hdl.Value": [[14, 2, 1, "", "__abs__"], [14, 2, 1, "", "__add__"], [14, 2, 1, "", "__and__"], [14, 2, 1, "", "__bool__"], [14, 2, 1, "", "__contains__"], [14, 2, 1, "", "__eq__"], [14, 2, 1, "", "__floordiv__"], [14, 2, 1, "", "__format__"], [14, 2, 1, "", "__ge__"], [14, 2, 1, "", "__getitem__"], [14, 2, 1, "", "__gt__"], [14, 3, 1, "", "__hash__"], [14, 2, 1, "", "__invert__"], [14, 2, 1, "", "__le__"], [14, 2, 1, "", "__len__"], [14, 2, 1, "", "__lshift__"], [14, 2, 1, "", "__lt__"], [14, 2, 1, "", "__mod__"], [14, 2, 1, "", "__mul__"], [14, 2, 1, "", "__ne__"], [14, 2, 1, "", "__neg__"], [14, 2, 1, "", "__or__"], [14, 2, 1, "", "__pos__"], [14, 2, 1, "", "__radd__"], [14, 2, 1, "", "__rand__"], [14, 2, 1, "", "__rfloordiv__"], [14, 2, 1, "", "__rlshift__"], [14, 2, 1, "", "__rmod__"], [14, 2, 1, "", "__rmul__"], [14, 2, 1, "", "__ror__"], [14, 2, 1, "", "__rrshift__"], [14, 2, 1, "", "__rshift__"], [14, 2, 1, "", "__rsub__"], [14, 2, 1, "", "__rxor__"], [14, 2, 1, "", "__sub__"], [14, 2, 1, "", "__xor__"], [14, 2, 1, "", "all"], [14, 2, 1, "", "any"], [14, 2, 1, "", "as_signed"], [14, 2, 1, "", "as_unsigned"], [14, 2, 1, "", "bit_select"], [14, 2, 1, "", "bool"], [14, 2, 1, "", "cast"], [14, 2, 1, "", "eq"], [14, 2, 1, "", "matches"], [14, 2, 1, "", "replicate"], [14, 2, 1, "", "rotate_left"], [14, 2, 1, "", "rotate_right"], [14, 2, 1, "", "shape"], [14, 2, 1, "", "shift_left"], [14, 2, 1, "", "shift_right"], [14, 2, 1, "", "word_select"], [14, 2, 1, "", "xor"]], "amaranth.hdl.ValueCastable": [[14, 2, 1, "", "as_value"], [14, 2, 1, "", "shape"]], "amaranth.lib": [[18, 0, 0, "-", "cdc"], [19, 0, 0, "-", "crc"], [21, 0, 0, "-", "data"], [22, 0, 0, "-", "enum"], [23, 0, 0, "-", "fifo"], [24, 0, 0, "-", "io"], [25, 0, 0, "-", "memory"], [26, 0, 0, "-", "meta"], [27, 0, 0, "-", "stream"], [28, 0, 0, "-", "wiring"]], "amaranth.lib.cdc": [[18, 1, 1, "", "AsyncFFSynchronizer"], [18, 1, 1, "", "FFSynchronizer"], [18, 1, 1, "", "PulseSynchronizer"], [18, 1, 1, "", "ResetSynchronizer"]], "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, 2, 1, "", "compute"], [19, 2, 1, "", "create"], [19, 2, 1, "", "residue"]], "amaranth.lib.crc.catalog": [[20, 5, 1, "", "CRC10_ATM"], [20, 5, 1, "", "CRC10_CDMA2000"], [20, 5, 1, "", "CRC10_GSM"], [20, 5, 1, "", "CRC10_I_610"], [20, 5, 1, "", "CRC11_FLEXRAY"], [20, 5, 1, "", "CRC11_UMTS"], [20, 5, 1, "", "CRC12_3GPP"], [20, 5, 1, "", "CRC12_CDMA2000"], [20, 5, 1, "", "CRC12_DECT"], [20, 5, 1, "", "CRC12_GSM"], [20, 5, 1, "", "CRC12_UMTS"], [20, 5, 1, "", "CRC13_BBC"], [20, 5, 1, "", "CRC14_DARC"], [20, 5, 1, "", "CRC14_GSM"], [20, 5, 1, "", "CRC15_CAN"], [20, 5, 1, "", "CRC15_MPT1327"], [20, 5, 1, "", "CRC16_ACORN"], [20, 5, 1, "", "CRC16_ARC"], [20, 5, 1, "", "CRC16_AUG_CCITT"], [20, 5, 1, "", "CRC16_AUTOSAR"], [20, 5, 1, "", "CRC16_BLUETOOTH"], [20, 5, 1, "", "CRC16_BUYPASS"], [20, 5, 1, "", "CRC16_CCITT"], [20, 5, 1, "", "CRC16_CCITT_FALSE"], [20, 5, 1, "", "CRC16_CCITT_TRUE"], [20, 5, 1, "", "CRC16_CDMA2000"], [20, 5, 1, "", "CRC16_CMS"], [20, 5, 1, "", "CRC16_DARC"], [20, 5, 1, "", "CRC16_DDS_110"], [20, 5, 1, "", "CRC16_DECT_R"], [20, 5, 1, "", "CRC16_DECT_X"], [20, 5, 1, "", "CRC16_DNP"], [20, 5, 1, "", "CRC16_EN_13757"], [20, 5, 1, "", "CRC16_EPC"], [20, 5, 1, "", "CRC16_EPC_C1G2"], [20, 5, 1, "", "CRC16_GENIBUS"], [20, 5, 1, "", "CRC16_GSM"], [20, 5, 1, "", "CRC16_IBM"], [20, 5, 1, "", "CRC16_IBM_3740"], [20, 5, 1, "", "CRC16_IBM_SDLC"], [20, 5, 1, "", "CRC16_IEC_61158_2"], [20, 5, 1, "", "CRC16_ISO_HDLC"], [20, 5, 1, "", "CRC16_ISO_IEC_14443_3_A"], [20, 5, 1, "", "CRC16_ISO_IEC_14443_3_B"], [20, 5, 1, "", "CRC16_I_CODE"], [20, 5, 1, "", "CRC16_KERMIT"], [20, 5, 1, "", "CRC16_LJ1200"], [20, 5, 1, "", "CRC16_LTE"], [20, 5, 1, "", "CRC16_M17"], [20, 5, 1, "", "CRC16_MAXIM"], [20, 5, 1, "", "CRC16_MAXIM_DOW"], [20, 5, 1, "", "CRC16_MCRF4XX"], [20, 5, 1, "", "CRC16_MODBUS"], [20, 5, 1, "", "CRC16_NRSC_5"], [20, 5, 1, "", "CRC16_OPENSAFETY_A"], [20, 5, 1, "", "CRC16_OPENSAFETY_B"], [20, 5, 1, "", "CRC16_PROFIBUS"], [20, 5, 1, "", "CRC16_RIELLO"], [20, 5, 1, "", "CRC16_SPI_FUJITSU"], [20, 5, 1, "", "CRC16_T10_DIF"], [20, 5, 1, "", "CRC16_TELEDISK"], [20, 5, 1, "", "CRC16_TMS37157"], [20, 5, 1, "", "CRC16_UMTS"], [20, 5, 1, "", "CRC16_USB"], [20, 5, 1, "", "CRC16_VERIFONE"], [20, 5, 1, "", "CRC16_V_41_LSB"], [20, 5, 1, "", "CRC16_V_41_MSB"], [20, 5, 1, "", "CRC16_X25"], [20, 5, 1, "", "CRC16_XMODEM"], [20, 5, 1, "", "CRC16_ZMODEM"], [20, 5, 1, "", "CRC17_CAN_FD"], [20, 5, 1, "", "CRC21_CAN_FD"], [20, 5, 1, "", "CRC24_BLE"], [20, 5, 1, "", "CRC24_FLEXRAY_A"], [20, 5, 1, "", "CRC24_FLEXRAY_B"], [20, 5, 1, "", "CRC24_INTERLAKEN"], [20, 5, 1, "", "CRC24_LTE_A"], [20, 5, 1, "", "CRC24_LTE_B"], [20, 5, 1, "", "CRC24_OPENPGP"], [20, 5, 1, "", "CRC24_OS_9"], [20, 5, 1, "", "CRC30_CDMA"], [20, 5, 1, "", "CRC31_PHILIPS"], [20, 5, 1, "", "CRC32_AAL5"], [20, 5, 1, "", "CRC32_ADCCP"], [20, 5, 1, "", "CRC32_AIXM"], [20, 5, 1, "", "CRC32_AUTOSAR"], [20, 5, 1, "", "CRC32_BASE91_C"], [20, 5, 1, "", "CRC32_BASE91_D"], [20, 5, 1, "", "CRC32_BZIP2"], [20, 5, 1, "", "CRC32_CASTAGNOLI"], [20, 5, 1, "", "CRC32_CD_ROM_EDC"], [20, 5, 1, "", "CRC32_CKSUM"], [20, 5, 1, "", "CRC32_DECT_B"], [20, 5, 1, "", "CRC32_ETHERNET"], [20, 5, 1, "", "CRC32_INTERLAKEN"], [20, 5, 1, "", "CRC32_ISCSI"], [20, 5, 1, "", "CRC32_ISO_HDLC"], [20, 5, 1, "", "CRC32_JAMCRC"], [20, 5, 1, "", "CRC32_MEF"], [20, 5, 1, "", "CRC32_MPEG_2"], [20, 5, 1, "", "CRC32_PKZIP"], [20, 5, 1, "", "CRC32_POSIX"], [20, 5, 1, "", "CRC32_V_42"], [20, 5, 1, "", "CRC32_XFER"], [20, 5, 1, "", "CRC32_XZ"], [20, 5, 1, "", "CRC3_GSM"], [20, 5, 1, "", "CRC3_ROHC"], [20, 5, 1, "", "CRC40_GSM"], [20, 5, 1, "", "CRC4_G_704"], [20, 5, 1, "", "CRC4_INTERLAKEN"], [20, 5, 1, "", "CRC4_ITU"], [20, 5, 1, "", "CRC5_EPC"], [20, 5, 1, "", "CRC5_EPC_C1G2"], [20, 5, 1, "", "CRC5_G_704"], [20, 5, 1, "", "CRC5_ITU"], [20, 5, 1, "", "CRC5_USB"], [20, 5, 1, "", "CRC64_ECMA"], [20, 5, 1, "", "CRC64_ECMA_182"], [20, 5, 1, "", "CRC64_GO_ISO"], [20, 5, 1, "", "CRC64_MS"], [20, 5, 1, "", "CRC64_REDIS"], [20, 5, 1, "", "CRC64_WE"], [20, 5, 1, "", "CRC64_XZ"], [20, 5, 1, "", "CRC6_CDMA2000_A"], [20, 5, 1, "", "CRC6_CDMA2000_B"], [20, 5, 1, "", "CRC6_DARC"], [20, 5, 1, "", "CRC6_GSM"], [20, 5, 1, "", "CRC6_G_704"], [20, 5, 1, "", "CRC6_ITU"], [20, 5, 1, "", "CRC7_MMC"], [20, 5, 1, "", "CRC7_ROHC"], [20, 5, 1, "", "CRC7_UMTS"], [20, 5, 1, "", "CRC82_DARC"], [20, 5, 1, "", "CRC8_AES"], [20, 5, 1, "", "CRC8_AUTOSAR"], [20, 5, 1, "", "CRC8_BLUETOOTH"], [20, 5, 1, "", "CRC8_CDMA2000"], [20, 5, 1, "", "CRC8_DARC"], [20, 5, 1, "", "CRC8_DVB_S2"], [20, 5, 1, "", "CRC8_ETU"], [20, 5, 1, "", "CRC8_GSM_A"], [20, 5, 1, "", "CRC8_GSM_B"], [20, 5, 1, "", "CRC8_HITAG"], [20, 5, 1, "", "CRC8_ITU"], [20, 5, 1, "", "CRC8_I_432_1"], [20, 5, 1, "", "CRC8_I_CODE"], [20, 5, 1, "", "CRC8_LTE"], [20, 5, 1, "", "CRC8_MAXIM"], [20, 5, 1, "", "CRC8_MAXIM_DOW"], [20, 5, 1, "", "CRC8_MIFARE_MAD"], [20, 5, 1, "", "CRC8_NRSC_5"], [20, 5, 1, "", "CRC8_OPENSAFETY"], [20, 5, 1, "", "CRC8_ROHC"], [20, 5, 1, "", "CRC8_SAE_J1850"], [20, 5, 1, "", "CRC8_SMBUS"], [20, 5, 1, "", "CRC8_TECH_3250"], [20, 5, 1, "", "CRC8_WCDMA"]], "amaranth.lib.data": [[21, 1, 1, "", "ArrayLayout"], [21, 1, 1, "", "Const"], [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, 6, 1, "", "size"]], "amaranth.lib.data.Const": [[21, 2, 1, "", "__getattr__"], [21, 2, 1, "", "__getitem__"], [21, 2, 1, "", "as_bits"], [21, 2, 1, "", "as_value"], [21, 2, 1, "", "shape"]], "amaranth.lib.data.Field": [[21, 2, 1, "", "__eq__"], [21, 6, 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, 2, 1, "", "from_bits"], [21, 6, 1, "", "size"]], "amaranth.lib.data.StructLayout": [[21, 6, 1, "", "size"]], "amaranth.lib.data.UnionLayout": [[21, 6, 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, "", "EnumType"], [22, 1, 1, "", "EnumView"], [22, 1, 1, "", "Flag"], [22, 1, 1, "", "FlagView"], [22, 1, 1, "", "IntEnum"], [22, 1, 1, "", "IntFlag"]], "amaranth.lib.enum.EnumType": [[22, 2, 1, "", "__call__"], [22, 2, 1, "", "as_shape"]], "amaranth.lib.enum.EnumView": [[22, 2, 1, "", "__eq__"], [22, 2, 1, "", "__init__"], [22, 2, 1, "", "as_value"], [22, 2, 1, "", "eq"], [22, 2, 1, "", "matches"], [22, 2, 1, "", "shape"]], "amaranth.lib.enum.FlagView": [[22, 2, 1, "", "__and__"], [22, 2, 1, "", "__invert__"], [22, 2, 1, "", "__or__"], [22, 2, 1, "", "__rand__"], [22, 2, 1, "", "__ror__"], [22, 2, 1, "", "__rxor__"], [22, 2, 1, "", "__xor__"]], "amaranth.lib.fifo": [[23, 1, 1, "", "AsyncFIFO"], [23, 1, 1, "", "AsyncFIFOBuffered"], [23, 1, 1, "", "FIFOInterface"], [23, 1, 1, "", "SyncFIFO"], [23, 1, 1, "", "SyncFIFOBuffered"]], "amaranth.lib.io": [[24, 1, 1, "", "Buffer"], [24, 1, 1, "", "DDRBuffer"], [24, 1, 1, "", "DifferentialPort"], [24, 1, 1, "", "Direction"], [24, 1, 1, "", "FFBuffer"], [24, 1, 1, "", "PortLike"], [24, 1, 1, "", "SimulationPort"], [24, 1, 1, "", "SingleEndedPort"]], "amaranth.lib.io.Buffer": [[24, 1, 1, "", "Signature"]], "amaranth.lib.io.DDRBuffer": [[24, 1, 1, "", "Signature"]], "amaranth.lib.io.Direction": [[24, 3, 1, "", "Bidir"], [24, 3, 1, "", "Input"], [24, 3, 1, "", "Output"], [24, 2, 1, "", "__and__"]], "amaranth.lib.io.FFBuffer": [[24, 1, 1, "", "Signature"]], "amaranth.lib.io.PortLike": [[24, 2, 1, "", "__add__"], [24, 2, 1, "", "__getitem__"], [24, 2, 1, "", "__invert__"], [24, 2, 1, "", "__len__"], [24, 6, 1, "", "direction"]], "amaranth.lib.memory": [[25, 1, 1, "", "Memory"], [25, 1, 1, "", "ReadPort"], [25, 1, 1, "", "WritePort"]], "amaranth.lib.memory.Memory": [[25, 2, 1, "", "read_port"], [25, 6, 1, "", "read_ports"], [25, 2, 1, "", "write_port"], [25, 6, 1, "", "write_ports"]], "amaranth.lib.memory.ReadPort": [[25, 1, 1, "", "Signature"]], "amaranth.lib.memory.WritePort": [[25, 1, 1, "", "Signature"]], "amaranth.lib.meta": [[26, 1, 1, "", "Annotation"], [26, 7, 1, "", "InvalidAnnotation"], [26, 7, 1, "", "InvalidSchema"]], "amaranth.lib.meta.Annotation": [[26, 2, 1, "", "__init_subclass__"], [26, 2, 1, "", "as_json"], [26, 6, 1, "", "origin"], [26, 3, 1, "", "schema"], [26, 2, 1, "", "validate"]], "amaranth.lib.stream": [[27, 1, 1, "", "Interface"], [27, 1, 1, "", "Signature"]], "amaranth.lib.stream.Interface": [[27, 6, 1, "", "p"]], "amaranth.lib.wiring": [[28, 1, 1, "", "Component"], [28, 1, 1, "", "ComponentMetadata"], [28, 7, 1, "", "ConnectionError"], [28, 1, 1, "", "FlippedInterface"], [28, 1, 1, "", "FlippedSignature"], [28, 1, 1, "", "FlippedSignatureMembers"], [28, 1, 1, "", "Flow"], [28, 5, 1, "", "In"], [28, 7, 1, "", "InvalidMetadata"], [28, 1, 1, "", "Member"], [28, 5, 1, "", "Out"], [28, 1, 1, "", "PureInterface"], [28, 1, 1, "", "Signature"], [28, 7, 1, "", "SignatureError"], [28, 1, 1, "", "SignatureMembers"], [28, 1, 1, "", "SignatureMeta"], [28, 4, 1, "", "connect"], [28, 4, 1, "", "flipped"]], "amaranth.lib.wiring.Component": [[28, 6, 1, "", "metadata"], [28, 6, 1, "", "signature"]], "amaranth.lib.wiring.ComponentMetadata": [[28, 2, 1, "", "as_json"], [28, 6, 1, "", "origin"], [28, 3, 1, "", "schema"], [28, 2, 1, "", "validate"]], "amaranth.lib.wiring.FlippedInterface": [[28, 2, 1, "", "__delattr__"], [28, 2, 1, "", "__eq__"], [28, 2, 1, "", "__getattr__"], [28, 2, 1, "", "__setattr__"], [28, 6, 1, "", "signature"]], "amaranth.lib.wiring.FlippedSignature": [[28, 2, 1, "", "__delattr__"], [28, 2, 1, "", "__getattr__"], [28, 2, 1, "", "__setattr__"], [28, 2, 1, "", "flip"]], "amaranth.lib.wiring.FlippedSignatureMembers": [[28, 2, 1, "", "flip"]], "amaranth.lib.wiring.Flow": [[28, 3, 1, "", "In"], [28, 3, 1, "", "Out"], [28, 2, 1, "", "__call__"], [28, 2, 1, "", "flip"]], "amaranth.lib.wiring.Member": [[28, 2, 1, "", "array"], [28, 6, 1, "", "dimensions"], [28, 2, 1, "", "flip"], [28, 6, 1, "", "flow"], [28, 6, 1, "", "init"], [28, 6, 1, "", "is_port"], [28, 6, 1, "", "is_signature"], [28, 6, 1, "", "shape"], [28, 6, 1, "", "signature"]], "amaranth.lib.wiring.PureInterface": [[28, 2, 1, "", "__init__"]], "amaranth.lib.wiring.Signature": [[28, 2, 1, "", "__eq__"], [28, 2, 1, "", "annotations"], [28, 2, 1, "", "create"], [28, 2, 1, "", "flatten"], [28, 2, 1, "", "flip"], [28, 2, 1, "", "is_compliant"], [28, 6, 1, "", "members"]], "amaranth.lib.wiring.SignatureMembers": [[28, 2, 1, "", "__contains__"], [28, 2, 1, "", "__delitem__"], [28, 2, 1, "", "__eq__"], [28, 2, 1, "", "__getitem__"], [28, 2, 1, "", "__iter__"], [28, 2, 1, "", "__setitem__"], [28, 2, 1, "", "create"], [28, 2, 1, "", "flatten"], [28, 2, 1, "", "flip"]], "amaranth.lib.wiring.SignatureMeta": [[28, 2, 1, "", "__instancecheck__"], [28, 2, 1, "", "__subclasscheck__"]], "amaranth.sim": [[15, 7, 1, "", "BrokenTrigger"], [15, 7, 1, "", "DomainReset"], [15, 1, 1, "", "Simulator"], [15, 1, 1, "", "SimulatorContext"], [15, 1, 1, "", "TickTrigger"], [15, 1, 1, "", "TriggerCombination"]], "amaranth.sim.Simulator": [[15, 2, 1, "", "add_clock"], [15, 2, 1, "", "add_process"], [15, 2, 1, "", "add_testbench"], [15, 2, 1, "", "advance"], [15, 2, 1, "", "reset"], [15, 2, 1, "", "run"], [15, 2, 1, "", "run_until"], [15, 2, 1, "", "write_vcd"]], "amaranth.sim.SimulatorContext": [[15, 2, 1, "", "changed"], [15, 2, 1, "", "critical"], [15, 2, 1, "", "delay"], [15, 2, 1, "", "edge"], [15, 2, 1, "", "elapsed_time"], [15, 2, 1, "", "get"], [15, 2, 1, "", "negedge"], [15, 2, 1, "", "posedge"], [15, 2, 1, "", "set"], [15, 2, 1, "", "tick"]], "amaranth.sim.TickTrigger": [[15, 2, 1, "", "repeat"], [15, 2, 1, "", "sample"], [15, 2, 1, "", "until"]], "amaranth.sim.TriggerCombination": [[15, 2, 1, "", "changed"], [15, 2, 1, "", "delay"], [15, 2, 1, "", "edge"], [15, 2, 1, "", "negedge"], [15, 2, 1, "", "posedge"], [15, 2, 1, "", "sample"]], "amaranth.vendor": [[8, 1, 1, "", "AlteraPlatform"], [9, 1, 1, "", "GowinPlatform"], [10, 1, 1, "", "LatticePlatform"], [11, 1, 1, "", "QuicklogicPlatform"], [12, 1, 1, "", "SiliconBluePlatform"], [13, 1, 1, "", "XilinxPlatform"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:attribute", "4": "py:function", "5": "py:data", "6": "py:property", "7": "py:exception"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "attribute", "Python attribute"], "4": ["py", "function", "Python function"], "5": ["py", "data", "Python data"], "6": ["py", "property", "Python property"], "7": ["py", "exception", "Python exception"]}, "titleterms": {"changelog": 0, "document": [0, 1, 2], "past": 0, "releas": [0, 5], "version": 0, "0": 0, "6": 0, "unreleas": 0, "implement": [0, 16], "rfc": 0, "languag": [0, 3, 4, 6, 14], "chang": [0, 1], "standard": [0, 6, 17], "librari": [0, 6, 17], "toolchain": [0, 4, 6], "platform": [0, 7], "integr": [0, 6, 7], "5": 0, "3": 0, "2": 0, "1": 0, "migrat": 0, "from": [0, 3], "4": 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, 15], "testsuit": 1, "build": [1, 6], "style": 1, "guid": [1, 3], "your": 1, "weekli": 1, "meet": 1, "amaranth": [2, 5, 6], "project": 2, "The": [3, 6], "prelud": 3, "shape": [3, 14], "valu": [3, 14, 27], "constant": [3, 21, 28], "cast": 3, "integ": 3, "rang": 3, "enumer": [3, 22], "custom": [3, 21, 28], "member": 3, "signal": 3, "name": 3, "initi": 3, "reset": 3, "less": 3, "oper": 3, "perform": 3, "describ": 3, "comput": [3, 19], "width": 3, "extens": 3, "arithmet": 3, "comparison": 3, "bitwis": 3, "shift": 3, "rotat": 3, "reduct": 3, "logic": 3, "bit": 3, "sequenc": 3, "match": 3, "convers": 3, "choic": 3, "arrai": [3, 25], "data": [3, 21, 27], "structur": [3, 21], "modul": 3, "control": 3, "domain": [3, 18], "assign": 3, "order": 3, "flow": 3, "activ": 3, "inact": 3, "If": 3, "elif": 3, "els": 3, "block": 3, "switch": 3, "case": 3, "fsm": 3, "state": 3, "combin": [3, 15], "evalu": 3, "synchron": [3, 15], "assert": 3, "debug": 3, "print": 3, "clock": [3, 18, 24], "late": 3, "bind": 3, "elabor": 3, "submodul": 3, "modifi": 3, "renam": 3, "memori": [3, 25], "i": 3, "o": 3, "port": [3, 24, 25], "instanc": 3, "buffer": [3, 24], "instal": 5, "In": 5, "browser": 5, "playground": 5, "system": [5, 6], "requir": 5, "prerequisit": 5, "latest": 5, "develop": [5, 6], "snapshot": 5, "edit": 5, "board": [5, 6], "definit": [5, 6], "todo": [5, 7, 16, 29], "introduct": [6, 19, 21, 24, 25, 26, 27, 28], "simul": [6, 15, 24, 25], "fpga": 6, "altera": 8, "gowin": 9, "lattic": 10, "quicklog": 11, "siliconblu": 12, "xilinx": 13, "refer": [14, 15, 26, 27], "backward": 14, "compat": 14, "import": 14, "syntax": 14, "sourc": 14, "locat": 14, "circuit": 15, "test": [15, 16], "replac": 15, "code": 15, "get": 16, "start": 16, "A": 16, "counter": 16, "convert": 16, "blink": 16, "led": [16, 24], "cross": 18, "cyclic": 19, "redund": 19, "check": 19, "exampl": [19, 24, 25, 27], "algorithm": [19, 20], "paramet": 19, "crc": 19, "predefin": 19, "catalog": 20, "overview": [21, 28], "motiv": [21, 28], "compos": 21, "layout": 21, "defin": [21, 26], "discrimin": 21, "union": 21, "model": 21, "common": 21, "view": [21, 22], "creat": 21, "access": 21, "class": [21, 22], "metaclass": 22, "base": 22, "first": [23, 25], "out": [23, 25], "queue": [23, 25], "input": [24, 28], "output": 24, "bidirect": 24, "bu": 24, "forward": [24, 28], "read": 25, "onli": 25, "descript": 25, "compon": [25, 28], "interfac": [26, 28], "metadata": [26, 28], "annot": 26, "identifi": 26, "schema": 26, "stream": 27, "transfer": 27, "rule": 27, "serial": 27, "receiv": 27, "transmitt": 27, "negat": 27, "complet": 27, "pipelin": 27, "connect": 28, "reusabl": 28, "interior": 28, "adapt": 28, "signatur": 28, "path": 28, "make": 28, "tutori": 29}, "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"]], "Documentation for past releases": [[0, "documentation-for-past-releases"]], "Version 0.6.0 (unreleased)": [[0, "version-0-6-0-unreleased"]], "Implemented RFCs": [[0, "implemented-rfcs"], [0, "id4"], [0, "id6"], [0, "id11"]], "Language changes": [[0, "language-changes"], [0, "id1"], [0, "id7"], [0, "id12"], [0, "id16"]], "Standard library changes": [[0, "standard-library-changes"], [0, "id2"], [0, "id5"], [0, "id8"], [0, "id13"], [0, "id17"]], "Toolchain changes": [[0, "toolchain-changes"], [0, "id9"], [0, "id14"], [0, "id18"]], "Platform integration changes": [[0, "platform-integration-changes"], [0, "id3"], [0, "id10"], [0, "id15"], [0, "id19"]], "Version 0.5.3 (unreleased)": [[0, "version-0-5-3-unreleased"]], "Version 0.5.2": [[0, "version-0-5-2"]], "Version 0.5.1": [[0, "version-0-5-1"]], "Version 0.5.0": [[0, "version-0-5-0"]], "Migrating from version 0.4": [[0, "migrating-from-version-0-4"]], "Version 0.4.0": [[0, "version-0-4-0"]], "Migrating from version 0.3": [[0, "migrating-from-version-0-3"]], "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"]], "Documentation style guide": [[1, "documentation-style-guide"]], "Contributing your changes": [[1, "contributing-your-changes"]], "Weekly meetings": [[1, "weekly-meetings"]], "Amaranth project documentation": [[2, "amaranth-project-documentation"]], "Language guide": [[3, "language-guide"]], "The prelude": [[3, "the-prelude"]], "Shapes": [[3, "shapes"], [14, "shapes"]], "Shapes of values": [[3, "shapes-of-values"]], "Values": [[3, "values"], [14, "values"]], "Constants": [[3, "constants"]], "Shape casting": [[3, "shape-casting"]], "Shapes from integers": [[3, "shapes-from-integers"]], "Shapes from ranges": [[3, "shapes-from-ranges"]], "Shapes from enumerations": [[3, "shapes-from-enumerations"]], "Custom shapes": [[3, "custom-shapes"]], "Value casting": [[3, "value-casting"]], "Values from integers": [[3, "values-from-integers"]], "Values from enumeration members": [[3, "values-from-enumeration-members"]], "Constant casting": [[3, "constant-casting"]], "Signals": [[3, "signals"]], "Signal shapes": [[3, "signal-shapes"]], "Signal names": [[3, "signal-names"]], "Initial signal values": [[3, "initial-signal-values"]], "Reset-less signals": [[3, "reset-less-signals"]], "Operators": [[3, "operators"]], "Performing or describing computations?": [[3, "performing-or-describing-computations"]], "Width extension": [[3, "width-extension"]], "Arithmetic operators": [[3, "arithmetic-operators"]], "Comparison operators": [[3, "comparison-operators"]], "Bitwise, shift, and rotate operators": [[3, "bitwise-shift-and-rotate-operators"]], "Reduction operators": [[3, "reduction-operators"]], "Logical operators": [[3, "logical-operators"]], "Bit sequence operators": [[3, "bit-sequence-operators"]], "Match operator": [[3, "match-operator"]], "Conversion operators": [[3, "conversion-operators"]], "Choice operator": [[3, "choice-operator"]], "Arrays": [[3, "arrays"]], "Data structures": [[3, "data-structures"], [21, "module-amaranth.lib.data"]], "Modules": [[3, "modules"]], "Control domains": [[3, "control-domains"]], "Assigning to signals": [[3, "assigning-to-signals"]], "Assignable values": [[3, "assignable-values"]], "Assignment domains": [[3, "assignment-domains"]], "Assignment order": [[3, "assignment-order"]], "Control flow": [[3, "control-flow"]], "Active and inactive assignments": [[3, "active-and-inactive-assignments"]], "If/Elif/Else control blocks": [[3, "if-elif-else-control-blocks"]], "Switch/Case control blocks": [[3, "switch-case-control-blocks"]], "FSM/State control blocks": [[3, "fsm-state-control-blocks"]], "Combinational evaluation": [[3, "combinational-evaluation"]], "Synchronous evaluation": [[3, "synchronous-evaluation"]], "Assertions": [[3, "assertions"]], "Debug printing": [[3, "debug-printing"]], "Clock domains": [[3, "clock-domains"]], "Late binding of clock and reset signals": [[3, "late-binding-of-clock-and-reset-signals"]], "Elaboration": [[3, "elaboration"]], "Submodules": [[3, "submodules"]], "Modifying control flow": [[3, "modifying-control-flow"]], "Renaming domains": [[3, "renaming-domains"]], "Memories": [[3, "memories"]], "I/O values": [[3, "i-o-values"]], "I/O ports": [[3, "i-o-ports"]], "I/O operators": [[3, "i-o-operators"]], "Instances": [[3, "instances"]], "I/O buffer instances": [[3, "i-o-buffer-instances"]], "Language & toolchain": [[4, "language-toolchain"]], "Installation": [[5, "installation"]], "In-browser playground": [[5, "in-browser-playground"]], "System requirements": [[5, "system-requirements"]], "Installing prerequisites": [[5, "installing-prerequisites"]], "Installing Amaranth": [[5, "installing-amaranth"]], "Latest release": [[5, "latest-release"]], "Development snapshot": [[5, "development-snapshot"]], "Editable development snapshot": [[5, "editable-development-snapshot"]], "Installing board definitions": [[5, "installing-board-definitions"]], "Todo": [[5, "id1"], [7, "id1"], [16, "id1"], [29, "id1"]], "Introduction": [[6, "introduction"], [19, "introduction"], [21, "introduction"], [24, "introduction"], [25, "introduction"], [26, "introduction"], [27, "introduction"], [28, "introduction"]], "The Amaranth language": [[6, "the-amaranth-language"]], "The Amaranth standard library": [[6, "the-amaranth-standard-library"]], "The Amaranth simulator": [[6, "the-amaranth-simulator"]], "The Amaranth build system": [[6, "the-amaranth-build-system"]], "FPGA toolchain integration": [[6, "fpga-toolchain-integration"]], "Development board definitions": [[6, "development-board-definitions"]], "Platform integration": [[7, "platform-integration"]], "Altera": [[8, "altera"]], "Gowin": [[9, "gowin"]], "Lattice": [[10, "lattice"]], "Quicklogic": [[11, "quicklogic"]], "SiliconBlue": [[12, "siliconblue"]], "Xilinx": [[13, "xilinx"]], "Language reference": [[14, "module-amaranth.hdl"]], "Backwards compatibility": [[14, "backwards-compatibility"]], "Importing syntax": [[14, "importing-syntax"]], "Source locations": [[14, "source-locations"]], "Simulator": [[15, "module-amaranth.sim"]], "Simulating circuits": [[15, "simulating-circuits"]], "Running a simulation": [[15, "running-a-simulation"]], "Testing synchronous circuits": [[15, "testing-synchronous-circuits"]], "Testing combinational circuits": [[15, "testing-combinational-circuits"]], "Replacing circuits with code": [[15, "replacing-circuits-with-code"]], "Replacing synchronous circuits": [[15, "replacing-synchronous-circuits"]], "Replacing combinational circuits": [[15, "replacing-combinational-circuits"]], "Reference": [[15, "reference"], [26, "reference"], [27, "reference"]], "Getting started": [[16, "getting-started"]], "A counter": [[16, "a-counter"]], "Implementing a counter": [[16, "implementing-a-counter"]], "Testing a counter": [[16, "testing-a-counter"]], "Converting a counter": [[16, "converting-a-counter"]], "A blinking LED": [[16, "a-blinking-led"]], "Standard library": [[17, "standard-library"]], "Clock domain crossing": [[18, "module-amaranth.lib.cdc"]], "Cyclic redundancy checks": [[19, "module-amaranth.lib.crc"]], "Examples": [[19, "examples"], [24, "examples"], [25, "examples"], [27, "examples"]], "Algorithms and parameters": [[19, "algorithms-and-parameters"]], "CRC computation": [[19, "crc-computation"]], "Predefined algorithms": [[19, "predefined-algorithms"]], "Algorithm catalog": [[20, "module-amaranth.lib.crc.catalog"]], "Overview": [[21, "overview"], [28, "overview"]], "Motivation": [[21, "motivation"], [28, "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"]], "Creating a constant": [[21, "creating-a-constant"]], "Accessing a constant": [[21, "accessing-a-constant"]], "Data classes": [[21, "data-classes"]], "Enumerations": [[22, "module-amaranth.lib.enum"]], "Metaclass": [[22, "metaclass"]], "Base classes": [[22, "base-classes"]], "View classes": [[22, "view-classes"]], "First-in first-out queues": [[23, "module-amaranth.lib.fifo"]], "Input/output buffers": [[24, "module-amaranth.lib.io"]], "LED output": [[24, "led-output"]], "Clock input": [[24, "clock-input"]], "Bidirectional bus": [[24, "bidirectional-bus"]], "Clock forwarding": [[24, "clock-forwarding"]], "Simulation": [[24, "simulation"], [25, "simulation"]], "Ports": [[24, "ports"]], "Buffers": [[24, "buffers"]], "Memory arrays": [[25, "module-amaranth.lib.memory"]], "Read-only memory": [[25, "read-only-memory"]], "First-in, first-out queue": [[25, "first-in-first-out-queue"]], "Memory description": [[25, "memory-description"]], "Memory component": [[25, "memory-component"]], "Memory ports": [[25, "memory-ports"]], "Interface metadata": [[26, "module-amaranth.lib.meta"]], "Defining annotations": [[26, "defining-annotations"]], "Identifying schemas": [[26, "identifying-schemas"]], "Data streams": [[27, "module-amaranth.lib.stream"]], "Data transfer rules": [[27, "data-transfer-rules"]], "Serial receiver": [[27, "serial-receiver"]], "Serial transmitter": [[27, "serial-transmitter"]], "Value negator": [[27, "value-negator"]], "Complete pipeline": [[27, "complete-pipeline"]], "Interfaces and connections": [[28, "module-amaranth.lib.wiring"]], "Reusable interfaces": [[28, "reusable-interfaces"]], "Forwarding interior interfaces": [[28, "forwarding-interior-interfaces"]], "Constant inputs": [[28, "constant-inputs"]], "Adapting interfaces": [[28, "adapting-interfaces"]], "Customizing signatures and interfaces": [[28, "customizing-signatures-and-interfaces"]], "Paths": [[28, "paths"]], "Signatures": [[28, "signatures"]], "Interfaces": [[28, "interfaces"]], "Making connections": [[28, "making-connections"]], "Components": [[28, "components"]], "Component metadata": [[28, "component-metadata"]], "Tutorial": [[29, "tutorial"]]}, "indexentries": {"alteraplatform (class in amaranth.vendor)": [[8, "amaranth.vendor.AlteraPlatform"]], "gowinplatform (class in amaranth.vendor)": [[9, "amaranth.vendor.GowinPlatform"]], "latticeplatform (class in amaranth.vendor)": [[10, "amaranth.vendor.LatticePlatform"]], "quicklogicplatform (class in amaranth.vendor)": [[11, "amaranth.vendor.QuicklogicPlatform"]], "siliconblueplatform (class in amaranth.vendor)": [[12, "amaranth.vendor.SiliconBluePlatform"]], "xilinxplatform (class in amaranth.vendor)": [[13, "amaranth.vendor.XilinxPlatform"]], "shape (class in amaranth.hdl)": [[14, "amaranth.hdl.Shape"]], "shapecastable (class in amaranth.hdl)": [[14, "amaranth.hdl.ShapeCastable"]], "shapelike (class in amaranth.hdl)": [[14, "amaranth.hdl.ShapeLike"]], "value (class in amaranth.hdl)": [[14, "amaranth.hdl.Value"]], "valuecastable (class in amaranth.hdl)": [[14, "amaranth.hdl.ValueCastable"]], "valuelike (class in amaranth.hdl)": [[14, "amaranth.hdl.ValueLike"]], "__abs__() (amaranth.hdl.value method)": [[14, "amaranth.hdl.Value.__abs__"]], "__add__() (amaranth.hdl.value method)": [[14, "amaranth.hdl.Value.__add__"]], "__and__() (amaranth.hdl.value method)": [[14, "amaranth.hdl.Value.__and__"]], "__bool__() (amaranth.hdl.value method)": [[14, "amaranth.hdl.Value.__bool__"]], "__call__() (amaranth.hdl.shapecastable method)": [[14, "amaranth.hdl.ShapeCastable.__call__"]], "__contains__() (amaranth.hdl.value method)": [[14, "amaranth.hdl.Value.__contains__"]], "__eq__() (amaranth.hdl.value method)": [[14, "amaranth.hdl.Value.__eq__"]], "__floordiv__() (amaranth.hdl.value method)": [[14, "amaranth.hdl.Value.__floordiv__"]], "__format__() (amaranth.hdl.value method)": [[14, "amaranth.hdl.Value.__format__"]], "__ge__() (amaranth.hdl.value method)": [[14, "amaranth.hdl.Value.__ge__"]], "__getitem__() (amaranth.hdl.value method)": [[14, "amaranth.hdl.Value.__getitem__"]], "__gt__() (amaranth.hdl.value method)": [[14, "amaranth.hdl.Value.__gt__"]], "__hash__ (amaranth.hdl.value attribute)": [[14, "amaranth.hdl.Value.__hash__"]], "__invert__() (amaranth.hdl.value method)": [[14, "amaranth.hdl.Value.__invert__"]], "__le__() (amaranth.hdl.value method)": [[14, "amaranth.hdl.Value.__le__"]], "__len__() (amaranth.hdl.value method)": [[14, "amaranth.hdl.Value.__len__"]], "__lshift__() (amaranth.hdl.value method)": [[14, "amaranth.hdl.Value.__lshift__"]], "__lt__() (amaranth.hdl.value method)": [[14, "amaranth.hdl.Value.__lt__"]], "__mod__() (amaranth.hdl.value method)": [[14, "amaranth.hdl.Value.__mod__"]], "__mul__() (amaranth.hdl.value method)": [[14, "amaranth.hdl.Value.__mul__"]], "__ne__() (amaranth.hdl.value method)": [[14, "amaranth.hdl.Value.__ne__"]], "__neg__() (amaranth.hdl.value method)": [[14, "amaranth.hdl.Value.__neg__"]], "__or__() (amaranth.hdl.value method)": [[14, "amaranth.hdl.Value.__or__"]], "__pos__() (amaranth.hdl.value method)": [[14, "amaranth.hdl.Value.__pos__"]], "__radd__() (amaranth.hdl.value method)": [[14, "amaranth.hdl.Value.__radd__"]], "__rand__() (amaranth.hdl.value method)": [[14, "amaranth.hdl.Value.__rand__"]], "__repr__() (amaranth.hdl.shape method)": [[14, "amaranth.hdl.Shape.__repr__"]], "__rfloordiv__() (amaranth.hdl.value method)": [[14, "amaranth.hdl.Value.__rfloordiv__"]], "__rlshift__() (amaranth.hdl.value method)": [[14, "amaranth.hdl.Value.__rlshift__"]], "__rmod__() (amaranth.hdl.value method)": [[14, "amaranth.hdl.Value.__rmod__"]], "__rmul__() (amaranth.hdl.value method)": [[14, "amaranth.hdl.Value.__rmul__"]], "__ror__() (amaranth.hdl.value method)": [[14, "amaranth.hdl.Value.__ror__"]], "__rrshift__() (amaranth.hdl.value method)": [[14, "amaranth.hdl.Value.__rrshift__"]], "__rshift__() (amaranth.hdl.value method)": [[14, "amaranth.hdl.Value.__rshift__"]], "__rsub__() (amaranth.hdl.value method)": [[14, "amaranth.hdl.Value.__rsub__"]], "__rxor__() (amaranth.hdl.value method)": [[14, "amaranth.hdl.Value.__rxor__"]], "__sub__() (amaranth.hdl.value method)": [[14, "amaranth.hdl.Value.__sub__"]], "__xor__() (amaranth.hdl.value method)": [[14, "amaranth.hdl.Value.__xor__"]], "all() (amaranth.hdl.value method)": [[14, "amaranth.hdl.Value.all"]], "amaranth.hdl": [[14, "module-amaranth.hdl"]], "any() (amaranth.hdl.value method)": [[14, "amaranth.hdl.Value.any"]], "as_shape() (amaranth.hdl.shapecastable method)": [[14, "amaranth.hdl.ShapeCastable.as_shape"]], "as_signed() (amaranth.hdl.value method)": [[14, "amaranth.hdl.Value.as_signed"]], "as_unsigned() (amaranth.hdl.value method)": [[14, "amaranth.hdl.Value.as_unsigned"]], "as_value() (amaranth.hdl.valuecastable method)": [[14, "amaranth.hdl.ValueCastable.as_value"]], "bit_select() (amaranth.hdl.value method)": [[14, "amaranth.hdl.Value.bit_select"]], "bool() (amaranth.hdl.value method)": [[14, "amaranth.hdl.Value.bool"]], "cast() (amaranth.hdl.shape static method)": [[14, "amaranth.hdl.Shape.cast"]], "cast() (amaranth.hdl.value static method)": [[14, "amaranth.hdl.Value.cast"]], "const() (amaranth.hdl.shapecastable method)": [[14, "amaranth.hdl.ShapeCastable.const"]], "eq() (amaranth.hdl.value method)": [[14, "amaranth.hdl.Value.eq"]], "format() (amaranth.hdl.shapecastable method)": [[14, "amaranth.hdl.ShapeCastable.format"]], "from_bits() (amaranth.hdl.shapecastable method)": [[14, "amaranth.hdl.ShapeCastable.from_bits"]], "matches() (amaranth.hdl.value method)": [[14, "amaranth.hdl.Value.matches"]], "module": [[14, "module-amaranth.hdl"], [15, "module-amaranth.sim"], [18, "module-amaranth.lib.cdc"], [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"], [24, "module-amaranth.lib.io"], [25, "module-amaranth.lib.memory"], [26, "module-amaranth.lib.meta"], [27, "module-amaranth.lib.stream"], [28, "module-amaranth.lib.wiring"]], "replicate() (amaranth.hdl.value method)": [[14, "amaranth.hdl.Value.replicate"]], "rotate_left() (amaranth.hdl.value method)": [[14, "amaranth.hdl.Value.rotate_left"]], "rotate_right() (amaranth.hdl.value method)": [[14, "amaranth.hdl.Value.rotate_right"]], "shape() (amaranth.hdl.value method)": [[14, "amaranth.hdl.Value.shape"]], "shape() (amaranth.hdl.valuecastable method)": [[14, "amaranth.hdl.ValueCastable.shape"]], "shift_left() (amaranth.hdl.value method)": [[14, "amaranth.hdl.Value.shift_left"]], "shift_right() (amaranth.hdl.value method)": [[14, "amaranth.hdl.Value.shift_right"]], "signed() (in module amaranth.hdl)": [[14, "amaranth.hdl.signed"]], "unsigned() (in module amaranth.hdl)": [[14, "amaranth.hdl.unsigned"]], "word_select() (amaranth.hdl.value method)": [[14, "amaranth.hdl.Value.word_select"]], "xor() (amaranth.hdl.value method)": [[14, "amaranth.hdl.Value.xor"]], "brokentrigger": [[15, "amaranth.sim.BrokenTrigger"]], "domainreset": [[15, "amaranth.sim.DomainReset"]], "simulator (class in amaranth.sim)": [[15, "amaranth.sim.Simulator"]], "simulatorcontext (class in amaranth.sim)": [[15, "amaranth.sim.SimulatorContext"]], "ticktrigger (class in amaranth.sim)": [[15, "amaranth.sim.TickTrigger"]], "triggercombination (class in amaranth.sim)": [[15, "amaranth.sim.TriggerCombination"]], "add_clock() (amaranth.sim.simulator method)": [[15, "amaranth.sim.Simulator.add_clock"]], "add_process() (amaranth.sim.simulator method)": [[15, "amaranth.sim.Simulator.add_process"]], "add_testbench() (amaranth.sim.simulator method)": [[15, "amaranth.sim.Simulator.add_testbench"]], "advance() (amaranth.sim.simulator method)": [[15, "amaranth.sim.Simulator.advance"]], "amaranth.sim": [[15, "module-amaranth.sim"]], "changed() (amaranth.sim.simulatorcontext method)": [[15, "amaranth.sim.SimulatorContext.changed"]], "changed() (amaranth.sim.triggercombination method)": [[15, "amaranth.sim.TriggerCombination.changed"]], "critical() (amaranth.sim.simulatorcontext method)": [[15, "amaranth.sim.SimulatorContext.critical"]], "delay() (amaranth.sim.simulatorcontext method)": [[15, "amaranth.sim.SimulatorContext.delay"]], "delay() (amaranth.sim.triggercombination method)": [[15, "amaranth.sim.TriggerCombination.delay"]], "edge() (amaranth.sim.simulatorcontext method)": [[15, "amaranth.sim.SimulatorContext.edge"]], "edge() (amaranth.sim.triggercombination method)": [[15, "amaranth.sim.TriggerCombination.edge"]], "elapsed_time() (amaranth.sim.simulatorcontext method)": [[15, "amaranth.sim.SimulatorContext.elapsed_time"]], "get() (amaranth.sim.simulatorcontext method)": [[15, "amaranth.sim.SimulatorContext.get"]], "negedge() (amaranth.sim.simulatorcontext method)": [[15, "amaranth.sim.SimulatorContext.negedge"]], "negedge() (amaranth.sim.triggercombination method)": [[15, "amaranth.sim.TriggerCombination.negedge"]], "posedge() (amaranth.sim.simulatorcontext method)": [[15, "amaranth.sim.SimulatorContext.posedge"]], "posedge() (amaranth.sim.triggercombination method)": [[15, "amaranth.sim.TriggerCombination.posedge"]], "repeat() (amaranth.sim.ticktrigger method)": [[15, "amaranth.sim.TickTrigger.repeat"]], "reset() (amaranth.sim.simulator method)": [[15, "amaranth.sim.Simulator.reset"]], "run() (amaranth.sim.simulator method)": [[15, "amaranth.sim.Simulator.run"]], "run_until() (amaranth.sim.simulator method)": [[15, "amaranth.sim.Simulator.run_until"]], "sample() (amaranth.sim.ticktrigger method)": [[15, "amaranth.sim.TickTrigger.sample"]], "sample() (amaranth.sim.triggercombination method)": [[15, "amaranth.sim.TriggerCombination.sample"]], "set() (amaranth.sim.simulatorcontext method)": [[15, "amaranth.sim.SimulatorContext.set"]], "tick() (amaranth.sim.simulatorcontext method)": [[15, "amaranth.sim.SimulatorContext.tick"]], "until() (amaranth.sim.ticktrigger method)": [[15, "amaranth.sim.TickTrigger.until"]], "write_vcd() (amaranth.sim.simulator method)": [[15, "amaranth.sim.Simulator.write_vcd"]], "asyncffsynchronizer (class in amaranth.lib.cdc)": [[18, "amaranth.lib.cdc.AsyncFFSynchronizer"]], "ffsynchronizer (class in amaranth.lib.cdc)": [[18, "amaranth.lib.cdc.FFSynchronizer"]], "pulsesynchronizer (class in amaranth.lib.cdc)": [[18, "amaranth.lib.cdc.PulseSynchronizer"]], "resetsynchronizer (class in amaranth.lib.cdc)": [[18, "amaranth.lib.cdc.ResetSynchronizer"]], "amaranth.lib.cdc": [[18, "module-amaranth.lib.cdc"]], "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__"]], "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"]], "const (class in amaranth.lib.data)": [[21, "amaranth.lib.data.Const"]], "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.const method)": [[21, "amaranth.lib.data.Const.__getattr__"]], "__getattr__() (amaranth.lib.data.view method)": [[21, "amaranth.lib.data.View.__getattr__"]], "__getitem__() (amaranth.lib.data.const method)": [[21, "amaranth.lib.data.Const.__getitem__"]], "__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_bits() (amaranth.lib.data.const method)": [[21, "amaranth.lib.data.Const.as_bits"]], "as_shape() (amaranth.lib.data.layout method)": [[21, "amaranth.lib.data.Layout.as_shape"]], "as_value() (amaranth.lib.data.const method)": [[21, "amaranth.lib.data.Const.as_value"]], "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"]], "eq() (amaranth.lib.data.view method)": [[21, "amaranth.lib.data.View.eq"]], "from_bits() (amaranth.lib.data.layout method)": [[21, "amaranth.lib.data.Layout.from_bits"]], "shape() (amaranth.lib.data.const method)": [[21, "amaranth.lib.data.Const.shape"]], "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"]], "enumtype (class in amaranth.lib.enum)": [[22, "amaranth.lib.enum.EnumType"]], "enumview (class in amaranth.lib.enum)": [[22, "amaranth.lib.enum.EnumView"]], "flag (class in amaranth.lib.enum)": [[22, "amaranth.lib.enum.Flag"]], "flagview (class in amaranth.lib.enum)": [[22, "amaranth.lib.enum.FlagView"]], "intenum (class in amaranth.lib.enum)": [[22, "amaranth.lib.enum.IntEnum"]], "intflag (class in amaranth.lib.enum)": [[22, "amaranth.lib.enum.IntFlag"]], "__and__() (amaranth.lib.enum.flagview method)": [[22, "amaranth.lib.enum.FlagView.__and__"]], "__call__() (amaranth.lib.enum.enumtype method)": [[22, "amaranth.lib.enum.EnumType.__call__"]], "__eq__() (amaranth.lib.enum.enumview method)": [[22, "amaranth.lib.enum.EnumView.__eq__"]], "__init__() (amaranth.lib.enum.enumview method)": [[22, "amaranth.lib.enum.EnumView.__init__"]], "__invert__() (amaranth.lib.enum.flagview method)": [[22, "amaranth.lib.enum.FlagView.__invert__"]], "__or__() (amaranth.lib.enum.flagview method)": [[22, "amaranth.lib.enum.FlagView.__or__"]], "__rand__() (amaranth.lib.enum.flagview method)": [[22, "amaranth.lib.enum.FlagView.__rand__"]], "__ror__() (amaranth.lib.enum.flagview method)": [[22, "amaranth.lib.enum.FlagView.__ror__"]], "__rxor__() (amaranth.lib.enum.flagview method)": [[22, "amaranth.lib.enum.FlagView.__rxor__"]], "__xor__() (amaranth.lib.enum.flagview method)": [[22, "amaranth.lib.enum.FlagView.__xor__"]], "amaranth.lib.enum": [[22, "module-amaranth.lib.enum"]], "as_shape() (amaranth.lib.enum.enumtype method)": [[22, "amaranth.lib.enum.EnumType.as_shape"]], "as_value() (amaranth.lib.enum.enumview method)": [[22, "amaranth.lib.enum.EnumView.as_value"]], "eq() (amaranth.lib.enum.enumview method)": [[22, "amaranth.lib.enum.EnumView.eq"]], "matches() (amaranth.lib.enum.enumview method)": [[22, "amaranth.lib.enum.EnumView.matches"]], "shape() (amaranth.lib.enum.enumview method)": [[22, "amaranth.lib.enum.EnumView.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"]], "bidir (amaranth.lib.io.direction attribute)": [[24, "amaranth.lib.io.Direction.Bidir"]], "buffer (class in amaranth.lib.io)": [[24, "amaranth.lib.io.Buffer"]], "buffer.signature (class in amaranth.lib.io)": [[24, "amaranth.lib.io.Buffer.Signature"]], "ddrbuffer (class in amaranth.lib.io)": [[24, "amaranth.lib.io.DDRBuffer"]], "ddrbuffer.signature (class in amaranth.lib.io)": [[24, "amaranth.lib.io.DDRBuffer.Signature"]], "differentialport (class in amaranth.lib.io)": [[24, "amaranth.lib.io.DifferentialPort"]], "direction (class in amaranth.lib.io)": [[24, "amaranth.lib.io.Direction"]], "ffbuffer (class in amaranth.lib.io)": [[24, "amaranth.lib.io.FFBuffer"]], "ffbuffer.signature (class in amaranth.lib.io)": [[24, "amaranth.lib.io.FFBuffer.Signature"]], "input (amaranth.lib.io.direction attribute)": [[24, "amaranth.lib.io.Direction.Input"]], "output (amaranth.lib.io.direction attribute)": [[24, "amaranth.lib.io.Direction.Output"]], "portlike (class in amaranth.lib.io)": [[24, "amaranth.lib.io.PortLike"]], "simulationport (class in amaranth.lib.io)": [[24, "amaranth.lib.io.SimulationPort"]], "singleendedport (class in amaranth.lib.io)": [[24, "amaranth.lib.io.SingleEndedPort"]], "__add__() (amaranth.lib.io.portlike method)": [[24, "amaranth.lib.io.PortLike.__add__"]], "__and__() (amaranth.lib.io.direction method)": [[24, "amaranth.lib.io.Direction.__and__"]], "__getitem__() (amaranth.lib.io.portlike method)": [[24, "amaranth.lib.io.PortLike.__getitem__"]], "__invert__() (amaranth.lib.io.portlike method)": [[24, "amaranth.lib.io.PortLike.__invert__"]], "__len__() (amaranth.lib.io.portlike method)": [[24, "amaranth.lib.io.PortLike.__len__"]], "amaranth.lib.io": [[24, "module-amaranth.lib.io"]], "direction (amaranth.lib.io.portlike property)": [[24, "amaranth.lib.io.PortLike.direction"]], "memory (class in amaranth.lib.memory)": [[25, "amaranth.lib.memory.Memory"]], "memorydata (class in amaranth.hdl)": [[25, "amaranth.hdl.MemoryData"]], "memorydata.init (class in amaranth.hdl)": [[25, "amaranth.hdl.MemoryData.Init"]], "readport (class in amaranth.lib.memory)": [[25, "amaranth.lib.memory.ReadPort"]], "readport.signature (class in amaranth.lib.memory)": [[25, "amaranth.lib.memory.ReadPort.Signature"]], "writeport (class in amaranth.lib.memory)": [[25, "amaranth.lib.memory.WritePort"]], "writeport.signature (class in amaranth.lib.memory)": [[25, "amaranth.lib.memory.WritePort.Signature"]], "__getitem__() (amaranth.hdl.memorydata method)": [[25, "amaranth.hdl.MemoryData.__getitem__"]], "amaranth.lib.memory": [[25, "module-amaranth.lib.memory"]], "read_port() (amaranth.lib.memory.memory method)": [[25, "amaranth.lib.memory.Memory.read_port"]], "read_ports (amaranth.lib.memory.memory property)": [[25, "amaranth.lib.memory.Memory.read_ports"]], "write_port() (amaranth.lib.memory.memory method)": [[25, "amaranth.lib.memory.Memory.write_port"]], "write_ports (amaranth.lib.memory.memory property)": [[25, "amaranth.lib.memory.Memory.write_ports"]], "annotation (class in amaranth.lib.meta)": [[26, "amaranth.lib.meta.Annotation"]], "invalidannotation": [[26, "amaranth.lib.meta.InvalidAnnotation"]], "invalidschema": [[26, "amaranth.lib.meta.InvalidSchema"]], "__init_subclass__() (amaranth.lib.meta.annotation class method)": [[26, "amaranth.lib.meta.Annotation.__init_subclass__"]], "amaranth.lib.meta": [[26, "module-amaranth.lib.meta"]], "as_json() (amaranth.lib.meta.annotation method)": [[26, "amaranth.lib.meta.Annotation.as_json"]], "origin (amaranth.lib.meta.annotation property)": [[26, "amaranth.lib.meta.Annotation.origin"]], "schema (amaranth.lib.meta.annotation attribute)": [[26, "amaranth.lib.meta.Annotation.schema"]], "validate() (amaranth.lib.meta.annotation class method)": [[26, "amaranth.lib.meta.Annotation.validate"]], "interface (class in amaranth.lib.stream)": [[27, "amaranth.lib.stream.Interface"]], "signature (class in amaranth.lib.stream)": [[27, "amaranth.lib.stream.Signature"]], "amaranth.lib.stream": [[27, "module-amaranth.lib.stream"]], "p (amaranth.lib.stream.interface property)": [[27, "amaranth.lib.stream.Interface.p"]], "component (class in amaranth.lib.wiring)": [[28, "amaranth.lib.wiring.Component"]], "componentmetadata (class in amaranth.lib.wiring)": [[28, "amaranth.lib.wiring.ComponentMetadata"]], "connectionerror": [[28, "amaranth.lib.wiring.ConnectionError"]], "flippedinterface (class in amaranth.lib.wiring)": [[28, "amaranth.lib.wiring.FlippedInterface"]], "flippedsignature (class in amaranth.lib.wiring)": [[28, "amaranth.lib.wiring.FlippedSignature"]], "flippedsignaturemembers (class in amaranth.lib.wiring)": [[28, "amaranth.lib.wiring.FlippedSignatureMembers"]], "flow (class in amaranth.lib.wiring)": [[28, "amaranth.lib.wiring.Flow"]], "in (amaranth.lib.wiring.flow attribute)": [[28, "amaranth.lib.wiring.Flow.In"]], "in (in module amaranth.lib.wiring)": [[28, "amaranth.lib.wiring.In"]], "invalidmetadata": [[28, "amaranth.lib.wiring.InvalidMetadata"]], "member (class in amaranth.lib.wiring)": [[28, "amaranth.lib.wiring.Member"]], "out (amaranth.lib.wiring.flow attribute)": [[28, "amaranth.lib.wiring.Flow.Out"]], "out (in module amaranth.lib.wiring)": [[28, "amaranth.lib.wiring.Out"]], "pureinterface (class in amaranth.lib.wiring)": [[28, "amaranth.lib.wiring.PureInterface"]], "signature (class in amaranth.lib.wiring)": [[28, "amaranth.lib.wiring.Signature"]], "signatureerror": [[28, "amaranth.lib.wiring.SignatureError"]], "signaturemembers (class in amaranth.lib.wiring)": [[28, "amaranth.lib.wiring.SignatureMembers"]], "signaturemeta (class in amaranth.lib.wiring)": [[28, "amaranth.lib.wiring.SignatureMeta"]], "__call__() (amaranth.lib.wiring.flow method)": [[28, "amaranth.lib.wiring.Flow.__call__"]], "__contains__() (amaranth.lib.wiring.signaturemembers method)": [[28, "amaranth.lib.wiring.SignatureMembers.__contains__"]], "__delattr__() (amaranth.lib.wiring.flippedinterface method)": [[28, "amaranth.lib.wiring.FlippedInterface.__delattr__"]], "__delattr__() (amaranth.lib.wiring.flippedsignature method)": [[28, "amaranth.lib.wiring.FlippedSignature.__delattr__"]], "__delitem__() (amaranth.lib.wiring.signaturemembers method)": [[28, "amaranth.lib.wiring.SignatureMembers.__delitem__"]], "__eq__() (amaranth.lib.wiring.flippedinterface method)": [[28, "amaranth.lib.wiring.FlippedInterface.__eq__"]], "__eq__() (amaranth.lib.wiring.signature method)": [[28, "amaranth.lib.wiring.Signature.__eq__"]], "__eq__() (amaranth.lib.wiring.signaturemembers method)": [[28, "amaranth.lib.wiring.SignatureMembers.__eq__"]], "__getattr__() (amaranth.lib.wiring.flippedinterface method)": [[28, "amaranth.lib.wiring.FlippedInterface.__getattr__"]], "__getattr__() (amaranth.lib.wiring.flippedsignature method)": [[28, "amaranth.lib.wiring.FlippedSignature.__getattr__"]], "__getitem__() (amaranth.lib.wiring.signaturemembers method)": [[28, "amaranth.lib.wiring.SignatureMembers.__getitem__"]], "__init__() (amaranth.lib.wiring.pureinterface method)": [[28, "amaranth.lib.wiring.PureInterface.__init__"]], "__instancecheck__() (amaranth.lib.wiring.signaturemeta method)": [[28, "amaranth.lib.wiring.SignatureMeta.__instancecheck__"]], "__iter__() (amaranth.lib.wiring.signaturemembers method)": [[28, "amaranth.lib.wiring.SignatureMembers.__iter__"]], "__setattr__() (amaranth.lib.wiring.flippedinterface method)": [[28, "amaranth.lib.wiring.FlippedInterface.__setattr__"]], "__setattr__() (amaranth.lib.wiring.flippedsignature method)": [[28, "amaranth.lib.wiring.FlippedSignature.__setattr__"]], "__setitem__() (amaranth.lib.wiring.signaturemembers method)": [[28, "amaranth.lib.wiring.SignatureMembers.__setitem__"]], "__subclasscheck__() (amaranth.lib.wiring.signaturemeta method)": [[28, "amaranth.lib.wiring.SignatureMeta.__subclasscheck__"]], "amaranth.lib.wiring": [[28, "module-amaranth.lib.wiring"]], "annotations() (amaranth.lib.wiring.signature method)": [[28, "amaranth.lib.wiring.Signature.annotations"]], "array() (amaranth.lib.wiring.member method)": [[28, "amaranth.lib.wiring.Member.array"]], "as_json() (amaranth.lib.wiring.componentmetadata method)": [[28, "amaranth.lib.wiring.ComponentMetadata.as_json"]], "connect() (in module amaranth.lib.wiring)": [[28, "amaranth.lib.wiring.connect"]], "create() (amaranth.lib.wiring.signature method)": [[28, "amaranth.lib.wiring.Signature.create"]], "create() (amaranth.lib.wiring.signaturemembers method)": [[28, "amaranth.lib.wiring.SignatureMembers.create"]], "dimensions (amaranth.lib.wiring.member property)": [[28, "amaranth.lib.wiring.Member.dimensions"]], "flatten() (amaranth.lib.wiring.signature method)": [[28, "amaranth.lib.wiring.Signature.flatten"]], "flatten() (amaranth.lib.wiring.signaturemembers method)": [[28, "amaranth.lib.wiring.SignatureMembers.flatten"]], "flip() (amaranth.lib.wiring.flippedsignature method)": [[28, "amaranth.lib.wiring.FlippedSignature.flip"]], "flip() (amaranth.lib.wiring.flippedsignaturemembers method)": [[28, "amaranth.lib.wiring.FlippedSignatureMembers.flip"]], "flip() (amaranth.lib.wiring.flow method)": [[28, "amaranth.lib.wiring.Flow.flip"]], "flip() (amaranth.lib.wiring.member method)": [[28, "amaranth.lib.wiring.Member.flip"]], "flip() (amaranth.lib.wiring.signature method)": [[28, "amaranth.lib.wiring.Signature.flip"]], "flip() (amaranth.lib.wiring.signaturemembers method)": [[28, "amaranth.lib.wiring.SignatureMembers.flip"]], "flipped() (in module amaranth.lib.wiring)": [[28, "amaranth.lib.wiring.flipped"]], "flow (amaranth.lib.wiring.member property)": [[28, "amaranth.lib.wiring.Member.flow"]], "init (amaranth.lib.wiring.member property)": [[28, "amaranth.lib.wiring.Member.init"]], "is_compliant() (amaranth.lib.wiring.signature method)": [[28, "amaranth.lib.wiring.Signature.is_compliant"]], "is_port (amaranth.lib.wiring.member property)": [[28, "amaranth.lib.wiring.Member.is_port"]], "is_signature (amaranth.lib.wiring.member property)": [[28, "amaranth.lib.wiring.Member.is_signature"]], "members (amaranth.lib.wiring.signature property)": [[28, "amaranth.lib.wiring.Signature.members"]], "metadata (amaranth.lib.wiring.component property)": [[28, "amaranth.lib.wiring.Component.metadata"]], "origin (amaranth.lib.wiring.componentmetadata property)": [[28, "amaranth.lib.wiring.ComponentMetadata.origin"]], "schema (amaranth.lib.wiring.componentmetadata attribute)": [[28, "amaranth.lib.wiring.ComponentMetadata.schema"]], "shape (amaranth.lib.wiring.member property)": [[28, "amaranth.lib.wiring.Member.shape"]], "signature (amaranth.lib.wiring.component property)": [[28, "amaranth.lib.wiring.Component.signature"]], "signature (amaranth.lib.wiring.flippedinterface property)": [[28, "amaranth.lib.wiring.FlippedInterface.signature"]], "signature (amaranth.lib.wiring.member property)": [[28, "amaranth.lib.wiring.Member.signature"]], "validate() (amaranth.lib.wiring.componentmetadata class method)": [[28, "amaranth.lib.wiring.ComponentMetadata.validate"]]}}) \ No newline at end of file diff --git a/docs/amaranth/latest/simulator.html b/docs/amaranth/latest/simulator.html index 31ba40f6..4c1c1b69 100644 --- a/docs/amaranth/latest/simulator.html +++ b/docs/amaranth/latest/simulator.html @@ -4,7 +4,7 @@ - Simulator — Amaranth language & toolchain 0.6.0.dev67 documentation + Simulator — Amaranth language & toolchain 0.6.0.dev68 documentation @@ -17,7 +17,7 @@ - + @@ -41,7 +41,7 @@
- 0.6.0.dev67 + 0.6.0.dev68
diff --git a/docs/amaranth/latest/start.html b/docs/amaranth/latest/start.html index 98925379..8321c82a 100644 --- a/docs/amaranth/latest/start.html +++ b/docs/amaranth/latest/start.html @@ -4,7 +4,7 @@ - Getting started — Amaranth language & toolchain 0.6.0.dev67 documentation + Getting started — Amaranth language & toolchain 0.6.0.dev68 documentation @@ -17,7 +17,7 @@ - + @@ -41,7 +41,7 @@
- 0.6.0.dev67 + 0.6.0.dev68
diff --git a/docs/amaranth/latest/stdlib.html b/docs/amaranth/latest/stdlib.html index bd216083..60c1742b 100644 --- a/docs/amaranth/latest/stdlib.html +++ b/docs/amaranth/latest/stdlib.html @@ -4,7 +4,7 @@ - Standard library — Amaranth language & toolchain 0.6.0.dev67 documentation + Standard library — Amaranth language & toolchain 0.6.0.dev68 documentation @@ -17,7 +17,7 @@ - + @@ -41,7 +41,7 @@
- 0.6.0.dev67 + 0.6.0.dev68
diff --git a/docs/amaranth/latest/stdlib/cdc.html b/docs/amaranth/latest/stdlib/cdc.html index 9b82092e..a7bf2ad6 100644 --- a/docs/amaranth/latest/stdlib/cdc.html +++ b/docs/amaranth/latest/stdlib/cdc.html @@ -4,7 +4,7 @@ - Clock domain crossing — Amaranth language & toolchain 0.6.0.dev67 documentation + Clock domain crossing — Amaranth language & toolchain 0.6.0.dev68 documentation @@ -17,7 +17,7 @@ - + @@ -41,7 +41,7 @@
- 0.6.0.dev67 + 0.6.0.dev68
diff --git a/docs/amaranth/latest/stdlib/crc.html b/docs/amaranth/latest/stdlib/crc.html index ef2ed6b7..853ee54f 100644 --- a/docs/amaranth/latest/stdlib/crc.html +++ b/docs/amaranth/latest/stdlib/crc.html @@ -4,7 +4,7 @@ - Cyclic redundancy checks — Amaranth language & toolchain 0.6.0.dev67 documentation + Cyclic redundancy checks — Amaranth language & toolchain 0.6.0.dev68 documentation @@ -17,7 +17,7 @@ - + @@ -41,7 +41,7 @@
- 0.6.0.dev67 + 0.6.0.dev68
diff --git a/docs/amaranth/latest/stdlib/crc/catalog.html b/docs/amaranth/latest/stdlib/crc/catalog.html index 900353c5..2d61283c 100644 --- a/docs/amaranth/latest/stdlib/crc/catalog.html +++ b/docs/amaranth/latest/stdlib/crc/catalog.html @@ -4,7 +4,7 @@ - Algorithm catalog — Amaranth language & toolchain 0.6.0.dev67 documentation + Algorithm catalog — Amaranth language & toolchain 0.6.0.dev68 documentation @@ -17,7 +17,7 @@ - + @@ -41,7 +41,7 @@
- 0.6.0.dev67 + 0.6.0.dev68
diff --git a/docs/amaranth/latest/stdlib/data.html b/docs/amaranth/latest/stdlib/data.html index eadafa3d..86093f12 100644 --- a/docs/amaranth/latest/stdlib/data.html +++ b/docs/amaranth/latest/stdlib/data.html @@ -4,7 +4,7 @@ - Data structures — Amaranth language & toolchain 0.6.0.dev67 documentation + Data structures — Amaranth language & toolchain 0.6.0.dev68 documentation @@ -17,7 +17,7 @@ - + @@ -41,7 +41,7 @@
- 0.6.0.dev67 + 0.6.0.dev68
diff --git a/docs/amaranth/latest/stdlib/enum.html b/docs/amaranth/latest/stdlib/enum.html index 29a1f92b..b57347d9 100644 --- a/docs/amaranth/latest/stdlib/enum.html +++ b/docs/amaranth/latest/stdlib/enum.html @@ -4,7 +4,7 @@ - Enumerations — Amaranth language & toolchain 0.6.0.dev67 documentation + Enumerations — Amaranth language & toolchain 0.6.0.dev68 documentation @@ -17,7 +17,7 @@ - + @@ -41,7 +41,7 @@
- 0.6.0.dev67 + 0.6.0.dev68
diff --git a/docs/amaranth/latest/stdlib/fifo.html b/docs/amaranth/latest/stdlib/fifo.html index 97a84d8f..63f05fbe 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 language & toolchain 0.6.0.dev67 documentation + First-in first-out queues — Amaranth language & toolchain 0.6.0.dev68 documentation @@ -17,7 +17,7 @@ - + @@ -41,7 +41,7 @@
- 0.6.0.dev67 + 0.6.0.dev68
diff --git a/docs/amaranth/latest/stdlib/io.html b/docs/amaranth/latest/stdlib/io.html index dfb1e445..d13d594a 100644 --- a/docs/amaranth/latest/stdlib/io.html +++ b/docs/amaranth/latest/stdlib/io.html @@ -4,7 +4,7 @@ - Input/output buffers — Amaranth language & toolchain 0.6.0.dev67 documentation + Input/output buffers — Amaranth language & toolchain 0.6.0.dev68 documentation @@ -17,7 +17,7 @@ - + @@ -41,7 +41,7 @@
- 0.6.0.dev67 + 0.6.0.dev68
diff --git a/docs/amaranth/latest/stdlib/memory.html b/docs/amaranth/latest/stdlib/memory.html index 25766a1c..a709bcff 100644 --- a/docs/amaranth/latest/stdlib/memory.html +++ b/docs/amaranth/latest/stdlib/memory.html @@ -4,7 +4,7 @@ - Memory arrays — Amaranth language & toolchain 0.6.0.dev67 documentation + Memory arrays — Amaranth language & toolchain 0.6.0.dev68 documentation @@ -17,7 +17,7 @@ - + @@ -41,7 +41,7 @@
- 0.6.0.dev67 + 0.6.0.dev68
diff --git a/docs/amaranth/latest/stdlib/meta.html b/docs/amaranth/latest/stdlib/meta.html index 954976ff..0d6bb251 100644 --- a/docs/amaranth/latest/stdlib/meta.html +++ b/docs/amaranth/latest/stdlib/meta.html @@ -4,7 +4,7 @@ - Interface metadata — Amaranth language & toolchain 0.6.0.dev67 documentation + Interface metadata — Amaranth language & toolchain 0.6.0.dev68 documentation @@ -17,7 +17,7 @@ - + @@ -41,7 +41,7 @@
- 0.6.0.dev67 + 0.6.0.dev68
diff --git a/docs/amaranth/latest/stdlib/stream.html b/docs/amaranth/latest/stdlib/stream.html index ddd55f43..4e67212b 100644 --- a/docs/amaranth/latest/stdlib/stream.html +++ b/docs/amaranth/latest/stdlib/stream.html @@ -4,7 +4,7 @@ - Data streams — Amaranth language & toolchain 0.6.0.dev67 documentation + Data streams — Amaranth language & toolchain 0.6.0.dev68 documentation @@ -17,7 +17,7 @@ - + @@ -41,7 +41,7 @@
- 0.6.0.dev67 + 0.6.0.dev68
diff --git a/docs/amaranth/latest/stdlib/wiring.html b/docs/amaranth/latest/stdlib/wiring.html index 64385b21..34979d77 100644 --- a/docs/amaranth/latest/stdlib/wiring.html +++ b/docs/amaranth/latest/stdlib/wiring.html @@ -4,7 +4,7 @@ - Interfaces and connections — Amaranth language & toolchain 0.6.0.dev67 documentation + Interfaces and connections — Amaranth language & toolchain 0.6.0.dev68 documentation @@ -17,7 +17,7 @@ - + @@ -41,7 +41,7 @@
- 0.6.0.dev67 + 0.6.0.dev68
diff --git a/docs/amaranth/latest/tutorial.html b/docs/amaranth/latest/tutorial.html index 63537a42..dbdbf8c6 100644 --- a/docs/amaranth/latest/tutorial.html +++ b/docs/amaranth/latest/tutorial.html @@ -4,7 +4,7 @@ - Tutorial — Amaranth language & toolchain 0.6.0.dev67 documentation + Tutorial — Amaranth language & toolchain 0.6.0.dev68 documentation @@ -17,7 +17,7 @@ - + @@ -41,7 +41,7 @@
- 0.6.0.dev67 + 0.6.0.dev68