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.
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
$ 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
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
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.shcole 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
O 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://github.com/arthurmteodoro/install-quartus-linux
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.
ResponderExcluirThank you! Vishu Bhatnagar
ResponderExcluir