From 93c8b8f32d95bf3b26c8500e2595b2fb2dc440e6 Mon Sep 17 00:00:00 2001 From: "github-merge-queue[bot]" Date: Tue, 30 Jan 2024 17:27:10 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20main=20from=20@=20amaranth-lan?= =?UTF-8?q?g/amaranth@5dd1223cf8b2fc1accbc4d0e53dc702cce4a19af=20?= =?UTF-8?q?=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/amaranth/latest/.buildinfo | 2 +- .../latest/.doctrees/environment.pickle | Bin 4869814 -> 4869776 bytes .../latest/.doctrees/stdlib/enum.doctree | Bin 84815 -> 84777 bytes .../latest/_sources/stdlib/enum.rst.txt | 4 ++-- .../latest/_static/documentation_options.js | 2 +- docs/amaranth/latest/changes.html | 6 +++--- docs/amaranth/latest/contrib.html | 6 +++--- docs/amaranth/latest/cover.html | 6 +++--- docs/amaranth/latest/genindex.html | 6 +++--- docs/amaranth/latest/index.html | 6 +++--- docs/amaranth/latest/install.html | 6 +++--- docs/amaranth/latest/intro.html | 6 +++--- docs/amaranth/latest/lang.html | 6 +++--- docs/amaranth/latest/objects.inv | Bin 3773 -> 3773 bytes docs/amaranth/latest/platform.html | 6 +++--- docs/amaranth/latest/platform/gowin.html | 6 +++--- docs/amaranth/latest/platform/intel.html | 6 +++--- .../latest/platform/lattice-ecp5.html | 6 +++--- .../latest/platform/lattice-ice40.html | 6 +++--- .../latest/platform/lattice-machxo-2-3l.html | 6 +++--- docs/amaranth/latest/platform/quicklogic.html | 6 +++--- docs/amaranth/latest/platform/xilinx.html | 6 +++--- docs/amaranth/latest/py-modindex.html | 6 +++--- docs/amaranth/latest/search.html | 6 +++--- docs/amaranth/latest/searchindex.js | 2 +- docs/amaranth/latest/start.html | 6 +++--- docs/amaranth/latest/stdlib.html | 6 +++--- docs/amaranth/latest/stdlib/cdc.html | 6 +++--- docs/amaranth/latest/stdlib/coding.html | 6 +++--- docs/amaranth/latest/stdlib/crc.html | 6 +++--- docs/amaranth/latest/stdlib/crc/catalog.html | 6 +++--- docs/amaranth/latest/stdlib/data.html | 6 +++--- docs/amaranth/latest/stdlib/enum.html | 10 +++++----- docs/amaranth/latest/stdlib/enum.rst | 4 ++-- docs/amaranth/latest/stdlib/fifo.html | 6 +++--- docs/amaranth/latest/stdlib/wiring.html | 6 +++--- docs/amaranth/latest/tutorial.html | 6 +++--- 37 files changed, 96 insertions(+), 96 deletions(-) diff --git a/docs/amaranth/latest/.buildinfo b/docs/amaranth/latest/.buildinfo index 2bf2b387..3511e503 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: b8cd100975f691a260c07bc2597d6c63 +config: fa43762694d765608ca733f33fba5739 tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/docs/amaranth/latest/.doctrees/environment.pickle b/docs/amaranth/latest/.doctrees/environment.pickle index 5437a9d3dda7ed366b1d3186d5008ac00841f6e1..cc88c689d4278d0d98e2e818982f4acf81e5e218 100644 GIT binary patch delta 27408 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 AIRF3v delta 27400 zcma)lcVLaz`?&Y+k>rl7o7{|hb8qf=5i270CRS`>CP9!ZgqWcvC_35VKkRc&e< z)LyN-Dm@N@e?HB`5do zTd7J(p*k-sCo6MkR!O10VnSj5OEp@b77&9@rv-$m3zfZdM`Yy{&vaQ+)V=#>4(gXRw4_isbXcF9 z>|Pam=k+cr3>uu1IjnDP-oOg|az|zlDk;*ed`noL%wd@uSG)D{ zab@IX%1l*PcBp#TjVfON#n5zyy^|5%`9%yfQQna?3{z9g`HP0?X&KM1rI?XoOU4FL zEQn$`TNx&!*aU2#Jk2029UDQ}-iWQs+rI>O1kb8iAe7lS zwc;PqNMkgZHcm`EpkPp1`yYZBWbO5toIz`|9tsRv)vvmlK`-*_aE(S|ok~W_pSY9D zHU0d12L15GcbtT$e9NJnsi|Dy=*<1x$l{VWoVMz#a%yJokEIoO0G?&lIW2GXEUpo{ z;Uu^B;)lH)`f1ZK4t={tqK(+Pfzy(=chE4)3-|rWX$ud;aC^soj+Qa*>m#pK3{swX z#A)*LEy_~b=5*mA)5T3?g2)2IpDBggOcIaM2+e&&)Qr#N3D>yn{$WB4m;Gy`z+=M) z@`Wts9@iKvT;Q_y@j@DxojOqvSzhqLDT0xMccu#mx$KUaLIAgLxmfs_tNnn4%Uoc= zJmC)x&Ymx%aoKl^g`=GM%Ti%2SDUv?cp%9x7dCUS+X~@l4koS=R&d$JYXvjQ5;koX zUU4vThfv4`@NR+k2K@P6fp-U7XTQKZ1b%Tq;5`DbJR}rwwMIt-D>pXylyI0kZhl5+ z%R^s%!5{jROa8VP{EN_lXJ`L)!Omr0{3d8wlVig}A(&IEJP`~WZ2w%)a4_eU5XZsA zZ-s0QMhLP3Zg-W)4DRiOP3GZLwNti{gGb%6o4i6h zy|Q}TLQsM%k=M9=qAY`ZJ5XKrmdl>5DeJ>6G^r~az`=bDWKItL-B|W32Y+uS7~J}~gm)_!W^wlY36u)4kMJoomfgUrDrvv-k6t+}haES3lPxR)%J_w|@8 z*}q(^TtAtDQ|o8T#_Cz3P7RZ#1TfG$K~|RweQ3vR`@S?{1PweRA&>e;dEvCcDBd-1$*fg?kfs%Pw(h@LpK} zr&c^5tH!}mKlvLg?XYaAjwMQWPF9@@bhs#Mz`^Ce$Z|R8z9zfC!Ju2Rzqkw2@3JH| zN#e8zvLs%M#ed4ma`4JCnZUtEf6H9lg7b~6BL}Cxll{nyZSExB!TX^@B_G21%e3;} zxU+eBc_&8QVvu*``~hb9bPj66~!Y(>GFUGjxoptmUR%Y*qPL7vB{Ju1t! zJm(`5d@VRp0$llK{Hde zD!gX4{O4Mz&DdBIo_t1L(optJhB9Z%t+-m4Vvh_k{EtO3UMZMR+m(i<==T^!7+SC> zC=jJBcSUW9Rcw+8CcN3M_(vhAsR(}QQgm_4)N6sNsaObDHurzQ5Xz;sYaha2{7R$)09)S46Hd@DQm&N)EmmmQ4IX@t#YHl zz>e>fZ}kl9rBj8-82CkiDxF*SJ5=?a+f~P?wsN&ov8s43tBO;>dPN=Ia;V;!8Td3w z1;dU~uO_S3a&SQnRYz`D*2pjLxUpYgO;c4o_x4+=>MeKiq^&Ai!HmUpQsr~-`>raD zic$Aws9@El-cT=9O)l_TUsVdXP%B&2nSpnAc!dy_Q7}+GQTQ=WcXi1J>~w~Dj)aBaPqWn1B`g@n`qZ;NV21{&lX!{)hpQV4#Ne0f z)zNs!2=#cGA2a5wkNPn*c#K+uEct2^s`snXhz2WFI$Zt}wag0g7{dMXgZ+#1)fx>U z-~2|slxM8?d-Y15-PD!pv3{Ru-Ab^#Wj)wUPt+K3$ZGW)o_gClbuN*^5L?-bEJ4R_ zs82c=xJIE7crAA8G?76hZjv_q*rNHU>P69-pFi*hmeXuk6G>8EbgYU-gHsbV@BJj4 zQ%loSDGA^+^)=5bGj|t;Y1U{MSn{dnS03Yp@tT{w^@mQ?T;kO3(>2?|nXGG>#>)Fd zyA2xHDbQ|Ld81|@2bG&OQg1!GMbn;SIVnrYGF@6WtIK4J^17_bhLIqZ=t3W zwW~Q*F-O~mH$c|c+H50JyZ(b#&8dIy(%vY?sDC`r{^Vugo={y9k4$aR{mQ*PkI
p2zUEo9;XpxYbiPgtt(i{<@!e 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 a = Signal(TransparentEnum) - >>> type(a) - + >>> type(a) is Signal + True It is also possible to define a custom view class for a given enum: diff --git a/docs/amaranth/latest/_static/documentation_options.js b/docs/amaranth/latest/_static/documentation_options.js index 0437fd91..cb0a46e7 100644 --- a/docs/amaranth/latest/_static/documentation_options.js +++ b/docs/amaranth/latest/_static/documentation_options.js @@ -1,6 +1,6 @@ var DOCUMENTATION_OPTIONS = { URL_ROOT: document.getElementById("documentation_options").getAttribute('data-url_root'), - VERSION: '0.4.1.dev51', + VERSION: '0.4.1.dev53', LANGUAGE: 'en', COLLAPSE_INDEX: false, BUILDER: 'html', diff --git a/docs/amaranth/latest/changes.html b/docs/amaranth/latest/changes.html index 49fd45ca..2dbd4dc1 100644 --- a/docs/amaranth/latest/changes.html +++ b/docs/amaranth/latest/changes.html @@ -4,7 +4,7 @@ - Changelog — Amaranth language & toolchain 0.4.1.dev51 documentation + Changelog — Amaranth language & toolchain 0.4.1.dev53 documentation @@ -15,7 +15,7 @@ - + @@ -39,7 +39,7 @@

- 0.4.1.dev51+ge88ff13 + 0.4.1.dev53+g5dd1223
diff --git a/docs/amaranth/latest/contrib.html b/docs/amaranth/latest/contrib.html index 60c6dfff..75985e7a 100644 --- a/docs/amaranth/latest/contrib.html +++ b/docs/amaranth/latest/contrib.html @@ -4,7 +4,7 @@ - Contributing — Amaranth language & toolchain 0.4.1.dev51 documentation + Contributing — Amaranth language & toolchain 0.4.1.dev53 documentation @@ -15,7 +15,7 @@ - + @@ -38,7 +38,7 @@
- 0.4.1.dev51+ge88ff13 + 0.4.1.dev53+g5dd1223
diff --git a/docs/amaranth/latest/cover.html b/docs/amaranth/latest/cover.html index aeb590f8..71b1eda9 100644 --- a/docs/amaranth/latest/cover.html +++ b/docs/amaranth/latest/cover.html @@ -4,7 +4,7 @@ - Amaranth project documentation — Amaranth language & toolchain 0.4.1.dev51 documentation + Amaranth project documentation — Amaranth language & toolchain 0.4.1.dev53 documentation @@ -15,7 +15,7 @@ - + @@ -38,7 +38,7 @@
- 0.4.1.dev51+ge88ff13 + 0.4.1.dev53+g5dd1223
diff --git a/docs/amaranth/latest/genindex.html b/docs/amaranth/latest/genindex.html index 5ce67241..732df1d9 100644 --- a/docs/amaranth/latest/genindex.html +++ b/docs/amaranth/latest/genindex.html @@ -3,7 +3,7 @@ - Index — Amaranth language & toolchain 0.4.1.dev51 documentation + Index — Amaranth language & toolchain 0.4.1.dev53 documentation @@ -14,7 +14,7 @@ - + @@ -36,7 +36,7 @@
- 0.4.1.dev51+ge88ff13 + 0.4.1.dev53+g5dd1223
diff --git a/docs/amaranth/latest/index.html b/docs/amaranth/latest/index.html index 796850c6..d5ef2ded 100644 --- a/docs/amaranth/latest/index.html +++ b/docs/amaranth/latest/index.html @@ -4,7 +4,7 @@ - Language & toolchain — Amaranth language & toolchain 0.4.1.dev51 documentation + Language & toolchain — Amaranth language & toolchain 0.4.1.dev53 documentation @@ -15,7 +15,7 @@ - + @@ -39,7 +39,7 @@
- 0.4.1.dev51+ge88ff13 + 0.4.1.dev53+g5dd1223
diff --git a/docs/amaranth/latest/install.html b/docs/amaranth/latest/install.html index 3f452bab..e7a3b5b2 100644 --- a/docs/amaranth/latest/install.html +++ b/docs/amaranth/latest/install.html @@ -4,7 +4,7 @@ - Installation — Amaranth language & toolchain 0.4.1.dev51 documentation + Installation — Amaranth language & toolchain 0.4.1.dev53 documentation @@ -15,7 +15,7 @@ - + @@ -39,7 +39,7 @@
- 0.4.1.dev51+ge88ff13 + 0.4.1.dev53+g5dd1223
diff --git a/docs/amaranth/latest/intro.html b/docs/amaranth/latest/intro.html index cf0ea3ae..09d6b710 100644 --- a/docs/amaranth/latest/intro.html +++ b/docs/amaranth/latest/intro.html @@ -4,7 +4,7 @@ - Introduction — Amaranth language & toolchain 0.4.1.dev51 documentation + Introduction — Amaranth language & toolchain 0.4.1.dev53 documentation @@ -15,7 +15,7 @@ - + @@ -39,7 +39,7 @@
- 0.4.1.dev51+ge88ff13 + 0.4.1.dev53+g5dd1223
diff --git a/docs/amaranth/latest/lang.html b/docs/amaranth/latest/lang.html index 1f709b51..6384b45a 100644 --- a/docs/amaranth/latest/lang.html +++ b/docs/amaranth/latest/lang.html @@ -4,7 +4,7 @@ - Language guide — Amaranth language & toolchain 0.4.1.dev51 documentation + Language guide — Amaranth language & toolchain 0.4.1.dev53 documentation @@ -15,7 +15,7 @@ - + @@ -39,7 +39,7 @@
- 0.4.1.dev51+ge88ff13 + 0.4.1.dev53+g5dd1223
diff --git a/docs/amaranth/latest/objects.inv b/docs/amaranth/latest/objects.inv index 38d6e5f77af0e2a09c955b763b8ca2be922fd419..5843024fda5f4c31b06f6b6b6bc23f70da61e3ab 100644 GIT binary patch delta 20 bcmdlhyH|EXG^eq4x@k&^p^?$Xlt?}RNc0AL delta 20 bcmdlhyH|EXG^e3 - Platform integration — Amaranth language & toolchain 0.4.1.dev51 documentation + Platform integration — Amaranth language & toolchain 0.4.1.dev53 documentation @@ -15,7 +15,7 @@ - + @@ -39,7 +39,7 @@
- 0.4.1.dev51+ge88ff13 + 0.4.1.dev53+g5dd1223
diff --git a/docs/amaranth/latest/platform/gowin.html b/docs/amaranth/latest/platform/gowin.html index 78c1ed13..c804edf4 100644 --- a/docs/amaranth/latest/platform/gowin.html +++ b/docs/amaranth/latest/platform/gowin.html @@ -4,7 +4,7 @@ - Gowin — Amaranth language & toolchain 0.4.1.dev51 documentation + Gowin — Amaranth language & toolchain 0.4.1.dev53 documentation @@ -15,7 +15,7 @@ - + @@ -39,7 +39,7 @@
- 0.4.1.dev51+ge88ff13 + 0.4.1.dev53+g5dd1223
diff --git a/docs/amaranth/latest/platform/intel.html b/docs/amaranth/latest/platform/intel.html index 819de50f..ab9d51ef 100644 --- a/docs/amaranth/latest/platform/intel.html +++ b/docs/amaranth/latest/platform/intel.html @@ -4,7 +4,7 @@ - Intel — Amaranth language & toolchain 0.4.1.dev51 documentation + Intel — Amaranth language & toolchain 0.4.1.dev53 documentation @@ -15,7 +15,7 @@ - + @@ -39,7 +39,7 @@
- 0.4.1.dev51+ge88ff13 + 0.4.1.dev53+g5dd1223
diff --git a/docs/amaranth/latest/platform/lattice-ecp5.html b/docs/amaranth/latest/platform/lattice-ecp5.html index c903f0a0..84e2f930 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.4.1.dev51 documentation + Lattice ECP5 — Amaranth language & toolchain 0.4.1.dev53 documentation @@ -15,7 +15,7 @@ - + @@ -39,7 +39,7 @@
- 0.4.1.dev51+ge88ff13 + 0.4.1.dev53+g5dd1223
diff --git a/docs/amaranth/latest/platform/lattice-ice40.html b/docs/amaranth/latest/platform/lattice-ice40.html index d8d3ba6f..b4cb8597 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.4.1.dev51 documentation + Lattice iCE40 — Amaranth language & toolchain 0.4.1.dev53 documentation @@ -15,7 +15,7 @@ - + @@ -39,7 +39,7 @@
- 0.4.1.dev51+ge88ff13 + 0.4.1.dev53+g5dd1223
diff --git a/docs/amaranth/latest/platform/lattice-machxo-2-3l.html b/docs/amaranth/latest/platform/lattice-machxo-2-3l.html index 847bb48f..47a737d1 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.4.1.dev51 documentation + Lattice MachXO2 and MachXO3L — Amaranth language & toolchain 0.4.1.dev53 documentation @@ -15,7 +15,7 @@ - + @@ -39,7 +39,7 @@
- 0.4.1.dev51+ge88ff13 + 0.4.1.dev53+g5dd1223
diff --git a/docs/amaranth/latest/platform/quicklogic.html b/docs/amaranth/latest/platform/quicklogic.html index b71da537..fe472378 100644 --- a/docs/amaranth/latest/platform/quicklogic.html +++ b/docs/amaranth/latest/platform/quicklogic.html @@ -4,7 +4,7 @@ - Quicklogic — Amaranth language & toolchain 0.4.1.dev51 documentation + Quicklogic — Amaranth language & toolchain 0.4.1.dev53 documentation @@ -15,7 +15,7 @@ - + @@ -39,7 +39,7 @@
- 0.4.1.dev51+ge88ff13 + 0.4.1.dev53+g5dd1223
diff --git a/docs/amaranth/latest/platform/xilinx.html b/docs/amaranth/latest/platform/xilinx.html index ce57f4fc..6788ab67 100644 --- a/docs/amaranth/latest/platform/xilinx.html +++ b/docs/amaranth/latest/platform/xilinx.html @@ -4,7 +4,7 @@ - Xilinx — Amaranth language & toolchain 0.4.1.dev51 documentation + Xilinx — Amaranth language & toolchain 0.4.1.dev53 documentation @@ -15,7 +15,7 @@ - + @@ -39,7 +39,7 @@
- 0.4.1.dev51+ge88ff13 + 0.4.1.dev53+g5dd1223
diff --git a/docs/amaranth/latest/py-modindex.html b/docs/amaranth/latest/py-modindex.html index f8ebfe75..1ae1e1bd 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.4.1.dev51 documentation + Python Module Index — Amaranth language & toolchain 0.4.1.dev53 documentation @@ -14,7 +14,7 @@ - + @@ -39,7 +39,7 @@
- 0.4.1.dev51+ge88ff13 + 0.4.1.dev53+g5dd1223
diff --git a/docs/amaranth/latest/search.html b/docs/amaranth/latest/search.html index a2e4a248..104a7c01 100644 --- a/docs/amaranth/latest/search.html +++ b/docs/amaranth/latest/search.html @@ -3,7 +3,7 @@ - Search — Amaranth language & toolchain 0.4.1.dev51 documentation + Search — Amaranth language & toolchain 0.4.1.dev53 documentation @@ -15,7 +15,7 @@ - + @@ -39,7 +39,7 @@
- 0.4.1.dev51+ge88ff13 + 0.4.1.dev53+g5dd1223
diff --git a/docs/amaranth/latest/searchindex.js b/docs/amaranth/latest/searchindex.js index 59ca01b0..50bfe447 100644 --- a/docs/amaranth/latest/searchindex.js +++ b/docs/amaranth/latest/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["changes", "contrib", "cover", "index", "install", "intro", "lang", "platform", "platform/gowin", "platform/intel", "platform/lattice-ecp5", "platform/lattice-ice40", "platform/lattice-machxo-2-3l", "platform/quicklogic", "platform/xilinx", "start", "stdlib", "stdlib/cdc", "stdlib/coding", "stdlib/crc", "stdlib/crc/catalog", "stdlib/data", "stdlib/enum", "stdlib/fifo", "stdlib/wiring", "tutorial"], "filenames": ["changes.rst", "contrib.rst", "cover.rst", "index.rst", "install.rst", "intro.rst", "lang.rst", "platform.rst", "platform/gowin.rst", "platform/intel.rst", "platform/lattice-ecp5.rst", "platform/lattice-ice40.rst", "platform/lattice-machxo-2-3l.rst", "platform/quicklogic.rst", "platform/xilinx.rst", "start.rst", "stdlib.rst", "stdlib/cdc.rst", "stdlib/coding.rst", "stdlib/crc.rst", "stdlib/crc/catalog.rst", "stdlib/data.rst", "stdlib/enum.rst", "stdlib/fifo.rst", "stdlib/wiring.rst", "tutorial.rst"], "titles": ["Changelog", "Contributing", "Amaranth project documentation", "Language & toolchain", "Installation", "Introduction", "Language guide", "Platform integration", "Gowin", "Intel", "Lattice ECP5", "Lattice iCE40", "Lattice MachXO2 and MachXO3L", "Quicklogic", "Xilinx", "Getting started", "Standard library", "Clock domain crossing", "Code conversion", "Cyclic redundancy checks", "Predefined CRC Algorithms", "Data structures", "Enumerations", "First-in first-out queues", "Interfaces and connections", "Tutorial"], "terms": {"thi": [0, 1, 3, 5, 6, 7, 11, 15, 16, 17, 19, 20, 21, 22, 23, 24], "describ": [0, 1, 15, 21, 24], "public": [0, 1, 24], "interfac": [0, 3, 5, 6, 15, 16, 21, 23], "amaranth": [0, 1, 3, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25], "It": [0, 1, 5, 6, 15, 19, 21, 22, 24], "doe": [0, 4, 5, 6, 17, 21, 23, 24], "includ": [0, 1, 4, 5, 6, 15, 16, 19, 22, 24], "most": [0, 4, 5, 6, 15, 17, 19, 21, 22, 24], "bug": [0, 1, 4, 5, 6], "fix": [0, 3, 4, 6, 15, 19, 24], "i": [0, 1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25], "avail": [0, 4, 6, 9, 10, 11, 12, 13, 14, 15, 19, 23, 24], "onlin": 0, "The": [0, 1, 3, 4, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25], "migen": 0, "compat": [0, 4], "layer": 0, "ha": [0, 1, 5, 6, 15, 19, 21, 22, 23, 24], "been": [0, 4, 16, 19, 23], "remov": [0, 1, 6, 19, 24], "appli": [0, 6, 19, 21, 22], "follow": [0, 1, 4, 5, 6, 10, 12, 15, 17, 19, 21, 24, 25], "code": [0, 1, 3, 4, 5, 6, 15, 16, 21, 24], "written": [0, 5, 6, 15, 23, 24, 25], "against": [0, 6], "replac": [0, 22, 24], "us": [0, 1, 4, 5, 6, 9, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25], "m": [0, 6, 15, 19, 20, 21, 24], "case": [0, 15, 19, 21, 23, 24], "pattern": [0, 6], "default": [0, 6, 14, 17, 19, 20, 24], "valu": [0, 3, 15, 17, 19, 21, 22, 24], "match": [0, 5, 24], "const": [0, 6, 21, 22, 24], "updat": [0, 1, 4, 6, 15, 19, 24], "util": [0, 16, 19], "log2_int": 0, "need_pow2": 0, "fals": [0, 6, 17, 19, 20, 23, 24], "ceil_log2": 0, "true": [0, 6, 15, 17, 19, 20, 24], "exact_log2": 0, "17": [0, 1, 20, 22], "39": [0, 15], "semant": [0, 5, 6, 24], "argument": [0, 6, 22, 24], "ad": [0, 4, 5, 6, 15, 21, 24], "ast": [0, 22], "slice": [0, 6, 21], "object": [0, 6, 9, 19, 21, 24], "have": [0, 1, 4, 6, 16, 21, 24], "made": [0, 4, 6, 24], "castabl": [0, 6, 21, 22, 24], "never": [0, 6, 21, 22, 24], "activ": [0, 5], "instead": [0, 6, 21, 24], "alwai": [0, 5, 6, 15, 17, 19, 24], "signal": [0, 3, 5, 15, 17, 18, 19, 21, 22, 23, 24], "rang": [0, 15, 18, 21, 23, 24], "stop": [0, 6], "reset": [0, 5, 15, 17, 19, 21, 23, 24], "warn": 0, "hard": [0, 1, 5, 21], "error": [0, 1, 5, 6, 9, 10, 11, 19, 21, 24], "trigger": 0, "ani": [0, 1, 4, 6, 15, 17, 18, 19, 21, 22, 23, 24], "out": [0, 3, 4, 5, 15, 16, 17, 18, 19, 24], "now": [0, 24], "valid": [0, 17, 19, 21, 23, 24], "without": [0, 1, 5, 6, 19, 21, 24], "deprec": 0, "normal": [0, 24], "sampl": [0, 6, 24], "stabl": [0, 6], "rose": 0, "fell": 0, "lib": [0, 6, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24], "schedul": 0, "19": 0, "fifo": [0, 5, 16, 23], "fifointerfac": [0, 16, 23], "fwft": 0, "20": 0, "syncfifo": [0, 16, 23], "buildplan": 0, "execute_local_dock": 0, "extract": [0, 24], "build": [0, 3, 4, 6, 8, 9, 10, 11, 12, 14, 15, 17, 18, 23, 24], "sh": 0, "begin": [0, 6, 15, 21, 24], "bin": [0, 10, 11, 12, 14], "run_script": 0, "execute_loc": 0, "vendor": [0, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15], "intel": [0, 3, 7], "lattice_ecp5": 0, "lattice_ice40": 0, "lattice_machxo2_3l": 0, "quicklog": [0, 3, 7], "xilinx": [0, 3, 7], "18": 0, "support": [0, 1, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 17, 21, 23], "new": [0, 3, 4, 5, 6, 19, 21, 23, 24], "improv": [0, 1, 21, 23, 24], "wai": [0, 1, 6, 21, 22, 24], "defin": [0, 5, 6, 15, 17, 19, 22, 24], "data": [0, 3, 16, 17, 19, 23, 24], "structur": [0, 1, 3, 15, 16, 24], "compon": [0, 2, 5, 6, 15, 16, 21], "wire": [0, 6, 15, 16, 24], "record": [0, 1, 15], "In": [0, 6, 15, 21, 22, 23, 24], "departur": 0, "usual": [0, 1, 5, 6, 17, 21, 24], "polici": 0, "give": [0, 6, 21], "design": [0, 1, 4, 5, 6, 14, 15, 16, 17, 19, 21, 24, 25], "addit": [0, 1, 4, 5, 6, 21, 22, 23, 24], "time": [0, 1, 4, 5, 6, 11, 15, 17, 21, 23, 24], "6": [0, 6, 15, 20, 21], "one": [0, 1, 6, 15, 16, 17, 18, 19, 21, 23, 24, 25], "later": [0, 1, 6], "than": [0, 4, 5, 6, 17, 21, 22, 24], "enumer": [0, 3, 16, 21, 24], "extend": [0, 5, 6, 22, 24], "A": [0, 1, 3, 4, 5, 6, 17, 19, 21, 22, 24, 25], "shape": [0, 3, 21, 22, 24], "member": [0, 21, 22, 24], "can": [0, 1, 4, 5, 6, 15, 19, 21, 22, 23, 24], "provid": [0, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24], "an": [0, 1, 4, 5, 6, 15, 17, 19, 20, 21, 22, 23, 24], "class": [0, 1, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 23, 24], "sever": [0, 1, 6, 24], "extens": [0, 15], "point": [0, 11, 21], "base": [0, 5, 6, 8, 9, 10, 11, 12, 13, 14, 16, 19, 21, 24], "outsid": [0, 6, 24], "core": [0, 5, 9, 24], "particular": [0, 5, 6, 21, 24], "mai": [0, 1, 4, 6, 17, 19, 21, 22, 24], "return": [0, 6, 15, 19, 21, 22, 24], "wrap": [0, 21, 22, 24], "anoth": [0, 6, 21, 22, 24], "call": [0, 6, 19, 20, 21, 22, 24], "protocol": [0, 22], "15": [0, 15, 20], "issu": [0, 1, 5, 6], "infer": [0, 5, 6, 21], "resolv": [0, 24], "notabl": [0, 4], "b": [0, 6, 19, 22, 24], "where": [0, 1, 6, 17, 19, 21, 24], "both": [0, 1, 5, 6, 19, 21, 24], "ar": [0, 1, 5, 6, 8, 9, 10, 11, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24], "unsign": [0, 6, 21, 22, 24], "sign": [0, 1, 6, 21], "python": [0, 1, 4, 5, 6, 11, 15, 21, 22, 24], "7": [0, 4, 5, 6, 20, 21], "11": [0, 20, 21], "12": [0, 6, 20], "featur": [0, 3, 17, 24], "nmigen": [0, 25], "namespac": [0, 6], "annot": [0, 21, 24], "recogn": 0, "nmigen_": 0, "envron": 0, "variabl": [0, 6, 8, 9, 10, 11, 12, 13, 14, 18, 19, 21, 23, 24], "remain": [0, 23, 24], "had": [0, 21, 24], "sinc": [0, 4, 6, 15, 19, 21, 24], "shell": 0, "environ": [0, 5, 8, 9, 10, 11, 12, 13, 14], "amaranth_": 0, "amaranth_env_": 0, "all": [0, 1, 5, 6, 9, 15, 16, 19, 20, 21, 22, 24], "uppercas": 0, "name": [0, 5, 8, 9, 10, 11, 12, 14, 17, 21, 24], "nmigen_env_": 0, "mix": [0, 6], "import": [0, 1, 6, 15, 19, 21, 22, 24], "form": [0, 6, 19, 24], "some_vendor": 0, "somevendorplatform": 0, "reduc": [0, 5, 6, 17, 21, 24], "futur": [0, 5, 6, 24], "churn": 0, "repl": 0, "count": [0, 6, 15, 24], "replic": [0, 6], "appropri": [0, 24], "depend": [0, 1, 4, 5, 6, 21, 23, 24], "If": [0, 1, 4, 15, 17, 18, 19, 21, 22, 23, 24], "wa": [0, 19, 21, 24], "being": [0, 1, 6, 21, 23, 24, 25], "storag": 0, "access": [0, 6, 20, 23, 24], "bit": [0, 4, 10, 12, 14, 15, 18, 19, 21, 22, 23], "level": [0, 5, 6, 15, 21, 23, 24], "represent": [0, 6, 24], "connect": [0, 3, 15, 16, 17], "togeth": [0, 1, 6, 24], "manual": [0, 1, 3, 4, 19, 21, 24], "instanti": [0, 5, 6, 15, 17, 21], "regist": [0, 5, 6, 19, 23, 24], "e": [0, 1, 6, 17, 23, 24], "g": [0, 6, 14, 17, 24], "past_x": 0, "like": [0, 1, 4, 5, 6, 17, 21, 22, 24], "x": [0, 6, 19, 24], "d": [0, 6, 15, 19, 21, 24], "sync": [0, 6, 15, 21, 24], "eq": [0, 6, 15, 21, 22, 24], "nativ": [0, 5], "syntax": [0, 6, 15, 21, 24], "ensur": [0, 6, 22, 24], "pin": [0, 5], "instanc": [0, 3, 10, 12, 19, 21, 22, 24], "request": [0, 1, 6, 15, 18, 24], "cast": [0, 3, 21, 22, 24], "directli": [0, 5, 6, 17, 19, 21, 23, 24], "its": [0, 1, 6, 15, 17, 19, 21, 22, 24], "field": [0, 21], "led": [0, 3], "cat": [0, 6, 22], "n": [0, 6, 17, 18, 21], "o": [0, 2, 5, 6, 14, 17, 18], "note": [0, 6, 17, 19, 21, 22], "roundrobin": 0, "inlin": 0, "copi": [0, 1, 24], "convert": [0, 5, 6, 21, 24], "those": [0, 6, 24], "while": [0, 1, 5, 6, 19, 21, 24], "list": [0, 1, 6, 19, 24], "below": [0, 6, 15, 17, 24], "work": [0, 3, 4, 5, 6, 10, 12, 15, 21, 24], "thei": [0, 1, 6, 15, 19, 21, 24], "next": [0, 4, 6, 15, 23, 24], "aggreg": [0, 6, 21], "definit": [0, 3, 6, 15, 24], "constant": [0, 3, 21, 22], "express": [0, 6, 21, 22, 24], "crc": [0, 16, 19], "gener": [0, 5, 6, 15, 19, 24], "8": [0, 4, 6, 19, 20, 21, 24], "9": [0, 6], "initi": [0, 17, 19, 21, 24], "10": [0, 6, 20, 21, 24], "move": 0, "reorgan": 0, "lift": [0, 24], "non": [0, 5, 6, 17, 24], "22": 0, "valuecast": [0, 21], "28": 0, "allow": [0, 5, 6, 17, 22, 24], "overrid": [0, 9, 10, 11, 12, 13, 14, 17, 21, 24], "oper": [0, 3, 5, 21, 22, 24], "31": [0, 6, 20, 21], "type": [0, 6, 19, 21, 22, 23, 24], "safeti": [0, 22], "34": 0, "renam": 0, "pureinterfac": [0, 24], "35": [0, 4], "add": [0, 1, 5, 6, 9, 10, 11, 14, 19, 21, 22, 24], "shapelik": 0, "valuelik": 0, "37": 0, "make": [0, 1, 4, 5, 6, 16, 22, 23], "signatur": [0, 16], "immut": [0, 6, 21, 24], "38": [0, 15], "shapecast": [0, 21, 22], "similar": [0, 1, 6, 15, 19, 21, 24], "as_sign": [0, 6], "as_unsign": [0, 6], "left": [0, 6, 19], "hand": 0, "side": [0, 6], "assign": [0, 15, 21, 22, 24], "differ": [0, 1, 5, 6, 16, 17, 18, 21, 23, 24], "behavior": [0, 1, 5, 6, 15, 21, 24], "accept": [0, 1, 6, 21, 22, 24], "supersed": 0, "memori": [0, 3, 5, 15, 23, 24], "transpar": [0, 6], "read": [0, 6, 21, 23, 24], "port": [0, 15, 24], "enabl": [0, 5, 6, 9, 10, 11, 15, 21, 24], "creat": [0, 1, 6, 19, 20, 22, 24], "__call__": [0, 19, 21, 22, 24], "method": [0, 1, 6, 15, 17, 19, 21, 22, 24], "recurs": [0, 21, 24], "treat": [0, 6, 19, 24], "deriv": [0, 5, 6, 15, 21, 24], "enum": [0, 6, 16, 21, 22, 24], "int": [0, 6, 15, 17, 18, 19, 21, 23, 24], "intenum": [0, 6, 22], "rather": [0, 6, 21, 24], "integ": [0, 19, 21, 22, 24], "empti": [0, 6, 23], "explicitli": [0, 6, 15, 19, 21, 22, 24], "specifi": [0, 6, 8, 9, 10, 11, 12, 13, 14, 15, 17, 19, 21, 22, 23, 24], "longer": 0, "construct": [0, 5, 6, 15, 19, 21, 22, 23, 24], "were": [0, 6], "__abs__": 0, "predat": 0, "process": [0, 1, 5, 6, 19, 21, 24], "width": [0, 18, 19, 21, 23, 24], "tupl": [0, 6, 24], "uservalu": 0, "linter": 0, "instruct": [0, 15], "file": [0, 3, 5, 6, 9, 10, 11, 12, 13, 14, 15, 21, 22, 24], "text": 0, "lf": 0, "line": [0, 15, 22, 24], "end": [0, 5, 6, 9, 10, 11, 12, 15], "window": [0, 4, 5, 10, 12], "other": [0, 1, 4, 5, 6, 15, 17, 19, 21, 22, 24], "debug_verilog": 0, "templatedplatform": 0, "env": 0, "run": [0, 4, 5, 8, 9, 10, 11, 12, 13, 14, 15], "add_fil": [0, 11], "reject": [0, 6], "absolut": [0, 6], "path": [0, 10, 12], "nmigen_env_diamond": 0, "amaranth_env_diamond": [0, 10, 12], "upper": 0, "sim": [0, 15], "simul": [0, 3, 4, 6, 15], "step": [0, 1, 4, 5, 6, 15], "back": [0, 15, 21, 24], "pysim": 0, "invok": [0, 6, 24], "rtlil": 0, "verilog": [0, 5, 6, 15], "explicit": [0, 5, 6, 19], "test": [0, 1, 5, 23], "icepack_opt": 0, "latticeice40platform": [0, 6, 7, 11], "osch": 0, "default_clk": 0, "clock": [0, 3, 5, 15, 16, 19, 23], "sourc": [0, 1, 4, 5, 6, 15, 21, 24], "latticemachxo2platform": [0, 7, 12], "latticemachxo3lplatform": [0, 7, 12], "xrai": [0, 14], "xilinxplatform": [0, 7, 14], "artix": 0, "ultrascal": 0, "part": [0, 1, 6, 15, 21, 24], "gowinplatform": [0, 7, 8], "lattice_machxo2": 0, "lattice_machxo_2_3l": 0, "latticemachxo2or3lplatform": [0, 7, 12], "svf": [0, 10, 12], "program": [0, 1, 5, 6, 10, 12, 15], "vector": [0, 10, 12], "xilinx_spartan_3_6": 0, "xilinxspartan3aplatform": 0, "xilinxspartan6platform": 0, "xilinx_7seri": 0, "xilinx7seriesplatform": 0, "xilinx_ultrascal": 0, "xilinxultrascaleplatform": 0, "project": [0, 1, 5, 22], "nm": 0, "prelud": [0, 3], "am": [0, 6], "adjust": 0, "nmigen_board": 0, "amaranth_board": [0, 15], "board": [0, 3, 15], "switch": [0, 21], "hdl": [0, 4, 5, 6, 15, 22, 25], "inherit": [0, 6, 21, 23, 24], "miss": [0, 1], "fhdltestcas": 0, "assertform": 0, "necessari": [0, 1, 5, 6, 11, 15, 16, 21, 24], "ab": [0, 6], "rotate_left": [0, 6], "rotate_right": [0, 6], "shift_left": [0, 6], "shift_right": [0, 6], "divis": [0, 6], "modulo": [0, 6], "neg": [0, 6, 17], "divisor": [0, 15], "cdc": [0, 5, 6, 16, 17], "pulsesynchron": [0, 16, 17], "asyncffsynchron": [0, 16, 17], "asyncfifo": [0, 16, 23], "when": [0, 1, 5, 6, 15, 17, 19, 21, 22, 23, 24], "write": [0, 6, 7, 15, 23, 24], "domain": [0, 3, 5, 15, 16, 23, 24], "r_rst": [0, 23], "assert": [0, 6, 15, 17, 18, 19, 23, 24], "r_level": [0, 23], "w_level": [0, 23], "backend": [0, 6, 15], "larger": [0, 6, 19], "65536": 0, "emit": [0, 6, 24], "yosi": [0, 1, 4, 5, 8, 9, 10, 11, 14], "attribut": [0, 5, 6, 15, 21, 24], "instal": [0, 1, 3, 11, 15], "fall": [0, 16], "pypi": [0, 4, 5], "packag": [0, 1, 4, 15], "builtin": [0, 4], "cxxrtl": 0, "multipl": [0, 5, 6, 18, 24], "fragment": [0, 6], "add_process": 0, "advanc": [0, 5, 15, 24], "execute_remote_ssh": 0, "vcd": [0, 15], "output": [0, 1, 6, 11, 15, 17, 18, 19, 23, 24], "top": [0, 6, 15], "bench": [0, 5, 15], "modul": [0, 3, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24], "contain": [0, 1, 5, 6, 15, 19, 20, 21, 24], "testbench": 0, "onli": [0, 4, 5, 6, 15, 17, 18, 19, 21, 22, 23, 24], "sb_lfosc": 0, "sb_hfosc": 0, "binari": [0, 4, 6, 8, 9, 10, 11, 12, 14, 18], "bitstream": [0, 8, 9, 10, 11, 12, 14, 15], "grade": [0, 25], "famili": [0, 4, 5, 21], "temperatur": 0, "speed": [0, 5], "symbiflow": [0, 13, 14], "separ": [0, 16], "flash": [0, 5, 12, 15], "sram": [0, 9, 12], "_flash": [0, 12], "_sram": [0, 12], "quicklogicplatform": [0, 7, 13], "cyclonev_oscil": 0, "intelplatform": [0, 7, 9], "add_set": [0, 9], "add_constraint": [0, 9, 10, 11, 12, 13, 14], "mistral": [0, 9], "synth_design_opt": [0, 14], "No": [0, 21, 24], "publish": 0, "under": [0, 6, 21, 24], "collect": [1, 5, 6, 24], "mani": [1, 5, 6, 15, 19, 24], "peopl": 1, "collabor": 1, "over": [1, 19, 21], "year": 1, "would": [1, 6, 19, 21, 24], "same": [1, 5, 6, 15, 19, 21, 22, 23, 24], "everyon": 1, "": [1, 4, 5, 6, 15, 17, 19, 21, 23, 24, 25], "uniqu": [1, 6], "perspect": 1, "we": [1, 6], "re": [1, 19, 22], "glad": 1, "you": [1, 4, 6, 17, 19], "consid": [1, 5, 6, 15, 17, 21, 24, 25], "join": 1, "u": 1, "page": 1, "guid": [1, 3, 15, 19, 24], "through": [1, 5, 6, 21, 24], "some": [1, 5, 6, 15, 24], "best": 1, "tool": [1, 5, 6, 8, 9, 10, 11, 12, 13, 14, 24], "hear": 1, "about": [1, 6, 24], "encount": 1, "crucial": [1, 6], "do": [1, 6, 15, 21, 24], "care": [1, 6], "lot": 1, "correct": [1, 6, 16, 24], "result": [1, 6, 15, 21, 22, 24], "experi": [1, 6], "just": [1, 6, 21, 22], "much": 1, "meant": [1, 24], "comfort": 1, "fewer": [1, 6], "sharp": 1, "edg": [1, 6, 15, 17], "matter": [1, 21], "how": [1, 4, 6, 19, 21, 24], "technolog": 1, "appeal": 1, "might": 1, "more": [1, 5, 6, 15, 21, 24], "guardrail": 1, "pleas": 1, "To": [1, 4, 5, 6, 15, 19, 20, 21, 24], "go": [1, 5, 24], "beyond": [1, 6, 24], "see": [1, 6, 15, 17, 24], "messag": [1, 6, 9, 10, 11, 15, 24], "understand": [1, 6, 24], "mislead": 1, "even": [1, 6, 17, 24], "especi": [1, 5, 6], "think": 1, "did": [1, 4], "someth": 1, "wrong": [1, 6, 24], "inform": [1, 9, 10, 11, 15, 21, 24], "exact": [1, 21], "version": [1, 3, 4, 6], "which": [1, 5, 6, 11, 15, 17, 19, 20, 21, 22, 23, 24], "find": 1, "c": [1, 6, 10, 12, 22, 24], "print": [1, 6, 24], "__version__": 1, "complet": [1, 6, 19], "self": [1, 5, 6, 15, 21, 22, 24], "minim": [1, 15], "demonstr": [1, 15, 24], "feasibl": 1, "sequenc": [1, 17, 21], "reproduc": [1, 5], "what": [1, 6, 19, 24], "expect": [1, 21, 24], "happen": [1, 6], "actual": [1, 22, 24], "possibl": [1, 5, 6, 22, 24], "verbatim": 1, "log": [1, 9, 10, 11, 12, 14], "termin": 1, "For": [1, 4, 6, 19, 20, 21, 22, 24], "usabl": [1, 5, 24], "reason": [1, 6, 24], "why": [1, 24], "There": [1, 6, 24], "person": 1, "who": 1, "should": [1, 4, 6, 15, 17, 21, 23, 24], "submit": [1, 21], "valuabl": 1, "own": [1, 6, 21], "right": [1, 6, 21], "appreci": 1, "open": [1, 5, 6, 15], "commun": [1, 5, 21, 24, 25], "tend": 1, "opportun": 1, "enjoi": 1, "pull": [1, 4], "howev": [1, 4, 6, 17, 21, 24], "unless": [1, 6, 23, 24], "ve": 1, "few": [1, 6, 15, 21, 24], "befor": [1, 4, 6, 10, 12, 14, 24], "truli": 1, "trivial": 1, "discuss": [1, 24], "maintain": [1, 5, 17], "first": [1, 3, 4, 5, 6, 15, 16, 17, 19, 21, 24], "doesn": 1, "t": [1, 6, 21], "take": [1, 5, 6, 19, 24], "sometim": [1, 5, 6, 24], "save": [1, 10, 12], "unnecessari": 1, "frustrat": 1, "languag": [1, 2, 15, 16, 24], "toolchain": [1, 2, 4, 6, 8, 9, 10, 11, 12, 13, 14, 15], "from": [1, 4, 5, 15, 16, 17, 19, 20, 21, 22, 23, 24], "kind": [1, 6, 21, 24], "everi": [1, 5, 6, 15, 17, 19, 21, 24], "unavoid": 1, "tightli": [1, 6, 24], "coupl": 1, "seemingli": 1, "obviou": 1, "appar": 1, "minor": 1, "decis": [1, 6], "dramat": 1, "consequ": [1, 5], "sure": [1, 4], "undergo": 1, "scrutini": 1, "commit": [1, 4], "impact": 1, "chanc": 1, "voic": 1, "heard": 1, "substanti": 1, "must": [1, 6, 11, 17, 21, 24], "formal": [1, 25], "comment": 1, "well": [1, 4, 5, 6, 15, 21, 24], "here": [1, 21], "typic": [1, 5], "after": [1, 4, 6, 9, 10, 11, 12, 14, 17, 19, 23, 24], "round": [1, 23], "review": 1, "achiev": [1, 5], "unanim": 1, "consensu": 1, "pdm": 1, "manag": [1, 6, 21], "develop": [1, 15, 21], "workflow": [1, 4, 5, 15], "download": [1, 4, 5, 15, 19], "latest": 1, "onc": [1, 6, 15, 17, 21, 24], "done": [1, 6, 21], "so": [1, 5, 6, 15, 17, 19, 21, 24], "dev": 1, "command": [1, 4, 5, 9, 10, 11, 12, 13, 14, 15, 21], "virtual": [1, 24], "locat": [1, 4, 15, 24], "venv": 1, "runtim": 1, "itself": [1, 6, 10, 12, 15, 19, 21, 22, 24], "edit": [1, 15], "mode": [1, 6], "mean": [1, 6, 19, 24], "immedi": [1, 4, 6, 17], "reflect": [1, 19], "pick": 1, "up": [1, 6, 15, 21, 23, 24, 25], "good": [1, 6, 10, 12], "habit": 1, "each": [1, 5, 6, 19, 21, 24], "tree": [1, 5, 6], "frontend": 1, "yices2": 1, "smt": 1, "solver": 1, "These": [1, 5, 21, 24], "distribut": [1, 4], "oss": 1, "cad": 1, "suit": 1, "reli": [1, 5, 6, 24], "verif": [1, 5, 24, 25], "skip": 1, "index": [1, 6, 21, 24], "doc": 1, "_build": 1, "html": 1, "involv": [1, 6], "small": [1, 6, 15], "iter": [1, 6, 19, 21, 24], "labor": [1, 5, 21], "rebuild": 1, "start": [1, 3, 5, 6, 19, 21, 24], "automat": [1, 6, 15, 22], "live": 1, "brows": 1, "http": [1, 4, 19], "127": [1, 6], "0": [1, 3, 4, 6, 15, 18, 19, 21, 22, 24], "1": [1, 3, 6, 15, 17, 19, 21, 22, 23, 24], "8000": 1, "browser": 1, "short": [1, 6, 24], "delai": [1, 17, 23], "keep": [1, 24], "ey": 1, "syntact": 1, "refer": [1, 6, 19, 24], "occasion": [1, 6], "builder": 1, "persist": [1, 6], "render": 1, "incorrect": 1, "outdat": 1, "content": 1, "our": 1, "style": [1, 5], "guidelin": 1, "evolv": 1, "eventu": 1, "them": [1, 6, 15, 19, 21, 24], "At": [1, 5, 6], "moment": [1, 5, 6, 15], "ask": 1, "effort": [1, 5, 15], "modifi": [1, 24], "spirit": 1, "surround": 1, "dure": [1, 5, 6, 17, 21], "doubt": 1, "mondai": 1, "00": 1, "utc": 1, "irc": 1, "channel": [1, 21], "lang": [1, 4], "libera": 1, "chat": 1, "matrix": 1, "org": 1, "bridg": 1, "appear": [1, 6, 21, 23, 24], "user": [1, 4, 6, 15, 21, 22], "contributor": 1, "newli": [1, 24], "warrant": 1, "broad": [1, 16], "attent": 1, "primari": 1, "avenu": 1, "want": [1, 19, 25], "interest": 1, "evolut": 1, "simpli": 1, "view": [1, 6, 16], "feel": 1, "free": 1, "attend": 1, "abl": [1, 6], "publicli": 1, "summari": 1, "post": 1, "relev": [1, 24], "github": [1, 4], "thread": 1, "standard": [2, 3, 6, 9, 10, 11, 15, 19, 22, 24], "system": [2, 3, 6, 15, 24], "chip": [2, 24], "toolkit": 2, "progress": [3, 6], "serious": [3, 6], "incomplet": [3, 6], "introduct": [3, 6, 15, 16], "librari": [3, 6, 17], "requir": [3, 5, 6, 8, 9, 10, 11, 12, 13, 14, 19, 21, 24], "prerequisit": 3, "get": [3, 4, 5, 6, 21], "counter": [3, 6, 24], "blink": 3, "tutori": [3, 6, 15], "arrai": [3, 21, 24], "control": [3, 5, 15, 24], "flow": [3, 5, 24], "combinatori": [3, 15, 24], "evalu": [3, 15], "synchron": [3, 5, 15, 17, 23], "elabor": [3, 15, 17, 24], "cross": [3, 5, 16], "convers": [3, 5, 16, 24], "queue": [3, 16], "cyclic": [3, 16], "redund": [3, 16, 24], "check": [3, 15, 16, 24], "platform": [3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 24], "integr": [3, 6, 15, 25], "gowin": [3, 7], "lattic": [3, 7, 15], "ecp5": [3, 7], "ice40": [3, 7, 15], "machxo2": [3, 7], "machxo3l": [3, 7], "changelog": 3, "document": [3, 5, 6, 15, 19, 24], "past": [3, 6], "releas": [3, 17], "5": [3, 6, 15, 20, 21, 22], "unreleas": 3, "4": [3, 6, 15, 20, 21, 22], "3": [3, 4, 6, 15, 20, 21, 24], "2": [3, 6, 15, 17, 22, 23, 24], "contribut": 3, "problem": [3, 6, 24], "report": [3, 5, 9, 11, 14, 24], "propos": 3, "codebas": 3, "your": [3, 4, 6, 17, 24], "chang": [3, 4, 5, 6, 21, 24], "weekli": 3, "meet": 3, "newer": 4, "cpython": 4, "faster": [4, 17], "pypy3": 4, "pip": 4, "23": [4, 21], "via": [4, 5, 6, 21, 24], "popular": 4, "softwar": [4, 19], "waveform": [4, 6, 15], "viewer": [4, 6], "gtkwave": 4, "invalu": 4, "debug": [4, 5, 6, 15], "synthes": [4, 5, 6, 10, 11, 14, 15], "place": [4, 5, 6, 14, 15, 22, 24], "rout": [4, 5, 6, 14, 15], "fpga": [4, 6, 15, 17, 23, 25], "specif": [4, 5, 6, 17, 21, 24], "x86_64": 4, "aarch64": 4, "continu": [4, 25], "either": [4, 6, 17, 18, 21, 22, 24], "store": [4, 6, 21], "full": [4, 6, 19, 24], "64": [4, 20], "win32": 4, "win64": 4, "need": [4, 5, 6, 17, 21, 23, 24], "unpack": 4, "conveni": [4, 6, 21, 24], "upgrad": 4, "maco": 4, "homebrew": 4, "Then": 4, "brew": 4, "debian": 4, "sudo": 4, "apt": 4, "python3": [4, 15], "On": [4, 10, 12, 17], "architectur": [4, 19], "pip3": 4, "arch": 4, "linux": [4, 10, 12], "pacman": 4, "repositori": [4, 5], "applic": [4, 5, 6, 15, 21, 24], "main": 4, "branch": [4, 6], "similarli": [4, 6, 24], "reliabl": [4, 5, 24], "experiment": [4, 6], "api": 4, "flux": 4, "until": [4, 6, 17, 21, 25], "With": [4, 6, 15, 19], "mind": 4, "try": [4, 6], "function": [4, 5, 6, 15, 16, 19, 21, 24], "avoid": [4, 5, 6], "last": [4, 6, 21, 22, 24], "previou": [4, 19, 21], "git": 4, "com": 4, "directori": 4, "affect": [4, 6, 24], "otherwis": [4, 6, 15, 17, 18, 21, 24], "crash": 4, "becaus": [4, 6, 21, 24], "mismatch": [4, 6], "clone": 4, "cd": [4, 6], "ff": 4, "origin": [4, 6, 24], "omit": [4, 6], "explain": [4, 6], "hardwar": [5, 6, 16, 19], "digit": [5, 6, 16], "logic": [5, 15, 23], "aim": 5, "easi": [5, 6], "learn": [5, 25], "elimin": [5, 6, 17], "common": [5, 6, 15, 16], "mistak": 5, "simplifi": [5, 6], "complex": [5, 6, 21, 24], "reusabl": [5, 6, 15], "consist": [5, 17, 24], "cover": [5, 6, 24], "restrict": [5, 21, 22, 24], "choic": 5, "exist": [5, 6, 19, 23, 24], "industri": 5, "vhdl": [5, 6], "descript": [5, 6, 19, 21, 24], "transfer": [5, 17, 24], "model": [5, 16, 19], "ordinari": [5, 6], "netlist": [5, 6, 11, 14], "circuit": [5, 6], "human": [5, 24], "readabl": [5, 6, 24], "By": [5, 6], "flexibl": [5, 21], "rich": [5, 6], "widespread": 5, "adopt": 5, "focus": 5, "singl": [5, 6, 15, 21, 22, 24], "task": [5, 6], "block": [5, 15, 17, 18, 23, 24], "finit": [5, 6], "state": [5, 17], "machin": [5, 6], "simpl": [5, 6, 15, 21, 24], "rule": [5, 21], "arithmet": 5, "close": 5, "loop": [5, 6], "condit": [5, 6, 15, 23], "organ": 5, "seamlessli": 5, "principl": [5, 24], "also": [5, 6, 15, 16, 19, 21, 22, 23, 24], "accident": 5, "misus": [5, 6], "unexpect": [5, 6], "undesir": [5, 6], "synthesi": [5, 6, 11, 14], "often": [5, 6, 21, 24], "expens": 5, "signific": [5, 6, 18, 19, 21], "safe": [5, 6, 17, 22], "third": [5, 16, 21], "parti": [5, 16], "lint": 5, "lack": [5, 6], "synthesiz": [5, 15], "prone": [5, 21, 24], "favor": 5, "diagnost": [5, 6, 15, 24], "regularli": 5, "ones": [5, 21, 24], "highlight": 5, "potenti": [5, 6, 24], "importantli": 5, "come": [5, 11], "essenti": [5, 6, 16, 24], "primit": [5, 6], "asynchron": [5, 6, 17, 23], "buffer": [5, 23], "box": [5, 15], "focu": 5, "subtl": [5, 6], "between": [5, 6, 16, 17, 18, 21, 23, 24], "special": [5, 6, 24], "treatment": 5, "devic": [5, 6, 10, 11, 12], "overridden": [5, 21, 24], "recommend": [5, 6], "high": [5, 6, 18, 21], "gear": 5, "peripher": [5, 24], "implement": [5, 6, 16, 17, 19, 21, 22, 23, 24], "least": [5, 6, 18, 19, 21, 23, 24], "amount": [5, 6, 15, 21], "migrat": 5, "option": [5, 6, 9, 10, 11, 14, 15, 17, 20, 22, 24], "limit": [5, 6, 15, 24], "Of": 5, "cours": 5, "known": [5, 6, 10, 12, 16, 19, 21], "icaru": 5, "veril": 5, "event": 5, "driven": [5, 6, 17], "although": [5, 6, 15, 24], "slower": 5, "compil": 5, "ahead": 5, "remark": 5, "perform": [5, 19, 21, 22, 24], "pure": [5, 24], "co": [5, 15], "major": [5, 24], "commerci": 5, "easili": 5, "constraint": [5, 14, 15, 17], "power": [5, 6, 17, 23], "final": [5, 6, 24], "script": [5, 8, 9, 10, 11, 12, 13, 14], "placement": 5, "analysi": 5, "custom": [5, 6, 15, 19, 22, 23], "insert": [5, 9, 10, 11, 12, 13, 14, 24], "produc": [5, 6, 15, 17, 24], "portabl": 5, "present": [5, 6, 8, 9, 10, 11, 12, 13, 14, 24], "easier": [5, 6], "remot": 5, "nix": 5, "configur": [5, 6, 15, 17, 19, 24], "suppli": [5, 6], "everyth": [5, 16, 21, 22, 24], "direct": [5, 6, 21, 24], "connector": 5, "pinout": [5, 15], "built": [5, 6, 15, 21], "probe": 5, "invoc": [5, 6, 15], "show": 5, "whether": [5, 6, 15, 19, 24], "programm": 5, "correctli": [5, 6, 15, 23, 24], "establish": 5, "convent": [5, 6], "segment": 5, "displai": 5, "spi": 5, "sdram": 5, "reus": [5, 24], "unmodifi": 5, "further": [5, 6, 17], "polar": 5, "unifi": 5, "invers": 5, "trace": 5, "low": [5, 18, 21], "invert": [5, 22], "introduc": [6, 24], "depth": [6, 23], "assum": 6, "familiar": 6, "prior": 6, "regular": 6, "root": [6, 11], "carefulli": 6, "curat": 6, "export": [6, 10, 12, 22], "nearli": 6, "dedic": 6, "practic": [6, 24], "glob": 6, "frown": 6, "upon": 6, "alia": [6, 12], "exampl": [6, 15, 19, 20, 21, 24], "two": [6, 11, 19, 21, 24], "signed": [6, 21, 24], "alias": 6, "v": [6, 15], "retriev": [6, 21, 24], "len": [6, 21], "basic": [6, 15], "term": [6, 19], "number": [6, 9, 17, 18, 21, 23, 24], "anywher": [6, 21], "repres": 6, "interpret": [6, 24], "complement": 6, "simplest": 6, "ten": 6, "minus_two": 6, "abov": [6, 15, 24], "posit": [6, 19, 21, 24], "smallest": 6, "As": [6, 15, 21], "truncat": 6, "fit": 6, "rare": [6, 21, 24], "permit": 6, "360": 6, "104": 6, "129": 6, "indirectli": 6, "implicit": [6, 19], "shorthand": 6, "r": 6, "larg": [6, 21, 23], "enough": [6, 21], "min": 6, "max": 6, "whose": [6, 16, 21, 24], "set": [6, 9, 10, 11, 12, 14, 17, 19, 23, 24, 25], "100": [6, 17], "item": [6, 19, 24], "exclus": 6, "half": 6, "element": [6, 21, 23, 24], "wide": 6, "fencepost": 6, "256": [6, 21], "syntaxwarn": 6, "equal": [6, 19, 21, 22, 24], "inclus": 6, "off": [6, 10, 12], "detect": [6, 19, 24], "bound": 6, "subclass": [6, 21, 22, 24], "multiplex": 6, "distinct": 6, "bottom": 6, "funct4": 6, "sub": [6, 22], "mul": [6, 22], "prevent": 6, "unwant": 6, "equival": [6, 21, 22, 24], "d5": 6, "d1": [6, 15, 24], "subset": [6, 21], "operand": [6, 22], "numer": 6, "d26": 6, "funct": [6, 22], "op": [6, 22], "reg": [6, 15, 22], "imm": [6, 22], "instr": [6, 22], "addi": [6, 22], "expand": 6, "vari": 6, "respect": [6, 24], "cannot": [6, 21, 23, 24], "uniniti": 6, "undefin": 6, "foo": [6, 22, 24], "bar": [6, 22], "paramet": [6, 15, 16, 17, 18, 19, 21, 23, 24], "foo2": 6, "second_foo": 6, "prepar": 6, "ambigu": 6, "zero": [6, 21, 23], "none": [6, 14, 15, 17, 18, 24], "resett": [6, 17], "reset_less": [6, 17], "resetinsert": 6, "combin": [6, 21, 24], "themselv": 6, "concret": [6, 21], "goal": [6, 24], "calcul": 6, "contrast": 6, "abstract": [6, 16, 21], "sig": [6, 15, 21, 22, 24], "rememb": 6, "higher": [6, 17], "traceback": [6, 21, 22, 24], "recent": [6, 19, 21, 22, 24], "typeerror": [6, 21, 22, 24], "attempt": 6, "boolean": 6, "therefor": [6, 19], "statement": [6, 22, 24], "execut": 6, "decid": 6, "bodi": [6, 24], "fact": 6, "long": [6, 19], "finish": [6, 15], "solv": 6, "manipul": [6, 21, 24], "OR": [6, 22], "select": 6, "regardless": 6, "too": 6, "unlimit": 6, "precis": [6, 21], "overflow": [6, 15, 24], "suffici": [6, 21, 24], "128": 6, "382": 6, "tabl": 6, "negat": [6, 22], "subtract": 6, "floor": 6, "due": [6, 24], "chain": [6, 17], "inequ": 6, "greater": 6, "effici": 6, "NOT": 6, "AND": [6, 22], "xor": [6, 19, 22], "impli": 6, "revers": [6, 19, 24], "exponenti": 6, "wider": 6, "intermedi": 6, "stress": 6, "32": [6, 15, 20, 21, 24], "4294967296": 6, "break": 6, "veri": [6, 21, 24], "sidewai": 6, "pair": [6, 24], "unari": 6, "sole": [6, 24], "odd": 6, "bool": [6, 17, 19, 24], "conceptu": 6, "unlik": 6, "clariti": [6, 15, 24], "p": 6, "q": 6, "preced": 6, "wherea": [6, 24], "parenthes": 6, "around": [6, 24], "en": [6, 15, 24], "addr": [6, 21, 24], "d0": [6, 21, 22], "stb": 6, "use_stb": 6, "msb": 6, "sd": 6, "detail": [6, 15, 17, 19, 24], "apart": 6, "act": [6, 22, 23, 24], "concaten": [6, 24], "clash": 6, "except": [6, 21, 24], "subscript": 6, "offset": [6, 21], "notat": 6, "length": [6, 21], "j": 6, "k": 6, "bit_select": 6, "w": [6, 15], "overlap": [6, 21], "word_select": 6, "word": [6, 19, 24], "talk": 6, "convention": 6, "variat": 6, "occupi": 6, "0th": 6, "expon": [6, 21], "caus": [6, 17], "confus": [6, 24], "0b1001": 6, "0b1010": 6, "0b1010_1001": 6, "val": [6, 15], "Such": [6, 24], "seem": 6, "natur": [6, 18], "alon": 6, "could": [6, 16, 17, 21, 24], "ye": 6, "deliber": 6, "examin": [6, 24], "str": [6, 17, 21, 23, 24], "mask": 6, "don": 6, "whitespac": 6, "charact": 6, "compar": [6, 21, 22, 23, 24], "succe": 6, "correspondingli": [6, 24], "asid": [6, 24], "space": [6, 23], "tab": 6, "ignor": [6, 24], "given": [6, 19, 21, 22, 24], "01": 6, "0b0110_0000": 6, "0b0100_0000": 6, "opposit": 6, "liter": 6, "reinterpret": 6, "pc": 6, "mux": 6, "sel": 6, "val1": 6, "val0": 6, "mutabl": [6, 24], "behav": [6, 22], "proxi": [6, 21, 24], "three": [6, 16], "properti": [6, 19, 21, 24], "transform": [6, 21], "pixel": [6, 21], "180": 6, "92": 6, "230": 6, "74": 6, "130": 6, "115": 6, "58": 6, "becom": [6, 19, 23], "mutat": [6, 24], "unpredict": 6, "extrem": 6, "quickli": 6, "exhaust": 6, "resourc": 6, "ram": [6, 23], "unit": 6, "hierarchi": [6, 21], "independ": 6, "associ": [6, 21, 24], "fresh": 6, "group": [6, 21], "ident": [6, 18, 19, 23, 24], "predefin": [6, 16, 19], "comb": [6, 15, 21, 24], "reserv": [6, 21], "occur": 6, "feedback": [6, 24], "hold": [6, 15], "effect": [6, 24], "0b11": 6, "d3": 6, "entir": [6, 15, 19], "upfront": 6, "def": [6, 15, 21, 22, 24], "add_toggl": 6, "num": 6, "f": [6, 8, 15, 24], "sync_": 6, "undriven": 6, "exactli": [6, 21, 22, 24], "dsl": 6, "syntaxerror": 6, "driver": 6, "conflict": [6, 24], "drive": [6, 15, 24], "alreadi": [6, 15, 24], "clearli": 6, "meaning": [6, 24], "inher": 6, "answer": [6, 24], "greatli": 6, "analyz": 6, "snippet": 6, "determin": [6, 24], "tailor": 6, "context": [6, 24], "timer": [6, 15], "superfici": 6, "imper": 6, "insid": [6, 24], "observ": 6, "satisfi": [6, 24], "uncondition": 6, "account": [6, 24], "cond1": 6, "cond2": 6, "parallel": [6, 19], "x_coord": 6, "is_bporch": 6, "364": 6, "is_act": 6, "374": 6, "is_fporch": 6, "within": [6, 24], "whole": 6, "is_even": 6, "is_odd": 6, "too_big": 6, "whichev": 6, "earlier": 6, "programmat": 6, "particularli": 6, "squar": 6, "choos": [6, 15], "enter": 6, "cycl": [6, 15, 17, 19, 23], "bu": [6, 24], "transact": 6, "bus_addr": 6, "16": [6, 15, 19, 20, 21, 24], "r_data": [6, 23, 24], "r_en": [6, 23], "latch": [6, 23], "address": [6, 21, 24], "0x1234": 6, "strobe": [6, 23], "again": 6, "section": [6, 7, 15, 21, 24], "belong": 6, "dom": 6, "current": [6, 19, 24], "captur": [6, 24], "ongo": 6, "whenev": [6, 19, 24], "correspond": [6, 15, 19, 21, 22, 24], "y": [6, 24], "typo": 6, "unreach": 6, "hazard": 6, "string": [6, 21, 24], "lead": [6, 19], "surpris": 6, "nest": [6, 24], "innermost": 6, "outer": [6, 24], "inner": [6, 24], "shorten": 6, "unstabl": 6, "ring": 6, "oscil": [6, 15], "prohibit": 6, "assumpt": [6, 24], "aren": 6, "silent": 6, "miscompil": 6, "though": [6, 24], "exceedingli": 6, "desir": 6, "technologi": 6, "lut": 6, "transit": 6, "down": 6, "increment": [6, 15], "decrement": 6, "retain": [6, 15], "clockdomain": 6, "video": 6, "cd_video": 6, "local": 6, "concis": [6, 21, 24], "add_video_domain": 6, "video_": 6, "domain_nam": 6, "clk": [6, 15], "jtag": [6, 10, 12], "clk_edg": 6, "rst": [6, 15], "still": [6, 15, 17, 24, 25], "nevertheless": [6, 24], "startup": 6, "keyword": [6, 22, 24], "subject": [6, 22], "intention": 6, "undocu": 6, "enableinsert": 6, "frequenc": [6, 15, 17], "phase": 6, "clocksign": 6, "resetsign": 6, "bus_clk": 6, "bus_rstn": 6, "found": 6, "cd_sync": 6, "Be": 6, "consult": 6, "facil": [6, 21, 24], "disabl": [6, 15], "divid": 6, "smaller": 6, "subdivis": 6, "elaborat": [6, 15, 24], "compos": [6, 24], "deleg": 6, "receiv": [6, 19, 24], "inject": 6, "twice": [6, 24], "rel": 6, "guarante": [6, 17], "plain": [6, 21, 22], "counter_": 6, "autogener": 6, "difficult": 6, "alter": 6, "input": [6, 15, 17, 18, 19, 23], "map": [6, 14, 21, 24], "shorter": 6, "forward": 6, "held": 6, "z": 6, "resetsynchron": [6, 16, 17], "leav": [6, 21, 24], "domainrenam": 6, "kei": [6, 21, 24], "translat": 6, "entiti": 6, "Not": 6, "parameter": 6, "extern": [6, 21, 24], "pass": [6, 22, 24], "uninterpret": 6, "identifi": [6, 21], "a_anam": 6, "attr": [6, 24], "anam": 6, "p_pname": 6, "param": [6, 21], "pname": 6, "i_inam": 6, "in_val": 6, "inam": 6, "o_onam": 6, "out_val": 6, "onam": 6, "processor": [6, 16, 19], "p_width": 6, "i_clk": 6, "i_rst": 6, "i_en": 6, "i_mod": 6, "i_data_in": 6, "i_data": 6, "o_data_out": 6, "o_data": 6, "data_in": 6, "data_out": 6, "convein": 6, "adorn": 6, "flipflop": 6, "__init__": [6, 15, 21, 22, 24], "isinst": [6, 24], "sb_dff": 6, "i_c": 6, "i_d": 6, "o_q": 6, "rais": [6, 21, 22, 24], "notimplementederror": 6, "latticeecp5platform": [7, 10], "apicula": 8, "nextpnr": [8, 9, 10, 11, 14], "gowin_pack": 8, "popul": [8, 9, 10, 11, 12, 13, 14, 21, 24], "amaranth_env_apicula": 8, "product": [8, 9, 10, 11, 12, 14], "gw_sh": 8, "amaranth_env_gowin": 8, "quartu": 9, "quartus_map": 9, "quartus_fit": 9, "quartus_asm": 9, "quartus_sta": 9, "amaranth_env_quartu": 9, "qsf": 9, "sdc": [9, 11], "nproc": 9, "quartus_map_opt": 9, "extra": [9, 10, 11, 14], "quartus_fit_opt": 9, "quartus_asm_opt": 9, "quartus_sta_opt": 9, "rpt": [9, 10, 11, 14], "sof": 9, "rbf": 9, "raw": [9, 14], "amaranth_env_mistr": 9, "verbos": [9, 10, 11, 15], "read_verilog_opt": [9, 10, 11], "read_verilog": [9, 10, 11], "synth_opt": [9, 10, 11], "synth_intel_alm": 9, "script_after_read": [9, 10, 11, 14], "read_ilang": [9, 10, 11], "script_after_synth": [9, 10, 11, 14], "yosys_opt": [9, 10, 11], "nextpnr_opt": [9, 10, 11], "trelli": 10, "diamond": [10, 12], "ecppack": 10, "amaranth_env_trelli": 10, "synth_ecp5": 10, "ecppack_opt": 10, "add_prefer": [10, 12], "lpf": [10, 12], "json": [10, 11], "rtl": [10, 11, 14], "tim": [10, 11], "config": 10, "ascii": [10, 11], "pnmainc": [10, 12], "ddtcmd": [10, 12], "diamond_env": [10, 12], "candid": [10, 12], "bat": [10, 12], "echo": [10, 12], "lscc": [10, 12], "diamond_vers": [10, 12], "nt64": [10, 12], "script_project": [10, 12], "prj_project": [10, 12], "tcl": [10, 11, 12, 14], "script_after_export": [10, 12], "prj_run": [10, 12], "xdc": [10, 12, 13, 14], "_impl": [10, 12], "htm": [10, 11, 12], "consolid": [10, 12], "icestorm": 11, "icecube2": 11, "icepack": 11, "amaranth_env_icestorm": 11, "synth_ice40": 11, "add_pre_pack": 11, "pre": [11, 19], "pack": 11, "pcf": [11, 14], "asc": 11, "variant": 11, "lse": 11, "synplifi": 11, "tclsh": 11, "amaranth_env_icecube2": 11, "lse_opt": 11, "script_after_add": 11, "script_after_opt": 11, "set_opt": 11, "script_after_flow": 11, "run_sbt_backend_auto": 11, "sbt": 11, "_lse": 11, "_design": 11, "router": 11, "_time": [11, 14], "edf": 11, "edif": 11, "_lattice_machxo_2_3l": 12, "jed": 12, "jedec": 12, "fuse": 12, "symbiflow_synth": [13, 14], "symbiflow_pack": [13, 14], "symbiflow_plac": [13, 14], "symbiflow_rout": [13, 14], "symbiflow_write_fasm": [13, 14], "symbiflow_write_bitstream": [13, 14], "amaranth_env_qlsymbiflow": 13, "ISE": 14, "vivado": 14, "amaranth_env_vivado": 14, "read_xdc": 14, "synth_design": 14, "script_after_plac": 14, "place_design": 14, "script_after_rout": 14, "route_design": 14, "script_before_bitstream": 14, "write_bitstream": 14, "script_after_bitstream": 14, "vivado_opt": 14, "_timing_synth": 14, "_utilization_hierarchical_synth": 14, "_utilization_synth": 14, "_utilization_hierarchical_plac": 14, "_utilization_plac": 14, "_io": 14, "_control_set": 14, "_clock_util": 14, "_route_statu": 14, "_drc": 14, "_methodologi": 14, "_power": 14, "_rout": 14, "dcp": 14, "checkpoint": 14, "metadata": 14, "xst": 14, "ngdbuild": 14, "par": 14, "bitgen": 14, "amaranth_env_is": 14, "script_after_run": 14, "ucf": 14, "xst_opt": 14, "ngdbuild_opt": 14, "map_opt": 14, "par_opt": 14, "bitgen_opt": 14, "compress": 14, "srp": 14, "ngc": 14, "bld": 14, "ngd": 14, "databas": 14, "_map": 14, "mrp": 14, "ncd": 14, "physic": 14, "_par": 14, "_par_pad": 14, "txt": [14, 19], "usag": 14, "drc": 14, "bgn": 14, "amaranth_env_symbiflow": 14, "fasm2fram": 14, "xc7frames2bit": 14, "amaranth_env_xrai": 14, "cursori": 15, "overview": 15, "explan": [15, 24], "shown": [15, 24], "up_count": 15, "py": 15, "upcount": 15, "ovf": 15, "reach": [15, 21, 24], "super": [15, 21, 24], "els": [15, 17, 24], "declar": [15, 24], "helper": [15, 24], "elif": 15, "black": [15, 21], "verifi": [15, 24], "dut": 15, "25": [15, 20], "yield": [15, 21, 24], "_": [15, 24], "30": [15, 20], "clear": [15, 24], "add_clock": 15, "1e": 15, "mhz": 15, "add_sync_process": 15, "write_vcd": 15, "inspect": 15, "successfulli": 15, "de": 15, "facto": 15, "interoper": [15, 16], "rise": 15, "lightli": 15, "auto": 15, "verilog_backend": 15, "cc": 15, "2255": 15, "dump_modul": 15, "src": 15, "36": 15, "42": 15, "site": 15, "ir": 15, "509": 15, "29": 15, "h0000": 15, "1647": 15, "h19": 15, "h1": 15, "posedg": 15, "full_cas": 15, "xfrm": 15, "534": 15, "endmodul": 15, "aid": 15, "unfortun": 15, "standalon": [15, 24], "adapt": 15, "hz": 15, "ledblink": 15, "half_freq": 15, "default_clk_frequ": 15, "icestick": 15, "link": [15, 24], "foss": 15, "probabl": 15, "icestickplatform": 15, "do_program": 15, "benefit": 15, "turnkei": 15, "abil": [15, 22], "categori": 16, "idiomat": [16, 24], "metaclass": [16, 24], "layout": 16, "ffsynchron": [16, 17], "One": [16, 21], "hot": 16, "prioriti": 16, "grai": 16, "syncfifobuff": [16, 23], "asyncfifobuff": [16, 23], "algorithm": [16, 19], "resynchronis": 17, "flip": [17, 24], "flop": 17, "metast": 17, "synchronis": 17, "o_domain": 17, "unaffect": 17, "stage": 17, "lowest": 17, "mtbf": 17, "cost": 17, "increas": [17, 23], "latenc": [17, 19, 23], "max_input_delai": 17, "float": [17, 21], "maximum": 17, "second": [17, 21], "fail": [17, 24], "safest": 17, "load": 17, "target": [17, 21, 22, 24], "asic": 17, "arbitrari": [17, 21], "warm": 17, "insuffici": 17, "deassert": 17, "get_ff_sync": 17, "cell": 17, "primarili": [17, 24], "async_edg": 17, "po": 17, "get_async_ff_sync": 17, "gate": 17, "yet": 17, "promptli": 17, "arst": 17, "get_reset_sync": 17, "puls": 17, "duti": 17, "ratio": 17, "drop": [17, 22], "i_domain": 17, "encod": 18, "indic": [18, 19, 21, 24], "invalid": [18, 24], "decod": [18, 24], "th": 18, "priorityencod": 18, "prioritydecod": 18, "grayencod": 18, "graydecod": 18, "comput": [19, 24], "polynomi": [19, 20], "commonli": 19, "catalog": [19, 20], "accommod": [19, 21], "data_width": [19, 20, 24], "obtain": 19, "fulli": 19, "crc16": 19, "ccitt": 19, "byte": [19, 21], "crc16_ccitt": [19, 20], "submodul": [19, 20, 24], "algo": 19, "crc_width": [19, 20], "0x1021": [19, 20], "initial_crc": [19, 20], "0xffff": [19, 20], "reflect_input": [19, 20], "reflect_output": [19, 20], "xor_output": [19, 20], "0x0000": [19, 20], "123456789": 19, "0x29b1": 19, "exclud": 19, "william": 19, "painless": 19, "www": 19, "ross": 19, "net": 19, "crc_v3": 19, "reveng": [19, 20], "catalogu": 19, "parameteris": 19, "crcmod": 19, "polynomin": 19, "init": [19, 21], "zoo": 19, "entri": [19, 20, 23], "highest": 19, "order": [19, 21, 24], "transmiss": 19, "littl": 19, "endian": 19, "multi": 19, "0x4e4c": 19, "transmit": 19, "octet": 19, "0x4c": 19, "0x4e": 19, "addition": 19, "residu": 19, "codeword": 19, "bitwidth": 19, "arg": [19, 22, 24], "src_loc_at": [19, 24], "kwarg": [19, 22, 24], "stream": [19, 24], "handl": [19, 23], "subsequ": 19, "throughput": 19, "per": 19, "classic": 19, "serial": 19, "galoi": 19, "shift": 19, "match_detect": 19, "trail": 19, "initialis": 19, "simultan": 19, "crc3_gsm": [19, 20], "crc3_rohc": [19, 20], "crc4_g_704": [19, 20], "crc4_itu": [19, 20], "crc4_interlaken": [19, 20], "crc5_epc_c1g2": [19, 20], "crc5_epc": [19, 20], "crc5_g_704": [19, 20], "crc5_itu": [19, 20], "crc5_usb": [19, 20], "crc6_cdma2000_a": [19, 20], "crc6_cdma2000_b": [19, 20], "crc6_darc": [19, 20], "crc6_g_704": [19, 20], "crc6_itu": [19, 20], "crc6_gsm": [19, 20], "crc7_mmc": [19, 20], "crc7_rohc": [19, 20], "crc7_umt": [19, 20], "crc8_autosar": [19, 20], "crc8_bluetooth": [19, 20], "crc8_cdma2000": [19, 20], "crc8_darc": [19, 20], "crc8_dvb_s2": [19, 20], "crc8_gsm_a": [19, 20], "crc8_gsm_b": [19, 20], "crc8_hitag": [19, 20], "crc8_i_432_1": [19, 20], "crc8_itu": [19, 20], "crc8_i_cod": [19, 20], "crc8_lte": [19, 20], "crc8_maxim_dow": [19, 20], "crc8_maxim": [19, 20], "crc8_mifare_mad": [19, 20], "crc8_nrsc_5": [19, 20], "crc8_opensafeti": [19, 20], "crc8_rohc": [19, 20], "crc8_sae_j1850": [19, 20], "crc8_smbu": [19, 20], "crc8_tech_3250": [19, 20], "crc8_ae": [19, 20], "crc8_etu": [19, 20], "crc8_wcdma": [19, 20], "crc10_atm": [19, 20], "crc10_i_610": [19, 20], "crc10_cdma2000": [19, 20], "crc10_gsm": [19, 20], "crc11_flexrai": [19, 20], "crc11_umt": [19, 20], "crc12_cdma2000": [19, 20], "crc12_dect": [19, 20], "crc12_gsm": [19, 20], "crc12_umt": [19, 20], "crc12_3gpp": [19, 20], "crc13_bbc": [19, 20], "crc14_darc": [19, 20], "crc14_gsm": [19, 20], "crc15_can": [19, 20], "crc15_mpt1327": [19, 20], "crc16_arc": [19, 20], "crc16_ibm": [19, 20], "crc16_cdma2000": [19, 20], "crc16_cm": [19, 20], "crc16_dds_110": [19, 20], "crc16_dect_r": [19, 20], "crc16_dect_x": [19, 20], "crc16_dnp": [19, 20], "crc16_en_13757": [19, 20], "crc16_genibu": [19, 20], "crc16_darc": [19, 20], "crc16_epc": [19, 20], "crc16_epc_c1g2": [19, 20], "crc16_i_cod": [19, 20], "crc16_gsm": [19, 20], "crc16_ibm_3740": [19, 20], "crc16_autosar": [19, 20], "crc16_ccitt_fals": [19, 20], "crc16_ibm_sdlc": [19, 20], "crc16_iso_hdlc": [19, 20], "crc16_iso_iec_14443_3_b": [19, 20], "crc16_x25": [19, 20], "crc16_iso_iec_14443_3_a": [19, 20], "crc16_kermit": [19, 20], "crc16_bluetooth": [19, 20], "crc16_ccitt_tru": [19, 20], "crc16_v_41_lsb": [19, 20], "crc16_lj1200": [19, 20], "crc16_m17": [19, 20], "crc16_maxim_dow": [19, 20], "crc16_maxim": [19, 20], "crc16_mcrf4xx": [19, 20], "crc16_modbu": [19, 20], "crc16_nrsc_5": [19, 20], "crc16_opensafety_a": [19, 20], "crc16_opensafety_b": [19, 20], "crc16_profibu": [19, 20], "crc16_iec_61158_2": [19, 20], "crc16_riello": [19, 20], "crc16_spi_fujitsu": [19, 20], "crc16_aug_ccitt": [19, 20], "crc16_t10_dif": [19, 20], "crc16_teledisk": [19, 20], "crc16_tms37157": [19, 20], "crc16_umt": [19, 20], "crc16_buypass": [19, 20], "crc16_verifon": [19, 20], "crc16_usb": [19, 20], "crc16_xmodem": [19, 20], "crc16_acorn": [19, 20], "crc16_lte": [19, 20], "crc16_v_41_msb": [19, 20], "crc16_zmodem": [19, 20], "crc17_can_fd": [19, 20], "crc21_can_fd": [19, 20], "crc24_ble": [19, 20], "crc24_flexray_a": [19, 20], "crc24_flexray_b": [19, 20], "crc24_interlaken": [19, 20], "crc24_lte_a": [19, 20], "crc24_lte_b": [19, 20], "crc24_openpgp": [19, 20], "crc24_os_9": [19, 20], "crc30_cdma": [19, 20], "crc31_philip": [19, 20], "crc32_aixm": [19, 20], "crc32_autosar": [19, 20], "crc32_base91_d": [19, 20], "crc32_bzip2": [19, 20], "crc32_aal5": [19, 20], "crc32_dect_b": [19, 20], "crc32_cd_rom_edc": [19, 20], "crc32_cksum": [19, 20], "crc32_posix": [19, 20], "crc32_iscsi": [19, 20], "crc32_base91_c": [19, 20], "crc32_castagnoli": [19, 20], "crc32_interlaken": [19, 20], "crc32_iso_hdlc": [19, 20], "crc32_adccp": [19, 20], "crc32_v_42": [19, 20], "crc32_xz": [19, 20], "crc32_pkzip": [19, 20], "crc32_ethernet": [19, 20], "crc32_jamcrc": [19, 20], "crc32_mef": [19, 20], "crc32_mpeg_2": [19, 20], "crc32_xfer": [19, 20], "crc40_gsm": [19, 20], "crc64_ecma_182": [19, 20], "crc64_go_iso": [19, 20], "crc64_m": [19, 20], "crc64_redi": [19, 20], "crc64_we": [19, 20], "crc64_xz": [19, 20], "crc64_ecma": [19, 20], "crc82_darc": [19, 20], "2023": 20, "05": 20, "crc8": 20, "0x3": 20, "0x0": [20, 21], "0x7": 20, "0xf": 20, "0x9": 20, "0x15": 20, "0x5": 20, "0x1f": 20, "0x27": 20, "0x3f": 20, "0x19": 20, "0x2f": 20, "0x4f": 20, "0x7f": [20, 21], "0x45": 20, "0xff": 20, "0xa7": 20, "0x00": 20, "0x9b": 20, "0x39": 20, "0xd5": 20, "0x1d": 20, "0x49": 20, "0x07": 20, "0x55": 20, "0xfd": 20, "0x31": 20, "0xc7": 20, "0x233": 20, "0x3d9": 20, "0x3ff": 20, "0x175": 20, "0x385": 20, "0x1a": 20, "0x307": 20, "0xf13": 20, "0xfff": 20, "0x000": 20, "0x80f": 20, "0xd31": 20, "13": 20, "0x1cf5": 20, "14": [20, 21], "0x805": 20, "0x202d": 20, "0x3fff": 20, "0x4599": 20, "0x6815": 20, "0x001": 20, "0x8005": 20, "0xc867": 20, "0x800d": 20, "0x0589": 20, "0x0001": 20, "0x3d65": 20, "0xc6c6": 20, "0x6f63": 20, "0x5935": 20, "0x080b": 20, "0x755b": 20, "0x1dcf": 20, "0xb2aa": 20, "0x1d0f": 20, "0x8bb7": 20, "0xa097": 20, "0x89ec": 20, "0x1685b": 20, "21": 20, "0x102899": 20, "0x00000": 20, "24": [20, 21, 24], "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, "40": 20, "0x0004820009": 20, "0x0000000000": 20, "0xffffffffff": 20, "0x42f0e1eba9ea3693": 20, "0x0000000000000000": 20, "0x000000000000001b": 20, "0xffffffffffffffff": 20, "0x259c84cba6426349": 20, "0xad93d23594c935a9": 20, "82": 20, "0x308c0111011401440411": 20, "0x00000000000000000000": 20, "bitwis": [21, 22], "four": [21, 24], "relat": [21, 24], "foundat": 21, "introspect": [21, 24], "structlayout": 21, "unionlayout": 21, "arraylayout": 21, "flexiblelayout": 21, "struct": 21, "fundament": 21, "intern": [21, 24], "rgb": 21, "grayscal": 21, "color": 21, "format": 21, "rgb565": 21, "fast": 21, "approxim": 21, "i_color": 21, "o_grai": 21, "repetit": [21, 24], "referenc": 21, "rgb565_layout": 21, "red": 21, "green": 21, "blue": 21, "accumul": 21, "averag": 21, "intens": 21, "input_layout": 21, "i_stream": 21, "r_accum": 21, "sum": 21, "interchang": 21, "rgb_layout": 21, "r_bit": 21, "g_bit": 21, "b_bit": 21, "rgb24_layout": 21, "rgblayout": 21, "rgbview": 21, "bright": 21, "as_valu": [21, 22], "static": [21, 24], "boilerpl": [21, 24], "ieee754singl": 21, "fraction": 21, "is_subnorm": 21, "set_addr": 21, "send_data": 21, "biggest": 21, "cmd": 21, "0x00001234": 21, "react": 21, "__eq__": [21, 22, 24], "span": 21, "preserv": 21, "invari": 21, "obj": [21, 24], "as_shap": [21, 22], "recursionerror": 21, "__iter__": [21, 24], "__getitem__": [21, 24], "keyerror": 21, "size": 21, "underli": [21, 22], "gap": 21, "pad": 21, "altern": 21, "_1": 21, "_2": 21, "won": 21, "dictionari": [21, 24], "plu": [21, 23], "largest": 21, "elem_shap": 21, "multipli": 21, "individu": 21, "contigu": 21, "boundari": [21, 24], "arbitrarili": 21, "stride": 21, "truth": [21, 24], "chosen": 21, "dynam": 21, "rest": [21, 24], "look": 21, "repeatedli": 21, "latter": 21, "unspecifi": 21, "inout": 21, "__getattr__": [21, 24], "attributeerror": [21, 24], "underscor": [21, 24], "kept": 21, "ieee": 21, "754": 21, "flt": 21, "hex": 21, "0x3f800000": 21, "0xbf800000": 21, "share": 21, "haschecksum": 21, "checksum": 21, "barehead": 21, "headerwithparam": 21, "bare": 21, "varint": 21, "int8": 21, "int16": 21, "0x100": 21, "flag": [22, 24], "intflag": 22, "subi": 22, "likewis": 22, "normalenum": 22, "spam": 22, "ham": 22, "enumview": [22, 24], "flagview": 22, "wrapper": [22, 24], "stdin": 22, "loos": 22, "transparentenum": 22, "instrview": 22, "has_immedi": 22, "view_class": 22, "d16": 22, "d17": 22, "enummeta": 22, "neither": [22, 24], "nor": [22, 24], "comparison": 22, "among": 22, "__invert__": 22, "__and__": 22, "__or__": 22, "__xor__": 22, "__rand__": 22, "__ror__": 22, "__rxor__": 22, "w_data": [23, 24], "w_rdy": 23, "w_en": 23, "r_rdy": 23, "noth": [23, 24], "unread": 23, "substitut": 23, "incompat": [23, 24], "exchang": 23, "r_domain": 23, "w_domain": 23, "exact_depth": 23, "signaturememb": 24, "flippedsignatur": 24, "flippedinterfac": 24, "flippedsignaturememb": 24, "vice": 24, "versa": 24, "interact": 24, "concept": 24, "basiccount": 24, "solut": 24, "rewritten": 24, "componentcount": 24, "constructor": 24, "gone": 24, "unchang": 24, "unambigu": 24, "question": 24, "previous": 24, "intend": 24, "genericcount": 24, "compliant": 24, "is_compli": 24, "direction": 24, "readi": [24, 25], "sink": 24, "consum": 24, "dataproduc": 24, "dataconsum": 24, "elsewher": 24, "simplestreamsignatur": 24, "data_shap": 24, "intact": 24, "intf": 24, "metaprogram": 24, "streamproduc": 24, "streamconsum": 24, "complementari": 24, "ubiquit": 24, "streamconsumerusingin": 24, "deep": 24, "in1": 24, "in2": 24, "auxiliari": 24, "robust": 24, "proportion": 24, "pronounc": 24, "refactor": 24, "conclud": 24, "knowledg": 24, "expos": 24, "dataprocessorimplement": 24, "dataprocessorwrapp": 24, "impl": 24, "dataforward": 24, "conform": 24, "producerrequiringreadi": 24, "consumeralwaysreadi": 24, "consumerpossiblyunreadi": 24, "connectionerror": 24, "arg0": 24, "prolifer": 24, "subtli": 24, "presenc": 24, "absenc": 24, "statu": 24, "legacyaxidataproduc": 24, "adata": 24, "avalid": 24, "areadi": 24, "moderndataconsum": 24, "data_produc": 24, "data_consum": 24, "adapted_data_sourc": 24, "encourag": 24, "creation": 24, "illustr": 24, "capabl": 24, "usefulli": 24, "transfertyp": 24, "simplebussignatur": 24, "addr_width": 24, "_addr_width": 24, "rw": 24, "__repr__": 24, "simplebusinterfac": 24, "is_read_xf": 24, "is_write_xf": 24, "frozen": 24, "freez": 24, "almost": 24, "anonym": 24, "sig32": 24, "sig24": 24, "bus__en": 24, "bus__rw": 24, "bus__addr": 24, "bus__r_data": 24, "bus__w_data": 24, "unusu": 24, "__add__": 24, "ever": 24, "denot": 24, "buse": 24, "cyc": 24, "outgo": 24, "carri": 24, "respond": 24, "That": 24, "incom": 24, "shortcut": 24, "discrimin": 24, "union": 24, "taken": 24, "rgbpixel": 24, "dimens": 24, "prepend": 24, "dimension": 24, "is_port": 24, "is_signatur": 24, "signatureerror": 24, "nameerror": 24, "abc": 24, "manner": 24, "disallow": 24, "superscript": 24, "opreat": 24, "__contains__": 24, "__setitem__": 24, "stub": 24, "forbid": 24, "__delitem__": 24, "flatten": 24, "disregard": 24, "doubl": 24, "__": 24, "dict": 24, "unflip": 24, "flipped_memb": 24, "ing": 24, "influenc": 24, "obj__items__0": 24, "obj__items__1": 24, "prescrib": 24, "aspect": 24, "complianc": 24, "less": 24, "fill": 24, "help": 24, "repeat": 24, "serv": 24, "hoc": 24, "customsignatur": 24, "custominterfac": 24, "my_properti": 24, "accur": 24, "unavail": 24, "flipped_sig": 24, "distinguish": 24, "signatureknowswhenflip": 24, "is_flip": 24, "getattr": 24, "getter": 24, "cl": 24, "__setattr__": 24, "setattr": 24, "setter": 24, "__delattr__": 24, "delattr": 24, "delet": 24, "signaturemeta": 24, "subtyp": 24, "relationship": 24, "issubclass": 24, "__subclasscheck__": 24, "__instancecheck__": 24, "overhead": 24, "__dict__": 24, "approach": 24, "id": 24, "checker": 24, "track": 24, "burdensom": 24, "flipped_intf": 24, "interfaceknowswhenflip": 24, "other_unflip": 24, "caveat": 24, "imposs": 24, "meaningless": 24, "forbidden": 24, "obj1": 24, "obj2": 24, "obj3": 24, "besid": 24, "out1": 24, "arbit": 24, "purpos": 24, "clarifi": 24, "fixedcompon": 24, "superclass": 24, "parametriccompon": 24, "rai": 24, "offici": 25, "vivonomicon": 25, "kbob": 25, "robert": 25, "baruch": 25, "exercis": 25, "my": 25, "journei": 25, "david": 25, "sporn": 25, "focuss": 25, "workstat": 25}, "objects": {"amaranth.lib": [[17, 0, 0, "-", "cdc"], [18, 0, 0, "-", "coding"], [19, 0, 0, "-", "crc"], [21, 0, 0, "-", "data"], [22, 0, 0, "-", "enum"], [23, 0, 0, "-", "fifo"], [24, 0, 0, "-", "wiring"]], "amaranth.lib.cdc": [[17, 1, 1, "", "AsyncFFSynchronizer"], [17, 1, 1, "", "FFSynchronizer"], [17, 1, 1, "", "PulseSynchronizer"], [17, 1, 1, "", "ResetSynchronizer"]], "amaranth.lib.coding": [[18, 1, 1, "", "Decoder"], [18, 1, 1, "", "Encoder"], [18, 1, 1, "", "GrayDecoder"], [18, 1, 1, "", "GrayEncoder"], [18, 1, 1, "", "PriorityDecoder"], [18, 1, 1, "", "PriorityEncoder"]], "amaranth.lib.crc": [[19, 1, 1, "", "Algorithm"], [19, 1, 1, "", "Parameters"], [19, 1, 1, "", "Processor"], [20, 0, 0, "-", "catalog"]], "amaranth.lib.crc.Algorithm": [[19, 2, 1, "", "__call__"]], "amaranth.lib.crc.Parameters": [[19, 3, 1, "", "algorithm"], [19, 2, 1, "", "compute"], [19, 2, 1, "", "create"], [19, 2, 1, "", "residue"]], "amaranth.lib.crc.catalog": [[20, 4, 1, "", "CRC10_ATM"], [20, 4, 1, "", "CRC10_CDMA2000"], [20, 4, 1, "", "CRC10_GSM"], [20, 4, 1, "", "CRC10_I_610"], [20, 4, 1, "", "CRC11_FLEXRAY"], [20, 4, 1, "", "CRC11_UMTS"], [20, 4, 1, "", "CRC12_3GPP"], [20, 4, 1, "", "CRC12_CDMA2000"], [20, 4, 1, "", "CRC12_DECT"], [20, 4, 1, "", "CRC12_GSM"], [20, 4, 1, "", "CRC12_UMTS"], [20, 4, 1, "", "CRC13_BBC"], [20, 4, 1, "", "CRC14_DARC"], [20, 4, 1, "", "CRC14_GSM"], [20, 4, 1, "", "CRC15_CAN"], [20, 4, 1, "", "CRC15_MPT1327"], [20, 4, 1, "", "CRC16_ACORN"], [20, 4, 1, "", "CRC16_ARC"], [20, 4, 1, "", "CRC16_AUG_CCITT"], [20, 4, 1, "", "CRC16_AUTOSAR"], [20, 4, 1, "", "CRC16_BLUETOOTH"], [20, 4, 1, "", "CRC16_BUYPASS"], [20, 4, 1, "", "CRC16_CCITT"], [20, 4, 1, "", "CRC16_CCITT_FALSE"], [20, 4, 1, "", "CRC16_CCITT_TRUE"], [20, 4, 1, "", "CRC16_CDMA2000"], [20, 4, 1, "", "CRC16_CMS"], [20, 4, 1, "", "CRC16_DARC"], [20, 4, 1, "", "CRC16_DDS_110"], [20, 4, 1, "", "CRC16_DECT_R"], [20, 4, 1, "", "CRC16_DECT_X"], [20, 4, 1, "", "CRC16_DNP"], [20, 4, 1, "", "CRC16_EN_13757"], [20, 4, 1, "", "CRC16_EPC"], [20, 4, 1, "", "CRC16_EPC_C1G2"], [20, 4, 1, "", "CRC16_GENIBUS"], [20, 4, 1, "", "CRC16_GSM"], [20, 4, 1, "", "CRC16_IBM"], [20, 4, 1, "", "CRC16_IBM_3740"], [20, 4, 1, "", "CRC16_IBM_SDLC"], [20, 4, 1, "", "CRC16_IEC_61158_2"], [20, 4, 1, "", "CRC16_ISO_HDLC"], [20, 4, 1, "", "CRC16_ISO_IEC_14443_3_A"], [20, 4, 1, "", "CRC16_ISO_IEC_14443_3_B"], [20, 4, 1, "", "CRC16_I_CODE"], [20, 4, 1, "", "CRC16_KERMIT"], [20, 4, 1, "", "CRC16_LJ1200"], [20, 4, 1, "", "CRC16_LTE"], [20, 4, 1, "", "CRC16_M17"], [20, 4, 1, "", "CRC16_MAXIM"], [20, 4, 1, "", "CRC16_MAXIM_DOW"], [20, 4, 1, "", "CRC16_MCRF4XX"], [20, 4, 1, "", "CRC16_MODBUS"], [20, 4, 1, "", "CRC16_NRSC_5"], [20, 4, 1, "", "CRC16_OPENSAFETY_A"], [20, 4, 1, "", "CRC16_OPENSAFETY_B"], [20, 4, 1, "", "CRC16_PROFIBUS"], [20, 4, 1, "", "CRC16_RIELLO"], [20, 4, 1, "", "CRC16_SPI_FUJITSU"], [20, 4, 1, "", "CRC16_T10_DIF"], [20, 4, 1, "", "CRC16_TELEDISK"], [20, 4, 1, "", "CRC16_TMS37157"], [20, 4, 1, "", "CRC16_UMTS"], [20, 4, 1, "", "CRC16_USB"], [20, 4, 1, "", "CRC16_VERIFONE"], [20, 4, 1, "", "CRC16_V_41_LSB"], [20, 4, 1, "", "CRC16_V_41_MSB"], [20, 4, 1, "", "CRC16_X25"], [20, 4, 1, "", "CRC16_XMODEM"], [20, 4, 1, "", "CRC16_ZMODEM"], [20, 4, 1, "", "CRC17_CAN_FD"], [20, 4, 1, "", "CRC21_CAN_FD"], [20, 4, 1, "", "CRC24_BLE"], [20, 4, 1, "", "CRC24_FLEXRAY_A"], [20, 4, 1, "", "CRC24_FLEXRAY_B"], [20, 4, 1, "", "CRC24_INTERLAKEN"], [20, 4, 1, "", "CRC24_LTE_A"], [20, 4, 1, "", "CRC24_LTE_B"], [20, 4, 1, "", "CRC24_OPENPGP"], [20, 4, 1, "", "CRC24_OS_9"], [20, 4, 1, "", "CRC30_CDMA"], [20, 4, 1, "", "CRC31_PHILIPS"], [20, 4, 1, "", "CRC32_AAL5"], [20, 4, 1, "", "CRC32_ADCCP"], [20, 4, 1, "", "CRC32_AIXM"], [20, 4, 1, "", "CRC32_AUTOSAR"], [20, 4, 1, "", "CRC32_BASE91_C"], [20, 4, 1, "", "CRC32_BASE91_D"], [20, 4, 1, "", "CRC32_BZIP2"], [20, 4, 1, "", "CRC32_CASTAGNOLI"], [20, 4, 1, "", "CRC32_CD_ROM_EDC"], [20, 4, 1, "", "CRC32_CKSUM"], [20, 4, 1, "", "CRC32_DECT_B"], [20, 4, 1, "", "CRC32_ETHERNET"], [20, 4, 1, "", "CRC32_INTERLAKEN"], [20, 4, 1, "", "CRC32_ISCSI"], [20, 4, 1, "", "CRC32_ISO_HDLC"], [20, 4, 1, "", "CRC32_JAMCRC"], [20, 4, 1, "", "CRC32_MEF"], [20, 4, 1, "", "CRC32_MPEG_2"], [20, 4, 1, "", "CRC32_PKZIP"], [20, 4, 1, "", "CRC32_POSIX"], [20, 4, 1, "", "CRC32_V_42"], [20, 4, 1, "", "CRC32_XFER"], [20, 4, 1, "", "CRC32_XZ"], [20, 4, 1, "", "CRC3_GSM"], [20, 4, 1, "", "CRC3_ROHC"], [20, 4, 1, "", "CRC40_GSM"], [20, 4, 1, "", "CRC4_G_704"], [20, 4, 1, "", "CRC4_INTERLAKEN"], [20, 4, 1, "", "CRC4_ITU"], [20, 4, 1, "", "CRC5_EPC"], [20, 4, 1, "", "CRC5_EPC_C1G2"], [20, 4, 1, "", "CRC5_G_704"], [20, 4, 1, "", "CRC5_ITU"], [20, 4, 1, "", "CRC5_USB"], [20, 4, 1, "", "CRC64_ECMA"], [20, 4, 1, "", "CRC64_ECMA_182"], [20, 4, 1, "", "CRC64_GO_ISO"], [20, 4, 1, "", "CRC64_MS"], [20, 4, 1, "", "CRC64_REDIS"], [20, 4, 1, "", "CRC64_WE"], [20, 4, 1, "", "CRC64_XZ"], [20, 4, 1, "", "CRC6_CDMA2000_A"], [20, 4, 1, "", "CRC6_CDMA2000_B"], [20, 4, 1, "", "CRC6_DARC"], [20, 4, 1, "", "CRC6_GSM"], [20, 4, 1, "", "CRC6_G_704"], [20, 4, 1, "", "CRC6_ITU"], [20, 4, 1, "", "CRC7_MMC"], [20, 4, 1, "", "CRC7_ROHC"], [20, 4, 1, "", "CRC7_UMTS"], [20, 4, 1, "", "CRC82_DARC"], [20, 4, 1, "", "CRC8_AES"], [20, 4, 1, "", "CRC8_AUTOSAR"], [20, 4, 1, "", "CRC8_BLUETOOTH"], [20, 4, 1, "", "CRC8_CDMA2000"], [20, 4, 1, "", "CRC8_DARC"], [20, 4, 1, "", "CRC8_DVB_S2"], [20, 4, 1, "", "CRC8_ETU"], [20, 4, 1, "", "CRC8_GSM_A"], [20, 4, 1, "", "CRC8_GSM_B"], [20, 4, 1, "", "CRC8_HITAG"], [20, 4, 1, "", "CRC8_ITU"], [20, 4, 1, "", "CRC8_I_432_1"], [20, 4, 1, "", "CRC8_I_CODE"], [20, 4, 1, "", "CRC8_LTE"], [20, 4, 1, "", "CRC8_MAXIM"], [20, 4, 1, "", "CRC8_MAXIM_DOW"], [20, 4, 1, "", "CRC8_MIFARE_MAD"], [20, 4, 1, "", "CRC8_NRSC_5"], [20, 4, 1, "", "CRC8_OPENSAFETY"], [20, 4, 1, "", "CRC8_ROHC"], [20, 4, 1, "", "CRC8_SAE_J1850"], [20, 4, 1, "", "CRC8_SMBUS"], [20, 4, 1, "", "CRC8_TECH_3250"], [20, 4, 1, "", "CRC8_WCDMA"]], "amaranth.lib.data": [[21, 1, 1, "", "ArrayLayout"], [21, 1, 1, "", "Field"], [21, 1, 1, "", "FlexibleLayout"], [21, 1, 1, "", "Layout"], [21, 1, 1, "", "Struct"], [21, 1, 1, "", "StructLayout"], [21, 1, 1, "", "Union"], [21, 1, 1, "", "UnionLayout"], [21, 1, 1, "", "View"]], "amaranth.lib.data.ArrayLayout": [[21, 3, 1, "", "size"]], "amaranth.lib.data.Field": [[21, 2, 1, "", "__eq__"], [21, 3, 1, "", "width"]], "amaranth.lib.data.Layout": [[21, 2, 1, "", "__call__"], [21, 2, 1, "", "__eq__"], [21, 2, 1, "", "__getitem__"], [21, 2, 1, "", "__iter__"], [21, 2, 1, "", "as_shape"], [21, 2, 1, "", "cast"], [21, 2, 1, "", "const"], [21, 3, 1, "", "size"]], "amaranth.lib.data.StructLayout": [[21, 3, 1, "", "size"]], "amaranth.lib.data.UnionLayout": [[21, 2, 1, "", "const"], [21, 3, 1, "", "size"]], "amaranth.lib.data.View": [[21, 2, 1, "", "__getattr__"], [21, 2, 1, "", "__getitem__"], [21, 2, 1, "", "as_value"], [21, 2, 1, "", "eq"], [21, 2, 1, "", "shape"]], "amaranth.lib.enum": [[22, 1, 1, "", "Enum"], [22, 1, 1, "", "EnumMeta"], [22, 1, 1, "", "EnumView"], [22, 1, 1, "", "Flag"], [22, 1, 1, "", "FlagView"], [22, 1, 1, "", "IntEnum"], [22, 1, 1, "", "IntFlag"]], "amaranth.lib.enum.EnumMeta": [[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, "", "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.wiring": [[24, 1, 1, "", "Component"], [24, 5, 1, "", "ConnectionError"], [24, 1, 1, "", "FlippedInterface"], [24, 1, 1, "", "FlippedSignature"], [24, 1, 1, "", "FlippedSignatureMembers"], [24, 1, 1, "", "Flow"], [24, 4, 1, "", "In"], [24, 1, 1, "", "Member"], [24, 4, 1, "", "Out"], [24, 1, 1, "", "PureInterface"], [24, 1, 1, "", "Signature"], [24, 5, 1, "", "SignatureError"], [24, 1, 1, "", "SignatureMembers"], [24, 1, 1, "", "SignatureMeta"], [24, 7, 1, "", "connect"], [24, 7, 1, "", "flipped"]], "amaranth.lib.wiring.Component": [[24, 3, 1, "", "signature"]], "amaranth.lib.wiring.FlippedInterface": [[24, 2, 1, "", "__delattr__"], [24, 2, 1, "", "__eq__"], [24, 2, 1, "", "__getattr__"], [24, 2, 1, "", "__setattr__"], [24, 3, 1, "", "signature"]], "amaranth.lib.wiring.FlippedSignature": [[24, 2, 1, "", "__delattr__"], [24, 2, 1, "", "__getattr__"], [24, 2, 1, "", "__setattr__"], [24, 2, 1, "", "flip"]], "amaranth.lib.wiring.FlippedSignatureMembers": [[24, 2, 1, "", "flip"]], "amaranth.lib.wiring.Flow": [[24, 6, 1, "", "In"], [24, 6, 1, "", "Out"], [24, 2, 1, "", "__call__"], [24, 2, 1, "", "flip"]], "amaranth.lib.wiring.Member": [[24, 2, 1, "", "array"], [24, 3, 1, "", "dimensions"], [24, 2, 1, "", "flip"], [24, 3, 1, "", "flow"], [24, 3, 1, "", "is_port"], [24, 3, 1, "", "is_signature"], [24, 3, 1, "", "reset"], [24, 3, 1, "", "shape"], [24, 3, 1, "", "signature"]], "amaranth.lib.wiring.PureInterface": [[24, 2, 1, "", "__init__"]], "amaranth.lib.wiring.Signature": [[24, 2, 1, "", "__eq__"], [24, 2, 1, "", "create"], [24, 2, 1, "", "flatten"], [24, 2, 1, "", "flip"], [24, 2, 1, "", "is_compliant"], [24, 3, 1, "", "members"]], "amaranth.lib.wiring.SignatureMembers": [[24, 2, 1, "", "__contains__"], [24, 2, 1, "", "__delitem__"], [24, 2, 1, "", "__eq__"], [24, 2, 1, "", "__getitem__"], [24, 2, 1, "", "__iter__"], [24, 2, 1, "", "__setitem__"], [24, 2, 1, "", "create"], [24, 2, 1, "", "flatten"], [24, 2, 1, "", "flip"]], "amaranth.lib.wiring.SignatureMeta": [[24, 2, 1, "", "__instancecheck__"], [24, 2, 1, "", "__subclasscheck__"]], "amaranth.vendor": [[8, 1, 1, "", "GowinPlatform"], [9, 1, 1, "", "IntelPlatform"], [10, 1, 1, "", "LatticeECP5Platform"], [11, 1, 1, "", "LatticeICE40Platform"], [12, 6, 1, "", "LatticeMachXO2Platform"], [12, 6, 1, "", "LatticeMachXO3LPlatform"], [13, 1, 1, "", "QuicklogicPlatform"], [14, 1, 1, "", "XilinxPlatform"]], "amaranth.vendor._lattice_machxo_2_3l": [[12, 1, 1, "", "LatticeMachXO2Or3LPlatform"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:property", "4": "py:data", "5": "py:exception", "6": "py:attribute", "7": "py:function"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "property", "Python property"], "4": ["py", "data", "Python data"], "5": ["py", "exception", "Python exception"], "6": ["py", "attribute", "Python attribute"], "7": ["py", "function", "Python function"]}, "titleterms": {"changelog": 0, "document": [0, 1, 2], "past": 0, "releas": [0, 4], "version": 0, "0": 0, "5": 0, "unreleas": 0, "migrat": 0, "from": [0, 6], "4": 0, "implement": [0, 15], "rfc": 0, "languag": [0, 3, 5, 6], "chang": [0, 1], "standard": [0, 5, 16], "librari": [0, 5, 16], "platform": [0, 7], "integr": [0, 5, 7], "3": 0, "toolchain": [0, 3, 5], "2": 0, "1": 0, "contribut": 1, "file": 1, "problem": 1, "report": 1, "fix": 1, "propos": 1, "new": 1, "featur": 1, "work": 1, "codebas": 1, "prepar": 1, "environ": 1, "run": 1, "testsuit": 1, "build": [1, 5], "your": 1, "weekli": 1, "meet": 1, "amaranth": [2, 4, 5], "project": 2, "instal": 4, "system": [4, 5], "requir": 4, "prerequisit": 4, "latest": 4, "develop": [4, 5], "snapshot": 4, "edit": 4, "board": [4, 5], "definit": [4, 5], "todo": [4, 6, 7, 15, 25], "introduct": [5, 21, 24], "The": [5, 6], "simul": 5, "fpga": 5, "guid": 6, "prelud": 6, "shape": 6, "valu": 6, "constant": [6, 24], "cast": 6, "integ": 6, "rang": 6, "enumer": [6, 22], "member": 6, "signal": 6, "name": 6, "initi": 6, "reset": 6, "less": 6, "oper": 6, "perform": 6, "describ": 6, "comput": 6, "width": 6, "extens": 6, "arithmet": 6, "comparison": 6, "bitwis": 6, "shift": 6, "rotat": 6, "reduct": 6, "logic": 6, "bit": 6, "sequenc": 6, "match": 6, "convers": [6, 18], "choic": 6, "arrai": 6, "data": [6, 21], "structur": [6, 21], "modul": 6, "control": 6, "domain": [6, 17], "assign": 6, "target": 6, "order": 6, "flow": 6, "activ": 6, "inact": 6, "If": 6, "elif": 6, "els": 6, "block": 6, "switch": 6, "case": 6, "fsm": 6, "state": 6, "combinatori": 6, "evalu": 6, "synchron": 6, "clock": [6, 17], "late": 6, "bind": 6, "elabor": 6, "submodul": 6, "modifi": 6, "renam": 6, "memori": 6, "instanc": 6, "gowin": 8, "intel": 9, "lattic": [10, 11, 12], "ecp5": 10, "ice40": 11, "machxo2": 12, "machxo3l": 12, "quicklog": 13, "xilinx": 14, "get": 15, "start": 15, "A": 15, "counter": 15, "test": 15, "convert": 15, "blink": 15, "led": 15, "cross": 17, "code": 18, "One": 18, "hot": 18, "prioriti": 18, "grai": 18, "cyclic": 19, "redund": 19, "check": 19, "predefin": 20, "crc": 20, "algorithm": 20, "overview": [21, 24], "motiv": [21, 24], "compos": 21, "layout": 21, "defin": 21, "discrimin": 21, "union": 21, "model": 21, "common": 21, "view": [21, 22], "creat": 21, "access": 21, "custom": [21, 24], "class": [21, 22], "metaclass": 22, "base": 22, "first": 23, "out": 23, "queue": 23, "interfac": 24, "connect": 24, "reusabl": 24, "forward": 24, "interior": 24, "input": 24, "adapt": 24, "signatur": 24, "path": 24, "make": 24, "compon": 24, "tutori": 25}, "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.5 (unreleased)": [[0, "version-0-5-unreleased"]], "Migrating from version 0.4": [[0, "migrating-from-version-0-4"]], "Implemented RFCs": [[0, "implemented-rfcs"], [0, "id1"]], "Language changes": [[0, "language-changes"], [0, "id2"], [0, "id5"]], "Standard library changes": [[0, "standard-library-changes"], [0, "id3"], [0, "id6"]], "Platform integration changes": [[0, "platform-integration-changes"], [0, "id4"], [0, "id8"]], "Version 0.4": [[0, "version-0-4"]], "Migrating from version 0.3": [[0, "migrating-from-version-0-3"]], "Toolchain changes": [[0, "toolchain-changes"], [0, "id7"]], "Version 0.3": [[0, "version-0-3"]], "Migrating from version 0.2": [[0, "migrating-from-version-0-2"]], "Versions 0.1, 0.2": [[0, "versions-0-1-0-2"]], "Contributing": [[1, "contributing"]], "Filing problem reports": [[1, "filing-problem-reports"]], "Fixing problems": [[1, "fixing-problems"]], "Proposing new features": [[1, "proposing-new-features"]], "Working with the codebase": [[1, "working-with-the-codebase"]], "Preparing the environment": [[1, "preparing-the-environment"]], "Running the testsuite": [[1, "running-the-testsuite"]], "Building the documentation": [[1, "building-the-documentation"]], "Contributing your changes": [[1, "contributing-your-changes"]], "Weekly meetings": [[1, "weekly-meetings"]], "Amaranth project documentation": [[2, "amaranth-project-documentation"]], "Language & toolchain": [[3, "language-toolchain"]], "Installation": [[4, "installation"]], "System requirements": [[4, "system-requirements"]], "Installing prerequisites": [[4, "installing-prerequisites"]], "Installing Amaranth": [[4, "installing-amaranth"]], "Latest release": [[4, "latest-release"]], "Development snapshot": [[4, "development-snapshot"]], "Editable development snapshot": [[4, "editable-development-snapshot"]], "Installing board definitions": [[4, "installing-board-definitions"]], "Todo": [[4, "id1"], [6, "id14"], [7, "id1"], [15, "id1"], [25, "id1"]], "Introduction": [[5, "introduction"], [21, "introduction"], [24, "introduction"]], "The Amaranth language": [[5, "the-amaranth-language"]], "The Amaranth standard library": [[5, "the-amaranth-standard-library"]], "The Amaranth simulator": [[5, "the-amaranth-simulator"]], "The Amaranth build system": [[5, "the-amaranth-build-system"]], "FPGA toolchain integration": [[5, "fpga-toolchain-integration"]], "Development board definitions": [[5, "development-board-definitions"]], "Language guide": [[6, "language-guide"]], "The prelude": [[6, "the-prelude"]], "Shapes": [[6, "shapes"]], "Shapes of values": [[6, "shapes-of-values"]], "Values": [[6, "values"]], "Constants": [[6, "constants"]], "Shape casting": [[6, "shape-casting"]], "Shapes from integers": [[6, "shapes-from-integers"]], "Shapes from ranges": [[6, "shapes-from-ranges"]], "Shapes from enumerations": [[6, "shapes-from-enumerations"]], "Value casting": [[6, "value-casting"]], "Values from integers": [[6, "values-from-integers"]], "Values from enumeration members": [[6, "values-from-enumeration-members"]], "Constant casting": [[6, "constant-casting"]], "Signals": [[6, "signals"]], "Signal shapes": [[6, "signal-shapes"]], "Signal names": [[6, "signal-names"]], "Initial signal values": [[6, "initial-signal-values"]], "Reset-less signals": [[6, "reset-less-signals"]], "Operators": [[6, "operators"]], "Performing or describing computations?": [[6, "performing-or-describing-computations"]], "Width extension": [[6, "width-extension"]], "Arithmetic operators": [[6, "arithmetic-operators"]], "Comparison operators": [[6, "comparison-operators"]], "Bitwise, shift, and rotate operators": [[6, "bitwise-shift-and-rotate-operators"]], "Reduction operators": [[6, "reduction-operators"]], "Logical operators": [[6, "logical-operators"]], "Bit sequence operators": [[6, "bit-sequence-operators"]], "Match operator": [[6, "match-operator"]], "Conversion operators": [[6, "conversion-operators"]], "Choice operator": [[6, "choice-operator"]], "Arrays": [[6, "arrays"]], "Data structures": [[6, "data-structures"], [21, "module-amaranth.lib.data"]], "Modules": [[6, "modules"]], "Control domains": [[6, "control-domains"]], "Assigning to signals": [[6, "assigning-to-signals"]], "Assignment targets": [[6, "assignment-targets"]], "Assignment domains": [[6, "assignment-domains"]], "Assignment order": [[6, "assignment-order"]], "Control flow": [[6, "control-flow"]], "Active and inactive assignments": [[6, "active-and-inactive-assignments"]], "If/Elif/Else control blocks": [[6, "if-elif-else-control-blocks"]], "Switch/Case control blocks": [[6, "switch-case-control-blocks"]], "FSM/State control blocks": [[6, "fsm-state-control-blocks"]], "Combinatorial evaluation": [[6, "combinatorial-evaluation"]], "Synchronous evaluation": [[6, "synchronous-evaluation"]], "Clock domains": [[6, "clock-domains"]], "Late binding of clock and reset signals": [[6, "late-binding-of-clock-and-reset-signals"]], "Elaboration": [[6, "elaboration"]], "Submodules": [[6, "submodules"]], "Modifying control flow": [[6, "modifying-control-flow"]], "Renaming domains": [[6, "renaming-domains"]], "Memories": [[6, "memories"]], "Instances": [[6, "instances"]], "Platform integration": [[7, "platform-integration"]], "Gowin": [[8, "gowin"]], "Intel": [[9, "intel"]], "Lattice ECP5": [[10, "lattice-ecp5"]], "Lattice iCE40": [[11, "lattice-ice40"]], "Lattice MachXO2 and MachXO3L": [[12, "lattice-machxo2-and-machxo3l"]], "Quicklogic": [[13, "quicklogic"]], "Xilinx": [[14, "xilinx"]], "Getting started": [[15, "getting-started"]], "A counter": [[15, "a-counter"]], "Implementing a counter": [[15, "implementing-a-counter"]], "Testing a counter": [[15, "testing-a-counter"]], "Converting a counter": [[15, "converting-a-counter"]], "A blinking LED": [[15, "a-blinking-led"]], "Standard library": [[16, "standard-library"]], "Clock domain crossing": [[17, "module-amaranth.lib.cdc"]], "Code conversion": [[18, "module-amaranth.lib.coding"]], "One-hot coding": [[18, "one-hot-coding"]], "Priority coding": [[18, "priority-coding"]], "Gray coding": [[18, "gray-coding"]], "Cyclic redundancy checks": [[19, "module-amaranth.lib.crc"]], "Predefined CRC Algorithms": [[20, "module-amaranth.lib.crc.catalog"]], "Overview": [[21, "overview"], [24, "overview"]], "Motivation": [[21, "motivation"], [24, "motivation"]], "Composing layouts": [[21, "composing-layouts"]], "Defining layouts": [[21, "defining-layouts"]], "Discriminated unions": [[21, "discriminated-unions"]], "Modeling structured data": [[21, "modeling-structured-data"]], "Common data layouts": [[21, "common-data-layouts"]], "Data views": [[21, "data-views"]], "Creating a view": [[21, "creating-a-view"]], "Accessing a view": [[21, "accessing-a-view"]], "Custom view classes": [[21, "custom-view-classes"]], "Data classes": [[21, "data-classes"]], "Enumerations": [[22, "module-amaranth.lib.enum"]], "Metaclass": [[22, "metaclass"]], "Base classes": [[22, "base-classes"]], "View classes": [[22, "view-classes"]], "First-in first-out queues": [[23, "module-amaranth.lib.fifo"]], "Interfaces and connections": [[24, "module-amaranth.lib.wiring"]], "Reusable interfaces": [[24, "reusable-interfaces"]], "Forwarding interior interfaces": [[24, "forwarding-interior-interfaces"]], "Constant inputs": [[24, "constant-inputs"]], "Adapting interfaces": [[24, "adapting-interfaces"]], "Customizing signatures and interfaces": [[24, "customizing-signatures-and-interfaces"]], "Paths": [[24, "paths"]], "Signatures": [[24, "signatures"]], "Interfaces": [[24, "interfaces"]], "Making connections": [[24, "making-connections"]], "Components": [[24, "components"]], "Tutorial": [[25, "tutorial"]]}, "indexentries": {"gowinplatform (class in amaranth.vendor)": [[8, "amaranth.vendor.GowinPlatform"]], "intelplatform (class in amaranth.vendor)": [[9, "amaranth.vendor.IntelPlatform"]], "latticeecp5platform (class in amaranth.vendor)": [[10, "amaranth.vendor.LatticeECP5Platform"]], "latticeice40platform (class in amaranth.vendor)": [[11, "amaranth.vendor.LatticeICE40Platform"]], "latticemachxo2or3lplatform (class in amaranth.vendor._lattice_machxo_2_3l)": [[12, "amaranth.vendor._lattice_machxo_2_3l.LatticeMachXO2Or3LPlatform"]], "latticemachxo2platform (in module amaranth.vendor)": [[12, "amaranth.vendor.LatticeMachXO2Platform"]], "latticemachxo3lplatform (in module amaranth.vendor)": [[12, "amaranth.vendor.LatticeMachXO3LPlatform"]], "quicklogicplatform (class in amaranth.vendor)": [[13, "amaranth.vendor.QuicklogicPlatform"]], "xilinxplatform (class in amaranth.vendor)": [[14, "amaranth.vendor.XilinxPlatform"]], "asyncffsynchronizer (class in amaranth.lib.cdc)": [[17, "amaranth.lib.cdc.AsyncFFSynchronizer"]], "ffsynchronizer (class in amaranth.lib.cdc)": [[17, "amaranth.lib.cdc.FFSynchronizer"]], "pulsesynchronizer (class in amaranth.lib.cdc)": [[17, "amaranth.lib.cdc.PulseSynchronizer"]], "resetsynchronizer (class in amaranth.lib.cdc)": [[17, "amaranth.lib.cdc.ResetSynchronizer"]], "amaranth.lib.cdc": [[17, "module-amaranth.lib.cdc"]], "module": [[17, "module-amaranth.lib.cdc"], [18, "module-amaranth.lib.coding"], [19, "module-amaranth.lib.crc"], [20, "module-amaranth.lib.crc.catalog"], [21, "module-amaranth.lib.data"], [22, "module-amaranth.lib.enum"], [23, "module-amaranth.lib.fifo"], [24, "module-amaranth.lib.wiring"]], "decoder (class in amaranth.lib.coding)": [[18, "amaranth.lib.coding.Decoder"]], "encoder (class in amaranth.lib.coding)": [[18, "amaranth.lib.coding.Encoder"]], "graydecoder (class in amaranth.lib.coding)": [[18, "amaranth.lib.coding.GrayDecoder"]], "grayencoder (class in amaranth.lib.coding)": [[18, "amaranth.lib.coding.GrayEncoder"]], "prioritydecoder (class in amaranth.lib.coding)": [[18, "amaranth.lib.coding.PriorityDecoder"]], "priorityencoder (class in amaranth.lib.coding)": [[18, "amaranth.lib.coding.PriorityEncoder"]], "amaranth.lib.coding": [[18, "module-amaranth.lib.coding"]], "algorithm (class in amaranth.lib.crc)": [[19, "amaranth.lib.crc.Algorithm"]], "parameters (class in amaranth.lib.crc)": [[19, "amaranth.lib.crc.Parameters"]], "processor (class in amaranth.lib.crc)": [[19, "amaranth.lib.crc.Processor"]], "__call__() (amaranth.lib.crc.algorithm method)": [[19, "amaranth.lib.crc.Algorithm.__call__"]], "algorithm (amaranth.lib.crc.parameters property)": [[19, "amaranth.lib.crc.Parameters.algorithm"]], "amaranth.lib.crc": [[19, "module-amaranth.lib.crc"]], "compute() (amaranth.lib.crc.parameters method)": [[19, "amaranth.lib.crc.Parameters.compute"]], "create() (amaranth.lib.crc.parameters method)": [[19, "amaranth.lib.crc.Parameters.create"]], "residue() (amaranth.lib.crc.parameters method)": [[19, "amaranth.lib.crc.Parameters.residue"]], "crc10_atm (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC10_ATM"]], "crc10_cdma2000 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC10_CDMA2000"]], "crc10_gsm (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC10_GSM"]], "crc10_i_610 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC10_I_610"]], "crc11_flexray (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC11_FLEXRAY"]], "crc11_umts (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC11_UMTS"]], "crc12_3gpp (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC12_3GPP"]], "crc12_cdma2000 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC12_CDMA2000"]], "crc12_dect (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC12_DECT"]], "crc12_gsm (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC12_GSM"]], "crc12_umts (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC12_UMTS"]], "crc13_bbc (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC13_BBC"]], "crc14_darc (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC14_DARC"]], "crc14_gsm (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC14_GSM"]], "crc15_can (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC15_CAN"]], "crc15_mpt1327 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC15_MPT1327"]], "crc16_acorn (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_ACORN"]], "crc16_arc (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_ARC"]], "crc16_aug_ccitt (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_AUG_CCITT"]], "crc16_autosar (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_AUTOSAR"]], "crc16_bluetooth (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_BLUETOOTH"]], "crc16_buypass (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_BUYPASS"]], "crc16_ccitt (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_CCITT"]], "crc16_ccitt_false (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_CCITT_FALSE"]], "crc16_ccitt_true (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_CCITT_TRUE"]], "crc16_cdma2000 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_CDMA2000"]], "crc16_cms (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_CMS"]], "crc16_darc (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_DARC"]], "crc16_dds_110 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_DDS_110"]], "crc16_dect_r (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_DECT_R"]], "crc16_dect_x (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_DECT_X"]], "crc16_dnp (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_DNP"]], "crc16_en_13757 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_EN_13757"]], "crc16_epc (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_EPC"]], "crc16_epc_c1g2 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_EPC_C1G2"]], "crc16_genibus (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_GENIBUS"]], "crc16_gsm (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_GSM"]], "crc16_ibm (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_IBM"]], "crc16_ibm_3740 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_IBM_3740"]], "crc16_ibm_sdlc (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_IBM_SDLC"]], "crc16_iec_61158_2 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_IEC_61158_2"]], "crc16_iso_hdlc (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_ISO_HDLC"]], "crc16_iso_iec_14443_3_a (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_ISO_IEC_14443_3_A"]], "crc16_iso_iec_14443_3_b (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_ISO_IEC_14443_3_B"]], "crc16_i_code (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_I_CODE"]], "crc16_kermit (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_KERMIT"]], "crc16_lj1200 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_LJ1200"]], "crc16_lte (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_LTE"]], "crc16_m17 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_M17"]], "crc16_maxim (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_MAXIM"]], "crc16_maxim_dow (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_MAXIM_DOW"]], "crc16_mcrf4xx (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_MCRF4XX"]], "crc16_modbus (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_MODBUS"]], "crc16_nrsc_5 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_NRSC_5"]], "crc16_opensafety_a (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_OPENSAFETY_A"]], "crc16_opensafety_b (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_OPENSAFETY_B"]], "crc16_profibus (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_PROFIBUS"]], "crc16_riello (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_RIELLO"]], "crc16_spi_fujitsu (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_SPI_FUJITSU"]], "crc16_t10_dif (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_T10_DIF"]], "crc16_teledisk (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_TELEDISK"]], "crc16_tms37157 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_TMS37157"]], "crc16_umts (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_UMTS"]], "crc16_usb (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_USB"]], "crc16_verifone (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_VERIFONE"]], "crc16_v_41_lsb (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_V_41_LSB"]], "crc16_v_41_msb (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_V_41_MSB"]], "crc16_x25 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_X25"]], "crc16_xmodem (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_XMODEM"]], "crc16_zmodem (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_ZMODEM"]], "crc17_can_fd (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC17_CAN_FD"]], "crc21_can_fd (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC21_CAN_FD"]], "crc24_ble (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC24_BLE"]], "crc24_flexray_a (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC24_FLEXRAY_A"]], "crc24_flexray_b (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC24_FLEXRAY_B"]], "crc24_interlaken (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC24_INTERLAKEN"]], "crc24_lte_a (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC24_LTE_A"]], "crc24_lte_b (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC24_LTE_B"]], "crc24_openpgp (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC24_OPENPGP"]], "crc24_os_9 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC24_OS_9"]], "crc30_cdma (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC30_CDMA"]], "crc31_philips (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC31_PHILIPS"]], "crc32_aal5 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC32_AAL5"]], "crc32_adccp (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC32_ADCCP"]], "crc32_aixm (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC32_AIXM"]], "crc32_autosar (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC32_AUTOSAR"]], "crc32_base91_c (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC32_BASE91_C"]], "crc32_base91_d (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC32_BASE91_D"]], "crc32_bzip2 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC32_BZIP2"]], "crc32_castagnoli (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC32_CASTAGNOLI"]], "crc32_cd_rom_edc (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC32_CD_ROM_EDC"]], "crc32_cksum (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC32_CKSUM"]], "crc32_dect_b (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC32_DECT_B"]], "crc32_ethernet (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC32_ETHERNET"]], "crc32_interlaken (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC32_INTERLAKEN"]], "crc32_iscsi (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC32_ISCSI"]], "crc32_iso_hdlc (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC32_ISO_HDLC"]], "crc32_jamcrc (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC32_JAMCRC"]], "crc32_mef (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC32_MEF"]], "crc32_mpeg_2 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC32_MPEG_2"]], "crc32_pkzip (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC32_PKZIP"]], "crc32_posix (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC32_POSIX"]], "crc32_v_42 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC32_V_42"]], "crc32_xfer (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC32_XFER"]], "crc32_xz (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC32_XZ"]], "crc3_gsm (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC3_GSM"]], "crc3_rohc (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC3_ROHC"]], "crc40_gsm (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC40_GSM"]], "crc4_g_704 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC4_G_704"]], "crc4_interlaken (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC4_INTERLAKEN"]], "crc4_itu (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC4_ITU"]], "crc5_epc (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC5_EPC"]], "crc5_epc_c1g2 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC5_EPC_C1G2"]], "crc5_g_704 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC5_G_704"]], "crc5_itu (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC5_ITU"]], "crc5_usb (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC5_USB"]], "crc64_ecma (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC64_ECMA"]], "crc64_ecma_182 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC64_ECMA_182"]], "crc64_go_iso (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC64_GO_ISO"]], "crc64_ms (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC64_MS"]], "crc64_redis (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC64_REDIS"]], "crc64_we (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC64_WE"]], "crc64_xz (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC64_XZ"]], "crc6_cdma2000_a (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC6_CDMA2000_A"]], "crc6_cdma2000_b (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC6_CDMA2000_B"]], "crc6_darc (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC6_DARC"]], "crc6_gsm (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC6_GSM"]], "crc6_g_704 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC6_G_704"]], "crc6_itu (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC6_ITU"]], "crc7_mmc (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC7_MMC"]], "crc7_rohc (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC7_ROHC"]], "crc7_umts (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC7_UMTS"]], "crc82_darc (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC82_DARC"]], "crc8_aes (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC8_AES"]], "crc8_autosar (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC8_AUTOSAR"]], "crc8_bluetooth (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC8_BLUETOOTH"]], "crc8_cdma2000 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC8_CDMA2000"]], "crc8_darc (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC8_DARC"]], "crc8_dvb_s2 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC8_DVB_S2"]], "crc8_etu (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC8_ETU"]], "crc8_gsm_a (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC8_GSM_A"]], "crc8_gsm_b (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC8_GSM_B"]], "crc8_hitag (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC8_HITAG"]], "crc8_itu (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC8_ITU"]], "crc8_i_432_1 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC8_I_432_1"]], "crc8_i_code (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC8_I_CODE"]], "crc8_lte (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC8_LTE"]], "crc8_maxim (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC8_MAXIM"]], "crc8_maxim_dow (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC8_MAXIM_DOW"]], "crc8_mifare_mad (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC8_MIFARE_MAD"]], "crc8_nrsc_5 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC8_NRSC_5"]], "crc8_opensafety (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC8_OPENSAFETY"]], "crc8_rohc (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC8_ROHC"]], "crc8_sae_j1850 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC8_SAE_J1850"]], "crc8_smbus (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC8_SMBUS"]], "crc8_tech_3250 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC8_TECH_3250"]], "crc8_wcdma (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC8_WCDMA"]], "amaranth.lib.crc.catalog": [[20, "module-amaranth.lib.crc.catalog"]], "arraylayout (class in amaranth.lib.data)": [[21, "amaranth.lib.data.ArrayLayout"]], "field (class in amaranth.lib.data)": [[21, "amaranth.lib.data.Field"]], "flexiblelayout (class in amaranth.lib.data)": [[21, "amaranth.lib.data.FlexibleLayout"]], "layout (class in amaranth.lib.data)": [[21, "amaranth.lib.data.Layout"]], "struct (class in amaranth.lib.data)": [[21, "amaranth.lib.data.Struct"]], "structlayout (class in amaranth.lib.data)": [[21, "amaranth.lib.data.StructLayout"]], "union (class in amaranth.lib.data)": [[21, "amaranth.lib.data.Union"]], "unionlayout (class in amaranth.lib.data)": [[21, "amaranth.lib.data.UnionLayout"]], "view (class in amaranth.lib.data)": [[21, "amaranth.lib.data.View"]], "__call__() (amaranth.lib.data.layout method)": [[21, "amaranth.lib.data.Layout.__call__"]], "__eq__() (amaranth.lib.data.field method)": [[21, "amaranth.lib.data.Field.__eq__"]], "__eq__() (amaranth.lib.data.layout method)": [[21, "amaranth.lib.data.Layout.__eq__"]], "__getattr__() (amaranth.lib.data.view method)": [[21, "amaranth.lib.data.View.__getattr__"]], "__getitem__() (amaranth.lib.data.layout method)": [[21, "amaranth.lib.data.Layout.__getitem__"]], "__getitem__() (amaranth.lib.data.view method)": [[21, "amaranth.lib.data.View.__getitem__"]], "__iter__() (amaranth.lib.data.layout method)": [[21, "amaranth.lib.data.Layout.__iter__"]], "amaranth.lib.data": [[21, "module-amaranth.lib.data"]], "as_shape() (amaranth.lib.data.layout method)": [[21, "amaranth.lib.data.Layout.as_shape"]], "as_value() (amaranth.lib.data.view method)": [[21, "amaranth.lib.data.View.as_value"]], "cast() (amaranth.lib.data.layout static method)": [[21, "amaranth.lib.data.Layout.cast"]], "const() (amaranth.lib.data.layout method)": [[21, "amaranth.lib.data.Layout.const"]], "const() (amaranth.lib.data.unionlayout method)": [[21, "amaranth.lib.data.UnionLayout.const"]], "eq() (amaranth.lib.data.view method)": [[21, "amaranth.lib.data.View.eq"]], "shape() (amaranth.lib.data.view method)": [[21, "amaranth.lib.data.View.shape"]], "size (amaranth.lib.data.arraylayout property)": [[21, "amaranth.lib.data.ArrayLayout.size"]], "size (amaranth.lib.data.layout property)": [[21, "amaranth.lib.data.Layout.size"]], "size (amaranth.lib.data.structlayout property)": [[21, "amaranth.lib.data.StructLayout.size"]], "size (amaranth.lib.data.unionlayout property)": [[21, "amaranth.lib.data.UnionLayout.size"]], "width (amaranth.lib.data.field property)": [[21, "amaranth.lib.data.Field.width"]], "enum (class in amaranth.lib.enum)": [[22, "amaranth.lib.enum.Enum"]], "enummeta (class in amaranth.lib.enum)": [[22, "amaranth.lib.enum.EnumMeta"]], "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.enummeta method)": [[22, "amaranth.lib.enum.EnumMeta.__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.enummeta method)": [[22, "amaranth.lib.enum.EnumMeta.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"]], "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"]], "component (class in amaranth.lib.wiring)": [[24, "amaranth.lib.wiring.Component"]], "connectionerror": [[24, "amaranth.lib.wiring.ConnectionError"]], "flippedinterface (class in amaranth.lib.wiring)": [[24, "amaranth.lib.wiring.FlippedInterface"]], "flippedsignature (class in amaranth.lib.wiring)": [[24, "amaranth.lib.wiring.FlippedSignature"]], "flippedsignaturemembers (class in amaranth.lib.wiring)": [[24, "amaranth.lib.wiring.FlippedSignatureMembers"]], "flow (class in amaranth.lib.wiring)": [[24, "amaranth.lib.wiring.Flow"]], "in (amaranth.lib.wiring.flow attribute)": [[24, "amaranth.lib.wiring.Flow.In"]], "in (in module amaranth.lib.wiring)": [[24, "amaranth.lib.wiring.In"]], "member (class in amaranth.lib.wiring)": [[24, "amaranth.lib.wiring.Member"]], "out (amaranth.lib.wiring.flow attribute)": [[24, "amaranth.lib.wiring.Flow.Out"]], "out (in module amaranth.lib.wiring)": [[24, "amaranth.lib.wiring.Out"]], "pureinterface (class in amaranth.lib.wiring)": [[24, "amaranth.lib.wiring.PureInterface"]], "signature (class in amaranth.lib.wiring)": [[24, "amaranth.lib.wiring.Signature"]], "signatureerror": [[24, "amaranth.lib.wiring.SignatureError"]], "signaturemembers (class in amaranth.lib.wiring)": [[24, "amaranth.lib.wiring.SignatureMembers"]], "signaturemeta (class in amaranth.lib.wiring)": [[24, "amaranth.lib.wiring.SignatureMeta"]], "__call__() (amaranth.lib.wiring.flow method)": [[24, "amaranth.lib.wiring.Flow.__call__"]], "__contains__() (amaranth.lib.wiring.signaturemembers method)": [[24, "amaranth.lib.wiring.SignatureMembers.__contains__"]], "__delattr__() (amaranth.lib.wiring.flippedinterface method)": [[24, "amaranth.lib.wiring.FlippedInterface.__delattr__"]], "__delattr__() (amaranth.lib.wiring.flippedsignature method)": [[24, "amaranth.lib.wiring.FlippedSignature.__delattr__"]], "__delitem__() (amaranth.lib.wiring.signaturemembers method)": [[24, "amaranth.lib.wiring.SignatureMembers.__delitem__"]], "__eq__() (amaranth.lib.wiring.flippedinterface method)": [[24, "amaranth.lib.wiring.FlippedInterface.__eq__"]], "__eq__() (amaranth.lib.wiring.signature method)": [[24, "amaranth.lib.wiring.Signature.__eq__"]], "__eq__() (amaranth.lib.wiring.signaturemembers method)": [[24, "amaranth.lib.wiring.SignatureMembers.__eq__"]], "__getattr__() (amaranth.lib.wiring.flippedinterface method)": [[24, "amaranth.lib.wiring.FlippedInterface.__getattr__"]], "__getattr__() (amaranth.lib.wiring.flippedsignature method)": [[24, "amaranth.lib.wiring.FlippedSignature.__getattr__"]], "__getitem__() (amaranth.lib.wiring.signaturemembers method)": [[24, "amaranth.lib.wiring.SignatureMembers.__getitem__"]], "__init__() (amaranth.lib.wiring.pureinterface method)": [[24, "amaranth.lib.wiring.PureInterface.__init__"]], "__instancecheck__() (amaranth.lib.wiring.signaturemeta method)": [[24, "amaranth.lib.wiring.SignatureMeta.__instancecheck__"]], "__iter__() (amaranth.lib.wiring.signaturemembers method)": [[24, "amaranth.lib.wiring.SignatureMembers.__iter__"]], "__setattr__() (amaranth.lib.wiring.flippedinterface method)": [[24, "amaranth.lib.wiring.FlippedInterface.__setattr__"]], "__setattr__() (amaranth.lib.wiring.flippedsignature method)": [[24, "amaranth.lib.wiring.FlippedSignature.__setattr__"]], "__setitem__() (amaranth.lib.wiring.signaturemembers method)": [[24, "amaranth.lib.wiring.SignatureMembers.__setitem__"]], "__subclasscheck__() (amaranth.lib.wiring.signaturemeta method)": [[24, "amaranth.lib.wiring.SignatureMeta.__subclasscheck__"]], "amaranth.lib.wiring": [[24, "module-amaranth.lib.wiring"]], "array() (amaranth.lib.wiring.member method)": [[24, "amaranth.lib.wiring.Member.array"]], "connect() (in module amaranth.lib.wiring)": [[24, "amaranth.lib.wiring.connect"]], "create() (amaranth.lib.wiring.signature method)": [[24, "amaranth.lib.wiring.Signature.create"]], "create() (amaranth.lib.wiring.signaturemembers method)": [[24, "amaranth.lib.wiring.SignatureMembers.create"]], "dimensions (amaranth.lib.wiring.member property)": [[24, "amaranth.lib.wiring.Member.dimensions"]], "flatten() (amaranth.lib.wiring.signature method)": [[24, "amaranth.lib.wiring.Signature.flatten"]], "flatten() (amaranth.lib.wiring.signaturemembers method)": [[24, "amaranth.lib.wiring.SignatureMembers.flatten"]], "flip() (amaranth.lib.wiring.flippedsignature method)": [[24, "amaranth.lib.wiring.FlippedSignature.flip"]], "flip() (amaranth.lib.wiring.flippedsignaturemembers method)": [[24, "amaranth.lib.wiring.FlippedSignatureMembers.flip"]], "flip() (amaranth.lib.wiring.flow method)": [[24, "amaranth.lib.wiring.Flow.flip"]], "flip() (amaranth.lib.wiring.member method)": [[24, "amaranth.lib.wiring.Member.flip"]], "flip() (amaranth.lib.wiring.signature method)": [[24, "amaranth.lib.wiring.Signature.flip"]], "flip() (amaranth.lib.wiring.signaturemembers method)": [[24, "amaranth.lib.wiring.SignatureMembers.flip"]], "flipped() (in module amaranth.lib.wiring)": [[24, "amaranth.lib.wiring.flipped"]], "flow (amaranth.lib.wiring.member property)": [[24, "amaranth.lib.wiring.Member.flow"]], "is_compliant() (amaranth.lib.wiring.signature method)": [[24, "amaranth.lib.wiring.Signature.is_compliant"]], "is_port (amaranth.lib.wiring.member property)": [[24, "amaranth.lib.wiring.Member.is_port"]], "is_signature (amaranth.lib.wiring.member property)": [[24, "amaranth.lib.wiring.Member.is_signature"]], "members (amaranth.lib.wiring.signature property)": [[24, "amaranth.lib.wiring.Signature.members"]], "reset (amaranth.lib.wiring.member property)": [[24, "amaranth.lib.wiring.Member.reset"]], "shape (amaranth.lib.wiring.member property)": [[24, "amaranth.lib.wiring.Member.shape"]], "signature (amaranth.lib.wiring.component property)": [[24, "amaranth.lib.wiring.Component.signature"]], "signature (amaranth.lib.wiring.flippedinterface property)": [[24, "amaranth.lib.wiring.FlippedInterface.signature"]], "signature (amaranth.lib.wiring.member property)": [[24, "amaranth.lib.wiring.Member.signature"]]}}) \ No newline at end of file +Search.setIndex({"docnames": ["changes", "contrib", "cover", "index", "install", "intro", "lang", "platform", "platform/gowin", "platform/intel", "platform/lattice-ecp5", "platform/lattice-ice40", "platform/lattice-machxo-2-3l", "platform/quicklogic", "platform/xilinx", "start", "stdlib", "stdlib/cdc", "stdlib/coding", "stdlib/crc", "stdlib/crc/catalog", "stdlib/data", "stdlib/enum", "stdlib/fifo", "stdlib/wiring", "tutorial"], "filenames": ["changes.rst", "contrib.rst", "cover.rst", "index.rst", "install.rst", "intro.rst", "lang.rst", "platform.rst", "platform/gowin.rst", "platform/intel.rst", "platform/lattice-ecp5.rst", "platform/lattice-ice40.rst", "platform/lattice-machxo-2-3l.rst", "platform/quicklogic.rst", "platform/xilinx.rst", "start.rst", "stdlib.rst", "stdlib/cdc.rst", "stdlib/coding.rst", "stdlib/crc.rst", "stdlib/crc/catalog.rst", "stdlib/data.rst", "stdlib/enum.rst", "stdlib/fifo.rst", "stdlib/wiring.rst", "tutorial.rst"], "titles": ["Changelog", "Contributing", "Amaranth project documentation", "Language & toolchain", "Installation", "Introduction", "Language guide", "Platform integration", "Gowin", "Intel", "Lattice ECP5", "Lattice iCE40", "Lattice MachXO2 and MachXO3L", "Quicklogic", "Xilinx", "Getting started", "Standard library", "Clock domain crossing", "Code conversion", "Cyclic redundancy checks", "Predefined CRC Algorithms", "Data structures", "Enumerations", "First-in first-out queues", "Interfaces and connections", "Tutorial"], "terms": {"thi": [0, 1, 3, 5, 6, 7, 11, 15, 16, 17, 19, 20, 21, 22, 23, 24], "describ": [0, 1, 15, 21, 24], "public": [0, 1, 24], "interfac": [0, 3, 5, 6, 15, 16, 21, 23], "amaranth": [0, 1, 3, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25], "It": [0, 1, 5, 6, 15, 19, 21, 22, 24], "doe": [0, 4, 5, 6, 17, 21, 23, 24], "includ": [0, 1, 4, 5, 6, 15, 16, 19, 22, 24], "most": [0, 4, 5, 6, 15, 17, 19, 21, 22, 24], "bug": [0, 1, 4, 5, 6], "fix": [0, 3, 4, 6, 15, 19, 24], "i": [0, 1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25], "avail": [0, 4, 6, 9, 10, 11, 12, 13, 14, 15, 19, 23, 24], "onlin": 0, "The": [0, 1, 3, 4, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25], "migen": 0, "compat": [0, 4], "layer": 0, "ha": [0, 1, 5, 6, 15, 19, 21, 22, 23, 24], "been": [0, 4, 16, 19, 23], "remov": [0, 1, 6, 19, 24], "appli": [0, 6, 19, 21, 22], "follow": [0, 1, 4, 5, 6, 10, 12, 15, 17, 19, 21, 24, 25], "code": [0, 1, 3, 4, 5, 6, 15, 16, 21, 24], "written": [0, 5, 6, 15, 23, 24, 25], "against": [0, 6], "replac": [0, 22, 24], "us": [0, 1, 4, 5, 6, 9, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25], "m": [0, 6, 15, 19, 20, 21, 24], "case": [0, 15, 19, 21, 23, 24], "pattern": [0, 6], "default": [0, 6, 14, 17, 19, 20, 24], "valu": [0, 3, 15, 17, 19, 21, 22, 24], "match": [0, 5, 24], "const": [0, 6, 21, 22, 24], "updat": [0, 1, 4, 6, 15, 19, 24], "util": [0, 16, 19], "log2_int": 0, "need_pow2": 0, "fals": [0, 6, 17, 19, 20, 23, 24], "ceil_log2": 0, "true": [0, 6, 15, 17, 19, 20, 22, 24], "exact_log2": 0, "17": [0, 1, 20, 22], "39": [0, 15], "semant": [0, 5, 6, 24], "argument": [0, 6, 22, 24], "ad": [0, 4, 5, 6, 15, 21, 24], "ast": 0, "slice": [0, 6, 21], "object": [0, 6, 9, 19, 21, 24], "have": [0, 1, 4, 6, 16, 21, 24], "made": [0, 4, 6, 24], "castabl": [0, 6, 21, 22, 24], "never": [0, 6, 21, 22, 24], "activ": [0, 5], "instead": [0, 6, 21, 24], "alwai": [0, 5, 6, 15, 17, 19, 24], "signal": [0, 3, 5, 15, 17, 18, 19, 21, 22, 23, 24], "rang": [0, 15, 18, 21, 23, 24], "stop": [0, 6], "reset": [0, 5, 15, 17, 19, 21, 23, 24], "warn": 0, "hard": [0, 1, 5, 21], "error": [0, 1, 5, 6, 9, 10, 11, 19, 21, 24], "trigger": 0, "ani": [0, 1, 4, 6, 15, 17, 18, 19, 21, 22, 23, 24], "out": [0, 3, 4, 5, 15, 16, 17, 18, 19, 24], "now": [0, 24], "valid": [0, 17, 19, 21, 23, 24], "without": [0, 1, 5, 6, 19, 21, 24], "deprec": 0, "normal": [0, 24], "sampl": [0, 6, 24], "stabl": [0, 6], "rose": 0, "fell": 0, "lib": [0, 6, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24], "schedul": 0, "19": 0, "fifo": [0, 5, 16, 23], "fifointerfac": [0, 16, 23], "fwft": 0, "20": 0, "syncfifo": [0, 16, 23], "buildplan": 0, "execute_local_dock": 0, "extract": [0, 24], "build": [0, 3, 4, 6, 8, 9, 10, 11, 12, 14, 15, 17, 18, 23, 24], "sh": 0, "begin": [0, 6, 15, 21, 24], "bin": [0, 10, 11, 12, 14], "run_script": 0, "execute_loc": 0, "vendor": [0, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15], "intel": [0, 3, 7], "lattice_ecp5": 0, "lattice_ice40": 0, "lattice_machxo2_3l": 0, "quicklog": [0, 3, 7], "xilinx": [0, 3, 7], "18": 0, "support": [0, 1, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 17, 21, 23], "new": [0, 3, 4, 5, 6, 19, 21, 23, 24], "improv": [0, 1, 21, 23, 24], "wai": [0, 1, 6, 21, 22, 24], "defin": [0, 5, 6, 15, 17, 19, 22, 24], "data": [0, 3, 16, 17, 19, 23, 24], "structur": [0, 1, 3, 15, 16, 24], "compon": [0, 2, 5, 6, 15, 16, 21], "wire": [0, 6, 15, 16, 24], "record": [0, 1, 15], "In": [0, 6, 15, 21, 22, 23, 24], "departur": 0, "usual": [0, 1, 5, 6, 17, 21, 24], "polici": 0, "give": [0, 6, 21], "design": [0, 1, 4, 5, 6, 14, 15, 16, 17, 19, 21, 24, 25], "addit": [0, 1, 4, 5, 6, 21, 22, 23, 24], "time": [0, 1, 4, 5, 6, 11, 15, 17, 21, 23, 24], "6": [0, 6, 15, 20, 21], "one": [0, 1, 6, 15, 16, 17, 18, 19, 21, 23, 24, 25], "later": [0, 1, 6], "than": [0, 4, 5, 6, 17, 21, 22, 24], "enumer": [0, 3, 16, 21, 24], "extend": [0, 5, 6, 22, 24], "A": [0, 1, 3, 4, 5, 6, 17, 19, 21, 22, 24, 25], "shape": [0, 3, 21, 22, 24], "member": [0, 21, 22, 24], "can": [0, 1, 4, 5, 6, 15, 19, 21, 22, 23, 24], "provid": [0, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24], "an": [0, 1, 4, 5, 6, 15, 17, 19, 20, 21, 22, 23, 24], "class": [0, 1, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 23, 24], "sever": [0, 1, 6, 24], "extens": [0, 15], "point": [0, 11, 21], "base": [0, 5, 6, 8, 9, 10, 11, 12, 13, 14, 16, 19, 21, 24], "outsid": [0, 6, 24], "core": [0, 5, 9, 24], "particular": [0, 5, 6, 21, 24], "mai": [0, 1, 4, 6, 17, 19, 21, 22, 24], "return": [0, 6, 15, 19, 21, 22, 24], "wrap": [0, 21, 22, 24], "anoth": [0, 6, 21, 22, 24], "call": [0, 6, 19, 20, 21, 22, 24], "protocol": [0, 22], "15": [0, 15, 20], "issu": [0, 1, 5, 6], "infer": [0, 5, 6, 21], "resolv": [0, 24], "notabl": [0, 4], "b": [0, 6, 19, 22, 24], "where": [0, 1, 6, 17, 19, 21, 24], "both": [0, 1, 5, 6, 19, 21, 24], "ar": [0, 1, 5, 6, 8, 9, 10, 11, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24], "unsign": [0, 6, 21, 22, 24], "sign": [0, 1, 6, 21], "python": [0, 1, 4, 5, 6, 11, 15, 21, 22, 24], "7": [0, 4, 5, 6, 20, 21], "11": [0, 20, 21], "12": [0, 6, 20], "featur": [0, 3, 17, 24], "nmigen": [0, 25], "namespac": [0, 6], "annot": [0, 21, 24], "recogn": 0, "nmigen_": 0, "envron": 0, "variabl": [0, 6, 8, 9, 10, 11, 12, 13, 14, 18, 19, 21, 23, 24], "remain": [0, 23, 24], "had": [0, 21, 24], "sinc": [0, 4, 6, 15, 19, 21, 24], "shell": 0, "environ": [0, 5, 8, 9, 10, 11, 12, 13, 14], "amaranth_": 0, "amaranth_env_": 0, "all": [0, 1, 5, 6, 9, 15, 16, 19, 20, 21, 22, 24], "uppercas": 0, "name": [0, 5, 8, 9, 10, 11, 12, 14, 17, 21, 24], "nmigen_env_": 0, "mix": [0, 6], "import": [0, 1, 6, 15, 19, 21, 22, 24], "form": [0, 6, 19, 24], "some_vendor": 0, "somevendorplatform": 0, "reduc": [0, 5, 6, 17, 21, 24], "futur": [0, 5, 6, 24], "churn": 0, "repl": 0, "count": [0, 6, 15, 24], "replic": [0, 6], "appropri": [0, 24], "depend": [0, 1, 4, 5, 6, 21, 23, 24], "If": [0, 1, 4, 15, 17, 18, 19, 21, 22, 23, 24], "wa": [0, 19, 21, 24], "being": [0, 1, 6, 21, 23, 24, 25], "storag": 0, "access": [0, 6, 20, 23, 24], "bit": [0, 4, 10, 12, 14, 15, 18, 19, 21, 22, 23], "level": [0, 5, 6, 15, 21, 23, 24], "represent": [0, 6, 24], "connect": [0, 3, 15, 16, 17], "togeth": [0, 1, 6, 24], "manual": [0, 1, 3, 4, 19, 21, 24], "instanti": [0, 5, 6, 15, 17, 21], "regist": [0, 5, 6, 19, 23, 24], "e": [0, 1, 6, 17, 23, 24], "g": [0, 6, 14, 17, 24], "past_x": 0, "like": [0, 1, 4, 5, 6, 17, 21, 22, 24], "x": [0, 6, 19, 24], "d": [0, 6, 15, 19, 21, 24], "sync": [0, 6, 15, 21, 24], "eq": [0, 6, 15, 21, 22, 24], "nativ": [0, 5], "syntax": [0, 6, 15, 21, 24], "ensur": [0, 6, 22, 24], "pin": [0, 5], "instanc": [0, 3, 10, 12, 19, 21, 22, 24], "request": [0, 1, 6, 15, 18, 24], "cast": [0, 3, 21, 22, 24], "directli": [0, 5, 6, 17, 19, 21, 23, 24], "its": [0, 1, 6, 15, 17, 19, 21, 22, 24], "field": [0, 21], "led": [0, 3], "cat": [0, 6, 22], "n": [0, 6, 17, 18, 21], "o": [0, 2, 5, 6, 14, 17, 18], "note": [0, 6, 17, 19, 21, 22], "roundrobin": 0, "inlin": 0, "copi": [0, 1, 24], "convert": [0, 5, 6, 21, 24], "those": [0, 6, 24], "while": [0, 1, 5, 6, 19, 21, 24], "list": [0, 1, 6, 19, 24], "below": [0, 6, 15, 17, 24], "work": [0, 3, 4, 5, 6, 10, 12, 15, 21, 24], "thei": [0, 1, 6, 15, 19, 21, 24], "next": [0, 4, 6, 15, 23, 24], "aggreg": [0, 6, 21], "definit": [0, 3, 6, 15, 24], "constant": [0, 3, 21, 22], "express": [0, 6, 21, 22, 24], "crc": [0, 16, 19], "gener": [0, 5, 6, 15, 19, 24], "8": [0, 4, 6, 19, 20, 21, 24], "9": [0, 6], "initi": [0, 17, 19, 21, 24], "10": [0, 6, 20, 21, 24], "move": 0, "reorgan": 0, "lift": [0, 24], "non": [0, 5, 6, 17, 24], "22": 0, "valuecast": [0, 21], "28": 0, "allow": [0, 5, 6, 17, 22, 24], "overrid": [0, 9, 10, 11, 12, 13, 14, 17, 21, 24], "oper": [0, 3, 5, 21, 22, 24], "31": [0, 6, 20, 21], "type": [0, 6, 19, 21, 22, 23, 24], "safeti": [0, 22], "34": 0, "renam": 0, "pureinterfac": [0, 24], "35": [0, 4], "add": [0, 1, 5, 6, 9, 10, 11, 14, 19, 21, 22, 24], "shapelik": 0, "valuelik": 0, "37": 0, "make": [0, 1, 4, 5, 6, 16, 22, 23], "signatur": [0, 16], "immut": [0, 6, 21, 24], "38": [0, 15], "shapecast": [0, 21, 22], "similar": [0, 1, 6, 15, 19, 21, 24], "as_sign": [0, 6], "as_unsign": [0, 6], "left": [0, 6, 19], "hand": 0, "side": [0, 6], "assign": [0, 15, 21, 22, 24], "differ": [0, 1, 5, 6, 16, 17, 18, 21, 23, 24], "behavior": [0, 1, 5, 6, 15, 21, 24], "accept": [0, 1, 6, 21, 22, 24], "supersed": 0, "memori": [0, 3, 5, 15, 23, 24], "transpar": [0, 6], "read": [0, 6, 21, 23, 24], "port": [0, 15, 24], "enabl": [0, 5, 6, 9, 10, 11, 15, 21, 24], "creat": [0, 1, 6, 19, 20, 22, 24], "__call__": [0, 19, 21, 22, 24], "method": [0, 1, 6, 15, 17, 19, 21, 22, 24], "recurs": [0, 21, 24], "treat": [0, 6, 19, 24], "deriv": [0, 5, 6, 15, 21, 24], "enum": [0, 6, 16, 21, 22, 24], "int": [0, 6, 15, 17, 18, 19, 21, 23, 24], "intenum": [0, 6, 22], "rather": [0, 6, 21, 24], "integ": [0, 19, 21, 22, 24], "empti": [0, 6, 23], "explicitli": [0, 6, 15, 19, 21, 22, 24], "specifi": [0, 6, 8, 9, 10, 11, 12, 13, 14, 15, 17, 19, 21, 22, 23, 24], "longer": 0, "construct": [0, 5, 6, 15, 19, 21, 22, 23, 24], "were": [0, 6], "__abs__": 0, "predat": 0, "process": [0, 1, 5, 6, 19, 21, 24], "width": [0, 18, 19, 21, 23, 24], "tupl": [0, 6, 24], "uservalu": 0, "linter": 0, "instruct": [0, 15], "file": [0, 3, 5, 6, 9, 10, 11, 12, 13, 14, 15, 21, 22, 24], "text": 0, "lf": 0, "line": [0, 15, 22, 24], "end": [0, 5, 6, 9, 10, 11, 12, 15], "window": [0, 4, 5, 10, 12], "other": [0, 1, 4, 5, 6, 15, 17, 19, 21, 22, 24], "debug_verilog": 0, "templatedplatform": 0, "env": 0, "run": [0, 4, 5, 8, 9, 10, 11, 12, 13, 14, 15], "add_fil": [0, 11], "reject": [0, 6], "absolut": [0, 6], "path": [0, 10, 12], "nmigen_env_diamond": 0, "amaranth_env_diamond": [0, 10, 12], "upper": 0, "sim": [0, 15], "simul": [0, 3, 4, 6, 15], "step": [0, 1, 4, 5, 6, 15], "back": [0, 15, 21, 24], "pysim": 0, "invok": [0, 6, 24], "rtlil": 0, "verilog": [0, 5, 6, 15], "explicit": [0, 5, 6, 19], "test": [0, 1, 5, 23], "icepack_opt": 0, "latticeice40platform": [0, 6, 7, 11], "osch": 0, "default_clk": 0, "clock": [0, 3, 5, 15, 16, 19, 23], "sourc": [0, 1, 4, 5, 6, 15, 21, 24], "latticemachxo2platform": [0, 7, 12], "latticemachxo3lplatform": [0, 7, 12], "xrai": [0, 14], "xilinxplatform": [0, 7, 14], "artix": 0, "ultrascal": 0, "part": [0, 1, 6, 15, 21, 24], "gowinplatform": [0, 7, 8], "lattice_machxo2": 0, "lattice_machxo_2_3l": 0, "latticemachxo2or3lplatform": [0, 7, 12], "svf": [0, 10, 12], "program": [0, 1, 5, 6, 10, 12, 15], "vector": [0, 10, 12], "xilinx_spartan_3_6": 0, "xilinxspartan3aplatform": 0, "xilinxspartan6platform": 0, "xilinx_7seri": 0, "xilinx7seriesplatform": 0, "xilinx_ultrascal": 0, "xilinxultrascaleplatform": 0, "project": [0, 1, 5, 22], "nm": 0, "prelud": [0, 3], "am": [0, 6], "adjust": 0, "nmigen_board": 0, "amaranth_board": [0, 15], "board": [0, 3, 15], "switch": [0, 21], "hdl": [0, 4, 5, 6, 15, 25], "inherit": [0, 6, 21, 23, 24], "miss": [0, 1], "fhdltestcas": 0, "assertform": 0, "necessari": [0, 1, 5, 6, 11, 15, 16, 21, 24], "ab": [0, 6], "rotate_left": [0, 6], "rotate_right": [0, 6], "shift_left": [0, 6], "shift_right": [0, 6], "divis": [0, 6], "modulo": [0, 6], "neg": [0, 6, 17], "divisor": [0, 15], "cdc": [0, 5, 6, 16, 17], "pulsesynchron": [0, 16, 17], "asyncffsynchron": [0, 16, 17], "asyncfifo": [0, 16, 23], "when": [0, 1, 5, 6, 15, 17, 19, 21, 22, 23, 24], "write": [0, 6, 7, 15, 23, 24], "domain": [0, 3, 5, 15, 16, 23, 24], "r_rst": [0, 23], "assert": [0, 6, 15, 17, 18, 19, 23, 24], "r_level": [0, 23], "w_level": [0, 23], "backend": [0, 6, 15], "larger": [0, 6, 19], "65536": 0, "emit": [0, 6, 24], "yosi": [0, 1, 4, 5, 8, 9, 10, 11, 14], "attribut": [0, 5, 6, 15, 21, 24], "instal": [0, 1, 3, 11, 15], "fall": [0, 16], "pypi": [0, 4, 5], "packag": [0, 1, 4, 15], "builtin": [0, 4], "cxxrtl": 0, "multipl": [0, 5, 6, 18, 24], "fragment": [0, 6], "add_process": 0, "advanc": [0, 5, 15, 24], "execute_remote_ssh": 0, "vcd": [0, 15], "output": [0, 1, 6, 11, 15, 17, 18, 19, 23, 24], "top": [0, 6, 15], "bench": [0, 5, 15], "modul": [0, 3, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24], "contain": [0, 1, 5, 6, 15, 19, 20, 21, 24], "testbench": 0, "onli": [0, 4, 5, 6, 15, 17, 18, 19, 21, 22, 23, 24], "sb_lfosc": 0, "sb_hfosc": 0, "binari": [0, 4, 6, 8, 9, 10, 11, 12, 14, 18], "bitstream": [0, 8, 9, 10, 11, 12, 14, 15], "grade": [0, 25], "famili": [0, 4, 5, 21], "temperatur": 0, "speed": [0, 5], "symbiflow": [0, 13, 14], "separ": [0, 16], "flash": [0, 5, 12, 15], "sram": [0, 9, 12], "_flash": [0, 12], "_sram": [0, 12], "quicklogicplatform": [0, 7, 13], "cyclonev_oscil": 0, "intelplatform": [0, 7, 9], "add_set": [0, 9], "add_constraint": [0, 9, 10, 11, 12, 13, 14], "mistral": [0, 9], "synth_design_opt": [0, 14], "No": [0, 21, 24], "publish": 0, "under": [0, 6, 21, 24], "collect": [1, 5, 6, 24], "mani": [1, 5, 6, 15, 19, 24], "peopl": 1, "collabor": 1, "over": [1, 19, 21], "year": 1, "would": [1, 6, 19, 21, 24], "same": [1, 5, 6, 15, 19, 21, 22, 23, 24], "everyon": 1, "": [1, 4, 5, 6, 15, 17, 19, 21, 23, 24, 25], "uniqu": [1, 6], "perspect": 1, "we": [1, 6], "re": [1, 19, 22], "glad": 1, "you": [1, 4, 6, 17, 19], "consid": [1, 5, 6, 15, 17, 21, 24, 25], "join": 1, "u": 1, "page": 1, "guid": [1, 3, 15, 19, 24], "through": [1, 5, 6, 21, 24], "some": [1, 5, 6, 15, 24], "best": 1, "tool": [1, 5, 6, 8, 9, 10, 11, 12, 13, 14, 24], "hear": 1, "about": [1, 6, 24], "encount": 1, "crucial": [1, 6], "do": [1, 6, 15, 21, 24], "care": [1, 6], "lot": 1, "correct": [1, 6, 16, 24], "result": [1, 6, 15, 21, 22, 24], "experi": [1, 6], "just": [1, 6, 21, 22], "much": 1, "meant": [1, 24], "comfort": 1, "fewer": [1, 6], "sharp": 1, "edg": [1, 6, 15, 17], "matter": [1, 21], "how": [1, 4, 6, 19, 21, 24], "technolog": 1, "appeal": 1, "might": 1, "more": [1, 5, 6, 15, 21, 24], "guardrail": 1, "pleas": 1, "To": [1, 4, 5, 6, 15, 19, 20, 21, 24], "go": [1, 5, 24], "beyond": [1, 6, 24], "see": [1, 6, 15, 17, 24], "messag": [1, 6, 9, 10, 11, 15, 24], "understand": [1, 6, 24], "mislead": 1, "even": [1, 6, 17, 24], "especi": [1, 5, 6], "think": 1, "did": [1, 4], "someth": 1, "wrong": [1, 6, 24], "inform": [1, 9, 10, 11, 15, 21, 24], "exact": [1, 21], "version": [1, 3, 4, 6], "which": [1, 5, 6, 11, 15, 17, 19, 20, 21, 22, 23, 24], "find": 1, "c": [1, 6, 10, 12, 22, 24], "print": [1, 6, 24], "__version__": 1, "complet": [1, 6, 19], "self": [1, 5, 6, 15, 21, 22, 24], "minim": [1, 15], "demonstr": [1, 15, 24], "feasibl": 1, "sequenc": [1, 17, 21], "reproduc": [1, 5], "what": [1, 6, 19, 24], "expect": [1, 21, 24], "happen": [1, 6], "actual": [1, 22, 24], "possibl": [1, 5, 6, 22, 24], "verbatim": 1, "log": [1, 9, 10, 11, 12, 14], "termin": 1, "For": [1, 4, 6, 19, 20, 21, 22, 24], "usabl": [1, 5, 24], "reason": [1, 6, 24], "why": [1, 24], "There": [1, 6, 24], "person": 1, "who": 1, "should": [1, 4, 6, 15, 17, 21, 23, 24], "submit": [1, 21], "valuabl": 1, "own": [1, 6, 21], "right": [1, 6, 21], "appreci": 1, "open": [1, 5, 6, 15], "commun": [1, 5, 21, 24, 25], "tend": 1, "opportun": 1, "enjoi": 1, "pull": [1, 4], "howev": [1, 4, 6, 17, 21, 24], "unless": [1, 6, 23, 24], "ve": 1, "few": [1, 6, 15, 21, 24], "befor": [1, 4, 6, 10, 12, 14, 24], "truli": 1, "trivial": 1, "discuss": [1, 24], "maintain": [1, 5, 17], "first": [1, 3, 4, 5, 6, 15, 16, 17, 19, 21, 24], "doesn": 1, "t": [1, 6, 21], "take": [1, 5, 6, 19, 24], "sometim": [1, 5, 6, 24], "save": [1, 10, 12], "unnecessari": 1, "frustrat": 1, "languag": [1, 2, 15, 16, 24], "toolchain": [1, 2, 4, 6, 8, 9, 10, 11, 12, 13, 14, 15], "from": [1, 4, 5, 15, 16, 17, 19, 20, 21, 22, 23, 24], "kind": [1, 6, 21, 24], "everi": [1, 5, 6, 15, 17, 19, 21, 24], "unavoid": 1, "tightli": [1, 6, 24], "coupl": 1, "seemingli": 1, "obviou": 1, "appar": 1, "minor": 1, "decis": [1, 6], "dramat": 1, "consequ": [1, 5], "sure": [1, 4], "undergo": 1, "scrutini": 1, "commit": [1, 4], "impact": 1, "chanc": 1, "voic": 1, "heard": 1, "substanti": 1, "must": [1, 6, 11, 17, 21, 24], "formal": [1, 25], "comment": 1, "well": [1, 4, 5, 6, 15, 21, 24], "here": [1, 21], "typic": [1, 5], "after": [1, 4, 6, 9, 10, 11, 12, 14, 17, 19, 23, 24], "round": [1, 23], "review": 1, "achiev": [1, 5], "unanim": 1, "consensu": 1, "pdm": 1, "manag": [1, 6, 21], "develop": [1, 15, 21], "workflow": [1, 4, 5, 15], "download": [1, 4, 5, 15, 19], "latest": 1, "onc": [1, 6, 15, 17, 21, 24], "done": [1, 6, 21], "so": [1, 5, 6, 15, 17, 19, 21, 24], "dev": 1, "command": [1, 4, 5, 9, 10, 11, 12, 13, 14, 15, 21], "virtual": [1, 24], "locat": [1, 4, 15, 24], "venv": 1, "runtim": 1, "itself": [1, 6, 10, 12, 15, 19, 21, 22, 24], "edit": [1, 15], "mode": [1, 6], "mean": [1, 6, 19, 24], "immedi": [1, 4, 6, 17], "reflect": [1, 19], "pick": 1, "up": [1, 6, 15, 21, 23, 24, 25], "good": [1, 6, 10, 12], "habit": 1, "each": [1, 5, 6, 19, 21, 24], "tree": [1, 5, 6], "frontend": 1, "yices2": 1, "smt": 1, "solver": 1, "These": [1, 5, 21, 24], "distribut": [1, 4], "oss": 1, "cad": 1, "suit": 1, "reli": [1, 5, 6, 24], "verif": [1, 5, 24, 25], "skip": 1, "index": [1, 6, 21, 24], "doc": 1, "_build": 1, "html": 1, "involv": [1, 6], "small": [1, 6, 15], "iter": [1, 6, 19, 21, 24], "labor": [1, 5, 21], "rebuild": 1, "start": [1, 3, 5, 6, 19, 21, 24], "automat": [1, 6, 15, 22], "live": 1, "brows": 1, "http": [1, 4, 19], "127": [1, 6], "0": [1, 3, 4, 6, 15, 18, 19, 21, 22, 24], "1": [1, 3, 6, 15, 17, 19, 21, 22, 23, 24], "8000": 1, "browser": 1, "short": [1, 6, 24], "delai": [1, 17, 23], "keep": [1, 24], "ey": 1, "syntact": 1, "refer": [1, 6, 19, 24], "occasion": [1, 6], "builder": 1, "persist": [1, 6], "render": 1, "incorrect": 1, "outdat": 1, "content": 1, "our": 1, "style": [1, 5], "guidelin": 1, "evolv": 1, "eventu": 1, "them": [1, 6, 15, 19, 21, 24], "At": [1, 5, 6], "moment": [1, 5, 6, 15], "ask": 1, "effort": [1, 5, 15], "modifi": [1, 24], "spirit": 1, "surround": 1, "dure": [1, 5, 6, 17, 21], "doubt": 1, "mondai": 1, "00": 1, "utc": 1, "irc": 1, "channel": [1, 21], "lang": [1, 4], "libera": 1, "chat": 1, "matrix": 1, "org": 1, "bridg": 1, "appear": [1, 6, 21, 23, 24], "user": [1, 4, 6, 15, 21, 22], "contributor": 1, "newli": [1, 24], "warrant": 1, "broad": [1, 16], "attent": 1, "primari": 1, "avenu": 1, "want": [1, 19, 25], "interest": 1, "evolut": 1, "simpli": 1, "view": [1, 6, 16], "feel": 1, "free": 1, "attend": 1, "abl": [1, 6], "publicli": 1, "summari": 1, "post": 1, "relev": [1, 24], "github": [1, 4], "thread": 1, "standard": [2, 3, 6, 9, 10, 11, 15, 19, 22, 24], "system": [2, 3, 6, 15, 24], "chip": [2, 24], "toolkit": 2, "progress": [3, 6], "serious": [3, 6], "incomplet": [3, 6], "introduct": [3, 6, 15, 16], "librari": [3, 6, 17], "requir": [3, 5, 6, 8, 9, 10, 11, 12, 13, 14, 19, 21, 24], "prerequisit": 3, "get": [3, 4, 5, 6, 21], "counter": [3, 6, 24], "blink": 3, "tutori": [3, 6, 15], "arrai": [3, 21, 24], "control": [3, 5, 15, 24], "flow": [3, 5, 24], "combinatori": [3, 15, 24], "evalu": [3, 15], "synchron": [3, 5, 15, 17, 23], "elabor": [3, 15, 17, 24], "cross": [3, 5, 16], "convers": [3, 5, 16, 24], "queue": [3, 16], "cyclic": [3, 16], "redund": [3, 16, 24], "check": [3, 15, 16, 24], "platform": [3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 24], "integr": [3, 6, 15, 25], "gowin": [3, 7], "lattic": [3, 7, 15], "ecp5": [3, 7], "ice40": [3, 7, 15], "machxo2": [3, 7], "machxo3l": [3, 7], "changelog": 3, "document": [3, 5, 6, 15, 19, 24], "past": [3, 6], "releas": [3, 17], "5": [3, 6, 15, 20, 21, 22], "unreleas": 3, "4": [3, 6, 15, 20, 21, 22], "3": [3, 4, 6, 15, 20, 21, 24], "2": [3, 6, 15, 17, 22, 23, 24], "contribut": 3, "problem": [3, 6, 24], "report": [3, 5, 9, 11, 14, 24], "propos": 3, "codebas": 3, "your": [3, 4, 6, 17, 24], "chang": [3, 4, 5, 6, 21, 24], "weekli": 3, "meet": 3, "newer": 4, "cpython": 4, "faster": [4, 17], "pypy3": 4, "pip": 4, "23": [4, 21], "via": [4, 5, 6, 21, 24], "popular": 4, "softwar": [4, 19], "waveform": [4, 6, 15], "viewer": [4, 6], "gtkwave": 4, "invalu": 4, "debug": [4, 5, 6, 15], "synthes": [4, 5, 6, 10, 11, 14, 15], "place": [4, 5, 6, 14, 15, 22, 24], "rout": [4, 5, 6, 14, 15], "fpga": [4, 6, 15, 17, 23, 25], "specif": [4, 5, 6, 17, 21, 24], "x86_64": 4, "aarch64": 4, "continu": [4, 25], "either": [4, 6, 17, 18, 21, 22, 24], "store": [4, 6, 21], "full": [4, 6, 19, 24], "64": [4, 20], "win32": 4, "win64": 4, "need": [4, 5, 6, 17, 21, 23, 24], "unpack": 4, "conveni": [4, 6, 21, 24], "upgrad": 4, "maco": 4, "homebrew": 4, "Then": 4, "brew": 4, "debian": 4, "sudo": 4, "apt": 4, "python3": [4, 15], "On": [4, 10, 12, 17], "architectur": [4, 19], "pip3": 4, "arch": 4, "linux": [4, 10, 12], "pacman": 4, "repositori": [4, 5], "applic": [4, 5, 6, 15, 21, 24], "main": 4, "branch": [4, 6], "similarli": [4, 6, 24], "reliabl": [4, 5, 24], "experiment": [4, 6], "api": 4, "flux": 4, "until": [4, 6, 17, 21, 25], "With": [4, 6, 15, 19], "mind": 4, "try": [4, 6], "function": [4, 5, 6, 15, 16, 19, 21, 24], "avoid": [4, 5, 6], "last": [4, 6, 21, 22, 24], "previou": [4, 19, 21], "git": 4, "com": 4, "directori": 4, "affect": [4, 6, 24], "otherwis": [4, 6, 15, 17, 18, 21, 24], "crash": 4, "becaus": [4, 6, 21, 24], "mismatch": [4, 6], "clone": 4, "cd": [4, 6], "ff": 4, "origin": [4, 6, 24], "omit": [4, 6], "explain": [4, 6], "hardwar": [5, 6, 16, 19], "digit": [5, 6, 16], "logic": [5, 15, 23], "aim": 5, "easi": [5, 6], "learn": [5, 25], "elimin": [5, 6, 17], "common": [5, 6, 15, 16], "mistak": 5, "simplifi": [5, 6], "complex": [5, 6, 21, 24], "reusabl": [5, 6, 15], "consist": [5, 17, 24], "cover": [5, 6, 24], "restrict": [5, 21, 22, 24], "choic": 5, "exist": [5, 6, 19, 23, 24], "industri": 5, "vhdl": [5, 6], "descript": [5, 6, 19, 21, 24], "transfer": [5, 17, 24], "model": [5, 16, 19], "ordinari": [5, 6], "netlist": [5, 6, 11, 14], "circuit": [5, 6], "human": [5, 24], "readabl": [5, 6, 24], "By": [5, 6], "flexibl": [5, 21], "rich": [5, 6], "widespread": 5, "adopt": 5, "focus": 5, "singl": [5, 6, 15, 21, 22, 24], "task": [5, 6], "block": [5, 15, 17, 18, 23, 24], "finit": [5, 6], "state": [5, 17], "machin": [5, 6], "simpl": [5, 6, 15, 21, 24], "rule": [5, 21], "arithmet": 5, "close": 5, "loop": [5, 6], "condit": [5, 6, 15, 23], "organ": 5, "seamlessli": 5, "principl": [5, 24], "also": [5, 6, 15, 16, 19, 21, 22, 23, 24], "accident": 5, "misus": [5, 6], "unexpect": [5, 6], "undesir": [5, 6], "synthesi": [5, 6, 11, 14], "often": [5, 6, 21, 24], "expens": 5, "signific": [5, 6, 18, 19, 21], "safe": [5, 6, 17, 22], "third": [5, 16, 21], "parti": [5, 16], "lint": 5, "lack": [5, 6], "synthesiz": [5, 15], "prone": [5, 21, 24], "favor": 5, "diagnost": [5, 6, 15, 24], "regularli": 5, "ones": [5, 21, 24], "highlight": 5, "potenti": [5, 6, 24], "importantli": 5, "come": [5, 11], "essenti": [5, 6, 16, 24], "primit": [5, 6], "asynchron": [5, 6, 17, 23], "buffer": [5, 23], "box": [5, 15], "focu": 5, "subtl": [5, 6], "between": [5, 6, 16, 17, 18, 21, 23, 24], "special": [5, 6, 24], "treatment": 5, "devic": [5, 6, 10, 11, 12], "overridden": [5, 21, 24], "recommend": [5, 6], "high": [5, 6, 18, 21], "gear": 5, "peripher": [5, 24], "implement": [5, 6, 16, 17, 19, 21, 22, 23, 24], "least": [5, 6, 18, 19, 21, 23, 24], "amount": [5, 6, 15, 21], "migrat": 5, "option": [5, 6, 9, 10, 11, 14, 15, 17, 20, 22, 24], "limit": [5, 6, 15, 24], "Of": 5, "cours": 5, "known": [5, 6, 10, 12, 16, 19, 21], "icaru": 5, "veril": 5, "event": 5, "driven": [5, 6, 17], "although": [5, 6, 15, 24], "slower": 5, "compil": 5, "ahead": 5, "remark": 5, "perform": [5, 19, 21, 22, 24], "pure": [5, 24], "co": [5, 15], "major": [5, 24], "commerci": 5, "easili": 5, "constraint": [5, 14, 15, 17], "power": [5, 6, 17, 23], "final": [5, 6, 24], "script": [5, 8, 9, 10, 11, 12, 13, 14], "placement": 5, "analysi": 5, "custom": [5, 6, 15, 19, 22, 23], "insert": [5, 9, 10, 11, 12, 13, 14, 24], "produc": [5, 6, 15, 17, 24], "portabl": 5, "present": [5, 6, 8, 9, 10, 11, 12, 13, 14, 24], "easier": [5, 6], "remot": 5, "nix": 5, "configur": [5, 6, 15, 17, 19, 24], "suppli": [5, 6], "everyth": [5, 16, 21, 22, 24], "direct": [5, 6, 21, 24], "connector": 5, "pinout": [5, 15], "built": [5, 6, 15, 21], "probe": 5, "invoc": [5, 6, 15], "show": 5, "whether": [5, 6, 15, 19, 24], "programm": 5, "correctli": [5, 6, 15, 23, 24], "establish": 5, "convent": [5, 6], "segment": 5, "displai": 5, "spi": 5, "sdram": 5, "reus": [5, 24], "unmodifi": 5, "further": [5, 6, 17], "polar": 5, "unifi": 5, "invers": 5, "trace": 5, "low": [5, 18, 21], "invert": [5, 22], "introduc": [6, 24], "depth": [6, 23], "assum": 6, "familiar": 6, "prior": 6, "regular": 6, "root": [6, 11], "carefulli": 6, "curat": 6, "export": [6, 10, 12, 22], "nearli": 6, "dedic": 6, "practic": [6, 24], "glob": 6, "frown": 6, "upon": 6, "alia": [6, 12], "exampl": [6, 15, 19, 20, 21, 24], "two": [6, 11, 19, 21, 24], "signed": [6, 21, 24], "alias": 6, "v": [6, 15], "retriev": [6, 21, 24], "len": [6, 21], "basic": [6, 15], "term": [6, 19], "number": [6, 9, 17, 18, 21, 23, 24], "anywher": [6, 21], "repres": 6, "interpret": [6, 24], "complement": 6, "simplest": 6, "ten": 6, "minus_two": 6, "abov": [6, 15, 24], "posit": [6, 19, 21, 24], "smallest": 6, "As": [6, 15, 21], "truncat": 6, "fit": 6, "rare": [6, 21, 24], "permit": 6, "360": 6, "104": 6, "129": 6, "indirectli": 6, "implicit": [6, 19], "shorthand": 6, "r": 6, "larg": [6, 21, 23], "enough": [6, 21], "min": 6, "max": 6, "whose": [6, 16, 21, 24], "set": [6, 9, 10, 11, 12, 14, 17, 19, 23, 24, 25], "100": [6, 17], "item": [6, 19, 24], "exclus": 6, "half": 6, "element": [6, 21, 23, 24], "wide": 6, "fencepost": 6, "256": [6, 21], "syntaxwarn": 6, "equal": [6, 19, 21, 22, 24], "inclus": 6, "off": [6, 10, 12], "detect": [6, 19, 24], "bound": 6, "subclass": [6, 21, 22, 24], "multiplex": 6, "distinct": 6, "bottom": 6, "funct4": 6, "sub": [6, 22], "mul": [6, 22], "prevent": 6, "unwant": 6, "equival": [6, 21, 22, 24], "d5": 6, "d1": [6, 15, 24], "subset": [6, 21], "operand": [6, 22], "numer": 6, "d26": 6, "funct": [6, 22], "op": [6, 22], "reg": [6, 15, 22], "imm": [6, 22], "instr": [6, 22], "addi": [6, 22], "expand": 6, "vari": 6, "respect": [6, 24], "cannot": [6, 21, 23, 24], "uniniti": 6, "undefin": 6, "foo": [6, 22, 24], "bar": [6, 22], "paramet": [6, 15, 16, 17, 18, 19, 21, 23, 24], "foo2": 6, "second_foo": 6, "prepar": 6, "ambigu": 6, "zero": [6, 21, 23], "none": [6, 14, 15, 17, 18, 24], "resett": [6, 17], "reset_less": [6, 17], "resetinsert": 6, "combin": [6, 21, 24], "themselv": 6, "concret": [6, 21], "goal": [6, 24], "calcul": 6, "contrast": 6, "abstract": [6, 16, 21], "sig": [6, 15, 21, 22, 24], "rememb": 6, "higher": [6, 17], "traceback": [6, 21, 22, 24], "recent": [6, 19, 21, 22, 24], "typeerror": [6, 21, 22, 24], "attempt": 6, "boolean": 6, "therefor": [6, 19], "statement": [6, 22, 24], "execut": 6, "decid": 6, "bodi": [6, 24], "fact": 6, "long": [6, 19], "finish": [6, 15], "solv": 6, "manipul": [6, 21, 24], "OR": [6, 22], "select": 6, "regardless": 6, "too": 6, "unlimit": 6, "precis": [6, 21], "overflow": [6, 15, 24], "suffici": [6, 21, 24], "128": 6, "382": 6, "tabl": 6, "negat": [6, 22], "subtract": 6, "floor": 6, "due": [6, 24], "chain": [6, 17], "inequ": 6, "greater": 6, "effici": 6, "NOT": 6, "AND": [6, 22], "xor": [6, 19, 22], "impli": 6, "revers": [6, 19, 24], "exponenti": 6, "wider": 6, "intermedi": 6, "stress": 6, "32": [6, 15, 20, 21, 24], "4294967296": 6, "break": 6, "veri": [6, 21, 24], "sidewai": 6, "pair": [6, 24], "unari": 6, "sole": [6, 24], "odd": 6, "bool": [6, 17, 19, 24], "conceptu": 6, "unlik": 6, "clariti": [6, 15, 24], "p": 6, "q": 6, "preced": 6, "wherea": [6, 24], "parenthes": 6, "around": [6, 24], "en": [6, 15, 24], "addr": [6, 21, 24], "d0": [6, 21, 22], "stb": 6, "use_stb": 6, "msb": 6, "sd": 6, "detail": [6, 15, 17, 19, 24], "apart": 6, "act": [6, 22, 23, 24], "concaten": [6, 24], "clash": 6, "except": [6, 21, 24], "subscript": 6, "offset": [6, 21], "notat": 6, "length": [6, 21], "j": 6, "k": 6, "bit_select": 6, "w": [6, 15], "overlap": [6, 21], "word_select": 6, "word": [6, 19, 24], "talk": 6, "convention": 6, "variat": 6, "occupi": 6, "0th": 6, "expon": [6, 21], "caus": [6, 17], "confus": [6, 24], "0b1001": 6, "0b1010": 6, "0b1010_1001": 6, "val": [6, 15], "Such": [6, 24], "seem": 6, "natur": [6, 18], "alon": 6, "could": [6, 16, 17, 21, 24], "ye": 6, "deliber": 6, "examin": [6, 24], "str": [6, 17, 21, 23, 24], "mask": 6, "don": 6, "whitespac": 6, "charact": 6, "compar": [6, 21, 22, 23, 24], "succe": 6, "correspondingli": [6, 24], "asid": [6, 24], "space": [6, 23], "tab": 6, "ignor": [6, 24], "given": [6, 19, 21, 22, 24], "01": 6, "0b0110_0000": 6, "0b0100_0000": 6, "opposit": 6, "liter": 6, "reinterpret": 6, "pc": 6, "mux": 6, "sel": 6, "val1": 6, "val0": 6, "mutabl": [6, 24], "behav": [6, 22], "proxi": [6, 21, 24], "three": [6, 16], "properti": [6, 19, 21, 24], "transform": [6, 21], "pixel": [6, 21], "180": 6, "92": 6, "230": 6, "74": 6, "130": 6, "115": 6, "58": 6, "becom": [6, 19, 23], "mutat": [6, 24], "unpredict": 6, "extrem": 6, "quickli": 6, "exhaust": 6, "resourc": 6, "ram": [6, 23], "unit": 6, "hierarchi": [6, 21], "independ": 6, "associ": [6, 21, 24], "fresh": 6, "group": [6, 21], "ident": [6, 18, 19, 23, 24], "predefin": [6, 16, 19], "comb": [6, 15, 21, 24], "reserv": [6, 21], "occur": 6, "feedback": [6, 24], "hold": [6, 15], "effect": [6, 24], "0b11": 6, "d3": 6, "entir": [6, 15, 19], "upfront": 6, "def": [6, 15, 21, 22, 24], "add_toggl": 6, "num": 6, "f": [6, 8, 15, 24], "sync_": 6, "undriven": 6, "exactli": [6, 21, 22, 24], "dsl": 6, "syntaxerror": 6, "driver": 6, "conflict": [6, 24], "drive": [6, 15, 24], "alreadi": [6, 15, 24], "clearli": 6, "meaning": [6, 24], "inher": 6, "answer": [6, 24], "greatli": 6, "analyz": 6, "snippet": 6, "determin": [6, 24], "tailor": 6, "context": [6, 24], "timer": [6, 15], "superfici": 6, "imper": 6, "insid": [6, 24], "observ": 6, "satisfi": [6, 24], "uncondition": 6, "account": [6, 24], "cond1": 6, "cond2": 6, "parallel": [6, 19], "x_coord": 6, "is_bporch": 6, "364": 6, "is_act": 6, "374": 6, "is_fporch": 6, "within": [6, 24], "whole": 6, "is_even": 6, "is_odd": 6, "too_big": 6, "whichev": 6, "earlier": 6, "programmat": 6, "particularli": 6, "squar": 6, "choos": [6, 15], "enter": 6, "cycl": [6, 15, 17, 19, 23], "bu": [6, 24], "transact": 6, "bus_addr": 6, "16": [6, 15, 19, 20, 21, 24], "r_data": [6, 23, 24], "r_en": [6, 23], "latch": [6, 23], "address": [6, 21, 24], "0x1234": 6, "strobe": [6, 23], "again": 6, "section": [6, 7, 15, 21, 24], "belong": 6, "dom": 6, "current": [6, 19, 24], "captur": [6, 24], "ongo": 6, "whenev": [6, 19, 24], "correspond": [6, 15, 19, 21, 22, 24], "y": [6, 24], "typo": 6, "unreach": 6, "hazard": 6, "string": [6, 21, 24], "lead": [6, 19], "surpris": 6, "nest": [6, 24], "innermost": 6, "outer": [6, 24], "inner": [6, 24], "shorten": 6, "unstabl": 6, "ring": 6, "oscil": [6, 15], "prohibit": 6, "assumpt": [6, 24], "aren": 6, "silent": 6, "miscompil": 6, "though": [6, 24], "exceedingli": 6, "desir": 6, "technologi": 6, "lut": 6, "transit": 6, "down": 6, "increment": [6, 15], "decrement": 6, "retain": [6, 15], "clockdomain": 6, "video": 6, "cd_video": 6, "local": 6, "concis": [6, 21, 24], "add_video_domain": 6, "video_": 6, "domain_nam": 6, "clk": [6, 15], "jtag": [6, 10, 12], "clk_edg": 6, "rst": [6, 15], "still": [6, 15, 17, 24, 25], "nevertheless": [6, 24], "startup": 6, "keyword": [6, 22, 24], "subject": [6, 22], "intention": 6, "undocu": 6, "enableinsert": 6, "frequenc": [6, 15, 17], "phase": 6, "clocksign": 6, "resetsign": 6, "bus_clk": 6, "bus_rstn": 6, "found": 6, "cd_sync": 6, "Be": 6, "consult": 6, "facil": [6, 21, 24], "disabl": [6, 15], "divid": 6, "smaller": 6, "subdivis": 6, "elaborat": [6, 15, 24], "compos": [6, 24], "deleg": 6, "receiv": [6, 19, 24], "inject": 6, "twice": [6, 24], "rel": 6, "guarante": [6, 17], "plain": [6, 21, 22], "counter_": 6, "autogener": 6, "difficult": 6, "alter": 6, "input": [6, 15, 17, 18, 19, 23], "map": [6, 14, 21, 24], "shorter": 6, "forward": 6, "held": 6, "z": 6, "resetsynchron": [6, 16, 17], "leav": [6, 21, 24], "domainrenam": 6, "kei": [6, 21, 24], "translat": 6, "entiti": 6, "Not": 6, "parameter": 6, "extern": [6, 21, 24], "pass": [6, 22, 24], "uninterpret": 6, "identifi": [6, 21], "a_anam": 6, "attr": [6, 24], "anam": 6, "p_pname": 6, "param": [6, 21], "pname": 6, "i_inam": 6, "in_val": 6, "inam": 6, "o_onam": 6, "out_val": 6, "onam": 6, "processor": [6, 16, 19], "p_width": 6, "i_clk": 6, "i_rst": 6, "i_en": 6, "i_mod": 6, "i_data_in": 6, "i_data": 6, "o_data_out": 6, "o_data": 6, "data_in": 6, "data_out": 6, "convein": 6, "adorn": 6, "flipflop": 6, "__init__": [6, 15, 21, 22, 24], "isinst": [6, 24], "sb_dff": 6, "i_c": 6, "i_d": 6, "o_q": 6, "rais": [6, 21, 22, 24], "notimplementederror": 6, "latticeecp5platform": [7, 10], "apicula": 8, "nextpnr": [8, 9, 10, 11, 14], "gowin_pack": 8, "popul": [8, 9, 10, 11, 12, 13, 14, 21, 24], "amaranth_env_apicula": 8, "product": [8, 9, 10, 11, 12, 14], "gw_sh": 8, "amaranth_env_gowin": 8, "quartu": 9, "quartus_map": 9, "quartus_fit": 9, "quartus_asm": 9, "quartus_sta": 9, "amaranth_env_quartu": 9, "qsf": 9, "sdc": [9, 11], "nproc": 9, "quartus_map_opt": 9, "extra": [9, 10, 11, 14], "quartus_fit_opt": 9, "quartus_asm_opt": 9, "quartus_sta_opt": 9, "rpt": [9, 10, 11, 14], "sof": 9, "rbf": 9, "raw": [9, 14], "amaranth_env_mistr": 9, "verbos": [9, 10, 11, 15], "read_verilog_opt": [9, 10, 11], "read_verilog": [9, 10, 11], "synth_opt": [9, 10, 11], "synth_intel_alm": 9, "script_after_read": [9, 10, 11, 14], "read_ilang": [9, 10, 11], "script_after_synth": [9, 10, 11, 14], "yosys_opt": [9, 10, 11], "nextpnr_opt": [9, 10, 11], "trelli": 10, "diamond": [10, 12], "ecppack": 10, "amaranth_env_trelli": 10, "synth_ecp5": 10, "ecppack_opt": 10, "add_prefer": [10, 12], "lpf": [10, 12], "json": [10, 11], "rtl": [10, 11, 14], "tim": [10, 11], "config": 10, "ascii": [10, 11], "pnmainc": [10, 12], "ddtcmd": [10, 12], "diamond_env": [10, 12], "candid": [10, 12], "bat": [10, 12], "echo": [10, 12], "lscc": [10, 12], "diamond_vers": [10, 12], "nt64": [10, 12], "script_project": [10, 12], "prj_project": [10, 12], "tcl": [10, 11, 12, 14], "script_after_export": [10, 12], "prj_run": [10, 12], "xdc": [10, 12, 13, 14], "_impl": [10, 12], "htm": [10, 11, 12], "consolid": [10, 12], "icestorm": 11, "icecube2": 11, "icepack": 11, "amaranth_env_icestorm": 11, "synth_ice40": 11, "add_pre_pack": 11, "pre": [11, 19], "pack": 11, "pcf": [11, 14], "asc": 11, "variant": 11, "lse": 11, "synplifi": 11, "tclsh": 11, "amaranth_env_icecube2": 11, "lse_opt": 11, "script_after_add": 11, "script_after_opt": 11, "set_opt": 11, "script_after_flow": 11, "run_sbt_backend_auto": 11, "sbt": 11, "_lse": 11, "_design": 11, "router": 11, "_time": [11, 14], "edf": 11, "edif": 11, "_lattice_machxo_2_3l": 12, "jed": 12, "jedec": 12, "fuse": 12, "symbiflow_synth": [13, 14], "symbiflow_pack": [13, 14], "symbiflow_plac": [13, 14], "symbiflow_rout": [13, 14], "symbiflow_write_fasm": [13, 14], "symbiflow_write_bitstream": [13, 14], "amaranth_env_qlsymbiflow": 13, "ISE": 14, "vivado": 14, "amaranth_env_vivado": 14, "read_xdc": 14, "synth_design": 14, "script_after_plac": 14, "place_design": 14, "script_after_rout": 14, "route_design": 14, "script_before_bitstream": 14, "write_bitstream": 14, "script_after_bitstream": 14, "vivado_opt": 14, "_timing_synth": 14, "_utilization_hierarchical_synth": 14, "_utilization_synth": 14, "_utilization_hierarchical_plac": 14, "_utilization_plac": 14, "_io": 14, "_control_set": 14, "_clock_util": 14, "_route_statu": 14, "_drc": 14, "_methodologi": 14, "_power": 14, "_rout": 14, "dcp": 14, "checkpoint": 14, "metadata": 14, "xst": 14, "ngdbuild": 14, "par": 14, "bitgen": 14, "amaranth_env_is": 14, "script_after_run": 14, "ucf": 14, "xst_opt": 14, "ngdbuild_opt": 14, "map_opt": 14, "par_opt": 14, "bitgen_opt": 14, "compress": 14, "srp": 14, "ngc": 14, "bld": 14, "ngd": 14, "databas": 14, "_map": 14, "mrp": 14, "ncd": 14, "physic": 14, "_par": 14, "_par_pad": 14, "txt": [14, 19], "usag": 14, "drc": 14, "bgn": 14, "amaranth_env_symbiflow": 14, "fasm2fram": 14, "xc7frames2bit": 14, "amaranth_env_xrai": 14, "cursori": 15, "overview": 15, "explan": [15, 24], "shown": [15, 24], "up_count": 15, "py": 15, "upcount": 15, "ovf": 15, "reach": [15, 21, 24], "super": [15, 21, 24], "els": [15, 17, 24], "declar": [15, 24], "helper": [15, 24], "elif": 15, "black": [15, 21], "verifi": [15, 24], "dut": 15, "25": [15, 20], "yield": [15, 21, 24], "_": [15, 24], "30": [15, 20], "clear": [15, 24], "add_clock": 15, "1e": 15, "mhz": 15, "add_sync_process": 15, "write_vcd": 15, "inspect": 15, "successfulli": 15, "de": 15, "facto": 15, "interoper": [15, 16], "rise": 15, "lightli": 15, "auto": 15, "verilog_backend": 15, "cc": 15, "2255": 15, "dump_modul": 15, "src": 15, "36": 15, "42": 15, "site": 15, "ir": 15, "509": 15, "29": 15, "h0000": 15, "1647": 15, "h19": 15, "h1": 15, "posedg": 15, "full_cas": 15, "xfrm": 15, "534": 15, "endmodul": 15, "aid": 15, "unfortun": 15, "standalon": [15, 24], "adapt": 15, "hz": 15, "ledblink": 15, "half_freq": 15, "default_clk_frequ": 15, "icestick": 15, "link": [15, 24], "foss": 15, "probabl": 15, "icestickplatform": 15, "do_program": 15, "benefit": 15, "turnkei": 15, "abil": [15, 22], "categori": 16, "idiomat": [16, 24], "metaclass": [16, 24], "layout": 16, "ffsynchron": [16, 17], "One": [16, 21], "hot": 16, "prioriti": 16, "grai": 16, "syncfifobuff": [16, 23], "asyncfifobuff": [16, 23], "algorithm": [16, 19], "resynchronis": 17, "flip": [17, 24], "flop": 17, "metast": 17, "synchronis": 17, "o_domain": 17, "unaffect": 17, "stage": 17, "lowest": 17, "mtbf": 17, "cost": 17, "increas": [17, 23], "latenc": [17, 19, 23], "max_input_delai": 17, "float": [17, 21], "maximum": 17, "second": [17, 21], "fail": [17, 24], "safest": 17, "load": 17, "target": [17, 21, 22, 24], "asic": 17, "arbitrari": [17, 21], "warm": 17, "insuffici": 17, "deassert": 17, "get_ff_sync": 17, "cell": 17, "primarili": [17, 24], "async_edg": 17, "po": 17, "get_async_ff_sync": 17, "gate": 17, "yet": 17, "promptli": 17, "arst": 17, "get_reset_sync": 17, "puls": 17, "duti": 17, "ratio": 17, "drop": [17, 22], "i_domain": 17, "encod": 18, "indic": [18, 19, 21, 24], "invalid": [18, 24], "decod": [18, 24], "th": 18, "priorityencod": 18, "prioritydecod": 18, "grayencod": 18, "graydecod": 18, "comput": [19, 24], "polynomi": [19, 20], "commonli": 19, "catalog": [19, 20], "accommod": [19, 21], "data_width": [19, 20, 24], "obtain": 19, "fulli": 19, "crc16": 19, "ccitt": 19, "byte": [19, 21], "crc16_ccitt": [19, 20], "submodul": [19, 20, 24], "algo": 19, "crc_width": [19, 20], "0x1021": [19, 20], "initial_crc": [19, 20], "0xffff": [19, 20], "reflect_input": [19, 20], "reflect_output": [19, 20], "xor_output": [19, 20], "0x0000": [19, 20], "123456789": 19, "0x29b1": 19, "exclud": 19, "william": 19, "painless": 19, "www": 19, "ross": 19, "net": 19, "crc_v3": 19, "reveng": [19, 20], "catalogu": 19, "parameteris": 19, "crcmod": 19, "polynomin": 19, "init": [19, 21], "zoo": 19, "entri": [19, 20, 23], "highest": 19, "order": [19, 21, 24], "transmiss": 19, "littl": 19, "endian": 19, "multi": 19, "0x4e4c": 19, "transmit": 19, "octet": 19, "0x4c": 19, "0x4e": 19, "addition": 19, "residu": 19, "codeword": 19, "bitwidth": 19, "arg": [19, 22, 24], "src_loc_at": [19, 24], "kwarg": [19, 22, 24], "stream": [19, 24], "handl": [19, 23], "subsequ": 19, "throughput": 19, "per": 19, "classic": 19, "serial": 19, "galoi": 19, "shift": 19, "match_detect": 19, "trail": 19, "initialis": 19, "simultan": 19, "crc3_gsm": [19, 20], "crc3_rohc": [19, 20], "crc4_g_704": [19, 20], "crc4_itu": [19, 20], "crc4_interlaken": [19, 20], "crc5_epc_c1g2": [19, 20], "crc5_epc": [19, 20], "crc5_g_704": [19, 20], "crc5_itu": [19, 20], "crc5_usb": [19, 20], "crc6_cdma2000_a": [19, 20], "crc6_cdma2000_b": [19, 20], "crc6_darc": [19, 20], "crc6_g_704": [19, 20], "crc6_itu": [19, 20], "crc6_gsm": [19, 20], "crc7_mmc": [19, 20], "crc7_rohc": [19, 20], "crc7_umt": [19, 20], "crc8_autosar": [19, 20], "crc8_bluetooth": [19, 20], "crc8_cdma2000": [19, 20], "crc8_darc": [19, 20], "crc8_dvb_s2": [19, 20], "crc8_gsm_a": [19, 20], "crc8_gsm_b": [19, 20], "crc8_hitag": [19, 20], "crc8_i_432_1": [19, 20], "crc8_itu": [19, 20], "crc8_i_cod": [19, 20], "crc8_lte": [19, 20], "crc8_maxim_dow": [19, 20], "crc8_maxim": [19, 20], "crc8_mifare_mad": [19, 20], "crc8_nrsc_5": [19, 20], "crc8_opensafeti": [19, 20], "crc8_rohc": [19, 20], "crc8_sae_j1850": [19, 20], "crc8_smbu": [19, 20], "crc8_tech_3250": [19, 20], "crc8_ae": [19, 20], "crc8_etu": [19, 20], "crc8_wcdma": [19, 20], "crc10_atm": [19, 20], "crc10_i_610": [19, 20], "crc10_cdma2000": [19, 20], "crc10_gsm": [19, 20], "crc11_flexrai": [19, 20], "crc11_umt": [19, 20], "crc12_cdma2000": [19, 20], "crc12_dect": [19, 20], "crc12_gsm": [19, 20], "crc12_umt": [19, 20], "crc12_3gpp": [19, 20], "crc13_bbc": [19, 20], "crc14_darc": [19, 20], "crc14_gsm": [19, 20], "crc15_can": [19, 20], "crc15_mpt1327": [19, 20], "crc16_arc": [19, 20], "crc16_ibm": [19, 20], "crc16_cdma2000": [19, 20], "crc16_cm": [19, 20], "crc16_dds_110": [19, 20], "crc16_dect_r": [19, 20], "crc16_dect_x": [19, 20], "crc16_dnp": [19, 20], "crc16_en_13757": [19, 20], "crc16_genibu": [19, 20], "crc16_darc": [19, 20], "crc16_epc": [19, 20], "crc16_epc_c1g2": [19, 20], "crc16_i_cod": [19, 20], "crc16_gsm": [19, 20], "crc16_ibm_3740": [19, 20], "crc16_autosar": [19, 20], "crc16_ccitt_fals": [19, 20], "crc16_ibm_sdlc": [19, 20], "crc16_iso_hdlc": [19, 20], "crc16_iso_iec_14443_3_b": [19, 20], "crc16_x25": [19, 20], "crc16_iso_iec_14443_3_a": [19, 20], "crc16_kermit": [19, 20], "crc16_bluetooth": [19, 20], "crc16_ccitt_tru": [19, 20], "crc16_v_41_lsb": [19, 20], "crc16_lj1200": [19, 20], "crc16_m17": [19, 20], "crc16_maxim_dow": [19, 20], "crc16_maxim": [19, 20], "crc16_mcrf4xx": [19, 20], "crc16_modbu": [19, 20], "crc16_nrsc_5": [19, 20], "crc16_opensafety_a": [19, 20], "crc16_opensafety_b": [19, 20], "crc16_profibu": [19, 20], "crc16_iec_61158_2": [19, 20], "crc16_riello": [19, 20], "crc16_spi_fujitsu": [19, 20], "crc16_aug_ccitt": [19, 20], "crc16_t10_dif": [19, 20], "crc16_teledisk": [19, 20], "crc16_tms37157": [19, 20], "crc16_umt": [19, 20], "crc16_buypass": [19, 20], "crc16_verifon": [19, 20], "crc16_usb": [19, 20], "crc16_xmodem": [19, 20], "crc16_acorn": [19, 20], "crc16_lte": [19, 20], "crc16_v_41_msb": [19, 20], "crc16_zmodem": [19, 20], "crc17_can_fd": [19, 20], "crc21_can_fd": [19, 20], "crc24_ble": [19, 20], "crc24_flexray_a": [19, 20], "crc24_flexray_b": [19, 20], "crc24_interlaken": [19, 20], "crc24_lte_a": [19, 20], "crc24_lte_b": [19, 20], "crc24_openpgp": [19, 20], "crc24_os_9": [19, 20], "crc30_cdma": [19, 20], "crc31_philip": [19, 20], "crc32_aixm": [19, 20], "crc32_autosar": [19, 20], "crc32_base91_d": [19, 20], "crc32_bzip2": [19, 20], "crc32_aal5": [19, 20], "crc32_dect_b": [19, 20], "crc32_cd_rom_edc": [19, 20], "crc32_cksum": [19, 20], "crc32_posix": [19, 20], "crc32_iscsi": [19, 20], "crc32_base91_c": [19, 20], "crc32_castagnoli": [19, 20], "crc32_interlaken": [19, 20], "crc32_iso_hdlc": [19, 20], "crc32_adccp": [19, 20], "crc32_v_42": [19, 20], "crc32_xz": [19, 20], "crc32_pkzip": [19, 20], "crc32_ethernet": [19, 20], "crc32_jamcrc": [19, 20], "crc32_mef": [19, 20], "crc32_mpeg_2": [19, 20], "crc32_xfer": [19, 20], "crc40_gsm": [19, 20], "crc64_ecma_182": [19, 20], "crc64_go_iso": [19, 20], "crc64_m": [19, 20], "crc64_redi": [19, 20], "crc64_we": [19, 20], "crc64_xz": [19, 20], "crc64_ecma": [19, 20], "crc82_darc": [19, 20], "2023": 20, "05": 20, "crc8": 20, "0x3": 20, "0x0": [20, 21], "0x7": 20, "0xf": 20, "0x9": 20, "0x15": 20, "0x5": 20, "0x1f": 20, "0x27": 20, "0x3f": 20, "0x19": 20, "0x2f": 20, "0x4f": 20, "0x7f": [20, 21], "0x45": 20, "0xff": 20, "0xa7": 20, "0x00": 20, "0x9b": 20, "0x39": 20, "0xd5": 20, "0x1d": 20, "0x49": 20, "0x07": 20, "0x55": 20, "0xfd": 20, "0x31": 20, "0xc7": 20, "0x233": 20, "0x3d9": 20, "0x3ff": 20, "0x175": 20, "0x385": 20, "0x1a": 20, "0x307": 20, "0xf13": 20, "0xfff": 20, "0x000": 20, "0x80f": 20, "0xd31": 20, "13": 20, "0x1cf5": 20, "14": [20, 21], "0x805": 20, "0x202d": 20, "0x3fff": 20, "0x4599": 20, "0x6815": 20, "0x001": 20, "0x8005": 20, "0xc867": 20, "0x800d": 20, "0x0589": 20, "0x0001": 20, "0x3d65": 20, "0xc6c6": 20, "0x6f63": 20, "0x5935": 20, "0x080b": 20, "0x755b": 20, "0x1dcf": 20, "0xb2aa": 20, "0x1d0f": 20, "0x8bb7": 20, "0xa097": 20, "0x89ec": 20, "0x1685b": 20, "21": 20, "0x102899": 20, "0x00000": 20, "24": [20, 21, 24], "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, "40": 20, "0x0004820009": 20, "0x0000000000": 20, "0xffffffffff": 20, "0x42f0e1eba9ea3693": 20, "0x0000000000000000": 20, "0x000000000000001b": 20, "0xffffffffffffffff": 20, "0x259c84cba6426349": 20, "0xad93d23594c935a9": 20, "82": 20, "0x308c0111011401440411": 20, "0x00000000000000000000": 20, "bitwis": [21, 22], "four": [21, 24], "relat": [21, 24], "foundat": 21, "introspect": [21, 24], "structlayout": 21, "unionlayout": 21, "arraylayout": 21, "flexiblelayout": 21, "struct": 21, "fundament": 21, "intern": [21, 24], "rgb": 21, "grayscal": 21, "color": 21, "format": 21, "rgb565": 21, "fast": 21, "approxim": 21, "i_color": 21, "o_grai": 21, "repetit": [21, 24], "referenc": 21, "rgb565_layout": 21, "red": 21, "green": 21, "blue": 21, "accumul": 21, "averag": 21, "intens": 21, "input_layout": 21, "i_stream": 21, "r_accum": 21, "sum": 21, "interchang": 21, "rgb_layout": 21, "r_bit": 21, "g_bit": 21, "b_bit": 21, "rgb24_layout": 21, "rgblayout": 21, "rgbview": 21, "bright": 21, "as_valu": [21, 22], "static": [21, 24], "boilerpl": [21, 24], "ieee754singl": 21, "fraction": 21, "is_subnorm": 21, "set_addr": 21, "send_data": 21, "biggest": 21, "cmd": 21, "0x00001234": 21, "react": 21, "__eq__": [21, 22, 24], "span": 21, "preserv": 21, "invari": 21, "obj": [21, 24], "as_shap": [21, 22], "recursionerror": 21, "__iter__": [21, 24], "__getitem__": [21, 24], "keyerror": 21, "size": 21, "underli": [21, 22], "gap": 21, "pad": 21, "altern": 21, "_1": 21, "_2": 21, "won": 21, "dictionari": [21, 24], "plu": [21, 23], "largest": 21, "elem_shap": 21, "multipli": 21, "individu": 21, "contigu": 21, "boundari": [21, 24], "arbitrarili": 21, "stride": 21, "truth": [21, 24], "chosen": 21, "dynam": 21, "rest": [21, 24], "look": 21, "repeatedli": 21, "latter": 21, "unspecifi": 21, "inout": 21, "__getattr__": [21, 24], "attributeerror": [21, 24], "underscor": [21, 24], "kept": 21, "ieee": 21, "754": 21, "flt": 21, "hex": 21, "0x3f800000": 21, "0xbf800000": 21, "share": 21, "haschecksum": 21, "checksum": 21, "barehead": 21, "headerwithparam": 21, "bare": 21, "varint": 21, "int8": 21, "int16": 21, "0x100": 21, "flag": [22, 24], "intflag": 22, "subi": 22, "likewis": 22, "normalenum": 22, "spam": 22, "ham": 22, "enumview": [22, 24], "flagview": 22, "wrapper": [22, 24], "stdin": 22, "loos": 22, "transparentenum": 22, "instrview": 22, "has_immedi": 22, "view_class": 22, "d16": 22, "d17": 22, "enummeta": 22, "neither": [22, 24], "nor": [22, 24], "comparison": 22, "among": 22, "__invert__": 22, "__and__": 22, "__or__": 22, "__xor__": 22, "__rand__": 22, "__ror__": 22, "__rxor__": 22, "w_data": [23, 24], "w_rdy": 23, "w_en": 23, "r_rdy": 23, "noth": [23, 24], "unread": 23, "substitut": 23, "incompat": [23, 24], "exchang": 23, "r_domain": 23, "w_domain": 23, "exact_depth": 23, "signaturememb": 24, "flippedsignatur": 24, "flippedinterfac": 24, "flippedsignaturememb": 24, "vice": 24, "versa": 24, "interact": 24, "concept": 24, "basiccount": 24, "solut": 24, "rewritten": 24, "componentcount": 24, "constructor": 24, "gone": 24, "unchang": 24, "unambigu": 24, "question": 24, "previous": 24, "intend": 24, "genericcount": 24, "compliant": 24, "is_compli": 24, "direction": 24, "readi": [24, 25], "sink": 24, "consum": 24, "dataproduc": 24, "dataconsum": 24, "elsewher": 24, "simplestreamsignatur": 24, "data_shap": 24, "intact": 24, "intf": 24, "metaprogram": 24, "streamproduc": 24, "streamconsum": 24, "complementari": 24, "ubiquit": 24, "streamconsumerusingin": 24, "deep": 24, "in1": 24, "in2": 24, "auxiliari": 24, "robust": 24, "proportion": 24, "pronounc": 24, "refactor": 24, "conclud": 24, "knowledg": 24, "expos": 24, "dataprocessorimplement": 24, "dataprocessorwrapp": 24, "impl": 24, "dataforward": 24, "conform": 24, "producerrequiringreadi": 24, "consumeralwaysreadi": 24, "consumerpossiblyunreadi": 24, "connectionerror": 24, "arg0": 24, "prolifer": 24, "subtli": 24, "presenc": 24, "absenc": 24, "statu": 24, "legacyaxidataproduc": 24, "adata": 24, "avalid": 24, "areadi": 24, "moderndataconsum": 24, "data_produc": 24, "data_consum": 24, "adapted_data_sourc": 24, "encourag": 24, "creation": 24, "illustr": 24, "capabl": 24, "usefulli": 24, "transfertyp": 24, "simplebussignatur": 24, "addr_width": 24, "_addr_width": 24, "rw": 24, "__repr__": 24, "simplebusinterfac": 24, "is_read_xf": 24, "is_write_xf": 24, "frozen": 24, "freez": 24, "almost": 24, "anonym": 24, "sig32": 24, "sig24": 24, "bus__en": 24, "bus__rw": 24, "bus__addr": 24, "bus__r_data": 24, "bus__w_data": 24, "unusu": 24, "__add__": 24, "ever": 24, "denot": 24, "buse": 24, "cyc": 24, "outgo": 24, "carri": 24, "respond": 24, "That": 24, "incom": 24, "shortcut": 24, "discrimin": 24, "union": 24, "taken": 24, "rgbpixel": 24, "dimens": 24, "prepend": 24, "dimension": 24, "is_port": 24, "is_signatur": 24, "signatureerror": 24, "nameerror": 24, "abc": 24, "manner": 24, "disallow": 24, "superscript": 24, "opreat": 24, "__contains__": 24, "__setitem__": 24, "stub": 24, "forbid": 24, "__delitem__": 24, "flatten": 24, "disregard": 24, "doubl": 24, "__": 24, "dict": 24, "unflip": 24, "flipped_memb": 24, "ing": 24, "influenc": 24, "obj__items__0": 24, "obj__items__1": 24, "prescrib": 24, "aspect": 24, "complianc": 24, "less": 24, "fill": 24, "help": 24, "repeat": 24, "serv": 24, "hoc": 24, "customsignatur": 24, "custominterfac": 24, "my_properti": 24, "accur": 24, "unavail": 24, "flipped_sig": 24, "distinguish": 24, "signatureknowswhenflip": 24, "is_flip": 24, "getattr": 24, "getter": 24, "cl": 24, "__setattr__": 24, "setattr": 24, "setter": 24, "__delattr__": 24, "delattr": 24, "delet": 24, "signaturemeta": 24, "subtyp": 24, "relationship": 24, "issubclass": 24, "__subclasscheck__": 24, "__instancecheck__": 24, "overhead": 24, "__dict__": 24, "approach": 24, "id": 24, "checker": 24, "track": 24, "burdensom": 24, "flipped_intf": 24, "interfaceknowswhenflip": 24, "other_unflip": 24, "caveat": 24, "imposs": 24, "meaningless": 24, "forbidden": 24, "obj1": 24, "obj2": 24, "obj3": 24, "besid": 24, "out1": 24, "arbit": 24, "purpos": 24, "clarifi": 24, "fixedcompon": 24, "superclass": 24, "parametriccompon": 24, "rai": 24, "offici": 25, "vivonomicon": 25, "kbob": 25, "robert": 25, "baruch": 25, "exercis": 25, "my": 25, "journei": 25, "david": 25, "sporn": 25, "focuss": 25, "workstat": 25}, "objects": {"amaranth.lib": [[17, 0, 0, "-", "cdc"], [18, 0, 0, "-", "coding"], [19, 0, 0, "-", "crc"], [21, 0, 0, "-", "data"], [22, 0, 0, "-", "enum"], [23, 0, 0, "-", "fifo"], [24, 0, 0, "-", "wiring"]], "amaranth.lib.cdc": [[17, 1, 1, "", "AsyncFFSynchronizer"], [17, 1, 1, "", "FFSynchronizer"], [17, 1, 1, "", "PulseSynchronizer"], [17, 1, 1, "", "ResetSynchronizer"]], "amaranth.lib.coding": [[18, 1, 1, "", "Decoder"], [18, 1, 1, "", "Encoder"], [18, 1, 1, "", "GrayDecoder"], [18, 1, 1, "", "GrayEncoder"], [18, 1, 1, "", "PriorityDecoder"], [18, 1, 1, "", "PriorityEncoder"]], "amaranth.lib.crc": [[19, 1, 1, "", "Algorithm"], [19, 1, 1, "", "Parameters"], [19, 1, 1, "", "Processor"], [20, 0, 0, "-", "catalog"]], "amaranth.lib.crc.Algorithm": [[19, 2, 1, "", "__call__"]], "amaranth.lib.crc.Parameters": [[19, 3, 1, "", "algorithm"], [19, 2, 1, "", "compute"], [19, 2, 1, "", "create"], [19, 2, 1, "", "residue"]], "amaranth.lib.crc.catalog": [[20, 4, 1, "", "CRC10_ATM"], [20, 4, 1, "", "CRC10_CDMA2000"], [20, 4, 1, "", "CRC10_GSM"], [20, 4, 1, "", "CRC10_I_610"], [20, 4, 1, "", "CRC11_FLEXRAY"], [20, 4, 1, "", "CRC11_UMTS"], [20, 4, 1, "", "CRC12_3GPP"], [20, 4, 1, "", "CRC12_CDMA2000"], [20, 4, 1, "", "CRC12_DECT"], [20, 4, 1, "", "CRC12_GSM"], [20, 4, 1, "", "CRC12_UMTS"], [20, 4, 1, "", "CRC13_BBC"], [20, 4, 1, "", "CRC14_DARC"], [20, 4, 1, "", "CRC14_GSM"], [20, 4, 1, "", "CRC15_CAN"], [20, 4, 1, "", "CRC15_MPT1327"], [20, 4, 1, "", "CRC16_ACORN"], [20, 4, 1, "", "CRC16_ARC"], [20, 4, 1, "", "CRC16_AUG_CCITT"], [20, 4, 1, "", "CRC16_AUTOSAR"], [20, 4, 1, "", "CRC16_BLUETOOTH"], [20, 4, 1, "", "CRC16_BUYPASS"], [20, 4, 1, "", "CRC16_CCITT"], [20, 4, 1, "", "CRC16_CCITT_FALSE"], [20, 4, 1, "", "CRC16_CCITT_TRUE"], [20, 4, 1, "", "CRC16_CDMA2000"], [20, 4, 1, "", "CRC16_CMS"], [20, 4, 1, "", "CRC16_DARC"], [20, 4, 1, "", "CRC16_DDS_110"], [20, 4, 1, "", "CRC16_DECT_R"], [20, 4, 1, "", "CRC16_DECT_X"], [20, 4, 1, "", "CRC16_DNP"], [20, 4, 1, "", "CRC16_EN_13757"], [20, 4, 1, "", "CRC16_EPC"], [20, 4, 1, "", "CRC16_EPC_C1G2"], [20, 4, 1, "", "CRC16_GENIBUS"], [20, 4, 1, "", "CRC16_GSM"], [20, 4, 1, "", "CRC16_IBM"], [20, 4, 1, "", "CRC16_IBM_3740"], [20, 4, 1, "", "CRC16_IBM_SDLC"], [20, 4, 1, "", "CRC16_IEC_61158_2"], [20, 4, 1, "", "CRC16_ISO_HDLC"], [20, 4, 1, "", "CRC16_ISO_IEC_14443_3_A"], [20, 4, 1, "", "CRC16_ISO_IEC_14443_3_B"], [20, 4, 1, "", "CRC16_I_CODE"], [20, 4, 1, "", "CRC16_KERMIT"], [20, 4, 1, "", "CRC16_LJ1200"], [20, 4, 1, "", "CRC16_LTE"], [20, 4, 1, "", "CRC16_M17"], [20, 4, 1, "", "CRC16_MAXIM"], [20, 4, 1, "", "CRC16_MAXIM_DOW"], [20, 4, 1, "", "CRC16_MCRF4XX"], [20, 4, 1, "", "CRC16_MODBUS"], [20, 4, 1, "", "CRC16_NRSC_5"], [20, 4, 1, "", "CRC16_OPENSAFETY_A"], [20, 4, 1, "", "CRC16_OPENSAFETY_B"], [20, 4, 1, "", "CRC16_PROFIBUS"], [20, 4, 1, "", "CRC16_RIELLO"], [20, 4, 1, "", "CRC16_SPI_FUJITSU"], [20, 4, 1, "", "CRC16_T10_DIF"], [20, 4, 1, "", "CRC16_TELEDISK"], [20, 4, 1, "", "CRC16_TMS37157"], [20, 4, 1, "", "CRC16_UMTS"], [20, 4, 1, "", "CRC16_USB"], [20, 4, 1, "", "CRC16_VERIFONE"], [20, 4, 1, "", "CRC16_V_41_LSB"], [20, 4, 1, "", "CRC16_V_41_MSB"], [20, 4, 1, "", "CRC16_X25"], [20, 4, 1, "", "CRC16_XMODEM"], [20, 4, 1, "", "CRC16_ZMODEM"], [20, 4, 1, "", "CRC17_CAN_FD"], [20, 4, 1, "", "CRC21_CAN_FD"], [20, 4, 1, "", "CRC24_BLE"], [20, 4, 1, "", "CRC24_FLEXRAY_A"], [20, 4, 1, "", "CRC24_FLEXRAY_B"], [20, 4, 1, "", "CRC24_INTERLAKEN"], [20, 4, 1, "", "CRC24_LTE_A"], [20, 4, 1, "", "CRC24_LTE_B"], [20, 4, 1, "", "CRC24_OPENPGP"], [20, 4, 1, "", "CRC24_OS_9"], [20, 4, 1, "", "CRC30_CDMA"], [20, 4, 1, "", "CRC31_PHILIPS"], [20, 4, 1, "", "CRC32_AAL5"], [20, 4, 1, "", "CRC32_ADCCP"], [20, 4, 1, "", "CRC32_AIXM"], [20, 4, 1, "", "CRC32_AUTOSAR"], [20, 4, 1, "", "CRC32_BASE91_C"], [20, 4, 1, "", "CRC32_BASE91_D"], [20, 4, 1, "", "CRC32_BZIP2"], [20, 4, 1, "", "CRC32_CASTAGNOLI"], [20, 4, 1, "", "CRC32_CD_ROM_EDC"], [20, 4, 1, "", "CRC32_CKSUM"], [20, 4, 1, "", "CRC32_DECT_B"], [20, 4, 1, "", "CRC32_ETHERNET"], [20, 4, 1, "", "CRC32_INTERLAKEN"], [20, 4, 1, "", "CRC32_ISCSI"], [20, 4, 1, "", "CRC32_ISO_HDLC"], [20, 4, 1, "", "CRC32_JAMCRC"], [20, 4, 1, "", "CRC32_MEF"], [20, 4, 1, "", "CRC32_MPEG_2"], [20, 4, 1, "", "CRC32_PKZIP"], [20, 4, 1, "", "CRC32_POSIX"], [20, 4, 1, "", "CRC32_V_42"], [20, 4, 1, "", "CRC32_XFER"], [20, 4, 1, "", "CRC32_XZ"], [20, 4, 1, "", "CRC3_GSM"], [20, 4, 1, "", "CRC3_ROHC"], [20, 4, 1, "", "CRC40_GSM"], [20, 4, 1, "", "CRC4_G_704"], [20, 4, 1, "", "CRC4_INTERLAKEN"], [20, 4, 1, "", "CRC4_ITU"], [20, 4, 1, "", "CRC5_EPC"], [20, 4, 1, "", "CRC5_EPC_C1G2"], [20, 4, 1, "", "CRC5_G_704"], [20, 4, 1, "", "CRC5_ITU"], [20, 4, 1, "", "CRC5_USB"], [20, 4, 1, "", "CRC64_ECMA"], [20, 4, 1, "", "CRC64_ECMA_182"], [20, 4, 1, "", "CRC64_GO_ISO"], [20, 4, 1, "", "CRC64_MS"], [20, 4, 1, "", "CRC64_REDIS"], [20, 4, 1, "", "CRC64_WE"], [20, 4, 1, "", "CRC64_XZ"], [20, 4, 1, "", "CRC6_CDMA2000_A"], [20, 4, 1, "", "CRC6_CDMA2000_B"], [20, 4, 1, "", "CRC6_DARC"], [20, 4, 1, "", "CRC6_GSM"], [20, 4, 1, "", "CRC6_G_704"], [20, 4, 1, "", "CRC6_ITU"], [20, 4, 1, "", "CRC7_MMC"], [20, 4, 1, "", "CRC7_ROHC"], [20, 4, 1, "", "CRC7_UMTS"], [20, 4, 1, "", "CRC82_DARC"], [20, 4, 1, "", "CRC8_AES"], [20, 4, 1, "", "CRC8_AUTOSAR"], [20, 4, 1, "", "CRC8_BLUETOOTH"], [20, 4, 1, "", "CRC8_CDMA2000"], [20, 4, 1, "", "CRC8_DARC"], [20, 4, 1, "", "CRC8_DVB_S2"], [20, 4, 1, "", "CRC8_ETU"], [20, 4, 1, "", "CRC8_GSM_A"], [20, 4, 1, "", "CRC8_GSM_B"], [20, 4, 1, "", "CRC8_HITAG"], [20, 4, 1, "", "CRC8_ITU"], [20, 4, 1, "", "CRC8_I_432_1"], [20, 4, 1, "", "CRC8_I_CODE"], [20, 4, 1, "", "CRC8_LTE"], [20, 4, 1, "", "CRC8_MAXIM"], [20, 4, 1, "", "CRC8_MAXIM_DOW"], [20, 4, 1, "", "CRC8_MIFARE_MAD"], [20, 4, 1, "", "CRC8_NRSC_5"], [20, 4, 1, "", "CRC8_OPENSAFETY"], [20, 4, 1, "", "CRC8_ROHC"], [20, 4, 1, "", "CRC8_SAE_J1850"], [20, 4, 1, "", "CRC8_SMBUS"], [20, 4, 1, "", "CRC8_TECH_3250"], [20, 4, 1, "", "CRC8_WCDMA"]], "amaranth.lib.data": [[21, 1, 1, "", "ArrayLayout"], [21, 1, 1, "", "Field"], [21, 1, 1, "", "FlexibleLayout"], [21, 1, 1, "", "Layout"], [21, 1, 1, "", "Struct"], [21, 1, 1, "", "StructLayout"], [21, 1, 1, "", "Union"], [21, 1, 1, "", "UnionLayout"], [21, 1, 1, "", "View"]], "amaranth.lib.data.ArrayLayout": [[21, 3, 1, "", "size"]], "amaranth.lib.data.Field": [[21, 2, 1, "", "__eq__"], [21, 3, 1, "", "width"]], "amaranth.lib.data.Layout": [[21, 2, 1, "", "__call__"], [21, 2, 1, "", "__eq__"], [21, 2, 1, "", "__getitem__"], [21, 2, 1, "", "__iter__"], [21, 2, 1, "", "as_shape"], [21, 2, 1, "", "cast"], [21, 2, 1, "", "const"], [21, 3, 1, "", "size"]], "amaranth.lib.data.StructLayout": [[21, 3, 1, "", "size"]], "amaranth.lib.data.UnionLayout": [[21, 2, 1, "", "const"], [21, 3, 1, "", "size"]], "amaranth.lib.data.View": [[21, 2, 1, "", "__getattr__"], [21, 2, 1, "", "__getitem__"], [21, 2, 1, "", "as_value"], [21, 2, 1, "", "eq"], [21, 2, 1, "", "shape"]], "amaranth.lib.enum": [[22, 1, 1, "", "Enum"], [22, 1, 1, "", "EnumMeta"], [22, 1, 1, "", "EnumView"], [22, 1, 1, "", "Flag"], [22, 1, 1, "", "FlagView"], [22, 1, 1, "", "IntEnum"], [22, 1, 1, "", "IntFlag"]], "amaranth.lib.enum.EnumMeta": [[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, "", "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.wiring": [[24, 1, 1, "", "Component"], [24, 5, 1, "", "ConnectionError"], [24, 1, 1, "", "FlippedInterface"], [24, 1, 1, "", "FlippedSignature"], [24, 1, 1, "", "FlippedSignatureMembers"], [24, 1, 1, "", "Flow"], [24, 4, 1, "", "In"], [24, 1, 1, "", "Member"], [24, 4, 1, "", "Out"], [24, 1, 1, "", "PureInterface"], [24, 1, 1, "", "Signature"], [24, 5, 1, "", "SignatureError"], [24, 1, 1, "", "SignatureMembers"], [24, 1, 1, "", "SignatureMeta"], [24, 7, 1, "", "connect"], [24, 7, 1, "", "flipped"]], "amaranth.lib.wiring.Component": [[24, 3, 1, "", "signature"]], "amaranth.lib.wiring.FlippedInterface": [[24, 2, 1, "", "__delattr__"], [24, 2, 1, "", "__eq__"], [24, 2, 1, "", "__getattr__"], [24, 2, 1, "", "__setattr__"], [24, 3, 1, "", "signature"]], "amaranth.lib.wiring.FlippedSignature": [[24, 2, 1, "", "__delattr__"], [24, 2, 1, "", "__getattr__"], [24, 2, 1, "", "__setattr__"], [24, 2, 1, "", "flip"]], "amaranth.lib.wiring.FlippedSignatureMembers": [[24, 2, 1, "", "flip"]], "amaranth.lib.wiring.Flow": [[24, 6, 1, "", "In"], [24, 6, 1, "", "Out"], [24, 2, 1, "", "__call__"], [24, 2, 1, "", "flip"]], "amaranth.lib.wiring.Member": [[24, 2, 1, "", "array"], [24, 3, 1, "", "dimensions"], [24, 2, 1, "", "flip"], [24, 3, 1, "", "flow"], [24, 3, 1, "", "is_port"], [24, 3, 1, "", "is_signature"], [24, 3, 1, "", "reset"], [24, 3, 1, "", "shape"], [24, 3, 1, "", "signature"]], "amaranth.lib.wiring.PureInterface": [[24, 2, 1, "", "__init__"]], "amaranth.lib.wiring.Signature": [[24, 2, 1, "", "__eq__"], [24, 2, 1, "", "create"], [24, 2, 1, "", "flatten"], [24, 2, 1, "", "flip"], [24, 2, 1, "", "is_compliant"], [24, 3, 1, "", "members"]], "amaranth.lib.wiring.SignatureMembers": [[24, 2, 1, "", "__contains__"], [24, 2, 1, "", "__delitem__"], [24, 2, 1, "", "__eq__"], [24, 2, 1, "", "__getitem__"], [24, 2, 1, "", "__iter__"], [24, 2, 1, "", "__setitem__"], [24, 2, 1, "", "create"], [24, 2, 1, "", "flatten"], [24, 2, 1, "", "flip"]], "amaranth.lib.wiring.SignatureMeta": [[24, 2, 1, "", "__instancecheck__"], [24, 2, 1, "", "__subclasscheck__"]], "amaranth.vendor": [[8, 1, 1, "", "GowinPlatform"], [9, 1, 1, "", "IntelPlatform"], [10, 1, 1, "", "LatticeECP5Platform"], [11, 1, 1, "", "LatticeICE40Platform"], [12, 6, 1, "", "LatticeMachXO2Platform"], [12, 6, 1, "", "LatticeMachXO3LPlatform"], [13, 1, 1, "", "QuicklogicPlatform"], [14, 1, 1, "", "XilinxPlatform"]], "amaranth.vendor._lattice_machxo_2_3l": [[12, 1, 1, "", "LatticeMachXO2Or3LPlatform"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:property", "4": "py:data", "5": "py:exception", "6": "py:attribute", "7": "py:function"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "property", "Python property"], "4": ["py", "data", "Python data"], "5": ["py", "exception", "Python exception"], "6": ["py", "attribute", "Python attribute"], "7": ["py", "function", "Python function"]}, "titleterms": {"changelog": 0, "document": [0, 1, 2], "past": 0, "releas": [0, 4], "version": 0, "0": 0, "5": 0, "unreleas": 0, "migrat": 0, "from": [0, 6], "4": 0, "implement": [0, 15], "rfc": 0, "languag": [0, 3, 5, 6], "chang": [0, 1], "standard": [0, 5, 16], "librari": [0, 5, 16], "platform": [0, 7], "integr": [0, 5, 7], "3": 0, "toolchain": [0, 3, 5], "2": 0, "1": 0, "contribut": 1, "file": 1, "problem": 1, "report": 1, "fix": 1, "propos": 1, "new": 1, "featur": 1, "work": 1, "codebas": 1, "prepar": 1, "environ": 1, "run": 1, "testsuit": 1, "build": [1, 5], "your": 1, "weekli": 1, "meet": 1, "amaranth": [2, 4, 5], "project": 2, "instal": 4, "system": [4, 5], "requir": 4, "prerequisit": 4, "latest": 4, "develop": [4, 5], "snapshot": 4, "edit": 4, "board": [4, 5], "definit": [4, 5], "todo": [4, 6, 7, 15, 25], "introduct": [5, 21, 24], "The": [5, 6], "simul": 5, "fpga": 5, "guid": 6, "prelud": 6, "shape": 6, "valu": 6, "constant": [6, 24], "cast": 6, "integ": 6, "rang": 6, "enumer": [6, 22], "member": 6, "signal": 6, "name": 6, "initi": 6, "reset": 6, "less": 6, "oper": 6, "perform": 6, "describ": 6, "comput": 6, "width": 6, "extens": 6, "arithmet": 6, "comparison": 6, "bitwis": 6, "shift": 6, "rotat": 6, "reduct": 6, "logic": 6, "bit": 6, "sequenc": 6, "match": 6, "convers": [6, 18], "choic": 6, "arrai": 6, "data": [6, 21], "structur": [6, 21], "modul": 6, "control": 6, "domain": [6, 17], "assign": 6, "target": 6, "order": 6, "flow": 6, "activ": 6, "inact": 6, "If": 6, "elif": 6, "els": 6, "block": 6, "switch": 6, "case": 6, "fsm": 6, "state": 6, "combinatori": 6, "evalu": 6, "synchron": 6, "clock": [6, 17], "late": 6, "bind": 6, "elabor": 6, "submodul": 6, "modifi": 6, "renam": 6, "memori": 6, "instanc": 6, "gowin": 8, "intel": 9, "lattic": [10, 11, 12], "ecp5": 10, "ice40": 11, "machxo2": 12, "machxo3l": 12, "quicklog": 13, "xilinx": 14, "get": 15, "start": 15, "A": 15, "counter": 15, "test": 15, "convert": 15, "blink": 15, "led": 15, "cross": 17, "code": 18, "One": 18, "hot": 18, "prioriti": 18, "grai": 18, "cyclic": 19, "redund": 19, "check": 19, "predefin": 20, "crc": 20, "algorithm": 20, "overview": [21, 24], "motiv": [21, 24], "compos": 21, "layout": 21, "defin": 21, "discrimin": 21, "union": 21, "model": 21, "common": 21, "view": [21, 22], "creat": 21, "access": 21, "custom": [21, 24], "class": [21, 22], "metaclass": 22, "base": 22, "first": 23, "out": 23, "queue": 23, "interfac": 24, "connect": 24, "reusabl": 24, "forward": 24, "interior": 24, "input": 24, "adapt": 24, "signatur": 24, "path": 24, "make": 24, "compon": 24, "tutori": 25}, "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.5 (unreleased)": [[0, "version-0-5-unreleased"]], "Migrating from version 0.4": [[0, "migrating-from-version-0-4"]], "Implemented RFCs": [[0, "implemented-rfcs"], [0, "id1"]], "Language changes": [[0, "language-changes"], [0, "id2"], [0, "id5"]], "Standard library changes": [[0, "standard-library-changes"], [0, "id3"], [0, "id6"]], "Platform integration changes": [[0, "platform-integration-changes"], [0, "id4"], [0, "id8"]], "Version 0.4": [[0, "version-0-4"]], "Migrating from version 0.3": [[0, "migrating-from-version-0-3"]], "Toolchain changes": [[0, "toolchain-changes"], [0, "id7"]], "Version 0.3": [[0, "version-0-3"]], "Migrating from version 0.2": [[0, "migrating-from-version-0-2"]], "Versions 0.1, 0.2": [[0, "versions-0-1-0-2"]], "Contributing": [[1, "contributing"]], "Filing problem reports": [[1, "filing-problem-reports"]], "Fixing problems": [[1, "fixing-problems"]], "Proposing new features": [[1, "proposing-new-features"]], "Working with the codebase": [[1, "working-with-the-codebase"]], "Preparing the environment": [[1, "preparing-the-environment"]], "Running the testsuite": [[1, "running-the-testsuite"]], "Building the documentation": [[1, "building-the-documentation"]], "Contributing your changes": [[1, "contributing-your-changes"]], "Weekly meetings": [[1, "weekly-meetings"]], "Amaranth project documentation": [[2, "amaranth-project-documentation"]], "Language & toolchain": [[3, "language-toolchain"]], "Installation": [[4, "installation"]], "System requirements": [[4, "system-requirements"]], "Installing prerequisites": [[4, "installing-prerequisites"]], "Installing Amaranth": [[4, "installing-amaranth"]], "Latest release": [[4, "latest-release"]], "Development snapshot": [[4, "development-snapshot"]], "Editable development snapshot": [[4, "editable-development-snapshot"]], "Installing board definitions": [[4, "installing-board-definitions"]], "Todo": [[4, "id1"], [6, "id14"], [7, "id1"], [15, "id1"], [25, "id1"]], "Introduction": [[5, "introduction"], [21, "introduction"], [24, "introduction"]], "The Amaranth language": [[5, "the-amaranth-language"]], "The Amaranth standard library": [[5, "the-amaranth-standard-library"]], "The Amaranth simulator": [[5, "the-amaranth-simulator"]], "The Amaranth build system": [[5, "the-amaranth-build-system"]], "FPGA toolchain integration": [[5, "fpga-toolchain-integration"]], "Development board definitions": [[5, "development-board-definitions"]], "Language guide": [[6, "language-guide"]], "The prelude": [[6, "the-prelude"]], "Shapes": [[6, "shapes"]], "Shapes of values": [[6, "shapes-of-values"]], "Values": [[6, "values"]], "Constants": [[6, "constants"]], "Shape casting": [[6, "shape-casting"]], "Shapes from integers": [[6, "shapes-from-integers"]], "Shapes from ranges": [[6, "shapes-from-ranges"]], "Shapes from enumerations": [[6, "shapes-from-enumerations"]], "Value casting": [[6, "value-casting"]], "Values from integers": [[6, "values-from-integers"]], "Values from enumeration members": [[6, "values-from-enumeration-members"]], "Constant casting": [[6, "constant-casting"]], "Signals": [[6, "signals"]], "Signal shapes": [[6, "signal-shapes"]], "Signal names": [[6, "signal-names"]], "Initial signal values": [[6, "initial-signal-values"]], "Reset-less signals": [[6, "reset-less-signals"]], "Operators": [[6, "operators"]], "Performing or describing computations?": [[6, "performing-or-describing-computations"]], "Width extension": [[6, "width-extension"]], "Arithmetic operators": [[6, "arithmetic-operators"]], "Comparison operators": [[6, "comparison-operators"]], "Bitwise, shift, and rotate operators": [[6, "bitwise-shift-and-rotate-operators"]], "Reduction operators": [[6, "reduction-operators"]], "Logical operators": [[6, "logical-operators"]], "Bit sequence operators": [[6, "bit-sequence-operators"]], "Match operator": [[6, "match-operator"]], "Conversion operators": [[6, "conversion-operators"]], "Choice operator": [[6, "choice-operator"]], "Arrays": [[6, "arrays"]], "Data structures": [[6, "data-structures"], [21, "module-amaranth.lib.data"]], "Modules": [[6, "modules"]], "Control domains": [[6, "control-domains"]], "Assigning to signals": [[6, "assigning-to-signals"]], "Assignment targets": [[6, "assignment-targets"]], "Assignment domains": [[6, "assignment-domains"]], "Assignment order": [[6, "assignment-order"]], "Control flow": [[6, "control-flow"]], "Active and inactive assignments": [[6, "active-and-inactive-assignments"]], "If/Elif/Else control blocks": [[6, "if-elif-else-control-blocks"]], "Switch/Case control blocks": [[6, "switch-case-control-blocks"]], "FSM/State control blocks": [[6, "fsm-state-control-blocks"]], "Combinatorial evaluation": [[6, "combinatorial-evaluation"]], "Synchronous evaluation": [[6, "synchronous-evaluation"]], "Clock domains": [[6, "clock-domains"]], "Late binding of clock and reset signals": [[6, "late-binding-of-clock-and-reset-signals"]], "Elaboration": [[6, "elaboration"]], "Submodules": [[6, "submodules"]], "Modifying control flow": [[6, "modifying-control-flow"]], "Renaming domains": [[6, "renaming-domains"]], "Memories": [[6, "memories"]], "Instances": [[6, "instances"]], "Platform integration": [[7, "platform-integration"]], "Gowin": [[8, "gowin"]], "Intel": [[9, "intel"]], "Lattice ECP5": [[10, "lattice-ecp5"]], "Lattice iCE40": [[11, "lattice-ice40"]], "Lattice MachXO2 and MachXO3L": [[12, "lattice-machxo2-and-machxo3l"]], "Quicklogic": [[13, "quicklogic"]], "Xilinx": [[14, "xilinx"]], "Getting started": [[15, "getting-started"]], "A counter": [[15, "a-counter"]], "Implementing a counter": [[15, "implementing-a-counter"]], "Testing a counter": [[15, "testing-a-counter"]], "Converting a counter": [[15, "converting-a-counter"]], "A blinking LED": [[15, "a-blinking-led"]], "Standard library": [[16, "standard-library"]], "Clock domain crossing": [[17, "module-amaranth.lib.cdc"]], "Code conversion": [[18, "module-amaranth.lib.coding"]], "One-hot coding": [[18, "one-hot-coding"]], "Priority coding": [[18, "priority-coding"]], "Gray coding": [[18, "gray-coding"]], "Cyclic redundancy checks": [[19, "module-amaranth.lib.crc"]], "Predefined CRC Algorithms": [[20, "module-amaranth.lib.crc.catalog"]], "Overview": [[21, "overview"], [24, "overview"]], "Motivation": [[21, "motivation"], [24, "motivation"]], "Composing layouts": [[21, "composing-layouts"]], "Defining layouts": [[21, "defining-layouts"]], "Discriminated unions": [[21, "discriminated-unions"]], "Modeling structured data": [[21, "modeling-structured-data"]], "Common data layouts": [[21, "common-data-layouts"]], "Data views": [[21, "data-views"]], "Creating a view": [[21, "creating-a-view"]], "Accessing a view": [[21, "accessing-a-view"]], "Custom view classes": [[21, "custom-view-classes"]], "Data classes": [[21, "data-classes"]], "Enumerations": [[22, "module-amaranth.lib.enum"]], "Metaclass": [[22, "metaclass"]], "Base classes": [[22, "base-classes"]], "View classes": [[22, "view-classes"]], "First-in first-out queues": [[23, "module-amaranth.lib.fifo"]], "Interfaces and connections": [[24, "module-amaranth.lib.wiring"]], "Reusable interfaces": [[24, "reusable-interfaces"]], "Forwarding interior interfaces": [[24, "forwarding-interior-interfaces"]], "Constant inputs": [[24, "constant-inputs"]], "Adapting interfaces": [[24, "adapting-interfaces"]], "Customizing signatures and interfaces": [[24, "customizing-signatures-and-interfaces"]], "Paths": [[24, "paths"]], "Signatures": [[24, "signatures"]], "Interfaces": [[24, "interfaces"]], "Making connections": [[24, "making-connections"]], "Components": [[24, "components"]], "Tutorial": [[25, "tutorial"]]}, "indexentries": {"gowinplatform (class in amaranth.vendor)": [[8, "amaranth.vendor.GowinPlatform"]], "intelplatform (class in amaranth.vendor)": [[9, "amaranth.vendor.IntelPlatform"]], "latticeecp5platform (class in amaranth.vendor)": [[10, "amaranth.vendor.LatticeECP5Platform"]], "latticeice40platform (class in amaranth.vendor)": [[11, "amaranth.vendor.LatticeICE40Platform"]], "latticemachxo2or3lplatform (class in amaranth.vendor._lattice_machxo_2_3l)": [[12, "amaranth.vendor._lattice_machxo_2_3l.LatticeMachXO2Or3LPlatform"]], "latticemachxo2platform (in module amaranth.vendor)": [[12, "amaranth.vendor.LatticeMachXO2Platform"]], "latticemachxo3lplatform (in module amaranth.vendor)": [[12, "amaranth.vendor.LatticeMachXO3LPlatform"]], "quicklogicplatform (class in amaranth.vendor)": [[13, "amaranth.vendor.QuicklogicPlatform"]], "xilinxplatform (class in amaranth.vendor)": [[14, "amaranth.vendor.XilinxPlatform"]], "asyncffsynchronizer (class in amaranth.lib.cdc)": [[17, "amaranth.lib.cdc.AsyncFFSynchronizer"]], "ffsynchronizer (class in amaranth.lib.cdc)": [[17, "amaranth.lib.cdc.FFSynchronizer"]], "pulsesynchronizer (class in amaranth.lib.cdc)": [[17, "amaranth.lib.cdc.PulseSynchronizer"]], "resetsynchronizer (class in amaranth.lib.cdc)": [[17, "amaranth.lib.cdc.ResetSynchronizer"]], "amaranth.lib.cdc": [[17, "module-amaranth.lib.cdc"]], "module": [[17, "module-amaranth.lib.cdc"], [18, "module-amaranth.lib.coding"], [19, "module-amaranth.lib.crc"], [20, "module-amaranth.lib.crc.catalog"], [21, "module-amaranth.lib.data"], [22, "module-amaranth.lib.enum"], [23, "module-amaranth.lib.fifo"], [24, "module-amaranth.lib.wiring"]], "decoder (class in amaranth.lib.coding)": [[18, "amaranth.lib.coding.Decoder"]], "encoder (class in amaranth.lib.coding)": [[18, "amaranth.lib.coding.Encoder"]], "graydecoder (class in amaranth.lib.coding)": [[18, "amaranth.lib.coding.GrayDecoder"]], "grayencoder (class in amaranth.lib.coding)": [[18, "amaranth.lib.coding.GrayEncoder"]], "prioritydecoder (class in amaranth.lib.coding)": [[18, "amaranth.lib.coding.PriorityDecoder"]], "priorityencoder (class in amaranth.lib.coding)": [[18, "amaranth.lib.coding.PriorityEncoder"]], "amaranth.lib.coding": [[18, "module-amaranth.lib.coding"]], "algorithm (class in amaranth.lib.crc)": [[19, "amaranth.lib.crc.Algorithm"]], "parameters (class in amaranth.lib.crc)": [[19, "amaranth.lib.crc.Parameters"]], "processor (class in amaranth.lib.crc)": [[19, "amaranth.lib.crc.Processor"]], "__call__() (amaranth.lib.crc.algorithm method)": [[19, "amaranth.lib.crc.Algorithm.__call__"]], "algorithm (amaranth.lib.crc.parameters property)": [[19, "amaranth.lib.crc.Parameters.algorithm"]], "amaranth.lib.crc": [[19, "module-amaranth.lib.crc"]], "compute() (amaranth.lib.crc.parameters method)": [[19, "amaranth.lib.crc.Parameters.compute"]], "create() (amaranth.lib.crc.parameters method)": [[19, "amaranth.lib.crc.Parameters.create"]], "residue() (amaranth.lib.crc.parameters method)": [[19, "amaranth.lib.crc.Parameters.residue"]], "crc10_atm (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC10_ATM"]], "crc10_cdma2000 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC10_CDMA2000"]], "crc10_gsm (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC10_GSM"]], "crc10_i_610 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC10_I_610"]], "crc11_flexray (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC11_FLEXRAY"]], "crc11_umts (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC11_UMTS"]], "crc12_3gpp (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC12_3GPP"]], "crc12_cdma2000 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC12_CDMA2000"]], "crc12_dect (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC12_DECT"]], "crc12_gsm (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC12_GSM"]], "crc12_umts (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC12_UMTS"]], "crc13_bbc (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC13_BBC"]], "crc14_darc (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC14_DARC"]], "crc14_gsm (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC14_GSM"]], "crc15_can (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC15_CAN"]], "crc15_mpt1327 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC15_MPT1327"]], "crc16_acorn (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_ACORN"]], "crc16_arc (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_ARC"]], "crc16_aug_ccitt (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_AUG_CCITT"]], "crc16_autosar (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_AUTOSAR"]], "crc16_bluetooth (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_BLUETOOTH"]], "crc16_buypass (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_BUYPASS"]], "crc16_ccitt (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_CCITT"]], "crc16_ccitt_false (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_CCITT_FALSE"]], "crc16_ccitt_true (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_CCITT_TRUE"]], "crc16_cdma2000 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_CDMA2000"]], "crc16_cms (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_CMS"]], "crc16_darc (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_DARC"]], "crc16_dds_110 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_DDS_110"]], "crc16_dect_r (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_DECT_R"]], "crc16_dect_x (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_DECT_X"]], "crc16_dnp (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_DNP"]], "crc16_en_13757 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_EN_13757"]], "crc16_epc (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_EPC"]], "crc16_epc_c1g2 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_EPC_C1G2"]], "crc16_genibus (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_GENIBUS"]], "crc16_gsm (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_GSM"]], "crc16_ibm (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_IBM"]], "crc16_ibm_3740 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_IBM_3740"]], "crc16_ibm_sdlc (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_IBM_SDLC"]], "crc16_iec_61158_2 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_IEC_61158_2"]], "crc16_iso_hdlc (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_ISO_HDLC"]], "crc16_iso_iec_14443_3_a (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_ISO_IEC_14443_3_A"]], "crc16_iso_iec_14443_3_b (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_ISO_IEC_14443_3_B"]], "crc16_i_code (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_I_CODE"]], "crc16_kermit (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_KERMIT"]], "crc16_lj1200 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_LJ1200"]], "crc16_lte (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_LTE"]], "crc16_m17 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_M17"]], "crc16_maxim (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_MAXIM"]], "crc16_maxim_dow (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_MAXIM_DOW"]], "crc16_mcrf4xx (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_MCRF4XX"]], "crc16_modbus (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_MODBUS"]], "crc16_nrsc_5 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_NRSC_5"]], "crc16_opensafety_a (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_OPENSAFETY_A"]], "crc16_opensafety_b (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_OPENSAFETY_B"]], "crc16_profibus (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_PROFIBUS"]], "crc16_riello (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_RIELLO"]], "crc16_spi_fujitsu (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_SPI_FUJITSU"]], "crc16_t10_dif (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_T10_DIF"]], "crc16_teledisk (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_TELEDISK"]], "crc16_tms37157 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_TMS37157"]], "crc16_umts (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_UMTS"]], "crc16_usb (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_USB"]], "crc16_verifone (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_VERIFONE"]], "crc16_v_41_lsb (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_V_41_LSB"]], "crc16_v_41_msb (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_V_41_MSB"]], "crc16_x25 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_X25"]], "crc16_xmodem (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_XMODEM"]], "crc16_zmodem (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC16_ZMODEM"]], "crc17_can_fd (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC17_CAN_FD"]], "crc21_can_fd (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC21_CAN_FD"]], "crc24_ble (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC24_BLE"]], "crc24_flexray_a (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC24_FLEXRAY_A"]], "crc24_flexray_b (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC24_FLEXRAY_B"]], "crc24_interlaken (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC24_INTERLAKEN"]], "crc24_lte_a (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC24_LTE_A"]], "crc24_lte_b (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC24_LTE_B"]], "crc24_openpgp (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC24_OPENPGP"]], "crc24_os_9 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC24_OS_9"]], "crc30_cdma (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC30_CDMA"]], "crc31_philips (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC31_PHILIPS"]], "crc32_aal5 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC32_AAL5"]], "crc32_adccp (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC32_ADCCP"]], "crc32_aixm (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC32_AIXM"]], "crc32_autosar (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC32_AUTOSAR"]], "crc32_base91_c (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC32_BASE91_C"]], "crc32_base91_d (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC32_BASE91_D"]], "crc32_bzip2 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC32_BZIP2"]], "crc32_castagnoli (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC32_CASTAGNOLI"]], "crc32_cd_rom_edc (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC32_CD_ROM_EDC"]], "crc32_cksum (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC32_CKSUM"]], "crc32_dect_b (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC32_DECT_B"]], "crc32_ethernet (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC32_ETHERNET"]], "crc32_interlaken (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC32_INTERLAKEN"]], "crc32_iscsi (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC32_ISCSI"]], "crc32_iso_hdlc (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC32_ISO_HDLC"]], "crc32_jamcrc (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC32_JAMCRC"]], "crc32_mef (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC32_MEF"]], "crc32_mpeg_2 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC32_MPEG_2"]], "crc32_pkzip (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC32_PKZIP"]], "crc32_posix (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC32_POSIX"]], "crc32_v_42 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC32_V_42"]], "crc32_xfer (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC32_XFER"]], "crc32_xz (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC32_XZ"]], "crc3_gsm (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC3_GSM"]], "crc3_rohc (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC3_ROHC"]], "crc40_gsm (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC40_GSM"]], "crc4_g_704 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC4_G_704"]], "crc4_interlaken (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC4_INTERLAKEN"]], "crc4_itu (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC4_ITU"]], "crc5_epc (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC5_EPC"]], "crc5_epc_c1g2 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC5_EPC_C1G2"]], "crc5_g_704 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC5_G_704"]], "crc5_itu (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC5_ITU"]], "crc5_usb (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC5_USB"]], "crc64_ecma (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC64_ECMA"]], "crc64_ecma_182 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC64_ECMA_182"]], "crc64_go_iso (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC64_GO_ISO"]], "crc64_ms (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC64_MS"]], "crc64_redis (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC64_REDIS"]], "crc64_we (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC64_WE"]], "crc64_xz (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC64_XZ"]], "crc6_cdma2000_a (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC6_CDMA2000_A"]], "crc6_cdma2000_b (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC6_CDMA2000_B"]], "crc6_darc (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC6_DARC"]], "crc6_gsm (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC6_GSM"]], "crc6_g_704 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC6_G_704"]], "crc6_itu (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC6_ITU"]], "crc7_mmc (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC7_MMC"]], "crc7_rohc (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC7_ROHC"]], "crc7_umts (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC7_UMTS"]], "crc82_darc (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC82_DARC"]], "crc8_aes (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC8_AES"]], "crc8_autosar (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC8_AUTOSAR"]], "crc8_bluetooth (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC8_BLUETOOTH"]], "crc8_cdma2000 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC8_CDMA2000"]], "crc8_darc (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC8_DARC"]], "crc8_dvb_s2 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC8_DVB_S2"]], "crc8_etu (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC8_ETU"]], "crc8_gsm_a (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC8_GSM_A"]], "crc8_gsm_b (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC8_GSM_B"]], "crc8_hitag (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC8_HITAG"]], "crc8_itu (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC8_ITU"]], "crc8_i_432_1 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC8_I_432_1"]], "crc8_i_code (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC8_I_CODE"]], "crc8_lte (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC8_LTE"]], "crc8_maxim (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC8_MAXIM"]], "crc8_maxim_dow (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC8_MAXIM_DOW"]], "crc8_mifare_mad (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC8_MIFARE_MAD"]], "crc8_nrsc_5 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC8_NRSC_5"]], "crc8_opensafety (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC8_OPENSAFETY"]], "crc8_rohc (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC8_ROHC"]], "crc8_sae_j1850 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC8_SAE_J1850"]], "crc8_smbus (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC8_SMBUS"]], "crc8_tech_3250 (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC8_TECH_3250"]], "crc8_wcdma (in module amaranth.lib.crc.catalog)": [[20, "amaranth.lib.crc.catalog.CRC8_WCDMA"]], "amaranth.lib.crc.catalog": [[20, "module-amaranth.lib.crc.catalog"]], "arraylayout (class in amaranth.lib.data)": [[21, "amaranth.lib.data.ArrayLayout"]], "field (class in amaranth.lib.data)": [[21, "amaranth.lib.data.Field"]], "flexiblelayout (class in amaranth.lib.data)": [[21, "amaranth.lib.data.FlexibleLayout"]], "layout (class in amaranth.lib.data)": [[21, "amaranth.lib.data.Layout"]], "struct (class in amaranth.lib.data)": [[21, "amaranth.lib.data.Struct"]], "structlayout (class in amaranth.lib.data)": [[21, "amaranth.lib.data.StructLayout"]], "union (class in amaranth.lib.data)": [[21, "amaranth.lib.data.Union"]], "unionlayout (class in amaranth.lib.data)": [[21, "amaranth.lib.data.UnionLayout"]], "view (class in amaranth.lib.data)": [[21, "amaranth.lib.data.View"]], "__call__() (amaranth.lib.data.layout method)": [[21, "amaranth.lib.data.Layout.__call__"]], "__eq__() (amaranth.lib.data.field method)": [[21, "amaranth.lib.data.Field.__eq__"]], "__eq__() (amaranth.lib.data.layout method)": [[21, "amaranth.lib.data.Layout.__eq__"]], "__getattr__() (amaranth.lib.data.view method)": [[21, "amaranth.lib.data.View.__getattr__"]], "__getitem__() (amaranth.lib.data.layout method)": [[21, "amaranth.lib.data.Layout.__getitem__"]], "__getitem__() (amaranth.lib.data.view method)": [[21, "amaranth.lib.data.View.__getitem__"]], "__iter__() (amaranth.lib.data.layout method)": [[21, "amaranth.lib.data.Layout.__iter__"]], "amaranth.lib.data": [[21, "module-amaranth.lib.data"]], "as_shape() (amaranth.lib.data.layout method)": [[21, "amaranth.lib.data.Layout.as_shape"]], "as_value() (amaranth.lib.data.view method)": [[21, "amaranth.lib.data.View.as_value"]], "cast() (amaranth.lib.data.layout static method)": [[21, "amaranth.lib.data.Layout.cast"]], "const() (amaranth.lib.data.layout method)": [[21, "amaranth.lib.data.Layout.const"]], "const() (amaranth.lib.data.unionlayout method)": [[21, "amaranth.lib.data.UnionLayout.const"]], "eq() (amaranth.lib.data.view method)": [[21, "amaranth.lib.data.View.eq"]], "shape() (amaranth.lib.data.view method)": [[21, "amaranth.lib.data.View.shape"]], "size (amaranth.lib.data.arraylayout property)": [[21, "amaranth.lib.data.ArrayLayout.size"]], "size (amaranth.lib.data.layout property)": [[21, "amaranth.lib.data.Layout.size"]], "size (amaranth.lib.data.structlayout property)": [[21, "amaranth.lib.data.StructLayout.size"]], "size (amaranth.lib.data.unionlayout property)": [[21, "amaranth.lib.data.UnionLayout.size"]], "width (amaranth.lib.data.field property)": [[21, "amaranth.lib.data.Field.width"]], "enum (class in amaranth.lib.enum)": [[22, "amaranth.lib.enum.Enum"]], "enummeta (class in amaranth.lib.enum)": [[22, "amaranth.lib.enum.EnumMeta"]], "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.enummeta method)": [[22, "amaranth.lib.enum.EnumMeta.__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.enummeta method)": [[22, "amaranth.lib.enum.EnumMeta.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"]], "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"]], "component (class in amaranth.lib.wiring)": [[24, "amaranth.lib.wiring.Component"]], "connectionerror": [[24, "amaranth.lib.wiring.ConnectionError"]], "flippedinterface (class in amaranth.lib.wiring)": [[24, "amaranth.lib.wiring.FlippedInterface"]], "flippedsignature (class in amaranth.lib.wiring)": [[24, "amaranth.lib.wiring.FlippedSignature"]], "flippedsignaturemembers (class in amaranth.lib.wiring)": [[24, "amaranth.lib.wiring.FlippedSignatureMembers"]], "flow (class in amaranth.lib.wiring)": [[24, "amaranth.lib.wiring.Flow"]], "in (amaranth.lib.wiring.flow attribute)": [[24, "amaranth.lib.wiring.Flow.In"]], "in (in module amaranth.lib.wiring)": [[24, "amaranth.lib.wiring.In"]], "member (class in amaranth.lib.wiring)": [[24, "amaranth.lib.wiring.Member"]], "out (amaranth.lib.wiring.flow attribute)": [[24, "amaranth.lib.wiring.Flow.Out"]], "out (in module amaranth.lib.wiring)": [[24, "amaranth.lib.wiring.Out"]], "pureinterface (class in amaranth.lib.wiring)": [[24, "amaranth.lib.wiring.PureInterface"]], "signature (class in amaranth.lib.wiring)": [[24, "amaranth.lib.wiring.Signature"]], "signatureerror": [[24, "amaranth.lib.wiring.SignatureError"]], "signaturemembers (class in amaranth.lib.wiring)": [[24, "amaranth.lib.wiring.SignatureMembers"]], "signaturemeta (class in amaranth.lib.wiring)": [[24, "amaranth.lib.wiring.SignatureMeta"]], "__call__() (amaranth.lib.wiring.flow method)": [[24, "amaranth.lib.wiring.Flow.__call__"]], "__contains__() (amaranth.lib.wiring.signaturemembers method)": [[24, "amaranth.lib.wiring.SignatureMembers.__contains__"]], "__delattr__() (amaranth.lib.wiring.flippedinterface method)": [[24, "amaranth.lib.wiring.FlippedInterface.__delattr__"]], "__delattr__() (amaranth.lib.wiring.flippedsignature method)": [[24, "amaranth.lib.wiring.FlippedSignature.__delattr__"]], "__delitem__() (amaranth.lib.wiring.signaturemembers method)": [[24, "amaranth.lib.wiring.SignatureMembers.__delitem__"]], "__eq__() (amaranth.lib.wiring.flippedinterface method)": [[24, "amaranth.lib.wiring.FlippedInterface.__eq__"]], "__eq__() (amaranth.lib.wiring.signature method)": [[24, "amaranth.lib.wiring.Signature.__eq__"]], "__eq__() (amaranth.lib.wiring.signaturemembers method)": [[24, "amaranth.lib.wiring.SignatureMembers.__eq__"]], "__getattr__() (amaranth.lib.wiring.flippedinterface method)": [[24, "amaranth.lib.wiring.FlippedInterface.__getattr__"]], "__getattr__() (amaranth.lib.wiring.flippedsignature method)": [[24, "amaranth.lib.wiring.FlippedSignature.__getattr__"]], "__getitem__() (amaranth.lib.wiring.signaturemembers method)": [[24, "amaranth.lib.wiring.SignatureMembers.__getitem__"]], "__init__() (amaranth.lib.wiring.pureinterface method)": [[24, "amaranth.lib.wiring.PureInterface.__init__"]], "__instancecheck__() (amaranth.lib.wiring.signaturemeta method)": [[24, "amaranth.lib.wiring.SignatureMeta.__instancecheck__"]], "__iter__() (amaranth.lib.wiring.signaturemembers method)": [[24, "amaranth.lib.wiring.SignatureMembers.__iter__"]], "__setattr__() (amaranth.lib.wiring.flippedinterface method)": [[24, "amaranth.lib.wiring.FlippedInterface.__setattr__"]], "__setattr__() (amaranth.lib.wiring.flippedsignature method)": [[24, "amaranth.lib.wiring.FlippedSignature.__setattr__"]], "__setitem__() (amaranth.lib.wiring.signaturemembers method)": [[24, "amaranth.lib.wiring.SignatureMembers.__setitem__"]], "__subclasscheck__() (amaranth.lib.wiring.signaturemeta method)": [[24, "amaranth.lib.wiring.SignatureMeta.__subclasscheck__"]], "amaranth.lib.wiring": [[24, "module-amaranth.lib.wiring"]], "array() (amaranth.lib.wiring.member method)": [[24, "amaranth.lib.wiring.Member.array"]], "connect() (in module amaranth.lib.wiring)": [[24, "amaranth.lib.wiring.connect"]], "create() (amaranth.lib.wiring.signature method)": [[24, "amaranth.lib.wiring.Signature.create"]], "create() (amaranth.lib.wiring.signaturemembers method)": [[24, "amaranth.lib.wiring.SignatureMembers.create"]], "dimensions (amaranth.lib.wiring.member property)": [[24, "amaranth.lib.wiring.Member.dimensions"]], "flatten() (amaranth.lib.wiring.signature method)": [[24, "amaranth.lib.wiring.Signature.flatten"]], "flatten() (amaranth.lib.wiring.signaturemembers method)": [[24, "amaranth.lib.wiring.SignatureMembers.flatten"]], "flip() (amaranth.lib.wiring.flippedsignature method)": [[24, "amaranth.lib.wiring.FlippedSignature.flip"]], "flip() (amaranth.lib.wiring.flippedsignaturemembers method)": [[24, "amaranth.lib.wiring.FlippedSignatureMembers.flip"]], "flip() (amaranth.lib.wiring.flow method)": [[24, "amaranth.lib.wiring.Flow.flip"]], "flip() (amaranth.lib.wiring.member method)": [[24, "amaranth.lib.wiring.Member.flip"]], "flip() (amaranth.lib.wiring.signature method)": [[24, "amaranth.lib.wiring.Signature.flip"]], "flip() (amaranth.lib.wiring.signaturemembers method)": [[24, "amaranth.lib.wiring.SignatureMembers.flip"]], "flipped() (in module amaranth.lib.wiring)": [[24, "amaranth.lib.wiring.flipped"]], "flow (amaranth.lib.wiring.member property)": [[24, "amaranth.lib.wiring.Member.flow"]], "is_compliant() (amaranth.lib.wiring.signature method)": [[24, "amaranth.lib.wiring.Signature.is_compliant"]], "is_port (amaranth.lib.wiring.member property)": [[24, "amaranth.lib.wiring.Member.is_port"]], "is_signature (amaranth.lib.wiring.member property)": [[24, "amaranth.lib.wiring.Member.is_signature"]], "members (amaranth.lib.wiring.signature property)": [[24, "amaranth.lib.wiring.Signature.members"]], "reset (amaranth.lib.wiring.member property)": [[24, "amaranth.lib.wiring.Member.reset"]], "shape (amaranth.lib.wiring.member property)": [[24, "amaranth.lib.wiring.Member.shape"]], "signature (amaranth.lib.wiring.component property)": [[24, "amaranth.lib.wiring.Component.signature"]], "signature (amaranth.lib.wiring.flippedinterface property)": [[24, "amaranth.lib.wiring.FlippedInterface.signature"]], "signature (amaranth.lib.wiring.member property)": [[24, "amaranth.lib.wiring.Member.signature"]]}}) \ No newline at end of file diff --git a/docs/amaranth/latest/start.html b/docs/amaranth/latest/start.html index 5975b2d7..16e81704 100644 --- a/docs/amaranth/latest/start.html +++ b/docs/amaranth/latest/start.html @@ -4,7 +4,7 @@ - Getting started — Amaranth language & toolchain 0.4.1.dev51 documentation + Getting started — Amaranth language & toolchain 0.4.1.dev53 documentation @@ -15,7 +15,7 @@ - + @@ -39,7 +39,7 @@
- 0.4.1.dev51+ge88ff13 + 0.4.1.dev53+g5dd1223
diff --git a/docs/amaranth/latest/stdlib.html b/docs/amaranth/latest/stdlib.html index 9f48252a..1f403a0a 100644 --- a/docs/amaranth/latest/stdlib.html +++ b/docs/amaranth/latest/stdlib.html @@ -4,7 +4,7 @@ - Standard library — Amaranth language & toolchain 0.4.1.dev51 documentation + Standard library — Amaranth language & toolchain 0.4.1.dev53 documentation @@ -15,7 +15,7 @@ - + @@ -39,7 +39,7 @@
- 0.4.1.dev51+ge88ff13 + 0.4.1.dev53+g5dd1223
diff --git a/docs/amaranth/latest/stdlib/cdc.html b/docs/amaranth/latest/stdlib/cdc.html index 62659051..e1fdd760 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.4.1.dev51 documentation + Clock domain crossing — Amaranth language & toolchain 0.4.1.dev53 documentation @@ -15,7 +15,7 @@ - + @@ -39,7 +39,7 @@
- 0.4.1.dev51+ge88ff13 + 0.4.1.dev53+g5dd1223
diff --git a/docs/amaranth/latest/stdlib/coding.html b/docs/amaranth/latest/stdlib/coding.html index 132b7999..0a7ac06b 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.4.1.dev51 documentation + Code conversion — Amaranth language & toolchain 0.4.1.dev53 documentation @@ -15,7 +15,7 @@ - + @@ -39,7 +39,7 @@
- 0.4.1.dev51+ge88ff13 + 0.4.1.dev53+g5dd1223
diff --git a/docs/amaranth/latest/stdlib/crc.html b/docs/amaranth/latest/stdlib/crc.html index 47b96631..52b602ea 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.4.1.dev51 documentation + Cyclic redundancy checks — Amaranth language & toolchain 0.4.1.dev53 documentation @@ -15,7 +15,7 @@ - + @@ -39,7 +39,7 @@
- 0.4.1.dev51+ge88ff13 + 0.4.1.dev53+g5dd1223
diff --git a/docs/amaranth/latest/stdlib/crc/catalog.html b/docs/amaranth/latest/stdlib/crc/catalog.html index 489f5cf4..4d4c88b4 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.4.1.dev51 documentation + Predefined CRC Algorithms — Amaranth language & toolchain 0.4.1.dev53 documentation @@ -15,7 +15,7 @@ - + @@ -39,7 +39,7 @@
- 0.4.1.dev51+ge88ff13 + 0.4.1.dev53+g5dd1223
diff --git a/docs/amaranth/latest/stdlib/data.html b/docs/amaranth/latest/stdlib/data.html index 219cee61..b8fe47fe 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.4.1.dev51 documentation + Data structures — Amaranth language & toolchain 0.4.1.dev53 documentation @@ -15,7 +15,7 @@ - + @@ -39,7 +39,7 @@
- 0.4.1.dev51+ge88ff13 + 0.4.1.dev53+g5dd1223
diff --git a/docs/amaranth/latest/stdlib/enum.html b/docs/amaranth/latest/stdlib/enum.html index 4c3f746f..8843769b 100644 --- a/docs/amaranth/latest/stdlib/enum.html +++ b/docs/amaranth/latest/stdlib/enum.html @@ -4,7 +4,7 @@ - Enumerations — Amaranth language & toolchain 0.4.1.dev51 documentation + Enumerations — Amaranth language & toolchain 0.4.1.dev53 documentation @@ -15,7 +15,7 @@ - + @@ -39,7 +39,7 @@
- 0.4.1.dev51+ge88ff13 + 0.4.1.dev53+g5dd1223
@@ -171,8 +171,8 @@
>>> a = Signal(TransparentEnum)
->>> type(a)
-<class 'amaranth.hdl.ast.Signal'>
+>>> type(a) is Signal
+True
 

