=> Building devel/lattice-ice40-examples-hx1k Started : Tuesday, 23 JUL 2019 at 06:36:26 UTC Platform: 5.7-DEVELOPMENT DragonFly v5.7.0.83.g49866-DEVELOPMENT #40: Sun Jun 30 03:00:04 PDT 2019 root@pkgbox64.dragonflybsd.org:/usr/obj/usr/src/sys/X86_64_GENERIC x86_64 -------------------------------------------------- -- Environment -------------------------------------------------- UNAME_r=5.6-SYNTH UNAME_m=x86_64 UNAME_p=x86_64 UNAME_v=DragonFly 5.6-SYNTH UNAME_s=DragonFly PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin SSL_NO_VERIFY_PEER=1 TERM=dumb PKG_CACHEDIR=/var/cache/pkg8 PKG_DBDIR=/var/db/pkg8 PORTSDIR=/xports LANG=C HOME=/root USER=root -------------------------------------------------- -- Options -------------------------------------------------- -------------------------------------------------- -- CONFIGURE_ENV -------------------------------------------------- MAKE=gmake XDG_DATA_HOME=/construction/devel/lattice-ice40-examples-hx1k XDG_CONFIG_HOME=/construction/devel/lattice-ice40-examples-hx1k HOME=/construction/devel/lattice-ice40-examples-hx1k TMPDIR="/tmp" PATH=/construction/devel/lattice-ice40-examples-hx1k/.bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin SHELL=/bin/sh CONFIG_SHELL=/bin/sh CCVER=gcc80 -------------------------------------------------- -- CONFIGURE_ARGS -------------------------------------------------- -------------------------------------------------- -- MAKE_ENV -------------------------------------------------- XDG_DATA_HOME=/construction/devel/lattice-ice40-examples-hx1k XDG_CONFIG_HOME=/construction/devel/lattice-ice40-examples-hx1k HOME=/construction/devel/lattice-ice40-examples-hx1k TMPDIR="/tmp" PATH=/construction/devel/lattice-ice40-examples-hx1k/.bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin NO_PIE=yes MK_DEBUG_FILES=no MK_KERNEL_SYMBOLS=no SHELL=/bin/sh NO_LINT=YES CCVER=gcc80 PREFIX=/usr/local LOCALBASE=/usr/local NOPROFILE=1 CC="cc" CFLAGS="-pipe -O2 -fno-strict-aliasing " CPP="cpp" CPPFLAGS="" LDFLAGS=" " LIBS="" CXX="c++" CXXFLAGS=" -pipe -O2 -fno-strict-aliasing " MANPREFIX="/usr/local" BSD_INSTALL_PROGRAM="install -s -m 555" BSD_INSTALL_LIB="install -s -m 0644" BSD_INSTALL_SCRIPT="install -m 555" BSD_INSTALL_DATA="install -m 0644" BSD_INSTALL_MAN="install -m 444" -------------------------------------------------- -- MAKE_ARGS -------------------------------------------------- DESTDIR=/construction/devel/lattice-ice40-examples-hx1k/stage -------------------------------------------------- -- PLIST_SUB -------------------------------------------------- OSREL=5.6 PREFIX=%D LOCALBASE=/usr/local RESETPREFIX=/usr/local LIB32DIR=lib PROFILE="@comment " DOCSDIR="share/doc/lattice-ice40-examples-hx1k" EXAMPLESDIR="share/examples/lattice-ice40-olimex" DATADIR="share/lattice-ice40-examples-hx1k" WWWDIR="www/lattice-ice40-examples-hx1k" ETCDIR="etc/lattice-ice40-examples-hx1k" -------------------------------------------------- -- SUB_LIST -------------------------------------------------- PREFIX=/usr/local LOCALBASE=/usr/local DATADIR=/usr/local/share/lattice-ice40-examples-hx1k DOCSDIR=/usr/local/share/doc/lattice-ice40-examples-hx1k EXAMPLESDIR=/usr/local/share/examples/lattice-ice40-olimex WWWDIR=/usr/local/www/lattice-ice40-examples-hx1k ETCDIR=/usr/local/etc/lattice-ice40-examples-hx1k -------------------------------------------------- -- /etc/make.conf -------------------------------------------------- SYNTHPROFILE=Release-5.6 USE_PACKAGE_DEPENDS_ONLY=yes PACKAGE_BUILDING=yes BATCH=yes PKG_CREATE_VERBOSE=yes PORTSDIR=/xports DISTDIR=/distfiles WRKDIRPREFIX=/construction PORT_DBDIR=/options PACKAGES=/packages MAKE_JOBS_NUMBER_LIMIT=5 LICENSES_ACCEPTED= NONE HAVE_COMPAT_IA32_KERN= CONFIGURE_MAX_CMD_LEN=262144 _PERL5_FROM_BIN=5.28.1 _ALTCCVERSION_921dbbb2=none _OBJC_ALTCCVERSION_921dbbb2=none _SMP_CPUS=8 UID=0 ARCH=x86_64 OPSYS=DragonFly DFLYVERSION=500601 OSVERSION=9999999 OSREL=5.6 _OSRELEASE=5.6-SYNTH PYTHONBASE=/usr/local _PKG_CHECKED=1 -------------------------------------------------------------------------------- -- Phase: check-sanity -------------------------------------------------------------------------------- ===> License APACHE20 accepted by the user -------------------------------------------------------------------------------- -- Phase: pkg-depends -------------------------------------------------------------------------------- ===> lattice-ice40-examples-hx1k-g20180310 depends on file: /usr/local/sbin/pkg - not found ===> Installing existing package /packages/All/pkg-1.11.1.txz Installing pkg-1.11.1... Extracting pkg-1.11.1: .......... done ===> lattice-ice40-examples-hx1k-g20180310 depends on file: /usr/local/sbin/pkg - found ===> Returning to build of lattice-ice40-examples-hx1k-g20180310 -------------------------------------------------------------------------------- -- Phase: fetch-depends -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -- Phase: fetch -------------------------------------------------------------------------------- ===> License APACHE20 accepted by the user ===> Fetching all distfiles required by lattice-ice40-examples-hx1k-g20180310 for building -------------------------------------------------------------------------------- -- Phase: checksum -------------------------------------------------------------------------------- ===> License APACHE20 accepted by the user ===> Fetching all distfiles required by lattice-ice40-examples-hx1k-g20180310 for building => SHA256 Checksum OK for OLIMEX-iCE40HX1K-EVB-g20180310-69df5a7fc2daa8f00a984426b721499f6df22492_GH0.tar.gz. -------------------------------------------------------------------------------- -- Phase: extract-depends -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -- Phase: extract -------------------------------------------------------------------------------- ===> License APACHE20 accepted by the user ===> Fetching all distfiles required by lattice-ice40-examples-hx1k-g20180310 for building ===> Extracting for lattice-ice40-examples-hx1k-g20180310 => SHA256 Checksum OK for OLIMEX-iCE40HX1K-EVB-g20180310-69df5a7fc2daa8f00a984426b721499f6df22492_GH0.tar.gz. -------------------------------------------------------------------------------- -- Phase: patch-depends -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -- Phase: patch -------------------------------------------------------------------------------- ===> Patching for lattice-ice40-examples-hx1k-g20180310 -------------------------------------------------------------------------------- -- Phase: build-depends -------------------------------------------------------------------------------- ===> lattice-ice40-examples-hx1k-g20180310 depends on executable: abc - not found ===> Installing existing package /packages/All/abc-g20180420_1.txz Installing abc-g20180420_1... `-- Installing readline-8.0.0... | `-- Installing indexinfo-0.3.1... | `-- Extracting indexinfo-0.3.1: .... done | `-- Installing ncurses-6.1.20190525... | `-- Extracting ncurses-6.1.20190525: .......... done `-- Extracting readline-8.0.0: .......... done Extracting abc-g20180420_1: ....... done ===> lattice-ice40-examples-hx1k-g20180310 depends on executable: abc - found ===> Returning to build of lattice-ice40-examples-hx1k-g20180310 ===> lattice-ice40-examples-hx1k-g20180310 depends on executable: arachne-pnr - not found ===> Installing existing package /packages/All/arachne-pnr-g20181021_1.txz Installing arachne-pnr-g20181021_1... Extracting arachne-pnr-g20181021_1: ......... done ===> lattice-ice40-examples-hx1k-g20180310 depends on executable: arachne-pnr - found ===> Returning to build of lattice-ice40-examples-hx1k-g20180310 ===> lattice-ice40-examples-hx1k-g20180310 depends on executable: icepack - not found ===> Installing existing package /packages/All/icestorm-g20190526.txz Installing icestorm-g20190526... `-- Installing libftdi1-1.4_11... | `-- Installing boost-libs-1.70.0_2... | | `-- Installing icu-64.2,1... | | `-- Extracting icu-64.2,1: .......... done | `-- Extracting boost-libs-1.70.0_2: .......... done | `-- Installing gettext-runtime-0.20.1... | `-- Extracting gettext-runtime-0.20.1: .......... done | `-- Installing libconfuse-3.2.1_1... | `-- Extracting libconfuse-3.2.1_1: .......... done | `-- Installing python27-2.7.16_1... | | `-- Installing expat-2.2.6_1... | | `-- Extracting expat-2.2.6_1: .......... done | | `-- Installing libffi-3.2.1_3... | | `-- Extracting libffi-3.2.1_3: .......... done | | `-- Installing libressl-2.9.2... | | `-- Extracting libressl-2.9.2: .......... done | `-- Extracting python27-2.7.16_1: .......... done `-- Extracting libftdi1-1.4_11: .......... done `-- Installing py36-boost-libs-1.70.0_2... | `-- Installing python36-3.6.9... | `-- Extracting python36-3.6.9: .......... done `-- Extracting py36-boost-libs-1.70.0_2: .......... done Extracting icestorm-g20190526: .......... done Message from boost-libs-1.70.0_2: You have built the Boost library with thread support. Don't forget to add -pthread to your linker options when linking your code. Message from python27-2.7.16_1: =========================================================================== Note that some standard Python modules are provided as separate ports as they require additional dependencies. They are available as: bsddb databases/py-bsddb gdbm databases/py-gdbm sqlite3 databases/py-sqlite3 tkinter x11-toolkits/py-tkinter =========================================================================== Message from python36-3.6.9: =========================================================================== Note that some standard Python modules are provided as separate ports as they require additional dependencies. They are available as: py36-gdbm databases/py-gdbm@py36 py36-sqlite3 databases/py-sqlite3@py36 py36-tkinter x11-toolkits/py-tkinter@py36 =========================================================================== Message from py36-boost-libs-1.70.0_2: You have built the Boost library with thread support. Don't forget to add -pthread to your linker options when linking your code. You have built the Boost.Python library. You have to add the following options when building your own code: Compiler options: -I/usr/local/include/python3.6m -I/usr/local/include Linker options: -L/usr/local/lib/python3.6 -L/usr/local/lib -lboost_python -lpython3.6 ===> lattice-ice40-examples-hx1k-g20180310 depends on executable: icepack - found ===> Returning to build of lattice-ice40-examples-hx1k-g20180310 ===> lattice-ice40-examples-hx1k-g20180310 depends on executable: yosys - not found ===> Installing existing package /packages/All/yosys-0.8.1116.txz Installing yosys-0.8.1116... `-- Installing tcl86-8.6.9_1... `-- Extracting tcl86-8.6.9_1: .......... done Extracting yosys-0.8.1116: .......... done ===> lattice-ice40-examples-hx1k-g20180310 depends on executable: yosys - found ===> Returning to build of lattice-ice40-examples-hx1k-g20180310 ===> lattice-ice40-examples-hx1k-g20180310 depends on executable: gmake - not found ===> Installing existing package /packages/All/gmake-4.2.1_3.txz Installing gmake-4.2.1_3... Extracting gmake-4.2.1_3: .......... done ===> lattice-ice40-examples-hx1k-g20180310 depends on executable: gmake - found ===> Returning to build of lattice-ice40-examples-hx1k-g20180310 -------------------------------------------------------------------------------- -- Phase: lib-depends -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -- Phase: configure -------------------------------------------------------------------------------- ===> Configuring for lattice-ice40-examples-hx1k-g20180310 -------------------------------------------------------------------------------- -- Phase: build -------------------------------------------------------------------------------- ===> Building for lattice-ice40-examples-hx1k-g20180310 /usr/bin/env XDG_DATA_HOME=/construction/devel/lattice-ice40-examples-hx1k XDG_CONFIG_HOME=/construction/devel/lattice-ice40-examples-hx1k HOME=/construction/devel/lattice-ice40-examples-hx1k TMPDIR="/tmp" PATH=/construction/devel/lattice-ice40-examples-hx1k/.bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin NO_PIE=yes MK_DEBUG_FILES=no MK_KERNEL_SYMBOLS=no SHELL=/bin/sh NO_LINT=YES CCVER=gcc80 PREFIX=/usr/local LOCALBASE=/usr/local NOPROFILE=1 CC="cc" CFLAGS="-pipe -O2 -fno-strict-aliasing " CPP="cpp" CPPFLAGS="" LDFLAGS=" " LIBS="" CXX="c++" CXXFLAGS=" -pipe -O2 -fno-strict-aliasing " MANPREFIX="/usr/local" BSD_INSTALL_PROGRAM="install -s -m 555" BSD_INSTALL_LIB="install -s -m 0644" BSD_INSTALL_SCRIPT="install -m 555" BSD_INSTALL_DATA="install -m 0644" BSD_INSTALL_MAN="install -m 444" gmake -f Makefile -j5 -C /construction/devel/lattice-ice40-examples-hx1k/iCE40HX1K-EVB-69df5a7fc2daa8f00a984426b721499f6df22492/demo/ice40hx1k-evb gmake[1]: Entering directory '/construction/devel/lattice-ice40-examples-hx1k/iCE40HX1K-EVB-69df5a7fc2daa8f00a984426b721499f6df22492/demo/ice40hx1k-evb' yosys -p 'synth_ice40 -top top -blif example.blif' example.v /----------------------------------------------------------------------------\ | | | yosys -- Yosys Open SYnthesis Suite | | | | Copyright (C) 2012 - 2018 Clifford Wolf | | | | Permission to use, copy, modify, and/or distribute this software for any | | purpose with or without fee is hereby granted, provided that the above | | copyright notice and this permission notice appear in all copies. | | | | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES | | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF | | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR | | ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES | | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN | | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF | | OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | | | \----------------------------------------------------------------------------/ Yosys 0.8+ (git sha1 UNKNOWN, c++ 8.3 -O2 -fno-strict-aliasing -fPIC -Os) -- Parsing `example.v' using frontend `verilog' -- 1. Executing Verilog-2005 frontend: example.v Parsing Verilog input from `example.v' to AST representation. Generating RTLIL representation for module `\top'. Successfully finished Verilog frontend. -- Running command `synth_ice40 -top top -blif example.blif' -- 2. Executing SYNTH_ICE40 pass. 2.1. Executing Verilog-2005 frontend: /usr/local/bin/../share/yosys/ice40/cells_sim.v Parsing Verilog input from `/usr/local/bin/../share/yosys/ice40/cells_sim.v' to AST representation. Generating RTLIL representation for module `\SB_IO'. Generating RTLIL representation for module `\SB_GB_IO'. Generating RTLIL representation for module `\SB_GB'. Generating RTLIL representation for module `\SB_LUT4'. Generating RTLIL representation for module `\SB_CARRY'. Generating RTLIL representation for module `\SB_DFF'. Generating RTLIL representation for module `\SB_DFFE'. Generating RTLIL representation for module `\SB_DFFSR'. Generating RTLIL representation for module `\SB_DFFR'. Generating RTLIL representation for module `\SB_DFFSS'. Generating RTLIL representation for module `\SB_DFFS'. Generating RTLIL representation for module `\SB_DFFESR'. Generating RTLIL representation for module `\SB_DFFER'. Generating RTLIL representation for module `\SB_DFFESS'. Generating RTLIL representation for module `\SB_DFFES'. Generating RTLIL representation for module `\SB_DFFN'. Generating RTLIL representation for module `\SB_DFFNE'. Generating RTLIL representation for module `\SB_DFFNSR'. Generating RTLIL representation for module `\SB_DFFNR'. Generating RTLIL representation for module `\SB_DFFNSS'. Generating RTLIL representation for module `\SB_DFFNS'. Generating RTLIL representation for module `\SB_DFFNESR'. Generating RTLIL representation for module `\SB_DFFNER'. Generating RTLIL representation for module `\SB_DFFNESS'. Generating RTLIL representation for module `\SB_DFFNES'. Generating RTLIL representation for module `\SB_RAM40_4K'. Generating RTLIL representation for module `\SB_RAM40_4KNR'. Generating RTLIL representation for module `\SB_RAM40_4KNW'. Generating RTLIL representation for module `\SB_RAM40_4KNRNW'. Generating RTLIL representation for module `\ICESTORM_LC'. Generating RTLIL representation for module `\SB_PLL40_CORE'. Generating RTLIL representation for module `\SB_PLL40_PAD'. Generating RTLIL representation for module `\SB_PLL40_2_PAD'. Generating RTLIL representation for module `\SB_PLL40_2F_CORE'. Generating RTLIL representation for module `\SB_PLL40_2F_PAD'. Generating RTLIL representation for module `\SB_WARMBOOT'. Generating RTLIL representation for module `\SB_SPRAM256KA'. Generating RTLIL representation for module `\SB_HFOSC'. Generating RTLIL representation for module `\SB_LFOSC'. Generating RTLIL representation for module `\SB_RGBA_DRV'. Generating RTLIL representation for module `\SB_I2C'. Generating RTLIL representation for module `\SB_SPI'. Generating RTLIL representation for module `\SB_LEDDA_IP'. Generating RTLIL representation for module `\SB_FILTER_50NS'. Generating RTLIL representation for module `\SB_IO_I3C'. Generating RTLIL representation for module `\SB_IO_OD'. Generating RTLIL representation for module `\SB_MAC16'. Successfully finished Verilog frontend. 2.2. Executing HIERARCHY pass (managing design hierarchy). 2.2.1. Analyzing design hierarchy.. Top module: \top 2.2.2. Analyzing design hierarchy.. Top module: \top Removed 0 unused modules. 2.3. Executing PROC pass (convert processes to netlists). 2.3.1. Executing PROC_CLEAN pass (remove empty switches from decision trees). Cleaned up 0 empty switches. 2.3.2. Executing PROC_RMDEAD pass (remove dead branches from decision trees). Removed a total of 0 dead cases. 2.3.3. Executing PROC_INIT pass (extract init attributes). Found init rule in `\top.$proc$example.v:23$20'. Set init value: \mode = 1'1 Found init rule in `\top.$proc$example.v:22$19'. Set init value: \rst_cnt = 15'000000000000000 2.3.4. Executing PROC_ARST pass (detect async resets in processes). 2.3.5. Executing PROC_MUX pass (convert decision trees to multiplexers). Creating decoders for process `\top.$proc$example.v:23$20'. 1/1: $1\mode[0:0] Creating decoders for process `\top.$proc$example.v:22$19'. 1/1: $1\rst_cnt[14:0] Creating decoders for process `\top.$proc$example.v:38$5'. 1/9: $0\LED2_m0_r[0:0] 2/9: $0\LED1_m0_r[0:0] 3/9: $0\cntr[14:0] 4/9: $0\BUT2_r[0:0] 5/9: $0\BUT1_r[0:0] 6/9: $0\mode[0:0] 7/9: $0\rst_cnt[14:0] 8/9: $0\LED2_m1_r[0:0] 9/9: $0\LED1_m1_r[0:0] Creating decoders for process `\top.$proc$example.v:34$3'. 1/1: $0\clk_div[11:0] 2.3.6. Executing PROC_DLATCH pass (convert process syncs to latches). 2.3.7. Executing PROC_DFF pass (convert process syncs to FFs). Creating register for signal `\top.\LED1_m0_r' using process `\top.$proc$example.v:38$5'. created $dff cell `$procdff$37' with positive edge clock. Creating register for signal `\top.\LED2_m0_r' using process `\top.$proc$example.v:38$5'. created $dff cell `$procdff$38' with positive edge clock. Creating register for signal `\top.\LED1_m1_r' using process `\top.$proc$example.v:38$5'. created $dff cell `$procdff$39' with positive edge clock. Creating register for signal `\top.\BUT1_r' using process `\top.$proc$example.v:38$5'. created $dff cell `$procdff$40' with positive edge clock. Creating register for signal `\top.\BUT2_r' using process `\top.$proc$example.v:38$5'. created $dff cell `$procdff$41' with positive edge clock. Creating register for signal `\top.\LED2_m1_r' using process `\top.$proc$example.v:38$5'. created $dff cell `$procdff$42' with positive edge clock. Creating register for signal `\top.\cntr' using process `\top.$proc$example.v:38$5'. created $dff cell `$procdff$43' with positive edge clock. Creating register for signal `\top.\rst_cnt' using process `\top.$proc$example.v:38$5'. created $dff cell `$procdff$44' with positive edge clock. Creating register for signal `\top.\mode' using process `\top.$proc$example.v:38$5'. created $dff cell `$procdff$45' with positive edge clock. Creating register for signal `\top.\clk_div' using process `\top.$proc$example.v:34$3'. created $dff cell `$procdff$46' with positive edge clock. 2.3.8. Executing PROC_CLEAN pass (remove empty switches from decision trees). Removing empty process `top.$proc$example.v:23$20'. Removing empty process `top.$proc$example.v:22$19'. Found and cleaned up 4 empty switches in `\top.$proc$example.v:38$5'. Removing empty process `top.$proc$example.v:38$5'. Removing empty process `top.$proc$example.v:34$3'. Cleaned up 4 empty switches. 2.4. Executing FLATTEN pass (flatten design). No more expansions possible. 2.5. Executing TRIBUF pass. 2.6. Executing DEMINOUT pass (demote inout ports to input or output). 2.7. Executing OPT_EXPR pass (perform const folding). Optimizing module top. 2.8. Executing OPT_CLEAN pass (remove unused cells and wires). Finding unused cells or wires in module \top.. Removed 1 unused cells and 24 unused wires. 2.9. Executing CHECK pass (checking for obvious problems). checking module top.. found and reported 0 problems. 2.10. Executing OPT pass (performing simple optimizations). 2.10.1. Executing OPT_EXPR pass (perform const folding). Optimizing module top. 2.10.2. Executing OPT_MERGE pass (detect identical cells). Finding identical cells in module `\top'. Removed a total of 2 cells. 2.10.3. Executing OPT_MUXTREE pass (detect dead branches in mux trees). Running muxtree optimizer on module \top.. Creating internal representation of mux trees. Evaluating internal representation of mux trees. Replacing known input bits on port B of cell $procmux$25: \rst_cnt -> { 1'1 \rst_cnt [13:0] } Analyzing evaluation results. Removed 0 multiplexer ports. 2.10.4. Executing OPT_REDUCE pass (consolidate $*mux and $reduce_* inputs). Optimizing cells in module \top. Performed a total of 0 changes. 2.10.5. Executing OPT_MERGE pass (detect identical cells). Finding identical cells in module `\top'. Removed a total of 0 cells. 2.10.6. Executing OPT_RMDFF pass (remove dff with constant values). 2.10.7. Executing OPT_CLEAN pass (remove unused cells and wires). Finding unused cells or wires in module \top.. Removed 0 unused cells and 2 unused wires. 2.10.8. Executing OPT_EXPR pass (perform const folding). Optimizing module top. 2.10.9. Finished OPT passes. (There is nothing left to do.) 2.11. Executing WREDUCE pass (reducing word size of cells). Removed top 11 bits (of 12) from port B of cell top.$add$example.v:35$4 ($add). Removed top 14 bits (of 15) from port B of cell top.$add$example.v:41$6 ($add). Removed top 14 bits (of 15) from port B of cell top.$add$example.v:44$8 ($add). Removed top 1 bits (of 15) from port B of cell top.$eq$example.v:55$17 ($eq). 2.12. Executing PEEPOPT pass (run peephole optimizers). 2.13. Executing OPT_CLEAN pass (remove unused cells and wires). Finding unused cells or wires in module \top.. 2.14. Executing SHARE pass (SAT-based resource sharing). 2.15. Executing TECHMAP pass (map to technology primitives). 2.15.1. Executing Verilog-2005 frontend: /usr/local/bin/../share/yosys/cmp2lut.v Parsing Verilog input from `/usr/local/bin/../share/yosys/cmp2lut.v' to AST representation. Generating RTLIL representation for module `\_90_lut_cmp_'. Successfully finished Verilog frontend. 2.15.2. Continuing TECHMAP pass. No more expansions possible. 2.16. Executing OPT_EXPR pass (perform const folding). Optimizing module top. 2.17. Executing OPT_CLEAN pass (remove unused cells and wires). Finding unused cells or wires in module \top.. 2.18. Executing ALUMACC pass (create $alu and $macc cells). Extracting $alu and $macc cells in module top: creating $macc model for $add$example.v:35$4 ($add). creating $macc model for $add$example.v:41$6 ($add). creating $macc model for $add$example.v:44$8 ($add). creating $alu model for $macc $add$example.v:44$8. creating $alu model for $macc $add$example.v:41$6. creating $alu model for $macc $add$example.v:35$4. creating $alu model for $gt$example.v:59$18 ($gt): new $alu creating $alu cell for $gt$example.v:59$18: $auto$alumacc.cc:474:replace_alu$48 creating $alu cell for $add$example.v:35$4: $auto$alumacc.cc:474:replace_alu$59 creating $alu cell for $add$example.v:41$6: $auto$alumacc.cc:474:replace_alu$62 creating $alu cell for $add$example.v:44$8: $auto$alumacc.cc:474:replace_alu$65 created 4 $alu and 0 $macc cells. 2.19. Executing OPT pass (performing simple optimizations). 2.19.1. Executing OPT_EXPR pass (perform const folding). Optimizing module top. 2.19.2. Executing OPT_MERGE pass (detect identical cells). Finding identical cells in module `\top'. Removed a total of 0 cells. 2.19.3. Executing OPT_MUXTREE pass (detect dead branches in mux trees). Running muxtree optimizer on module \top.. Creating internal representation of mux trees. Evaluating internal representation of mux trees. Analyzing evaluation results. Removed 0 multiplexer ports. 2.19.4. Executing OPT_REDUCE pass (consolidate $*mux and $reduce_* inputs). Optimizing cells in module \top. New input vector for $reduce_and cell $auto$alumacc.cc:64:get_eq$51: { $auto$alumacc.cc:490:replace_alu$49 [0] $auto$alumacc.cc:490:replace_alu$49 [1] $auto$alumacc.cc:490:replace_alu$49 [2] $auto$alumacc.cc:490:replace_alu$49 [3] $auto$alumacc.cc:490:replace_alu$49 [4] $auto$alumacc.cc:490:replace_alu$49 [5] $auto$alumacc.cc:490:replace_alu$49 [6] $auto$alumacc.cc:490:replace_alu$49 [7] $auto$alumacc.cc:490:replace_alu$49 [8] $auto$alumacc.cc:490:replace_alu$49 [9] $auto$alumacc.cc:490:replace_alu$49 [10] $auto$alumacc.cc:490:replace_alu$49 [11] $auto$alumacc.cc:490:replace_alu$49 [12] $auto$alumacc.cc:490:replace_alu$49 [13] $auto$alumacc.cc:490:replace_alu$49 [14] } Optimizing cells in module \top. Performed a total of 1 changes. 2.19.5. Executing OPT_MERGE pass (detect identical cells). Finding identical cells in module `\top'. Removed a total of 0 cells. 2.19.6. Executing OPT_RMDFF pass (remove dff with constant values). 2.19.7. Executing OPT_CLEAN pass (remove unused cells and wires). Finding unused cells or wires in module \top.. Removed 1 unused cells and 2 unused wires. 2.19.8. Executing OPT_EXPR pass (perform const folding). Optimizing module top. 2.19.9. Rerunning OPT passes. (Maybe there is more to do..) 2.19.10. Executing OPT_MUXTREE pass (detect dead branches in mux trees). Running muxtree optimizer on module \top.. Creating internal representation of mux trees. Evaluating internal representation of mux trees. Analyzing evaluation results. Removed 0 multiplexer ports. 2.19.11. Executing OPT_REDUCE pass (consolidate $*mux and $reduce_* inputs). Optimizing cells in module \top. Performed a total of 0 changes. 2.19.12. Executing OPT_MERGE pass (detect identical cells). Finding identical cells in module `\top'. Removed a total of 0 cells. 2.19.13. Executing OPT_RMDFF pass (remove dff with constant values). 2.19.14. Executing OPT_CLEAN pass (remove unused cells and wires). Finding unused cells or wires in module \top.. 2.19.15. Executing OPT_EXPR pass (perform const folding). Optimizing module top. 2.19.16. Finished OPT passes. (There is nothing left to do.) 2.20. Executing FSM pass (extract and optimize FSM). 2.20.1. Executing FSM_DETECT pass (finding FSMs in design). 2.20.2. Executing FSM_EXTRACT pass (extracting FSM from design). 2.20.3. Executing FSM_OPT pass (simple optimizations of FSMs). 2.20.4. Executing OPT_CLEAN pass (remove unused cells and wires). Finding unused cells or wires in module \top.. 2.20.5. Executing FSM_OPT pass (simple optimizations of FSMs). 2.20.6. Executing FSM_RECODE pass (re-assigning FSM state encoding). 2.20.7. Executing FSM_INFO pass (dumping all available information on FSM cells). 2.20.8. Executing FSM_MAP pass (mapping FSMs to basic logic). 2.21. Executing OPT pass (performing simple optimizations). 2.21.1. Executing OPT_EXPR pass (perform const folding). Optimizing module top. 2.21.2. Executing OPT_MERGE pass (detect identical cells). Finding identical cells in module `\top'. Removed a total of 0 cells. 2.21.3. Executing OPT_RMDFF pass (remove dff with constant values). 2.21.4. Executing OPT_CLEAN pass (remove unused cells and wires). Finding unused cells or wires in module \top.. 2.21.5. Finished fast OPT passes. 2.22. Executing MEMORY pass. 2.22.1. Executing MEMORY_DFF pass (merging $dff cells to $memrd and $memwr). 2.22.2. Executing OPT_CLEAN pass (remove unused cells and wires). Finding unused cells or wires in module \top.. 2.22.3. Executing MEMORY_SHARE pass (consolidating $memrd/$memwr cells). 2.22.4. Executing OPT_CLEAN pass (remove unused cells and wires). Finding unused cells or wires in module \top.. 2.22.5. Executing MEMORY_COLLECT pass (generating $mem cells). 2.23. Executing OPT_CLEAN pass (remove unused cells and wires). Finding unused cells or wires in module \top.. 2.24. Executing MEMORY_BRAM pass (mapping $mem cells to block memories). 2.25. Executing TECHMAP pass (map to technology primitives). 2.25.1. Executing Verilog-2005 frontend: /usr/local/bin/../share/yosys/ice40/brams_map.v Parsing Verilog input from `/usr/local/bin/../share/yosys/ice40/brams_map.v' to AST representation. Generating RTLIL representation for module `\$__ICE40_RAM4K'. Generating RTLIL representation for module `\$__ICE40_RAM4K_M0'. Generating RTLIL representation for module `\$__ICE40_RAM4K_M123'. Successfully finished Verilog frontend. 2.25.2. Continuing TECHMAP pass. No more expansions possible. 2.26. Executing ICE40_BRAMINIT pass. 2.27. Executing OPT pass (performing simple optimizations). 2.27.1. Executing OPT_EXPR pass (perform const folding). Optimizing module top. 2.27.2. Executing OPT_MERGE pass (detect identical cells). Finding identical cells in module `\top'. Removed a total of 0 cells. 2.27.3. Executing OPT_RMDFF pass (remove dff with constant values). 2.27.4. Executing OPT_CLEAN pass (remove unused cells and wires). Finding unused cells or wires in module \top.. 2.27.5. Finished fast OPT passes. 2.28. Executing MEMORY_MAP pass (converting $mem cells to logic and flip-flops). 2.29. Executing OPT pass (performing simple optimizations). 2.29.1. Executing OPT_EXPR pass (perform const folding). Optimizing module top. 2.29.2. Executing OPT_MERGE pass (detect identical cells). Finding identical cells in module `\top'. Removed a total of 0 cells. 2.29.3. Executing OPT_MUXTREE pass (detect dead branches in mux trees). Running muxtree optimizer on module \top.. Creating internal representation of mux trees. Evaluating internal representation of mux trees. Analyzing evaluation results. Removed 0 multiplexer ports. 2.29.4. Executing OPT_REDUCE pass (consolidate $*mux and $reduce_* inputs). Optimizing cells in module \top. Performed a total of 0 changes. 2.29.5. Executing OPT_MERGE pass (detect identical cells). Finding identical cells in module `\top'. Removed a total of 0 cells. 2.29.6. Executing OPT_RMDFF pass (remove dff with constant values). 2.29.7. Executing OPT_CLEAN pass (remove unused cells and wires). Finding unused cells or wires in module \top.. 2.29.8. Executing OPT_EXPR pass (perform const folding). Optimizing module top. 2.29.9. Finished OPT passes. (There is nothing left to do.) 2.30. Executing TECHMAP pass (map to technology primitives). 2.30.1. Executing Verilog-2005 frontend: /usr/local/bin/../share/yosys/techmap.v Parsing Verilog input from `/usr/local/bin/../share/yosys/techmap.v' to AST representation. Generating RTLIL representation for module `\_90_simplemap_bool_ops'. Generating RTLIL representation for module `\_90_simplemap_reduce_ops'. Generating RTLIL representation for module `\_90_simplemap_logic_ops'. Generating RTLIL representation for module `\_90_simplemap_compare_ops'. Generating RTLIL representation for module `\_90_simplemap_various'. Generating RTLIL representation for module `\_90_simplemap_registers'. Generating RTLIL representation for module `\_90_shift_ops_shr_shl_sshl_sshr'. Generating RTLIL representation for module `\_90_shift_shiftx'. Generating RTLIL representation for module `\_90_fa'. Generating RTLIL representation for module `\_90_lcu'. Generating RTLIL representation for module `\_90_alu'. Generating RTLIL representation for module `\_90_macc'. Generating RTLIL representation for module `\_90_alumacc'. Generating RTLIL representation for module `\$__div_mod_u'. Generating RTLIL representation for module `\$__div_mod'. Generating RTLIL representation for module `\_90_div'. Generating RTLIL representation for module `\_90_mod'. Generating RTLIL representation for module `\_90_pow'. Generating RTLIL representation for module `\_90_pmux'. Generating RTLIL representation for module `\_90_lut'. Successfully finished Verilog frontend. 2.30.2. Executing Verilog-2005 frontend: /usr/local/bin/../share/yosys/ice40/arith_map.v Parsing Verilog input from `/usr/local/bin/../share/yosys/ice40/arith_map.v' to AST representation. Generating RTLIL representation for module `\_80_ice40_alu'. Successfully finished Verilog frontend. 2.30.3. Continuing TECHMAP pass. Using extmapper simplemap for cells of type $mux. Using extmapper simplemap for cells of type $logic_and. Using extmapper simplemap for cells of type $not. Using extmapper simplemap for cells of type $xor. Using extmapper simplemap for cells of type $eq. Using extmapper simplemap for cells of type $reduce_and. Using template $paramod\_80_ice40_alu\A_SIGNED=0\B_SIGNED=0\A_WIDTH=1\B_WIDTH=15\Y_WIDTH=15 for cells of type $alu. Using template $paramod\_80_ice40_alu\A_SIGNED=0\B_SIGNED=0\A_WIDTH=15\B_WIDTH=15\Y_WIDTH=15 for cells of type $alu. Using extmapper simplemap for cells of type $or. Using template $paramod\_80_ice40_alu\A_SIGNED=0\B_SIGNED=0\A_WIDTH=1\B_WIDTH=12\Y_WIDTH=12 for cells of type $alu. Using extmapper simplemap for cells of type $dff. Using extmapper simplemap for cells of type $pos. No more expansions possible. 2.31. Executing ICE40_OPT pass (performing simple optimizations). 2.31.1. Running ICE40 specific optimizations. 2.31.2. Executing OPT_EXPR pass (perform const folding). Optimizing module top. 2.31.3. Executing OPT_MERGE pass (detect identical cells). Finding identical cells in module `\top'. Removed a total of 5 cells. 2.31.4. Executing OPT_RMDFF pass (remove dff with constant values). 2.31.5. Executing OPT_CLEAN pass (remove unused cells and wires). Finding unused cells or wires in module \top.. Removed 63 unused cells and 70 unused wires. 2.31.6. Rerunning OPT passes. (Removed registers in this run.) 2.31.7. Running ICE40 specific optimizations. Optimized away SB_CARRY cell top.$auto$alumacc.cc:474:replace_alu$48.slice[0].carry: CO=1'1 Optimized away SB_CARRY cell top.$auto$alumacc.cc:474:replace_alu$59.slice[0].carry: CO=\clk_div [0] Optimized away SB_CARRY cell top.$auto$alumacc.cc:474:replace_alu$62.slice[0].carry: CO=\cntr [0] Optimized away SB_CARRY cell top.$auto$alumacc.cc:474:replace_alu$65.slice[0].carry: CO=\rst_cnt [0] Mapping SB_LUT4 cell top.$auto$alumacc.cc:474:replace_alu$59.slice[1].adder back to logic. Mapping SB_LUT4 cell top.$auto$alumacc.cc:474:replace_alu$62.slice[1].adder back to logic. Mapping SB_LUT4 cell top.$auto$alumacc.cc:474:replace_alu$65.slice[1].adder back to logic. 2.31.8. Executing OPT_EXPR pass (perform const folding). Optimizing module top. 2.31.9. Executing OPT_MERGE pass (detect identical cells). Finding identical cells in module `\top'. Removed a total of 0 cells. 2.31.10. Executing OPT_RMDFF pass (remove dff with constant values). 2.31.11. Executing OPT_CLEAN pass (remove unused cells and wires). Finding unused cells or wires in module \top.. Removed 0 unused cells and 9 unused wires. 2.31.12. Rerunning OPT passes. (Removed registers in this run.) 2.31.13. Running ICE40 specific optimizations. Optimized away SB_CARRY cell top.$auto$alumacc.cc:474:replace_alu$48.slice[1].carry: CO=\cntr [1] 2.31.14. Executing OPT_EXPR pass (perform const folding). Optimizing module top. 2.31.15. Executing OPT_MERGE pass (detect identical cells). Finding identical cells in module `\top'. Removed a total of 0 cells. 2.31.16. Executing OPT_RMDFF pass (remove dff with constant values). 2.31.17. Executing OPT_CLEAN pass (remove unused cells and wires). Finding unused cells or wires in module \top.. 2.31.18. Rerunning OPT passes. (Removed registers in this run.) 2.31.19. Running ICE40 specific optimizations. 2.31.20. Executing OPT_EXPR pass (perform const folding). Optimizing module top. 2.31.21. Executing OPT_MERGE pass (detect identical cells). Finding identical cells in module `\top'. Removed a total of 0 cells. 2.31.22. Executing OPT_RMDFF pass (remove dff with constant values). 2.31.23. Executing OPT_CLEAN pass (remove unused cells and wires). Finding unused cells or wires in module \top.. 2.31.24. Finished OPT passes. (There is nothing left to do.) 2.32. Executing DFFSR2DFF pass (mapping DFFSR cells to simpler FFs). 2.33. Executing DFF2DFFE pass (transform $dff to $dffe where applicable). Selected cell types for direct conversion: $_DFF_PP1_ -> $__DFFE_PP1 $_DFF_PP0_ -> $__DFFE_PP0 $_DFF_PN1_ -> $__DFFE_PN1 $_DFF_PN0_ -> $__DFFE_PN0 $_DFF_NP1_ -> $__DFFE_NP1 $_DFF_NP0_ -> $__DFFE_NP0 $_DFF_NN1_ -> $__DFFE_NN1 $_DFF_NN0_ -> $__DFFE_NN0 $_DFF_N_ -> $_DFFE_NP_ $_DFF_P_ -> $_DFFE_PP_ Transforming FF to FF+Enable cells in module top: converting $_DFF_P_ cell $auto$simplemap.cc:420:simplemap_dff$245 to $_DFFE_PP_ for $0\LED1_m1_r[0:0] -> \LED1_m1_r. converting $_DFF_P_ cell $auto$simplemap.cc:420:simplemap_dff$248 to $_DFFE_PP_ for $0\LED2_m1_r[0:0] -> \LED2_m1_r. converting $_DFF_P_ cell $auto$simplemap.cc:420:simplemap_dff$250 to $_DFFE_PP_ for $0\cntr[14:0] [1] -> \cntr [1]. converting $_DFF_P_ cell $auto$simplemap.cc:420:simplemap_dff$264 to $_DFFE_PP_ for $0\rst_cnt[14:0] [0] -> \rst_cnt [0]. converting $_DFF_P_ cell $auto$simplemap.cc:420:simplemap_dff$265 to $_DFFE_PP_ for $0\rst_cnt[14:0] [1] -> \rst_cnt [1]. converting $_DFF_P_ cell $auto$simplemap.cc:420:simplemap_dff$266 to $_DFFE_PP_ for $0\rst_cnt[14:0] [2] -> \rst_cnt [2]. converting $_DFF_P_ cell $auto$simplemap.cc:420:simplemap_dff$267 to $_DFFE_PP_ for $0\rst_cnt[14:0] [3] -> \rst_cnt [3]. converting $_DFF_P_ cell $auto$simplemap.cc:420:simplemap_dff$268 to $_DFFE_PP_ for $0\rst_cnt[14:0] [4] -> \rst_cnt [4]. converting $_DFF_P_ cell $auto$simplemap.cc:420:simplemap_dff$269 to $_DFFE_PP_ for $0\rst_cnt[14:0] [5] -> \rst_cnt [5]. converting $_DFF_P_ cell $auto$simplemap.cc:420:simplemap_dff$270 to $_DFFE_PP_ for $0\rst_cnt[14:0] [6] -> \rst_cnt [6]. converting $_DFF_P_ cell $auto$simplemap.cc:420:simplemap_dff$271 to $_DFFE_PP_ for $0\rst_cnt[14:0] [7] -> \rst_cnt [7]. converting $_DFF_P_ cell $auto$simplemap.cc:420:simplemap_dff$272 to $_DFFE_PP_ for $0\rst_cnt[14:0] [8] -> \rst_cnt [8]. converting $_DFF_P_ cell $auto$simplemap.cc:420:simplemap_dff$273 to $_DFFE_PP_ for $0\rst_cnt[14:0] [9] -> \rst_cnt [9]. converting $_DFF_P_ cell $auto$simplemap.cc:420:simplemap_dff$274 to $_DFFE_PP_ for $0\rst_cnt[14:0] [10] -> \rst_cnt [10]. converting $_DFF_P_ cell $auto$simplemap.cc:420:simplemap_dff$275 to $_DFFE_PP_ for $0\rst_cnt[14:0] [11] -> \rst_cnt [11]. converting $_DFF_P_ cell $auto$simplemap.cc:420:simplemap_dff$276 to $_DFFE_PP_ for $0\rst_cnt[14:0] [12] -> \rst_cnt [12]. converting $_DFF_P_ cell $auto$simplemap.cc:420:simplemap_dff$277 to $_DFFE_PP_ for $0\rst_cnt[14:0] [13] -> \rst_cnt [13]. converting $_DFF_P_ cell $auto$simplemap.cc:420:simplemap_dff$279 to $_DFFE_PP_ for $0\mode[0:0] -> \mode. converting $_DFF_P_ cell $auto$simplemap.cc:420:simplemap_dff$281 to $_DFFE_PP_ for $0\clk_div[11:0] [1] -> \clk_div [1]. 2.34. Executing TECHMAP pass (map to technology primitives). 2.34.1. Executing Verilog-2005 frontend: /usr/local/bin/../share/yosys/ice40/cells_map.v Parsing Verilog input from `/usr/local/bin/../share/yosys/ice40/cells_map.v' to AST representation. Generating RTLIL representation for module `\$_DFF_N_'. Generating RTLIL representation for module `\$_DFF_P_'. Generating RTLIL representation for module `\$_DFFE_NN_'. Generating RTLIL representation for module `\$_DFFE_PN_'. Generating RTLIL representation for module `\$_DFFE_NP_'. Generating RTLIL representation for module `\$_DFFE_PP_'. Generating RTLIL representation for module `\$_DFF_NN0_'. Generating RTLIL representation for module `\$_DFF_NN1_'. Generating RTLIL representation for module `\$_DFF_PN0_'. Generating RTLIL representation for module `\$_DFF_PN1_'. Generating RTLIL representation for module `\$_DFF_NP0_'. Generating RTLIL representation for module `\$_DFF_NP1_'. Generating RTLIL representation for module `\$_DFF_PP0_'. Generating RTLIL representation for module `\$_DFF_PP1_'. Generating RTLIL representation for module `\$__DFFE_NN0'. Generating RTLIL representation for module `\$__DFFE_NN1'. Generating RTLIL representation for module `\$__DFFE_PN0'. Generating RTLIL representation for module `\$__DFFE_PN1'. Generating RTLIL representation for module `\$__DFFE_NP0'. Generating RTLIL representation for module `\$__DFFE_NP1'. Generating RTLIL representation for module `\$__DFFE_PP0'. Generating RTLIL representation for module `\$__DFFE_PP1'. Successfully finished Verilog frontend. 2.34.2. Continuing TECHMAP pass. Using template \$_DFF_P_ for cells of type $_DFF_P_. Using template \$_DFFE_PP_ for cells of type $_DFFE_PP_. No more expansions possible. 2.35. Executing OPT_EXPR pass (perform const folding). Optimizing module top. 2.36. Executing SIMPLEMAP pass (map simple cells to gate primitives). 2.37. Executing ICE40_FFINIT pass (implement FF init values). Handling FF init values in top. FF init value for cell $auto$simplemap.cc:420:simplemap_dff$264 (SB_DFFE): \rst_cnt [0] = 0 FF init value for cell $auto$simplemap.cc:420:simplemap_dff$265 (SB_DFFE): \rst_cnt [1] = 0 FF init value for cell $auto$simplemap.cc:420:simplemap_dff$266 (SB_DFFE): \rst_cnt [2] = 0 FF init value for cell $auto$simplemap.cc:420:simplemap_dff$267 (SB_DFFE): \rst_cnt [3] = 0 FF init value for cell $auto$simplemap.cc:420:simplemap_dff$268 (SB_DFFE): \rst_cnt [4] = 0 FF init value for cell $auto$simplemap.cc:420:simplemap_dff$269 (SB_DFFE): \rst_cnt [5] = 0 FF init value for cell $auto$simplemap.cc:420:simplemap_dff$270 (SB_DFFE): \rst_cnt [6] = 0 FF init value for cell $auto$simplemap.cc:420:simplemap_dff$271 (SB_DFFE): \rst_cnt [7] = 0 FF init value for cell $auto$simplemap.cc:420:simplemap_dff$273 (SB_DFFE): \rst_cnt [9] = 0 FF init value for cell $auto$simplemap.cc:420:simplemap_dff$274 (SB_DFFE): \rst_cnt [10] = 0 FF init value for cell $auto$simplemap.cc:420:simplemap_dff$275 (SB_DFFE): \rst_cnt [11] = 0 FF init value for cell $auto$simplemap.cc:420:simplemap_dff$276 (SB_DFFE): \rst_cnt [12] = 0 FF init value for cell $auto$simplemap.cc:420:simplemap_dff$277 (SB_DFFE): \rst_cnt [13] = 0 FF init value for cell $auto$simplemap.cc:420:simplemap_dff$278 (SB_DFF): \rst_cnt [14] = 0 FF init value for cell $auto$simplemap.cc:420:simplemap_dff$279 (SB_DFFE): \mode = 1 FF init value for cell $auto$simplemap.cc:420:simplemap_dff$272 (SB_DFFE): \rst_cnt [8] = 0 2.38. Executing ICE40_FFSSR pass (merge synchronous set/reset into FF cells). Merging set/reset $_MUX_ cells into SB_FFs in top. Merging $auto$simplemap.cc:277:simplemap_mux$209 (A=1'0, B=$add$example.v:41$6_Y [7], S=$auto$rtlil.cc:1836:Or$56) into $auto$simplemap.cc:420:simplemap_dff$256 (SB_DFF). Merging $auto$simplemap.cc:277:simplemap_mux$203 (A=1'0, B=$auto$simplemap.cc:309:simplemap_lut$496 [1], S=$auto$rtlil.cc:1836:Or$56) into $auto$simplemap.cc:420:simplemap_dff$250 (SB_DFFE). Merging $auto$simplemap.cc:277:simplemap_mux$204 (A=1'0, B=$add$example.v:41$6_Y [2], S=$auto$rtlil.cc:1836:Or$56) into $auto$simplemap.cc:420:simplemap_dff$251 (SB_DFF). Merging $auto$simplemap.cc:277:simplemap_mux$205 (A=1'0, B=$add$example.v:41$6_Y [3], S=$auto$rtlil.cc:1836:Or$56) into $auto$simplemap.cc:420:simplemap_dff$252 (SB_DFF). Merging $auto$simplemap.cc:277:simplemap_mux$206 (A=1'0, B=$add$example.v:41$6_Y [4], S=$auto$rtlil.cc:1836:Or$56) into $auto$simplemap.cc:420:simplemap_dff$253 (SB_DFF). Merging $auto$simplemap.cc:277:simplemap_mux$207 (A=1'0, B=$add$example.v:41$6_Y [5], S=$auto$rtlil.cc:1836:Or$56) into $auto$simplemap.cc:420:simplemap_dff$254 (SB_DFF). Merging $auto$simplemap.cc:277:simplemap_mux$208 (A=1'0, B=$add$example.v:41$6_Y [6], S=$auto$rtlil.cc:1836:Or$56) into $auto$simplemap.cc:420:simplemap_dff$255 (SB_DFF). Merging $auto$simplemap.cc:277:simplemap_mux$210 (A=1'0, B=$add$example.v:41$6_Y [8], S=$auto$rtlil.cc:1836:Or$56) into $auto$simplemap.cc:420:simplemap_dff$257 (SB_DFF). Merging $auto$simplemap.cc:277:simplemap_mux$211 (A=1'0, B=$add$example.v:41$6_Y [9], S=$auto$rtlil.cc:1836:Or$56) into $auto$simplemap.cc:420:simplemap_dff$258 (SB_DFF). Merging $auto$simplemap.cc:277:simplemap_mux$212 (A=1'0, B=$add$example.v:41$6_Y [10], S=$auto$rtlil.cc:1836:Or$56) into $auto$simplemap.cc:420:simplemap_dff$259 (SB_DFF). Merging $auto$simplemap.cc:277:simplemap_mux$213 (A=1'0, B=$add$example.v:41$6_Y [11], S=$auto$rtlil.cc:1836:Or$56) into $auto$simplemap.cc:420:simplemap_dff$260 (SB_DFF). Merging $auto$simplemap.cc:277:simplemap_mux$214 (A=1'0, B=$add$example.v:41$6_Y [12], S=$auto$rtlil.cc:1836:Or$56) into $auto$simplemap.cc:420:simplemap_dff$261 (SB_DFF). Merging $auto$simplemap.cc:277:simplemap_mux$215 (A=1'0, B=$add$example.v:41$6_Y [13], S=$auto$rtlil.cc:1836:Or$56) into $auto$simplemap.cc:420:simplemap_dff$262 (SB_DFF). Merging $auto$simplemap.cc:277:simplemap_mux$216 (A=1'0, B=$add$example.v:41$6_Y [14], S=$auto$rtlil.cc:1836:Or$56) into $auto$simplemap.cc:420:simplemap_dff$263 (SB_DFF). Merging $auto$simplemap.cc:277:simplemap_mux$221 (A=$add$example.v:44$8_Y [0], B=1'0, S=$logic_and$example.v:47$13_Y) into $auto$simplemap.cc:420:simplemap_dff$264 (SB_DFFE). Merging $auto$simplemap.cc:277:simplemap_mux$222 (A=$auto$simplemap.cc:309:simplemap_lut$515 [1], B=1'0, S=$logic_and$example.v:47$13_Y) into $auto$simplemap.cc:420:simplemap_dff$265 (SB_DFFE). Merging $auto$simplemap.cc:277:simplemap_mux$223 (A=$add$example.v:44$8_Y [2], B=1'0, S=$logic_and$example.v:47$13_Y) into $auto$simplemap.cc:420:simplemap_dff$266 (SB_DFFE). Merging $auto$simplemap.cc:277:simplemap_mux$224 (A=$add$example.v:44$8_Y [3], B=1'0, S=$logic_and$example.v:47$13_Y) into $auto$simplemap.cc:420:simplemap_dff$267 (SB_DFFE). Merging $auto$simplemap.cc:277:simplemap_mux$225 (A=$add$example.v:44$8_Y [4], B=1'0, S=$logic_and$example.v:47$13_Y) into $auto$simplemap.cc:420:simplemap_dff$268 (SB_DFFE). Merging $auto$simplemap.cc:277:simplemap_mux$226 (A=$add$example.v:44$8_Y [5], B=1'0, S=$logic_and$example.v:47$13_Y) into $auto$simplemap.cc:420:simplemap_dff$269 (SB_DFFE). Merging $auto$simplemap.cc:277:simplemap_mux$227 (A=$add$example.v:44$8_Y [6], B=1'0, S=$logic_and$example.v:47$13_Y) into $auto$simplemap.cc:420:simplemap_dff$270 (SB_DFFE). Merging $auto$simplemap.cc:277:simplemap_mux$202 (A=1'0, B=$add$example.v:41$6_Y [0], S=$auto$rtlil.cc:1836:Or$56) into $auto$simplemap.cc:420:simplemap_dff$249 (SB_DFF). Merging $auto$simplemap.cc:277:simplemap_mux$228 (A=$add$example.v:44$8_Y [7], B=1'0, S=$logic_and$example.v:47$13_Y) into $auto$simplemap.cc:420:simplemap_dff$271 (SB_DFFE). Merging $auto$simplemap.cc:277:simplemap_mux$230 (A=$add$example.v:44$8_Y [9], B=1'0, S=$logic_and$example.v:47$13_Y) into $auto$simplemap.cc:420:simplemap_dff$273 (SB_DFFE). Merging $auto$simplemap.cc:277:simplemap_mux$231 (A=$add$example.v:44$8_Y [10], B=1'0, S=$logic_and$example.v:47$13_Y) into $auto$simplemap.cc:420:simplemap_dff$274 (SB_DFFE). Merging $auto$simplemap.cc:277:simplemap_mux$232 (A=$add$example.v:44$8_Y [11], B=1'0, S=$logic_and$example.v:47$13_Y) into $auto$simplemap.cc:420:simplemap_dff$275 (SB_DFFE). Merging $auto$simplemap.cc:277:simplemap_mux$233 (A=$add$example.v:44$8_Y [12], B=1'0, S=$logic_and$example.v:47$13_Y) into $auto$simplemap.cc:420:simplemap_dff$276 (SB_DFFE). Merging $auto$simplemap.cc:277:simplemap_mux$234 (A=$add$example.v:44$8_Y [13], B=1'0, S=$logic_and$example.v:47$13_Y) into $auto$simplemap.cc:420:simplemap_dff$277 (SB_DFFE). Merging $auto$simplemap.cc:277:simplemap_mux$235 (A=$procmux$25_Y [14], B=1'0, S=$logic_and$example.v:47$13_Y) into $auto$simplemap.cc:420:simplemap_dff$278 (SB_DFF). Merging $auto$simplemap.cc:277:simplemap_mux$229 (A=$add$example.v:44$8_Y [8], B=1'0, S=$logic_and$example.v:47$13_Y) into $auto$simplemap.cc:420:simplemap_dff$272 (SB_DFFE). 2.39. Executing ICE40_OPT pass (performing simple optimizations). 2.39.1. Running ICE40 specific optimizations. 2.39.2. Executing OPT_EXPR pass (perform const folding). Optimizing module top. 2.39.3. Executing OPT_MERGE pass (detect identical cells). Finding identical cells in module `\top'. Removed a total of 45 cells. 2.39.4. Executing OPT_RMDFF pass (remove dff with constant values). 2.39.5. Executing OPT_CLEAN pass (remove unused cells and wires). Finding unused cells or wires in module \top.. Removed 30 unused cells and 243 unused wires. 2.39.6. Rerunning OPT passes. (Removed registers in this run.) 2.39.7. Running ICE40 specific optimizations. 2.39.8. Executing OPT_EXPR pass (perform const folding). Optimizing module top. 2.39.9. Executing OPT_MERGE pass (detect identical cells). Finding identical cells in module `\top'. Removed a total of 0 cells. 2.39.10. Executing OPT_RMDFF pass (remove dff with constant values). 2.39.11. Executing OPT_CLEAN pass (remove unused cells and wires). Finding unused cells or wires in module \top.. 2.39.12. Finished OPT passes. (There is nothing left to do.) 2.40. Executing TECHMAP pass (map to technology primitives). 2.40.1. Executing Verilog-2005 frontend: /usr/local/bin/../share/yosys/ice40/latches_map.v Parsing Verilog input from `/usr/local/bin/../share/yosys/ice40/latches_map.v' to AST representation. Generating RTLIL representation for module `\$_DLATCH_N_'. Generating RTLIL representation for module `\$_DLATCH_P_'. Successfully finished Verilog frontend. 2.40.2. Continuing TECHMAP pass. No more expansions possible. 2.41. Executing ABC pass (technology mapping using ABC). 2.41.1. Extracting gate netlist of module `\top' to `/input.blif'.. Extracted 64 gates and 93 wires to a netlist network with 28 inputs and 16 outputs. 2.41.1.1. Executing ABC. Running ABC command: abc -s -f /abc.script 2>&1 ABC: ABC command line: "source /abc.script". ABC: ABC: + read_blif /input.blif ABC: + read_lut /lutdefs.txt ABC: + strash ABC: + ifraig ABC: + scorr ABC: Warning: The network is combinational (run "fraig" or "fraig_sweep"). ABC: + dc2 ABC: + dretime ABC: + retime ABC: + strash ABC: + dch -f ABC: + if ABC: + mfs2 ABC: + lutpack -S 1 ABC: + dress ABC: Total number of equiv classes = 17. ABC: Participating nodes from both networks = 39. ABC: Participating nodes from the first network = 17. ( 68.00 % of nodes) ABC: Participating nodes from the second network = 22. ( 88.00 % of nodes) ABC: Node pairs (any polarity) = 17. ( 68.00 % of names can be moved) ABC: Node pairs (same polarity) = 16. ( 64.00 % of names can be moved) ABC: Total runtime = 0.00 sec ABC: + write_blif /output.blif 2.41.1.2. Re-integrating ABC results. ABC RESULTS: $lut cells: 48 ABC RESULTS: internal signals: 49 ABC RESULTS: input signals: 28 ABC RESULTS: output signals: 16 Removing temp directory. Removed 0 unused cells and 58 unused wires. 2.42. Executing TECHMAP pass (map to technology primitives). 2.42.1. Executing Verilog-2005 frontend: /usr/local/bin/../share/yosys/ice40/cells_map.v Parsing Verilog input from `/usr/local/bin/../share/yosys/ice40/cells_map.v' to AST representation. Generating RTLIL representation for module `\$_DFF_N_'. Generating RTLIL representation for module `\$_DFF_P_'. Generating RTLIL representation for module `\$_DFFE_NN_'. Generating RTLIL representation for module `\$_DFFE_PN_'. Generating RTLIL representation for module `\$_DFFE_NP_'. Generating RTLIL representation for module `\$_DFFE_PP_'. Generating RTLIL representation for module `\$_DFF_NN0_'. Generating RTLIL representation for module `\$_DFF_NN1_'. Generating RTLIL representation for module `\$_DFF_PN0_'. Generating RTLIL representation for module `\$_DFF_PN1_'. Generating RTLIL representation for module `\$_DFF_NP0_'. Generating RTLIL representation for module `\$_DFF_NP1_'. Generating RTLIL representation for module `\$_DFF_PP0_'. Generating RTLIL representation for module `\$_DFF_PP1_'. Generating RTLIL representation for module `\$__DFFE_NN0'. Generating RTLIL representation for module `\$__DFFE_NN1'. Generating RTLIL representation for module `\$__DFFE_PN0'. Generating RTLIL representation for module `\$__DFFE_PN1'. Generating RTLIL representation for module `\$__DFFE_NP0'. Generating RTLIL representation for module `\$__DFFE_NP1'. Generating RTLIL representation for module `\$__DFFE_PP0'. Generating RTLIL representation for module `\$__DFFE_PP1'. Generating RTLIL representation for module `\$lut'. Successfully finished Verilog frontend. 2.42.2. Continuing TECHMAP pass. Using template $paramod\$lut\WIDTH=3\LUT=8'11001010 for cells of type $lut. Using template $paramod\$lut\WIDTH=4\LUT=16'1000000000000000 for cells of type $lut. Using template $paramod\$lut\WIDTH=4\LUT=16'0000000000000001 for cells of type $lut. Using template $paramod\$lut\WIDTH=2\LUT=4'1000 for cells of type $lut. Using template $paramod\$lut\WIDTH=3\LUT=8'00010000 for cells of type $lut. Using template $paramod\$lut\WIDTH=3\LUT=8'11110100 for cells of type $lut. Using template $paramod\$lut\WIDTH=3\LUT=8'10001111 for cells of type $lut. Using template $paramod\$lut\WIDTH=3\LUT=8'01110000 for cells of type $lut. Using template $paramod\$lut\WIDTH=1\LUT=2'01 for cells of type $lut. Using template $paramod\$lut\WIDTH=2\LUT=4'1011 for cells of type $lut. Using template $paramod\$lut\WIDTH=2\LUT=4'1110 for cells of type $lut. Using template $paramod\$lut\WIDTH=4\LUT=16'1101111111000000 for cells of type $lut. Using template $paramod\$lut\WIDTH=4\LUT=16'1111111101110000 for cells of type $lut. No more expansions possible. Removed 0 unused cells and 48 unused wires. 2.43. Executing HIERARCHY pass (managing design hierarchy). 2.43.1. Analyzing design hierarchy.. Top module: \top 2.43.2. Analyzing design hierarchy.. Top module: \top Removed 0 unused modules. 2.44. Printing statistics. === top === Number of wires: 48 Number of wire bits: 179 Number of public wires: 17 Number of public wire bits: 56 Number of memories: 0 Number of memory bits: 0 Number of processes: 0 Number of cells: 161 SB_CARRY 49 SB_DFF 15 SB_DFFE 4 SB_DFFESR 15 SB_DFFSR 15 SB_LUT4 63 2.45. Executing CHECK pass (checking for obvious problems). checking module top.. found and reported 0 problems. 2.46. Executing BLIF backend. End of script. Logfile hash: 3456974dab CPU: user 0.78s system 0.05s, MEM: 56.64 MB total, 48.09 MB resident Yosys 0.8+ (git sha1 UNKNOWN, c++ 8.3 -O2 -fno-strict-aliasing -fPIC -Os) Time spent: 41% 10x read_verilog (0 sec), 11% 19x opt_clean (0 sec), ... arachne-pnr -d 1k -o example.asc -p ice40hx1k-evb.pcf example.blif -P vq100 seed: 1 device: 1k read_chipdb +/share/arachne-pnr/chipdb-1k.bin... supported packages: cb121, cb132, cb81, cm121, cm36, cm49, cm81, qn84, swg16tr, tq144, vq100 read_blif example.blif... prune... read_pcf ice40hx1k-evb.pcf... instantiate_io... pack... After packing: IOs 5 / 72 GBs 0 / 8 GB_IOs 0 / 8 LCs 88 / 1280 DFF 16 CARRY 20 CARRY, DFF 33 DFF PASS 3 CARRY PASS 6 BRAMs 0 / 16 WARMBOOTs 0 / 1 PLLs 0 / 0 place_constraints... promote_globals... promoted clk_24KHz, 38 / 38 promoted $abc$797$auto$dff2dffe.cc:158:make_patterns_logic$689, 17 / 18 promoted $0\LED1_m1_r[0:0], 16 / 16 promoted $abc$797$auto$dff2dffe.cc:158:make_patterns_logic$547, 13 / 13 promoted CLK$2, 12 / 12 promoted 5 nets 2 sr/we 1 cen/wclke 2 clk 5 globals 2 sr/we 1 cen/wclke 2 clk realize_constants... realized 1 place... initial wire length = 578 at iteration #50: temp = 6.3792, wire length = 367 at iteration #100: temp = 2.66727, wire length = 240 at iteration #150: temp = 0.542453, wire length = 145 final wire length = 117 After placement: PIOs 8 / 72 PLBs 23 / 160 BRAMs 0 / 16 place time 0.22s route... pass 1, 0 shared. After routing: span_4 37 / 6944 span_12 11 / 1440 route time 0.08s write_txt example.asc... icetime -d hx1k -mtr example.rpt example.asc icepack example.asc example.bin // Reading input .asc file.. // Reading 1k chipdb file.. // Creating timing netlist.. // Timing estimate: 7.47 ns (133.85 MHz) rm example.blif example.asc gmake[1]: Leaving directory '/construction/devel/lattice-ice40-examples-hx1k/iCE40HX1K-EVB-69df5a7fc2daa8f00a984426b721499f6df22492/demo/ice40hx1k-evb' /usr/bin/env XDG_DATA_HOME=/construction/devel/lattice-ice40-examples-hx1k XDG_CONFIG_HOME=/construction/devel/lattice-ice40-examples-hx1k HOME=/construction/devel/lattice-ice40-examples-hx1k TMPDIR="/tmp" PATH=/construction/devel/lattice-ice40-examples-hx1k/.bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin NO_PIE=yes MK_DEBUG_FILES=no MK_KERNEL_SYMBOLS=no SHELL=/bin/sh NO_LINT=YES CCVER=gcc80 PREFIX=/usr/local LOCALBASE=/usr/local NOPROFILE=1 CC="cc" CFLAGS="-pipe -O2 -fno-strict-aliasing " CPP="cpp" CPPFLAGS="" LDFLAGS=" " LIBS="" CXX="c++" CXXFLAGS=" -pipe -O2 -fno-strict-aliasing " MANPREFIX="/usr/local" BSD_INSTALL_PROGRAM="install -s -m 555" BSD_INSTALL_LIB="install -s -m 0644" BSD_INSTALL_SCRIPT="install -m 555" BSD_INSTALL_DATA="install -m 0644" BSD_INSTALL_MAN="install -m 444" gmake -f Makefile -j5 -C /construction/devel/lattice-ice40-examples-hx1k/iCE40HX1K-EVB-69df5a7fc2daa8f00a984426b721499f6df22492/demo/ice40-io-video gmake[1]: Entering directory '/construction/devel/lattice-ice40-examples-hx1k/iCE40HX1K-EVB-69df5a7fc2daa8f00a984426b721499f6df22492/demo/ice40-io-video' gmake[1]: Nothing to be done for 'all'. gmake[1]: Leaving directory '/construction/devel/lattice-ice40-examples-hx1k/iCE40HX1K-EVB-69df5a7fc2daa8f00a984426b721499f6df22492/demo/ice40-io-video' -------------------------------------------------------------------------------- -- Phase: run-depends -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -- Phase: stage -------------------------------------------------------------------------------- ===> Staging for lattice-ice40-examples-hx1k-g20180310 ===> Generating temporary packing list install -m 0644 /construction/devel/lattice-ice40-examples-hx1k/iCE40HX1K-EVB-69df5a7fc2daa8f00a984426b721499f6df22492/demo/ice40hx1k-evb/example.v /construction/devel/lattice-ice40-examples-hx1k/stage/usr/local/share/examples/lattice-ice40-olimex/ice40hx1k-blinky.v install -m 0644 /construction/devel/lattice-ice40-examples-hx1k/iCE40HX1K-EVB-69df5a7fc2daa8f00a984426b721499f6df22492/demo/ice40hx1k-evb/example.rpt /construction/devel/lattice-ice40-examples-hx1k/stage/usr/local/share/examples/lattice-ice40-olimex/ice40hx1k-blinky.rpt install -m 0644 /construction/devel/lattice-ice40-examples-hx1k/iCE40HX1K-EVB-69df5a7fc2daa8f00a984426b721499f6df22492/demo/ice40hx1k-evb/example.bin /construction/devel/lattice-ice40-examples-hx1k/stage/usr/local/share/examples/lattice-ice40-olimex/ice40hx1k-blinky.bin install -m 0644 /construction/devel/lattice-ice40-examples-hx1k/iCE40HX1K-EVB-69df5a7fc2daa8f00a984426b721499f6df22492/demo/ice40-io-video/example.v /construction/devel/lattice-ice40-examples-hx1k/stage/usr/local/share/examples/lattice-ice40-olimex/ice40hx1k-vga-ps2.v install -m 0644 /construction/devel/lattice-ice40-examples-hx1k/iCE40HX1K-EVB-69df5a7fc2daa8f00a984426b721499f6df22492/demo/ice40-io-video/example.rpt /construction/devel/lattice-ice40-examples-hx1k/stage/usr/local/share/examples/lattice-ice40-olimex/ice40hx1k-vga-ps2.rpt install -m 0644 /construction/devel/lattice-ice40-examples-hx1k/iCE40HX1K-EVB-69df5a7fc2daa8f00a984426b721499f6df22492/demo/ice40-io-video/example.bin /construction/devel/lattice-ice40-examples-hx1k/stage/usr/local/share/examples/lattice-ice40-olimex/ice40hx1k-vga-ps2.bin ====> Compressing man pages (compress-man) -------------------------------------------------------------------------------- -- Phase: package -------------------------------------------------------------------------------- ===> Building package for lattice-ice40-examples-hx1k-g20180310 file sizes/checksums [9]: . done packing files [9]: . done packing directories [0]: . done -------------------------------------------------- -- Termination -------------------------------------------------- Finished: Tuesday, 23 JUL 2019 at 06:37:21 UTC Duration: 00:00:54