My FPGA notes

New 20Sep2019, more text 18Oct2019 in work

In this note I will try to find out what might be in FPGA design for me. And if so, how.

Fold handling

This blog note uses the Collapse-O-Matic WordPress plugin to handle text folding. In addition to expanding and closing them individually you may here:

Expand All
Collapse All
Crease
expanded

Intros

1st investigation: myStorm?

A year ago a friend told me don’t think about Xilinx because it is too expensive, and don’t use their vendor tools because they are bloated and slow. And he continued, have a look at myStorm Ice40 instead. I guess he simply stated that we were not in Xilinx’s audience. Finally, in comparison to Altera FPGAs the Ice40 is simpler and less powerful, but has the huge advantage of support by the opensource Yosys tool.

I therefore googled myStorm Ice40 and discovered a page that had been updated only 18 months ago (Feb2018) [2]. There, Folknology talks about BlackIce and the latest incarnation myStorm BlackIce II. I have no problem using old systems (old?), but I would still like something to be happening now, simply because I couldn’t do it alone.

(Altera is now a subsidiary of Intel.)

Aside: retrospective

Now? Didn’t I take an exam in these matters once? VLSI konstruksjon og hjelpemidler (in Norwegian) or rather VLSI design and tools. At NTH, 8 years after I graduated. (And after 40+ years in the industry I now, as retired, I am lucky enough to do some work for NTNU, here). The course was in 1983 (nineteen eighty three). Yes, the word VLSI had been invented then. The course book was Principles of CMOS VLSI Design: A Systems Perspective by N. Weste and Kamram Eshraghian [3] and we learned about Spice. Plus, I wrongly recollected: also some of the Verilog hardware description language (HDL). This was at a time when Autronica (the company I always worked for) had two VLSI chips designed for them. An address unit and a detector unit for their first addressable smoke detector (as addressable a first, even worldwide). These chips were used for many years. As some guys at work did the specification and testing, the VLSI implementation was outsourced to SINTEF in Trondheim. I also recollect. The original colour paper printing that they used to show to people resides by me, at least for the time being. At some moment in time the alternative was the dustbin. In the nineties I did some designs mostly using the ABEL HDL (where I had included test vectors) for some stray logic and bus connections for transputer and TMS320 DSP systems. In 1995 we updated an ABEL 1990 version into 6.1 at a price of 11000 NOK (around 1000 GBP) without blinking an eye. In all of the systems where we used this technology we were running occam, initially natively and later through the very functional SPOC occam-to-C translator. By not only digging in files, but also in leftover boxes I found the boards. I used (1) Atmel ATV750L Programmable Logic Device (PLD) with 20 sum terms, (2) AMDs PALCE22V10 Programmable Array Logic (PAL) with 10 macro cells and an AND array of 144*32 and (3) Lattice ispLSI2032E with 1000 PLD gates – with more than one on each board. They weren’t that big. I always liked it. But alas, that was all. The years passed and I did other things, mostly concurrent SW and schedulers. And nobody else at work did any VLSI, FPGA or PAL designs.

But doing FPGA has always been a dream. Plus, some time getting a flavour of Verilog. Even getting a flavour my now down-the-line Xilinx and ALTERA – to me like remote stars since the early eighties.

2nd investigation: BlackIce Mx?

The myStorm page’s 18 months ageing all of a sudden was less of a problem when I discovered (but I can’t trace how) the myStorm IceCore board at GitHub [5] – also by Folknology. Github contains the IceCore Ice40 HX based modular core. The silk printing on the IceCore board says Copyright 2018, Alan Wood, @folknology, www.mystorm.uk. A name revealed. But I can not find any trace of this board at the silk print’s url. At the Twitter account he points to Folknology Labs [4] (that also mentions Folknology Club) – where the About takes me to a Tindie store that seems to be active now [6]. The BlackIce Mx is sold there, with the text myStorm BlackIce Mx is our 5th generation FPGA development board. In [10] I read that BlackIce Mx composition is based around a carrier and Core module, the carrier in this case is MixMod based and the initial bundled core is the new IceCore (The fastest Ice40 – HX). The silk printing on the BlackIce Mx board simply says Copyright 2018, Alan Wood.

Maybe I should buy a BlackIce Mx on the Tindie store?

3rd investigation: inside

I think it’s the Tindie store that has the best background info. By visiting several of the pages there I can read the very interesting story of how Al Wood et al even have been in China to lead the myStorm project for production ready boards. Impressing. Impressing also: the open source HW.

Since I am not in scope to understand the number of PIOs and logic cells, and since I haven’t even figured out what to make, I will concentrate on some other matters. Listing up:

  • myStorm BlackIce Mx [10]
    • STM32F730 216MHz, 256KB Ram, 64KB Flash =
      Arm® Cortex®-M7 core (with floating point unit) [8]
    • ICE40HX4K FPGA 144 pins [9]

At first I mistook this for a ESP32 processor since I saw the 32 in there and did not think that any Arm chip naming included that. But no, this is an Arm proper. But I have seen both 200 and 216 MHz mentioned, not that it matters to me (right now?).

4th investigation: tool on macOS?

Can I run the development tool on my Mac? I am in the process of selling my two USB scopes because the Mac support was lousy. I don’t want to be trapped again.

From [5]: As makers, we fell in love with IceStorm opensource Verilog toolchain back in 2015 and wanted to create a best of class independent opensource hardware development board to fully use the IceStorm FPGA toolkit including Clifford Wolf’s amazing YOSYS [7]

Now, the IceCore getting started page [12] shows how this development system may be installed on Macs. It is so updated that it even writes Installation prerequisites for macOS. OS X changed to macOS with Sierra (10.12) in 2016. This makes me somewhat relieved, even if a MyStorm page from 2018 did not..

I am running macOS High Sierra (10.13.6), thus being one revision behind (Mojave 10.14, but Catalina 10.15 is just around the corner as of 29Sep2019).

