diff --git a/docs/amaranth/latest/.buildinfo b/docs/amaranth/latest/.buildinfo index 9ebda14c..13528342 100644 --- a/docs/amaranth/latest/.buildinfo +++ b/docs/amaranth/latest/.buildinfo @@ -1,4 +1,4 @@ # Sphinx build info version 1 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. -config: 4076b18fd408fa5510f14ff1673098af +config: f93bf0f1860341e37c2fd56db2b980ea tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/docs/amaranth/latest/.doctrees/environment.pickle b/docs/amaranth/latest/.doctrees/environment.pickle index 1c248d17..750c5075 100644 Binary files a/docs/amaranth/latest/.doctrees/environment.pickle and b/docs/amaranth/latest/.doctrees/environment.pickle differ diff --git a/docs/amaranth/latest/.doctrees/stdlib/memory.doctree b/docs/amaranth/latest/.doctrees/stdlib/memory.doctree index fcd2d4a1..afb07d52 100644 Binary files a/docs/amaranth/latest/.doctrees/stdlib/memory.doctree and b/docs/amaranth/latest/.doctrees/stdlib/memory.doctree differ diff --git a/docs/amaranth/latest/_images/example_fifo.svg b/docs/amaranth/latest/_images/example_fifo.svg deleted file mode 100644 index 2b3222c5..00000000 --- a/docs/amaranth/latest/_images/example_fifo.svg +++ /dev/null @@ -1,41 +0,0 @@ - -clkpushwr_port.addr01234wr_port.data00AABBCCDDmemory[0]00AAmemory[3]00DDpoprd_port.addr01234rd_port.data00AABBCCDDxwtyru diff --git a/docs/amaranth/latest/_images/example_hello.svg b/docs/amaranth/latest/_images/example_hello.svg deleted file mode 100644 index 0a43f2f6..00000000 --- a/docs/amaranth/latest/_images/example_hello.svg +++ /dev/null @@ -1,22 +0,0 @@ - -clkrd_port.addr0123456789101101rd_port.dataHelloworld\nHead diff --git a/docs/amaranth/latest/_sources/stdlib/memory.rst.txt b/docs/amaranth/latest/_sources/stdlib/memory.rst.txt index 2927a2c6..f5f6ad9b 100644 --- a/docs/amaranth/latest/_sources/stdlib/memory.rst.txt +++ b/docs/amaranth/latest/_sources/stdlib/memory.rst.txt @@ -74,7 +74,25 @@ In the following example, a read-only memory is used to output a fixed message i In this example, the memory read port is asynchronous, and a change of the address input (labelled `a` on the diagram below) results in an immediate change of the data output (labelled `d`). -.. image:: _images/memory/example_hello.svg +.. wavedrom:: memory/example_hello + + { + "signal": [ + {"name": "clk", + "wave": "0P............"}, + {"name": "rd_port.addr", + "wave": "==============", + "data": [0,1,2,3,4,5,6,7,8,9,10,11,0,1], + "node": ".a"}, + {"name": "rd_port.data", + "wave": "==============", + "data": ["H","e","l","l","o"," ","w","o","r","l","d","\\n","H","e"], + "node": ".d"} + ], + "edge": [ + "a-|d" + ] + } First-in, first-out queue @@ -112,7 +130,44 @@ In this example, the memory read and write ports are synchronous. A write operat However, the memory read port is also configured to be *transparent* relative to the memory write port. This means that if a write and a read operation (labelled `t`, `u` respectively) access the same row with address 3, the new contents will be read out, reducing the minimum push-to-pop latency to one cycle, down from two cycles that would be required without the use of transparency. -.. image:: _images/memory/example_fifo.svg +.. wavedrom:: memory/example_fifo + + { + "signal": [ + {"name": "clk", + "wave": "P........"}, + {"name": "push", + "wave": "01..0.10.", + "node": ".x"}, + {"name": "wr_port.addr", + "wave": "=.===..=.", + "data": ["0", "1", "2", "3", "4", "5"]}, + {"name": "wr_port.data", + "wave": "====..=..", + "data": ["00", "AA", "BB", "CC", "DD"], + "node": ".w....t"}, + {"name": "memory[0]", + "wave": "=.=......", + "data": ["00", "AA"], + "node": "..G"}, + {"name": "memory[3]", + "wave": "=......=.", + "data": ["00", "DD"], + "node": ".......H"}, + {"name": "pop", + "wave": "0..1...0.", + "node": "...y"}, + {"name": "rd_port.addr", + "wave": "=...====.", + "data": ["0", "1", "2", "3", "4", "5"]}, + {"name": "rd_port.data", + "wave": "=...====.", + "data": ["00", "AA", "BB", "CC", "DD"], + "node": "....r..u"} + ], "edge": [ + "x-~>G", "w->G", "y-~>r", "t->H", "t->u" + ] + } Memories diff --git a/docs/amaranth/latest/_static/documentation_options.js b/docs/amaranth/latest/_static/documentation_options.js index bc67809b..cd34b8b4 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.5.0.dev225', + VERSION: '0.5.0.dev226', LANGUAGE: 'en', COLLAPSE_INDEX: false, BUILDER: 'html', diff --git a/docs/amaranth/latest/changes.html b/docs/amaranth/latest/changes.html index 24981180..4a01dc7a 100644 --- a/docs/amaranth/latest/changes.html +++ b/docs/amaranth/latest/changes.html @@ -4,7 +4,7 @@ - Changelog — Amaranth language & toolchain 0.5.0.dev225 documentation + Changelog — Amaranth language & toolchain 0.5.0.dev226 documentation @@ -17,7 +17,7 @@ - + @@ -41,7 +41,7 @@
- 0.5.0.dev225+g7936b87 + 0.5.0.dev226+g6fb5f3f
diff --git a/docs/amaranth/latest/conf.py b/docs/amaranth/latest/conf.py index 177f454c..3c5240a7 100644 --- a/docs/amaranth/latest/conf.py +++ b/docs/amaranth/latest/conf.py @@ -17,6 +17,7 @@ "sphinx.ext.napoleon", "sphinx_rtd_theme", "sphinxcontrib.platformpicker", + "sphinxcontrib.yowasp_wavedrom", ] with open(".gitignore") as f: @@ -45,6 +46,8 @@ "Platform overrides" ] +yowasp_wavedrom_skin = "light" + html_theme = "sphinx_rtd_theme" html_static_path = ["_static"] html_css_files = ["custom.css"] diff --git a/docs/amaranth/latest/contrib.html b/docs/amaranth/latest/contrib.html index b0b0f3cb..a23df4e5 100644 --- a/docs/amaranth/latest/contrib.html +++ b/docs/amaranth/latest/contrib.html @@ -4,7 +4,7 @@ - Contributing — Amaranth language & toolchain 0.5.0.dev225 documentation + Contributing — Amaranth language & toolchain 0.5.0.dev226 documentation @@ -17,7 +17,7 @@ - + @@ -40,7 +40,7 @@
- 0.5.0.dev225+g7936b87 + 0.5.0.dev226+g6fb5f3f
diff --git a/docs/amaranth/latest/cover.html b/docs/amaranth/latest/cover.html index 664e716e..23bd53fa 100644 --- a/docs/amaranth/latest/cover.html +++ b/docs/amaranth/latest/cover.html @@ -4,7 +4,7 @@ - Amaranth project documentation — Amaranth language & toolchain 0.5.0.dev225 documentation + Amaranth project documentation — Amaranth language & toolchain 0.5.0.dev226 documentation @@ -17,7 +17,7 @@ - + @@ -40,7 +40,7 @@
- 0.5.0.dev225+g7936b87 + 0.5.0.dev226+g6fb5f3f
diff --git a/docs/amaranth/latest/genindex.html b/docs/amaranth/latest/genindex.html index 5ecd623b..bc9c12cf 100644 --- a/docs/amaranth/latest/genindex.html +++ b/docs/amaranth/latest/genindex.html @@ -3,7 +3,7 @@ - Index — Amaranth language & toolchain 0.5.0.dev225 documentation + Index — Amaranth language & toolchain 0.5.0.dev226 documentation @@ -16,7 +16,7 @@ - + @@ -38,7 +38,7 @@
- 0.5.0.dev225+g7936b87 + 0.5.0.dev226+g6fb5f3f
diff --git a/docs/amaranth/latest/guide.html b/docs/amaranth/latest/guide.html index 1d1983e4..7743d3a6 100644 --- a/docs/amaranth/latest/guide.html +++ b/docs/amaranth/latest/guide.html @@ -4,7 +4,7 @@ - Language guide — Amaranth language & toolchain 0.5.0.dev225 documentation + Language guide — Amaranth language & toolchain 0.5.0.dev226 documentation @@ -17,7 +17,7 @@ - + @@ -41,7 +41,7 @@
- 0.5.0.dev225+g7936b87 + 0.5.0.dev226+g6fb5f3f
diff --git a/docs/amaranth/latest/index.html b/docs/amaranth/latest/index.html index 86dabc05..7d686280 100644 --- a/docs/amaranth/latest/index.html +++ b/docs/amaranth/latest/index.html @@ -4,7 +4,7 @@ - Language & toolchain — Amaranth language & toolchain 0.5.0.dev225 documentation + Language & toolchain — Amaranth language & toolchain 0.5.0.dev226 documentation @@ -17,7 +17,7 @@ - + @@ -41,7 +41,7 @@
- 0.5.0.dev225+g7936b87 + 0.5.0.dev226+g6fb5f3f
diff --git a/docs/amaranth/latest/install.html b/docs/amaranth/latest/install.html index 17a88a4c..527815d2 100644 --- a/docs/amaranth/latest/install.html +++ b/docs/amaranth/latest/install.html @@ -4,7 +4,7 @@ - Installation — Amaranth language & toolchain 0.5.0.dev225 documentation + Installation — Amaranth language & toolchain 0.5.0.dev226 documentation @@ -17,7 +17,7 @@ - + @@ -41,7 +41,7 @@
- 0.5.0.dev225+g7936b87 + 0.5.0.dev226+g6fb5f3f
diff --git a/docs/amaranth/latest/intro.html b/docs/amaranth/latest/intro.html index 1e43f476..a81f7846 100644 --- a/docs/amaranth/latest/intro.html +++ b/docs/amaranth/latest/intro.html @@ -4,7 +4,7 @@ - Introduction — Amaranth language & toolchain 0.5.0.dev225 documentation + Introduction — Amaranth language & toolchain 0.5.0.dev226 documentation @@ -17,7 +17,7 @@ - + @@ -41,7 +41,7 @@
- 0.5.0.dev225+g7936b87 + 0.5.0.dev226+g6fb5f3f
diff --git a/docs/amaranth/latest/objects.inv b/docs/amaranth/latest/objects.inv index a6a69674..eeaf8ca2 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 ace6ded8..8979b070 100644 --- a/docs/amaranth/latest/platform.html +++ b/docs/amaranth/latest/platform.html @@ -4,7 +4,7 @@ - Platform integration — Amaranth language & toolchain 0.5.0.dev225 documentation + Platform integration — Amaranth language & toolchain 0.5.0.dev226 documentation @@ -17,7 +17,7 @@ - + @@ -41,7 +41,7 @@
- 0.5.0.dev225+g7936b87 + 0.5.0.dev226+g6fb5f3f
diff --git a/docs/amaranth/latest/platform/altera.html b/docs/amaranth/latest/platform/altera.html index 7a4da76a..1c66d22d 100644 --- a/docs/amaranth/latest/platform/altera.html +++ b/docs/amaranth/latest/platform/altera.html @@ -4,7 +4,7 @@ - Altera — Amaranth language & toolchain 0.5.0.dev225 documentation + Altera — Amaranth language & toolchain 0.5.0.dev226 documentation @@ -17,7 +17,7 @@ - + @@ -41,7 +41,7 @@
- 0.5.0.dev225+g7936b87 + 0.5.0.dev226+g6fb5f3f
diff --git a/docs/amaranth/latest/platform/gowin.html b/docs/amaranth/latest/platform/gowin.html index 05ae8518..c25e25f5 100644 --- a/docs/amaranth/latest/platform/gowin.html +++ b/docs/amaranth/latest/platform/gowin.html @@ -4,7 +4,7 @@ - Gowin — Amaranth language & toolchain 0.5.0.dev225 documentation + Gowin — Amaranth language & toolchain 0.5.0.dev226 documentation @@ -17,7 +17,7 @@ - + @@ -41,7 +41,7 @@
- 0.5.0.dev225+g7936b87 + 0.5.0.dev226+g6fb5f3f
diff --git a/docs/amaranth/latest/platform/lattice-ecp5.html b/docs/amaranth/latest/platform/lattice-ecp5.html index acdea042..b77d8b95 100644 --- a/docs/amaranth/latest/platform/lattice-ecp5.html +++ b/docs/amaranth/latest/platform/lattice-ecp5.html @@ -4,7 +4,7 @@ - Lattice ECP5 — Amaranth language & toolchain 0.5.0.dev225 documentation + Lattice ECP5 — Amaranth language & toolchain 0.5.0.dev226 documentation @@ -17,7 +17,7 @@ - + @@ -41,7 +41,7 @@
- 0.5.0.dev225+g7936b87 + 0.5.0.dev226+g6fb5f3f
diff --git a/docs/amaranth/latest/platform/lattice-ice40.html b/docs/amaranth/latest/platform/lattice-ice40.html index ef4ba015..84f51bd8 100644 --- a/docs/amaranth/latest/platform/lattice-ice40.html +++ b/docs/amaranth/latest/platform/lattice-ice40.html @@ -4,7 +4,7 @@ - Lattice iCE40 — Amaranth language & toolchain 0.5.0.dev225 documentation + Lattice iCE40 — Amaranth language & toolchain 0.5.0.dev226 documentation @@ -17,7 +17,7 @@ - + @@ -41,7 +41,7 @@
- 0.5.0.dev225+g7936b87 + 0.5.0.dev226+g6fb5f3f
diff --git a/docs/amaranth/latest/platform/lattice-machxo-2-3l.html b/docs/amaranth/latest/platform/lattice-machxo-2-3l.html index ca724b75..74c18e2e 100644 --- a/docs/amaranth/latest/platform/lattice-machxo-2-3l.html +++ b/docs/amaranth/latest/platform/lattice-machxo-2-3l.html @@ -4,7 +4,7 @@ - Lattice MachXO2 and MachXO3L — Amaranth language & toolchain 0.5.0.dev225 documentation + Lattice MachXO2 and MachXO3L — Amaranth language & toolchain 0.5.0.dev226 documentation @@ -17,7 +17,7 @@ - + @@ -41,7 +41,7 @@
- 0.5.0.dev225+g7936b87 + 0.5.0.dev226+g6fb5f3f
diff --git a/docs/amaranth/latest/platform/quicklogic.html b/docs/amaranth/latest/platform/quicklogic.html index 4667b16c..055fb126 100644 --- a/docs/amaranth/latest/platform/quicklogic.html +++ b/docs/amaranth/latest/platform/quicklogic.html @@ -4,7 +4,7 @@ - Quicklogic — Amaranth language & toolchain 0.5.0.dev225 documentation + Quicklogic — Amaranth language & toolchain 0.5.0.dev226 documentation @@ -17,7 +17,7 @@ - + @@ -41,7 +41,7 @@
- 0.5.0.dev225+g7936b87 + 0.5.0.dev226+g6fb5f3f
diff --git a/docs/amaranth/latest/platform/xilinx.html b/docs/amaranth/latest/platform/xilinx.html index 92680033..a57e46e5 100644 --- a/docs/amaranth/latest/platform/xilinx.html +++ b/docs/amaranth/latest/platform/xilinx.html @@ -4,7 +4,7 @@ - Xilinx — Amaranth language & toolchain 0.5.0.dev225 documentation + Xilinx — Amaranth language & toolchain 0.5.0.dev226 documentation @@ -17,7 +17,7 @@ - + @@ -41,7 +41,7 @@
- 0.5.0.dev225+g7936b87 + 0.5.0.dev226+g6fb5f3f
diff --git a/docs/amaranth/latest/py-modindex.html b/docs/amaranth/latest/py-modindex.html index a7868fef..c8b02d02 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.5.0.dev225 documentation + Python Module Index — Amaranth language & toolchain 0.5.0.dev226 documentation @@ -16,7 +16,7 @@ - + @@ -41,7 +41,7 @@
- 0.5.0.dev225+g7936b87 + 0.5.0.dev226+g6fb5f3f
diff --git a/docs/amaranth/latest/reference.html b/docs/amaranth/latest/reference.html index f54a8ef0..68c522ed 100644 --- a/docs/amaranth/latest/reference.html +++ b/docs/amaranth/latest/reference.html @@ -4,7 +4,7 @@ - Language reference — Amaranth language & toolchain 0.5.0.dev225 documentation + Language reference — Amaranth language & toolchain 0.5.0.dev226 documentation @@ -17,7 +17,7 @@ - + @@ -41,7 +41,7 @@
- 0.5.0.dev225+g7936b87 + 0.5.0.dev226+g6fb5f3f
diff --git a/docs/amaranth/latest/search.html b/docs/amaranth/latest/search.html index 51d37714..442e25e0 100644 --- a/docs/amaranth/latest/search.html +++ b/docs/amaranth/latest/search.html @@ -3,7 +3,7 @@ - Search — Amaranth language & toolchain 0.5.0.dev225 documentation + Search — Amaranth language & toolchain 0.5.0.dev226 documentation @@ -17,7 +17,7 @@ - + @@ -41,7 +41,7 @@
- 0.5.0.dev225+g7936b87 + 0.5.0.dev226+g6fb5f3f
diff --git a/docs/amaranth/latest/start.html b/docs/amaranth/latest/start.html index 0220ae90..78d17704 100644 --- a/docs/amaranth/latest/start.html +++ b/docs/amaranth/latest/start.html @@ -4,7 +4,7 @@ - Getting started — Amaranth language & toolchain 0.5.0.dev225 documentation + Getting started — Amaranth language & toolchain 0.5.0.dev226 documentation @@ -17,7 +17,7 @@ - + @@ -41,7 +41,7 @@
- 0.5.0.dev225+g7936b87 + 0.5.0.dev226+g6fb5f3f
diff --git a/docs/amaranth/latest/stdlib.html b/docs/amaranth/latest/stdlib.html index 908114ed..199c5ee3 100644 --- a/docs/amaranth/latest/stdlib.html +++ b/docs/amaranth/latest/stdlib.html @@ -4,7 +4,7 @@ - Standard library — Amaranth language & toolchain 0.5.0.dev225 documentation + Standard library — Amaranth language & toolchain 0.5.0.dev226 documentation @@ -17,7 +17,7 @@ - + @@ -41,7 +41,7 @@
- 0.5.0.dev225+g7936b87 + 0.5.0.dev226+g6fb5f3f
diff --git a/docs/amaranth/latest/stdlib/_images/memory/example_fifo.svg b/docs/amaranth/latest/stdlib/_images/memory/example_fifo.svg index 2b3222c5..045304b6 100644 --- a/docs/amaranth/latest/stdlib/_images/memory/example_fifo.svg +++ b/docs/amaranth/latest/stdlib/_images/memory/example_fifo.svg @@ -1,41 +1 @@ - -clkpushwr_port.addr01234wr_port.data00AABBCCDDmemory[0]00AAmemory[3]00DDpoprd_port.addr01234rd_port.data00AABBCCDDxwtyru +clkpushwr_port.addr01234wr_port.data00AABBCCDDmemory[0]00AAmemory[3]00DDpoprd_port.addr01234rd_port.data00AABBCCDDxwtyru \ No newline at end of file diff --git a/docs/amaranth/latest/stdlib/_images/memory/example_hello.svg b/docs/amaranth/latest/stdlib/_images/memory/example_hello.svg index 0a43f2f6..baba38fd 100644 --- a/docs/amaranth/latest/stdlib/_images/memory/example_hello.svg +++ b/docs/amaranth/latest/stdlib/_images/memory/example_hello.svg @@ -1,22 +1 @@ - -clkrd_port.addr0123456789101101rd_port.dataHelloworld\nHead +clkrd_port.addr0123456789101101rd_port.dataHelloworld\nHead \ No newline at end of file diff --git a/docs/amaranth/latest/stdlib/cdc.html b/docs/amaranth/latest/stdlib/cdc.html index b34c7277..f9e4bc7e 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.5.0.dev225 documentation + Clock domain crossing — Amaranth language & toolchain 0.5.0.dev226 documentation @@ -17,7 +17,7 @@ - + @@ -41,7 +41,7 @@
- 0.5.0.dev225+g7936b87 + 0.5.0.dev226+g6fb5f3f
diff --git a/docs/amaranth/latest/stdlib/coding.html b/docs/amaranth/latest/stdlib/coding.html index dbba5dcb..3f9217c2 100644 --- a/docs/amaranth/latest/stdlib/coding.html +++ b/docs/amaranth/latest/stdlib/coding.html @@ -4,7 +4,7 @@ - Code conversion — Amaranth language & toolchain 0.5.0.dev225 documentation + Code conversion — Amaranth language & toolchain 0.5.0.dev226 documentation @@ -17,7 +17,7 @@ - + @@ -41,7 +41,7 @@
- 0.5.0.dev225+g7936b87 + 0.5.0.dev226+g6fb5f3f
diff --git a/docs/amaranth/latest/stdlib/crc.html b/docs/amaranth/latest/stdlib/crc.html index 10a1cb03..95256872 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.5.0.dev225 documentation + Cyclic redundancy checks — Amaranth language & toolchain 0.5.0.dev226 documentation @@ -17,7 +17,7 @@ - + @@ -41,7 +41,7 @@
- 0.5.0.dev225+g7936b87 + 0.5.0.dev226+g6fb5f3f
diff --git a/docs/amaranth/latest/stdlib/crc/catalog.html b/docs/amaranth/latest/stdlib/crc/catalog.html index b76e4c81..3075276d 100644 --- a/docs/amaranth/latest/stdlib/crc/catalog.html +++ b/docs/amaranth/latest/stdlib/crc/catalog.html @@ -4,7 +4,7 @@ - Predefined CRC Algorithms — Amaranth language & toolchain 0.5.0.dev225 documentation + Predefined CRC Algorithms — Amaranth language & toolchain 0.5.0.dev226 documentation @@ -17,7 +17,7 @@ - + @@ -41,7 +41,7 @@
- 0.5.0.dev225+g7936b87 + 0.5.0.dev226+g6fb5f3f
diff --git a/docs/amaranth/latest/stdlib/data.html b/docs/amaranth/latest/stdlib/data.html index 438400c6..b661dab2 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.5.0.dev225 documentation + Data structures — Amaranth language & toolchain 0.5.0.dev226 documentation @@ -17,7 +17,7 @@ - + @@ -41,7 +41,7 @@
- 0.5.0.dev225+g7936b87 + 0.5.0.dev226+g6fb5f3f
diff --git a/docs/amaranth/latest/stdlib/enum.html b/docs/amaranth/latest/stdlib/enum.html index 388997b5..502cf5f7 100644 --- a/docs/amaranth/latest/stdlib/enum.html +++ b/docs/amaranth/latest/stdlib/enum.html @@ -4,7 +4,7 @@ - Enumerations — Amaranth language & toolchain 0.5.0.dev225 documentation + Enumerations — Amaranth language & toolchain 0.5.0.dev226 documentation @@ -17,7 +17,7 @@ - + @@ -41,7 +41,7 @@
- 0.5.0.dev225+g7936b87 + 0.5.0.dev226+g6fb5f3f
diff --git a/docs/amaranth/latest/stdlib/fifo.html b/docs/amaranth/latest/stdlib/fifo.html index a691b1f6..b74bdb7a 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.5.0.dev225 documentation + First-in first-out queues — Amaranth language & toolchain 0.5.0.dev226 documentation @@ -17,7 +17,7 @@ - + @@ -41,7 +41,7 @@
- 0.5.0.dev225+g7936b87 + 0.5.0.dev226+g6fb5f3f
diff --git a/docs/amaranth/latest/stdlib/memory.html b/docs/amaranth/latest/stdlib/memory.html index 2fd1684e..2430110e 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.5.0.dev225 documentation + Memory arrays — Amaranth language & toolchain 0.5.0.dev226 documentation @@ -17,7 +17,7 @@ - + @@ -41,7 +41,7 @@
- 0.5.0.dev225+g7936b87 + 0.5.0.dev226+g6fb5f3f
@@ -159,7 +159,7 @@