It is also possible to define a custom view class for a given enum:

diff --git a/docs/amaranth/latest/stdlib/enum.rst b/docs/amaranth/latest/stdlib/enum.rst index 2267b603..98871580 100644 --- a/docs/amaranth/latest/stdlib/enum.rst +++ b/docs/amaranth/latest/stdlib/enum.rst @@ -86,8 +86,8 @@ Like the standard Python :class:`enum.IntEnum` and :class:`enum.IntFlag` classes .. doctest:: >>> a = Signal(TransparentEnum) - >>> type(a) - + >>> type(a) is Signal + True It is also possible to define a custom view class for a given enum: diff --git a/docs/amaranth/latest/stdlib/fifo.html b/docs/amaranth/latest/stdlib/fifo.html index 57fb89a4..3f3d60b2 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.4.1.dev51 documentation + First-in first-out queues — Amaranth language & toolchain 0.4.1.dev53 documentation @@ -15,7 +15,7 @@ - + @@ -39,7 +39,7 @@
- 0.4.1.dev51+ge88ff13 + 0.4.1.dev53+g5dd1223
diff --git a/docs/amaranth/latest/stdlib/wiring.html b/docs/amaranth/latest/stdlib/wiring.html index dbebcb9f..0a29258f 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.4.1.dev51 documentation + Interfaces and connections — Amaranth language & toolchain 0.4.1.dev53 documentation @@ -15,7 +15,7 @@ - + @@ -39,7 +39,7 @@
- 0.4.1.dev51+ge88ff13 + 0.4.1.dev53+g5dd1223
diff --git a/docs/amaranth/latest/tutorial.html b/docs/amaranth/latest/tutorial.html index 75dd4602..9df68eab 100644 --- a/docs/amaranth/latest/tutorial.html +++ b/docs/amaranth/latest/tutorial.html @@ -4,7 +4,7 @@ - Tutorial — Amaranth language & toolchain 0.4.1.dev51 documentation + Tutorial — Amaranth language & toolchain 0.4.1.dev53 documentation @@ -15,7 +15,7 @@ - + @@ -39,7 +39,7 @@
- 0.4.1.dev51+ge88ff13 + 0.4.1.dev53+g5dd1223