Here is what I need to complete, according to [12]. The rather long logs are folded. I have removed some trite lists, see Teig: LIST REMOVED – but Expand All folds to see them:

  1. Install Homebrew

    Homebrew install log

    bash-3.2$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
    ==> This script will install:
    /usr/local/bin/brew
    /usr/local/share/doc/homebrew
    /usr/local/share/man/man1/brew.1
    /usr/local/share/zsh/site-functions/_brew
    /usr/local/etc/bash_completion.d/brew
    /usr/local/Homebrew
    ==> The following existing directories will be made writable by user only:
    /usr/local/share/zsh
    /usr/local/share/zsh/site-functions
    ==> The following new directories will be created:
    /usr/local/sbin
    /usr/local/opt
    /usr/local/var/homebrew/linked
    /usr/local/Cellar
    /usr/local/Frameworks
    ==> The Xcode Command Line Tools will be installed.
    
    Press RETURN to continue or any other key to abort
    ==> /usr/bin/sudo /bin/chmod u+rwx /usr/local/share/zsh /usr/local/share/zsh/site-functions
    Password:
    ==> /usr/bin/sudo /bin/chmod 755 /usr/local/share/zsh /usr/local/share/zsh/site-functions
    ==> /usr/bin/sudo /bin/mkdir -p /usr/local/sbin /usr/local/opt /usr/local/var/homebrew/linked /usr/local/Cellar /usr/local/Frameworks
    ==> /usr/bin/sudo /bin/chmod g+rwx /usr/local/sbin /usr/local/opt /usr/local/var/homebrew/linked /usr/local/Cellar /usr/local/Frameworks
    ==> /usr/bin/sudo /bin/chmod 755 /usr/local/share/zsh /usr/local/share/zsh/site-functions
    ==> /usr/bin/sudo /usr/sbin/chown teig /usr/local/sbin /usr/local/opt /usr/local/var/homebrew/linked /usr/local/Cellar /usr/local/Frameworks
    ==> /usr/bin/sudo /usr/bin/chgrp admin /usr/local/sbin /usr/local/opt /usr/local/var/homebrew/linked /usr/local/Cellar /usr/local/Frameworks
    ==> /usr/bin/sudo /bin/mkdir -p /Users/teig/Library/Caches/Homebrew
    ==> /usr/bin/sudo /bin/chmod g+rwx /Users/teig/Library/Caches/Homebrew
    ==> /usr/bin/sudo /usr/sbin/chown teig /Users/teig/Library/Caches/Homebrew
    ==> Searching online for the Command Line Tools
    ==> /usr/bin/sudo /usr/bin/touch /tmp/.com.apple.dt.CommandLineTools.installondemand.in-progress
    ==> Installing Command Line Tools (macOS High Sierra version 10.13) for Xcode-10.1
    ==> /usr/bin/sudo /usr/sbin/softwareupdate -i Command\ Line\ Tools\ (macOS\ High\ Sierra\ version\ 10.13)\ for\ Xcode-10.1
    Software Update Tool
    
    
    Downloading Command Line Tools (macOS High Sierra version 10.13) for Xcode
    Downloaded Command Line Tools (macOS High Sierra version 10.13) for Xcode
    Installing Command Line Tools (macOS High Sierra version 10.13) for Xcode
    Done with Command Line Tools (macOS High Sierra version 10.13) for Xcode
    Done.
    ==> /usr/bin/sudo /bin/rm -f /tmp/.com.apple.dt.CommandLineTools.installondemand.in-progress
    ==> /usr/bin/sudo /usr/bin/xcode-select --switch /Library/Developer/CommandLineTools
    ==> Downloading and installing Homebrew...
    remote: Enumerating objects: 61806, done.
    remote: Counting objects: 100% (58033/58033), done.
    remote: Compressing objects: 100% (13895/13895), done.
    remote: Total 57219 (delta 43325), reused 55805 (delta 42127), pack-reused 0
    Receiving objects: 100% (57219/57219), 11.68 MiB | 7.23 MiB/s, done.
    Resolving deltas: 100% (43325/43325), completed with 456 local objects.
    From https://github.com/Homebrew/brew
       ea5aff8..db18713  master     -> origin/master
    Teig: LIST REMOVED
    HEAD is now at db18713 Merge pull request #6496 from Homebrew/dependabot/bundler/docs/rake-13.0.0
    ==> Homebrew is run entirely by unpaid volunteers. Please consider donating:
      https://github.com/Homebrew/brew#donations
    Updated 2 taps (homebrew/core and caskroom/cask).
    
    ==> New Formulae
    Teig: LIST REMOVED
    ==> Updated Formulae
    Teig: LIST REMOVED
    ==> Renamed Formulae
    Teig: LIST REMOVED
    ==> Deleted Formulae
    Teig: LIST REMOVED
    ==> Installation successful!
    
    ==> Homebrew has enabled anonymous aggregate formulae and cask analytics.
    Read the analytics documentation (and how to opt-out) here:
      https://docs.brew.sh/Analytics
    
    ==> Homebrew is run entirely by unpaid volunteers. Please consider donating:
      https://github.com/Homebrew/brew#donations
    ==> Next steps:
    - Run `brew help` to get started
    - Further documentation: 
        https://docs.brew.sh
    bash-3.2$ 
    
  2. Enable XCODE command line tools

    Enable XCODE command line tools log

    bash-3.2$ xcode-select --install
    xcode-select: error: command line tools are already installed, use "Software Update" to install updates
  3. Download libftdi0, python3 and gawk

    Download libftdi0, python3 and gawk tools install log

    
    bash-3.2$ brew install libftdi0 python3 gawk pkg-config libffi bison mercurial
    Updating Homebrew...
    ==> Auto-updated Homebrew!
    Updated 2 taps (homebrew/core and caskroom/cask).
    No changes to formulae.
    
    ==> Installing dependencies for libftdi0: libusb and libusb-compat
    ==> Installing libftdi0 dependency: libusb
    ==> Downloading https://homebrew.bintray.com/bottles/libusb-1.0.23.high_sierra.bottle.tar.gz
    ######################################################################## 100.0%
    ==> Pouring libusb-1.0.23.high_sierra.bottle.tar.gz
    🍺  /usr/local/Cellar/libusb/1.0.23: 29 files, 524.2KB
    ==> Installing libftdi0 dependency: libusb-compat
    ==> Downloading https://homebrew.bintray.com/bottles/libusb-compat-0.1.5_1.high_sierra.bottle.tar.gz
    ######################################################################## 100.0%
    ==> Pouring libusb-compat-0.1.5_1.high_sierra.bottle.tar.gz
    🍺  /usr/local/Cellar/libusb-compat/0.1.5_1: 14 files, 94.3KB
    ==> Installing libftdi0
    ==> Downloading https://homebrew.bintray.com/bottles/libftdi0-0.20.high_sierra.bottle.2.tar.gz
    ######################################################################## 100.0%
    ==> Pouring libftdi0-0.20.high_sierra.bottle.2.tar.gz
    🍺  /usr/local/Cellar/libftdi0/0.20: 20 files, 190.6KB
    ==> Installing dependencies for python: gdbm, openssl@1.1, readline, sqlite and xz
    ==> Installing python dependency: gdbm
    ==> Downloading https://homebrew.bintray.com/bottles/gdbm-1.18.1.high_sierra.bottle.1.tar.gz
    ######################################################################## 100.0%
    ==> Pouring gdbm-1.18.1.high_sierra.bottle.1.tar.gz
    🍺  /usr/local/Cellar/gdbm/1.18.1: 20 files, 590.8KB
    ==> Installing python dependency: openssl@1.1
    ==> Downloading https://homebrew.bintray.com/bottles/openssl@1.1-1.1.1d.high_sierra.bottle.tar.gz
    ==> Downloading from https://akamai.bintray.com/c7/c7681ee40cb3680cd9fafcdb092bde153b9d4903907d67858baa5f19025f927b?__gda__=exp=1569752410~hmac=dd7533c0455c1280de71917b1e443f56c9db686c777ab46e30c83154
    ######################################################################## 100.0%
    ==> Pouring openssl@1.1-1.1.1d.high_sierra.bottle.tar.gz
    ==> Caveats
    A CA file has been bootstrapped using certificates from the system
    keychain. To add additional certificates, place .pem files in
      /usr/local/etc/openssl@1.1/certs
    
    and run
      /usr/local/opt/openssl@1.1/bin/c_rehash
    
    openssl@1.1 is keg-only, which means it was not symlinked into /usr/local,
    because openssl/libressl is provided by macOS so don't link an incompatible version.
    
    If you need to have openssl@1.1 first in your PATH run:
      echo 'export PATH="/usr/local/opt/openssl@1.1/bin:$PATH"' >> ~/.bash_profile
    
    For compilers to find openssl@1.1 you may need to set:
      export LDFLAGS="-L/usr/local/opt/openssl@1.1/lib"
      export CPPFLAGS="-I/usr/local/opt/openssl@1.1/include"
    
    ==> Summary
    🍺  /usr/local/Cellar/openssl@1.1/1.1.1d: 7,983 files, 17.9MB
    ==> Installing python dependency: readline
    ==> Downloading https://homebrew.bintray.com/bottles/readline-8.0.1.high_sierra.bottle.tar.gz
    ==> Downloading from https://akamai.bintray.com/ae/ae341a036139a92a47396aabc773ffcf40a17fc388aaadf0147f688c72ece987?__gda__=exp=1569752420~hmac=ddf44714feeb24acad7ce04afd29b13704135670e08d091abf01b6b0
    ######################################################################## 100.0%
    ==> Pouring readline-8.0.1.high_sierra.bottle.tar.gz
    ==> Caveats
    readline is keg-only, which means it was not symlinked into /usr/local,
    because macOS provides the BSD libedit library, which shadows libreadline.
    In order to prevent conflicts when programs look for libreadline we are
    defaulting this GNU Readline installation to keg-only.
    
    For compilers to find readline you may need to set:
      export LDFLAGS="-L/usr/local/opt/readline/lib"
      export CPPFLAGS="-I/usr/local/opt/readline/include"
    
    ==> Summary
    🍺  /usr/local/Cellar/readline/8.0.1: 48 files, 1.5MB
    ==> Installing python dependency: sqlite
    ==> Downloading https://homebrew.bintray.com/bottles/sqlite-3.29.0.high_sierra.bottle.tar.gz
    ==> Downloading from https://akamai.bintray.com/dc/dcdc548263b6a8611d0e3532da5e216399cbd51e04277bb1ec9130fbb1125994?__gda__=exp=1569752422~hmac=b927f15f90de07fd4cf7b764984163160951b8f404a2ae97f70b4612
    ######################################################################## 100.0%
    ==> Pouring sqlite-3.29.0.high_sierra.bottle.tar.gz
    ==> Caveats
    sqlite is keg-only, which means it was not symlinked into /usr/local,
    because macOS provides an older sqlite3.
    
    If you need to have sqlite first in your PATH run:
      echo 'export PATH="/usr/local/opt/sqlite/bin:$PATH"' >> ~/.bash_profile
    
    For compilers to find sqlite you may need to set:
      export LDFLAGS="-L/usr/local/opt/sqlite/lib"
      export CPPFLAGS="-I/usr/local/opt/sqlite/include"
    
    ==> Summary
    🍺  /usr/local/Cellar/sqlite/3.29.0: 11 files, 3.9MB
    ==> Installing python dependency: xz
    ==> Downloading https://homebrew.bintray.com/bottles/xz-5.2.4.high_sierra.bottle.tar.gz
    ==> Downloading from https://akamai.bintray.com/e7/e7be50f4ee00e35887f3957263334eb3baba59e8c061919060f9259351be6880?__gda__=exp=1569752424~hmac=aff96546f55eed6cb05aaa72aac56afa203a96d0aa6077168ebb72a7
    ######################################################################## 100.0%
    ==> Pouring xz-5.2.4.high_sierra.bottle.tar.gz
    🍺  /usr/local/Cellar/xz/5.2.4: 92 files, 1MB
    ==> Installing python
    ==> Downloading https://homebrew.bintray.com/bottles/python-3.7.4_1.high_sierra.bottle.tar.gz
    ==> Downloading from https://akamai.bintray.com/5e/5e8e399e1a2a00754bff73c7605ff381094f3346351d2a6ef4fc1c798e6ebe10?__gda__=exp=1569752426~hmac=71a3a00f3b0853f43f5b71ed56cc7105f71a8a2725ffda0fbc77585f
    ######################################################################## 100.0%
    ==> Pouring python-3.7.4_1.high_sierra.bottle.tar.gz
    ==> /usr/local/Cellar/python/3.7.4_1/bin/python3 -s setup.py --no-user-cfg install --force --verbose --install-scripts=/usr/local/Cellar/python/3.7.4_1/bin --install-lib=/usr/local/lib/python3.7/site-
    ==> /usr/local/Cellar/python/3.7.4_1/bin/python3 -s setup.py --no-user-cfg install --force --verbose --install-scripts=/usr/local/Cellar/python/3.7.4_1/bin --install-lib=/usr/local/lib/python3.7/site-
    ==> /usr/local/Cellar/python/3.7.4_1/bin/python3 -s setup.py --no-user-cfg install --force --verbose --install-scripts=/usr/local/Cellar/python/3.7.4_1/bin --install-lib=/usr/local/lib/python3.7/site-
    ==> Caveats
    Python has been installed as
      /usr/local/bin/python3
    
    Unversioned symlinks `python`, `python-config`, `pip` etc. pointing to
    `python3`, `python3-config`, `pip3` etc., respectively, have been installed into
      /usr/local/opt/python/libexec/bin
    
    If you need Homebrew's Python 2.7 run
      brew install python@2
    
    You can install Python packages with
      pip3 install <package>
    They will install into the site-package directory
      /usr/local/lib/python3.7/site-packages
    
    See: https://docs.brew.sh/Homebrew-and-Python
    ==> Summary
    🍺  /usr/local/Cellar/python/3.7.4_1: 3,865 files, 60MB
    ==> Installing dependencies for gawk: gettext, gmp and mpfr
    ==> Installing gawk dependency: gettext
    ==> Downloading https://homebrew.bintray.com/bottles/gettext-0.20.1.high_sierra.bottle.tar.gz
    ==> Downloading from https://akamai.bintray.com/10/10dd5c2b9c6613b5310f95931d7233a8b7947c541433fcc5891ce837c45595a0?__gda__=exp=1569752436~hmac=9afe0505236bbc2619f1b42520854755d95e4aacadaa7c13cc52fee7
    ######################################################################## 100.0%
    ==> Pouring gettext-0.20.1.high_sierra.bottle.tar.gz
    ==> Caveats
    gettext is keg-only, which means it was not symlinked into /usr/local,
    because macOS provides the BSD gettext library & some software gets confused if both are in the library path.
    
    If you need to have gettext first in your PATH run:
      echo 'export PATH="/usr/local/opt/gettext/bin:$PATH"' >> ~/.bash_profile
    
    For compilers to find gettext you may need to set:
      export LDFLAGS="-L/usr/local/opt/gettext/lib"
      export CPPFLAGS="-I/usr/local/opt/gettext/include"
    
    ==> Summary
    🍺  /usr/local/Cellar/gettext/0.20.1: 1,899 files, 18.6MB
    ==> Installing gawk dependency: gmp
    ==> Downloading https://homebrew.bintray.com/bottles/gmp-6.1.2_2.high_sierra.bottle.1.tar.gz
    ==> Downloading from https://akamai.bintray.com/a5/a536c51149806b73b2e1178be94300832b6b151455006bc7f2a32b9dc493c7a3?__gda__=exp=1569752441~hmac=27b43f421ba357869f45fb6f9295fdd99f6a59ca451c9bf8d38545ed
    ######################################################################## 100.0%
    ==> Pouring gmp-6.1.2_2.high_sierra.bottle.1.tar.gz
    🍺  /usr/local/Cellar/gmp/6.1.2_2: 18 files, 3.1MB
    ==> Installing gawk dependency: mpfr
    ==> Downloading https://homebrew.bintray.com/bottles/mpfr-4.0.2.high_sierra.bottle.tar.gz
    ==> Downloading from https://akamai.bintray.com/bf/bf5d21e7e8e549f7e8d07791a90f44a487f4c7151897b7c64d02928b5bd73520?__gda__=exp=1569752442~hmac=21782591b91a3c3cd718dcab607403d45acbd1af533707262758f2d1
    ######################################################################## 100.0%
    ==> Pouring mpfr-4.0.2.high_sierra.bottle.tar.gz
    🍺  /usr/local/Cellar/mpfr/4.0.2: 28 files, 4.7MB
    ==> Installing gawk
    ==> Downloading https://homebrew.bintray.com/bottles/gawk-5.0.1.high_sierra.bottle.tar.gz
    ==> Downloading from https://akamai.bintray.com/9a/9aaa755a220119fabb40dbb4b0edecabd976d34f0ac5d4f1277eb0f0fc8e4933?__gda__=exp=1569752444~hmac=c13ebeed7708cf0ceb9c6641e2cdfe847273e86f66f1f79091490432
    ######################################################################## 100.0%
    ==> Pouring gawk-5.0.1.high_sierra.bottle.tar.gz
    🍺  /usr/local/Cellar/gawk/5.0.1: 90 files, 4.7MB
    ==> Downloading https://homebrew.bintray.com/bottles/pkg-config-0.29.2.high_sierra.bottle.1.tar.gz
    ==> Downloading from https://akamai.bintray.com/b6/b6c0b7344ea89558f5d98711625e00414dc2be53af23c9ee8fcb07554f1736ac?__gda__=exp=1569752448~hmac=c02a5d8508669cfe05a55a1b3511f02c2d3268b77aa8375a6e3f8e7c
    ######################################################################## 100.0%
    ==> Pouring pkg-config-0.29.2.high_sierra.bottle.1.tar.gz
    🍺  /usr/local/Cellar/pkg-config/0.29.2: 11 files, 627.1KB
    ==> Downloading https://homebrew.bintray.com/bottles/libffi-3.2.1.high_sierra.bottle.tar.gz
    ######################################################################## 100.0%
    ==> Pouring libffi-3.2.1.high_sierra.bottle.tar.gz
    ==> Caveats
    libffi is keg-only, which means it was not symlinked into /usr/local,
    because some formulae require a newer version of libffi.
    
    For compilers to find libffi you may need to set:
      export LDFLAGS="-L/usr/local/opt/libffi/lib"
    
    For pkg-config to find libffi you may need to set:
      export PKG_CONFIG_PATH="/usr/local/opt/libffi/lib/pkgconfig"
    
    ==> Summary
    🍺  /usr/local/Cellar/libffi/3.2.1: 16 files, 297.0KB
    ==> Downloading https://homebrew.bintray.com/bottles/bison-3.4.2.high_sierra.bottle.tar.gz
    ==> Downloading from https://akamai.bintray.com/30/30f01dbe68208544cf61eb26895facc6c3ffd788a97097286261ebfab4736112?__gda__=exp=1569752451~hmac=6067b4262a8131a76e02d99fb382530ffdf63ea9ae42fb8c9f54c17a
    ######################################################################## 100.0%
    ==> Pouring bison-3.4.2.high_sierra.bottle.tar.gz
    ==> Caveats
    bison is keg-only, which means it was not symlinked into /usr/local,
    because some formulae require a newer version of bison.
    
    If you need to have bison first in your PATH run:
      echo 'export PATH="/usr/local/opt/bison/bin:$PATH"' >> ~/.bash_profile
    
    For compilers to find bison you may need to set:
      export LDFLAGS="-L/usr/local/opt/bison/lib"
    
    ==> Summary
    🍺  /usr/local/Cellar/bison/3.4.2: 85 files, 2.6MB
    ==> Installing dependencies for mercurial: python@2
    ==> Installing mercurial dependency: python@2
    ==> Downloading https://homebrew.bintray.com/bottles/python@2-2.7.16_1.high_sierra.bottle.tar.gz
    ==> Downloading from https://akamai.bintray.com/a2/a217d207fe021caf3244ffc79a41026f469ff6299d8a7210bb241fc121421584?__gda__=exp=1569752454~hmac=7146438acd693d7d7c3aabb06737cdd5bce38f9921f31036b156fb9f
    ######################################################################## 100.0%
    ==> Pouring python@2-2.7.16_1.high_sierra.bottle.tar.gz
    ==> /usr/local/Cellar/python@2/2.7.16_1/bin/python -s setup.py --no-user-cfg install --force --verbose --single-version-externally-managed --record=installed.txt --install-scripts=/usr/local/Cellar/py
    ==> /usr/local/Cellar/python@2/2.7.16_1/bin/python -s setup.py --no-user-cfg install --force --verbose --single-version-externally-managed --record=installed.txt --install-scripts=/usr/local/Cellar/py
    ==> /usr/local/Cellar/python@2/2.7.16_1/bin/python -s setup.py --no-user-cfg install --force --verbose --single-version-externally-managed --record=installed.txt --install-scripts=/usr/local/Cellar/py
    ==> Caveats
    Pip and setuptools have been installed. To update them
      pip install --upgrade pip setuptools
    
    You can install Python packages with
      pip install <package>
    
    They will install into the site-package directory
      /usr/local/lib/python2.7/site-packages
    
    See: https://docs.brew.sh/Homebrew-and-Python
    ==> Summary
    🍺  /usr/local/Cellar/python@2/2.7.16_1: 3,705 files, 50.7MB
    ==> Installing mercurial
    ==> Downloading https://homebrew.bintray.com/bottles/mercurial-5.1.1_2.high_sierra.bottle.tar.gz
    ==> Downloading from https://akamai.bintray.com/12/127344d5ead0a8fbd4cabbfafd7fca4dd4f85f45f260b76e500538c7fd0d05bc?__gda__=exp=1569752463~hmac=b6aad34336c068d4f88c8538191b7c2615b7976cb046ad3f1478b171
    ######################################################################## 100.0%
    ==> Pouring mercurial-5.1.1_2.high_sierra.bottle.tar.gz
    ==> Caveats
    Bash completion has been installed to:
      /usr/local/etc/bash_completion.d
    
    zsh completions have been installed to:
      /usr/local/share/zsh/site-functions
    ==> Summary
    🍺  /usr/local/Cellar/mercurial/5.1.1_2: 643 files, 10.6MB
    ==> Caveats
    ==> openssl@1.1
    A CA file has been bootstrapped using certificates from the system
    keychain. To add additional certificates, place .pem files in
      /usr/local/etc/openssl@1.1/certs
    
    and run
      /usr/local/opt/openssl@1.1/bin/c_rehash
    
    openssl@1.1 is keg-only, which means it was not symlinked into /usr/local,
    because openssl/libressl is provided by macOS so don't link an incompatible version.
    
    If you need to have openssl@1.1 first in your PATH run:
      echo 'export PATH="/usr/local/opt/openssl@1.1/bin:$PATH"' >> ~/.bash_profile
    
    For compilers to find openssl@1.1 you may need to set:
      export LDFLAGS="-L/usr/local/opt/openssl@1.1/lib"
      export CPPFLAGS="-I/usr/local/opt/openssl@1.1/include"
    
    For pkg-config to find openssl@1.1 you may need to set:
      export PKG_CONFIG_PATH="/usr/local/opt/openssl@1.1/lib/pkgconfig"
    
    ==> readline
    readline is keg-only, which means it was not symlinked into /usr/local,
    because macOS provides the BSD libedit library, which shadows libreadline.
    In order to prevent conflicts when programs look for libreadline we are
    defaulting this GNU Readline installation to keg-only.
    
    For compilers to find readline you may need to set:
      export LDFLAGS="-L/usr/local/opt/readline/lib"
      export CPPFLAGS="-I/usr/local/opt/readline/include"
    
    For pkg-config to find readline you may need to set:
      export PKG_CONFIG_PATH="/usr/local/opt/readline/lib/pkgconfig"
    
    ==> sqlite
    sqlite is keg-only, which means it was not symlinked into /usr/local,
    because macOS provides an older sqlite3.
    
    If you need to have sqlite first in your PATH run:
      echo 'export PATH="/usr/local/opt/sqlite/bin:$PATH"' >> ~/.bash_profile
    
    For compilers to find sqlite you may need to set:
      export LDFLAGS="-L/usr/local/opt/sqlite/lib"
      export CPPFLAGS="-I/usr/local/opt/sqlite/include"
    
    For pkg-config to find sqlite you may need to set:
      export PKG_CONFIG_PATH="/usr/local/opt/sqlite/lib/pkgconfig"
    
    ==> python
    Python has been installed as
      /usr/local/bin/python3
    
    Unversioned symlinks `python`, `python-config`, `pip` etc. pointing to
    `python3`, `python3-config`, `pip3` etc., respectively, have been installed into
      /usr/local/opt/python/libexec/bin
    
    If you need Homebrew's Python 2.7 run
      brew install python@2
    
    You can install Python packages with
      pip3 install <package>
    They will install into the site-package directory
      /usr/local/lib/python3.7/site-packages
    
    See: https://docs.brew.sh/Homebrew-and-Python
    ==> gettext
    gettext is keg-only, which means it was not symlinked into /usr/local,
    because macOS provides the BSD gettext library & some software gets confused if both are in the library path.
    
    If you need to have gettext first in your PATH run:
      echo 'export PATH="/usr/local/opt/gettext/bin:$PATH"' >> ~/.bash_profile
    
    For compilers to find gettext you may need to set:
      export LDFLAGS="-L/usr/local/opt/gettext/lib"
      export CPPFLAGS="-I/usr/local/opt/gettext/include"
    
    ==> libffi
    libffi is keg-only, which means it was not symlinked into /usr/local,
    because some formulae require a newer version of libffi.
    
    For compilers to find libffi you may need to set:
      export LDFLAGS="-L/usr/local/opt/libffi/lib"
    
    For pkg-config to find libffi you may need to set:
      export PKG_CONFIG_PATH="/usr/local/opt/libffi/lib/pkgconfig"
    
    ==> bison
    bison is keg-only, which means it was not symlinked into /usr/local,
    because some formulae require a newer version of bison.
    
    If you need to have bison first in your PATH run:
      echo 'export PATH="/usr/local/opt/bison/bin:$PATH"' >> ~/.bash_profile
    
    For compilers to find bison you may need to set:
      export LDFLAGS="-L/usr/local/opt/bison/lib"
    
    ==> python@2
    Pip and setuptools have been installed. To update them
      pip install --upgrade pip setuptools
    
    You can install Python packages with
      pip install <package>
    
    They will install into the site-package directory
      /usr/local/lib/python2.7/site-packages
    
    See: https://docs.brew.sh/Homebrew-and-Python
    ==> mercurial
    Bash completion has been installed to:
      /usr/local/etc/bash_completion.d
    
    zsh completions have been installed to:
      /usr/local/share/zsh/site-functions
    bash-3.2$ 
    
  4. Download and install IceStorm

    Download and install IceStorm install log

    
    OM11-kontor-2016:~ teig$ cd /Applications/IceStorm 
    OM11-kontor-2016:IceStorm teig$ ls
    OM11-kontor-2016:IceStorm teig$ git clone https://github.com/cliffordwolf/icestorm.git icestorm
    Cloning into 'icestorm'...
    remote: Enumerating objects: 126, done.
    remote: Counting objects: 100% (126/126), done.
    remote: Compressing objects: 100% (77/77), done.
    remote: Total 3714 (delta 57), reused 90 (delta 48), pack-reused 3588
    Receiving objects: 100% (3714/3714), 2.41 MiB | 3.48 MiB/s, done.
    Resolving deltas: 100% (2444/2444), done.
    Checking connectivity... done.
    OM11-kontor-2016:IceStorm teig$ cd icestorm
    OM11-kontor-2016:icestorm teig$ ls
    COPYING		Makefile	config.mk	examples	icebram		icefuzz		icepack		iceprog
    CodeOfConduct	README		docs		icebox		icecompr	icemulti	icepll		icetime
    OM11-kontor-2016:icestorm teig$ make -j8
    /Library/Developer/CommandLineTools/usr/bin/make -C icebox all
    /Library/Developer/CommandLineTools/usr/bin/make -C icepack all
    /Library/Developer/CommandLineTools/usr/bin/make -C icemulti all
    /Library/Developer/CommandLineTools/usr/bin/make -C icepll all
    /Library/Developer/CommandLineTools/usr/bin/make -C icebram all
    /Library/Developer/CommandLineTools/usr/bin/make -C icetime all
    c++ -MD -O2  -Wall -std=c++11 -I/usr/local/include   -c -o icepack.o icepack.cc
    python3 icebox_chipdb.py -3 > chipdb-384.new
    /Library/Developer/CommandLineTools/usr/bin/make -C iceprog all
    c++ -MD -O2  -Wall -std=c++11 -I/usr/local/include   -c -o icepll.o icepll.cc
    c++ -MD -O2  -Wall -std=c++11 -I/usr/local/include   -c -o icemulti.o icemulti.cc
    python3 icebox_chipdb.py > chipdb-1k.new
    c++ -MD -O2  -Wall -std=c++11 -I/usr/local/include   -c -o icebram.o icebram.cc
    c++ -MD -O2  -Wall -std=c++11 -I/usr/local/include -DPREFIX='"/usr/local"' -DCHIPDB_SUBDIR='"icebox"'   -c -o icetime.o icetime.cc
    cc -MD -O2  -Wall -std=c99 -I/usr/local/include -I/usr/local/Cellar/libftdi0/0.20/include   -c -o iceprog.o iceprog.c
    c++ -o icepll  icepll.o -lm -lstdc++
    cc -MD -O2  -Wall -std=c99 -I/usr/local/include -I/usr/local/Cellar/libftdi0/0.20/include   -c -o mpsse.o mpsse.c
    python3 icebox_chipdb.py -8 > chipdb-8k.new
    cc -o iceprog  iceprog.o mpsse.o -L/usr/local/lib -lftdi -lm -L/usr/local/Cellar/libftdi0/0.20/lib -lftdi -lusb
    c++ -MD -O2  -Wall -std=c++11 -I/usr/local/include -DPREFIX='"/usr/local"' -DCHIPDB_SUBDIR='"icebox"'   -c -o iceutil.o iceutil.cc
    python3 icebox_chipdb.py -5 > chipdb-5k.new
    c++ -o icemulti  icemulti.o -lm -lstdc++
    python3 timings.py lp384 > timings-lp384.cc
    python3 timings.py lp1k > timings-lp1k.cc
    python3 timings.py lp8k > timings-lp8k.cc
    python3 timings.py hx1k > timings-hx1k.cc
    python3 icebox_chipdb.py -4 > chipdb-lm4k.new
    c++ -o icebram  icebram.o -lm -lstdc++
    python3 timings.py hx8k > timings-hx8k.cc
    python3 icebox_chipdb.py -u > chipdb-u4k.new
    c++ -o icepack  icepack.o -lm -lstdc++
    ln -sf icepack iceunpack
    python3 timings.py up5k > timings-up5k.cc
    c++ -MD -O2  -Wall -std=c++11 -I/usr/local/include -DPREFIX='"/usr/local"' -DCHIPDB_SUBDIR='"icebox"'   -c -o timings-lp384.o timings-lp384.cc
    mv chipdb-384.new chipdb-384.txt
    c++ -MD -O2  -Wall -std=c++11 -I/usr/local/include -DPREFIX='"/usr/local"' -DCHIPDB_SUBDIR='"icebox"'   -c -o timings-lp1k.o timings-lp1k.cc
    c++ -MD -O2  -Wall -std=c++11 -I/usr/local/include -DPREFIX='"/usr/local"' -DCHIPDB_SUBDIR='"icebox"'   -c -o timings-lp8k.o timings-lp8k.cc
    c++ -MD -O2  -Wall -std=c++11 -I/usr/local/include -DPREFIX='"/usr/local"' -DCHIPDB_SUBDIR='"icebox"'   -c -o timings-hx1k.o timings-hx1k.cc
    c++ -MD -O2  -Wall -std=c++11 -I/usr/local/include -DPREFIX='"/usr/local"' -DCHIPDB_SUBDIR='"icebox"'   -c -o timings-hx8k.o timings-hx8k.cc
    c++ -MD -O2  -Wall -std=c++11 -I/usr/local/include -DPREFIX='"/usr/local"' -DCHIPDB_SUBDIR='"icebox"'   -c -o timings-up5k.o timings-up5k.cc
    mv chipdb-1k.new chipdb-1k.txt
    mv chipdb-lm4k.new chipdb-lm4k.txt
    mv chipdb-u4k.new chipdb-u4k.txt
    mv chipdb-5k.new chipdb-5k.txt
    mv chipdb-8k.new chipdb-8k.txt
    c++ -o icetime  icetime.o iceutil.o timings-lp384.o timings-lp1k.o timings-lp8k.o timings-hx1k.o timings-hx8k.o timings-up5k.o -lm -lstdc++
    rm timings-up5k.cc timings-lp8k.cc timings-hx8k.cc timings-lp1k.cc timings-hx1k.cc timings-lp384.cc
    OM11-kontor-2016:icestorm teig$ sudo make install
    Password:
    for dir in icebox icepack icemulti icepll icebram icetime iceprog; do \
    		/Library/Developer/CommandLineTools/usr/bin/make -C $dir install || exit; \
    	done
    mkdir -p /usr/local/share/icebox
    mkdir -p /usr/local/bin
    cp chipdb-384.txt    /usr/local/share/icebox/
    cp chipdb-1k.txt     /usr/local/share/icebox/
    cp chipdb-8k.txt     /usr/local/share/icebox/
    cp chipdb-5k.txt     /usr/local/share/icebox/
    cp chipdb-u4k.txt    /usr/local/share/icebox/
    cp chipdb-lm4k.txt   /usr/local/share/icebox/
    cp icebox.py         /usr/local/bin/icebox.py
    cp iceboxdb.py       /usr/local/bin/iceboxdb.py
    cp icebox_chipdb.py  /usr/local/bin/icebox_chipdb
    cp icebox_diff.py    /usr/local/bin/icebox_diff
    cp icebox_explain.py /usr/local/bin/icebox_explain
    cp icebox_asc2hlc.py /usr/local/bin/icebox_asc2hlc
    cp icebox_hlc2asc.py /usr/local/bin/icebox_hlc2asc
    cp icebox_colbuf.py  /usr/local/bin/icebox_colbuf
    cp icebox_html.py    /usr/local/bin/icebox_html
    cp icebox_maps.py    /usr/local/bin/icebox_maps
    cp icebox_vlog.py    /usr/local/bin/icebox_vlog
    cp icebox_stat.py    /usr/local/bin/icebox_stat
    mkdir -p /usr/local/bin
    cp icepack /usr/local/bin/icepack
    ln -sf icepack /usr/local/bin/iceunpack
    mkdir -p /usr/local/bin
    cp icemulti /usr/local/bin/icemulti
    mkdir -p /usr/local/bin
    cp icepll /usr/local/bin/icepll
    mkdir -p /usr/local/bin
    cp icebram /usr/local/bin/icebram
    python3 timings.py lp384 > timings-lp384.cc
    c++ -MD -O2  -Wall -std=c++11 -I/usr/local/include -DPREFIX='"/usr/local"' -DCHIPDB_SUBDIR='"icebox"'   -c -o timings-lp384.o timings-lp384.cc
    python3 timings.py lp1k > timings-lp1k.cc
    c++ -MD -O2  -Wall -std=c++11 -I/usr/local/include -DPREFIX='"/usr/local"' -DCHIPDB_SUBDIR='"icebox"'   -c -o timings-lp1k.o timings-lp1k.cc
    python3 timings.py lp8k > timings-lp8k.cc
    c++ -MD -O2  -Wall -std=c++11 -I/usr/local/include -DPREFIX='"/usr/local"' -DCHIPDB_SUBDIR='"icebox"'   -c -o timings-lp8k.o timings-lp8k.cc
    python3 timings.py hx1k > timings-hx1k.cc
    c++ -MD -O2  -Wall -std=c++11 -I/usr/local/include -DPREFIX='"/usr/local"' -DCHIPDB_SUBDIR='"icebox"'   -c -o timings-hx1k.o timings-hx1k.cc
    python3 timings.py hx8k > timings-hx8k.cc
    c++ -MD -O2  -Wall -std=c++11 -I/usr/local/include -DPREFIX='"/usr/local"' -DCHIPDB_SUBDIR='"icebox"'   -c -o timings-hx8k.o timings-hx8k.cc
    python3 timings.py up5k > timings-up5k.cc
    c++ -MD -O2  -Wall -std=c++11 -I/usr/local/include -DPREFIX='"/usr/local"' -DCHIPDB_SUBDIR='"icebox"'   -c -o timings-up5k.o timings-up5k.cc
    c++ -o icetime  icetime.o iceutil.o timings-lp384.o timings-lp1k.o timings-lp8k.o timings-hx1k.o timings-hx8k.o timings-up5k.o -lm -lstdc++
    mkdir -p /usr/local/bin
    mkdir -p /usr/local/share/icebox
    cp icetime /usr/local/bin/icetime
    cp ../icefuzz/timings_*.txt /usr/local/share/icebox/
    mkdir -p /usr/local/bin
    cp iceprog /usr/local/bin/iceprog
    OM11-kontor-2016:icestorm teig$ 
    
    
  5. Download and install Arachne-pnr
    Update 9Oct2019: I have learned that “for small projects, Arachne-pnr is fine, but it’s no longer under active development, and it doesn’t support more complicated things like multiple clock domains”. That’s why NextPNR is nice to have.

    Download and install Arachne-pnr install log

    I did this install twice since I forgot to start in the same directory as I started above. After this I deleted the /icestorm/arachne-pnr directory and ended up with /icestorm and /arachne-pnr in the same root:

    
    OM11-kontor-2016:IceStorm teig$ ls
    icestorm
    OM11-kontor-2016:IceStorm teig$ git clone https://github.com/cseed/arachne-pnr.git arachne-pnr
    Cloning into 'arachne-pnr'...
    remote: Enumerating objects: 8, done.
    remote: Counting objects: 100% (8/8), done.
    remote: Compressing objects: 100% (8/8), done.
    remote: Total 1965 (delta 2), reused 1 (delta 0), pack-reused 1957
    Receiving objects: 100% (1965/1965), 636.72 KiB | 0 bytes/s, done.
    Resolving deltas: 100% (1371/1371), done.
    Checking connectivity... done.
    OM11-kontor-2016:IceStorm teig$ cd arachne-pnr
    OM11-kontor-2016:arachne-pnr teig$ make -j8
    c++ -Isrc -std=c++11 -MD -O2 -Wall -Wshadow -Wsign-compare   -c -o src/arachne-pnr.o src/arachne-pnr.cc
    c++ -Isrc -std=c++11 -MD -O2 -Wall -Wshadow -Wsign-compare   -c -o src/netlist.o src/netlist.cc
    c++ -Isrc -std=c++11 -MD -O2 -Wall -Wshadow -Wsign-compare   -c -o src/blif.o src/blif.cc
    c++ -Isrc -std=c++11 -MD -O2 -Wall -Wshadow -Wsign-compare   -c -o src/pack.o src/pack.cc
    c++ -Isrc -std=c++11 -MD -O2 -Wall -Wshadow -Wsign-compare   -c -o src/place.o src/place.cc
    c++ -Isrc -std=c++11 -MD -O2 -Wall -Wshadow -Wsign-compare   -c -o src/util.o src/util.cc
    c++ -Isrc -std=c++11 -MD -O2 -Wall -Wshadow -Wsign-compare   -c -o src/io.o src/io.cc
    c++ -Isrc -std=c++11 -MD -O2 -Wall -Wshadow -Wsign-compare   -c -o src/route.o src/route.cc
    c++ -Isrc -std=c++11 -MD -O2 -Wall -Wshadow -Wsign-compare   -c -o src/chipdb.o src/chipdb.cc
    c++ -Isrc -std=c++11 -MD -O2 -Wall -Wshadow -Wsign-compare   -c -o src/location.o src/location.cc
    c++ -Isrc -std=c++11 -MD -O2 -Wall -Wshadow -Wsign-compare   -c -o src/configuration.o src/configuration.cc
    c++ -Isrc -std=c++11 -MD -O2 -Wall -Wshadow -Wsign-compare   -c -o src/line_parser.o src/line_parser.cc
    c++ -Isrc -std=c++11 -MD -O2 -Wall -Wshadow -Wsign-compare   -c -o src/pcf.o src/pcf.cc
    c++ -Isrc -std=c++11 -MD -O2 -Wall -Wshadow -Wsign-compare   -c -o src/global.o src/global.cc
    c++ -Isrc -std=c++11 -MD -O2 -Wall -Wshadow -Wsign-compare   -c -o src/constant.o src/constant.cc
    c++ -Isrc -std=c++11 -MD -O2 -Wall -Wshadow -Wsign-compare   -c -o src/designstate.o src/designstate.cc
    echo "const char *version_str = \"arachne-pnr 0.1+328+ 0 (git sha1 c40fb22, c++ `c++ --version | tr ' ()' '\n' | grep '^[0-9]' | head -n1` -O2)\";" > src/version_33323.cc
    c++ -Isrc -std=c++11 -MD -O2 -Wall -Wshadow -Wsign-compare   -c -o src/version_33323.o src/version_33323.cc
    c++ -Isrc -std=c++11 -MD -O2 -Wall -Wshadow -Wsign-compare  -o bin/arachne-pnr src/arachne-pnr.o src/netlist.o src/blif.o src/pack.o src/place.o src/util.o src/io.o src/route.o src/chipdb.o src/location.o src/configuration.o src/line_parser.o src/pcf.o src/global.o src/constant.o src/designstate.o src/version_33323.o -lm
    cp bin/arachne-pnr bin/arachne-pnr-host
    mkdir -p share/arachne-pnr
    mkdir -p share/arachne-pnr
    mkdir -p share/arachne-pnr
    mkdir -p share/arachne-pnr
    ./bin/arachne-pnr-host -d 384 -c /usr/local/share/icebox/chipdb-384.txt --write-binary-chipdb share/arachne-pnr/chipdb-384.bin
    ./bin/arachne-pnr-host -d 8k -c /usr/local/share/icebox/chipdb-8k.txt --write-binary-chipdb share/arachne-pnr/chipdb-8k.bin
    ./bin/arachne-pnr-host -d 8k -c /usr/local/share/icebox/chipdb-5k.txt --write-binary-chipdb share/arachne-pnr/chipdb-5k.bin
    seed: 1
    device: 384
    read_chipdb /usr/local/share/icebox/chipdb-384.txt...
    ./bin/arachne-pnr-host -d 1k -c /usr/local/share/icebox/chipdb-1k.txt --write-binary-chipdb share/arachne-pnr/chipdb-1k.bin
    seed: 1
    device: 8k
    read_chipdb /usr/local/share/icebox/chipdb-8k.txt...
    seed: 1
    mkdir -p share/arachne-pnr
    device: 8k
    read_chipdb /usr/local/share/icebox/chipdb-5k.txt...
    seed: 1
    device: 1k
    read_chipdb /usr/local/share/icebox/chipdb-1k.txt...
    ./bin/arachne-pnr-host -d 8k -c /usr/local/share/icebox/chipdb-lm4k.txt --write-binary-chipdb share/arachne-pnr/chipdb-lm4k.bin
    seed: 1
    device: 8k
    read_chipdb /usr/local/share/icebox/chipdb-lm4k.txt...
    write_binary_chipdb share/arachne-pnr/chipdb-384.bin
    write_binary_chipdb share/arachne-pnr/chipdb-1k.bin
    write_binary_chipdb share/arachne-pnr/chipdb-lm4k.bin
    write_binary_chipdb share/arachne-pnr/chipdb-5k.bin
    write_binary_chipdb share/arachne-pnr/chipdb-8k.bin
    OM11-kontor-2016:arachne-pnr teig$ sudo make install
    Password:
    mkdir -p /usr/local/bin
    cp bin/arachne-pnr /usr/local/bin/arachne-pnr
    mkdir -p /usr/local/share/arachne-pnr
    cp share/arachne-pnr/chipdb-384.bin /usr/local/share/arachne-pnr/chipdb-384.bin
    cp share/arachne-pnr/chipdb-1k.bin /usr/local/share/arachne-pnr/chipdb-1k.bin
    cp share/arachne-pnr/chipdb-8k.bin /usr/local/share/arachne-pnr/chipdb-8k.bin
    cp share/arachne-pnr/chipdb-5k.bin /usr/local/share/arachne-pnr/chipdb-5k.bin
    cp share/arachne-pnr/chipdb-lm4k.bin /usr/local/share/arachne-pnr/chipdb-lm4k.bin
    OM11-kontor-2016:arachne-pnr teig$
    
  6. Optional Installing NextPNR place&route tool, Arachne-PNR replacement

    FAILED: Optional Installing NextPNR place&route tool install log

    This failed since it not find any cmake. I did finr a cmake.pro in a Qt directory I had, but I did not do anything to try to straiten this out. I will query about this anyhow.Update 9Oct2019: I have learned that this problem has been acknowledged by David Shah, the author of NextPNR.

    
    OM11-kontor-2016:IceStorm teig$ ls
    arachne-pnr	icestorm
    OM11-kontor-2016:IceStorm teig$ git clone https://github.com/YosysHQ/nextpnr nextpnr
    Cloning into 'nextpnr'...
    remote: Enumerating objects: 14351, done.
    remote: Total 14351 (delta 0), reused 0 (delta 0), pack-reused 14351
    Receiving objects: 100% (14351/14351), 5.70 MiB | 2.91 MiB/s, done.
    Resolving deltas: 100% (10526/10526), done.
    Checking connectivity... done.
    OM11-kontor-2016:IceStorm teig$ cd nextpnr
    OM11-kontor-2016:nextpnr teig$ cmake -DARCH=ice40 -DCMAKE_INSTALL_PREFIX=/usr/local .
    -bash: cmake: command not found
    
  7. Downloading and installing Yosys

    Downloading and installing Yosys install log

    
    OM11-kontor-2016:~ teig$ cd /Applications/IceStorm ls
    OM11-kontor-2016:IceStorm teig$ git clone https://github.com/cliffordwolf/yosys.git yosys
    Cloning into 'yosys'...
    remote: Enumerating objects: 266, done.
    remote: Counting objects: 100% (266/266), done.
    remote: Compressing objects: 100% (169/169), done.
    remote: Total 44441 (delta 174), reused 156 (delta 97), pack-reused 44175
    Receiving objects: 100% (44441/44441), 12.69 MiB | 6.65 MiB/s, done.
    Resolving deltas: 100% (32188/32188), done.
    Checking connectivity... done.
    OM11-kontor-2016:IceStorm teig$ cd yosys
    OM11-kontor-2016:yosys teig$ make -j8
    $BREW_PREFIX is [/usr/local/opt]
    [  0%] Building kernel/version_ce0631c.cc
    [  0%] Building kernel/driver.o
    [  0%] Building techlibs/common/simlib_help.inc
    [  0%] Building techlibs/common/simcells_help.inc
    [  1%] Building kernel/rtlil.o
    [  2%] Building kernel/log.o
    [  2%] Building kernel/calc.o
    [  2%] Building kernel/yosys.o
    [  3%] Building kernel/cellaigs.o
    [  3%] Building kernel/celledges.o
    [  4%] Building libs/bigint/BigIntegerAlgorithms.o
    [  4%] Building libs/bigint/BigInteger.o
    [  4%] Building libs/bigint/BigIntegerUtils.o
    [  5%] Building libs/bigint/BigUnsigned.o
    [  5%] Building libs/bigint/BigUnsignedInABase.o
    [  6%] Building libs/sha1/sha1.o
    [  6%] Building libs/subcircuit/subcircuit.o
    [  6%] Building libs/ezsat/ezsat.o
    [  7%] Building libs/ezsat/ezminisat.o
    [  7%] Building libs/minisat/Options.o
    [  8%] Building libs/minisat/SimpSolver.o
    [  8%] Building libs/minisat/Solver.o
    [  8%] Building libs/minisat/System.o
    [  9%] Building frontends/aiger/aigerparse.o
    [  9%] Building frontends/ast/ast.o
    [ 10%] Building frontends/ast/simplify.o
    [ 10%] Building frontends/ast/genrtlil.o
    [ 10%] Building frontends/ast/dpicall.o
    [ 11%] Building frontends/blif/blifparse.o
    [ 11%] Building frontends/ilang/ilang_parser.tab.cc
    [ 11%] Building frontends/ilang/ilang_lexer.cc
    [ 12%] Building frontends/ilang/ilang_frontend.o
    [ 12%] Building frontends/json/jsonparse.o
    [ 13%] Building frontends/liberty/liberty.o
    [ 13%] Building frontends/verific/verific.o
    [ 13%] Building frontends/verilog/verilog_parser.tab.cc
    [ 13%] Building frontends/verilog/verilog_lexer.cc
    [ 14%] Building frontends/verilog/preproc.o
    [ 15%] Building frontends/verilog/verilog_frontend.o
    [ 15%] Building frontends/verilog/const2ast.o
    [ 16%] Building passes/cmds/add.o
    [ 16%] Building passes/cmds/delete.o
    [ 16%] Building passes/cmds/design.o
    [ 17%] Building passes/cmds/select.o
    [ 17%] Building passes/cmds/show.o
    [ 18%] Building passes/cmds/rename.o
    [ 18%] Building passes/cmds/connect.o
    [ 18%] Building passes/cmds/scatter.o
    [ 19%] Building passes/cmds/setundef.o
    [ 19%] Building passes/cmds/splitnets.o
    [ 20%] Building passes/cmds/stat.o
    [ 20%] Building passes/cmds/setattr.o
    [ 20%] Building passes/cmds/copy.o
    [ 21%] Building passes/cmds/splice.o
    [ 21%] Building passes/cmds/scc.o
    [ 22%] Building passes/cmds/torder.o
    [ 22%] Building passes/cmds/logcmd.o
    [ 22%] Building passes/cmds/tee.o
    [ 23%] Building passes/cmds/write_file.o
    [ 23%] Building passes/cmds/connwrappers.o
    [ 24%] Building passes/cmds/cover.o
    [ 24%] Building passes/cmds/trace.o
    [ 24%] Building passes/cmds/plugin.o
    [ 25%] Building passes/cmds/check.o
    [ 25%] Building passes/cmds/qwp.o
    [ 26%] Building passes/cmds/edgetypes.o
    [ 26%] Building passes/cmds/portlist.o
    [ 26%] Building passes/cmds/chformal.o
    [ 27%] Building passes/cmds/chtype.o
    [ 27%] Building passes/cmds/blackbox.o
    [ 28%] Building passes/cmds/ltp.o
    [ 28%] Building passes/cmds/bugpoint.o
    [ 28%] Building passes/equiv/equiv_make.o
    [ 29%] Building passes/equiv/equiv_miter.o
    [ 29%] Building passes/equiv/equiv_simple.o
    [ 30%] Building passes/equiv/equiv_status.o
    [ 30%] Building passes/equiv/equiv_add.o
    [ 30%] Building passes/equiv/equiv_remove.o
    [ 31%] Building passes/equiv/equiv_induct.o
    [ 31%] Building passes/equiv/equiv_struct.o
    [ 32%] Building passes/equiv/equiv_purge.o
    [ 32%] Building passes/equiv/equiv_mark.o
    [ 32%] Building passes/equiv/equiv_opt.o
    [ 33%] Building passes/fsm/fsm.o
    [ 33%] Building passes/fsm/fsm_detect.o
    [ 34%] Building passes/fsm/fsm_extract.o
    [ 34%] Building passes/fsm/fsm_opt.o
    [ 34%] Building passes/fsm/fsm_expand.o
    [ 35%] Building passes/fsm/fsm_recode.o
    [ 35%] Building passes/fsm/fsm_info.o
    [ 36%] Building passes/fsm/fsm_export.o
    [ 36%] Building passes/fsm/fsm_map.o
    [ 36%] Building passes/hierarchy/hierarchy.o
    [ 37%] Building passes/hierarchy/uniquify.o
    [ 37%] Building passes/hierarchy/submod.o
    [ 38%] Building passes/memory/memory.o
    [ 38%] Building passes/memory/memory_dff.o
    [ 38%] Building passes/memory/memory_share.o
    [ 39%] Building passes/memory/memory_collect.o
    [ 39%] Building passes/memory/memory_unpack.o
    [ 40%] Building passes/memory/memory_bram.o
    [ 40%] Building passes/memory/memory_map.o
    [ 40%] Building passes/memory/memory_memx.o
    [ 41%] Building passes/memory/memory_nordff.o
    [ 41%] Building passes/opt/opt.o
    [ 42%] Building passes/opt/opt_merge.o
    [ 42%] Building passes/opt/opt_muxtree.o
    [ 42%] Building passes/opt/opt_reduce.o
    [ 43%] Building passes/opt/opt_rmdff.o
    [ 43%] Building passes/opt/opt_share.o
    [ 44%] Building passes/opt/opt_clean.o
    [ 44%] Building passes/opt/opt_expr.o
    [ 44%] Building passes/opt/share.o
    [ 45%] Building passes/opt/wreduce.o
    [ 45%] Building passes/opt/opt_demorgan.o
    [ 46%] Building passes/opt/rmports.o
    [ 46%] Building passes/opt/opt_lut.o
    [ 46%] Building passes/opt/pmux2shiftx.o
    [ 47%] Building passes/opt/muxpack.o
    [ 47%] Building passes/pmgen/test_pmgen_pm.h
    [ 47%] Building passes/pmgen/ice40_dsp_pm.h
    [ 47%] Building passes/pmgen/peepopt_pm.h
    [ 47%] Building passes/pmgen/xilinx_srl_pm.h
    [ 48%] Building passes/pmgen/ice40_dsp.o
    [ 48%] Building passes/pmgen/ice40_wrapcarry_pm.h
    [ 48%] Building passes/pmgen/peepopt.o
    [ 49%] Building passes/pmgen/xilinx_srl.o
    [ 49%] Building passes/proc/proc.o
    [ 50%] Building passes/proc/proc_prune.o
    [ 50%] Building passes/proc/proc_clean.o
    [ 50%] Building passes/proc/proc_rmdead.o
    [ 51%] Building passes/proc/proc_init.o
    [ 51%] Building passes/proc/proc_arst.o
    [ 52%] Building passes/proc/proc_mux.o
    [ 52%] Building passes/proc/proc_dlatch.o
    [ 52%] Building passes/proc/proc_dff.o
    [ 53%] Building passes/sat/sat.o
    [ 53%] Building passes/sat/freduce.o
    [ 54%] Building passes/sat/eval.o
    [ 54%] Building passes/sat/sim.o
    [ 54%] Building passes/sat/miter.o
    [ 55%] Building passes/sat/expose.o
    [ 55%] Building passes/sat/assertpmux.o
    [ 56%] Building passes/sat/clk2fflogic.o
    [ 56%] Building passes/sat/async2sync.o
    [ 56%] Building passes/sat/supercover.o
    [ 57%] Building passes/sat/fmcombine.o
    [ 57%] Building passes/sat/mutate.o
    [ 58%] Building passes/sat/cutpoint.o
    [ 58%] Building passes/techmap/techmap.inc
    [ 58%] Building passes/techmap/simplemap.o
    [ 59%] Building passes/techmap/dfflibmap.o
    [ 59%] Building passes/techmap/maccmap.o
    [ 60%] Building passes/techmap/libparse.o
    [ 60%] Building passes/techmap/abc.o
    [ 60%] Building passes/techmap/abc9.o
    [ 61%] Building passes/techmap/iopadmap.o
    [ 61%] Building passes/techmap/clkbufmap.o
    [ 62%] Building passes/techmap/hilomap.o
    [ 62%] Building passes/techmap/extract.o
    [ 62%] Building passes/techmap/extract_fa.o
    [ 63%] Building passes/techmap/extract_counter.o
    [ 63%] Building passes/techmap/extract_reduce.o
    [ 64%] Building passes/techmap/alumacc.o
    [ 64%] Building passes/techmap/dff2dffe.o
    [ 64%] Building passes/techmap/dffinit.o
    [ 65%] Building passes/techmap/pmuxtree.o
    [ 65%] Building passes/techmap/muxcover.o
    [ 66%] Building passes/techmap/aigmap.o
    [ 66%] Building passes/techmap/tribuf.o
    [ 66%] Building passes/techmap/lut2mux.o
    [ 67%] Building passes/techmap/nlutmap.o
    [ 67%] Building passes/techmap/dffsr2dff.o
    [ 68%] Building passes/techmap/shregmap.o
    [ 68%] Building passes/techmap/deminout.o
    [ 68%] Building passes/techmap/insbuf.o
    [ 69%] Building passes/techmap/attrmvcp.o
    [ 69%] Building passes/techmap/attrmap.o
    [ 70%] Building passes/techmap/zinit.o
    [ 70%] Building passes/techmap/dff2dffs.o
    [ 70%] Building passes/techmap/flowmap.o
    [ 71%] Building passes/techmap/extractinv.o
    [ 71%] Building passes/tests/test_autotb.o
    [ 72%] Building passes/tests/test_cell.o
    [ 72%] Building passes/tests/test_abcloop.o
    [ 72%] Building backends/aiger/aiger.o
    [ 73%] Building backends/aiger/xaiger.o
    [ 73%] Building backends/blif/blif.o
    [ 74%] Building backends/btor/btor.o
    [ 74%] Building backends/edif/edif.o
    [ 74%] Building backends/firrtl/firrtl.o
    [ 75%] Building backends/ilang/ilang_backend.o
    [ 75%] Building backends/intersynth/intersynth.o
    [ 76%] Building backends/json/json.o
    [ 76%] Building backends/simplec/simplec.o
    [ 76%] Building backends/smt2/smt2.o
    [ 77%] Building backends/smv/smv.o
    [ 77%] Building backends/spice/spice.o
    [ 78%] Building backends/table/table.o
    [ 78%] Building backends/verilog/verilog_backend.o
    [ 78%] Building techlibs/achronix/synth_achronix.o
    [ 79%] Building techlibs/anlogic/synth_anlogic.o
    [ 79%] Building techlibs/anlogic/anlogic_eqn.o
    [ 80%] Building techlibs/anlogic/anlogic_fixcarry.o
    [ 80%] Building techlibs/common/synth.o
    [ 80%] Building techlibs/common/prep.o
    [ 81%] Building techlibs/coolrunner2/synth_coolrunner2.o
    [ 81%] Building techlibs/coolrunner2/coolrunner2_sop.o
    [ 82%] Building techlibs/easic/synth_easic.o
    [ 82%] Building techlibs/ecp5/synth_ecp5.o
    [ 82%] Building techlibs/ecp5/ecp5_ffinit.o
    [ 83%] Building techlibs/ecp5/ecp5_gsr.o
    [ 83%] Building techlibs/efinix/synth_efinix.o
    [ 84%] Building techlibs/efinix/efinix_gbuf.o
    [ 84%] Building techlibs/efinix/efinix_fixcarry.o
    [ 84%] Building techlibs/gowin/synth_gowin.o
    [ 85%] Building techlibs/gowin/determine_init.o
    [ 85%] Building techlibs/greenpak4/synth_greenpak4.o
    [ 86%] Building techlibs/greenpak4/greenpak4_dffinv.o
    [ 86%] Building techlibs/ice40/synth_ice40.o
    [ 86%] Building techlibs/ice40/ice40_braminit.o
    [ 87%] Building techlibs/ice40/ice40_ffssr.o
    [ 87%] Building techlibs/ice40/ice40_ffinit.o
    [ 88%] Building techlibs/ice40/ice40_opt.o
    [ 88%] Building techlibs/intel/synth_intel.o
    [ 88%] Building techlibs/sf2/synth_sf2.o
    [ 89%] Building techlibs/sf2/sf2_iobs.o
    [ 89%] Building techlibs/xilinx/synth_xilinx.o
    [ 99%] Building yosys-config
    [ 99%] Building abc/abc-5776ad0
    [ 99%] Building passes/techmap/filterlib.o
    Pulling ABC from https://github.com/berkeley-abc/abc:
    + test -d abc
    + git clone https://github.com/berkeley-abc/abc abc
    Cloning into 'abc'...
    [ 99%] Building yosys-smtbmc
    [ 99%] Building share/include/kernel/yosys.h
    [ 99%] Building share/include/kernel/hashlib.h
    [ 99%] Building share/include/kernel/log.h
    [ 99%] Building share/include/kernel/rtlil.h
    [ 99%] Building share/include/kernel/register.h
    [ 99%] Building share/include/kernel/celltypes.h
    [ 99%] Building share/include/kernel/celledges.h
    [ 99%] Building share/include/kernel/consteval.h
    [ 99%] Building share/include/kernel/sigtools.h
    [ 99%] Building share/include/kernel/modtools.h
    [ 99%] Building share/include/kernel/macc.h
    [ 99%] Building share/include/kernel/utils.h
    [ 99%] Building share/include/kernel/satgen.h
    [ 99%] Building share/include/libs/ezsat/ezsat.h
    [ 99%] Building share/include/libs/ezsat/ezminisat.h
    remote: Enumerating objects: 128, done.
    remote: Counting objects: 100% (128/128), done.
    [ 99%] Building share/include/libs/sha1/sha1.h
    [ 99%] Building share/include/passes/fsm/fsmdata.h
    [ 99%] Building share/include/frontends/ast/ast.h
    [ 99%] Building share/include/backends/ilang/ilang_backend.h
    remote: Compressing objects: 100% (93/93), done.
    [ 99%] Building share/python3/smtio.py
    [ 99%] Building share/achronix/speedster22i/cells_sim.v
    [ 99%] Building share/achronix/speedster22i/cells_map.v
    [ 99%] Building share/anlogic/cells_map.v
    [ 99%] Building share/anlogic/arith_map.v
    [ 99%] Building share/anlogic/cells_sim.v
    [ 99%] Building share/anlogic/eagle_bb.v
    [ 99%] Building share/anlogic/drams.txt
    [ 99%] Building share/anlogic/drams_map.v
    [ 99%] Building share/anlogic/dram_init_16x4.vh
    [ 99%] Building share/simlib.v
    [ 99%] Building share/simcells.v
    [ 99%] Building share/techmap.v
    [ 99%] Building share/pmux2mux.v
    [ 99%] Building share/adff2dff.v
    [ 99%] Building share/dff2ff.v57044), 1.54 MiB | 3.06 MiB/s   
    [ 99%] Building share/gate2lut.v
    [ 99%] Building share/cmp2lut.v
    [ 99%] Building share/cells.lib
    [ 99%] Building share/dummy.box
    [ 99%] Building share/coolrunner2/cells_latch.v| 3.06 MiB/s   
    [ 99%] Building share/coolrunner2/cells_sim.v
    [ 99%] Building share/coolrunner2/tff_extract.v
    [ 99%] Building share/coolrunner2/xc2_dff.lib
    [ 99%] Building share/ecp5/cells_ff.vh1.54 MiB | 3.06 MiB/s   
    [ 99%] Building share/ecp5/cells_io.vh
    [ 99%] Building share/ecp5/cells_map.v
    [ 99%] Building share/ecp5/cells_sim.v
    [ 99%] Building share/ecp5/cells_bb.v 5.92 MiB | 5.85 MiB/s   
    [ 99%] Building share/ecp5/lutrams_map.v
    [ 99%] Building share/ecp5/lutram.txt
    [ 99%] Building share/ecp5/brams_map.v
    [ 99%] Building share/ecp5/bram.txt), 5.92 MiB | 5.85 MiB/s   
    [ 99%] Building share/ecp5/arith_map.v
    [ 99%] Building share/ecp5/latches_map.v
    [ 99%] Building share/ecp5/abc_map.v, 5.92 MiB | 5.85 MiB/s   
    [ 99%] Building share/ecp5/abc_unmap.v
    [ 99%] Building share/ecp5/abc_model.v5.92 MiB | 5.85 MiB/s   
    [ 99%] Building share/ecp5/abc_5g.box, 5.92 MiB | 5.85 MiB/s   
    [ 99%] Building share/ecp5/abc_5g.lut, 5.92 MiB | 5.85 MiB/s   
    [ 99%] Building share/ecp5/abc_5g_nowide.lutMiB | 5.85 MiB/s   
    [ 99%] Building techlibs/ecp5/brams_init.mk MiB | 5.85 MiB/s   
    [ 99%] Building techlibs/ecp5/brams_connect.mkiB | 7.20 MiB/s   
    [ 99%] Building share/efinix/cells_map.v0.89 MiB | 7.20 MiB/s   
    [ 99%] Building share/efinix/arith_map.v0.89 MiB | 7.20 MiB/s   
    [ 99%] Building share/efinix/cells_sim.v0.89 MiB | 7.20 MiB/s   
    [ 99%] Building share/efinix/brams_map.v0.89 MiB | 7.20 MiB/s   
    [ 99%] Building share/efinix/bram.txt, 10.89 MiB | 7.20 MiB/s   
    [ 99%] Building share/gowin/cells_map.v
    [ 99%] Building share/gowin/cells_sim.v10.89 MiB | 7.20 MiB/s   
    [ 99%] Building share/gowin/arith_map.v10.89 MiB | 7.20 MiB/s   
    [ 99%] Building share/gowin/brams_map.v10.89 MiB | 7.20 MiB/s   
    [ 99%] Building share/gowin/bram.txt), 10.89 MiB | 7.20 MiB/s   
    [ 99%] Building share/gowin/drams_map.v10.89 MiB | 7.20 MiB/s   
    [ 99%] Building share/gowin/dram.txt), 10.89 MiB | 7.20 MiB/s   
    [ 99%] Building share/gowin/brams_init3.vh
    [ 99%] Building share/greenpak4/cells_blackbox.v | 7.20 MiB/s   
    [ 99%] Building share/greenpak4/cells_latch.v
    [ 99%] Building share/greenpak4/cells_map.v7 MiB | 7.74 MiB/s   
    [ 99%] Building share/greenpak4/cells_sim.v
    [ 99%] Building share/greenpak4/cells_sim_ams.vB | 7.74 MiB/s   
    [ 99%] Building share/greenpak4/cells_sim_digital.v
    [ 99%] Building share/greenpak4/cells_sim_wip.vB | 7.74 MiB/s   
    [ 99%] Building share/greenpak4/gp_dff.lib57 MiB | 7.74 MiB/s   
    [ 99%] Building share/ice40/arith_map.v15.57 MiB | 7.74 MiB/s   
    [ 99%] Building share/ice40/cells_map.v
    [ 99%] Building share/ice40/cells_sim.v15.57 MiB | 7.74 MiB/s   
    [ 99%] Building share/ice40/latches_map.v.57 MiB | 7.74 MiB/s   
    [ 99%] Building share/ice40/brams.txt, 15.57 MiB | 7.74 MiB/s   
    [ 99%] Building share/ice40/brams_map.v15.57 MiB | 7.74 MiB/s   
    [ 99%] Building share/ice40/abc_hx.box 15.57 MiB | 7.74 MiB/s   
    [ 99%] Building share/ice40/abc_hx.lut
    [ 99%] Building share/ice40/abc_lp.box
    [ 99%] Building share/ice40/abc_lp.lut
    [ 99%] Building share/ice40/abc_u.box, 20.32 MiB | 8.08 MiB/s   
    [ 99%] Building share/ice40/abc_u.lut
    [ 99%] Building techlibs/ice40/brams_init.mk
    [ 99%] Building share/intel/common/m9k_bb.v
    [ 99%] Building share/intel/common/altpll_bb.viB | 8.08 MiB/s   
    [ 99%] Building share/intel/common/brams_m9k.txt
    [ 99%] Building share/intel/common/brams_map_m9k.v 8.08 MiB/s   
    [ 99%] Building share/intel/max10/cells_sim.v
    [ 99%] Building share/intel/a10gx/cells_sim.v
    [ 99%] Building share/intel/cyclonev/cells_sim.v | 8.08 MiB/s   
    [ 99%] Building share/intel/cyclone10/cells_sim.v
    [ 99%] Building share/intel/cycloneiv/cells_sim.v| 8.08 MiB/s   
    [ 99%] Building share/intel/cycloneive/cells_sim.v
    [ 99%] Building share/intel/max10/cells_map.v
    [ 99%] Building share/intel/a10gx/cells_map.v
    [ 99%] Building share/intel/cyclonev/cells_map.v | 8.31 MiB/s   
    [ 99%] Building share/intel/cyclone10/cells_map.v
    [ 99%] Building share/intel/cycloneiv/cells_map.v| 8.31 MiB/s   
    [ 99%] Building share/intel/cycloneive/cells_map.v
    [ 99%] Building share/sf2/arith_map.v, 25.05 MiB | 8.31 MiB/s   
    [ 99%] Building share/sf2/cells_map.v
    [ 99%] Building share/sf2/cells_sim.v
    [ 99%] Building share/xilinx/cells_map.v
    [ 99%] Building share/xilinx/cells_sim.v5.05 MiB | 8.31 MiB/s   
    [ 99%] Building share/xilinx/xc6s_cells_xtra.v
    [ 99%] Building share/xilinx/xc6v_cells_xtra.viB | 8.31 MiB/s   
    [ 99%] Building share/xilinx/xc7_cells_xtra.v
    [ 99%] Building share/xilinx/xcu_cells_xtra.vMiB | 8.48 MiB/s   
    [ 99%] Building share/xilinx/xc6s_brams.txt
    [ 99%] Building share/xilinx/xc6s_brams_map.vMiB | 8.48 MiB/s   
    [ 99%] Building share/xilinx/xc6s_brams_bb.v
    [ 99%] Building share/xilinx/xc7_brams.txt
    [ 99%] Building share/xilinx/xc7_brams_map.v MiB | 8.48 MiB/s   
    [ 99%] Building share/xilinx/xc7_brams_bb.v
    [ 99%] Building share/xilinx/lutrams.txt
    [ 99%] Building share/xilinx/lutrams_map.v
    [ 99%] Building share/xilinx/arith_map.v
    [ 99%] Building share/xilinx/xc6s_ff_map.v78 MiB | 8.48 MiB/s   
    [ 99%] Building share/xilinx/xc7_ff_map.v.50 MiB | 8.60 MiB/s   
    [ 99%] Building share/xilinx/lut_map.v
    [ 99%] Building share/xilinx/mux_map.v
    [ 99%] Building share/xilinx/abc_map.v
    [ 99%] Building share/xilinx/abc_unmap.v
    [ 99%] Building share/xilinx/abc_model.v4.50 MiB | 8.60 MiB/s   
    [ 99%] Building share/xilinx/abc_xc7.box
    [ 99%] Building share/xilinx/abc_xc7.lut4.50 MiB | 8.60 MiB/s   
    [ 99%] Building share/xilinx/abc_xc7_nowide.lut
    [ 99%] Building techlibs/xilinx/brams_init.mk
    [ 99%] Building kernel/version_ce0631c.o4.50 MiB | 8.60 MiB/s   
    [ 99%] Building kernel/register.o044), 34.50 MiB | 8.60 MiB/s   
    [ 99%] Building frontends/ilang/ilang_parser.tab.o
    [ 99%] Building frontends/ilang/ilang_lexer.oMiB | 8.68 MiB/s   
    [ 99%] Building frontends/verilog/verilog_parser.tab.o
    [ 99%] Building frontends/verilog/verilog_lexer.o
    [ 99%] Building passes/pmgen/test_pmgen.o
    [ 99%] Building passes/pmgen/ice40_wrapcarry.o
    remote: Total 57044 (delta 68), reused 69 (delta 35), pack-reused 56916
    Receiving objects: 100% (57044/57044), 41.36 MiB | 9.38 MiB/s, done.
    [ 99%] Building passes/techmap/techmap.o
    [ 99%] Building yosys-filterlib8697)   
    [ 99%] Building share/ecp5/bram_init_1_2_4.vh
    [ 99%] Building share/ecp5/bram_init_9_18_36.vh
    Resolving deltas: 100% (48697/48697), done.
    [ 99%] Building share/ecp5/bram_conn_1.vh
    [ 99%] Building share/ecp5/bram_conn_2.vh
    Checking connectivity... done.
    [ 99%] Building share/ecp5/bram_conn_4.vh
    [ 99%] Building share/ecp5/bram_conn_9.vh
    [ 99%] Building share/ecp5/bram_conn_18.vh
    [ 99%] Building share/ice40/brams_init1.vh
    [ 99%] Building share/ice40/brams_init2.vh
    [ 99%] Building share/ice40/brams_init3.vh
    [ 99%] Building share/xilinx/brams_init_36.vh
    [ 99%] Building share/xilinx/brams_init_32.vh
    [ 99%] Building share/xilinx/brams_init_18.vh
    [ 99%] Building share/xilinx/brams_init_16.vh
    [ 99%] Building share/xilinx/brams_init_9.vh
    [ 99%] Building share/xilinx/brams_init_8.vh
    + cd abc
    + /Library/Developer/CommandLineTools/usr/bin/make DEP= clean
    Using CC=gcc
    Using CXX=g++
    Using LD=g++
    Compiling with CUDD
    Using libreadline
    Using pthreads
    Found GCC_VERSION 4.2.1
    Found GCC_MAJOR==4
    Using CFLAGS=-Wall -Wno-unused-function -Wno-write-strings -Wno-sign-compare -DLIN64 -DSIZEOF_VOID_P=8 -DSIZEOF_LONG=8 -DSIZEOF_INT=4 -DABC_USE_CUDD=1 -DABC_USE_READLINE  -DABC_USE_PTHREADS
    `` Cleaning up...
    arch_flags
    + git fetch origin master
    From https://github.com/berkeley-abc/abc
     * branch            master     -> FETCH_HEAD
    + git checkout 5776ad0
    Note: checking out '5776ad0'.
    
    You are in 'detached HEAD' state. You can look around, make experimental
    changes and commit them, and you can discard any commits you make in this
    state without impacting any branches by performing another checkout.
    
    If you want to create a new branch to retain commits you create, you may
    do so (now or later) by using -b with the checkout command again. Example:
    
      git checkout -b <new-branch-name>
    
    HEAD is now at 5776ad0... Preserving boxes after &write.
    [ 94%] ABC: Using CC=clang
    [ 94%] ABC: Using CXX=clang
    [ 94%] ABC: Using LD=clang
    [ 94%] ABC: Compiling with CUDD
    [ 94%] ABC: Using libreadline
    [ 94%] ABC: Using pthreads
    [ 94%] ABC: Using explicit -lstdc++
    [ 94%] ABC: Using CFLAGS=-Wall -Wno-unused-function -Wno-write-strings -Wno-sign-compare -DABC_USE_STDINT_H -DABC_USE_CUDD=1 -DABC_USE_READLINE  -DABC_USE_PTHREADS
    [ 94%] ABC: `` Generating dependency: 
    Teig: LIST REMOVED
    [ 94%] ABC: Using CC=clang
    [ 94%] ABC: Using CXX=clang
    [ 94%] ABC: Using LD=clang
    [ 94%] ABC: Compiling with CUDD
    [ 94%] ABC: Using libreadline
    [ 94%] ABC: Using pthreads
    [ 94%] ABC: Using explicit -lstdc++
    [ 94%] ABC: Using CFLAGS=-Wall -Wno-unused-function -Wno-write-strings -Wno-sign-compare -DABC_USE_STDINT_H -DABC_USE_CUDD=1 -DABC_USE_READLINE  -DABC_USE_PTHREADS
    [ 94%] ABC: `` Compiling: /src/sat/glucose/AbcGlucose.cpp
    [ 94%] ABC: `` Compiling: /src/sat/glucose/AbcGlucoseCmd.cpp
    [ 94%] ABC: `` Compiling: /src/sat/glucose/Glucose.cpp
    [ 94%] ABC: `` Compiling: /src/sat/glucose/Options.cpp
    [ 94%] ABC: `` Compiling: /src/sat/glucose/SimpSolver.cpp
    [ 94%] ABC: `` Compiling: /src/sat/glucose/System.cpp
    [ 94%] ABC: `` Compiling: /src/base/abc/abcAig.c
    src/sat/glucose/Glucose.cpp:1189:45: warning: format specifies type 'long' but the argument has type 'int64_t' (aka 'long long') [-Wformat]
      printf("c restarts              : %ld\n", starts);
                                        ~~~     ^~~~~~
                                        %lld
    src/sat/glucose/Glucose.cpp:1190:45: warning: format specifies type 'long' but the argument has type 'int64_t' (aka 'long long') [-Wformat]
      printf("c nb ReduceDB           : %ld\n", nbReduceDB);
                                        ~~~     ^~~~~~~~~~
                                        %lld
    src/sat/glucose/Glucose.cpp:1191:45: warning: format specifies type 'long' but the argument has type 'int64_t' (aka 'long long') [-Wformat]
      printf("c nb removed Clauses    : %ld\n", nbRemovedClauses);
                                        ~~~     ^~~~~~~~~~~~~~~~
                                        %lld
    src/sat/glucose/Glucose.cpp:1192:45: warning: format specifies type 'long' but the argument has type 'int64_t' (aka 'long long') [-Wformat]
      printf("c nb learnts DL2        : %ld\n", nbDL2);
                                        ~~~     ^~~~~
                                        %lld
    src/sat/glucose/Glucose.cpp:1193:45: warning: format specifies type 'long' but the argument has type 'int64_t' (aka 'long long') [-Wformat]
      printf("c nb learnts size 2     : %ld\n", nbBin);
                                        ~~~     ^~~~~
                                        %lld
    src/sat/glucose/Glucose.cpp:1194:45: warning: format specifies type 'long' but the argument has type 'int64_t' (aka 'long long') [-Wformat]
      printf("c nb learnts size 1     : %ld\n", nbUn);
                                        ~~~     ^~~~
                                        %lld
    src/sat/glucose/Glucose.cpp:1196:45: warning: format specifies type 'long' but the argument has type 'int64_t' (aka 'long long') [-Wformat]
      printf("c conflicts             : %ld\n", conflicts);
                                        ~~~     ^~~~~~~~~
                                        %lld
    src/sat/glucose/Glucose.cpp:1197:45: warning: format specifies type 'long' but the argument has type 'int64_t' (aka 'long long') [-Wformat]
      printf("c decisions             : %ld\n", decisions);
                                        ~~~     ^~~~~~~~~
                                        %lld
    src/sat/glucose/Glucose.cpp:1198:45: warning: format specifies type 'long' but the argument has type 'int64_t' (aka 'long long') [-Wformat]
      printf("c propagations          : %ld\n", propagations);
                                        ~~~     ^~~~~~~~~~~~
                                        %lld
    [ 94%] ABC: `` Compiling: /src/base/abc/abcBarBuf.c
    [ 94%] ABC: `` Compiling: /src/base/abc/abcBlifMv.c
    [ 94%] ABC: `` Compiling: /src/base/abc/abcCheck.c
    [ 94%] ABC: `` Compiling: /src/base/abc/abcDfs.c
    [ 94%] ABC: `` Compiling: /src/base/abc/abcFanio.c
    [ 94%] ABC: `` Compiling: /src/base/abc/abcFanOrder.c
    [ 94%] ABC: `` Compiling: /src/base/abc/abcFunc.c
    [ 94%] ABC: `` Compiling: /src/base/abc/abcHie.c
    [ 94%] ABC: `` Compiling: /src/base/abc/abcHieCec.c
    [ 94%] ABC: `` Compiling: /src/base/abc/abcHieGia.c
    [ 94%] ABC: `` Compiling: /src/base/abc/abcHieNew.c
    [ 94%] ABC: `` Compiling: /src/base/abc/abcLatch.c
    [ 94%] ABC: `` Compiling: /src/base/abc/abcLib.c
    [ 94%] ABC: `` Compiling: /src/base/abc/abcMinBase.c
    9 warnings generated.
    [ 94%] ABC: `` Compiling: /src/base/abc/abcNames.c
    [ 94%] ABC: `` Compiling: /src/base/abc/abcNetlist.c
    [ 94%] ABC: `` Compiling: /src/base/abc/abcNtk.c
    [ 94%] ABC: `` Compiling: /src/base/abc/abcObj.c
    [ 94%] ABC: `` Compiling: /src/base/abc/abcRefs.c
    [ 94%] ABC: `` Compiling: /src/base/abc/abcShow.c
    [ 94%] ABC: `` Compiling: /src/base/abc/abcSop.c
    [ 94%] ABC: `` Compiling: /src/base/abc/abcUtil.c
    [ 94%] ABC: `` Compiling: /src/base/abci/abc.c
    [ 94%] ABC: `` Compiling: /src/base/abci/abcAttach.c
    In file included from src/base/abci/abc.c:46:
    In file included from ./src/sat/satoko/satoko.h:12:
    In file included from ./src/sat/satoko/types.h:12:
    ./src/sat/satoko/utils/sdbl.h:124:24: warning: format specifies type 'unsigned long' but the argument has type 'sdbl_t' (aka 'unsigned long long') [-Wformat]
        printf("%016lX\n", double2sdbl(1 /0.95));
                ~~~~~~     ^~~~~~~~~~~~~~~~~~~~
                %016llX
    ./src/sat/satoko/utils/sdbl.h:125:24: warning: format specifies type 'unsigned long' but the argument has type 'sdbl_t' (aka 'unsigned long long') [-Wformat]
        printf("%016lX\n", SDBL_CONST1);
                ~~~~~~     ^~~~~~~~~~~
                %016llX
    [ 94%] ABC: `` Compiling: /src/base/abci/abcAuto.c
    [ 94%] ABC: `` Compiling: /src/base/abci/abcBalance.c
    [ 94%] ABC: `` Compiling: /src/base/abci/abcBidec.c
    [ 94%] ABC: `` Compiling: /src/base/abci/abcBm.c
    [ 94%] ABC: `` Compiling: /src/base/abci/abcBmc.c
    [ 94%] ABC: `` Compiling: /src/base/abci/abcCas.c
    [ 94%] ABC: `` Compiling: /src/base/abci/abcCascade.c
    [ 94%] ABC: `` Compiling: /src/base/abci/abcCollapse.c
    [ 94%] ABC: `` Compiling: /src/base/abci/abcCut.c
    [ 94%] ABC: `` Compiling: /src/base/abci/abcDar.c
    [ 94%] ABC: `` Compiling: /src/base/abci/abcDebug.c
    [ 94%] ABC: `` Compiling: /src/base/abci/abcDec.c
    [ 94%] ABC: `` Compiling: /src/base/abci/abcDetect.c
    [ 94%] ABC: `` Compiling: /src/base/abci/abcDress.c
    [ 94%] ABC: `` Compiling: /src/base/abci/abcDress2.c
    [ 94%] ABC: `` Compiling: /src/base/abci/abcDress3.c
    [ 94%] ABC: `` Compiling: /src/base/abci/abcDsd.c
    [ 94%] ABC: `` Compiling: /src/base/abci/abcEco.c
    [ 94%] ABC: `` Compiling: /src/base/abci/abcExact.c
    [ 94%] ABC: `` Compiling: /src/base/abci/abcExtract.c
    [ 94%] ABC: `` Compiling: /src/base/abci/abcFraig.c
    [ 94%] ABC: `` Compiling: /src/base/abci/abcFx.c
    [ 94%] ABC: `` Compiling: /src/base/abci/abcFxu.c
    [ 94%] ABC: `` Compiling: /src/base/abci/abcGen.c
    [ 94%] ABC: `` Compiling: /src/base/abci/abcHaig.c
    [ 94%] ABC: `` Compiling: /src/base/abci/abcIf.c
    [ 94%] ABC: `` Compiling: /src/base/abci/abcIfif.c
    [ 94%] ABC: `` Compiling: /src/base/abci/abcIfMux.c
    [ 94%] ABC: `` Compiling: /src/base/abci/abcIvy.c
    [ 94%] ABC: `` Compiling: /src/base/abci/abcLog.c
    [ 94%] ABC: `` Compiling: /src/base/abci/abcLut.c
    [ 94%] ABC: `` Compiling: /src/base/abci/abcLutmin.c
    [ 94%] ABC: `` Compiling: /src/base/abci/abcMap.c
    [ 94%] ABC: `` Compiling: /src/base/abci/abcMerge.c
    [ 94%] ABC: `` Compiling: /src/base/abci/abcMfs.c
    [ 94%] ABC: `` Compiling: /src/base/abci/abcMini.c
    [ 94%] ABC: `` Compiling: /src/base/abci/abcMiter.c
    [ 94%] ABC: `` Compiling: /src/base/abci/abcMulti.c
    [ 94%] ABC: `` Compiling: /src/base/abci/abcNtbdd.c
    [ 94%] ABC: `` Compiling: /src/base/abci/abcNpn.c
    [ 94%] ABC: `` Compiling: /src/base/abci/abcNpnSave.c
    [ 94%] ABC: `` Compiling: /src/base/abci/abcOdc.c
    [ 94%] ABC: `` Compiling: /src/base/abci/abcOrder.c
    [ 94%] ABC: `` Compiling: /src/base/abci/abcPart.c
    [ 94%] ABC: `` Compiling: /src/base/abci/abcPrint.c
    [ 94%] ABC: `` Compiling: /src/base/abci/abcProve.c
    [ 94%] ABC: `` Compiling: /src/base/abci/abcQbf.c
    [ 94%] ABC: `` Compiling: /src/base/abci/abcQuant.c
    [ 94%] ABC: `` Compiling: /src/base/abci/abcRec3.c
    [ 94%] ABC: `` Compiling: /src/base/abci/abcReconv.c
    [ 94%] ABC: `` Compiling: /src/base/abci/abcReach.c
    [ 94%] ABC: `` Compiling: /src/base/abci/abcRefactor.c
    [ 94%] ABC: `` Compiling: /src/base/abci/abcRenode.c
    [ 94%] ABC: `` Compiling: /src/base/abci/abcReorder.c
    [ 94%] ABC: `` Compiling: /src/base/abci/abcRestruct.c
    [ 94%] ABC: `` Compiling: /src/base/abci/abcResub.c
    [ 94%] ABC: `` Compiling: /src/base/abci/abcRewrite.c
    [ 94%] ABC: `` Compiling: /src/base/abci/abcRpo.c
    [ 94%] ABC: `` Compiling: /src/base/abci/abcRr.c
    [ 94%] ABC: `` Compiling: /src/base/abci/abcRunGen.c
    [ 94%] ABC: `` Compiling: /src/base/abci/abcSat.c
    [ 94%] ABC: `` Compiling: /src/base/abci/abcSaucy.c
    [ 94%] ABC: `` Compiling: /src/base/abci/abcScorr.c
    [ 94%] ABC: `` Compiling: /src/base/abci/abcSense.c
    [ 94%] ABC: `` Compiling: /src/base/abci/abcSpeedup.c
    [ 94%] ABC: `` Compiling: /src/base/abci/abcStrash.c
    [ 94%] ABC: `` Compiling: /src/base/abci/abcSweep.c
    [ 94%] ABC: `` Compiling: /src/base/abci/abcSymm.c
    [ 94%] ABC: `` Compiling: /src/base/abci/abcTim.c
    [ 94%] ABC: `` Compiling: /src/base/abci/abcTiming.c
    [ 94%] ABC: `` Compiling: /src/base/abci/abcUnate.c
    [ 94%] ABC: `` Compiling: /src/base/abci/abcUnreach.c
    [ 94%] ABC: `` Compiling: /src/base/abci/abcVerify.c
    [ 94%] ABC: `` Compiling: /src/base/abci/abcXsim.c
    [ 94%] ABC: `` Compiling: /src/base/cmd/cmd.c
    [ 94%] ABC: `` Compiling: /src/base/cmd/cmdAlias.c
    [ 94%] ABC: `` Compiling: /src/base/cmd/cmdApi.c
    [ 94%] ABC: `` Compiling: /src/base/cmd/cmdAuto.c
    In file included from src/base/cmd/cmdAuto.c:28:
    In file included from ./src/sat/satoko/satoko.h:12:
    In file included from ./src/sat/satoko/types.h:12:
    ./src/sat/satoko/utils/sdbl.h:124:24: warning: format specifies type 'unsigned long' but the argument has type 'sdbl_t' (aka 'unsigned long long') [-Wformat]
        printf("%016lX\n", double2sdbl(1 /0.95));
                ~~~~~~     ^~~~~~~~~~~~~~~~~~~~
                %016llX
    ./src/sat/satoko/utils/sdbl.h:125:24: warning: format specifies type 'unsigned long' but the argument has type 'sdbl_t' (aka 'unsigned long long') [-Wformat]
        printf("%016lX\n", SDBL_CONST1);
                ~~~~~~     ^~~~~~~~~~~
                %016llX
    [ 94%] ABC: `` Compiling: /src/base/cmd/cmdFlag.c
    [ 94%] ABC: `` Compiling: /src/base/cmd/cmdHist.c
    [ 94%] ABC: `` Compiling: /src/base/cmd/cmdLoad.c
    2 warnings generated.
    [ 94%] ABC: `` Compiling: /src/base/cmd/cmdPlugin.c
    [ 94%] ABC: `` Compiling: /src/base/cmd/cmdStarter.c
    [ 94%] ABC: `` Compiling: /src/base/cmd/cmdUtils.c
    [ 94%] ABC: `` Compiling: /src/base/io/io.c
    2 warnings generated.
    [ 94%] ABC: `` Compiling: /src/base/io/ioJson.c
    [ 94%] ABC: `` Compiling: /src/base/io/ioReadAiger.c
    [ 94%] ABC: `` Compiling: /src/base/io/ioReadBaf.c
    [ 94%] ABC: `` Compiling: /src/base/io/ioReadBblif.c
    [ 94%] ABC: `` Compiling: /src/base/io/ioReadBench.c
    [ 94%] ABC: `` Compiling: /src/base/io/ioReadBlif.c
    [ 94%] ABC: `` Compiling: /src/base/io/ioReadBlifAig.c
    [ 94%] ABC: `` Compiling: /src/base/io/ioReadBlifMv.c
    [ 94%] ABC: `` Compiling: /src/base/io/ioReadDsd.c
    [ 94%] ABC: `` Compiling: /src/base/io/ioReadEdif.c
    [ 94%] ABC: `` Compiling: /src/base/io/ioReadEqn.c
    [ 94%] ABC: `` Compiling: /src/base/io/ioReadPla.c
    [ 94%] ABC: `` Compiling: /src/base/io/ioReadPlaMo.c
    [ 94%] ABC: `` Compiling: /src/base/io/ioReadVerilog.c
    [ 94%] ABC: `` Compiling: /src/base/io/ioUtil.c
    [ 94%] ABC: `` Compiling: /src/base/io/ioWriteAiger.c
    [ 94%] ABC: `` Compiling: /src/base/io/ioWriteBaf.c
    [ 94%] ABC: `` Compiling: /src/base/io/ioWriteBblif.c
    [ 94%] ABC: `` Compiling: /src/base/io/ioWriteBench.c
    [ 94%] ABC: `` Compiling: /src/base/io/ioWriteBlif.c
    [ 94%] ABC: `` Compiling: /src/base/io/ioWriteBlifMv.c
    [ 94%] ABC: `` Compiling: /src/base/io/ioWriteBook.c
    [ 94%] ABC: `` Compiling: /src/base/io/ioWriteCnf.c
    [ 94%] ABC: `` Compiling: /src/base/io/ioWriteDot.c
    [ 94%] ABC: `` Compiling: /src/base/io/ioWriteEqn.c
    [ 94%] ABC: `` Compiling: /src/base/io/ioWriteGml.c
    [ 94%] ABC: `` Compiling: /src/base/io/ioWriteList.c
    [ 94%] ABC: `` Compiling: /src/base/io/ioWritePla.c
    [ 94%] ABC: `` Compiling: /src/base/io/ioWriteVerilog.c
    [ 94%] ABC: `` Compiling: /src/base/io/ioWriteSmv.c
    [ 94%] ABC: `` Compiling: /src/base/main/main.c
    [ 94%] ABC: `` Compiling: /src/base/main/mainFrame.c
    [ 94%] ABC: `` Compiling: /src/base/main/mainInit.c
    [ 94%] ABC: `` Compiling: /src/base/main/mainLib.c
    [ 94%] ABC: `` Compiling: /src/base/main/mainReal.c
    [ 94%] ABC: `` Compiling: /src/base/main/libSupport.c
    [ 94%] ABC: `` Compiling: /src/base/main/mainUtils.c
    [ 94%] ABC: `` Compiling: /src/base/exor/exor.c
    [ 94%] ABC: `` Compiling: /src/base/exor/exorBits.c
    [ 94%] ABC: `` Compiling: /src/base/exor/exorCubes.c
    [ 94%] ABC: `` Compiling: /src/base/exor/exorLink.c
    [ 94%] ABC: `` Compiling: /src/base/exor/exorList.c
    [ 94%] ABC: `` Compiling: /src/base/exor/exorUtil.c
    [ 94%] ABC: `` Compiling: /src/base/ver/verCore.c
    [ 94%] ABC: `` Compiling: /src/base/ver/verFormula.c
    [ 94%] ABC: `` Compiling: /src/base/ver/verParse.c
    [ 94%] ABC: `` Compiling: /src/base/ver/verStream.c
    [ 94%] ABC: `` Compiling: /src/base/wlc/wlcAbs.c
    [ 94%] ABC: `` Compiling: /src/base/wlc/wlcAbs2.c
    [ 94%] ABC: `` Compiling: /src/base/wlc/wlcAbc.c
    [ 94%] ABC: `` Compiling: /src/base/wlc/wlcPth.c
    [ 94%] ABC: `` Compiling: /src/base/wlc/wlcBlast.c
    [ 94%] ABC: `` Compiling: /src/base/wlc/wlcCom.c
    [ 94%] ABC: `` Compiling: /src/base/wlc/wlcGraft.c
    [ 94%] ABC: `` Compiling: /src/base/wlc/wlcJson.c
    [ 94%] ABC: `` Compiling: /src/base/wlc/wlcMem.c
    [ 94%] ABC: `` Compiling: /src/base/wlc/wlcNdr.c
    [ 94%] ABC: `` Compiling: /src/base/wlc/wlcNtk.c
    [ 94%] ABC: `` Compiling: /src/base/wlc/wlcReadSmt.c
    [ 94%] ABC: `` Compiling: /src/base/wlc/wlcReadVer.c
    [100%] Building yosys
    [ 94%] ABC: `` Compiling: /src/base/wlc/wlcSim.c
    [ 94%] ABC: `` Compiling: /src/base/wlc/wlcShow.c
    [ 94%] ABC: `` Compiling: /src/base/wlc/wlcStdin.c
    [ 94%] ABC: `` Compiling: /src/base/wlc/wlcUif.c
    [ 94%] ABC: `` Compiling: /src/base/wlc/wlcWin.c
    [ 94%] ABC: `` Compiling: /src/base/wlc/wlcWriteVer.c
    [ 94%] ABC: `` Compiling: /src/base/wln/wln.c
    [ 94%] ABC: `` Compiling: /src/base/wln/wlnMem.c
    [ 94%] ABC: `` Compiling: /src/base/wln/wlnNdr.c
    [ 94%] ABC: `` Compiling: /src/base/wln/wlnNtk.c
    [ 94%] ABC: `` Compiling: /src/base/wln/wlnObj.c
    [ 94%] ABC: `` Compiling: /src/base/wln/wlnRetime.c
    [ 94%] ABC: `` Compiling: /src/base/wln/wlnWlc.c
    [ 94%] ABC: `` Compiling: /src/base/wln/wlnWriteVer.c
    [ 94%] ABC: `` Compiling: /src/base/acb/acbAbc.c
    [ 94%] ABC: `` Compiling: /src/base/acb/acbAig.c
    [ 94%] ABC: `` Compiling: /src/base/acb/acbCom.c
    [ 94%] ABC: `` Compiling: /src/base/acb/acbFunc.c
    [ 94%] ABC: `` Compiling: /src/base/acb/acbMfs.c
    In file included from src/base/acb/acbFunc.c:25:
    In file included from ./src/sat/satoko/satoko.h:12:
    In file included from ./src/sat/satoko/types.h:12:
    ./src/sat/satoko/utils/sdbl.h:124:24: warning: format specifies type 'unsigned long' but the argument has type 'sdbl_t' (aka 'unsigned long long') [-Wformat]
        printf("%016lX\n", double2sdbl(1 /0.95));
                ~~~~~~     ^~~~~~~~~~~~~~~~~~~~
                %016llX
    ./src/sat/satoko/utils/sdbl.h:125:24: warning: format specifies type 'unsigned long' but the argument has type 'sdbl_t' (aka 'unsigned long long') [-Wformat]
        printf("%016lX\n", SDBL_CONST1);
                ~~~~~~     ^~~~~~~~~~~
                %016llX
    [ 94%] ABC: `` Compiling: /src/base/acb/acbPush.c
    [ 94%] ABC: `` Compiling: /src/base/acb/acbSets.c
    [ 94%] ABC: `` Compiling: /src/base/acb/acbUtil.c
    [ 94%] ABC: `` Compiling: /src/base/bac/bacBlast.c
    [ 94%] ABC: `` Compiling: /src/base/bac/bacBac.c
    [ 94%] ABC: `` Compiling: /src/base/bac/bacCom.c
    [ 94%] ABC: `` Compiling: /src/base/bac/bacLib.c
    [ 94%] ABC: `` Compiling: /src/base/bac/bacNtk.c
    [ 94%] ABC: `` Compiling: /src/base/bac/bacPrsBuild.c
    [ 94%] ABC: `` Compiling: /src/base/bac/bacPrsTrans.c
    [ 94%] ABC: `` Compiling: /src/base/bac/bacPtr.c
    [ 94%] ABC: `` Compiling: /src/base/bac/bacPtrAbc.c
    [ 94%] ABC: `` Compiling: /src/base/bac/bacReadBlif.c
    [ 94%] ABC: `` Compiling: /src/base/bac/bacReadSmt.c
    [ 94%] ABC: `` Compiling: /src/base/bac/bacReadVer.c
    [ 94%] ABC: `` Compiling: /src/base/bac/bacWriteBlif.c
    [ 94%] ABC: `` Compiling: /src/base/bac/bacWriteSmt.c
    [ 94%] ABC: `` Compiling: /src/base/bac/bacWriteVer.c
    [ 94%] ABC: `` Compiling: /src/base/cba/cbaBlast.c
    [ 94%] ABC: `` Compiling: /src/base/cba/cbaCba.c
    [ 94%] ABC: `` Compiling: /src/base/cba/cbaCom.c
    [ 94%] ABC: `` Compiling: /src/base/cba/cbaNtk.c
    [ 94%] ABC: `` Compiling: /src/base/cba/cbaReadBlif.c
    [ 94%] ABC: `` Compiling: /src/base/cba/cbaReadVer.c
    2 warnings generated.
    [ 94%] ABC: `` Compiling: /src/base/cba/cbaWriteBlif.c
    [ 94%] ABC: `` Compiling: /src/base/cba/cbaWriteVer.c
    [ 94%] ABC: `` Compiling: /src/base/pla/plaCom.c
    [ 94%] ABC: `` Compiling: /src/base/pla/plaHash.c
    [ 94%] ABC: `` Compiling: /src/base/pla/plaMan.c
    [ 94%] ABC: `` Compiling: /src/base/pla/plaMerge.c
    [ 94%] ABC: `` Compiling: /src/base/pla/plaSimple.c
    [ 94%] ABC: `` Compiling: /src/base/pla/plaRead.c
    [ 94%] ABC: `` Compiling: /src/base/pla/plaWrite.c
    [ 94%] ABC: `` Compiling: /src/base/test/test.c
    [ 94%] ABC: `` Compiling: /src/map/mapper/mapper.c
    [ 94%] ABC: `` Compiling: /src/map/mapper/mapperCanon.c
    [ 94%] ABC: `` Compiling: /src/map/mapper/mapperCore.c
    [ 94%] ABC: `` Compiling: /src/map/mapper/mapperCreate.c
    [ 94%] ABC: `` Compiling: /src/map/mapper/mapperCut.c
    [ 94%] ABC: `` Compiling: /src/map/mapper/mapperCutUtils.c
    [ 94%] ABC: `` Compiling: /src/map/mapper/mapperLib.c
    [ 94%] ABC: `` Compiling: /src/map/mapper/mapperMatch.c
    [ 94%] ABC: `` Compiling: /src/map/mapper/mapperRefs.c
    [ 94%] ABC: `` Compiling: /src/map/mapper/mapperSuper.c
    [ 94%] ABC: `` Compiling: /src/map/mapper/mapperSwitch.c
    [ 94%] ABC: `` Compiling: /src/map/mapper/mapperTable.c
    [ 94%] ABC: `` Compiling: /src/map/mapper/mapperTime.c
    [ 94%] ABC: `` Compiling: /src/map/mapper/mapperTree.c
    [ 94%] ABC: `` Compiling: /src/map/mapper/mapperTruth.c
    [ 94%] ABC: `` Compiling: /src/map/mapper/mapperUtils.c
    [ 94%] ABC: `` Compiling: /src/map/mapper/mapperVec.c
    [ 94%] ABC: `` Compiling: /src/map/mio/mio.c
    [ 94%] ABC: `` Compiling: /src/map/mio/mioApi.c
    [ 94%] ABC: `` Compiling: /src/map/mio/mioFunc.c
    [ 94%] ABC: `` Compiling: /src/map/mio/mioParse.c
    [ 94%] ABC: `` Compiling: /src/map/mio/mioRead.c
    [ 94%] ABC: `` Compiling: /src/map/mio/mioSop.c
    [ 94%] ABC: `` Compiling: /src/map/mio/mioUtils.c
    [ 94%] ABC: `` Compiling: /src/map/super/super.c
    [ 94%] ABC: `` Compiling: /src/map/super/superAnd.c
    [ 94%] ABC: `` Compiling: /src/map/super/superGate.c
    [ 94%] ABC: `` Compiling: /src/map/if/ifCom.c
    [ 94%] ABC: `` Compiling: /src/map/if/ifCache.c
    [ 94%] ABC: `` Compiling: /src/map/if/ifCore.c
    [ 94%] ABC: `` Compiling: /src/map/if/ifCut.c
    [ 94%] ABC: `` Compiling: /src/map/if/ifData2.c
    [ 94%] ABC: `` Compiling: /src/map/if/ifDec07.c
    [ 94%] ABC: `` Compiling: /src/map/if/ifDec08.c
    [ 94%] ABC: `` Compiling: /src/map/if/ifDec10.c
    [ 94%] ABC: `` Compiling: /src/map/if/ifDec16.c
    [ 94%] ABC: `` Compiling: /src/map/if/ifDec75.c
    [ 94%] ABC: `` Compiling: /src/map/if/ifDelay.c
    [ 94%] ABC: `` Compiling: /src/map/if/ifDsd.c
    [ 94%] ABC: `` Compiling: /src/map/if/ifLibBox.c
    [ 94%] ABC: `` Compiling: /src/map/if/ifLibLut.c
    [ 94%] ABC: `` Compiling: /src/map/if/ifMan.c
    [ 94%] ABC: `` Compiling: /src/map/if/ifMap.c
    [ 94%] ABC: `` Compiling: /src/map/if/ifMatch2.c
    [ 94%] ABC: `` Compiling: /src/map/if/ifReduce.c
    [ 94%] ABC: `` Compiling: /src/map/if/ifSat.c
    [ 94%] ABC: `` Compiling: /src/map/if/ifSelect.c
    [ 94%] ABC: `` Compiling: /src/map/if/ifSeq.c
    [ 94%] ABC: `` Compiling: /src/map/if/ifTest.c
    [ 94%] ABC: `` Compiling: /src/map/if/ifTime.c
    [ 94%] ABC: `` Compiling: /src/map/if/ifTruth.c
    [ 94%] ABC: `` Compiling: /src/map/if/ifTune.c
    [ 94%] ABC: `` Compiling: /src/map/if/ifUtil.c
    [ 94%] ABC: `` Compiling: /src/map/amap/amapCore.c
    [ 94%] ABC: `` Compiling: /src/map/amap/amapGraph.c
    [ 94%] ABC: `` Compiling: /src/map/amap/amapLib.c
    [ 94%] ABC: `` Compiling: /src/map/amap/amapLiberty.c
    [ 94%] ABC: `` Compiling: /src/map/amap/amapMan.c
    [ 94%] ABC: `` Compiling: /src/map/amap/amapMatch.c
    [ 94%] ABC: `` Compiling: /src/map/amap/amapMerge.c
    [ 94%] ABC: `` Compiling: /src/map/amap/amapOutput.c
    [ 94%] ABC: `` Compiling: /src/map/amap/amapParse.c
    [ 94%] ABC: `` Compiling: /src/map/amap/amapPerm.c
    [ 94%] ABC: `` Compiling: /src/map/amap/amapRead.c
    [ 94%] ABC: `` Compiling: /src/map/amap/amapRule.c
    [ 94%] ABC: `` Compiling: /src/map/amap/amapUniq.c
    [ 94%] ABC: `` Compiling: /src/map/cov/covBuild.c
    [ 94%] ABC: `` Compiling: /src/map/cov/covCore.c
    [ 94%] ABC: `` Compiling: /src/map/cov/covMan.c
    [ 94%] ABC: `` Compiling: /src/map/cov/covMinEsop.c
    [ 94%] ABC: `` Compiling: /src/map/cov/covMinMan.c
    [ 94%] ABC: `` Compiling: /src/map/cov/covMinSop.c
    [ 94%] ABC: `` Compiling: /src/map/cov/covMinUtil.c
    [ 94%] ABC: `` Compiling: /src/map/scl/scl.c
    [ 94%] ABC: `` Compiling: /src/map/scl/sclBuffer.c
    [ 94%] ABC: `` Compiling: /src/map/scl/sclBufSize.c
    [ 94%] ABC: `` Compiling: /src/map/scl/sclDnsize.c
    [ 94%] ABC: `` Compiling: /src/map/scl/sclLiberty.c
    [ 94%] ABC: `` Compiling: /src/map/scl/sclLibScl.c
    [ 94%] ABC: `` Compiling: /src/map/scl/sclLibUtil.c
    [ 94%] ABC: `` Compiling: /src/map/scl/sclLoad.c
    [ 94%] ABC: `` Compiling: /src/map/scl/sclSize.c
    [ 94%] ABC: `` Compiling: /src/map/scl/sclUpsize.c
    [ 94%] ABC: `` Compiling: /src/map/scl/sclUtil.c
    [ 94%] ABC: `` Compiling: /src/map/mpm/mpmAbc.c
    [ 94%] ABC: `` Compiling: /src/map/mpm/mpmCore.c
    [ 94%] ABC: `` Compiling: /src/map/mpm/mpmDsd.c
    [ 94%] ABC: `` Compiling: /src/map/mpm/mpmGates.c
    [ 94%] ABC: `` Compiling: /src/map/mpm/mpmLib.c
    [ 94%] ABC: `` Compiling: /src/map/mpm/mpmMan.c
    [ 94%] ABC: `` Compiling: /src/map/mpm/mpmMap.c
    [ 94%] ABC: `` Compiling: /src/map/mpm/mpmMig.c
    [ 94%] ABC: `` Compiling: /src/map/mpm/mpmPre.c
    [ 94%] ABC: `` Compiling: /src/map/mpm/mpmTruth.c
    [ 94%] ABC: `` Compiling: /src/map/mpm/mpmUtil.c
    [ 94%] ABC: `` Compiling: /src/misc/extra/extraUtilBitMatrix.c
    [ 94%] ABC: `` Compiling: /src/misc/extra/extraUtilCanon.c
    [ 94%] ABC: `` Compiling: /src/misc/extra/extraUtilCfs.c
    [ 94%] ABC: `` Compiling: /src/misc/extra/extraUtilCube.c
    [ 94%] ABC: `` Compiling: /src/misc/extra/extraUtilDsd.c
    [ 94%] ABC: `` Compiling: /src/misc/extra/extraUtilEnum.c
    [ 94%] ABC: `` Compiling: /src/misc/extra/extraUtilFile.c
    [ 94%] ABC: `` Compiling: /src/misc/extra/extraUtilGen.c
    [ 94%] ABC: `` Compiling: /src/misc/extra/extraUtilMacc.c
    [ 94%] ABC: `` Compiling: /src/misc/extra/extraUtilMaj.c
    [ 94%] ABC: `` Compiling: /src/misc/extra/extraUtilMemory.c
    [ 94%] ABC: `` Compiling: /src/misc/extra/extraUtilMisc.c
    [ 94%] ABC: `` Compiling: /src/misc/extra/extraUtilMult.c
    [ 94%] ABC: `` Compiling: /src/misc/extra/extraUtilPath.c
    [ 94%] ABC: `` Compiling: /src/misc/extra/extraUtilPerm.c
    [ 94%] ABC: `` Compiling: /src/misc/extra/extraUtilProgress.c
    [ 94%] ABC: `` Compiling: /src/misc/extra/extraUtilReader.c
    [ 94%] ABC: `` Compiling: /src/misc/extra/extraUtilSupp.c
    [ 94%] ABC: `` Compiling: /src/misc/extra/extraUtilTruth.c
    [ 94%] ABC: `` Compiling: /src/misc/extra/extraUtilUtil.c
    [ 94%] ABC: `` Compiling: /src/misc/mvc/mvcApi.c
    [ 94%] ABC: `` Compiling: /src/misc/mvc/mvcCompare.c
    [ 94%] ABC: `` Compiling: /src/misc/mvc/mvcContain.c
    [ 94%] ABC: `` Compiling: /src/misc/mvc/mvcCover.c
    [ 94%] ABC: `` Compiling: /src/misc/mvc/mvcCube.c
    [ 94%] ABC: `` Compiling: /src/misc/mvc/mvcDivide.c
    [ 94%] ABC: `` Compiling: /src/misc/mvc/mvcDivisor.c
    [ 94%] ABC: `` Compiling: /src/misc/mvc/mvcList.c
    [ 94%] ABC: `` Compiling: /src/misc/mvc/mvcLits.c
    [ 94%] ABC: `` Compiling: /src/misc/mvc/mvcMan.c
    [ 94%] ABC: `` Compiling: /src/misc/mvc/mvcOpAlg.c
    [ 94%] ABC: `` Compiling: /src/misc/mvc/mvcOpBool.c
    [ 94%] ABC: `` Compiling: /src/misc/mvc/mvcPrint.c
    [ 94%] ABC: `` Compiling: /src/misc/mvc/mvcSort.c
    [ 94%] ABC: `` Compiling: /src/misc/mvc/mvcUtils.c
    [ 94%] ABC: `` Compiling: /src/misc/st/st.c
    [ 94%] ABC: `` Compiling: /src/misc/st/stmm.c
    [ 94%] ABC: `` Compiling: /src/misc/util/utilBridge.c
    [ 94%] ABC: `` Compiling: /src/misc/util/utilCex.c
    [ 94%] ABC: `` Compiling: /src/misc/util/utilColor.c
    [ 94%] ABC: `` Compiling: /src/misc/util/utilFile.c
    [ 94%] ABC: `` Compiling: /src/misc/util/utilIsop.c
    [ 94%] ABC: `` Compiling: /src/misc/util/utilNam.c
    [ 94%] ABC: `` Compiling: /src/misc/util/utilSignal.c
    [ 94%] ABC: `` Compiling: /src/misc/util/utilSort.c
    [ 94%] ABC: `` Compiling: /src/misc/nm/nmApi.c
    [ 94%] ABC: `` Compiling: /src/misc/nm/nmTable.c
    [ 94%] ABC: `` Compiling: /src/misc/tim/timBox.c
    [ 94%] ABC: `` Compiling: /src/misc/tim/timDump.c
    [ 94%] ABC: `` Compiling: /src/misc/tim/timMan.c
    [ 94%] ABC: `` Compiling: /src/misc/tim/timTime.c
    [ 94%] ABC: `` Compiling: /src/misc/tim/timTrav.c
    [ 94%] ABC: `` Compiling: /src/misc/bzlib/blocksort.c
    [ 94%] ABC: `` Compiling: /src/misc/bzlib/bzlib.c
    [ 94%] ABC: `` Compiling: /src/misc/bzlib/compress.c
    [ 94%] ABC: `` Compiling: /src/misc/bzlib/crctable.c
    [ 94%] ABC: `` Compiling: /src/misc/bzlib/decompress.c
    [ 94%] ABC: `` Compiling: /src/misc/bzlib/huffman.c
    [ 94%] ABC: `` Compiling: /src/misc/bzlib/randtable.c
    [ 94%] ABC: `` Compiling: /src/misc/zlib/adler32.c
    [ 94%] ABC: `` Compiling: /src/misc/zlib/compress_.c
    [ 94%] ABC: `` Compiling: /src/misc/zlib/crc32.c
    [ 94%] ABC: `` Compiling: /src/misc/zlib/deflate.c
    [ 94%] ABC: `` Compiling: /src/misc/zlib/gzclose.c
    [ 94%] ABC: `` Compiling: /src/misc/zlib/gzlib.c
    [ 94%] ABC: `` Compiling: /src/misc/zlib/gzread.c
    [ 94%] ABC: `` Compiling: /src/misc/zlib/gzwrite.c
    [ 94%] ABC: `` Compiling: /src/misc/zlib/infback.c
    [ 94%] ABC: `` Compiling: /src/misc/zlib/inffast.c
    [ 94%] ABC: `` Compiling: /src/misc/zlib/inflate.c
    [ 94%] ABC: `` Compiling: /src/misc/zlib/inftrees.c
    [ 94%] ABC: `` Compiling: /src/misc/zlib/trees.c
    [ 94%] ABC: `` Compiling: /src/misc/zlib/uncompr.c
    [ 94%] ABC: `` Compiling: /src/misc/zlib/zutil.c
    [ 94%] ABC: `` Compiling: /src/misc/mem/mem.c
    [ 94%] ABC: `` Compiling: /src/misc/bar/bar.c
    [ 94%] ABC: `` Compiling: /src/misc/bbl/bblif.c
    [ 94%] ABC: `` Compiling: /src/misc/parse/parseEqn.c
    [ 94%] ABC: `` Compiling: /src/misc/parse/parseStack.c
    [ 94%] ABC: `` Compiling: /src/opt/cut/cutApi.c
    [ 94%] ABC: `` Compiling: /src/opt/cut/cutCut.c
    [ 94%] ABC: `` Compiling: /src/opt/cut/cutMan.c
    [ 94%] ABC: `` Compiling: /src/opt/cut/cutMerge.c
    [ 94%] ABC: `` Compiling: /src/opt/cut/cutNode.c
    [ 94%] ABC: `` Compiling: /src/opt/cut/cutOracle.c
    [ 94%] ABC: `` Compiling: /src/opt/cut/cutPre22.c
    [ 94%] ABC: `` Compiling: /src/opt/cut/cutSeq.c
    [ 94%] ABC: `` Compiling: /src/opt/cut/cutTruth.c
    [ 94%] ABC: `` Compiling: /src/opt/fxu/fxu.c
    [ 94%] ABC: `` Compiling: /src/opt/fxu/fxuCreate.c
    [ 94%] ABC: `` Compiling: /src/opt/fxu/fxuHeapD.c
    [ 94%] ABC: `` Compiling: /src/opt/fxu/fxuHeapS.c
    [ 94%] ABC: `` Compiling: /src/opt/fxu/fxuList.c
    [ 94%] ABC: `` Compiling: /src/opt/fxu/fxuMatrix.c
    [ 94%] ABC: `` Compiling: /src/opt/fxu/fxuPair.c
    [ 94%] ABC: `` Compiling: /src/opt/fxu/fxuPrint.c
    [ 94%] ABC: `` Compiling: /src/opt/fxu/fxuReduce.c
    [ 94%] ABC: `` Compiling: /src/opt/fxu/fxuSelect.c
    [ 94%] ABC: `` Compiling: /src/opt/fxu/fxuSingle.c
    [ 94%] ABC: `` Compiling: /src/opt/fxu/fxuUpdate.c
    [ 94%] ABC: `` Compiling: /src/opt/fxch/Fxch.c
    [ 94%] ABC: `` Compiling: /src/opt/fxch/FxchDiv.c
    [ 94%] ABC: `` Compiling: /src/opt/fxch/FxchMan.c
    [ 94%] ABC: `` Compiling: /src/opt/fxch/FxchSCHashTable.c
    [ 94%] ABC: `` Compiling: /src/opt/rwr/rwrDec.c
    [ 94%] ABC: `` Compiling: /src/opt/rwr/rwrEva.c
    [ 94%] ABC: `` Compiling: /src/opt/rwr/rwrExp.c
    [ 94%] ABC: `` Compiling: /src/opt/rwr/rwrLib.c
    [ 94%] ABC: `` Compiling: /src/opt/rwr/rwrMan.c
    [ 94%] ABC: `` Compiling: /src/opt/rwr/rwrPrint.c
    [ 94%] ABC: `` Compiling: /src/opt/rwr/rwrUtil.c
    [ 94%] ABC: `` Compiling: /src/opt/mfs/mfsCore.c
    [ 94%] ABC: `` Compiling: /src/opt/mfs/mfsDiv.c
    [ 94%] ABC: `` Compiling: /src/opt/mfs/mfsInter.c
    [ 94%] ABC: `` Compiling: /src/opt/mfs/mfsMan.c
    [ 94%] ABC: `` Compiling: /src/opt/mfs/mfsResub.c
    [ 94%] ABC: `` Compiling: /src/opt/mfs/mfsSat.c
    [ 94%] ABC: `` Compiling: /src/opt/mfs/mfsStrash.c
    [ 94%] ABC: `` Compiling: /src/opt/mfs/mfsWin.c
    [ 94%] ABC: `` Compiling: /src/opt/sim/simMan.c
    [ 94%] ABC: `` Compiling: /src/opt/sim/simSeq.c
    [ 94%] ABC: `` Compiling: /src/opt/sim/simSupp.c
    [ 94%] ABC: `` Compiling: /src/opt/sim/simSwitch.c
    [ 94%] ABC: `` Compiling: /src/opt/sim/simSym.c
    [ 94%] ABC: `` Compiling: /src/opt/sim/simSymSat.c
    [ 94%] ABC: `` Compiling: /src/opt/sim/simSymSim.c
    [ 94%] ABC: `` Compiling: /src/opt/sim/simSymStr.c
    [ 94%] ABC: `` Compiling: /src/opt/sim/simUtils.c
    [ 94%] ABC: `` Compiling: /src/opt/ret/retArea.c
    [ 94%] ABC: `` Compiling: /src/opt/ret/retCore.c
    [ 94%] ABC: `` Compiling: /src/opt/ret/retDelay.c
    [ 94%] ABC: `` Compiling: /src/opt/ret/retFlow.c
    [ 94%] ABC: `` Compiling: /src/opt/ret/retIncrem.c
    [ 94%] ABC: `` Compiling: /src/opt/ret/retInit.c
    [ 94%] ABC: `` Compiling: /src/opt/ret/retLvalue.c
    [ 94%] ABC: `` Compiling: /src/opt/fret/fretMain.c
    [ 94%] ABC: `` Compiling: /src/opt/fret/fretFlow.c
    [ 94%] ABC: `` Compiling: /src/opt/fret/fretInit.c
    [ 94%] ABC: `` Compiling: /src/opt/fret/fretTime.c
    [ 94%] ABC: `` Compiling: /src/opt/res/resCore.c
    [ 94%] ABC: `` Compiling: /src/opt/res/resDivs.c
    [ 94%] ABC: `` Compiling: /src/opt/res/resFilter.c
    [ 94%] ABC: `` Compiling: /src/opt/res/resSat.c
    [ 94%] ABC: `` Compiling: /src/opt/res/resSim.c
    [ 94%] ABC: `` Compiling: /src/opt/res/resStrash.c
    [ 94%] ABC: `` Compiling: /src/opt/res/resWin.c
    [ 94%] ABC: `` Compiling: /src/opt/lpk/lpkCore.c
    [ 94%] ABC: `` Compiling: /src/opt/lpk/lpkAbcDec.c
    [ 94%] ABC: `` Compiling: /src/opt/lpk/lpkAbcMux.c
    [ 94%] ABC: `` Compiling: /src/opt/lpk/lpkAbcDsd.c
    [ 94%] ABC: `` Compiling: /src/opt/lpk/lpkAbcUtil.c
    [ 94%] ABC: `` Compiling: /src/opt/lpk/lpkCut.c
    [ 94%] ABC: `` Compiling: /src/opt/lpk/lpkMan.c
    [ 94%] ABC: `` Compiling: /src/opt/lpk/lpkMap.c
    [ 94%] ABC: `` Compiling: /src/opt/lpk/lpkMulti.c
    [ 94%] ABC: `` Compiling: /src/opt/lpk/lpkMux.c
    [ 94%] ABC: `` Compiling: /src/opt/lpk/lpkSets.c
    [ 94%] ABC: `` Compiling: /src/opt/nwk/nwkAig.c
    [ 94%] ABC: `` Compiling: /src/opt/nwk/nwkCheck.c
    [ 94%] ABC: `` Compiling: /src/opt/nwk/nwkBidec.c
    [ 94%] ABC: `` Compiling: /src/opt/nwk/nwkDfs.c
    [ 94%] ABC: `` Compiling: /src/opt/nwk/nwkFanio.c
    [ 94%] ABC: `` Compiling: /src/opt/nwk/nwkFlow.c
    [ 94%] ABC: `` Compiling: /src/opt/nwk/nwkMan.c
    [ 94%] ABC: `` Compiling: /src/opt/nwk/nwkMap.c
    [ 94%] ABC: `` Compiling: /src/opt/nwk/nwkMerge.c
    [ 94%] ABC: `` Compiling: /src/opt/nwk/nwkObj.c
    [ 94%] ABC: `` Compiling: /src/opt/nwk/nwkSpeedup.c
    [ 94%] ABC: `` Compiling: /src/opt/nwk/nwkStrash.c
    [ 94%] ABC: `` Compiling: /src/opt/nwk/nwkTiming.c
    [ 94%] ABC: `` Compiling: /src/opt/nwk/nwkUtil.c
    [ 94%] ABC: `` Compiling: /src/opt/rwt/rwtDec.c
    [ 94%] ABC: `` Compiling: /src/opt/rwt/rwtMan.c
    [ 94%] ABC: `` Compiling: /src/opt/rwt/rwtUtil.c
    [ 94%] ABC: `` Compiling: /src/opt/cgt/cgtAig.c
    [ 94%] ABC: `` Compiling: /src/opt/cgt/cgtCore.c
    [ 94%] ABC: `` Compiling: /src/opt/cgt/cgtDecide.c
    [ 94%] ABC: `` Compiling: /src/opt/cgt/cgtMan.c
    [ 94%] ABC: `` Compiling: /src/opt/cgt/cgtSat.c
    [ 94%] ABC: `` Compiling: /src/opt/csw/cswCore.c
    [ 94%] ABC: `` Compiling: /src/opt/csw/cswCut.c
    [ 94%] ABC: `` Compiling: /src/opt/csw/cswMan.c
    [ 94%] ABC: `` Compiling: /src/opt/csw/cswTable.c
    [ 94%] ABC: `` Compiling: /src/opt/dar/darBalance.c
    [ 94%] ABC: `` Compiling: /src/opt/dar/darCore.c
    [ 94%] ABC: `` Compiling: /src/opt/dar/darCut.c
    [ 94%] ABC: `` Compiling: /src/opt/dar/darData.c
    [ 94%] ABC: `` Compiling: /src/opt/dar/darLib.c
    [ 94%] ABC: `` Compiling: /src/opt/dar/darMan.c
    [ 94%] ABC: `` Compiling: /src/opt/dar/darPrec.c
    [ 94%] ABC: `` Compiling: /src/opt/dar/darRefact.c
    [ 94%] ABC: `` Compiling: /src/opt/dar/darScript.c
    [ 94%] ABC: `` Compiling: /src/opt/dau/dauCanon.c
    [ 94%] ABC: `` Compiling: /src/opt/dau/dauCore.c
    [ 94%] ABC: `` Compiling: /src/opt/dau/dauCount.c
    [ 94%] ABC: `` Compiling: /src/opt/dau/dauDivs.c
    [ 94%] ABC: `` Compiling: /src/opt/dau/dauDsd.c
    [ 94%] ABC: `` Compiling: /src/opt/dau/dauEnum.c
    [ 94%] ABC: `` Compiling: /src/opt/dau/dauGia.c
    [ 94%] ABC: `` Compiling: /src/opt/dau/dauMerge.c
    [ 94%] ABC: `` Compiling: /src/opt/dau/dauNonDsd.c
    [ 94%] ABC: `` Compiling: /src/opt/dau/dauNpn.c
    [ 94%] ABC: `` Compiling: /src/opt/dau/dauNpn2.c
    [ 94%] ABC: `` Compiling: /src/opt/dau/dauTree.c
    [ 94%] ABC: `` Compiling: /src/opt/dsc/dsc.c
    [ 94%] ABC: `` Compiling: /src/opt/sfm/sfmArea.c
    [ 94%] ABC: `` Compiling: /src/opt/sfm/sfmCnf.c
    [ 94%] ABC: `` Compiling: /src/opt/sfm/sfmCore.c
    [ 94%] ABC: `` Compiling: /src/opt/sfm/sfmDec.c
    [ 94%] ABC: `` Compiling: /src/opt/sfm/sfmLib.c
    [ 94%] ABC: `` Compiling: /src/opt/sfm/sfmNtk.c
    [ 94%] ABC: `` Compiling: /src/opt/sfm/sfmSat.c
    [ 94%] ABC: `` Compiling: /src/opt/sfm/sfmTim.c
    [ 94%] ABC: `` Compiling: /src/opt/sfm/sfmMit.c
    [ 94%] ABC: `` Compiling: /src/opt/sfm/sfmWin.c
    [ 94%] ABC: `` Compiling: /src/opt/sbd/sbd.c
    [ 94%] ABC: `` Compiling: /src/opt/sbd/sbdCnf.c
    [ 94%] ABC: `` Compiling: /src/opt/sbd/sbdCore.c
    [ 94%] ABC: `` Compiling: /src/opt/sbd/sbdCut.c
    [ 94%] ABC: `` Compiling: /src/opt/sbd/sbdCut2.c
    [ 94%] ABC: `` Compiling: /src/opt/sbd/sbdLut.c
    [ 94%] ABC: `` Compiling: /src/opt/sbd/sbdPath.c
    [ 94%] ABC: `` Compiling: /src/opt/sbd/sbdSat.c
    [ 94%] ABC: `` Compiling: /src/opt/sbd/sbdWin.c
    [ 94%] ABC: `` Compiling: /src/sat/bsat/satMem.c
    [ 94%] ABC: `` Compiling: /src/sat/bsat/satInter.c
    [ 94%] ABC: `` Compiling: /src/sat/bsat/satInterA.c
    [ 94%] ABC: `` Compiling: /src/sat/bsat/satInterB.c
    [ 94%] ABC: `` Compiling: /src/sat/bsat/satInterP.c
    [ 94%] ABC: `` Compiling: /src/sat/bsat/satProof.c
    [ 94%] ABC: `` Compiling: /src/sat/bsat/satSolver.c
    [ 94%] ABC: `` Compiling: /src/sat/bsat/satSolver2.c
    [ 94%] ABC: `` Compiling: /src/sat/bsat/satSolver2i.c
    [ 94%] ABC: `` Compiling: /src/sat/bsat/satSolver3.c
    [ 94%] ABC: `` Compiling: /src/sat/bsat/satStore.c
    [ 94%] ABC: `` Compiling: /src/sat/bsat/satTrace.c
    [ 94%] ABC: `` Compiling: /src/sat/bsat/satTruth.c
    [ 94%] ABC: `` Compiling: /src/sat/bsat/satUtil.c
    [ 94%] ABC: `` Compiling: /src/sat/xsat/xsatSolver.c
    [ 94%] ABC: `` Compiling: /src/sat/xsat/xsatSolverAPI.c
    In file included from src/sat/xsat/xsatSolver.c:30:
    src/sat/xsat/xsatSolver.h:227:40: warning: format specifies type 'long' but the argument has type 'iword' (aka 'long long') [-Wformat]
        printf( "conflicts     : %10ld\n", s->Stats.nConflicts );
                                 ~~~~~     ^~~~~~~~~~~~~~~~~~~
                                 %10lld
    src/sat/xsat/xsatSolver.h:228:40: warning: format specifies type 'long' but the argument has type 'iword' (aka 'long long') [-Wformat]
        printf( "decisions     : %10ld\n", s->Stats.nDecisions );
                                 ~~~~~     ^~~~~~~~~~~~~~~~~~~
                                 %10lld
    src/sat/xsat/xsatSolver.h:229:40: warning: format specifies type 'long' but the argument has type 'iword' (aka 'long long') [-Wformat]
        printf( "propagations  : %10ld\n", s->Stats.nPropagations );
                                 ~~~~~     ^~~~~~~~~~~~~~~~~~~~~~
                                 %10lld
    [ 94%] ABC: `` Compiling: /src/sat/xsat/xsatCnfReader.c
    In file included from src/sat/xsat/xsatSolverAPI.c:29:
    src/sat/xsat/xsatSolver.h:227:40: warning: format specifies type 'long' but the argument has type 'iword' (aka 'long long') [-Wformat]
        printf( "conflicts     : %10ld\n", s->Stats.nConflicts );
                                 ~~~~~     ^~~~~~~~~~~~~~~~~~~
                                 %10lld
    src/sat/xsat/xsatSolver.h:228:40: warning: format specifies type 'long' but the argument has type 'iword' (aka 'long long') [-Wformat]
        printf( "decisions     : %10ld\n", s->Stats.nDecisions );
                                 ~~~~~     ^~~~~~~~~~~~~~~~~~~
                                 %10lld
    src/sat/xsat/xsatSolver.h:229:40: warning: format specifies type 'long' but the argument has type 'iword' (aka 'long long') [-Wformat]
        printf( "propagations  : %10ld\n", s->Stats.nPropagations );
                                 ~~~~~     ^~~~~~~~~~~~~~~~~~~~~~
                                 %10lld
    src/sat/xsat/xsatSolverAPI.c:341:40: warning: format specifies type 'long' but the argument has type 'iword' (aka 'long long') [-Wformat]
        printf( "conflicts     : %10ld\n", s->Stats.nConflicts );
                                 ~~~~~     ^~~~~~~~~~~~~~~~~~~
                                 %10lld
    src/sat/xsat/xsatSolverAPI.c:342:40: warning: format specifies type 'long' but the argument has type 'iword' (aka 'long long') [-Wformat]
        printf( "decisions     : %10ld\n", s->Stats.nDecisions );
                                 ~~~~~     ^~~~~~~~~~~~~~~~~~~
                                 %10lld
    src/sat/xsat/xsatSolverAPI.c:343:40: warning: format specifies type 'long' but the argument has type 'iword' (aka 'long long') [-Wformat]
        printf( "propagations  : %10ld\n", s->Stats.nPropagations );
                                 ~~~~~     ^~~~~~~~~~~~~~~~~~~~~~
                                 %10lld
    In file included from src/sat/xsat/xsatCnfReader.c:30:
    src/sat/xsat/xsatSolver.h:227:40: warning: format specifies type 'long' but the argument has type 'iword' (aka 'long long') [-Wformat]
        printf( "conflicts     : %10ld\n", s->Stats.nConflicts );
                                 ~~~~~     ^~~~~~~~~~~~~~~~~~~
                                 %10lld
    src/sat/xsat/xsatSolver.h:228:40: warning: format specifies type 'long' but the argument has type 'iword' (aka 'long long') [-Wformat]
        printf( "decisions     : %10ld\n", s->Stats.nDecisions );
                                 ~~~~~     ^~~~~~~~~~~~~~~~~~~
                                 %10lld
    src/sat/xsat/xsatSolver.h:229:40: warning: format specifies type 'long' but the argument has type 'iword' (aka 'long long') [-Wformat]
        printf( "propagations  : %10ld\n", s->Stats.nPropagations );
                                 ~~~~~     ^~~~~~~~~~~~~~~~~~~~~~
                                 %10lld
    3 warnings generated.
    [ 94%] ABC: `` Compiling: /src/sat/satoko/solver.c
    In file included from src/sat/satoko/solver.c:14:
    In file included from src/sat/satoko/act_clause.h:12:
    In file included from src/sat/satoko/solver.h:17:
    In file included from src/sat/satoko/clause.h:12:
    In file included from src/sat/satoko/types.h:12:
    src/sat/satoko/utils/sdbl.h:124:24: warning: format specifies type 'unsigned long' but the argument has type 'sdbl_t' (aka 'unsigned long long') [-Wformat]
        printf("%016lX\n", double2sdbl(1 /0.95));
                ~~~~~~     ^~~~~~~~~~~~~~~~~~~~
                %016llX
    src/sat/satoko/utils/sdbl.h:125:24: warning: format specifies type 'unsigned long' but the argument has type 'sdbl_t' (aka 'unsigned long long') [-Wformat]
        printf("%016lX\n", SDBL_CONST1);
                ~~~~~~     ^~~~~~~~~~~
                %016llX
    6 warnings generated.
    [ 94%] ABC: `` Compiling: /src/sat/satoko/solver_api.c
    In file included from src/sat/satoko/solver_api.c:14:
    In file included from src/sat/satoko/act_var.h:12:
    In file included from src/sat/satoko/solver.h:17:
    In file included from src/sat/satoko/clause.h:12:
    In file included from src/sat/satoko/types.h:12:
    src/sat/satoko/utils/sdbl.h:124:24: warning: format specifies type 'unsigned long' but the argument has type 'sdbl_t' (aka 'unsigned long long') [-Wformat]
        printf("%016lX\n", double2sdbl(1 /0.95));
                ~~~~~~     ^~~~~~~~~~~~~~~~~~~~
                %016llX
    src/sat/satoko/utils/sdbl.h:125:24: warning: format specifies type 'unsigned long' but the argument has type 'sdbl_t' (aka 'unsigned long long') [-Wformat]
        printf("%016lX\n", SDBL_CONST1);
                ~~~~~~     ^~~~~~~~~~~
                %016llX
    [ 94%] ABC: `` Compiling: /src/sat/satoko/cnf_reader.c
    In file included from src/sat/satoko/cnf_reader.c:15:
    In file included from src/sat/satoko/satoko.h:12:
    In file included from src/sat/satoko/types.h:12:
    src/sat/satoko/utils/sdbl.h:124:24: warning: format specifies type 'unsigned long' but the argument has type 'sdbl_t' (aka 'unsigned long long') [-Wformat]
        printf("%016lX\n", double2sdbl(1 /0.95));
                ~~~~~~     ^~~~~~~~~~~~~~~~~~~~
                %016llX
    src/sat/satoko/utils/sdbl.h:125:24: warning: format specifies type 'unsigned long' but the argument has type 'sdbl_t' (aka 'unsigned long long') [-Wformat]
        printf("%016lX\n", SDBL_CONST1);
                ~~~~~~     ^~~~~~~~~~~
                %016llX
    2 warnings generated.
    [ 94%] ABC: `` Compiling: /src/sat/csat/csat_apis.c
    [ 94%] ABC: `` Compiling: /src/sat/msat/msatActivity.c
    [ 94%] ABC: `` Compiling: /src/sat/msat/msatClause.c
    2 warnings generated.
    [ 94%] ABC: `` Compiling: /src/sat/msat/msatClauseVec.c
    [ 94%] ABC: `` Compiling: /src/sat/msat/msatMem.c
    [ 94%] ABC: `` Compiling: /src/sat/msat/msatOrderH.c
    [ 94%] ABC: `` Compiling: /src/sat/msat/msatQueue.c
    [ 94%] ABC: `` Compiling: /src/sat/msat/msatRead.c
    [ 94%] ABC: `` Compiling: /src/sat/msat/msatSolverApi.c
    [ 94%] ABC: `` Compiling: /src/sat/msat/msatSolverCore.c
    3 warnings generated.
    [ 94%] ABC: `` Compiling: /src/sat/msat/msatSolverIo.c
    [ 94%] ABC: `` Compiling: /src/sat/msat/msatSolverSearch.c
    [ 94%] ABC: `` Compiling: /src/sat/msat/msatSort.c
    [ 94%] ABC: `` Compiling: /src/sat/msat/msatVec.c
    [ 94%] ABC: `` Compiling: /src/sat/cnf/cnfCore.c
    [ 94%] ABC: `` Compiling: /src/sat/cnf/cnfCut.c
    [ 94%] ABC: `` Compiling: /src/sat/cnf/cnfData.c
    [ 94%] ABC: `` Compiling: /src/sat/cnf/cnfFast.c
    [ 94%] ABC: `` Compiling: /src/sat/cnf/cnfMan.c
    [ 94%] ABC: `` Compiling: /src/sat/cnf/cnfMap.c
    [ 94%] ABC: `` Compiling: /src/sat/cnf/cnfPost.c
    [ 94%] ABC: `` Compiling: /src/sat/cnf/cnfUtil.c
    [ 94%] ABC: `` Compiling: /src/sat/cnf/cnfWrite.c
    [ 94%] ABC: `` Compiling: /src/sat/bmc/bmcBCore.c
    [ 94%] ABC: `` Compiling: /src/sat/bmc/bmcBmc.c
    2 warnings generated.
    [ 94%] ABC: `` Compiling: /src/sat/bmc/bmcBmc2.c
    In file included from src/sat/bmc/bmcBmc.c:24:
    In file included from ./src/sat/satoko/satoko.h:12:
    In file included from ./src/sat/satoko/types.h:12:
    ./src/sat/satoko/utils/sdbl.h:124:24: warning: format specifies type 'unsigned long' but the argument has type 'sdbl_t' (aka 'unsigned long long') [-Wformat]
        printf("%016lX\n", double2sdbl(1 /0.95));
                ~~~~~~     ^~~~~~~~~~~~~~~~~~~~
                %016llX
    ./src/sat/satoko/utils/sdbl.h:125:24: warning: format specifies type 'unsigned long' but the argument has type 'sdbl_t' (aka 'unsigned long long') [-Wformat]
        printf("%016lX\n", SDBL_CONST1);
                ~~~~~~     ^~~~~~~~~~~
                %016llX
    In file included from src/sat/bmc/bmcBmc2.c:23:
    In file included from ./src/sat/satoko/satoko.h:12:
    In file included from ./src/sat/satoko/types.h:12:
    ./src/sat/satoko/utils/sdbl.h:124:24: warning: format specifies type 'unsigned long' but the argument has type 'sdbl_t' (aka 'unsigned long long') [-Wformat]
        printf("%016lX\n", double2sdbl(1 /0.95));
                ~~~~~~     ^~~~~~~~~~~~~~~~~~~~
                %016llX
    ./src/sat/satoko/utils/sdbl.h:125:24: warning: format specifies type 'unsigned long' but the argument has type 'sdbl_t' (aka 'unsigned long long') [-Wformat]
        printf("%016lX\n", SDBL_CONST1);
                ~~~~~~     ^~~~~~~~~~~
                %016llX
    [ 94%] ABC: `` Compiling: /src/sat/bmc/bmcBmc3.c
    [ 94%] ABC: `` Compiling: /src/sat/bmc/bmcBmcAnd.c
    In file included from src/sat/bmc/bmcBmc3.c:24:
    In file included from ./src/sat/satoko/satoko.h:12:
    In file included from ./src/sat/satoko/types.h:12:
    ./src/sat/satoko/utils/sdbl.h:124:24: warning: format specifies type 'unsigned long' but the argument has type 'sdbl_t' (aka 'unsigned long long') [-Wformat]
        printf("%016lX\n", double2sdbl(1 /0.95));
                ~~~~~~     ^~~~~~~~~~~~~~~~~~~~
                %016llX
    ./src/sat/satoko/utils/sdbl.h:125:24: warning: format specifies type 'unsigned long' but the argument has type 'sdbl_t' (aka 'unsigned long long') [-Wformat]
        printf("%016lX\n", SDBL_CONST1);
                ~~~~~~     ^~~~~~~~~~~
                %016llX
    [ 94%] ABC: `` Compiling: /src/sat/bmc/bmcBmci.c
    [ 94%] ABC: `` Compiling: /src/sat/bmc/bmcBmcG.c
    2 warnings generated.
    [ 94%] ABC: `` Compiling: /src/sat/bmc/bmcBmcS.c
    [ 94%] ABC: `` Compiling: /src/sat/bmc/bmcCexCare.c
    In file included from src/sat/bmc/bmcBmcS.c:23:
    In file included from ./src/sat/satoko/satoko.h:12:
    In file included from ./src/sat/satoko/types.h:12:
    ./src/sat/satoko/utils/sdbl.h:124:24: warning: format specifies type 'unsigned long' but the argument has type 'sdbl_t' (aka 'unsigned long long') [-Wformat]
        printf("%016lX\n", double2sdbl(1 /0.95));
                ~~~~~~     ^~~~~~~~~~~~~~~~~~~~
                %016llX
    ./src/sat/satoko/utils/sdbl.h:125:24: warning: format specifies type 'unsigned long' but the argument has type 'sdbl_t' (aka 'unsigned long long') [-Wformat]
        printf("%016lX\n", SDBL_CONST1);
                ~~~~~~     ^~~~~~~~~~~
                %016llX
    [ 94%] ABC: `` Compiling: /src/sat/bmc/bmcCexCut.c
    2 warnings generated.
    [ 94%] ABC: `` Compiling: /src/sat/bmc/bmcCexDepth.c
    [ 94%] ABC: `` Compiling: /src/sat/bmc/bmcCexMin1.c
    [ 94%] ABC: `` Compiling: /src/sat/bmc/bmcCexMin2.c
    [ 94%] ABC: `` Compiling: /src/sat/bmc/bmcCexTools.c
    [ 94%] ABC: `` Compiling: /src/sat/bmc/bmcChain.c
    [ 94%] ABC: `` Compiling: /src/sat/bmc/bmcClp.c
    [ 94%] ABC: `` Compiling: /src/sat/bmc/bmcEco.c
    [ 94%] ABC: `` Compiling: /src/sat/bmc/bmcExpand.c
    [ 94%] ABC: `` Compiling: /src/sat/bmc/bmcFault.c
    2 warnings generated.
    [ 94%] ABC: `` Compiling: /src/sat/bmc/bmcFx.c
    [ 94%] ABC: `` Compiling: /src/sat/bmc/bmcGen.c
    [ 94%] ABC: `` Compiling: /src/sat/bmc/bmcICheck.c
    2 warnings generated.
    [ 94%] ABC: `` Compiling: /src/sat/bmc/bmcInse.c
    [ 94%] ABC: `` Compiling: /src/sat/bmc/bmcLoad.c
    [ 94%] ABC: `` Compiling: /src/sat/bmc/bmcMaj.c
    [ 94%] ABC: `` Compiling: /src/sat/bmc/bmcMaj2.c
    [ 94%] ABC: `` Compiling: /src/sat/bmc/bmcMaj3.c
    [ 94%] ABC: `` Compiling: /src/sat/bmc/bmcMaxi.c
    [ 94%] ABC: `` Compiling: /src/sat/bmc/bmcMesh.c
    [ 94%] ABC: `` Compiling: /src/sat/bmc/bmcMesh2.c
    In file included from src/sat/bmc/bmcMesh.c:22:
    In file included from ./src/sat/satoko/satoko.h:12:
    In file included from ./src/sat/satoko/types.h:12:
    ./src/sat/satoko/utils/sdbl.h:124:24: warning: format specifies type 'unsigned long' but the argument has type 'sdbl_t' (aka 'unsigned long long') [-Wformat]
        printf("%016lX\n", double2sdbl(1 /0.95));
                ~~~~~~     ^~~~~~~~~~~~~~~~~~~~
                %016llX
    ./src/sat/satoko/utils/sdbl.h:125:24: warning: format specifies type 'unsigned long' but the argument has type 'sdbl_t' (aka 'unsigned long long') [-Wformat]
        printf("%016lX\n", SDBL_CONST1);
                ~~~~~~     ^~~~~~~~~~~
                %016llX
    [ 94%] ABC: `` Compiling: /src/sat/bmc/bmcMulti.c
    [ 94%] ABC: `` Compiling: /src/sat/bmc/bmcUnroll.c
    2 warnings generated.
    [ 94%] ABC: `` Compiling: /src/bool/bdc/bdcCore.c
    [ 94%] ABC: `` Compiling: /src/bool/bdc/bdcDec.c
    [ 94%] ABC: `` Compiling: /src/bool/bdc/bdcSpfd.c
    [ 94%] ABC: `` Compiling: /src/bool/bdc/bdcTable.c
    [ 94%] ABC: `` Compiling: /src/bool/dec/decAbc.c
    [ 94%] ABC: `` Compiling: /src/bool/dec/decFactor.c
    [ 94%] ABC: `` Compiling: /src/bool/dec/decMan.c
    [ 94%] ABC: `` Compiling: /src/bool/dec/decPrint.c
    [ 94%] ABC: `` Compiling: /src/bool/dec/decUtil.c
    [ 94%] ABC: `` Compiling: /src/bool/kit/kitAig.c
    [ 94%] ABC: `` Compiling: /src/bool/kit/kitBdd.c
    [ 94%] ABC: `` Compiling: /src/bool/kit/kitCloud.c
    [ 94%] ABC: `` Compiling: /src/bool/kit/cloud.c
    [ 94%] ABC: `` Compiling: /src/bool/kit/kitDsd.c
    [ 94%] ABC: `` Compiling: /src/bool/kit/kitFactor.c
    [ 94%] ABC: `` Compiling: /src/bool/kit/kitGraph.c
    [ 94%] ABC: `` Compiling: /src/bool/kit/kitHop.c
    [ 94%] ABC: `` Compiling: /src/bool/kit/kitIsop.c
    [ 94%] ABC: `` Compiling: /src/bool/kit/kitPla.c
    [ 94%] ABC: `` Compiling: /src/bool/kit/kitSop.c
    [ 94%] ABC: `` Compiling: /src/bool/kit/kitTruth.c
    [ 94%] ABC: `` Compiling: /src/bool/lucky/lucky.c
    [ 94%] ABC: `` Compiling: /src/bool/lucky/luckyFast16.c
    [ 94%] ABC: `` Compiling: /src/bool/lucky/luckyFast6.c
    [ 94%] ABC: `` Compiling: /src/bool/lucky/luckyRead.c
    [ 94%] ABC: `` Compiling: /src/bool/lucky/luckySimple.c
    [ 94%] ABC: `` Compiling: /src/bool/lucky/luckySwapIJ.c
    [ 94%] ABC: `` Compiling: /src/bool/lucky/luckySwap.c
    [ 94%] ABC: `` Compiling: /src/bool/rsb/rsbDec6.c
    [ 94%] ABC: `` Compiling: /src/bool/rsb/rsbMan.c
    [ 94%] ABC: `` Compiling: /src/bool/rpo/rpo.c
    [ 94%] ABC: `` Compiling: /src/proof/pdr/pdrCnf.c
    [ 94%] ABC: `` Compiling: /src/proof/pdr/pdrCore.c
    [ 94%] ABC: `` Compiling: /src/proof/pdr/pdrIncr.c
    [ 94%] ABC: `` Compiling: /src/proof/pdr/pdrInv.c
    [ 94%] ABC: `` Compiling: /src/proof/pdr/pdrMan.c
    [ 94%] ABC: `` Compiling: /src/proof/pdr/pdrSat.c
    [ 94%] ABC: `` Compiling: /src/proof/pdr/pdrTsim.c
    [ 94%] ABC: `` Compiling: /src/proof/pdr/pdrTsim2.c
    [ 94%] ABC: `` Compiling: /src/proof/pdr/pdrTsim3.c
    [ 94%] ABC: `` Compiling: /src/proof/pdr/pdrUtil.c
    [ 94%] ABC: `` Compiling: /src/proof/abs/absDup.c
    [ 94%] ABC: `` Compiling: /src/proof/abs/absGla.c
    [ 94%] ABC: `` Compiling: /src/proof/abs/absGlaOld.c
    [ 94%] ABC: `` Compiling: /src/proof/abs/absIter.c
    [ 94%] ABC: `` Compiling: /src/proof/abs/absOldCex.c
    [ 94%] ABC: `` Compiling: /src/proof/abs/absOldRef.c
    [ 94%] ABC: `` Compiling: /src/proof/abs/absOldSat.c
    [ 94%] ABC: `` Compiling: /src/proof/abs/absOldSim.c
    [ 94%] ABC: `` Compiling: /src/proof/abs/absOut.c
    [ 94%] ABC: `` Compiling: /src/proof/abs/absPth.c
    [ 94%] ABC: `` Compiling: /src/proof/abs/absRef.c
    [ 94%] ABC: `` Compiling: /src/proof/abs/absRefSelect.c
    [ 94%] ABC: `` Compiling: /src/proof/abs/absRpm.c
    [ 94%] ABC: `` Compiling: /src/proof/abs/absRpmOld.c
    [ 94%] ABC: `` Compiling: /src/proof/abs/absVta.c
    [ 94%] ABC: `` Compiling: /src/proof/abs/absUtil.c
    [ 94%] ABC: `` Compiling: /src/proof/live/liveness.c
    [ 94%] ABC: `` Compiling: /src/proof/live/liveness_sim.c
    [ 94%] ABC: `` Compiling: /src/proof/live/ltl_parser.c
    [ 94%] ABC: `` Compiling: /src/proof/live/kliveness.c
    [ 94%] ABC: `` Compiling: /src/proof/live/monotone.c
    [ 94%] ABC: `` Compiling: /src/proof/live/disjunctiveMonotone.c
    [ 94%] ABC: `` Compiling: /src/proof/live/arenaViolation.c
    [ 94%] ABC: `` Compiling: /src/proof/live/kLiveConstraints.c
    [ 94%] ABC: `` Compiling: /src/proof/live/combination.c
    [ 94%] ABC: `` Compiling: /src/proof/ssc/sscClass.c
    [ 94%] ABC: `` Compiling: /src/proof/ssc/sscCore.c
    [ 94%] ABC: `` Compiling: /src/proof/ssc/sscSat.c
    [ 94%] ABC: `` Compiling: /src/proof/ssc/sscSim.c
    [ 94%] ABC: `` Compiling: /src/proof/ssc/sscUtil.c
    [ 94%] ABC: `` Compiling: /src/proof/int/intCheck.c
    [ 94%] ABC: `` Compiling: /src/proof/int/intContain.c
    [ 94%] ABC: `` Compiling: /src/proof/int/intCore.c
    [ 94%] ABC: `` Compiling: /src/proof/int/intCtrex.c
    [ 94%] ABC: `` Compiling: /src/proof/int/intDup.c
    [ 94%] ABC: `` Compiling: /src/proof/int/intFrames.c
    [ 94%] ABC: `` Compiling: /src/proof/int/intInter.c
    [ 94%] ABC: `` Compiling: /src/proof/int/intM114.c
    [ 94%] ABC: `` Compiling: /src/proof/int/intMan.c
    [ 94%] ABC: `` Compiling: /src/proof/int/intUtil.c
    [ 94%] ABC: `` Compiling: /src/proof/cec/cecCec.c
    [ 94%] ABC: `` Compiling: /src/proof/cec/cecChoice.c
    [ 94%] ABC: `` Compiling: /src/proof/cec/cecClass.c
    [ 94%] ABC: `` Compiling: /src/proof/cec/cecCore.c
    [ 94%] ABC: `` Compiling: /src/proof/cec/cecCorr.c
    [ 94%] ABC: `` Compiling: /src/proof/cec/cecIso.c
    [ 94%] ABC: `` Compiling: /src/proof/cec/cecMan.c
    [ 94%] ABC: `` Compiling: /src/proof/cec/cecPat.c
    [ 94%] ABC: `` Compiling: /src/proof/cec/cecSat.c
    [ 94%] ABC: `` Compiling: /src/proof/cec/cecSatG.c
    [ 94%] ABC: `` Compiling: /src/proof/cec/cecSeq.c
    [ 94%] ABC: `` Compiling: /src/proof/cec/cecSolve.c
    In file included from src/proof/cec/cecSat.c:23:
    In file included from ./src/sat/satoko/satoko.h:12:
    In file included from ./src/sat/satoko/types.h:12:
    ./src/sat/satoko/utils/sdbl.h:124:24: warning: format specifies type 'unsigned long' but the argument has type 'sdbl_t' (aka 'unsigned long long') [-Wformat]
        printf("%016lX\n", double2sdbl(1 /0.95));
                ~~~~~~     ^~~~~~~~~~~~~~~~~~~~
                %016llX
    ./src/sat/satoko/utils/sdbl.h:125:24: warning: format specifies type 'unsigned long' but the argument has type 'sdbl_t' (aka 'unsigned long long') [-Wformat]
        printf("%016lX\n", SDBL_CONST1);
                ~~~~~~     ^~~~~~~~~~~
                %016llX
    [ 94%] ABC: `` Compiling: /src/proof/cec/cecSplit.c
    [ 94%] ABC: `` Compiling: /src/proof/cec/cecSynth.c
    [ 94%] ABC: `` Compiling: /src/proof/cec/cecSweep.c
    [ 94%] ABC: `` Compiling: /src/proof/acec/acecCl.c
    [ 94%] ABC: `` Compiling: /src/proof/acec/acecCore.c
    [ 94%] ABC: `` Compiling: /src/proof/acec/acecCo.c
    [ 94%] ABC: `` Compiling: /src/proof/acec/acecBo.c
    [ 94%] ABC: `` Compiling: /src/proof/acec/acecRe.c
    [ 94%] ABC: `` Compiling: /src/proof/acec/acecPa.c
    [ 94%] ABC: `` Compiling: /src/proof/acec/acecPo.c
    [ 94%] ABC: `` Compiling: /src/proof/acec/acecPool.c
    [ 94%] ABC: `` Compiling: /src/proof/acec/acecCover.c
    [ 94%] ABC: `` Compiling: /src/proof/acec/acecFadds.c
    2 warnings generated.
    [ 94%] ABC: `` Compiling: /src/proof/acec/acecMult.c
    [ 94%] ABC: `` Compiling: /src/proof/acec/acecNorm.c
    [ 94%] ABC: `` Compiling: /src/proof/acec/acecOrder.c
    [ 94%] ABC: `` Compiling: /src/proof/acec/acecPolyn.c
    [ 94%] ABC: `` Compiling: /src/proof/acec/acecSt.c
    [ 94%] ABC: `` Compiling: /src/proof/acec/acecTree.c
    [ 94%] ABC: `` Compiling: /src/proof/acec/acecUtil.c
    [ 94%] ABC: `` Compiling: /src/proof/acec/acec2Mult.c
    [ 94%] ABC: `` Compiling: /src/proof/acec/acecXor.c
    [ 94%] ABC: `` Compiling: /src/proof/dch/dchAig.c
    [ 94%] ABC: `` Compiling: /src/proof/dch/dchChoice.c
    [ 94%] ABC: `` Compiling: /src/proof/dch/dchClass.c
    [ 94%] ABC: `` Compiling: /src/proof/dch/dchCnf.c
    [ 94%] ABC: `` Compiling: /src/proof/dch/dchCore.c
    [ 94%] ABC: `` Compiling: /src/proof/dch/dchMan.c
    [ 94%] ABC: `` Compiling: /src/proof/dch/dchSat.c
    [ 94%] ABC: `` Compiling: /src/proof/dch/dchSim.c
    [ 94%] ABC: `` Compiling: /src/proof/dch/dchSimSat.c
    [ 94%] ABC: `` Compiling: /src/proof/dch/dchSweep.c
    [ 94%] ABC: `` Compiling: /src/proof/fraig/fraigApi.c
    [ 94%] ABC: `` Compiling: /src/proof/fraig/fraigCanon.c
    [ 94%] ABC: `` Compiling: /src/proof/fraig/fraigFanout.c
    [ 94%] ABC: `` Compiling: /src/proof/fraig/fraigFeed.c
    [ 94%] ABC: `` Compiling: /src/proof/fraig/fraigMan.c
    [ 94%] ABC: `` Compiling: /src/proof/fraig/fraigMem.c
    [ 94%] ABC: `` Compiling: /src/proof/fraig/fraigNode.c
    [ 94%] ABC: `` Compiling: /src/proof/fraig/fraigPrime.c
    [ 94%] ABC: `` Compiling: /src/proof/fraig/fraigSat.c
    [ 94%] ABC: `` Compiling: /src/proof/fraig/fraigTable.c
    [ 94%] ABC: `` Compiling: /src/proof/fraig/fraigUtil.c
    [ 94%] ABC: `` Compiling: /src/proof/fraig/fraigVec.c
    [ 94%] ABC: `` Compiling: /src/proof/fra/fraBmc.c
    [ 94%] ABC: `` Compiling: /src/proof/fra/fraCec.c
    [ 94%] ABC: `` Compiling: /src/proof/fra/fraClass.c
    [ 94%] ABC: `` Compiling: /src/proof/fra/fraClau.c
    [ 94%] ABC: `` Compiling: /src/proof/fra/fraClaus.c
    [ 94%] ABC: `` Compiling: /src/proof/fra/fraCnf.c
    [ 94%] ABC: `` Compiling: /src/proof/fra/fraCore.c
    [ 94%] ABC: `` Compiling: /src/proof/fra/fraHot.c
    [ 94%] ABC: `` Compiling: /src/proof/fra/fraImp.c
    [ 94%] ABC: `` Compiling: /src/proof/fra/fraInd.c
    [ 94%] ABC: `` Compiling: /src/proof/fra/fraIndVer.c
    [ 94%] ABC: `` Compiling: /src/proof/fra/fraLcr.c
    [ 94%] ABC: `` Compiling: /src/proof/fra/fraMan.c
    [ 94%] ABC: `` Compiling: /src/proof/fra/fraPart.c
    [ 94%] ABC: `` Compiling: /src/proof/fra/fraSat.c
    [ 94%] ABC: `` Compiling: /src/proof/fra/fraSec.c
    [ 94%] ABC: `` Compiling: /src/proof/fra/fraSim.c
    [ 94%] ABC: `` Compiling: /src/proof/ssw/sswAig.c
    [ 94%] ABC: `` Compiling: /src/proof/ssw/sswBmc.c
    [ 94%] ABC: `` Compiling: /src/proof/ssw/sswClass.c
    [ 94%] ABC: `` Compiling: /src/proof/ssw/sswCnf.c
    [ 94%] ABC: `` Compiling: /src/proof/ssw/sswConstr.c
    [ 94%] ABC: `` Compiling: /src/proof/ssw/sswCore.c
    [ 94%] ABC: `` Compiling: /src/proof/ssw/sswDyn.c
    [ 94%] ABC: `` Compiling: /src/proof/ssw/sswFilter.c
    [ 94%] ABC: `` Compiling: /src/proof/ssw/sswIslands.c
    [ 94%] ABC: `` Compiling: /src/proof/ssw/sswLcorr.c
    [ 94%] ABC: `` Compiling: /src/proof/ssw/sswMan.c
    [ 94%] ABC: `` Compiling: /src/proof/ssw/sswPart.c
    [ 94%] ABC: `` Compiling: /src/proof/ssw/sswPairs.c
    [ 94%] ABC: `` Compiling: /src/proof/ssw/sswRarity.c
    [ 94%] ABC: `` Compiling: /src/proof/ssw/sswSat.c
    [ 94%] ABC: `` Compiling: /src/proof/ssw/sswSemi.c
    [ 94%] ABC: `` Compiling: /src/proof/ssw/sswSim.c
    [ 94%] ABC: `` Compiling: /src/proof/ssw/sswSimSat.c
    [ 94%] ABC: `` Compiling: /src/proof/ssw/sswSweep.c
    [ 94%] ABC: `` Compiling: /src/proof/ssw/sswUnique.c
    [ 94%] ABC: `` Compiling: /src/aig/aig/aigCheck.c
    [ 94%] ABC: `` Compiling: /src/aig/aig/aigCanon.c
    [ 94%] ABC: `` Compiling: /src/aig/aig/aigCuts.c
    [ 94%] ABC: `` Compiling: /src/aig/aig/aigDfs.c
    [ 94%] ABC: `` Compiling: /src/aig/aig/aigDup.c
    [ 94%] ABC: `` Compiling: /src/aig/aig/aigFanout.c
    [ 94%] ABC: `` Compiling: /src/aig/aig/aigFrames.c
    [ 94%] ABC: `` Compiling: /src/aig/aig/aigInter.c
    [ 94%] ABC: `` Compiling: /src/aig/aig/aigJust.c
    [ 94%] ABC: `` Compiling: /src/aig/aig/aigMan.c
    [ 94%] ABC: `` Compiling: /src/aig/aig/aigMem.c
    [ 94%] ABC: `` Compiling: /src/aig/aig/aigMffc.c
    [ 94%] ABC: `` Compiling: /src/aig/aig/aigObj.c
    [ 94%] ABC: `` Compiling: /src/aig/aig/aigOper.c
    [ 94%] ABC: `` Compiling: /src/aig/aig/aigOrder.c
    [ 94%] ABC: `` Compiling: /src/aig/aig/aigPack.c
    [ 94%] ABC: `` Compiling: /src/aig/aig/aigPart.c
    [ 94%] ABC: `` Compiling: /src/aig/aig/aigPartReg.c
    [ 94%] ABC: `` Compiling: /src/aig/aig/aigPartSat.c
    [ 94%] ABC: `` Compiling: /src/aig/aig/aigRepr.c
    [ 94%] ABC: `` Compiling: /src/aig/aig/aigRet.c
    [ 94%] ABC: `` Compiling: /src/aig/aig/aigRetF.c
    [ 94%] ABC: `` Compiling: /src/aig/aig/aigScl.c
    [ 94%] ABC: `` Compiling: /src/aig/aig/aigShow.c
    [ 94%] ABC: `` Compiling: /src/aig/aig/aigSplit.c
    [ 94%] ABC: `` Compiling: /src/aig/aig/aigTable.c
    [ 94%] ABC: `` Compiling: /src/aig/aig/aigTiming.c
    [ 94%] ABC: `` Compiling: /src/aig/aig/aigTruth.c
    [ 94%] ABC: `` Compiling: /src/aig/aig/aigTsim.c
    [ 94%] ABC: `` Compiling: /src/aig/aig/aigUtil.c
    [ 94%] ABC: `` Compiling: /src/aig/aig/aigWin.c
    [ 94%] ABC: `` Compiling: /src/aig/saig/saigCone.c
    [ 94%] ABC: `` Compiling: /src/aig/saig/saigConstr.c
    [ 94%] ABC: `` Compiling: /src/aig/saig/saigConstr2.c
    [ 94%] ABC: `` Compiling: /src/aig/saig/saigDual.c
    [ 94%] ABC: `` Compiling: /src/aig/saig/saigDup.c
    [ 94%] ABC: `` Compiling: /src/aig/saig/saigInd.c
    [ 94%] ABC: `` Compiling: /src/aig/saig/saigIoa.c
    [ 94%] ABC: `` Compiling: /src/aig/saig/saigIso.c
    [ 94%] ABC: `` Compiling: /src/aig/saig/saigIsoFast.c
    [ 94%] ABC: `` Compiling: /src/aig/saig/saigIsoSlow.c
    [ 94%] ABC: `` Compiling: /src/aig/saig/saigMiter.c
    [ 94%] ABC: `` Compiling: /src/aig/saig/saigOutDec.c
    [ 94%] ABC: `` Compiling: /src/aig/saig/saigPhase.c
    [ 94%] ABC: `` Compiling: /src/aig/saig/saigRetFwd.c
    [ 94%] ABC: `` Compiling: /src/aig/saig/saigRetMin.c
    [ 94%] ABC: `` Compiling: /src/aig/saig/saigRetStep.c
    [ 94%] ABC: `` Compiling: /src/aig/saig/saigScl.c
    [ 94%] ABC: `` Compiling: /src/aig/saig/saigSimFast.c
    [ 94%] ABC: `` Compiling: /src/aig/saig/saigSimMv.c
    [ 94%] ABC: `` Compiling: /src/aig/saig/saigSimSeq.c
    [ 94%] ABC: `` Compiling: /src/aig/saig/saigStrSim.c
    [ 94%] ABC: `` Compiling: /src/aig/saig/saigSwitch.c
    [ 94%] ABC: `` Compiling: /src/aig/saig/saigSynch.c
    [ 94%] ABC: `` Compiling: /src/aig/saig/saigTempor.c
    [ 94%] ABC: `` Compiling: /src/aig/saig/saigTrans.c
    [ 94%] ABC: `` Compiling: /src/aig/saig/saigWnd.c
    [ 94%] ABC: `` Compiling: /src/aig/gia/giaAig.c
    [ 94%] ABC: `` Compiling: /src/aig/gia/giaAgi.c
    [ 94%] ABC: `` Compiling: /src/aig/gia/giaAiger.c
    [ 94%] ABC: `` Compiling: /src/aig/gia/giaAigerExt.c
    [ 94%] ABC: `` Compiling: /src/aig/gia/giaBalAig.c
    [ 94%] ABC: `` Compiling: /src/aig/gia/giaBalLut.c
    [ 94%] ABC: `` Compiling: /src/aig/gia/giaBalMap.c
    [ 94%] ABC: `` Compiling: /src/aig/gia/giaBidec.c
    [ 94%] ABC: `` Compiling: /src/aig/gia/giaCCof.c
    [ 94%] ABC: `` Compiling: /src/aig/gia/giaCex.c
    [ 94%] ABC: `` Compiling: /src/aig/gia/giaClp.c
    [ 94%] ABC: `` Compiling: /src/aig/gia/giaCof.c
    [ 94%] ABC: `` Compiling: /src/aig/gia/giaCone.c
    [ 94%] ABC: `` Compiling: /src/aig/gia/giaCSatOld.c
    [ 94%] ABC: `` Compiling: /src/aig/gia/giaCSat.c
    [ 94%] ABC: `` Compiling: /src/aig/gia/giaCSat2.c
    [ 94%] ABC: `` Compiling: /src/aig/gia/giaCTas.c
    [ 94%] ABC: `` Compiling: /src/aig/gia/giaCut.c
    [ 94%] ABC: `` Compiling: /src/aig/gia/giaDfs.c
    [ 94%] ABC: `` Compiling: /src/aig/gia/giaDup.c
    [ 94%] ABC: `` Compiling: /src/aig/gia/giaEdge.c
    [ 94%] ABC: `` Compiling: /src/aig/gia/giaEmbed.c
    [ 94%] ABC: `` Compiling: /src/aig/gia/giaEnable.c
    [ 94%] ABC: `` Compiling: /src/aig/gia/giaEquiv.c
    [ 94%] ABC: `` Compiling: /src/aig/gia/giaEra.c
    [ 94%] ABC: `` Compiling: /src/aig/gia/giaEra2.c
    [ 94%] ABC: `` Compiling: /src/aig/gia/giaEsop.c
    [ 94%] ABC: `` Compiling: /src/aig/gia/giaExist.c
    [ 94%] ABC: `` Compiling: /src/aig/gia/giaFalse.c
    [ 94%] ABC: `` Compiling: /src/aig/gia/giaFanout.c
    [ 94%] ABC: `` Compiling: /src/aig/gia/giaForce.c
    [ 94%] ABC: `` Compiling: /src/aig/gia/giaFrames.c
    [ 94%] ABC: `` Compiling: /src/aig/gia/giaFront.c
    [ 94%] ABC: `` Compiling: /src/aig/gia/giaFx.c
    [ 94%] ABC: `` Compiling: /src/aig/gia/giaGig.c
    [ 94%] ABC: `` Compiling: /src/aig/gia/giaGlitch.c
    [ 94%] ABC: `` Compiling: /src/aig/gia/giaHash.c
    [ 94%] ABC: `` Compiling: /src/aig/gia/giaIf.c
    [ 94%] ABC: `` Compiling: /src/aig/gia/giaIff.c
    [ 94%] ABC: `` Compiling: /src/aig/gia/giaIiff.c
    [ 94%] ABC: `` Compiling: /src/aig/gia/giaIso.c
    [ 94%] ABC: `` Compiling: /src/aig/gia/giaIso2.c
    [ 94%] ABC: `` Compiling: /src/aig/gia/giaIso3.c
    [ 94%] ABC: `` Compiling: /src/aig/gia/giaJf.c
    [ 94%] ABC: `` Compiling: /src/aig/gia/giaKf.c
    [ 94%] ABC: `` Compiling: /src/aig/gia/giaLf.c
    [ 94%] ABC: `` Compiling: /src/aig/gia/giaMf.c
    [ 94%] ABC: `` Compiling: /src/aig/gia/giaMan.c
    [ 94%] ABC: `` Compiling: /src/aig/gia/giaMem.c
    [ 94%] ABC: `` Compiling: /src/aig/gia/giaMfs.c
    [ 94%] ABC: `` Compiling: /src/aig/gia/giaMini.c
    [ 94%] ABC: `` Compiling: /src/aig/gia/giaMuxes.c
    [ 94%] ABC: `` Compiling: /src/aig/gia/giaNf.c
    [ 94%] ABC: `` Compiling: /src/aig/gia/giaOf.c
    [ 94%] ABC: `` Compiling: /src/aig/gia/giaPack.c
    [ 94%] ABC: `` Compiling: /src/aig/gia/giaPat.c
    [ 94%] ABC: `` Compiling: /src/aig/gia/giaPf.c
    [ 94%] ABC: `` Compiling: /src/aig/gia/giaQbf.c
    [ 94%] ABC: `` Compiling: /src/aig/gia/giaResub.c
    [ 94%] ABC: `` Compiling: /src/aig/gia/giaRetime.c
    [ 94%] ABC: `` Compiling: /src/aig/gia/giaRex.c
    [ 94%] ABC: `` Compiling: /src/aig/gia/giaSatEdge.c
    [ 94%] ABC: `` Compiling: /src/aig/gia/giaSatLE.c
    [ 94%] ABC: `` Compiling: /src/aig/gia/giaSatLut.c
    [ 94%] ABC: `` Compiling: /src/aig/gia/giaSatMap.c
    [ 94%] ABC: `` Compiling: /src/aig/gia/giaSatoko.c
    [ 94%] ABC: `` Compiling: /src/aig/gia/giaSat3.c
    In file included from src/aig/gia/giaSatoko.c:24:
    In file included from ./src/sat/satoko/satoko.h:12:
    In file included from ./src/sat/satoko/types.h:12:
    ./src/sat/satoko/utils/sdbl.h:124:24: warning: format specifies type 'unsigned long' but the argument has type 'sdbl_t' (aka 'unsigned long long') [-Wformat]
        printf("%016lX\n", double2sdbl(1 /0.95));
                ~~~~~~     ^~~~~~~~~~~~~~~~~~~~
                %016llX
    ./src/sat/satoko/utils/sdbl.h:125:24: warning: format specifies type 'unsigned long' but the argument has type 'sdbl_t' (aka 'unsigned long long') [-Wformat]
        printf("%016lX\n", SDBL_CONST1);
                ~~~~~~     ^~~~~~~~~~~
                %016llX
    [ 94%] ABC: `` Compiling: /src/aig/gia/giaScl.c
    [ 94%] ABC: `` Compiling: /src/aig/gia/giaScript.c
    [ 94%] ABC: `` Compiling: /src/aig/gia/giaShow.c
    2 warnings generated.
    [ 94%] ABC: `` Compiling: /src/aig/gia/giaShrink.c
    [ 94%] ABC: `` Compiling: /src/aig/gia/giaShrink6.c
    [ 94%] ABC: `` Compiling: /src/aig/gia/giaShrink7.c
    [ 94%] ABC: `` Compiling: /src/aig/gia/giaSim.c
    [ 94%] ABC: `` Compiling: /src/aig/gia/giaSim2.c
    [ 94%] ABC: `` Compiling: /src/aig/gia/giaSort.c
    [ 94%] ABC: `` Compiling: /src/aig/gia/giaSpeedup.c
    [ 94%] ABC: `` Compiling: /src/aig/gia/giaSplit.c
    [ 94%] ABC: `` Compiling: /src/aig/gia/giaStg.c
    [ 94%] ABC: `` Compiling: /src/aig/gia/giaStr.c
    [ 94%] ABC: `` Compiling: /src/aig/gia/giaSupMin.c
    [ 94%] ABC: `` Compiling: /src/aig/gia/giaSupp.c
    In file included from src/aig/gia/giaSupp.c:22:
    In file included from ./src/sat/satoko/satoko.h:12:
    In file included from ./src/sat/satoko/types.h:12:
    ./src/sat/satoko/utils/sdbl.h:124:24: warning: format specifies type 'unsigned long' but the argument has type 'sdbl_t' (aka 'unsigned long long') [-Wformat]
        printf("%016lX\n", double2sdbl(1 /0.95));
                ~~~~~~     ^~~~~~~~~~~~~~~~~~~~
                %016llX
    ./src/sat/satoko/utils/sdbl.h:125:24: warning: format specifies type 'unsigned long' but the argument has type 'sdbl_t' (aka 'unsigned long long') [-Wformat]
        printf("%016lX\n", SDBL_CONST1);
                ~~~~~~     ^~~~~~~~~~~
                %016llX
    [ 94%] ABC: `` Compiling: /src/aig/gia/giaSweep.c
    [ 94%] ABC: `` Compiling: /src/aig/gia/giaSweeper.c
    [ 94%] ABC: `` Compiling: /src/aig/gia/giaSwitch.c
    [ 94%] ABC: `` Compiling: /src/aig/gia/giaTim.c
    [ 94%] ABC: `` Compiling: /src/aig/gia/giaTis.c
    [ 94%] ABC: `` Compiling: /src/aig/gia/giaTruth.c
    [ 94%] ABC: `` Compiling: /src/aig/gia/giaTsim.c
    2 warnings generated.
    [ 94%] ABC: `` Compiling: /src/aig/gia/giaUnate.c
    [ 94%] ABC: `` Compiling: /src/aig/gia/giaUtil.c
    [ 94%] ABC: `` Compiling: /src/aig/ioa/ioaReadAig.c
    [ 94%] ABC: `` Compiling: /src/aig/ioa/ioaWriteAig.c
    [ 94%] ABC: `` Compiling: /src/aig/ioa/ioaUtil.c
    [ 94%] ABC: `` Compiling: /src/aig/ivy/ivyBalance.c
    [ 94%] ABC: `` Compiling: /src/aig/ivy/ivyCanon.c
    [ 94%] ABC: `` Compiling: /src/aig/ivy/ivyCheck.c
    [ 94%] ABC: `` Compiling: /src/aig/ivy/ivyCut.c
    [ 94%] ABC: `` Compiling: /src/aig/ivy/ivyCutTrav.c
    [ 94%] ABC: `` Compiling: /src/aig/ivy/ivyDfs.c
    [ 94%] ABC: `` Compiling: /src/aig/ivy/ivyDsd.c
    [ 94%] ABC: `` Compiling: /src/aig/ivy/ivyFanout.c
    [ 94%] ABC: `` Compiling: /src/aig/ivy/ivyFastMap.c
    [ 94%] ABC: `` Compiling: /src/aig/ivy/ivyFraig.c
    [ 94%] ABC: `` Compiling: /src/aig/ivy/ivyHaig.c
    [ 94%] ABC: `` Compiling: /src/aig/ivy/ivyMan.c
    [ 94%] ABC: `` Compiling: /src/aig/ivy/ivyMem.c
    [ 94%] ABC: `` Compiling: /src/aig/ivy/ivyMulti.c
    [ 94%] ABC: `` Compiling: /src/aig/ivy/ivyObj.c
    [ 94%] ABC: `` Compiling: /src/aig/ivy/ivyOper.c
    [ 94%] ABC: `` Compiling: /src/aig/ivy/ivyResyn.c
    [ 94%] ABC: `` Compiling: /src/aig/ivy/ivyRwr.c
    [ 94%] ABC: `` Compiling: /src/aig/ivy/ivySeq.c
    [ 94%] ABC: `` Compiling: /src/aig/ivy/ivyShow.c
    [ 94%] ABC: `` Compiling: /src/aig/ivy/ivyTable.c
    [ 94%] ABC: `` Compiling: /src/aig/ivy/ivyUtil.c
    [ 94%] ABC: `` Compiling: /src/aig/hop/hopBalance.c
    [ 94%] ABC: `` Compiling: /src/aig/hop/hopCheck.c
    [ 94%] ABC: `` Compiling: /src/aig/hop/hopDfs.c
    [ 94%] ABC: `` Compiling: /src/aig/hop/hopMan.c
    [ 94%] ABC: `` Compiling: /src/aig/hop/hopMem.c
    [ 94%] ABC: `` Compiling: /src/aig/hop/hopObj.c
    [ 94%] ABC: `` Compiling: /src/aig/hop/hopOper.c
    [ 94%] ABC: `` Compiling: /src/aig/hop/hopTable.c
    [ 94%] ABC: `` Compiling: /src/aig/hop/hopTruth.c
    [ 94%] ABC: `` Compiling: /src/aig/hop/hopUtil.c
    [ 94%] ABC: `` Compiling: /src/bdd/cudd/cuddAPI.c
    [ 94%] ABC: `` Compiling: /src/bdd/cudd/cuddAddAbs.c
    [ 94%] ABC: `` Compiling: /src/bdd/cudd/cuddAddApply.c
    [ 94%] ABC: `` Compiling: /src/bdd/cudd/cuddAddFind.c
    [ 94%] ABC: `` Compiling: /src/bdd/cudd/cuddAddInv.c
    [ 94%] ABC: `` Compiling: /src/bdd/cudd/cuddAddIte.c
    [ 94%] ABC: `` Compiling: /src/bdd/cudd/cuddAddNeg.c
    [ 94%] ABC: `` Compiling: /src/bdd/cudd/cuddAddWalsh.c
    [ 94%] ABC: `` Compiling: /src/bdd/cudd/cuddAndAbs.c
    [ 94%] ABC: `` Compiling: /src/bdd/cudd/cuddAnneal.c
    [ 94%] ABC: `` Compiling: /src/bdd/cudd/cuddApa.c
    [ 94%] ABC: `` Compiling: /src/bdd/cudd/cuddApprox.c
    [ 94%] ABC: `` Compiling: /src/bdd/cudd/cuddBddAbs.c
    [ 94%] ABC: `` Compiling: /src/bdd/cudd/cuddBddCorr.c
    [ 94%] ABC: `` Compiling: /src/bdd/cudd/cuddBddIte.c
    [ 94%] ABC: `` Compiling: /src/bdd/cudd/cuddBridge.c
    [ 94%] ABC: `` Compiling: /src/bdd/cudd/cuddCache.c
    [ 94%] ABC: `` Compiling: /src/bdd/cudd/cuddCheck.c
    [ 94%] ABC: `` Compiling: /src/bdd/cudd/cuddClip.c
    [ 94%] ABC: `` Compiling: /src/bdd/cudd/cuddCof.c
    [ 94%] ABC: `` Compiling: /src/bdd/cudd/cuddCompose.c
    [ 94%] ABC: `` Compiling: /src/bdd/cudd/cuddDecomp.c
    [ 94%] ABC: `` Compiling: /src/bdd/cudd/cuddEssent.c
    [ 94%] ABC: `` Compiling: /src/bdd/cudd/cuddExact.c
    [ 94%] ABC: `` Compiling: /src/bdd/cudd/cuddExport.c
    [ 94%] ABC: `` Compiling: /src/bdd/cudd/cuddGenCof.c
    [ 94%] ABC: `` Compiling: /src/bdd/cudd/cuddGenetic.c
    [ 94%] ABC: `` Compiling: /src/bdd/cudd/cuddGroup.c
    [ 94%] ABC: `` Compiling: /src/bdd/cudd/cuddHarwell.c
    [ 94%] ABC: `` Compiling: /src/bdd/cudd/cuddInit.c
    [ 94%] ABC: `` Compiling: /src/bdd/cudd/cuddInteract.c
    [ 94%] ABC: `` Compiling: /src/bdd/cudd/cuddLCache.c
    [ 94%] ABC: `` Compiling: /src/bdd/cudd/cuddLevelQ.c
    [ 94%] ABC: `` Compiling: /src/bdd/cudd/cuddLinear.c
    [ 94%] ABC: `` Compiling: /src/bdd/cudd/cuddLiteral.c
    [ 94%] ABC: `` Compiling: /src/bdd/cudd/cuddMatMult.c
    [ 94%] ABC: `` Compiling: /src/bdd/cudd/cuddPriority.c
    [ 94%] ABC: `` Compiling: /src/bdd/cudd/cuddRead.c
    [ 94%] ABC: `` Compiling: /src/bdd/cudd/cuddRef.c
    [ 94%] ABC: `` Compiling: /src/bdd/cudd/cuddReorder.c
    [ 94%] ABC: `` Compiling: /src/bdd/cudd/cuddSat.c
    [ 94%] ABC: `` Compiling: /src/bdd/cudd/cuddSign.c
    [ 94%] ABC: `` Compiling: /src/bdd/cudd/cuddSolve.c
    [ 94%] ABC: `` Compiling: /src/bdd/cudd/cuddSplit.c
    [ 94%] ABC: `` Compiling: /src/bdd/cudd/cuddSubsetHB.c
    [ 94%] ABC: `` Compiling: /src/bdd/cudd/cuddSubsetSP.c
    [ 94%] ABC: `` Compiling: /src/bdd/cudd/cuddSymmetry.c
    [ 94%] ABC: `` Compiling: /src/bdd/cudd/cuddTable.c
    [ 94%] ABC: `` Compiling: /src/bdd/cudd/cuddUtil.c
    [ 94%] ABC: `` Compiling: /src/bdd/cudd/cuddWindow.c
    [ 94%] ABC: `` Compiling: /src/bdd/cudd/cuddZddCount.c
    [ 94%] ABC: `` Compiling: /src/bdd/cudd/cuddZddFuncs.c
    [ 94%] ABC: `` Compiling: /src/bdd/cudd/cuddZddGroup.c
    [ 94%] ABC: `` Compiling: /src/bdd/cudd/cuddZddIsop.c
    [ 94%] ABC: `` Compiling: /src/bdd/cudd/cuddZddLin.c
    [ 94%] ABC: `` Compiling: /src/bdd/cudd/cuddZddMisc.c
    [ 94%] ABC: `` Compiling: /src/bdd/cudd/cuddZddPort.c
    [ 94%] ABC: `` Compiling: /src/bdd/cudd/cuddZddReord.c
    [ 94%] ABC: `` Compiling: /src/bdd/cudd/cuddZddSetop.c
    [ 94%] ABC: `` Compiling: /src/bdd/cudd/cuddZddSymm.c
    [ 94%] ABC: `` Compiling: /src/bdd/cudd/cuddZddUtil.c
    [ 94%] ABC: `` Compiling: /src/bdd/extrab/extraBddAuto.c
    [ 94%] ABC: `` Compiling: /src/bdd/extrab/extraBddCas.c
    [ 94%] ABC: `` Compiling: /src/bdd/extrab/extraBddImage.c
    [ 94%] ABC: `` Compiling: /src/bdd/extrab/extraBddKmap.c
    [ 94%] ABC: `` Compiling: /src/bdd/extrab/extraBddMaxMin.c
    [ 94%] ABC: `` Compiling: /src/bdd/extrab/extraBddMisc.c
    [ 94%] ABC: `` Compiling: /src/bdd/extrab/extraBddSet.c
    [ 94%] ABC: `` Compiling: /src/bdd/extrab/extraBddSymm.c
    [ 94%] ABC: `` Compiling: /src/bdd/extrab/extraBddThresh.c
    [ 94%] ABC: `` Compiling: /src/bdd/extrab/extraBddTime.c
    [ 94%] ABC: `` Compiling: /src/bdd/extrab/extraBddUnate.c
    [ 94%] ABC: `` Compiling: /src/bdd/dsd/dsdApi.c
    [ 94%] ABC: `` Compiling: /src/bdd/dsd/dsdCheck.c
    [ 94%] ABC: `` Compiling: /src/bdd/dsd/dsdLocal.c
    [ 94%] ABC: `` Compiling: /src/bdd/dsd/dsdMan.c
    [ 94%] ABC: `` Compiling: /src/bdd/dsd/dsdProc.c
    [ 94%] ABC: `` Compiling: /src/bdd/dsd/dsdTree.c
    [ 94%] ABC: `` Compiling: /src/bdd/epd/epd.c
    [ 94%] ABC: `` Compiling: /src/bdd/mtr/mtrBasic.c
    [ 94%] ABC: `` Compiling: /src/bdd/mtr/mtrGroup.c
    [ 94%] ABC: `` Compiling: /src/bdd/reo/reoApi.c
    [ 94%] ABC: `` Compiling: /src/bdd/reo/reoCore.c
    [ 94%] ABC: `` Compiling: /src/bdd/reo/reoProfile.c
    [ 94%] ABC: `` Compiling: /src/bdd/reo/reoShuffle.c
    [ 94%] ABC: `` Compiling: /src/bdd/reo/reoSift.c
    [ 94%] ABC: `` Compiling: /src/bdd/reo/reoSwap.c
    [ 94%] ABC: `` Compiling: /src/bdd/reo/reoTransfer.c
    [ 94%] ABC: `` Compiling: /src/bdd/reo/reoUnits.c
    [ 94%] ABC: `` Compiling: /src/bdd/cas/casCore.c
    [ 94%] ABC: `` Compiling: /src/bdd/cas/casDec.c
    [ 94%] ABC: `` Compiling: /src/bdd/bbr/bbrCex.c
    [ 94%] ABC: `` Compiling: /src/bdd/bbr/bbrImage.c
    [ 94%] ABC: `` Compiling: /src/bdd/bbr/bbrNtbdd.c
    [ 94%] ABC: `` Compiling: /src/bdd/bbr/bbrReach.c
    [ 94%] ABC: `` Compiling: /src/bdd/llb/llb1Cluster.c
    [ 94%] ABC: `` Compiling: /src/bdd/llb/llb1Constr.c
    [ 94%] ABC: `` Compiling: /src/bdd/llb/llb1Core.c
    [ 94%] ABC: `` Compiling: /src/bdd/llb/llb1Group.c
    [ 94%] ABC: `` Compiling: /src/bdd/llb/llb1Hint.c
    [ 94%] ABC: `` Compiling: /src/bdd/llb/llb1Man.c
    [ 94%] ABC: `` Compiling: /src/bdd/llb/llb1Matrix.c
    [ 94%] ABC: `` Compiling: /src/bdd/llb/llb1Pivot.c
    [ 94%] ABC: `` Compiling: /src/bdd/llb/llb1Reach.c
    [ 94%] ABC: `` Compiling: /src/bdd/llb/llb1Sched.c
    [ 94%] ABC: `` Compiling: /src/bdd/llb/llb2Bad.c
    [ 94%] ABC: `` Compiling: /src/bdd/llb/llb2Core.c
    [ 94%] ABC: `` Compiling: /src/bdd/llb/llb2Driver.c
    [ 94%] ABC: `` Compiling: /src/bdd/llb/llb2Dump.c
    [ 94%] ABC: `` Compiling: /src/bdd/llb/llb2Flow.c
    [ 94%] ABC: `` Compiling: /src/bdd/llb/llb2Image.c
    [ 94%] ABC: `` Compiling: /src/bdd/llb/llb3Image.c
    [ 94%] ABC: `` Compiling: /src/bdd/llb/llb3Nonlin.c
    [ 94%] ABC: `` Compiling: /src/bdd/llb/llb4Cex.c
    [ 94%] ABC: `` Compiling: /src/bdd/llb/llb4Image.c
    [ 94%] ABC: `` Compiling: /src/bdd/llb/llb4Nonlin.c
    [ 94%] ABC: `` Compiling: /src/bdd/llb/llb4Sweep.c
    [ 94%] ABC: `` Building binary: abc-5776ad0
    [100%] Building yosys-abc
    
      Build successful.
    
    OM11-kontor-2016:yosys teig$ sudo make install
    Password:
    $BREW_PREFIX is [/usr/local/opt]
    mkdir -p /usr/local/bin
    cp yosys yosys-config yosys-abc yosys-filterlib yosys-smtbmc /usr/local/bin
    strip -S /usr/local/bin/yosys
    strip /usr/local/bin/yosys-abc
    strip /usr/local/bin/yosys-filterlib
    mkdir -p /usr/local/share/yosys
    cp -r share/. /usr/local/share/yosys/.
    OM11-kontor-2016:yosys teig$ 
    
    

