Skip to content

trabucayre/quickfeather-notes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

quickfeather-notes

Notes, scripts and apps for the Quickfeather Development Kit

For details on how to build the toolchain (run.sh internal behavior) see Tim 'mithro' Ansell notes

For details about FPGA flow (synthesis, pnr and header) see this

Prerequisites

Using a quickfeather board need to have tools to deal with CPU and FPGA.

Since number of distribution is huge, with different package manager and naming for application/libraries, we considerer the case of debian and ubuntu.

A toolchain for cortexM4 CPU:

With distribution package manager

sudo apt install gcc-arm-none-eabi

With a binary toolchain

wget https://developer.arm.com/-/media/Files/downloads/gnu-rm/9-2020q2/gcc-arm-none-eabi-9-2020-q2-update-x86_64-linux.tar.bz2
tar -xf gcc-arm-none-eabi-9-2020-q2-update-x86_64-linux.tar.bz2

Note: with the toolchain from developer.arm.com your PATH must be updated to add /somewhere/gcc-arm-none-eabi-9-2020-q2-update-x86_64-linux/bin

export PATH=$PATH:/somewhere/gcc-arm-none-eabi-9-2020-q2-update/bin

FPGA toolchain

sudo apt install build-essential git cmake bison flex python3-pip \
	tcl-dev ca-certificates libffi-dev libreadline-dev \
	gawk iverilog pkg-config clang curl graphviz xdot
pip3 install --user git+https://github.com/symbiflow/fasm
pip3 install --user git+https://github.com/antmicro/quicklogic-fasm
pip3 install --user git+https://github.com/antmicro/quicklogic-fasm-utils

GUI support for vtr-verilog-to-routing (optional)

sudo apt install libgtk-3 libx11-dev

symbiflow-arch-defs (mandatory)

sudo apt install wget libxcursor-dev libxcursor-dev libxdamage-dev \
        libxcomposite-dev libxinerama-dev libxext-dev \
        libxrandr-dev libxi-dev

Building toolchain

This repository provide a script (run.sh) to build the FPGA toolchain

This script may be used directly on your host computer or by using docker. The second option reduce the amount of residual package but since the build is not (currently) static this solution is limited to debian testing (or equivalent distribution/package version.

At the end (and with default configuration), the current directory must contains two new directory:

  • build: where everything is build. At this time this repository is no more mandatory
  • quicklogic: toolchain directory

Building directly on the host computer

[SKIP_VPR=1] [SKIP_YOSYS=1] [SKIP_PLUGINS=1] [SKIP_SYMBIFLOW=1] [INSTALL_DIR=/somewhere] ./run.sh

where:

  • SKIP_XX: skip the corresponding build step
  • INSTALL_DIR: target destination (default quicklogic in the current directory)

Through a Docker container

Two script are provided:

  1. prepare_image to build the image with all mandatories dependencies
  2. launch_docker to create a container in interactive mode

Prepare image:

host$ prepare_image

Enter docker image:

host$ ./launch_docker
docker# su user
docker$ cd /opt/quicklogic
docker$ ./run.sh
docker$ exit
docker# exit
host$

FPGA toolchain use

To be able to use the FPGA toolchain PATH must be updated:

export PATH=/somewhere/quickfeather-notes/quicklogic/bin:/somewhere/quickfeather-notes/quicklogic/bin/python:$PATH

Adapt toolchain path if INSTALL_DIR has been used

About

Notes, scripts and apps to quickfeather board

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published