Pular para conteúdo

Instalação de Ferramentas

Ambiente

Esse breve tutorial ajudará na instalação das ferramentas necessárias para o desenvolvimento do projeto. O tutorial foi testado em um sistema operacional Ubuntu 23.04, mas deve funcionar em outras distribuições ou versões de Linux.

oss-cad-suite

Esse é o principal conjunto de ferramentas, que estão empacotadas numa única distribuição para facilitar a instalação. O guia abaixo é baseado no repositório do Yosys no Github.

  1. Baixe o pacote de instalação do oss-cad-suite. Eu utilizei especificamente esse arquivo.

  2. Crie uma pasta chamada eda (abreviação de Electronic Design Automation) no seu homedir e descompacte o arquivo lá dentro com o nome oss-cad-suite.

source $HOME/eda/oss-cad-suite/environment

Atenção

Você vai querer colocar essa linha no seu .bashrc ou arquivo de início do seu shell.

Meson

Requisito para o Litex que pode falhar na instalação do próximo item logo abaixo.

sudo apt install -y meson

Litex

Esse é um gerenciador de componentes que já contem diversas funcionalidades que vocês poderão utilizar na sua disciplina. A instalação é simples no Linux, seguindo os comandos abaixo.

1
2
3
4
5
cd
mkdir -p eda/litex
cd eda/litex
wget https://raw.githubusercontent.com/enjoy-digital/litex/master/litex_setup.py
python3 ./litex_setup.py --init --install --user --config=standard

A instalação começa pela clonagem de inúmeros repositórios dos componentes do Litex e ferramentas relacionadas.

Alguns tutoriais interessantes feitos pelo desenvolvedor.

Não funcionou?

Se você está utilizando um Linux novo como Ubuntu 23.04, é possível que a instalação reclame do comando pip. Se for isso, você deve fazer a instalação com virtualenv removendo a opção --user do comando acima.

Verilator

Verilator é um simulador Verilog que pode ser utilizado como alternativa para a placa em vários dos cenários de desenvolvimento.

sudo apt install libevent-dev libjson-c-dev verilator

Plugins do VSCode

Alguns plugins são recomendados para o VSCode (apesar dos links abaixo, a forma mais simples é buscar pelo nome no VSCode)

  1. Lushay Code
  2. Verilog HDL/SystemVerilog
  3. WaveTrace

Ajuste de permissões para acessar a USB sem ser root

curl -sSL https://raw.githubusercontent.com/lushaylabs/openfpgaloader-ubuntufix/main/setup.sh | sh

Atenção

Eu executei todos esses códigos no meu computador mas você pode querer olhar especificamente os que estão sendo executados como root como o código acima.

Emulador de Terminal Tabby

Uma recomendação é utilizar o Tabby para se conectar com a interface da placa.

Baixe o arquivo de instalação

Gowin IDE

Essas são as ferramentas do fabricante da FPGA. Futuramente utilizaremos somente as versões livres mas para os testes iniciais da placa fica mais simples utilizar as ferramentas do fabricante. Baixe daqui a versão educacional (precisa registrar).

Baixe o arquivo e descompacte dentro da pasta eda/gowin. O ambiente de desenvolvimento é o programa eda/gowin/IDE/bin/gw_ide.

Teste agora

Aqui você pode buscar por exemplos do kit de desenvolvimento Tang Nano 9K e testar o IDE. Um bom ponto de partida é a página do fabricante.

Compilador RISC-V

Já existe um pacote pronto para Ubuntu, ele pode ser instalado com o comando:

sudo python3 ./litex_setup.py --gcc=riscv

dentro da pasta do litex.