Result of downloads and installs

As of 29Sep2019. An edited list:

Root: /Applications/IceStorm/ subdirectories:
drwxr-xr-x  arachne-pnr/  33.3MB
drwxr-xr-x  icestorm/    128.3MB
drwxr-xr-x  nextpnr/      20.0MB NOT SUCCESSFUL cmake
drwxr-xr-x  yosys/       710.7MB

Next with installs etc.

I will now take this to the forum to get som help on cmake [11]. Since nextpnr was optional I guess it’s kind of ok at the moment.

I don’t have any FPGA board yet. I haven’t even ordered one, or decided to buy one. I guess it depends on what I learn over the next days.

Finally there is a tutorial that I would look forwards to try. Then later, perhaps, upload the design [12].

What to implement

At the moment I could think of some toy things to do. Like converting the PWM LED light outputs from my aquarium controller to an analog signal. But any serious project, don’t know. But then, maybe I need to learn what’s in the toolbox before I would be able to dream up anything real?

Comments

I have mailed with several friends about this. I will try to summarise some here.

Comment 1 - Uwe Mielke (03-Oct-2019)

Oh, for your FPGA notes you have chosen a “very special” board and tool chain!

Lattice is a FPGA niche vendor, especially for low power and low cost applications. For comparison you may have a look at FPGA vendor Microsemi as well (former Actel – now owned by Microchip) and e.g. their “IGLOO” FPGA-family. Both vendors have low-end to mid-range FPGAs, e.g. Lattice up to 150k LUTs (EPC3) and Microsemi up to 500K LUTs (PolarFire).

  • iCE40HX4K has limited 4K LUT capacity… no way to squeeze a larger µController into the FPGA, but for that reason the STM32 ARM is on the FPGA board
  • iCE40 family seems to be good for smaller hardware projects to do (sensor) data pre-processing

