-
Notifications
You must be signed in to change notification settings - Fork 247
Installing the Toolchains from outside icestudio
Icestudio will install all the toolchains needed the first time it is executed. Or you can do it anytime from the Tools/Toolchain/Install menu option.
But it may ocurr that for whatever the reason (a bug or an uninstalled dependency) the toolchain cannot be installed
These are the steps you should follow in order to install the toolchains from the command console, outside icestudio
Follow these steps for installing the FPGA toolchains for icestudio from the command line in Ubuntu 20.04
- Install python3:
sudo apt install python3
- Install the python virtual environment (venv)
sudo apt install python3-venv
- Go to your home folder and enter into the .icestudio directory. That folder is created the first time icestudio is executed and it stores the configuration and the installed toolchains
cd ~/.icestudio
- Remove all the files and folders within the .icestudio directory. You can do it graphically form the file manager or in the command line:
rm -r *
- Install the python virtual environment with this command:
python3 -m venv venv
- Execute the command pip from the virtual environment for installing the latest stable apio package
venv/bin/pip install apio
- (Optional) If you need a specific apio version execute the previous command adding the version number:
venv/bin/pip install apio==0.5.4
We will use Apio for downloading the toolchains needed. We want it to install the packages inside the .icestudio/apio folder
- Set the APIO_HOME_DIR variable with the target folder for installing the toolchains:
export APIO_HOME_DIR=~/.icestudio/apio
- Install all the toolchains
venv/bin/apio install -a
Launch icestudio. It will ask you to select your board and then you are done!
Follow these steps for installing the FPGA toolchains for icestudio from the command line in Windows 10
- Install python3:
Before installing anything, check if you already have python 3.6 or greather installed. Just open a windows command line (cmd) and execute this command python --version
C:\Users\Obijuan> python --version
Python 3.8.2
If the version is greather or equal to python 3.6, everything is fine. If you have another version or python is not installed, download the latest version from this site: Python downloads and install it
Once it is installed, open the command line and check again the version with the previous command: python --version
Icestudio uses the a virtual python environment for installing packages without conflicting with the packages already installed in your system.
- Go to your home folder and enter into the .icestudio directory. That folder is created the first time icestudio is executed and it stores the configuration and the installed toolchains
C:\Users\Obijuan>cd .icestudio
C:\Users\Obijuan\.icestudio>
- Remove the venv and apio folders if they exist. You can do it graphically form the file manager or in the command line:
C:\Users\Obijuan\.icestudio>rmdir /s venv
C:\Users\Obijuan\.icestudio>rmdir /s apio
- Install the python virtual environment with this command:
C:\Users\Obijuan\.icestudio>python -m venv venv
- Execute the command pip from the virtual environment for installing the latest stable apio package
C:\Users\Obijuan\.icestudio> venv\Scripts\pip install apio
- (Optional) If you need a specific apio version execute the previous command adding the version number:
C:\Users\Obijuan\.icestudio> venv\Scripts\pip install apio==0.5.4
We will use Apio for downloading the toolchains needed. We want it to install the packages inside the .icestudio/apio folder
- Set the APIO_HOME_DIR variable with the target folder for installing the toolchains:
C:\Users\Obijuan\.icestudio> set APIO_HOME_DIR=%USERPROFILE%\.icestudio\apio
- Install all the toolchains
C:\Users\Obijuan\.icestudio>venv\Scripts\apio install -a
Launch icestudio. If you go to the Tools/Toolchain menu you will see the apio version that has been installed
You are ready to go!
- Default: Icestudio Default Collection
- IceK: Constants
- IceWires: Wires and Buses
- IceIO: FPGA IO-pins
- IceGates: Logic gates
- IceMux: Muxes and demuxes
- IceCoders: Binary Encoders and Decoders
- IceFF: Flip-Flops
- IceRegs: Registers
- IceSRegs: Shift Registers
- IceBoards: blocks and examples for the diferent FPGA boards
- IceComp: Comparators
- IceArith: Integer arithmetics
- IceCounter: Counters
- IceSignals: 1-bit signal managment
- IcePLL: PLLs
- IceLEDOscope: Measuring signals
- IceLEDs: Displaying on LEDs
- IceHearts: Timming signal generation
- IceInputs: 1-bit inputs
- IceRok: Block probes for Icestudio => Sigrok integration (with Pulseview GUI)
- IceMachines: Working with Machines (simple state machines with a standar interface)
- IceSerial: Serial Asynchronous communications
- IceMem: Working with Memories
- IceMeasure: Measuring cycles and time in your circuits, very easily
- IceStack: Working with stacks
- IceFlash: Read from spi serial flash memories
- IceBus: Accesing and sharing simple buses
- IceLCD: Components and controllers for LCDs
- IceUnary: Working with unary numbers
- IceCrystal: Drive displays from Open Source FPGAs
- ice-chips-verilog: IceChips is a library of all common discrete logic devices in Verilog
- ArithmeticBlocks: FPGA signed and unsigned integer operations, 16, 24 and 32 bits, + - * / sqrt min max compare etc.
- iceSynth: Audio synthesis
- icebreaker: Blocks and examples for the icebreaker OpenFPGA board
- Jedi: blocks of the FPGA Jedi hardware Academy
- LOVE-FPGA: Hardware elements and examples for the LOVE-FPGA project (Linking Of Virtual Electronics to FPGAs)
- Stdio: Standard Input-Output in different devices
- CT11: Ejemplos del cuaderno ténico 11: Señales del sistema y Medición con el LEDOscopio
- Generic: Icestudio Generic Collection
- Logic: Icestudio Logic Collection
- IceInterface: Serial, SPI, I2C... (TODO)
- IceK-TB: Tests for iceK
- IceWires-TB: Test for icewires
- IceIO-TB: Tests for iceIO
- iceGates-TB: Tests for gates
- iceCoders-TB: Tests for iceCoders
- IceFF-TB: Tests for iceFF
- IceRegs-TB: Tests for registers
- IceSregs-TB: Tests for shift registers
- Jedi-Test: Tests for the blocks on the Jedi Collection