Skip to main content

apio-cli-banner

license python

linux   macos   windows

cli-test cli-build cli-docs cli-pypi-monitor cli-latest-monitor repos-janitor ide-test ide-build definitions-test definitions-build oss-cad-suite-build verible-build graphviz-build drivers-build openxc7-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 and AMD/Xilinx 7 Series 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.

Release files for apio 1.6.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for apio 1.6.0
File Size Uploaded
apio-1.6.0.tar.gz 6.6 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for apio 1.6.0
File Interpreter ABI Platform
apio-1.6.0-py3-none-any.whl Python 3 none any Details

Total release size: 6.8 MB

Release files / apio-1.6.0.tar.gz

Download URL apio-1.6.0.tar.gz
Size 6.6 MB
Tags Source
SHA-256 checksum
How to use checksums
132cf7d69586220b9d63ec8c98454788444f8969a5b6ba400bda32e54833c4f9
BLAKE2b-256 checksum
How to use checksums
1ca7a5dc44d2b560ec39feef6a473e3b642032e59830427f9a4e6df528e3d99f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via python-requests/2.34.2

Release files / apio-1.6.0-py3-none-any.whl

Download URL apio-1.6.0-py3-none-any.whl
Size 212.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
4647db8224f66c3218fe32ac029a3c0ec4d1a53538d96f91627ac025cd83b43d
BLAKE2b-256 checksum
How to use checksums
b10968fa4fc9d5a196388f1a82cb321ce44fb98c3ebf47f6ec41c584ebfa2461
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via python-requests/2.34.2

Release history Release notifications | RSS feed

This release

1.6.0 This release

2 release files

1.5.1

2 release files

1.5.0

2 release files

1.4.2

2 release files

1.4.1

2 release files

1.4.0

2 release files

1.3.0

2 release files

1.2.1

2 release files

1.2.0

2 release files

0.9.5

2 release files

0.9.4

2 release files

0.9.3

2 release files

0.9.2

2 release files

0.9.1

2 release files

0.8.4

2 release files

0.8.3

2 release files

0.8.2

2 release files

0.8.1

2 release files

0.8.0

2 release files

0.7.6

2 release files

0.7.5

2 release files

0.7.4

2 release files

0.7.3

1 release file

0.6.7

2 release files

0.6.6

2 release files

0.6.4

2 release files

0.6.3

2 release files

0.6.2

2 release files

0.6.1

2 release files

0.6.0

2 release files

0.5.4

2 release files

0.5.3

2 release files

0.5.2

1 release file

0.5.1

1 release file

0.5.0

1 release file

0.4.1

2 release files

0.4.0

1 release file

0.3.6

1 release file

0.3.5

1 release file

0.3.4

1 release file

0.3.3

1 release file

0.3.2

1 release file

0.3.1

1 release file

0.3.0

1 release file

0.2.4.3

1 release file

0.2.4.2

1 release file

0.2.4

1 release file

0.2.3

1 release file

0.2.2.2

1 release file

0.2.2

1 release file

0.2.1

1 release file

0.2.0

1 release file

0.1.9.2

1 release file

0.1.9.1

1 release file

0.1.9.0

1 release file

0.1.8

1 release file

0.1.7.7

1 release file

0.1.7.6

1 release file

0.1.7.5

1 release file

0.1.7.4

1 release file

0.1.7.3

1 release file

0.1.7.2

1 release file

0.1.7.1

1 release file

0.1.7

1 release file

0.1.6.4

1 release file

0.1.6.3

1 release file

0.1.6

1 release file

0.1.5.1

1 release file

0.1.5

1 release file

0.1.4

1 release file

0.1.3

1 release file

0.1.2.3

1 release file

0.1.2.2

1 release file

0.1.2.1

1 release file

0.1.2

1 release file

0.1.1.7

1 release file

0.1.1.6

1 release file

0.1.1.5

1 release file

0.1.1.4

1 release file

0.1.1.3

1 release file

0.1.1.2

1 release file

0.1.1.1

1 release file

0.1.0.5

1 release file

0.1.0.4

1 release file

0.1.0.3

1 release file

0.1.0.2

1 release file

0.1.0.1

1 release file

0.1.0

0.1

1 release file

0.0.5.2

1 release file

0.0.5.1

1 release file

0.0.5

1 release file

0.0.4.7

1 release file

0.0.4.6

1 release file

0.0.4.2

1 release file

0.0.4.1

1 release file

0.0.4

1 release file

0.0.3.9

1 release file

0.0.3.8

1 release file

0.0.3.7

1 release file

0.0.3.6

1 release file

0.0.3.5

1 release file

0.0.3.4

1 release file

0.0.3.3

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page