Xilinx is my favourite due to the availability of powerful educational FPGA boards for general purpose use, e.g. see their latest version(s) of Arty. 35-100K LUTs are enough for a quite big 32bit/64bit CPU + peripherals, like e.g. my T42 Transputer-in-FPGA (here), MIPSfpga, RISC-V, e.t.c. … pls see Arty A7: https://store.digilentinc.com/arty-a7-artix-7-fpga-development-board-for-makers-and-hobbyists/. If you like ARM there is a similar Arty Z7: https://store.digilentinc.com/arty-z7-apsoc-zynq-7000-development-board-for-makers-and-hobbyists/. And … yes- Xilinx (ISE/Vivado) software has bugs and difficulties (as I was told from the better insiders) … may be like any software. (Sorry, I don’t know if ISE-14.7 or Vivado 2018/2019 versions available for Linux will run on a MAC).

VHDL is my hardware language of choice due to its clear (extensive declaration) structure. I’m using only the synthesizable part of the syntax. For (simple) VHDL testbench creation I’m using available (Xilinx) templates, some scripting and as simulator http://ghdl.free.fr (+ waveform viewer http://gtkwave.sourceforge.net/). Maybe in future I will use predefined modules like OSVVM: see https://www.doulos.com/knowhow/vhdl_designers_guide/OSVVM/ and https://github.com/OSVVM/OSVVM/. TUD’s POC-Library https://github.com/VLSI-EDA/PoC/ is using PowerShell & Python to “automate” their “design+verification-flow”.

