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


NOTE:  Apio IDE for Visual Studio Code. Apio is also available as an extension for Visual Studio Code. To install it, visit the Apio IDE page in the Visual Studio Code Marketplace. The rest of this page describes the command line version of Apio.

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.5.0.tar.gz (6.5 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.5.0-py3-none-any.whl (195.1 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for apio-1.5.0.tar.gz
Algorithm Hash digest
SHA256 265473b8fdf777f5515f440f9eb1d3ffbb61119ec0ad50a430b0da17dbbe33a6
MD5 92ec945211305da30083dc732dfea220
BLAKE2b-256 f7e8d46350bba05abea8f5a7be3e8871e3f70ed578f6175a1b1b1542a430d1a5

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for apio-1.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 256cd14588545804979e99fac5f2b1ec9a7b5f3323180b99e4b6d969e3dca1f1
MD5 61c4f1ca94340d7f4d9b9d946a3bd818
BLAKE2b-256 c8336906395e2f878bffedaa8eb98c2b2708606b13809f143d733d7e4f3741da

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