Efinix FPGA Development Notes

seperator bar

Fireant Development Kit
Fireant T8 Development Kit

seperator bar

Project Description

This is the story of getting started with Efinix FPGA devices and development environment running under Arch linux. This is the process I used at the end of 2022 so please view this only as a resource that may help one getting set up in your particular development environment. In the tech world, hardware, software, web addresses and operating systems tend to change rapidly. I like to document my progress on new adventures as it is quite likely I may have to repeat the process on new hardware or assist someone setting up a development system.

Efinix provides a free development environment for its FPGA line that has versions for windows or linux. To get access to the development software, you must buy a qualified development board containing one of the Efinix FPGAs. The least expensive board I found is called the Fireant ($30USD,50$Cdn). This is a T8 fpga, USB programmer, 2 user switches, 4 user LEDs and a bunch of 3.3V I/O on 40 Pin board suitable for plugging into a prototype board. It requires, no external components to get started and can be powered via the USB programming cable. If you need a grander introduction board, Efinix has quite a variety of Trion development boards with Trion T8, T20 and T120 fpgas. See https://www.efinixinc.com/products-devkits.html

Step by Step

After the IDE Installation Notes

Projects are stored in the /home/yourusername/efinity/2022.1/project folder... ie. /home/yourusername/efinity/2022.1/project/FA-blinky

Hex images for programming are found in the outflow directory of a project... ie. /home/yourusername/efinity/2022.1/project/FA-blinky/outflow/blinky.hex.

Be patient... it can take from a minute to "a long time" to build a project depending on its complexity. I am using a 4 core intel I7 from 2013 with 16Gb of memory which is pretty much the minimum recommended development box.

Development can be done in VHDL or Verilog or as a mixture within a project. I am still trying to wrap my mind around which environment seems to work best for me.

When starting a new project for the Fireant, you will need to know the FPGA part family (Trion), the device (T8F81) and the timing Model (C2).

To check a project for properly defined I/O:


Main Efinix web page: https://www.efinixinc.com
Fireant FPGA Board: https://www.mouser.ca/ProductDetail/392-CS-FIREANT-01
Efinix Development Boards: https://www.efinixinc.com/products-devkits.html
Jeffs T35 fpga board project: https://github.com/s100projects/T35_FPGA_MODULE
Efinix IDE downloads: https://www.efinixinc.com/support/efinity.php
Info and verilog examples for the fireant https://github.com/jungle-elec/FireAnt
Quick start guide for fireant: https://github.com/jungle-elec/FireAnt/wiki/FireAnt-Quick-Start-Guide
seperator bar