VERILOG is out of my knowledge and scope. However, it is important in industry, especially for testbench creation, due to its software-like constructs. VHDL has not … sorry, had not (!) that convenience for testbenches in the past. But I’ve heard about such VHDL language changes implemented in the latest revision of the standard 🙂 You may find some info & training here: https://vhdlwhiz.com/vhdl-2019/ .

P.S.: as I was told … VERILOG needs half the code size as VHDL – but allows twice as much errors in writing code! 😉

The open source EDA tool environment was growing step by step over the years, however slowly, may be because of the complexity of the tools. Good quality is there, e.g. GHDL – written in ADA – with excellent support.

Best regards,
Uwe


Remark (Øyvind): I will study your references in depth and make some purchasing decision later on! Also, whether the free(?) tools you mention run on macOS. On the VHDL Wikipedia article (below) I see that non-synthesizable code consists of simulation-only constructs, like delay and looping statements. As having used transputers and occam in the nineties at work I am really impressed by your Transputer-in-FPGA project – I guess it has inspired me to look in the FPGA direction! Thanks a lot, Uwe! (08-Oct-2019)

Comment 2 - RedPitaya

Oct2019. Mutually agreed upon summary of some mails with me, translated from Norwegian:

  1. Observe that there is little that reminds about “high level” or object orientation in neither Verilog nor VHDL
  2. I mostly have used the RTL part of VHDL and then a little “up” when writing test-benches
  3. Have a look at the comparison of Verilog and VHDL here: (I put it at [15]). There it is claimed that Verilog started for ASIC design while VHDL was for FPGA
  4. I don’t know BlackIce Mx, but I see it contains an FPGA and an ARM 32-bit controller. Something à la Xilinx’s Zynq-7000 series (in Arty Z7)
  5. I would think that the Red Pitaya starter kit (a STEM board) would be fine intro. See https://www.redpitaya.com/p1/stemlab-125-10-starter-kit. There are recipes of how to use it as an oscilloscope, signal generator, spectrum analyzer and bode analyzer – for free. It is also based on open source code. There also is the Jupyter notebooks opening to the Python world

