{"diffoscope-json-version": 1, "source1": "/srv/reproducible-results/rbuild-debian/r-b-build.SZCjiHHW/b1/yosys_0.51-1_amd64.changes", "source2": "/srv/reproducible-results/rbuild-debian/r-b-build.SZCjiHHW/b2/yosys_0.51-1_amd64.changes", "unified_diff": null, "details": [{"source1": "Files", "source2": "Files", "unified_diff": "@@ -1,7 +1,7 @@\n \n 88a9c59809e8038512300f6ac5c755e8 22676268 debug optional yosys-abc-dbgsym_0.51-1_amd64.deb\n b5d433809c51ae0ffea8a19c687550c4 4595248 electronics optional yosys-abc_0.51-1_amd64.deb\n 2c9e7e93ba936070550f239da54f95b5 92620500 debug optional yosys-dbgsym_0.51-1_amd64.deb\n- 919ebcffbda23a2bf209754ebdaaa58f 134696 electronics optional yosys-dev_0.51-1_amd64.deb\n- 22ff306d369e1e610c73c2a2664cfef9 2907120 doc optional yosys-doc_0.51-1_all.deb\n+ 289cd0f91a8ef537adb03c68c4bab393 134788 electronics optional yosys-dev_0.51-1_amd64.deb\n+ 649771a6c6de0070a995f5597e179ad7 2908252 doc optional yosys-doc_0.51-1_all.deb\n 7fdde6159591df026b5d37d5306a567c 6200852 electronics optional yosys_0.51-1_amd64.deb\n"}, {"source1": "yosys-dev_0.51-1_amd64.deb", "source2": "yosys-dev_0.51-1_amd64.deb", "unified_diff": null, "details": [{"source1": "file list", "source2": "file list", "unified_diff": "@@ -1,3 +1,3 @@\n -rw-r--r-- 0 0 0 4 2025-03-17 23:00:57.000000 debian-binary\n--rw-r--r-- 0 0 0 2268 2025-03-17 23:00:57.000000 control.tar.xz\n--rw-r--r-- 0 0 0 132236 2025-03-17 23:00:57.000000 data.tar.xz\n+-rw-r--r-- 0 0 0 2264 2025-03-17 23:00:57.000000 control.tar.xz\n+-rw-r--r-- 0 0 0 132332 2025-03-17 23:00:57.000000 data.tar.xz\n"}, {"source1": "control.tar.xz", "source2": "control.tar.xz", "unified_diff": null, "details": [{"source1": "control.tar", "source2": "control.tar", "unified_diff": null, "details": [{"source1": "./md5sums", "source2": "./md5sums", "unified_diff": null, "details": [{"source1": "./md5sums", "source2": "./md5sums", "comments": ["Files differ"], "unified_diff": null}]}]}]}, {"source1": "data.tar.xz", "source2": "data.tar.xz", "unified_diff": null, "details": [{"source1": "data.tar", "source2": "data.tar", "unified_diff": null, "details": [{"source1": "file list", "source2": "file list", "unified_diff": "@@ -1,11 +1,11 @@\n drwxr-xr-x 0 root (0) root (0) 0 2025-03-17 23:00:57.000000 ./\n drwxr-xr-x 0 root (0) root (0) 0 2025-03-17 23:00:57.000000 ./usr/\n drwxr-xr-x 0 root (0) root (0) 0 2025-03-17 23:00:57.000000 ./usr/bin/\n--rwxr-xr-x 0 root (0) root (0) 3441 2025-03-17 23:00:57.000000 ./usr/bin/yosys-config\n+-rwxr-xr-x 0 root (0) root (0) 3939 2025-03-17 23:00:57.000000 ./usr/bin/yosys-config\n drwxr-xr-x 0 root (0) root (0) 0 2025-03-17 23:00:57.000000 ./usr/share/\n drwxr-xr-x 0 root (0) root (0) 0 2025-03-17 23:00:57.000000 ./usr/share/doc/\n drwxr-xr-x 0 root (0) root (0) 0 2025-03-17 23:00:57.000000 ./usr/share/doc/yosys-dev/\n -rw-r--r-- 0 root (0) root (0) 2764 2025-03-17 23:00:57.000000 ./usr/share/doc/yosys-dev/changelog.Debian.gz\n -rw-r--r-- 0 root (0) root (0) 18469 2025-03-12 07:31:37.000000 ./usr/share/doc/yosys-dev/changelog.gz\n -rw-r--r-- 0 root (0) root (0) 23249 2025-03-17 22:58:51.000000 ./usr/share/doc/yosys-dev/copyright\n drwxr-xr-x 0 root (0) root (0) 0 2025-03-17 23:00:57.000000 ./usr/share/man/\n"}, {"source1": "./usr/bin/yosys-config", "source2": "./usr/bin/yosys-config", "unified_diff": "@@ -4,15 +4,15 @@\n \t{\n \t\techo \"\"\n \t\techo \"Usage: $0 [--exec] [--prefix pf] args..\"\n \t\techo \" $0 --build modname.so cppsources..\"\n \t\techo \"\"\n \t\techo \"Replacement args:\"\n \t\techo \" --cxx g++\"\n-\t\techo \" --cxxflags $( echo '-g -O2 -flto=auto -ffat-lto-objects -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -Wextra -ggdb -I/usr/share/yosys/include -MD -MP -D_YOSYS_ -fPIC -I/usr/include -DYOSYS_VER=' | fmt -w60 | sed ':a;N;$!ba;s/\\n/ \\\\\\n /g' )\"\n+\t\techo \" --cxxflags $( echo '-g -O2 -flto=auto -ffat-lto-objects -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -Wextra -ggdb -I/usr/share/yosys/include -MD -MP -D_YOSYS_ -fPIC -I/usr/include -DYOSYS_VER=@CXXFLAGS@.51 -DYOSYS_MAJOR=0 -DYOSYS_MINOR=51 -DYOSYS_COMMIT=0.51 -std=c++17 -O3 -DYOSYS_ENABLE_READLINE -DYOSYS_ENABLE_PLUGINS -DYOSYS_ENABLE_GLOB -DYOSYS_ENABLE_ZLIB -I/usr/include/tcl8.6 -DYOSYS_ENABLE_TCL -DYOSYS_ENABLE_ABC -DYOSYS_ENABLE_COVER' | fmt -w60 | sed ':a;N;$!ba;s/\\n/ \\\\\\n /g' )\"\n \t\techo \" --linkflags -rdynamic\"\n \t\techo \" --ldflags (alias of --linkflags)\"\n \t\techo \" --libs -lstdc++ -lm -lrt -lreadline -lffi -ldl -lz -ltcl8.6 -ltclstub8.6\"\n \t\techo \" --ldlibs (alias of --libs)\"\n \t\techo \" --bindir /usr/bin\"\n \t\techo \" --datdir /usr/share/yosys\"\n \t\techo \"\"\n@@ -60,15 +60,15 @@\n \t\tget_prefix=false\n \t\tcontinue\n \tfi\n \tcase \"$opt\" in\n \t\t\"$prefix\"cxx)\n \t\t\ttokens=( \"${tokens[@]}\" g++ ) ;;\n \t\t\"$prefix\"cxxflags)\n-\t\t\ttokens=( \"${tokens[@]}\" -g -O2 -flto=auto -ffat-lto-objects -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -Wextra -ggdb -I/usr/share/yosys/include -MD -MP -D_YOSYS_ -fPIC -I/usr/include -DYOSYS_VER= ) ;;\n+\t\t\ttokens=( \"${tokens[@]}\" -g -O2 -flto=auto -ffat-lto-objects -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -Wextra -ggdb -I/usr/share/yosys/include -MD -MP -D_YOSYS_ -fPIC -I/usr/include -DYOSYS_VER=@CXXFLAGS@.51 -DYOSYS_MAJOR=0 -DYOSYS_MINOR=51 -DYOSYS_COMMIT=0.51 -std=c++17 -O3 -DYOSYS_ENABLE_READLINE -DYOSYS_ENABLE_PLUGINS -DYOSYS_ENABLE_GLOB -DYOSYS_ENABLE_ZLIB -I/usr/include/tcl8.6 -DYOSYS_ENABLE_TCL -DYOSYS_ENABLE_ABC -DYOSYS_ENABLE_COVER ) ;;\n \t\t\"$prefix\"linkflags)\n \t\t\ttokens=( \"${tokens[@]}\" -rdynamic ) ;;\n \t\t\"$prefix\"libs)\n \t\t\ttokens=( \"${tokens[@]}\" -lstdc++ -lm -lrt -lreadline -lffi -ldl -lz -ltcl8.6 -ltclstub8.6 ) ;;\n \t\t\"$prefix\"ldflags)\n \t\t\ttokens=( \"${tokens[@]}\" -rdynamic ) ;;\n \t\t\"$prefix\"ldlibs)\n"}]}]}]}, {"source1": "yosys-doc_0.51-1_all.deb", "source2": "yosys-doc_0.51-1_all.deb", "unified_diff": null, "details": [{"source1": "file list", "source2": "file list", "unified_diff": "@@ -1,3 +1,3 @@\n -rw-r--r-- 0 0 0 4 2025-03-17 23:00:57.000000 debian-binary\n -rw-r--r-- 0 0 0 888 2025-03-17 23:00:57.000000 control.tar.xz\n--rw-r--r-- 0 0 0 2906040 2025-03-17 23:00:57.000000 data.tar.xz\n+-rw-r--r-- 0 0 0 2907172 2025-03-17 23:00:57.000000 data.tar.xz\n"}, {"source1": "control.tar.xz", "source2": "control.tar.xz", "unified_diff": null, "details": [{"source1": "control.tar", "source2": "control.tar", "unified_diff": null, "details": [{"source1": "./control", "source2": "./control", "unified_diff": "@@ -1,13 +1,13 @@\n Package: yosys-doc\n Source: yosys\n Version: 0.51-1\n Architecture: all\n Maintainer: Debian Science Maintainers \n-Installed-Size: 3036\n+Installed-Size: 3037\n Suggests: yosys\n Section: doc\n Priority: optional\n Multi-Arch: foreign\n Homepage: https://github.com/YosysHQ/yosys\n Description: Framework for Verilog RTL synthesis (documentation)\n Yosys is a framework for Verilog RTL synthesis. It currently has extensive\n"}, {"source1": "./md5sums", "source2": "./md5sums", "unified_diff": null, "details": [{"source1": "./md5sums", "source2": "./md5sums", "comments": ["Files differ"], "unified_diff": null}]}]}]}, {"source1": "data.tar.xz", "source2": "data.tar.xz", "unified_diff": null, "details": [{"source1": "data.tar", "source2": "data.tar", "unified_diff": null, "details": [{"source1": "file list", "source2": "file list", "unified_diff": "@@ -1,13 +1,13 @@\n drwxr-xr-x 0 root (0) root (0) 0 2025-03-17 23:00:57.000000 ./\n drwxr-xr-x 0 root (0) root (0) 0 2025-03-17 23:00:57.000000 ./usr/\n drwxr-xr-x 0 root (0) root (0) 0 2025-03-17 23:00:57.000000 ./usr/share/\n drwxr-xr-x 0 root (0) root (0) 0 2025-03-17 23:00:57.000000 ./usr/share/doc/\n drwxr-xr-x 0 root (0) root (0) 0 2025-03-17 23:00:57.000000 ./usr/share/doc/yosys/\n--rw-r--r-- 0 root (0) root (0) 3052481 2025-03-17 23:00:57.000000 ./usr/share/doc/yosys/yosyshqyosys.pdf\n+-rw-r--r-- 0 root (0) root (0) 3053408 2025-03-17 23:00:57.000000 ./usr/share/doc/yosys/yosyshqyosys.pdf\n drwxr-xr-x 0 root (0) root (0) 0 2025-03-17 23:00:57.000000 ./usr/share/doc/yosys-doc/\n -rw-r--r-- 0 root (0) root (0) 2765 2025-03-17 23:00:57.000000 ./usr/share/doc/yosys-doc/changelog.Debian.gz\n -rw-r--r-- 0 root (0) root (0) 18469 2025-03-12 07:31:37.000000 ./usr/share/doc/yosys-doc/changelog.gz\n -rw-r--r-- 0 root (0) root (0) 23249 2025-03-17 22:58:51.000000 ./usr/share/doc/yosys-doc/copyright\n drwxr-xr-x 0 root (0) root (0) 0 2025-03-17 23:00:57.000000 ./usr/share/doc-base/\n -rw-r--r-- 0 root (0) root (0) 245 2025-03-17 22:47:33.000000 ./usr/share/doc-base/yosys-doc.yosys-manual\n lrwxrwxrwx 0 root (0) root (0) 0 2025-03-17 23:00:57.000000 ./usr/share/doc/yosys/manual.pdf -> yosyshqyosys.pdf\n"}, {"source1": "./usr/share/doc/yosys/yosyshqyosys.pdf", "source2": "./usr/share/doc/yosys/yosyshqyosys.pdf", "unified_diff": null, "details": [{"source1": "pdftotext {} -", "source2": "pdftotext {} -", "unified_diff": "@@ -198,370 +198,370 @@\n 8\n \n Auxiliary programs\n 225\n 8.1 yosys-config . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225\n 8.2 yosys-filterlib . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226\n 8.3 yosys-abc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226\n-8.4 yosys-smtbmc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226\n+8.4 yosys-smtbmc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227\n 8.5 yosys-witness . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230\n \n 9\n \n Internal cell library\n-231\n-9.1 Word-level cells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231\n-9.1.1 Unary operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231\n-9.1.2 Binary operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237\n-9.1.3 Multiplexers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257\n-9.1.4 Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261\n-9.1.5 Memories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271\n-9.1.6 Finite state machines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283\n-9.1.7 Coarse arithmetics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285\n-9.1.8 Arbitrary logic functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291\n-9.1.9 Specify rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292\n+233\n+9.1 Word-level cells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233\n+9.1.1 Unary operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233\n+9.1.2 Binary operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239\n+9.1.3 Multiplexers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259\n+9.1.4 Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263\n+9.1.5 Memories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273\n+9.1.6 Finite state machines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285\n+9.1.7 Coarse arithmetics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287\n+9.1.8 Arbitrary logic functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293\n+9.1.9 Specify rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294\n iii\n \n \f9.2\n \n 9.3\n \n-9.1.10 Formal verification cells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297\n-9.1.11 Debugging cells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304\n-9.1.12 Wire cells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307\n-Gate-level cells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308\n-9.2.1 Combinatorial cells (simple) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309\n-9.2.2 Combinatorial cells (combined) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313\n-9.2.3 Flip-flop cells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319\n-9.2.4 Latch cells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373\n-9.2.5 Other gate-level cells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385\n-Cell properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386\n+9.1.10 Formal verification cells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299\n+9.1.11 Debugging cells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306\n+9.1.12 Wire cells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309\n+Gate-level cells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310\n+9.2.1 Combinatorial cells (simple) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311\n+9.2.2 Combinatorial cells (combined) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315\n+9.2.3 Flip-flop cells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321\n+9.2.4 Latch cells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375\n+9.2.5 Other gate-level cells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387\n+Cell properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388\n \n 10 Command line reference\n-387\n-10.1 Yosys environment variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388\n-10.2 abc - use ABC for technology mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 389\n-10.3 abc9 - use ABC9 for technology mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392\n-10.4 abc9_exe - use ABC9 for technology mapping . . . . . . . . . . . . . . . . . . . . . . . . . . 395\n-10.5 abc9_ops - helper functions for ABC9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397\n-10.6 abc_new - (experimental) use ABC for SC technology mapping (new) . . . . . . . . . . . . . 399\n-10.7 abstract - replace signals with abstract values during formal verification . . . . . . . . . . . . 400\n-10.8 add - add objects to the design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 401\n-10.9 aigmap - map logic to and-inverter-graph circuit . . . . . . . . . . . . . . . . . . . . . . . . . 402\n-10.10 alumacc - extract ALU and MACC cells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 402\n-10.11 anlogic_eqn - Anlogic: Calculate equations for luts . . . . . . . . . . . . . . . . . . . . . . . 402\n-10.12 anlogic_fixcarry - Anlogic: fix carry chain . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403\n-10.13 assertpmux - adds asserts for parallel muxes . . . . . . . . . . . . . . . . . . . . . . . . . . . 403\n-10.14 async2sync - convert async FF inputs to sync circuits . . . . . . . . . . . . . . . . . . . . . . 403\n-10.15 attrmap - renaming attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403\n-10.16 attrmvcp - move or copy attributes from wires to driving cells . . . . . . . . . . . . . . . . . 404\n-10.17 autoname - automatically assign names to objects . . . . . . . . . . . . . . . . . . . . . . . . 405\n-10.18 blackbox - convert modules into blackbox modules . . . . . . . . . . . . . . . . . . . . . . . . 405\n-10.19 bmuxmap - transform $bmux cells to trees of $mux cells . . . . . . . . . . . . . . . . . . . . 405\n-10.20 booth - map $mul cells to Booth multipliers . . . . . . . . . . . . . . . . . . . . . . . . . . . 405\n-10.21 box_derive - derive box modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 406\n-10.22 bufnorm - (experimental) convert design into buffered-normalized form . . . . . . . . . . . . 406\n-10.23 bugpoint - minimize testcases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408\n-10.24 bwmuxmap - replace $bwmux cells with equivalent logic . . . . . . . . . . . . . . . . . . . . . 409\n-10.25 cd - a shortcut for \u2018select -module \u2019 . . . . . . . . . . . . . . . . . . . . . . . . . . . 409\n-10.26 cellmatch - match cells to their targets in cell library . . . . . . . . . . . . . . . . . . . . . . 410\n-10.27 check - check for obvious problems in the design . . . . . . . . . . . . . . . . . . . . . . . . . 410\n-10.28 chformal - change formal constraints of the design . . . . . . . . . . . . . . . . . . . . . . . . 411\n-10.29 chparam - re-evaluate modules with new parameters . . . . . . . . . . . . . . . . . . . . . . . 412\n-10.30 chtype - change type of cells in the design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412\n-10.31 clean - remove unused cells and wires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412\n-10.32 clean_zerowidth - clean zero-width connections from the design . . . . . . . . . . . . . . . . 413\n-10.33 clk2fflogic - convert clocked FFs to generic $ff cells . . . . . . . . . . . . . . . . . . . . . . . . 413\n-10.34 clkbufmap - insert clock buffers on clock networks . . . . . . . . . . . . . . . . . . . . . . . . 413\n-10.35 clockgate - extract clock gating out of flip flops . . . . . . . . . . . . . . . . . . . . . . . . . . 414\n-10.36 connect - create or remove connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415\n-10.37 connect_rpc - connect to RPC frontend . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415\n-10.38 connwrappers - match width of input-output port pairs . . . . . . . . . . . . . . . . . . . . . 416\n-10.39 coolrunner2_fixup - insert necessary buffer cells for CoolRunner-II architecture . . . . . . . . 417\n-10.40 coolrunner2_sop - break $sop cells into ANDTERM/ORTERM cells . . . . . . . . . . . . . . 417\n-10.41 copy - copy modules in the design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417\n-10.42 cover - print code coverage counters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417\n+389\n+10.1 Yosys environment variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 390\n+10.2 abc - use ABC for technology mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391\n+10.3 abc9 - use ABC9 for technology mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394\n+10.4 abc9_exe - use ABC9 for technology mapping . . . . . . . . . . . . . . . . . . . . . . . . . . 397\n+10.5 abc9_ops - helper functions for ABC9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399\n+10.6 abc_new - (experimental) use ABC for SC technology mapping (new) . . . . . . . . . . . . . 401\n+10.7 abstract - replace signals with abstract values during formal verification . . . . . . . . . . . . 402\n+10.8 add - add objects to the design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403\n+10.9 aigmap - map logic to and-inverter-graph circuit . . . . . . . . . . . . . . . . . . . . . . . . . 404\n+10.10 alumacc - extract ALU and MACC cells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404\n+10.11 anlogic_eqn - Anlogic: Calculate equations for luts . . . . . . . . . . . . . . . . . . . . . . . 404\n+10.12 anlogic_fixcarry - Anlogic: fix carry chain . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405\n+10.13 assertpmux - adds asserts for parallel muxes . . . . . . . . . . . . . . . . . . . . . . . . . . . 405\n+10.14 async2sync - convert async FF inputs to sync circuits . . . . . . . . . . . . . . . . . . . . . . 405\n+10.15 attrmap - renaming attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405\n+10.16 attrmvcp - move or copy attributes from wires to driving cells . . . . . . . . . . . . . . . . . 406\n+10.17 autoname - automatically assign names to objects . . . . . . . . . . . . . . . . . . . . . . . . 407\n+10.18 blackbox - convert modules into blackbox modules . . . . . . . . . . . . . . . . . . . . . . . . 407\n+10.19 bmuxmap - transform $bmux cells to trees of $mux cells . . . . . . . . . . . . . . . . . . . . 407\n+10.20 booth - map $mul cells to Booth multipliers . . . . . . . . . . . . . . . . . . . . . . . . . . . 407\n+10.21 box_derive - derive box modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408\n+10.22 bufnorm - (experimental) convert design into buffered-normalized form . . . . . . . . . . . . 408\n+10.23 bugpoint - minimize testcases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 410\n+10.24 bwmuxmap - replace $bwmux cells with equivalent logic . . . . . . . . . . . . . . . . . . . . . 411\n+10.25 cd - a shortcut for \u2018select -module \u2019 . . . . . . . . . . . . . . . . . . . . . . . . . . . 411\n+10.26 cellmatch - match cells to their targets in cell library . . . . . . . . . . . . . . . . . . . . . . 412\n+10.27 check - check for obvious problems in the design . . . . . . . . . . . . . . . . . . . . . . . . . 412\n+10.28 chformal - change formal constraints of the design . . . . . . . . . . . . . . . . . . . . . . . . 413\n+10.29 chparam - re-evaluate modules with new parameters . . . . . . . . . . . . . . . . . . . . . . . 414\n+10.30 chtype - change type of cells in the design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414\n+10.31 clean - remove unused cells and wires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414\n+10.32 clean_zerowidth - clean zero-width connections from the design . . . . . . . . . . . . . . . . 415\n+10.33 clk2fflogic - convert clocked FFs to generic $ff cells . . . . . . . . . . . . . . . . . . . . . . . . 415\n+10.34 clkbufmap - insert clock buffers on clock networks . . . . . . . . . . . . . . . . . . . . . . . . 415\n+10.35 clockgate - extract clock gating out of flip flops . . . . . . . . . . . . . . . . . . . . . . . . . . 416\n+10.36 connect - create or remove connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417\n+10.37 connect_rpc - connect to RPC frontend . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417\n+10.38 connwrappers - match width of input-output port pairs . . . . . . . . . . . . . . . . . . . . . 418\n+10.39 coolrunner2_fixup - insert necessary buffer cells for CoolRunner-II architecture . . . . . . . . 419\n+10.40 coolrunner2_sop - break $sop cells into ANDTERM/ORTERM cells . . . . . . . . . . . . . . 419\n+10.41 copy - copy modules in the design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 419\n+10.42 cover - print code coverage counters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 419\n \n iv\n \n-\f10.43 cutpoint - adds formal cut points to the design . . . . . . . . . . . . . . . . . . . . . . . . . . 418\n-10.44 debug - run command with debug log messages enabled . . . . . . . . . . . . . . . . . . . . . 418\n-10.45 delete - delete objects in the design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 419\n-10.46 deminout - demote inout ports to input or output . . . . . . . . . . . . . . . . . . . . . . . . 419\n-10.47 demuxmap - transform $demux cells to $eq + $mux cells . . . . . . . . . . . . . . . . . . . . 419\n-10.48 design - save, restore and reset current design . . . . . . . . . . . . . . . . . . . . . . . . . . . 419\n-10.49 dffinit - set INIT param on FF cells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 421\n-10.50 dfflegalize - convert FFs to types supported by the target . . . . . . . . . . . . . . . . . . . . 421\n-10.51 dfflibmap - technology mapping of flip-flops . . . . . . . . . . . . . . . . . . . . . . . . . . . . 422\n-10.52 dffunmap - unmap clock enable and synchronous reset from FFs . . . . . . . . . . . . . . . . 423\n-10.53 dft_tag - create tagging logic for data flow tracking . . . . . . . . . . . . . . . . . . . . . . . 423\n-10.54 dump - print parts of the design in RTLIL format . . . . . . . . . . . . . . . . . . . . . . . . 424\n-10.55 echo - turning echoing back of commands on and off . . . . . . . . . . . . . . . . . . . . . . . 424\n-10.56 edgetypes - list all types of edges in selection . . . . . . . . . . . . . . . . . . . . . . . . . . . 424\n-10.57 efinix_fixcarry - Efinix: fix carry chain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425\n-10.58 equiv_add - add a $equiv cell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425\n-10.59 equiv_induct - proving $equiv cells using temporal induction . . . . . . . . . . . . . . . . . . 425\n-10.60 equiv_make - prepare a circuit for equivalence checking . . . . . . . . . . . . . . . . . . . . . 426\n-10.61 equiv_mark - mark equivalence checking regions . . . . . . . . . . . . . . . . . . . . . . . . . 426\n-10.62 equiv_miter - extract miter from equiv circuit . . . . . . . . . . . . . . . . . . . . . . . . . . 426\n-10.63 equiv_opt - prove equivalence for optimized circuit . . . . . . . . . . . . . . . . . . . . . . . 427\n-10.64 equiv_purge - purge equivalence checking module . . . . . . . . . . . . . . . . . . . . . . . . 428\n-10.65 equiv_remove - remove $equiv cells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 428\n-10.66 equiv_simple - try proving simple $equiv instances . . . . . . . . . . . . . . . . . . . . . . . 429\n-10.67 equiv_status - print status of equivalent checking module . . . . . . . . . . . . . . . . . . . . 429\n-10.68 equiv_struct - structural equivalence checking . . . . . . . . . . . . . . . . . . . . . . . . . . 429\n-10.69 eval - evaluate the circuit given an input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 430\n-10.70 example_dt - drivertools example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 430\n-10.71 exec - execute commands in the operating system shell . . . . . . . . . . . . . . . . . . . . . 431\n-10.72 expose - convert internal signals to module ports . . . . . . . . . . . . . . . . . . . . . . . . . 431\n-10.73 extract - find subcircuits and replace them with cells . . . . . . . . . . . . . . . . . . . . . . 432\n-10.74 extract_counter - Extract GreenPak4 counter cells . . . . . . . . . . . . . . . . . . . . . . . . 434\n-10.75 extract_fa - find and extract full/half adders . . . . . . . . . . . . . . . . . . . . . . . . . . . 434\n-10.76 extract_reduce - converts gate chains into $reduce_* cells . . . . . . . . . . . . . . . . . . . 435\n-10.77 extractinv - extract explicit inverter cells for invertible cell pins . . . . . . . . . . . . . . . . . 435\n-10.78 flatten - flatten design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435\n-10.79 flowmap - pack LUTs with FlowMap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436\n-10.80 fmcombine - combine two instances of a cell into one . . . . . . . . . . . . . . . . . . . . . . . 437\n-10.81 fminit - set init values/sequences for formal . . . . . . . . . . . . . . . . . . . . . . . . . . . . 438\n-10.82 formalff - prepare FFs for formal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 438\n-10.83 freduce - perform functional reduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439\n-10.84 fsm - extract and optimize finite state machines . . . . . . . . . . . . . . . . . . . . . . . . . 440\n-10.85 fsm_detect - finding FSMs in design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440\n-10.86 fsm_expand - expand FSM cells by merging logic into it . . . . . . . . . . . . . . . . . . . . 441\n-10.87 fsm_export - exporting FSMs to KISS2 files . . . . . . . . . . . . . . . . . . . . . . . . . . . 441\n-10.88 fsm_extract - extracting FSMs in design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 442\n-10.89 fsm_info - print information on finite state machines . . . . . . . . . . . . . . . . . . . . . . 442\n-10.90 fsm_map - mapping FSMs to basic logic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 442\n-10.91 fsm_opt - optimize finite state machines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 442\n-10.92 fsm_recode - recoding finite state machines . . . . . . . . . . . . . . . . . . . . . . . . . . . . 442\n-10.93 fst2tb - generate testbench out of fst file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443\n-10.94 future - resolve future sampled value functions . . . . . . . . . . . . . . . . . . . . . . . . . . 444\n-10.95 gatemate_foldinv - fold inverters into Gatemate LUT trees . . . . . . . . . . . . . . . . . . . 444\n-10.96 glift - create GLIFT models and optimization problems . . . . . . . . . . . . . . . . . . . . . 444\n+\f10.43 cutpoint - adds formal cut points to the design . . . . . . . . . . . . . . . . . . . . . . . . . . 420\n+10.44 debug - run command with debug log messages enabled . . . . . . . . . . . . . . . . . . . . . 420\n+10.45 delete - delete objects in the design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 421\n+10.46 deminout - demote inout ports to input or output . . . . . . . . . . . . . . . . . . . . . . . . 421\n+10.47 demuxmap - transform $demux cells to $eq + $mux cells . . . . . . . . . . . . . . . . . . . . 421\n+10.48 design - save, restore and reset current design . . . . . . . . . . . . . . . . . . . . . . . . . . . 421\n+10.49 dffinit - set INIT param on FF cells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423\n+10.50 dfflegalize - convert FFs to types supported by the target . . . . . . . . . . . . . . . . . . . . 423\n+10.51 dfflibmap - technology mapping of flip-flops . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424\n+10.52 dffunmap - unmap clock enable and synchronous reset from FFs . . . . . . . . . . . . . . . . 425\n+10.53 dft_tag - create tagging logic for data flow tracking . . . . . . . . . . . . . . . . . . . . . . . 425\n+10.54 dump - print parts of the design in RTLIL format . . . . . . . . . . . . . . . . . . . . . . . . 426\n+10.55 echo - turning echoing back of commands on and off . . . . . . . . . . . . . . . . . . . . . . . 426\n+10.56 edgetypes - list all types of edges in selection . . . . . . . . . . . . . . . . . . . . . . . . . . . 426\n+10.57 efinix_fixcarry - Efinix: fix carry chain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427\n+10.58 equiv_add - add a $equiv cell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427\n+10.59 equiv_induct - proving $equiv cells using temporal induction . . . . . . . . . . . . . . . . . . 427\n+10.60 equiv_make - prepare a circuit for equivalence checking . . . . . . . . . . . . . . . . . . . . . 428\n+10.61 equiv_mark - mark equivalence checking regions . . . . . . . . . . . . . . . . . . . . . . . . . 428\n+10.62 equiv_miter - extract miter from equiv circuit . . . . . . . . . . . . . . . . . . . . . . . . . . 428\n+10.63 equiv_opt - prove equivalence for optimized circuit . . . . . . . . . . . . . . . . . . . . . . . 429\n+10.64 equiv_purge - purge equivalence checking module . . . . . . . . . . . . . . . . . . . . . . . . 430\n+10.65 equiv_remove - remove $equiv cells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 430\n+10.66 equiv_simple - try proving simple $equiv instances . . . . . . . . . . . . . . . . . . . . . . . 431\n+10.67 equiv_status - print status of equivalent checking module . . . . . . . . . . . . . . . . . . . . 431\n+10.68 equiv_struct - structural equivalence checking . . . . . . . . . . . . . . . . . . . . . . . . . . 431\n+10.69 eval - evaluate the circuit given an input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 432\n+10.70 example_dt - drivertools example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 432\n+10.71 exec - execute commands in the operating system shell . . . . . . . . . . . . . . . . . . . . . 433\n+10.72 expose - convert internal signals to module ports . . . . . . . . . . . . . . . . . . . . . . . . . 433\n+10.73 extract - find subcircuits and replace them with cells . . . . . . . . . . . . . . . . . . . . . . 434\n+10.74 extract_counter - Extract GreenPak4 counter cells . . . . . . . . . . . . . . . . . . . . . . . . 436\n+10.75 extract_fa - find and extract full/half adders . . . . . . . . . . . . . . . . . . . . . . . . . . . 436\n+10.76 extract_reduce - converts gate chains into $reduce_* cells . . . . . . . . . . . . . . . . . . . 437\n+10.77 extractinv - extract explicit inverter cells for invertible cell pins . . . . . . . . . . . . . . . . . 437\n+10.78 flatten - flatten design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 437\n+10.79 flowmap - pack LUTs with FlowMap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 438\n+10.80 fmcombine - combine two instances of a cell into one . . . . . . . . . . . . . . . . . . . . . . . 439\n+10.81 fminit - set init values/sequences for formal . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440\n+10.82 formalff - prepare FFs for formal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440\n+10.83 freduce - perform functional reduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441\n+10.84 fsm - extract and optimize finite state machines . . . . . . . . . . . . . . . . . . . . . . . . . 442\n+10.85 fsm_detect - finding FSMs in design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 442\n+10.86 fsm_expand - expand FSM cells by merging logic into it . . . . . . . . . . . . . . . . . . . . 443\n+10.87 fsm_export - exporting FSMs to KISS2 files . . . . . . . . . . . . . . . . . . . . . . . . . . . 443\n+10.88 fsm_extract - extracting FSMs in design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444\n+10.89 fsm_info - print information on finite state machines . . . . . . . . . . . . . . . . . . . . . . 444\n+10.90 fsm_map - mapping FSMs to basic logic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444\n+10.91 fsm_opt - optimize finite state machines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444\n+10.92 fsm_recode - recoding finite state machines . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444\n+10.93 fst2tb - generate testbench out of fst file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 445\n+10.94 future - resolve future sampled value functions . . . . . . . . . . . . . . . . . . . . . . . . . . 446\n+10.95 gatemate_foldinv - fold inverters into Gatemate LUT trees . . . . . . . . . . . . . . . . . . . 446\n+10.96 glift - create GLIFT models and optimization problems . . . . . . . . . . . . . . . . . . . . . 446\n \n v\n \n-\f10.97 greenpak4_dffinv - merge greenpak4 inverters and DFF/latches . . . . . . . . . . . . . . . . 446\n-10.98 help - display help messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446\n-10.99 hierarchy - check, expand and clean up design hierarchy . . . . . . . . . . . . . . . . . . . . . 446\n-10.100hilomap - technology mapping of constant hi- and/or lo-drivers . . . . . . . . . . . . . . . . . 448\n-10.101history - show last interactive commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 448\n-10.102ice40_braminit - iCE40: perform SB_RAM40_4K initialization from file . . . . . . . . . . . 448\n-10.103ice40_dsp - iCE40: map multipliers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 449\n-10.104ice40_opt - iCE40: perform simple optimizations . . . . . . . . . . . . . . . . . . . . . . . . . 449\n-10.105ice40_wrapcarry - iCE40: wrap carries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 449\n-10.106insbuf - insert buffer cells for connected wires . . . . . . . . . . . . . . . . . . . . . . . . . . . 450\n-10.107internal_stats - print internal statistics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 450\n-10.108iopadmap - technology mapping of i/o pads (or buffers) . . . . . . . . . . . . . . . . . . . . . 450\n-10.109jny - write design and metadata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 451\n-10.110json - write design in JSON format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 451\n-10.111keep_hierarchy - selectively add the keep_hierarchy attribute . . . . . . . . . . . . . . . . . 452\n-10.112lattice_gsr - Lattice: handle GSR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 452\n-10.113license - print license terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453\n-10.114log - print text and log files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453\n-10.115logger - set logger properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454\n-10.116ls - list modules or objects in modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 455\n-10.117ltp - print longest topological path . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 455\n-10.118lut2mux - convert $lut to $_MUX_ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 455\n-10.119maccmap - mapping macc cells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 455\n-10.120memory - translate memories to basic cells . . . . . . . . . . . . . . . . . . . . . . . . . . . . 456\n-10.121memory_bmux2rom - convert muxes to ROMs . . . . . . . . . . . . . . . . . . . . . . . . . . 456\n-10.122memory_bram - map memories to block rams . . . . . . . . . . . . . . . . . . . . . . . . . . 456\n-10.123memory_collect - creating multi-port memory cells . . . . . . . . . . . . . . . . . . . . . . . 458\n-10.124memory_dff - merge input/output DFFs into memory read ports . . . . . . . . . . . . . . . 458\n-10.125memory_libmap - map memories to cells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 459\n-10.126memory_map - translate multiport memories to basic cells . . . . . . . . . . . . . . . . . . . 459\n-10.127memory_memx - emulate vlog sim behavior for mem ports . . . . . . . . . . . . . . . . . . . 460\n-10.128memory_narrow - split up wide memory ports . . . . . . . . . . . . . . . . . . . . . . . . . . 460\n-10.129memory_nordff - extract read port FFs from memories . . . . . . . . . . . . . . . . . . . . . 460\n-10.130memory_share - consolidate memory ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . 461\n-10.131memory_unpack - unpack multi-port memory cells . . . . . . . . . . . . . . . . . . . . . . . 461\n-10.132microchip_dffopt - MICROCHIP: optimize FF control signal usage . . . . . . . . . . . . . . 461\n-10.133microchip_dsp - MICROCHIP: pack resources into DSPs . . . . . . . . . . . . . . . . . . . . 461\n-10.134miter - automatically create a miter circuit . . . . . . . . . . . . . . . . . . . . . . . . . . . . 462\n-10.135mutate - generate or apply design mutations . . . . . . . . . . . . . . . . . . . . . . . . . . . 463\n-10.136muxcover - cover trees of MUX cells with wider MUXes . . . . . . . . . . . . . . . . . . . . . 464\n-10.137muxpack - $mux/$pmux cascades to $pmux . . . . . . . . . . . . . . . . . . . . . . . . . . . 465\n-10.138nlutmap - map to LUTs of different sizes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465\n-10.139nx_carry - NanoXplore: create carry cells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 466\n-10.140onehot - optimize $eq cells for onehot signals . . . . . . . . . . . . . . . . . . . . . . . . . . . 466\n-10.141opt - perform simple optimizations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 466\n-10.142opt_clean - remove unused cells and wires . . . . . . . . . . . . . . . . . . . . . . . . . . . . 467\n-10.143opt_demorgan - Optimize reductions with DeMorgan equivalents . . . . . . . . . . . . . . . 467\n-10.144opt_dff - perform DFF optimizations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 467\n-10.145opt_expr - perform const folding and simple expression rewriting . . . . . . . . . . . . . . . 468\n-10.146opt_ffinv - push inverters through FFs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 469\n-10.147opt_lut - optimize LUT cells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 469\n-10.148opt_lut_ins - discard unused LUT inputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 469\n-10.149opt_mem - optimize memories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 470\n-10.150opt_mem_feedback - convert memory read-to-write port feedback paths to write enables . . 470\n+\f10.97 greenpak4_dffinv - merge greenpak4 inverters and DFF/latches . . . . . . . . . . . . . . . . 448\n+10.98 help - display help messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 448\n+10.99 hierarchy - check, expand and clean up design hierarchy . . . . . . . . . . . . . . . . . . . . . 448\n+10.100hilomap - technology mapping of constant hi- and/or lo-drivers . . . . . . . . . . . . . . . . . 450\n+10.101history - show last interactive commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 450\n+10.102ice40_braminit - iCE40: perform SB_RAM40_4K initialization from file . . . . . . . . . . . 450\n+10.103ice40_dsp - iCE40: map multipliers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 451\n+10.104ice40_opt - iCE40: perform simple optimizations . . . . . . . . . . . . . . . . . . . . . . . . . 451\n+10.105ice40_wrapcarry - iCE40: wrap carries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 451\n+10.106insbuf - insert buffer cells for connected wires . . . . . . . . . . . . . . . . . . . . . . . . . . . 452\n+10.107internal_stats - print internal statistics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 452\n+10.108iopadmap - technology mapping of i/o pads (or buffers) . . . . . . . . . . . . . . . . . . . . . 452\n+10.109jny - write design and metadata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453\n+10.110json - write design in JSON format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453\n+10.111keep_hierarchy - selectively add the keep_hierarchy attribute . . . . . . . . . . . . . . . . . 454\n+10.112lattice_gsr - Lattice: handle GSR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454\n+10.113license - print license terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 455\n+10.114log - print text and log files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 455\n+10.115logger - set logger properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 456\n+10.116ls - list modules or objects in modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 457\n+10.117ltp - print longest topological path . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 457\n+10.118lut2mux - convert $lut to $_MUX_ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 457\n+10.119maccmap - mapping macc cells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 457\n+10.120memory - translate memories to basic cells . . . . . . . . . . . . . . . . . . . . . . . . . . . . 458\n+10.121memory_bmux2rom - convert muxes to ROMs . . . . . . . . . . . . . . . . . . . . . . . . . . 458\n+10.122memory_bram - map memories to block rams . . . . . . . . . . . . . . . . . . . . . . . . . . 458\n+10.123memory_collect - creating multi-port memory cells . . . . . . . . . . . . . . . . . . . . . . . 460\n+10.124memory_dff - merge input/output DFFs into memory read ports . . . . . . . . . . . . . . . 460\n+10.125memory_libmap - map memories to cells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 461\n+10.126memory_map - translate multiport memories to basic cells . . . . . . . . . . . . . . . . . . . 461\n+10.127memory_memx - emulate vlog sim behavior for mem ports . . . . . . . . . . . . . . . . . . . 462\n+10.128memory_narrow - split up wide memory ports . . . . . . . . . . . . . . . . . . . . . . . . . . 462\n+10.129memory_nordff - extract read port FFs from memories . . . . . . . . . . . . . . . . . . . . . 462\n+10.130memory_share - consolidate memory ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . 463\n+10.131memory_unpack - unpack multi-port memory cells . . . . . . . . . . . . . . . . . . . . . . . 463\n+10.132microchip_dffopt - MICROCHIP: optimize FF control signal usage . . . . . . . . . . . . . . 463\n+10.133microchip_dsp - MICROCHIP: pack resources into DSPs . . . . . . . . . . . . . . . . . . . . 463\n+10.134miter - automatically create a miter circuit . . . . . . . . . . . . . . . . . . . . . . . . . . . . 464\n+10.135mutate - generate or apply design mutations . . . . . . . . . . . . . . . . . . . . . . . . . . . 465\n+10.136muxcover - cover trees of MUX cells with wider MUXes . . . . . . . . . . . . . . . . . . . . . 466\n+10.137muxpack - $mux/$pmux cascades to $pmux . . . . . . . . . . . . . . . . . . . . . . . . . . . 467\n+10.138nlutmap - map to LUTs of different sizes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 467\n+10.139nx_carry - NanoXplore: create carry cells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 468\n+10.140onehot - optimize $eq cells for onehot signals . . . . . . . . . . . . . . . . . . . . . . . . . . . 468\n+10.141opt - perform simple optimizations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 468\n+10.142opt_clean - remove unused cells and wires . . . . . . . . . . . . . . . . . . . . . . . . . . . . 469\n+10.143opt_demorgan - Optimize reductions with DeMorgan equivalents . . . . . . . . . . . . . . . 469\n+10.144opt_dff - perform DFF optimizations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 469\n+10.145opt_expr - perform const folding and simple expression rewriting . . . . . . . . . . . . . . . 470\n+10.146opt_ffinv - push inverters through FFs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 471\n+10.147opt_lut - optimize LUT cells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 471\n+10.148opt_lut_ins - discard unused LUT inputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 471\n+10.149opt_mem - optimize memories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 472\n+10.150opt_mem_feedback - convert memory read-to-write port feedback paths to write enables . . 472\n \n vi\n \n-\f10.151opt_mem_priority - remove priority relations between write ports that can never collide . . 470\n-10.152opt_mem_widen - optimize memories where all ports are wide . . . . . . . . . . . . . . . . . 470\n-10.153opt_merge - consolidate identical cells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 470\n-10.154opt_muxtree - eliminate dead trees in multiplexer trees . . . . . . . . . . . . . . . . . . . . . 471\n-10.155opt_reduce - simplify large MUXes and AND/OR gates . . . . . . . . . . . . . . . . . . . . . 471\n-10.156opt_share - merge mutually exclusive cells of the same type that share an input signal . . . 472\n-10.157paramap - renaming cell parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 472\n-10.158peepopt - collection of peephole optimizers . . . . . . . . . . . . . . . . . . . . . . . . . . . . 472\n-10.159plugin - load and list loaded plugins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473\n-10.160pmux2shiftx - transform $pmux cells to $shiftx cells . . . . . . . . . . . . . . . . . . . . . . . 473\n-10.161pmuxtree - transform $pmux cells to trees of $mux cells . . . . . . . . . . . . . . . . . . . . . 474\n-10.162portarcs - derive port arcs for propagation delay . . . . . . . . . . . . . . . . . . . . . . . . . 474\n-10.163portlist - list (top-level) ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 475\n-10.164prep - generic synthesis script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 475\n-10.165printattrs - print attributes of selected objects . . . . . . . . . . . . . . . . . . . . . . . . . . 476\n-10.166proc - translate processes to netlists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 476\n-10.167proc_arst - detect asynchronous resets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 477\n-10.168proc_clean - remove empty parts of processes . . . . . . . . . . . . . . . . . . . . . . . . . . 478\n-10.169proc_dff - extract flip-flops from processes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 478\n-10.170proc_dlatch - extract latches from processes . . . . . . . . . . . . . . . . . . . . . . . . . . . 478\n-10.171proc_init - convert initial block to init attributes . . . . . . . . . . . . . . . . . . . . . . . . 478\n-10.172proc_memwr - extract memory writes from processes . . . . . . . . . . . . . . . . . . . . . . 478\n-10.173proc_mux - convert decision trees to multiplexers . . . . . . . . . . . . . . . . . . . . . . . . 479\n-10.174proc_prune - remove redundant assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . 479\n-10.175proc_rmdead - eliminate dead trees in decision trees . . . . . . . . . . . . . . . . . . . . . . . 479\n-10.176proc_rom - convert switches to ROMs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 479\n-10.177qbfsat - solve a 2QBF-SAT problem in the circuit . . . . . . . . . . . . . . . . . . . . . . . . 479\n-10.178ql_bram_merge - Infers QuickLogic k6n10f BRAM pairs that can operate independently . . 481\n-10.179ql_bram_types - Change TDP36K type to subtypes . . . . . . . . . . . . . . . . . . . . . . . 481\n-10.180ql_dsp_io_regs - change types of QL_DSP2 depending on configuration . . . . . . . . . . . 481\n-10.181ql_dsp_macc - infer QuickLogic multiplier-accumulator DSP cells . . . . . . . . . . . . . . . 482\n-10.182ql_dsp_simd - merge QuickLogic K6N10f DSP pairs to operate in SIMD mode . . . . . . . . 482\n-10.183ql_ioff - Infer I/O FFs for qlf_k6n10f architecture . . . . . . . . . . . . . . . . . . . . . . . . 482\n-10.184read - load HDL designs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 482\n-10.185read_aiger - read AIGER file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 483\n-10.186read_blif - read BLIF file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 484\n-10.187read_json - read JSON file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 484\n-10.188read_liberty - read cells from liberty file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 484\n-10.189read_rtlil - read modules from RTLIL file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 485\n-10.190read_verilog - read modules from Verilog file . . . . . . . . . . . . . . . . . . . . . . . . . . . 485\n-10.191read_xaiger2 - (experimental) read XAIGER file . . . . . . . . . . . . . . . . . . . . . . . . . 489\n-10.192recover_names - Execute a lossy mapping command and recover original netnames . . . . . 489\n-10.193rename - rename object in the design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 489\n-10.194rmports - remove module ports with no connections . . . . . . . . . . . . . . . . . . . . . . . 491\n-10.195sat - solve a SAT problem in the circuit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 491\n-10.196scatter - add additional intermediate nets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 494\n-10.197scc - detect strongly connected components (logic loops) . . . . . . . . . . . . . . . . . . . . 494\n-10.198scratchpad - get/set values in the scratchpad . . . . . . . . . . . . . . . . . . . . . . . . . . . 495\n-10.199script - execute commands from file or wire . . . . . . . . . . . . . . . . . . . . . . . . . . . . 496\n-10.200select - modify and view the list of selected objects . . . . . . . . . . . . . . . . . . . . . . . . 496\n-10.201setattr - set/unset attributes on objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 501\n-10.202setenv - set an environment variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 501\n-10.203setparam - set/unset parameters on objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . 501\n-10.204setundef - replace undef values with defined constants . . . . . . . . . . . . . . . . . . . . . . 501\n+\f10.151opt_mem_priority - remove priority relations between write ports that can never collide . . 472\n+10.152opt_mem_widen - optimize memories where all ports are wide . . . . . . . . . . . . . . . . . 472\n+10.153opt_merge - consolidate identical cells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 472\n+10.154opt_muxtree - eliminate dead trees in multiplexer trees . . . . . . . . . . . . . . . . . . . . . 473\n+10.155opt_reduce - simplify large MUXes and AND/OR gates . . . . . . . . . . . . . . . . . . . . . 473\n+10.156opt_share - merge mutually exclusive cells of the same type that share an input signal . . . 474\n+10.157paramap - renaming cell parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474\n+10.158peepopt - collection of peephole optimizers . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474\n+10.159plugin - load and list loaded plugins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 475\n+10.160pmux2shiftx - transform $pmux cells to $shiftx cells . . . . . . . . . . . . . . . . . . . . . . . 475\n+10.161pmuxtree - transform $pmux cells to trees of $mux cells . . . . . . . . . . . . . . . . . . . . . 476\n+10.162portarcs - derive port arcs for propagation delay . . . . . . . . . . . . . . . . . . . . . . . . . 476\n+10.163portlist - list (top-level) ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 477\n+10.164prep - generic synthesis script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 477\n+10.165printattrs - print attributes of selected objects . . . . . . . . . . . . . . . . . . . . . . . . . . 478\n+10.166proc - translate processes to netlists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 478\n+10.167proc_arst - detect asynchronous resets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 479\n+10.168proc_clean - remove empty parts of processes . . . . . . . . . . . . . . . . . . . . . . . . . . 480\n+10.169proc_dff - extract flip-flops from processes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 480\n+10.170proc_dlatch - extract latches from processes . . . . . . . . . . . . . . . . . . . . . . . . . . . 480\n+10.171proc_init - convert initial block to init attributes . . . . . . . . . . . . . . . . . . . . . . . . 480\n+10.172proc_memwr - extract memory writes from processes . . . . . . . . . . . . . . . . . . . . . . 480\n+10.173proc_mux - convert decision trees to multiplexers . . . . . . . . . . . . . . . . . . . . . . . . 481\n+10.174proc_prune - remove redundant assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . 481\n+10.175proc_rmdead - eliminate dead trees in decision trees . . . . . . . . . . . . . . . . . . . . . . . 481\n+10.176proc_rom - convert switches to ROMs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 481\n+10.177qbfsat - solve a 2QBF-SAT problem in the circuit . . . . . . . . . . . . . . . . . . . . . . . . 481\n+10.178ql_bram_merge - Infers QuickLogic k6n10f BRAM pairs that can operate independently . . 483\n+10.179ql_bram_types - Change TDP36K type to subtypes . . . . . . . . . . . . . . . . . . . . . . . 483\n+10.180ql_dsp_io_regs - change types of QL_DSP2 depending on configuration . . . . . . . . . . . 483\n+10.181ql_dsp_macc - infer QuickLogic multiplier-accumulator DSP cells . . . . . . . . . . . . . . . 484\n+10.182ql_dsp_simd - merge QuickLogic K6N10f DSP pairs to operate in SIMD mode . . . . . . . . 484\n+10.183ql_ioff - Infer I/O FFs for qlf_k6n10f architecture . . . . . . . . . . . . . . . . . . . . . . . . 484\n+10.184read - load HDL designs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 484\n+10.185read_aiger - read AIGER file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 485\n+10.186read_blif - read BLIF file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 486\n+10.187read_json - read JSON file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 486\n+10.188read_liberty - read cells from liberty file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 486\n+10.189read_rtlil - read modules from RTLIL file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 487\n+10.190read_verilog - read modules from Verilog file . . . . . . . . . . . . . . . . . . . . . . . . . . . 487\n+10.191read_xaiger2 - (experimental) read XAIGER file . . . . . . . . . . . . . . . . . . . . . . . . . 491\n+10.192recover_names - Execute a lossy mapping command and recover original netnames . . . . . 491\n+10.193rename - rename object in the design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 491\n+10.194rmports - remove module ports with no connections . . . . . . . . . . . . . . . . . . . . . . . 493\n+10.195sat - solve a SAT problem in the circuit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 493\n+10.196scatter - add additional intermediate nets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 496\n+10.197scc - detect strongly connected components (logic loops) . . . . . . . . . . . . . . . . . . . . 496\n+10.198scratchpad - get/set values in the scratchpad . . . . . . . . . . . . . . . . . . . . . . . . . . . 497\n+10.199script - execute commands from file or wire . . . . . . . . . . . . . . . . . . . . . . . . . . . . 498\n+10.200select - modify and view the list of selected objects . . . . . . . . . . . . . . . . . . . . . . . . 498\n+10.201setattr - set/unset attributes on objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 503\n+10.202setenv - set an environment variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 503\n+10.203setparam - set/unset parameters on objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . 503\n+10.204setundef - replace undef values with defined constants . . . . . . . . . . . . . . . . . . . . . . 503\n \n vii\n \n-\f10.205share - perform sat-based resource sharing . . . . . . . . . . . . . . . . . . . . . . . . . . . . 502\n-10.206shell - enter interactive command mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 503\n-10.207show - generate schematics using graphviz . . . . . . . . . . . . . . . . . . . . . . . . . . . . 504\n-10.208shregmap - map shift registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 505\n-10.209sim - simulate the circuit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 506\n-10.210simplemap - mapping simple coarse-grain cells . . . . . . . . . . . . . . . . . . . . . . . . . . 509\n-10.211splice - create explicit splicing cells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 509\n-10.212splitcells - split up multi-bit cells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 510\n-10.213splitnets - split up multi-bit nets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 510\n-10.214sta - perform static timing analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 511\n-10.215stat - print some statistics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 511\n-10.216submod - moving part of a module to a new submodule . . . . . . . . . . . . . . . . . . . . . 511\n-10.217supercover - add hi/lo cover cells for each wire bit . . . . . . . . . . . . . . . . . . . . . . . . 512\n-10.218synth - generic synthesis script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 512\n-10.219synth_achronix - synthesis for Achronix Speedster22i FPGAs. . . . . . . . . . . . . . . . . . 514\n-10.220synth_anlogic - synthesis for Anlogic FPGAs . . . . . . . . . . . . . . . . . . . . . . . . . . . 516\n-10.221synth_coolrunner2 - synthesis for Xilinx Coolrunner-II CPLDs . . . . . . . . . . . . . . . . . 518\n-10.222synth_easic - synthesis for eASIC platform . . . . . . . . . . . . . . . . . . . . . . . . . . . . 519\n-10.223synth_ecp5 - synthesis for ECP5 FPGAs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 521\n-10.224synth_efinix - synthesis for Efinix FPGAs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 524\n-10.225synth_fabulous - FABulous synthesis script . . . . . . . . . . . . . . . . . . . . . . . . . . . . 526\n-10.226synth_gatemate - synthesis for Cologne Chip GateMate FPGAs . . . . . . . . . . . . . . . . 529\n-10.227synth_gowin - synthesis for Gowin FPGAs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 532\n-10.228synth_greenpak4 - synthesis for GreenPAK4 FPGAs . . . . . . . . . . . . . . . . . . . . . . 534\n-10.229synth_ice40 - synthesis for iCE40 FPGAs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 536\n-10.230synth_intel - synthesis for Intel (Altera) FPGAs. . . . . . . . . . . . . . . . . . . . . . . . . 540\n-10.231synth_intel_alm - synthesis for ALM-based Intel (Altera) FPGAs. . . . . . . . . . . . . . . . 542\n-10.232synth_lattice - synthesis for Lattice FPGAs . . . . . . . . . . . . . . . . . . . . . . . . . . . 545\n-10.233synth_microchip - synthesis for Microchip FPGAs . . . . . . . . . . . . . . . . . . . . . . . . 548\n-10.234synth_nanoxplore - synthesis for NanoXplore FPGAs . . . . . . . . . . . . . . . . . . . . . . 551\n-10.235synth_nexus - synthesis for Lattice Nexus FPGAs . . . . . . . . . . . . . . . . . . . . . . . . 554\n-10.236synth_quicklogic - Synthesis for QuickLogic FPGAs . . . . . . . . . . . . . . . . . . . . . . . 557\n-10.237synth_sf2 - synthesis for SmartFusion2 and IGLOO2 FPGAs . . . . . . . . . . . . . . . . . . 560\n-10.238synth_xilinx - synthesis for Xilinx FPGAs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 562\n-10.239synthprop - synthesize SVA properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 566\n-10.240tcl - execute a TCL script file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 567\n-10.241techmap - generic technology mapper . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 567\n-10.242tee - redirect command output to file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 570\n-10.243test_abcloop - automatically test handling of loops in abc command . . . . . . . . . . . . . . 571\n-10.244test_autotb - generate simple test benches . . . . . . . . . . . . . . . . . . . . . . . . . . . . 571\n-10.245test_cell - automatically test the implementation of a cell type . . . . . . . . . . . . . . . . . 572\n-10.246test_generic - test the generic compute graph . . . . . . . . . . . . . . . . . . . . . . . . . . 573\n-10.247test_pmgen - test pass for pmgen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 573\n-10.248torder - print cells in topological order . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 574\n-10.249trace - redirect command output to file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 574\n-10.250tribuf - infer tri-state buffers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 574\n-10.251uniquify - create unique copies of modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . 575\n-10.252verific - load Verilog and VHDL designs using Verific . . . . . . . . . . . . . . . . . . . . . . 575\n-10.253verilog_defaults - set default options for read_verilog . . . . . . . . . . . . . . . . . . . . . . 577\n-10.254verilog_defines - define and undefine verilog defines . . . . . . . . . . . . . . . . . . . . . . . 578\n-10.255viz - visualize data flow graph . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 578\n-10.256wbflip - flip the whitebox attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 579\n-10.257wrapcell - wrap individual cells into new modules . . . . . . . . . . . . . . . . . . . . . . . . 580\n-10.258wreduce - reduce the word size of operations if possible . . . . . . . . . . . . . . . . . . . . . 580\n+\f10.205share - perform sat-based resource sharing . . . . . . . . . . . . . . . . . . . . . . . . . . . . 504\n+10.206shell - enter interactive command mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 505\n+10.207show - generate schematics using graphviz . . . . . . . . . . . . . . . . . . . . . . . . . . . . 506\n+10.208shregmap - map shift registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 507\n+10.209sim - simulate the circuit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 508\n+10.210simplemap - mapping simple coarse-grain cells . . . . . . . . . . . . . . . . . . . . . . . . . . 511\n+10.211splice - create explicit splicing cells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 511\n+10.212splitcells - split up multi-bit cells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 512\n+10.213splitnets - split up multi-bit nets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 512\n+10.214sta - perform static timing analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 513\n+10.215stat - print some statistics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 513\n+10.216submod - moving part of a module to a new submodule . . . . . . . . . . . . . . . . . . . . . 513\n+10.217supercover - add hi/lo cover cells for each wire bit . . . . . . . . . . . . . . . . . . . . . . . . 514\n+10.218synth - generic synthesis script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 514\n+10.219synth_achronix - synthesis for Achronix Speedster22i FPGAs. . . . . . . . . . . . . . . . . . 516\n+10.220synth_anlogic - synthesis for Anlogic FPGAs . . . . . . . . . . . . . . . . . . . . . . . . . . . 518\n+10.221synth_coolrunner2 - synthesis for Xilinx Coolrunner-II CPLDs . . . . . . . . . . . . . . . . . 520\n+10.222synth_easic - synthesis for eASIC platform . . . . . . . . . . . . . . . . . . . . . . . . . . . . 521\n+10.223synth_ecp5 - synthesis for ECP5 FPGAs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 523\n+10.224synth_efinix - synthesis for Efinix FPGAs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 526\n+10.225synth_fabulous - FABulous synthesis script . . . . . . . . . . . . . . . . . . . . . . . . . . . . 528\n+10.226synth_gatemate - synthesis for Cologne Chip GateMate FPGAs . . . . . . . . . . . . . . . . 531\n+10.227synth_gowin - synthesis for Gowin FPGAs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 534\n+10.228synth_greenpak4 - synthesis for GreenPAK4 FPGAs . . . . . . . . . . . . . . . . . . . . . . 536\n+10.229synth_ice40 - synthesis for iCE40 FPGAs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 538\n+10.230synth_intel - synthesis for Intel (Altera) FPGAs. . . . . . . . . . . . . . . . . . . . . . . . . 542\n+10.231synth_intel_alm - synthesis for ALM-based Intel (Altera) FPGAs. . . . . . . . . . . . . . . . 544\n+10.232synth_lattice - synthesis for Lattice FPGAs . . . . . . . . . . . . . . . . . . . . . . . . . . . 547\n+10.233synth_microchip - synthesis for Microchip FPGAs . . . . . . . . . . . . . . . . . . . . . . . . 550\n+10.234synth_nanoxplore - synthesis for NanoXplore FPGAs . . . . . . . . . . . . . . . . . . . . . . 553\n+10.235synth_nexus - synthesis for Lattice Nexus FPGAs . . . . . . . . . . . . . . . . . . . . . . . . 556\n+10.236synth_quicklogic - Synthesis for QuickLogic FPGAs . . . . . . . . . . . . . . . . . . . . . . . 559\n+10.237synth_sf2 - synthesis for SmartFusion2 and IGLOO2 FPGAs . . . . . . . . . . . . . . . . . . 562\n+10.238synth_xilinx - synthesis for Xilinx FPGAs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 564\n+10.239synthprop - synthesize SVA properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 568\n+10.240tcl - execute a TCL script file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 569\n+10.241techmap - generic technology mapper . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 569\n+10.242tee - redirect command output to file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 572\n+10.243test_abcloop - automatically test handling of loops in abc command . . . . . . . . . . . . . . 573\n+10.244test_autotb - generate simple test benches . . . . . . . . . . . . . . . . . . . . . . . . . . . . 573\n+10.245test_cell - automatically test the implementation of a cell type . . . . . . . . . . . . . . . . . 574\n+10.246test_generic - test the generic compute graph . . . . . . . . . . . . . . . . . . . . . . . . . . 575\n+10.247test_pmgen - test pass for pmgen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 575\n+10.248torder - print cells in topological order . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 576\n+10.249trace - redirect command output to file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 576\n+10.250tribuf - infer tri-state buffers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 576\n+10.251uniquify - create unique copies of modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . 577\n+10.252verific - load Verilog and VHDL designs using Verific . . . . . . . . . . . . . . . . . . . . . . 577\n+10.253verilog_defaults - set default options for read_verilog . . . . . . . . . . . . . . . . . . . . . . 579\n+10.254verilog_defines - define and undefine verilog defines . . . . . . . . . . . . . . . . . . . . . . . 580\n+10.255viz - visualize data flow graph . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 580\n+10.256wbflip - flip the whitebox attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 581\n+10.257wrapcell - wrap individual cells into new modules . . . . . . . . . . . . . . . . . . . . . . . . 582\n+10.258wreduce - reduce the word size of operations if possible . . . . . . . . . . . . . . . . . . . . . 582\n \n viii\n \n-\f10.259write_aiger - write design to AIGER file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 581\n-10.260write_aiger2 - (experimental) write design to AIGER file . . . . . . . . . . . . . . . . . . . . 581\n-10.261write_blif - write design to BLIF file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 582\n-10.262write_btor - write design to BTOR file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 583\n-10.263write_cxxrtl - convert design to C++ RTL simulation . . . . . . . . . . . . . . . . . . . . . . 584\n-10.264write_edif - write design to EDIF netlist file . . . . . . . . . . . . . . . . . . . . . . . . . . . 588\n-10.265write_file - write a text to a file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 589\n-10.266write_firrtl - write design to a FIRRTL file . . . . . . . . . . . . . . . . . . . . . . . . . . . . 590\n-10.267write_functional_cxx - convert design to C++ using the functional backend . . . . . . . . . 590\n-10.268write_functional_rosette - Generate Rosette compatible Racket from Functional IR . . . . . 590\n-10.269write_functional_smt2 - Generate SMT-LIB from Functional IR . . . . . . . . . . . . . . . . 590\n-10.270write_intersynth - write design to InterSynth netlist file . . . . . . . . . . . . . . . . . . . . . 590\n-10.271write_jny - generate design metadata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 591\n-10.272write_json - write design to a JSON file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 591\n-10.273write_rtlil - write design to RTLIL file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 596\n-10.274write_simplec - convert design to simple C code . . . . . . . . . . . . . . . . . . . . . . . . . 597\n-10.275write_smt2 - write design to SMT-LIBv2 file . . . . . . . . . . . . . . . . . . . . . . . . . . . 597\n-10.276write_smv - write design to SMV file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 600\n-10.277write_spice - write design to SPICE netlist file . . . . . . . . . . . . . . . . . . . . . . . . . . 600\n-10.278write_table - write design as connectivity table . . . . . . . . . . . . . . . . . . . . . . . . . 601\n-10.279write_verilog - write design to Verilog file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 601\n-10.280write_xaiger - write design to XAIGER file . . . . . . . . . . . . . . . . . . . . . . . . . . . . 603\n-10.281write_xaiger2 - (experimental) write module to XAIGER file . . . . . . . . . . . . . . . . . . 604\n-10.282xilinx_dffopt - Xilinx: optimize FF control signal usage . . . . . . . . . . . . . . . . . . . . . 604\n-10.283xilinx_dsp - Xilinx: pack resources into DSPs . . . . . . . . . . . . . . . . . . . . . . . . . . 604\n-10.284xilinx_srl - Xilinx shift register extraction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 605\n-10.285xprop - formal x propagation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 606\n-10.286zinit - add inverters so all FF are zero-initialized . . . . . . . . . . . . . . . . . . . . . . . . . 607\n+\f10.259write_aiger - write design to AIGER file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 583\n+10.260write_aiger2 - (experimental) write design to AIGER file . . . . . . . . . . . . . . . . . . . . 583\n+10.261write_blif - write design to BLIF file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 584\n+10.262write_btor - write design to BTOR file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 585\n+10.263write_cxxrtl - convert design to C++ RTL simulation . . . . . . . . . . . . . . . . . . . . . . 586\n+10.264write_edif - write design to EDIF netlist file . . . . . . . . . . . . . . . . . . . . . . . . . . . 590\n+10.265write_file - write a text to a file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 591\n+10.266write_firrtl - write design to a FIRRTL file . . . . . . . . . . . . . . . . . . . . . . . . . . . . 592\n+10.267write_functional_cxx - convert design to C++ using the functional backend . . . . . . . . . 592\n+10.268write_functional_rosette - Generate Rosette compatible Racket from Functional IR . . . . . 592\n+10.269write_functional_smt2 - Generate SMT-LIB from Functional IR . . . . . . . . . . . . . . . . 592\n+10.270write_intersynth - write design to InterSynth netlist file . . . . . . . . . . . . . . . . . . . . . 592\n+10.271write_jny - generate design metadata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 593\n+10.272write_json - write design to a JSON file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 593\n+10.273write_rtlil - write design to RTLIL file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 598\n+10.274write_simplec - convert design to simple C code . . . . . . . . . . . . . . . . . . . . . . . . . 599\n+10.275write_smt2 - write design to SMT-LIBv2 file . . . . . . . . . . . . . . . . . . . . . . . . . . . 599\n+10.276write_smv - write design to SMV file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 602\n+10.277write_spice - write design to SPICE netlist file . . . . . . . . . . . . . . . . . . . . . . . . . . 602\n+10.278write_table - write design as connectivity table . . . . . . . . . . . . . . . . . . . . . . . . . 603\n+10.279write_verilog - write design to Verilog file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 603\n+10.280write_xaiger - write design to XAIGER file . . . . . . . . . . . . . . . . . . . . . . . . . . . . 605\n+10.281write_xaiger2 - (experimental) write module to XAIGER file . . . . . . . . . . . . . . . . . . 606\n+10.282xilinx_dffopt - Xilinx: optimize FF control signal usage . . . . . . . . . . . . . . . . . . . . . 606\n+10.283xilinx_dsp - Xilinx: pack resources into DSPs . . . . . . . . . . . . . . . . . . . . . . . . . . 606\n+10.284xilinx_srl - Xilinx shift register extraction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 607\n+10.285xprop - formal x propagation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 608\n+10.286zinit - add inverters so all FF are zero-initialized . . . . . . . . . . . . . . . . . . . . . . . . . 609\n Bibliography\n \n-609\n+611\n \n Property Index\n \n-611\n+613\n \n Internal cell reference\n \n-613\n+615\n \n Command Reference\n \n-617\n+619\n \n Tag Index\n \n-621\n+623\n \n ix\n \n \fx\n \n \fYosysHQ Yosys, Version 0.51\n \n@@ -15498,15 +15498,20 @@\n To find the compile options used for a given Yosys build, call yosys-config --cxxflags. This documentation was built with the following compile options:\n --cxxflags\n \n -g -O2 -flto=auto -ffat-lto-objects \\\n -fstack-protector-strong -fstack-clash-protection -Wformat \\\n -Werror=format-security -fcf-protection -Wall -Wextra \\\n -ggdb -I/usr/share/yosys/include -MD -MP -D_YOSYS_ -fPIC \\\n--I/usr/include -DYOSYS_VER=\n+-I/usr/include -DYOSYS_VER=@CXXFLAGS@.51 -DYOSYS_MAJOR=0 \\\n+-DYOSYS_MINOR=51 -DYOSYS_COMMIT=0.51 -std=c++17 -O3 \\\n+-DYOSYS_ENABLE_READLINE -DYOSYS_ENABLE_PLUGINS \\\n+-DYOSYS_ENABLE_GLOB -DYOSYS_ENABLE_ZLIB \\\n+-I/usr/include/tcl8.6 -DYOSYS_ENABLE_TCL -DYOSYS_ENABLE_ABC \\\n+-DYOSYS_ENABLE_COVER\n \n \u00f2 Note\n The YosysHQ specific extensions are only available with the TabbyCAD suite.\n \n Required Verific features\n The following features, along with their corresponding Yosys build parameters, are required for the YosysVerific patch:\n \u2022 RTL elaboration with\n@@ -18356,15 +18361,20 @@\n --cxx\n g++\n --cxxflags\n -g -O2 -flto=auto -ffat-lto-objects \\\n -fstack-protector-strong -fstack-clash-protection -Wformat \\\n -Werror=format-security -fcf-protection -Wall -Wextra \\\n -ggdb -I/usr/share/yosys/include -MD -MP -D_YOSYS_ -fPIC \\\n--I/usr/include -DYOSYS_VER=\n+-I/usr/include -DYOSYS_VER=@CXXFLAGS@.51 -DYOSYS_MAJOR=0 \\\n+-DYOSYS_MINOR=51 -DYOSYS_COMMIT=0.51 -std=c++17 -O3 \\\n+-DYOSYS_ENABLE_READLINE -DYOSYS_ENABLE_PLUGINS \\\n+-DYOSYS_ENABLE_GLOB -DYOSYS_ENABLE_ZLIB \\\n+-I/usr/include/tcl8.6 -DYOSYS_ENABLE_TCL -DYOSYS_ENABLE_ABC \\\n+-DYOSYS_ENABLE_COVER\n --linkflags\n -rdynamic\n --ldflags\n (alias of --linkflags)\n --libs\n -lstdc++ -lm -lrt -lreadline -lffi -ldl -lz -ltcl8.6 -ltclstub8.6\n --ldlibs\n@@ -18375,25 +18385,25 @@\n /usr/share/yosys\n All other args are passed through as they are.\n Use --exec to call a command instead of generating output. Example usage:\n ./yosys-config --exec --cxx --cxxflags --ldflags -o plugin.so -shared plugin.cc --libs\n The above command can be abbreviated as:\n ./yosys-config --build plugin.so plugin.cc\n Use --prefix to change the prefix for the special args from '--' to\n-something else. Example:\n-./yosys-config --prefix @ bindir: @bindir\n-The args --bindir and --datdir can be directly followed by a slash and\n (continues on next page)\n \n 225\n \n \fYosysHQ Yosys, Version 0.51\n \n (continued from previous page)\n \n+something else. Example:\n+./yosys-config --prefix @ bindir: @bindir\n+The args --bindir and --datdir can be directly followed by a slash and\n additional text. Example:\n ./yosys-config --datdir/simlib.v\n \n 8.2 yosys-filterlib\n v Todo\n how does a filterlib rules-file work?\n The yosys-filterlib tool is a small utility that can be used to strip or extract information from a Liberty\n@@ -18430,28 +18440,24 @@\n -T type\n specify output type (blif_mv (default), blif_mvs, blif, or none)\n -x\n equivalent to '-t none -T none'\n -b\n running in bridge mode\n \n-8.4 yosys-smtbmc\n-The yosys-smtbmc tool is a utility used by SBY for interacting with smt solvers.\n-yosys-smtbmc [options] \n--h, --help\n-(continues on next page)\n-\n 226\n \n Chapter 8. Auxiliary programs\n \n \fYosysHQ Yosys, Version 0.51\n \n-(continued from previous page)\n-\n+8.4 yosys-smtbmc\n+The yosys-smtbmc tool is a utility used by SBY for interacting with smt solvers.\n+yosys-smtbmc [options] \n+-h, --help\n show this message\n -t \n -t :\n -t ::\n default: skip_steps=0, step_size=1, num_steps=20\n -g\n \n@@ -18480,29 +18486,29 @@\n the AIGER witness file does not include the status and\n properties lines.\n --yw \n read a Yosys witness.\n --btorwit \n read a BTOR witness.\n --noinfo\n-only run the core proof, do not collect and print any\n-additional information (e.g. which assert failed)\n---presat\n-check if the design with assumptions but without assertions\n-is SAT before checking if assertions are UNSAT. This will\n (continues on next page)\n \n 8.4. yosys-smtbmc\n \n 227\n \n \fYosysHQ Yosys, Version 0.51\n \n (continued from previous page)\n \n+only run the core proof, do not collect and print any\n+additional information (e.g. which assert failed)\n+--presat\n+check if the design with assumptions but without assertions\n+is SAT before checking if assertions are UNSAT. This will\n detect if there are contradicting assumptions. In some cases\n this will also help to \"warm up\" the solver, potentially\n yielding a speedup.\n --final-only\n only check final constraints, assume base case\n --assume-skipped \n assume asserts in skipped steps in BMC.\n@@ -18529,29 +18535,29 @@\n file and only dump object below in design hierarchy.\n --noinit\n do not assume initial conditions in state 0\n --dump-all\n when using -g or -i, create a dump file for each\n step. The character '%' is replaced in all dump\n filenames with the step number.\n---append \n-add time steps at the end of the trace\n-when creating a counter example (this additional time\n-steps will still be constrained by assumptions)\n---binary\n (continues on next page)\n \n 228\n \n Chapter 8. Auxiliary programs\n \n \fYosysHQ Yosys, Version 0.51\n \n (continued from previous page)\n \n+--append \n+add time steps at the end of the trace\n+when creating a counter example (this additional time\n+steps will still be constrained by assumptions)\n+--binary\n dump anyconst values as raw bit strings\n --keep-going\n continue BMC after the first failed assertion and report\n further failed assertions. To output multiple traces\n covering all found failed assertions, the character '%' is\n replaced in all dump filenames with an increasing number.\n In cover mode, don't stop when a cover trace contains a failed\n@@ -18579,29 +18585,30 @@\n --timeout \n set the solver timeout to the specified value (in seconds).\n --logic \n use the specified SMT2 logic (e.g. QF_AUFBV)\n --dummy \n if solver is \"dummy\", read solver output from that file\n otherwise: write solver output to that file\n---smt2-option