Skip to main content

Open source ecosystem for open FPGA boards

Project description

apio-cli-banner

license python

linux   macos   windows   raspberry-pi

cli-test cli-build cli-docs cli-pypi-monitor cli-latest-monitor ide-test ide-build examples-test examples-build definitions-test definitions-build oss-cad-suite-build verible-build graphviz-build drivers-build workflows-test apio-backup


Apio CLI is an easy to install and use command-line tool for FPGA design from A to Z. For a quick start, visit the Getting started with Apio guide.


Simulation example:

GTKWave screenshot

Description

Apio CLI is a powerful yet easy-to-use command line tool for FPGA development using Verilog and System Verilog. It’s simple to install, no toolchains, licenses, or makefiles required, and works across Linux, Windows, and macOS. Apio CLI is 100% open source, and free to use.

Apio CLI supports every stage of the FPGA workflow, from simulating and testing, to building and programming the FPGA, using simple commands such as apio test, apio build, and apio upload that do what you expect them to do.

Apio CLI currently supports over 80 FPGA boards, custom boards can be easily added, and it includes over 60 ready-to-use example projects. Apio CLI currently supports the ICE40, ECP5, and GOWIN FPGA architectures.

Sample Apio CLI session

  1. apio examples fetch alhambra-ii/getting-started - fetch an example.
  2. apio build - build the project.
  3. apio report - report utilization and max clock speed.
  4. apio sim - simulate the design and show signals.
  5. apio upload - program the FPGA board.

apio-cli-animation

Apio CLI in the media

Shawn Hymel's excellent series on FPGA programming is based on and older version of Apio CLI and the the Icestick board

Introduction to FPGA YouTube Series

As the user gh02t said in this post on Hacker-news:

Apio is a command-line tool that automates installing the toolchain for your FPGA and running it. It just simplifies things, you don't have to use it if you'd rather call the individual tools for synthesis, P&R, simulation etc. It'd be reasonable to think of it as akin to a very smart Makefile combined with an automatic package manager, specialized to FPGAs (it's based on PlatformIO). It's nice when you're still kind of getting oriented, because you don't need to know how to set up and invoke the different tools... just call apio build or apio sim

Resources

Credits

License

The Apio project itself is licensed under the GNU General Public License version 3.0 (GPL-3.0). Pre-built packages may include third-party tools and components, which are subject to their respective license terms.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

apio-1.3.0.tar.gz (6.4 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

apio-1.3.0-py3-none-any.whl (188.4 kB view details)

Uploaded Python 3

File details

Details for the file apio-1.3.0.tar.gz.

File metadata

  • Download URL: apio-1.3.0.tar.gz
  • Upload date:
  • Size: 6.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.32.5

File hashes

Hashes for apio-1.3.0.tar.gz
Algorithm Hash digest
SHA256 78666eab94d75f99cc87b65cf44d824ea73bc68cc9cac43c35b49d0006f2e8e4
MD5 6fdf046df88c6ecb778053bf3338a034
BLAKE2b-256 70b1ecb598ec08781cc05cbf5ab3dda40628d5f414177c72028879f2d810bb31

See more details on using hashes here.

File details

Details for the file apio-1.3.0-py3-none-any.whl.

File metadata

  • Download URL: apio-1.3.0-py3-none-any.whl
  • Upload date:
  • Size: 188.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.32.5

File hashes

Hashes for apio-1.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 836dbdfccb52ae7fc5e1f3a3e2d94b768a1a3435e2ad8a147e0095a8b8602d3f
MD5 53ad05fefa8b269f0de4ebeccfa09caf
BLAKE2b-256 56aaca78b0f0ec3d6994ceb0e4ed1d9cda3915dfdfa70ff6ee916a4d931f6a05

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page