Comment 3 - SystemVerilog

Oct2019. I hear from one of the larger local design houses that they use SystemVerilog for all their designs. I am not certain whether the Verilog used for Ice40 is the base Verilog standard IEEE 1364-2005 or the SystemVerilog that picked up Verilog on the way, now IEEE standard 1800-2017.

Comment 4 - ECP5

Oct2019. Mutually agreed upon summary of some mails with me:

    1. To meet some of the users of the Ice40 there is a conference. See ORConf: The open source digital design conference at https://orconf.org
    2. I have a BlackIce Mx but haven’t had much time to do anything with it so far. My experience is with the earlier BlackIce boards which were very good. In the past I’ve used Altera FPGAs; in comparison the Ice40 is simpler and less powerful, but has the huge advantage of support by the opensource yosys tool
    3. Next time I need to build something that won’t fit on an Ice40, I will still want to develop and test subcomponents on Ice40 using yosys, and only move to Altera or Xilinx at the last possible stage
    4. The open source tools are still evolving. There’s a bigger Lattice chip, the ECP5, which is becoming usable with yosys and nextpnr (and there will probably be an ECP5 MyStorm board one day). And I think there are people working at reverse-engineering Xilinx chips so there may be yosys support for those too … but when, I can’t guess
    5. Would it be possible to compile (is that the word?) with the “Ice40 toolset” to arty-z7? The answer was “Not yet, sorry”

