Instalando Intel Quartus Prime e ModelSim no Ubuntu 20.04

1 - Acesse o site da Intel:

         https://www.intel.com/content/www/us/en/homepage.html

2 - Na aba de produtos vá em:  Intel® Quartus® Prime Design Software



3 - Depois na tab Features & Downloads, Uma opção é do software para uso gratuito é o Intel® Quartus® Prime Lite Edition.



https://www.intel.com/content/www/us/en/software-kit/684215/intel-quartus-prime-lite-edition-design-software-version-21-1-for-linux.html

4 - Na tela de Downloads, você tem tanto a opção de baixar os arquivos individualmente ou baixar todos os arquivos de uma unica vez (Complete Download ou Multiple Download).



5 - Instalando as dependências


Para ter sucesso e um Quartus funcionando, precisamos instalar vários pacotes antes de proceder com a instalação do software principal:

 $     sudo apt install libc6:i386 libncurses5:i386 libxtst6:i386 \

 $      libxft2:i386 libc6:i386 libncurses5:i386 libstdc++6:i386 \

 $      libc6-dev-i386 libxft2 lib32z1 lib32ncurses5 libqt5xml5 liblzma-dev


6 - Agora instalando o Quartus

Uma vez com o arquivo .tar (Quartus-lite-21.1.0.842-linux.tar),  no seu computador, vamos extrair o seu conteúdo. Criamos um diretório e extraímos dentro dele:

     $        mkdir quartusLite

     $        tar xvf Quartus-lite-21.1.0.842-linux.tar -C quartusLite


Vamos entrar no diretório onde extraímos o tar e vamos executar o script de setup com privilégios de administrador:

   $       cd quartusLite

   $       ./setup.sh




Caso só tenha baixado o arquivo .run (QuartusLiteSetup-21.1.0.842-linux.run), basta marcar a opção de executar, fechar a aba de permissões e dar dois cliques no arquivo.


Mantenha a opção do diretório raiz da instalação. Por padrão ele sugere a home do usuário e vamos manter isso (/home/usuario/intelFPGA/20.1).


6. Editando as variáveis de ambiente

Primeiro, precisamos editar o nosso arquivo .bashrc (/home/usuario/.bashrc). Você pode usar o editor de texto se preferir, para adicionar essas linhas no final do arquivo (oculto) .bashrc os seguintes códigos:

Essas linhas, basicamente, determinam a localização dos binários (arquivos executáveis) do próprio Quartus, o Nios e o ModelSim, sendo eles os componentes principais para modelar, compilar, simular e fazer a interface com o hardware.

export QSYS_ROOTDIR="/home/usuario/intelFPGA/20.1/quartus/sopc_builder/bin"

export QUARTUS_ROOTDIR_OVERRIDE="/home/usuario/intelFPGA/20.1/quartus/"

export QUARTUS_64BIT=1

export PATH=$PATH:/home/usuario/intelFPGA/20.1/quartus/bin

export PATH=$PATH:/home/usuario/intelFPGA/20.1/nios2eds/bin

export PATH=$PATH:/home/usuario/intelFPGA/20.1/modelsim_ase/bin

Fechamos o terminal e abrimos de novo para que as variáveis de ambiente sejam lidas e exportadas corretamente pelo shell.


7. Executando o Quartus

Nessa altura do campeonato já deveríamos poder executar o Quartus:

    $      quartus

Criação do ícone no sistema

Para ter o ícone do Quartus Prime no sistema, é necessário criar o arquivo quartus.desktop em ~/.local/share/applications e na área de trabalho contendo:

QUARTUS 

[Desktop Entry]
Version=1.0
Name=Quartus Prime Lite
Comment=Quartus Prime design software for Altera FPGA's
Exec=/home/usuario/intelFPGA/20.1/quartus/bin/quartus
Icon=/home/usuario/intelFPGA/20.1/quartus/adm/quartusii.png
Terminal=false Type=Application Categories=Development MODELSIM [Desktop Entry] Version=1.0 Name=ModelSim Lite Comment=ModelSim Exec=/home/usuario/intelFPGA/20.1/modelsim_ase/bin/vsim
Icon=/usr/share/icons/modelsim.png Terminal=true Type=Application Categories=Development
    

Caso queira simular seus projetos de verilog ou vhdl pelo ModelSim (Run Simulation Tool -> RTL Simulation)

Veja se o caminho está correto (Tool -> Options -> EDA Tool Options):



Driver para a conexão USB-Blaster

Antes de poder programar um FPGA usando a interface JTAG é necessário Configurar a USB Blaster para a programação JTAG.

Executar como root os seguintes comandos para criar o arquivo altera-usb-blaster.rules na pasta /etc/udev/rules.d

sudo nano /etc/udev/rules.d/altera-usb-blaster.rules 
ou
sudo nano /etc/udev/rules.d/51-altera-usb-blaster.rules

Com o conteúdo:

ATTR{idVendor}=="09fb", ATTR{idProduct}=="6001", MODE="666"
ATTR{idVendor}=="09fb", ATTR{idProduct}=="6002", MODE="666"
ATTR{idVendor}=="09fb", ATTR{idProduct}=="6003", MODE="666"
ATTR{idVendor}=="09fb", ATTR{idProduct}=="6010", MODE="666"
ATTR{idVendor}=="09fb", ATTR{idProduct}=="6810", MODE="666"

