Beruflich Dokumente
Kultur Dokumente
Tutorial
SoPC com Qsys e Nios II
Descrio Geral
QSYS a nova ferramenta Altera SOPC Builder. Ento, se voc estiver usando o Quartus 13.0.x,
voc deve t-la. Neste tutorial vamos criar um sistema on Chip Programvel (SOPC) ou System on
Chip (SoC) com QSYS.
Explicao
Este tutorial desenvolver um sistema que acende dois LEDs atravs de dois botes utilizando a
placa DE2 e o Quartus II .
Ser escolhido o hardware, realizado o projeto e criada uma biblioteca de software a partir deste
projeto. Aps isso ser escrito um programa em C, que ser carregado na placa DE2, com
hardware desenvolvido no QSYS, gerando o arquivo "de2_blinker.sopcinfo".
Com este arquivo que ser criado o BSP (Board Support Package), compilado com a aplicao do
usurio em linguagem C (desenvolvida no SBT - Software Build Tools, plataforma baseada no
Eclipse), para depois ser descarregado na placa e testado.
Next>
Family: Cyclone II
Package: FBGA
Pin count: 672
Speed grade: 6
Available devices: EP2C35F672C6
Adicionando um processador
Em Component Library ( esquerda), selecione: Library > Embedded Processors > Nios II
Processor.
Clique no boto +Add.., e a janela do mdulo do processador Nios II vai abrir.
Na guia Core Nios II > Selecione Nios II Core > Nios II/e > Finish
O ncleo Nios II adicionado sobre o contedo do sistema com o nome nios2_qsys_0, vamos
renome-lo para nios2_proc.
Voc pode ver que o data_master e instruction_master j esto ligados a jtag_debug_module
Para corrigir os erros e avisos, antes de tudo, vamos conectar todos os clocks.
Para isso necessrio clicar na frente de cada clock, e escolher:
Conecte nios2_proc.data_master a:
Conecte nios2_proc.instruction_master a:
de2_blinker.bsf
de2_blinker.cmp
de2_blinker.html
de2_blinker.sopcinfo
de2_blinker.generation.rpt
Dentro da pasta de2_blinker h uma outra pasta chamada synthetis e dentro dela a pasta
submodules, com vrios arquivos.
Vamos voltar para o Quartus.
Adio de arquivos
Em Quartus > Project > Add/Remove Files in Project > aparecer a janela Settings.
Clique no boto "..." direita da entrada de texto File name e selecione o arquivo que voc pode
encontrar em:
C:\dev\fpga\altera\sys-on-prog-chip\de2_blinker\synthesis\de2_blinker.v
Em seguida, clique em Add a direita. O arquivo de2_blinker.v adicionado.
Vamos continuar adicionando todos os outros arquivos.
Clique no boto "..." direita da entrada de texto File name. Selecione todos os 36 arquivos no
seguinte diretrio:
C:\dev\fpga\altera\sys-on-prog-chip\de2_blinker\synthesis\submodules
Eles so adicionados imediatamente (no precisa clicar em Adicionar). Clique em OK.
No Project Navigator, clique na guia Files.
Na lista de arquivos, selecione de2_blinker/synthesis/de2_blinker.v.
Clique com o boto direito > Set as Top-Level Entity.
Compilaes
clk_clk
PIN_N2
led_external_connection_export[1]
PIN_AF23
led_external_connection_export[0]
PIN_AE23
switcher_external_connection_export[7] PIN_C13
switcher_external_connection_export[6] PIN_AC13
switcher_external_connection_export[5] PIN_AD13
switcher_external_connection_export[4] PIN_AF14
switcher_external_connection_export[3] PIN_AE14
switcher_external_connection_export[2] PIN_P25
switcher_external_connection_export[1] PIN_N26
switcher_external_connection_export[0] PIN_N25
Uma vez feito isso, vamos recompilar o projeto., em Quartus > Processing > Start Compilation.
Neste ponto, temos que enviar o arquivo chip1.sof, gerada pela segunda compilao, para a placa.
Arquivo encontrado em:
C:\dev\fpga\sys-on-prog-chip\output_files\chip1.sof
De Quartus > Tools > Programmer.
Normalmente, voc s tem que clicar em Start para fazer o upload do programa na placa, mas se
o output_files/chip1.so no estiver visvel direita, clique em Add File e escolha-o.
Observao: necessrio ter placa conectada e ligada. Caso contrrio, a biblioteca BSP no
vai encontrar o ID correspondente nem o timestamp do programa atual.
Uma vez que o projeto enviado para a placa, podemos criar a nossa BSP library.
De Quartus > Tools > Nios II Software Build Tools For Eclipse.
Escolha um espao de trabalho para o Eclipse, por exemplo:
C:\dev\fpga\eclipse
De Eclipse > File > New > Nios II Application and BSP from Template.
Vai aparecer uma janela do aplicativo Nios II e BSP.
Na SOPC Information File name escolha:
C:\dev\fpga\altera\sys-on-prog-chip\de2_blinker.sopcinfo
Automaticamente voc pode ver que nios2_proc aparece no menu CPU name.
Adicione um nome na parte Project name, por exemplo, blinker-lib.
No Project template, deixe Hello World como template.
Clique em Next, voc ver blinker-lib_bsp no BSP Project name.
Clique em Finish.
A compilao da biblioteca BSP inicia e voc pode encontrar dois novos projetos em:
C:\dev\fpga\altera\sys-on-prog-chip\de2_blinker.sopcinfo
No Project Explorer, h ento dois novos projetos:
blinker-lib
blinker-lib_bsp
Criando um programa
Em Project Explorer > clique com o boto direito em app-to-board > Run As > 3 Nios II
Hardware.
O programa principal comear a compilar.
A janela Run Configuration ir abrir. Se houver falta de informao, assim como na aba Target
Connection, voc tem que clicar em Refresh Connections a direita.
Se voc clicar em System ID Properties voc deve ver ID base, system e timestamp.
Se houver erros, clique em Ignore mismatched system ID e/ou Ignore mismatched system
timestamp na guia Target Connection na parte inferior.
Agora que o programa est na placa, tente apertar as chaves SW0 e SW1 para ver o LEDR0 e o
LEDR1 respectivamente acenderem.