Scratchpad 1

  1. 10Oct2019: I tried to create a myStorm forum account, but I never saw the mail feedbacks to acknowledge it. In no mail folder of any type. I tried several times. I need to try again tomorrow. 12Oct: I asked about it here
  2. Oct2019: But I found Verilog code from Simon Monk’s book: Programming FPGAs (by lawrie) on the forum and immediately purchased the book Programming FPGAs: Getting Started with Verilog [13]. The forum post also pointed to a page where “someone had already converted a lot of examples to run on BlackIce” [14]. I can’t wait to get started! I have now received this book and if this isn’t a good start nothing is. I guess, since it’s from 2017 there is nothing in it about the BlackIce product range. The book mentions the below boards (or I may have found newer versions):
    1. Elbert 2. Contains a Xilinx Spartan 3A FPGA and is very cheap. From Numato
    2. Mojo. Contains a Xilinx Spartan 6 XC6SLX9 FPGA plus an Atmel ATmega32U4 processor. From Embeddedmicro
    3. Papilio. Contains a Xilinx Spartan 6 LX9 FPGA and an Atmel ATmega32U4 processor. From Gadget Factory
    4. Other boards mentioned: icoBOARD, Mimas V2
  3. myStorm people’s “yosys syntax” term – is it idiomatic for “Verilog syntax”? – is described as supporting Verilog-2005 which it supports “a large subset of” [7.1]. In the fantastic Yosys Manual (no date or version info in it) I find that:
    1. “Yosys can synthesize a large subset of Verilog 2005” (p28) and “The most important challenge is compliance with the HDL standards in question (in case of Verilog the IEEE Standards 1364.1-2002 and 1364-2005)”  in the Standards Compliance chapter (p20).
    2. If I search for SystemVerilog in the manual I find no discussion of this, but I find these spread lines, like “Only a small subset of SystemVerilog is supported” and “Full SystemVerilog support is only available via Verific.”
    3. So what of 2005 is not supported an what og SystemVerilog is perhaps something that will come to me in due course