OU

SUBSYSTEM=="usb", ATTR{idVendor}=="09fb", ATTR{idProduct}=="6001", MODE="0666"
SUBSYSTEM=="usb", ATTR{idVendor}=="09fb", ATTR{idProduct}=="6002", MODE="0666"
SUBSYSTEM=="usb", ATTR{idVendor}=="09fb", ATTR{idProduct}=="6003", MODE="0666"
SUBSYSTEM=="usb", ATTR{idVendor}=="09fb", ATTR{idProduct}=="6010", MODE="0666"
SUBSYSTEM=="usb", ATTR{idVendor}=="09fb", ATTR{idProduct}=="6810", MODE="0666"


Reinicie o computador.

Para verificar se a JTAG está configurada corretamente, conecte a placa usando a USB e ligue-a.

  /home/USUARIO/intelFPGA/20.1/quartus/bin/jtagconfig

Se estiver OK, deve aparece alguma mensagem do tipo:


Caso não esteja OK, aparecerá:

No JTAG hardware available

seu USB Blaster funciona, mas você não pode se conectar à cadeia JTAG. Uma possível causa pode ser uma versão de 32 bits ausente do libudev.

  • Baixe libudev1:i368 e crie um link simbólico
sudo apt-get install libudev1:i386
sudo ln -sf /lib/x86_64-linux-gnu/libudev.so.1 /lib/x86_64-linux-gnu/libudev.so.0

Assim, o arquivo deve ser recarregado usando o comando udevadm. Atenção: Todos os componentes Altera deve estar desconectado antes de executar tal comando!

udevadm control --reload


Caso a saída não tenha o nome da placa, você possui um problema para a inicialização do nios2 tools. Para resolver este problema, execute:

mkdir /etc/jtagd

cp /home/USUARIO/intelFPGA/20.1/quartus/linux/pgm_parts.txt /etc/jtagd/jtagd.pgm_parts
e reinicie o jtagd:

$ jtagconfig
1) USB-Blaster [2-4]
020F30DD
$ killall jtagd
$ jtagd ou jtagd --user-start ou jtagd --user-start --config ~/.jtagd.conf
ou /home/USUARIO/intelFPGA/20.1/quartus/bin/jtagd
$ jtagconfig ou /home/USUARIO/intelFPGA/20.1/quartus/bin/jtagconfig
1) USB-Blaster [2-4]
020F30DD EP3C25/EP4CE22

Caso seja necessário criar um link simbolico jtagd para facilitar a execução pelo terminal:

  nano ~/.local/share/jtagd.sh

cole o seguinte conteúdo (cole, depois Ctrl + O para salvar e Ctrl+X para sair)

   #!/bin/sh

   exec /home/ti/intelFPGA/20.1/quartus/bin/jtagd "$@" 

Depois:

   cd /usr/bin

   sudo ln -s ~/.local/share/jtagd.sh jtagd

Agora para instalar o Intel Quartus (menor que 19.1) e ModelSim para versões do Ubuntu menor que 18.04... 

talvez seja preciso instalar mais outros programas:

Há uma biblioteca, libpng12, que a gente não vai encontrar nos repositórios da distribuição. Vamos fazer o download da seguinte forma:

  sudo add-apt-repository ppa:linuxuprising/libpng12

  sudo apt update

  sudo apt install libpng12-0

  sudo apt-get install libpng12.so.0


 Resolvendo os erros do ModelSim

ModelSim é o programa que vai fazer as simulações, só que quando tentar executar ele vai dar erro:

$ vsimError: cannot find "/opt/intelFPGA_lite/19.1/modelsim_ase/bin/../linux_rh60/vsim"

Vamos precisa fazer uma correção no arquivo vsim. Para isso precisamos mudar as suas permissões, já que ele não está habilitado para escrita nem para o usuário root:

cd /opt/intelFPGA/20.1/modelsim_ase/bin/

sudo chmod 777 vsim

Dentro do arquivo vsim precisamos achar essa linha:

vco="linux_rh60"

E mudar ela para:

vco="linux"

Imediatamente embaixo da linha (aprox. na linha 50):

dir=`dirname $arg0`

Adicionamos a linha:

export LD_LIBRARY_PATH=${dir}/lib32

Que faz referencia ao diretório recentemente criado onde copiamos as librarias recompiladas.

E recriamos às permissões originais do arquivo, tirando as permissões de escrita que tínhamos mudado previamente:

sudo chmod 555 vsim


Referência:

https://medium.com/permalink-univesp/instalando-o-intel-quartus-prime-lite-edition-no-ubuntu-18-04-e6de9b5230f0


https://github.com/arthurmteodoro/install-quartus-linux




Comentários

  1. What makes a full-stack software engineer so popular and highly sought after? The answer lies in his/her ability to work on both ends of an application or website. It's a great write-up, looking forward to more such blogs.

    ResponderExcluir

Postar um comentário

Postagens mais visitadas deste blog

Instalando Certificado Digital (pfx) no Linux / Ubuntu

Como instalar PSIM 9.0.3.400 no Ubuntu (14.04 ou 16.04)

Instalar Issabel no centOs7 Lightsail AWS