Read-only memory +{'signal': [{'name': 'clk', 'wave': '0P............'}, {'name': 'rd_port.addr', 'wave': '==============', 'data': [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 0, 1], 'node': '.a'}, {'name': 'rd_port.data', 'wave': '==============', 'data': ['H', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd', '\\n', 'H', 'e'], 'node': '.d'}], 'edge': ['a-|d'], 'config': {'skin': 'light'}}

First-in, first-out queue

In a more complex example, a power-of-2 sized writable memory is used to implement a first-in, first-out queue:

@@ -185,7 +185,7 @@

First-in, first-out queue

+{'signal': [{'name': 'clk', 'wave': 'P........'}, {'name': 'push', 'wave': '01..0.10.', 'node': '.x'}, {'name': 'wr_port.addr', 'wave': '=.===..=.', 'data': ['0', '1', '2', '3', '4', '5']}, {'name': 'wr_port.data', 'wave': '====..=..', 'data': ['00', 'AA', 'BB', 'CC', 'DD'], 'node': '.w....t'}, {'name': 'memory[0]', 'wave': '=.=......', 'data': ['00', 'AA'], 'node': '..G'}, {'name': 'memory[3]', 'wave': '=......=.', 'data': ['00', 'DD'], 'node': '.......H'}, {'name': 'pop', 'wave': '0..1...0.', 'node': '...y'}, {'name': 'rd_port.addr', 'wave': '=...====.', 'data': ['0', '1', '2', '3', '4', '5']}, {'name': 'rd_port.data', 'wave': '=...====.', 'data': ['00', 'AA', 'BB', 'CC', 'DD'], 'node': '....r..u'}], 'edge': ['x-~>G', 'w->G', 'y-~>r', 't->H', 't->u'], 'config': {'skin': 'light'}}

Memories

diff --git a/docs/amaranth/latest/stdlib/memory.rst b/docs/amaranth/latest/stdlib/memory.rst index 2927a2c6..f5f6ad9b 100644 --- a/docs/amaranth/latest/stdlib/memory.rst +++ b/docs/amaranth/latest/stdlib/memory.rst @@ -74,7 +74,25 @@ In the following example, a read-only memory is used to output a fixed message i In this example, the memory read port is asynchronous, and a change of the address input (labelled `a` on the diagram below) results in an immediate change of the data output (labelled `d`). -.. image:: _images/memory/example_hello.svg +.. wavedrom:: memory/example_hello + + { + "signal": [ + {"name": "clk", + "wave": "0P............"}, + {"name": "rd_port.addr", + "wave": "==============", + "data": [0,1,2,3,4,5,6,7,8,9,10,11,0,1], + "node": ".a"}, + {"name": "rd_port.data", + "wave": "==============", + "data": ["H","e","l","l","o"," ","w","o","r","l","d","\\n","H","e"], + "node": ".d"} + ], + "edge": [ + "a-|d" + ] + } First-in, first-out queue @@ -112,7 +130,44 @@ In this example, the memory read and write ports are synchronous. A write operat However, the memory read port is also configured to be *transparent* relative to the memory write port. This means that if a write and a read operation (labelled `t`, `u` respectively) access the same row with address 3, the new contents will be read out, reducing the minimum push-to-pop latency to one cycle, down from two cycles that would be required without the use of transparency. -.. image:: _images/memory/example_fifo.svg +.. wavedrom:: memory/example_fifo + + { + "signal": [ + {"name": "clk", + "wave": "P........"}, + {"name": "push", + "wave": "01..0.10.", + "node": ".x"}, + {"name": "wr_port.addr", + "wave": "=.===..=.", + "data": ["0", "1", "2", "3", "4", "5"]}, + {"name": "wr_port.data", + "wave": "====..=..", + "data": ["00", "AA", "BB", "CC", "DD"], + "node": ".w....t"}, + {"name": "memory[0]", + "wave": "=.=......", + "data": ["00", "AA"], + "node": "..G"}, + {"name": "memory[3]", + "wave": "=......=.", + "data": ["00", "DD"], + "node": ".......H"}, + {"name": "pop", + "wave": "0..1...0.", + "node": "...y"}, + {"name": "rd_port.addr", + "wave": "=...====.", + "data": ["0", "1", "2", "3", "4", "5"]}, + {"name": "rd_port.data", + "wave": "=...====.", + "data": ["00", "AA", "BB", "CC", "DD"], + "node": "....r..u"} + ], "edge": [ + "x-~>G", "w->G", "y-~>r", "t->H", "t->u" + ] + } Memories diff --git a/docs/amaranth/latest/stdlib/wiring.html b/docs/amaranth/latest/stdlib/wiring.html index b846d4e6..ee990fbd 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.5.0.dev225 documentation + Interfaces and connections — Amaranth language & toolchain 0.5.0.dev226 documentation @@ -17,7 +17,7 @@ - + @@ -41,7 +41,7 @@
- 0.5.0.dev225+g7936b87 + 0.5.0.dev226+g6fb5f3f
diff --git a/docs/amaranth/latest/tutorial.html b/docs/amaranth/latest/tutorial.html index 88c0adfa..b33c2baa 100644 --- a/docs/amaranth/latest/tutorial.html +++ b/docs/amaranth/latest/tutorial.html @@ -4,7 +4,7 @@ - Tutorial — Amaranth language & toolchain 0.5.0.dev225 documentation + Tutorial — Amaranth language & toolchain 0.5.0.dev226 documentation @@ -17,7 +17,7 @@ - + @@ -41,7 +41,7 @@
- 0.5.0.dev225+g7936b87 + 0.5.0.dev226+g6fb5f3f