Use of third party designs

I need to find out about this. I have a feeling that both VHDL and Verilog reuse is by means of true source files. Like with the free Arm Cortex-M0 and M3 cores for Xilinx FPGAs project (2018, start here – an Arm/Xilinx shared effort) they seem to talk more about licences and soft-IP, but also about source code and precompiled/preplaced libraries. But then I would not know if that is about the tools or the Arm designs. (I have queried Arm about this.) And distribution of netlists I know nothing about. So, for the Arduino, Raspberry Pi maker market I guess there’s source code in VHDL, Verilog or SystemVerlog that are distributed?

References

Wiki-refs: ABEL, Electronic design automation EDAFPGA, Lookup table LUT, PLD/PAL, SystemVerilog, Transputer, VHDLVerilog

  1. FPGA Vs ASIC: Differences Between Them And Which One To Use? by Rohit Singh (2018), see https://numato.com/blog/differences-between-fpga-and-asics/
  2. myStorm news, events and developments by Folknology, see https://mystorm.uk
  3. Principles of CMOS VLSI Design: A Systems Perspective by N. Weste and Kamram Eshraghian, see https://easyengineering.net/principles-of-cmos-vlsi-design-a-systems-perspective-by-weste/
  4. Folknology Labs, see https://folknologylabs.wordpress.com
  5. IceCore Ice40 HX based modular core by folknology, see https://github.com/folknology/IceCore
  6. BlackIce Mx at Tindie shop, see https://www.tindie.com/stores/Folknology/ and https://www.tindie.com/products/Folknology/blackice-mx/
  7. Yosys is a framework for Verilog RTL synthesis by Clifford Wolf (cliffordwolf), see http://www.clifford.at/yosys/
    1. Documentation: “Yosys Open SYnthesis Suite”, see http://www.clifford.at/yosys/documentation.html
  8. STM32 32-bit Arm Cortex MCUs, see https://www.st.com/en/microcontrollers-microprocessors/stm32-32-bit-arm-cortex-mcus.html
  9. iCE40 LP/HX/LM Instant mobile innovation that won’t break the bank by Lattice semiconductor, see http://www.latticesemi.com/en/Products/FPGAandCPLD/iCE40. Even if iCE40 (with a lower case starting ‘i’) is Lattice style, I also see ICE40, ice40 and Ice40 being used (the latter mostly used in this note)
  10. New Product – BlackIce Mx, annoncement by Folknology, see https://forum.mystorm.uk/t/new-product-blackice-mx/551 (starting Apr2019). A thread from the forum:
  11. myStorm forum, see https://forum.mystorm.uk
  12. IceCore Getting started, see https://github.com/folknology/IceCore/wiki/IceCore-Getting-Started
  13. Programming FPGAs: Getting Started with Verilog (Tab) by Simon Monk (2016), see Amazon. “This hands-on guide is for makers who have been working with Raspberry Pi or Arduino and want to take their projects to the next level with Field Programmable Gate Arrays (FPGAs) and Verilog. Electronics guru Simon Monk follows his best-selling approach―assuming very little, starting slowly with easy, DIY examples, and gradually introducing more complex ideas.” So should fit me! Even if I do have worked with XMOS boards 99.999% of the time. Also see [14]:
  14. Using the Programming FPGAs book with IceStorm and myStorm BlackIce by Ed Brindley (2018), see https://maidavale.org/blog/using-simon-monks-programming-fpgas-book-with-icestorm/
  15. Verilog vs. VHDL – What to Choose? by hardwarebee (2019) see http://hardwarebee.com/verilog-vs-vhdl-what-to-choose/

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.