Git Product home page Git Product logo

toolchain-icestorm's Introduction

Archived!

  • 2022-May-9: This repo has been archived, since the icestorm is no longer used as an isolated Apio package. Use the Tools-oss-cad-suite package instead

Toolchain-icestorm

Build Status

Introduction

Static binaries of the Icestorm tools (yosys, arachne, icetools and icotools). Packaged for Apio and PlatformIO.

Usage

Build:

bash build.sh linux_x86_64

Clean:

bash clean.sh linux_x86_64

Target architectures:

  • linux_x86_64
  • linux_i686
  • linux_armv7l
  • linux_aarch64
  • windows_x86
  • windows_amd64
  • darwin

Final packages will be deployed in the _packages/build_ARCH/ directories.

NOTE: libftdi1.a and libusb-1.0.a files have been generated for each architecture using the Tools-system scripts.

Documentation

The project documentation is located in the wiki.

Authors

Collaborators

License

Licensed under a GPL v2 and Creative Commons Attribution-ShareAlike 4.0 International License.

toolchain-icestorm's People

Contributors

cavearr avatar ivankravets avatar jesus89 avatar mmicko avatar obijuan avatar x653 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

toolchain-icestorm's Issues

Missing icestorm timing data

The contents of "icebox" does not contain timing data. The chipdb-.txt files are present, however timing_.txt files are missing.

Notes for release 10

  • New icetime does not need chipdb PREFIX. Instead icetime -C <chipdb>
  • Yosys 0.7 release

On Windows, `yosys-smtbmc` (a Python tool) is saved as an EXE file, rather than as a `.py` file

On Linux systems, no suffix is added and the shebang line at the start of the file ensures it is executed correctly. However, on Windows, the Python script is given a .exe extension and therefore cannot be run without first renaming to a .py file.

The offending line is below. $EXE is given the value ".exe" on Windows, and is empty on Linux builds (as set here, on lines 28 and 35 of scripts/build_setup.sh).

https://github.com/FPGAwars/toolchain-icestorm/blob/master/scripts/compile_yosys.sh#L84

Solution is to either add a .py extension to the file on both platforms (a bad approach for Linux) or introduce a new variable to the build script ($PY) which is appended instead.

[i686] build-toolchain script does not generate static executables for icestorm in i686 architecture

These are the dependencies of all the tools:

$ ldd yosys ---> OK
linux-gate.so.1 => (0xf7766000)
libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xf76ee000)
librt.so.1 => /lib/i386-linux-gnu/librt.so.1 (0xf76e5000)
libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf7529000)
/lib/ld-linux.so.2 (0x5663c000)
libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xf750c000)

$ ldd arachne-pnr ---> OK
not a dynamic executable

$ ldd icepack ---> ERROR!
linux-gate.so.1 => (0xf778a000)
libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xf7712000)
libstdc++.so.6 => /usr/lib/i386-linux-gnu/libstdc++.so.6 (0xf759b000)
libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0xf757c000)
libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf73c1000)
/lib/ld-linux.so.2 (0x5655e000)

$ ldd iceprog --> ERROR!
linux-gate.so.1 => (0xf771d000)
libftdi.so.1 => not found
libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xf76a5000)
libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf74e9000)
/lib/ld-linux.so.2 (0x565ae000)

$ ldd icetime ---> ERROR!
linux-gate.so.1 => (0xf778f000)
libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xf7717000)
libstdc++.so.6 => /usr/lib/i386-linux-gnu/libstdc++.so.6 (0xf75a0000)
libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0xf7581000)
libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf73c6000)
/lib/ld-linux.so.2 (0x565b3000)

Bug reported by Cristobal bueno (link). Screenshot attached

apio_build

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.