SlideShare uma empresa Scribd logo
Marcos AV Silva.
2013
 Estudar a arquitetura SPARC V8 da qual é
derivado o processador de 32 bits LEON3 da
empresa Aeroflex Gaisler.
 Elaboração do fluxo gravação do processador
LEON3 em kits de desenvolvimento da
ALTERA DE-2 e D0-nano.
 Testar a versão de Linux SnapGear no LEON3.
 O processador LEON3 é um modelo VHDL
sintetizável de um processador de 32-bits
compatível com a arquitetura SPARC V8. O
modelo é altamente configurável, e
particularmente apropriado para projetos do
tipo system-on-a-chip (SOC).
O processador tem as seguintes características:
 Conjunto de instruções do SPARC V8;
 Pipeline avançado de 7-estágios;
 Multiplicação e divisão em Hardware;
 Unidades de MAC;
 FPU de alto desempenho;
 Cache de instruções e de dados separadas
(Arquitetura Harvard);
 AMBA-2.0 AHB bus interface;
 Suporte a debug on-chip;
 Symmetric Multi-processor support (SMP);
 Até 125 MHz em FPGA e 400 MHz em ASIC
com tecnologia de 0.13µM;
 Extremamente configurável;
 Grande gama de ferramentas de software:
compiladores, kernels, simuladores e
monitores de debug.
 O LEON3 é totalmente parametrizável através de
configurações em seu VHDL, sem alterar nenhum
pacote de configuração global. Assim, é possível
instanciar vários núcleos em um mesmo projeto, com
diferentes configurações. As características do LEON3
podem ser definidas através de uma ferramenta
gráfica, facilitando a configuração do processador. A
ferramenta de configuração pode alterar todas as
características do processador, e também periféricos
on-chip como memórias e interfaces de rede.
 O processador LEON3 pode ser sintetizado com as
mais conhecidas ferramentas como Synplify,
Synopsys DC e Cadence RC. Este pode ser sintetizado
também com as ferramentas Xilinx XST e Altera
Quartus, tanto por scripts ou utilizando as interfaces
gráficas da própria ferramenta.
A Aeroflex Gaisler desenvolve IPs em VHDL, A maioria dos
“cores” são distribuídos dentro da biblioteca de IPs GRLIB,
proporcionando uma plataforma de desenvolvimento de
SoCs. O uso da versão LEON3/GRLIB é feita sob licença
GPL.
A GRLIB traz scripts automáticos para as ferramentas de
projeto da Synopsys, Synplify, Cadence, Mentor, Actel,
Altera, Lattice, e Xilinx e para os simuladores Modelsim,
Ncsim, Aldec, Sonata e GHDL.
A GRLIB é centrada no barramento, ou seja, assume-se
que a maioria dos IP “cores” serão conectados através do
barramento on-chip. O barramento AMBA-2.0 AHB/APB
foi o escolhido como o barramento comum devido a sua
popularidade no mercado (ARM) e por causa da sua
documentação vasta e ausência de restrições de licença.
O LEON3FT é uma versão tolerante a falhas do
processador LEON3. Ele foi projetado para
operações no ambiente espacial, e inclui
funcionalidades para detectar e corrigir erros do
tipo SEU ( single event upset) em memórias RAM
on-chip. O LEON3FT suporta a maioria das
funções do LEON3 e adiciona as seguintes
funcionalidades:
 Register file SEU error-correction de até 4 errors
por 32-bit word;
 Cache memory error-correction de até 4 errors
por 32-bit word;
 Tratamento de erros autônomo e transparente ao
software;
 Nenhum impacto no timing devido a detecção or
correção de erros.
As seguintes características do LEON3 não
são suportadas no LEON3FT:
 RAM de rascunho local (instruções ou dados);
 “Cache locking”.
 LRR (least recently replaced).
 O LEON3FT core é distribuído junto com uma
versão especial FT da GRLIB.
A implementação de um sistema com o
LEON3 é tipicamente feita usando uma das
“templates” de projetos fornecidas, e pode
ser dividida nas seguintes partes:
 Configuração do projeto usando xconfig;
 Simulação e “test-bench”;
 Síntese e “place & route”;
 Geração do “bitstream”;
 Configuração da FPGA na placa.
As “templates” de projeto se localizam no
diretório designs/ da GRLIB e se baseiam em três
arquivos:
 config.vhd: um pacote em VHDL contendo os
parâmetros de configuração do projeto, gerado
automaticamente pela ferramenta GUI xconfig.
 leon3mp.vhd: contém a entidade “top-level” e
instâncias de todos IP cores.
 testbench.vhd: testbench com memória externa,
emulando a placa FPGA.
Para ativarmos o GUI xconfig digitamos
make xconfig
na linha de comando. A seguir podemos ver
a ferramenta GUI xconfig:
Após a configuração do projeto, podemos
realizar as próximas etapas do processo
dentro da ferramenta de projeto Quartus da
ALTERA, ou digitarmos make quartus na
linha de comando.
Após a geração do “bit-stream” podemos
programar a FPGA através do Quartus ou
utilizando o comando make quartus-prog-
fpga. Esta etapa irá descarregar o arquivo
leon3mp.sof para a FPGA através da interface
JTAG.
Inicialmente trabalhamos com o kit DE-2 que possui as seguintes características:
- Altera Cyclone II 2C35 FPGA com 35000 LEs (elementos lógicos)
- Dispositivo de configuração serial Altera (EPCS16) para Cyclone II 2C35
- USB Blaster (built in on board) para programação e controle API
- Suporta modo JTAG e AS
- SDRAM de 8Mbyte (1M x 4 x 16)
- SRAM de 512K byte(256K X16)
- Memória flash de 4Mbyte (upgradeable to 4Mbyte)
- Socket para cartão SD
- 4 chaves tipo Push-button
- 18 chaves DPDT
- 9 LEDs cor verde
- 18 LEDs cor vermelho
- Módulo LCD 16 x 2
- Oscilador de 50MHz e 27MHz para fontes externas de clock
- CODEC de Áudio de 24-bit (Qualidade CD) com linha de entrada, saída e para
microfone
- VGA DAC (10-bit alta-velocidade triple DACs) com conector VGA de saída
- TV Decoder (NTSC/PAL) e conector de entrada para TV
- Controlador Ethernet 10/100 com socket. Controlador USB Mestre/Escravo com
conectores USB tipo A e tipo B.
- Transceiver RS-232 e conector de 9-pinos
- Conector PS/2 mouse/teclado
- Transceiver IrDA
- Dois Headers de expansão de 40-pinos com diodo de proteção
O segundo kit é o DE0-nano, que possui as seguintes características:
- Cyclone® IV EP4CE22F17C6N FPGA
22,320 Logic elements (LEs)
594 Memória Embarcada (Kbits)
66 Multipliers Embarcados 18 x 18
4 PLLs
153 FPGA I/O
- Circuito USB-Blaster on-board
- EPCS16 - Dispositivo de configuração serial
- Dois Headers 40-pin (GPIOs) - Dois pinos de energia 5V, dois pinos de
energia 3.3V e quatro pinos de terra
- Um Header de 16-pin, fornece 16 pinos I/O digital e 8 de análogicos
- 32MB SDRAM
- 2Kb I2C EEPROM
- 8 Leds verdes
- 2 push-buttons
- 4 dip-swiches
- Acelerometro ADXL345 com alta resolução (13-bit)
- NS ADC128S022, 8 Canais, 12-bit Conversor A/D50 ksps para 200 ksps
- Oscilador de 500Mhz
- USB mini-AB port (5V)
- Dois pinos DC (5V)
- Dois pinos Energia Externa (3.6-5.7V)
No desenvolvimento de aplicações em
linguagem C foi utilizado a IDE Eclipse
juntamente com o plugin fornecido pela
Aeroflex Gaisler que possui um cross-
compiler da linguagem C/C++ para LEON e
ERC32 e permite o debug e simulação do
hardware (GRMON).
Uma outra maneira de debug do LEON3 é
utilizando a ferramenta GRMON stand-alone.
Ela se conecta através da porta JTAG dos kits
de desenvolvimento e promove a interação
com a FPGA. Para ativar o GRMON
digitamos:
grmon -altjtag -u -nb -nosram
O GRMON é um monitor de depuração para o
processador LEON3. O GRMON se comunica com a
unidade de suporte a depuração (debug support unit
- DSU) do LEON3, permitindo depuração não intrusiva
do sistema. O GRMON tem as seguintes
características:
 Leitura/Escrita em todos os registradores e
memórias;
 Carregamento e execução de aplicações;
 Gerencia de breakpoint e watchpoint;
 Conexão remota com o depurador GDB;
 Definições de comandos pelo usuário;
 Suporte para interface plug-and-play LEON3/GRLIB;
 Interfaces para depuração Serial, Ethernet, JTAG, PCI e
USB.
Dentro do GRMON podemos transferir um
código compilado para o processador LEON3
através do comando
load <arqbin>
e executá-lo através do comando:
run
Foram escritos códigos em linguagem C para
acessar alguns periféricos das placas DE-2 e
DE0-nano, tais como chaves ON/OFF, push-
buttons, LEDs, DISPLAY LCD e GPIO (32 bits).
A template de LEON3 para placa DE-2 possui
duas GPIO que estão conectadas via
barramento AMBA APB ao processador. A
seguir vemos uma parte do código que
acessa uma dessas portas:
printf("GPIO_0 ADDR = %08Xn",pio);
pio[2] |= 0x01FF; // Set direction of
line 1 to output
pio[1] &= ~0x1FF; // Set line 1 low
printf("pio_0 din = %08Xn",pio[0]);
printf("pio_1 dout = %08Xn",pio[1]);
printf("pio_2 dir = %08Xn",pio[2]);
printf("pio_3 imask = %08Xn",pio[3]);
printf("pio_4 level = %08Xn",pio[4]);
printf("pio_5 edge = %08Xn",pio[5]);
printf("pio_6 bypass = %08Xn",pio[6]);
printf("pio_7 reserved = %08Xn",pio[7]);
printf("pio_8 irqmap = %08Xn",pio[8]);
O Display LCD da placa DE-2 é compatível com
HD44780 e também foi utilizado, a seguir vemos
um pouco do código de uso do LCD:
/* * init display LCD * */
send_ctrl_LCD(0x38);
send_ctrl_LCD(0x0F);
send_ctrl_LCD(0x01);
send_ctrl_LCD(0x06);
/* * send data * */
send_data_LCD(' ');
send_data_LCD(' ');
send_data_LCD(' ');
send_data_LCD('D');
send_data_LCD('H');
Os push-buttons e os LEDs foram acessados
conforme o código abaixo:
while(key2 != 0x00){
pio[1] ^= 0x1FF;
// pisca LEDs
key2 = pio[0] & 0x0200;//testa
se foi pressionado
for(i = 0; i <= 1000000;i++){}
//delay
}
Nesta etapa vamos utilizar a versão 2.6.x do
kernel Linux SnapGear que tem suporte para
MMU, este kernel vem do kernel.org com
patches específicos para o LEON3 e drivers
adicionais para a GRLIB.
Nós baixamos e instalamos a toolchain do
LEON GLibC Cross-compiler (linux-x86 host)
do site:
O processo de instalação deve ser feito no
diretório /opt e o path (/opt/sparc-[uc]-
linux-3.x.x/bin) deve ser adicionado para a
variável PATH do shell.
A instalação da distribuição SnapGear pode
ser feita em qualquer lugar dentro do
diretório home:
mkdir ~/SnapGear
cd ~/SnapGear
tar -xjf
/path/to/dist/snapgear-2.6p42.tar.bz2
O SnapGear traz uma interface GUI
semelhante aos utilitários do kernel Linux.
Nessa GUI é possível selecionar o
processador, versão de Linux, biblioteca C e
qual aplicações a serem incluídas no root file
system (imagem ROMFS). É também possível
configurar os parâmetros de boot loader e o
kernel Linux. Para ativar a GUI é só digitar:
make xconfig
Após ter configurado o kernel e as aplicações,
é possível compilar o SnapGear usando o
comando:
make
Após a compilação e build do kernel, duas imagens
foram geradas:
 image.flashbz : imagem PROM que irá descomprimir
o kernel e as aplicações na RAM e rodar tudo de lá.
 image.dsu: imagem RAM para fins de download e
execução no hardware final usando o DSU ou os
simuladores.
Para transferir as imagens geradas para os
kits DE-2 e D0-nano, utilizamos o GRMON.
grmon -altjtag -u -nb -nosram
A seguir digitamos o comando:
load image.dsu
Para executarmos o kernel baixado digitamos:
run
 Os resultados com a placa DE-2 não foram
satisfatórios.
 Recomendamos o uso do kit D0-nano.
© 2013 MAVS

Mais conteúdo relacionado

Mais procurados

Fundamentos de VHDL em Lógica Programável v1.1
Fundamentos de VHDL em Lógica Programável v1.1Fundamentos de VHDL em Lógica Programável v1.1
Fundamentos de VHDL em Lógica Programável v1.1
Alcides Costa
 
Slides apresentação 12 erm
Slides  apresentação 12 ermSlides  apresentação 12 erm
Slides apresentação 12 erm
Francisco Fambrini
 
Webinar: Debugging em Linux embarcado
Webinar: Debugging em Linux embarcadoWebinar: Debugging em Linux embarcado
Webinar: Debugging em Linux embarcado
Embarcados
 
Roteiro exp9
Roteiro exp9Roteiro exp9
Roteiro exp9
Daniela Freitas
 
Ko 7 kdp-06
Ko 7 kdp-06Ko 7 kdp-06
Ko 7 kdp-06
confidencial
 
Eripi2018 p4 tutorial
Eripi2018 p4 tutorialEripi2018 p4 tutorial
Eripi2018 p4 tutorial
Nathan Saraiva
 
PHP e PostgreSQL - Dois Elefantes trabalham muito mais !
PHP e PostgreSQL - Dois Elefantes trabalham muito mais !PHP e PostgreSQL - Dois Elefantes trabalham muito mais !
PHP e PostgreSQL - Dois Elefantes trabalham muito mais !
William Felipe
 
Assembly
AssemblyAssembly
Resumo x86
Resumo x86Resumo x86
Laboratório configuração de um túnel ponto a ponto vpn gre
Laboratório configuração de um túnel ponto a ponto vpn greLaboratório configuração de um túnel ponto a ponto vpn gre
Laboratório configuração de um túnel ponto a ponto vpn gre
Nuno Teixeira
 
Arquitetura pentium
Arquitetura pentiumArquitetura pentium
Arquitetura pentium
EMSNEWS
 
Trabalho protocolo profibus
Trabalho protocolo profibusTrabalho protocolo profibus
Trabalho protocolo profibus
Gerson Roberto da Silva
 
Roteamento avançado em Linux - GTER
Roteamento avançado em Linux - GTERRoteamento avançado em Linux - GTER
Roteamento avançado em Linux - GTER
Helio Loureiro
 
Linguagem assembly
Linguagem assemblyLinguagem assembly
Linguagem assembly
JOEL FARIA HAUK
 
Relatório final
Relatório finalRelatório final
Relatório final
Marcus Vinícius da Fonseca
 
Ac16 conjunto de instruções v2
Ac16   conjunto de instruções v2Ac16   conjunto de instruções v2
Ac16 conjunto de instruções v2
Elaine Cecília Gatto
 
Cpic
CpicCpic
Profibus pa
Profibus paProfibus pa
Profibus pa
confidencial
 
Linux e zephyr conversando no mesmo SoC
Linux e zephyr conversando no mesmo SoCLinux e zephyr conversando no mesmo SoC
Linux e zephyr conversando no mesmo SoC
Embarcados
 
Android Fat Binaries
Android Fat BinariesAndroid Fat Binaries
Android Fat Binaries
Intel Software Brasil
 

Mais procurados (20)

Fundamentos de VHDL em Lógica Programável v1.1
Fundamentos de VHDL em Lógica Programável v1.1Fundamentos de VHDL em Lógica Programável v1.1
Fundamentos de VHDL em Lógica Programável v1.1
 
Slides apresentação 12 erm
Slides  apresentação 12 ermSlides  apresentação 12 erm
Slides apresentação 12 erm
 
Webinar: Debugging em Linux embarcado
Webinar: Debugging em Linux embarcadoWebinar: Debugging em Linux embarcado
Webinar: Debugging em Linux embarcado
 
Roteiro exp9
Roteiro exp9Roteiro exp9
Roteiro exp9
 
Ko 7 kdp-06
Ko 7 kdp-06Ko 7 kdp-06
Ko 7 kdp-06
 
Eripi2018 p4 tutorial
Eripi2018 p4 tutorialEripi2018 p4 tutorial
Eripi2018 p4 tutorial
 
PHP e PostgreSQL - Dois Elefantes trabalham muito mais !
PHP e PostgreSQL - Dois Elefantes trabalham muito mais !PHP e PostgreSQL - Dois Elefantes trabalham muito mais !
PHP e PostgreSQL - Dois Elefantes trabalham muito mais !
 
Assembly
AssemblyAssembly
Assembly
 
Resumo x86
Resumo x86Resumo x86
Resumo x86
 
Laboratório configuração de um túnel ponto a ponto vpn gre
Laboratório configuração de um túnel ponto a ponto vpn greLaboratório configuração de um túnel ponto a ponto vpn gre
Laboratório configuração de um túnel ponto a ponto vpn gre
 
Arquitetura pentium
Arquitetura pentiumArquitetura pentium
Arquitetura pentium
 
Trabalho protocolo profibus
Trabalho protocolo profibusTrabalho protocolo profibus
Trabalho protocolo profibus
 
Roteamento avançado em Linux - GTER
Roteamento avançado em Linux - GTERRoteamento avançado em Linux - GTER
Roteamento avançado em Linux - GTER
 
Linguagem assembly
Linguagem assemblyLinguagem assembly
Linguagem assembly
 
Relatório final
Relatório finalRelatório final
Relatório final
 
Ac16 conjunto de instruções v2
Ac16   conjunto de instruções v2Ac16   conjunto de instruções v2
Ac16 conjunto de instruções v2
 
Cpic
CpicCpic
Cpic
 
Profibus pa
Profibus paProfibus pa
Profibus pa
 
Linux e zephyr conversando no mesmo SoC
Linux e zephyr conversando no mesmo SoCLinux e zephyr conversando no mesmo SoC
Linux e zephyr conversando no mesmo SoC
 
Android Fat Binaries
Android Fat BinariesAndroid Fat Binaries
Android Fat Binaries
 

Semelhante a LEON3 e KIT ALTERA.

Blackfin
BlackfinBlackfin
Microcontroladores pic
Microcontroladores picMicrocontroladores pic
Microcontroladores pic
Cesar Prim
 
Palestra omap
Palestra omapPalestra omap
MICROCONTROLADORES E PLATAFORMAS DE PROTOTIPAGEM
MICROCONTROLADORES E PLATAFORMAS DE PROTOTIPAGEMMICROCONTROLADORES E PLATAFORMAS DE PROTOTIPAGEM
MICROCONTROLADORES E PLATAFORMAS DE PROTOTIPAGEM
zelmasantos2015
 
Microcontroladores AVR
Microcontroladores AVRMicrocontroladores AVR
Microcontroladores AVR
Líus Fontenelle Carneiro
 
CompactLogix
CompactLogixCompactLogix
CompactLogix
ADELSON PIMENTEL
 
Seminario pic
Seminario picSeminario pic
Seminario pic
Rômulo Jales
 
AVR
AVRAVR
Microcontroladores PIC.pptx
Microcontroladores PIC.pptxMicrocontroladores PIC.pptx
Microcontroladores PIC.pptx
fmtpereira
 
Microcontroladores x microprocessadores
Microcontroladores x microprocessadoresMicrocontroladores x microprocessadores
Microcontroladores x microprocessadores
miroslayer
 
Webinar: Projeto de Hardware: ASIC e FPGA
Webinar: Projeto de Hardware: ASIC e FPGAWebinar: Projeto de Hardware: ASIC e FPGA
Webinar: Projeto de Hardware: ASIC e FPGA
Embarcados
 
10 apostila microcontroladores
10  apostila microcontroladores10  apostila microcontroladores
10 apostila microcontroladores
Alyson Cavalcante
 
PSoC
PSoCPSoC
Arduino
ArduinoArduino
Arduino
Luiz Avila
 
Corpo relatorio
Corpo relatorioCorpo relatorio
Corpo relatorio
Eduardo Greffner
 
Internet das coisas, conhecendo plataformas de desenvolvimentos
Internet das coisas, conhecendo plataformas de desenvolvimentosInternet das coisas, conhecendo plataformas de desenvolvimentos
Internet das coisas, conhecendo plataformas de desenvolvimentos
Douglas Esteves
 
LinuxCon 2010: Tutorial - Reverse Engineering on GNU/Linux Systems
LinuxCon 2010: Tutorial - Reverse Engineering on GNU/Linux SystemsLinuxCon 2010: Tutorial - Reverse Engineering on GNU/Linux Systems
LinuxCon 2010: Tutorial - Reverse Engineering on GNU/Linux Systems
Fernando Mercês
 
Arduino: Soluções para o mundo moderno
Arduino: Soluções para o mundo modernoArduino: Soluções para o mundo moderno
Arduino: Soluções para o mundo moderno
Marcelo Laranjeira Melo
 
Treinamento arduino (1).pptx
Treinamento arduino (1).pptxTreinamento arduino (1).pptx
Treinamento arduino (1).pptx
David Monteiro Mello
 
Conceito Ethernet Sniffer em Visual Studio C#
Conceito Ethernet Sniffer em Visual Studio C#Conceito Ethernet Sniffer em Visual Studio C#
Conceito Ethernet Sniffer em Visual Studio C#
Max Jeison Prass
 

Semelhante a LEON3 e KIT ALTERA. (20)

Blackfin
BlackfinBlackfin
Blackfin
 
Microcontroladores pic
Microcontroladores picMicrocontroladores pic
Microcontroladores pic
 
Palestra omap
Palestra omapPalestra omap
Palestra omap
 
MICROCONTROLADORES E PLATAFORMAS DE PROTOTIPAGEM
MICROCONTROLADORES E PLATAFORMAS DE PROTOTIPAGEMMICROCONTROLADORES E PLATAFORMAS DE PROTOTIPAGEM
MICROCONTROLADORES E PLATAFORMAS DE PROTOTIPAGEM
 
Microcontroladores AVR
Microcontroladores AVRMicrocontroladores AVR
Microcontroladores AVR
 
CompactLogix
CompactLogixCompactLogix
CompactLogix
 
Seminario pic
Seminario picSeminario pic
Seminario pic
 
AVR
AVRAVR
AVR
 
Microcontroladores PIC.pptx
Microcontroladores PIC.pptxMicrocontroladores PIC.pptx
Microcontroladores PIC.pptx
 
Microcontroladores x microprocessadores
Microcontroladores x microprocessadoresMicrocontroladores x microprocessadores
Microcontroladores x microprocessadores
 
Webinar: Projeto de Hardware: ASIC e FPGA
Webinar: Projeto de Hardware: ASIC e FPGAWebinar: Projeto de Hardware: ASIC e FPGA
Webinar: Projeto de Hardware: ASIC e FPGA
 
10 apostila microcontroladores
10  apostila microcontroladores10  apostila microcontroladores
10 apostila microcontroladores
 
PSoC
PSoCPSoC
PSoC
 
Arduino
ArduinoArduino
Arduino
 
Corpo relatorio
Corpo relatorioCorpo relatorio
Corpo relatorio
 
Internet das coisas, conhecendo plataformas de desenvolvimentos
Internet das coisas, conhecendo plataformas de desenvolvimentosInternet das coisas, conhecendo plataformas de desenvolvimentos
Internet das coisas, conhecendo plataformas de desenvolvimentos
 
LinuxCon 2010: Tutorial - Reverse Engineering on GNU/Linux Systems
LinuxCon 2010: Tutorial - Reverse Engineering on GNU/Linux SystemsLinuxCon 2010: Tutorial - Reverse Engineering on GNU/Linux Systems
LinuxCon 2010: Tutorial - Reverse Engineering on GNU/Linux Systems
 
Arduino: Soluções para o mundo moderno
Arduino: Soluções para o mundo modernoArduino: Soluções para o mundo moderno
Arduino: Soluções para o mundo moderno
 
Treinamento arduino (1).pptx
Treinamento arduino (1).pptxTreinamento arduino (1).pptx
Treinamento arduino (1).pptx
 
Conceito Ethernet Sniffer em Visual Studio C#
Conceito Ethernet Sniffer em Visual Studio C#Conceito Ethernet Sniffer em Visual Studio C#
Conceito Ethernet Sniffer em Visual Studio C#
 

Último

AE03 - ESTUDO CONTEMPORÂNEO E TRANSVERSAL INDÚSTRIA E TRANSFORMAÇÃO DIGITAL ...
AE03 - ESTUDO CONTEMPORÂNEO E TRANSVERSAL  INDÚSTRIA E TRANSFORMAÇÃO DIGITAL ...AE03 - ESTUDO CONTEMPORÂNEO E TRANSVERSAL  INDÚSTRIA E TRANSFORMAÇÃO DIGITAL ...
AE03 - ESTUDO CONTEMPORÂNEO E TRANSVERSAL INDÚSTRIA E TRANSFORMAÇÃO DIGITAL ...
Consultoria Acadêmica
 
AE03 - ESTUDO CONTEMPORÂNEO E TRANSVERSAL ENGENHARIA DA SUSTENTABILIDADE UNIC...
AE03 - ESTUDO CONTEMPORÂNEO E TRANSVERSAL ENGENHARIA DA SUSTENTABILIDADE UNIC...AE03 - ESTUDO CONTEMPORÂNEO E TRANSVERSAL ENGENHARIA DA SUSTENTABILIDADE UNIC...
AE03 - ESTUDO CONTEMPORÂNEO E TRANSVERSAL ENGENHARIA DA SUSTENTABILIDADE UNIC...
Consultoria Acadêmica
 
Workshop Gerdau 2023 - Soluções em Aço - Resumo.pptx
Workshop Gerdau 2023 - Soluções em Aço - Resumo.pptxWorkshop Gerdau 2023 - Soluções em Aço - Resumo.pptx
Workshop Gerdau 2023 - Soluções em Aço - Resumo.pptx
marcosmpereira
 
Manual de Instalação para Placa Proteco Q60A
Manual de Instalação para Placa Proteco Q60AManual de Instalação para Placa Proteco Q60A
Manual de Instalação para Placa Proteco Q60A
Tronicline Automatismos
 
MAQUINAS-EQUIPAMENTOS-E-FERRAMENTAS.pptx
MAQUINAS-EQUIPAMENTOS-E-FERRAMENTAS.pptxMAQUINAS-EQUIPAMENTOS-E-FERRAMENTAS.pptx
MAQUINAS-EQUIPAMENTOS-E-FERRAMENTAS.pptx
Vilson Stollmeier
 
Grau TÉCNICO EM SEGURANÇA DO TRABALHO I - LEGISLAÇÃO APLICADA À SAÚDE E SEGUR...
Grau TÉCNICO EM SEGURANÇA DO TRABALHO I - LEGISLAÇÃO APLICADA À SAÚDE E SEGUR...Grau TÉCNICO EM SEGURANÇA DO TRABALHO I - LEGISLAÇÃO APLICADA À SAÚDE E SEGUR...
Grau TÉCNICO EM SEGURANÇA DO TRABALHO I - LEGISLAÇÃO APLICADA À SAÚDE E SEGUR...
carlos silva Rotersan
 
AE02 - FORMAÇÃO SOCIOCULTURAL E ÉTICA II UNICESUMAR 52/2024
AE02 - FORMAÇÃO SOCIOCULTURAL E ÉTICA II UNICESUMAR 52/2024AE02 - FORMAÇÃO SOCIOCULTURAL E ÉTICA II UNICESUMAR 52/2024
AE02 - FORMAÇÃO SOCIOCULTURAL E ÉTICA II UNICESUMAR 52/2024
Consultoria Acadêmica
 

Último (7)

AE03 - ESTUDO CONTEMPORÂNEO E TRANSVERSAL INDÚSTRIA E TRANSFORMAÇÃO DIGITAL ...
AE03 - ESTUDO CONTEMPORÂNEO E TRANSVERSAL  INDÚSTRIA E TRANSFORMAÇÃO DIGITAL ...AE03 - ESTUDO CONTEMPORÂNEO E TRANSVERSAL  INDÚSTRIA E TRANSFORMAÇÃO DIGITAL ...
AE03 - ESTUDO CONTEMPORÂNEO E TRANSVERSAL INDÚSTRIA E TRANSFORMAÇÃO DIGITAL ...
 
AE03 - ESTUDO CONTEMPORÂNEO E TRANSVERSAL ENGENHARIA DA SUSTENTABILIDADE UNIC...
AE03 - ESTUDO CONTEMPORÂNEO E TRANSVERSAL ENGENHARIA DA SUSTENTABILIDADE UNIC...AE03 - ESTUDO CONTEMPORÂNEO E TRANSVERSAL ENGENHARIA DA SUSTENTABILIDADE UNIC...
AE03 - ESTUDO CONTEMPORÂNEO E TRANSVERSAL ENGENHARIA DA SUSTENTABILIDADE UNIC...
 
Workshop Gerdau 2023 - Soluções em Aço - Resumo.pptx
Workshop Gerdau 2023 - Soluções em Aço - Resumo.pptxWorkshop Gerdau 2023 - Soluções em Aço - Resumo.pptx
Workshop Gerdau 2023 - Soluções em Aço - Resumo.pptx
 
Manual de Instalação para Placa Proteco Q60A
Manual de Instalação para Placa Proteco Q60AManual de Instalação para Placa Proteco Q60A
Manual de Instalação para Placa Proteco Q60A
 
MAQUINAS-EQUIPAMENTOS-E-FERRAMENTAS.pptx
MAQUINAS-EQUIPAMENTOS-E-FERRAMENTAS.pptxMAQUINAS-EQUIPAMENTOS-E-FERRAMENTAS.pptx
MAQUINAS-EQUIPAMENTOS-E-FERRAMENTAS.pptx
 
Grau TÉCNICO EM SEGURANÇA DO TRABALHO I - LEGISLAÇÃO APLICADA À SAÚDE E SEGUR...
Grau TÉCNICO EM SEGURANÇA DO TRABALHO I - LEGISLAÇÃO APLICADA À SAÚDE E SEGUR...Grau TÉCNICO EM SEGURANÇA DO TRABALHO I - LEGISLAÇÃO APLICADA À SAÚDE E SEGUR...
Grau TÉCNICO EM SEGURANÇA DO TRABALHO I - LEGISLAÇÃO APLICADA À SAÚDE E SEGUR...
 
AE02 - FORMAÇÃO SOCIOCULTURAL E ÉTICA II UNICESUMAR 52/2024
AE02 - FORMAÇÃO SOCIOCULTURAL E ÉTICA II UNICESUMAR 52/2024AE02 - FORMAÇÃO SOCIOCULTURAL E ÉTICA II UNICESUMAR 52/2024
AE02 - FORMAÇÃO SOCIOCULTURAL E ÉTICA II UNICESUMAR 52/2024
 

LEON3 e KIT ALTERA.

  • 2.  Estudar a arquitetura SPARC V8 da qual é derivado o processador de 32 bits LEON3 da empresa Aeroflex Gaisler.  Elaboração do fluxo gravação do processador LEON3 em kits de desenvolvimento da ALTERA DE-2 e D0-nano.  Testar a versão de Linux SnapGear no LEON3.
  • 3.  O processador LEON3 é um modelo VHDL sintetizável de um processador de 32-bits compatível com a arquitetura SPARC V8. O modelo é altamente configurável, e particularmente apropriado para projetos do tipo system-on-a-chip (SOC).
  • 4. O processador tem as seguintes características:  Conjunto de instruções do SPARC V8;  Pipeline avançado de 7-estágios;  Multiplicação e divisão em Hardware;  Unidades de MAC;  FPU de alto desempenho;  Cache de instruções e de dados separadas (Arquitetura Harvard);  AMBA-2.0 AHB bus interface;
  • 5.  Suporte a debug on-chip;  Symmetric Multi-processor support (SMP);  Até 125 MHz em FPGA e 400 MHz em ASIC com tecnologia de 0.13µM;  Extremamente configurável;  Grande gama de ferramentas de software: compiladores, kernels, simuladores e monitores de debug.
  • 6.  O LEON3 é totalmente parametrizável através de configurações em seu VHDL, sem alterar nenhum pacote de configuração global. Assim, é possível instanciar vários núcleos em um mesmo projeto, com diferentes configurações. As características do LEON3 podem ser definidas através de uma ferramenta gráfica, facilitando a configuração do processador. A ferramenta de configuração pode alterar todas as características do processador, e também periféricos on-chip como memórias e interfaces de rede.  O processador LEON3 pode ser sintetizado com as mais conhecidas ferramentas como Synplify, Synopsys DC e Cadence RC. Este pode ser sintetizado também com as ferramentas Xilinx XST e Altera Quartus, tanto por scripts ou utilizando as interfaces gráficas da própria ferramenta.
  • 7.
  • 8. A Aeroflex Gaisler desenvolve IPs em VHDL, A maioria dos “cores” são distribuídos dentro da biblioteca de IPs GRLIB, proporcionando uma plataforma de desenvolvimento de SoCs. O uso da versão LEON3/GRLIB é feita sob licença GPL. A GRLIB traz scripts automáticos para as ferramentas de projeto da Synopsys, Synplify, Cadence, Mentor, Actel, Altera, Lattice, e Xilinx e para os simuladores Modelsim, Ncsim, Aldec, Sonata e GHDL. A GRLIB é centrada no barramento, ou seja, assume-se que a maioria dos IP “cores” serão conectados através do barramento on-chip. O barramento AMBA-2.0 AHB/APB foi o escolhido como o barramento comum devido a sua popularidade no mercado (ARM) e por causa da sua documentação vasta e ausência de restrições de licença.
  • 9.
  • 10. O LEON3FT é uma versão tolerante a falhas do processador LEON3. Ele foi projetado para operações no ambiente espacial, e inclui funcionalidades para detectar e corrigir erros do tipo SEU ( single event upset) em memórias RAM on-chip. O LEON3FT suporta a maioria das funções do LEON3 e adiciona as seguintes funcionalidades:  Register file SEU error-correction de até 4 errors por 32-bit word;  Cache memory error-correction de até 4 errors por 32-bit word;  Tratamento de erros autônomo e transparente ao software;  Nenhum impacto no timing devido a detecção or correção de erros.
  • 11. As seguintes características do LEON3 não são suportadas no LEON3FT:  RAM de rascunho local (instruções ou dados);  “Cache locking”.  LRR (least recently replaced).  O LEON3FT core é distribuído junto com uma versão especial FT da GRLIB.
  • 12. A implementação de um sistema com o LEON3 é tipicamente feita usando uma das “templates” de projetos fornecidas, e pode ser dividida nas seguintes partes:  Configuração do projeto usando xconfig;  Simulação e “test-bench”;  Síntese e “place & route”;  Geração do “bitstream”;  Configuração da FPGA na placa.
  • 13. As “templates” de projeto se localizam no diretório designs/ da GRLIB e se baseiam em três arquivos:  config.vhd: um pacote em VHDL contendo os parâmetros de configuração do projeto, gerado automaticamente pela ferramenta GUI xconfig.  leon3mp.vhd: contém a entidade “top-level” e instâncias de todos IP cores.  testbench.vhd: testbench com memória externa, emulando a placa FPGA.
  • 14. Para ativarmos o GUI xconfig digitamos make xconfig na linha de comando. A seguir podemos ver a ferramenta GUI xconfig:
  • 15. Após a configuração do projeto, podemos realizar as próximas etapas do processo dentro da ferramenta de projeto Quartus da ALTERA, ou digitarmos make quartus na linha de comando.
  • 16. Após a geração do “bit-stream” podemos programar a FPGA através do Quartus ou utilizando o comando make quartus-prog- fpga. Esta etapa irá descarregar o arquivo leon3mp.sof para a FPGA através da interface JTAG.
  • 17. Inicialmente trabalhamos com o kit DE-2 que possui as seguintes características: - Altera Cyclone II 2C35 FPGA com 35000 LEs (elementos lógicos) - Dispositivo de configuração serial Altera (EPCS16) para Cyclone II 2C35 - USB Blaster (built in on board) para programação e controle API - Suporta modo JTAG e AS - SDRAM de 8Mbyte (1M x 4 x 16) - SRAM de 512K byte(256K X16) - Memória flash de 4Mbyte (upgradeable to 4Mbyte) - Socket para cartão SD - 4 chaves tipo Push-button - 18 chaves DPDT - 9 LEDs cor verde - 18 LEDs cor vermelho - Módulo LCD 16 x 2 - Oscilador de 50MHz e 27MHz para fontes externas de clock - CODEC de Áudio de 24-bit (Qualidade CD) com linha de entrada, saída e para microfone - VGA DAC (10-bit alta-velocidade triple DACs) com conector VGA de saída - TV Decoder (NTSC/PAL) e conector de entrada para TV - Controlador Ethernet 10/100 com socket. Controlador USB Mestre/Escravo com conectores USB tipo A e tipo B. - Transceiver RS-232 e conector de 9-pinos - Conector PS/2 mouse/teclado - Transceiver IrDA - Dois Headers de expansão de 40-pinos com diodo de proteção
  • 18.
  • 19. O segundo kit é o DE0-nano, que possui as seguintes características: - Cyclone® IV EP4CE22F17C6N FPGA 22,320 Logic elements (LEs) 594 Memória Embarcada (Kbits) 66 Multipliers Embarcados 18 x 18 4 PLLs 153 FPGA I/O - Circuito USB-Blaster on-board - EPCS16 - Dispositivo de configuração serial - Dois Headers 40-pin (GPIOs) - Dois pinos de energia 5V, dois pinos de energia 3.3V e quatro pinos de terra - Um Header de 16-pin, fornece 16 pinos I/O digital e 8 de análogicos - 32MB SDRAM - 2Kb I2C EEPROM - 8 Leds verdes - 2 push-buttons - 4 dip-swiches - Acelerometro ADXL345 com alta resolução (13-bit) - NS ADC128S022, 8 Canais, 12-bit Conversor A/D50 ksps para 200 ksps - Oscilador de 500Mhz - USB mini-AB port (5V) - Dois pinos DC (5V) - Dois pinos Energia Externa (3.6-5.7V)
  • 20.
  • 21. No desenvolvimento de aplicações em linguagem C foi utilizado a IDE Eclipse juntamente com o plugin fornecido pela Aeroflex Gaisler que possui um cross- compiler da linguagem C/C++ para LEON e ERC32 e permite o debug e simulação do hardware (GRMON).
  • 22.
  • 23. Uma outra maneira de debug do LEON3 é utilizando a ferramenta GRMON stand-alone. Ela se conecta através da porta JTAG dos kits de desenvolvimento e promove a interação com a FPGA. Para ativar o GRMON digitamos: grmon -altjtag -u -nb -nosram
  • 24.
  • 25. O GRMON é um monitor de depuração para o processador LEON3. O GRMON se comunica com a unidade de suporte a depuração (debug support unit - DSU) do LEON3, permitindo depuração não intrusiva do sistema. O GRMON tem as seguintes características:  Leitura/Escrita em todos os registradores e memórias;  Carregamento e execução de aplicações;  Gerencia de breakpoint e watchpoint;  Conexão remota com o depurador GDB;  Definições de comandos pelo usuário;  Suporte para interface plug-and-play LEON3/GRLIB;  Interfaces para depuração Serial, Ethernet, JTAG, PCI e USB.
  • 26. Dentro do GRMON podemos transferir um código compilado para o processador LEON3 através do comando load <arqbin> e executá-lo através do comando: run
  • 27. Foram escritos códigos em linguagem C para acessar alguns periféricos das placas DE-2 e DE0-nano, tais como chaves ON/OFF, push- buttons, LEDs, DISPLAY LCD e GPIO (32 bits). A template de LEON3 para placa DE-2 possui duas GPIO que estão conectadas via barramento AMBA APB ao processador. A seguir vemos uma parte do código que acessa uma dessas portas:
  • 28. printf("GPIO_0 ADDR = %08Xn",pio); pio[2] |= 0x01FF; // Set direction of line 1 to output pio[1] &= ~0x1FF; // Set line 1 low printf("pio_0 din = %08Xn",pio[0]); printf("pio_1 dout = %08Xn",pio[1]); printf("pio_2 dir = %08Xn",pio[2]); printf("pio_3 imask = %08Xn",pio[3]); printf("pio_4 level = %08Xn",pio[4]); printf("pio_5 edge = %08Xn",pio[5]); printf("pio_6 bypass = %08Xn",pio[6]); printf("pio_7 reserved = %08Xn",pio[7]); printf("pio_8 irqmap = %08Xn",pio[8]);
  • 29. O Display LCD da placa DE-2 é compatível com HD44780 e também foi utilizado, a seguir vemos um pouco do código de uso do LCD: /* * init display LCD * */ send_ctrl_LCD(0x38); send_ctrl_LCD(0x0F); send_ctrl_LCD(0x01); send_ctrl_LCD(0x06); /* * send data * */ send_data_LCD(' '); send_data_LCD(' '); send_data_LCD(' '); send_data_LCD('D'); send_data_LCD('H');
  • 30. Os push-buttons e os LEDs foram acessados conforme o código abaixo: while(key2 != 0x00){ pio[1] ^= 0x1FF; // pisca LEDs key2 = pio[0] & 0x0200;//testa se foi pressionado for(i = 0; i <= 1000000;i++){} //delay }
  • 31. Nesta etapa vamos utilizar a versão 2.6.x do kernel Linux SnapGear que tem suporte para MMU, este kernel vem do kernel.org com patches específicos para o LEON3 e drivers adicionais para a GRLIB. Nós baixamos e instalamos a toolchain do LEON GLibC Cross-compiler (linux-x86 host) do site:
  • 32.
  • 33. O processo de instalação deve ser feito no diretório /opt e o path (/opt/sparc-[uc]- linux-3.x.x/bin) deve ser adicionado para a variável PATH do shell. A instalação da distribuição SnapGear pode ser feita em qualquer lugar dentro do diretório home: mkdir ~/SnapGear cd ~/SnapGear tar -xjf /path/to/dist/snapgear-2.6p42.tar.bz2
  • 34. O SnapGear traz uma interface GUI semelhante aos utilitários do kernel Linux. Nessa GUI é possível selecionar o processador, versão de Linux, biblioteca C e qual aplicações a serem incluídas no root file system (imagem ROMFS). É também possível configurar os parâmetros de boot loader e o kernel Linux. Para ativar a GUI é só digitar: make xconfig
  • 35.
  • 36. Após ter configurado o kernel e as aplicações, é possível compilar o SnapGear usando o comando: make
  • 37. Após a compilação e build do kernel, duas imagens foram geradas:  image.flashbz : imagem PROM que irá descomprimir o kernel e as aplicações na RAM e rodar tudo de lá.  image.dsu: imagem RAM para fins de download e execução no hardware final usando o DSU ou os simuladores.
  • 38. Para transferir as imagens geradas para os kits DE-2 e D0-nano, utilizamos o GRMON. grmon -altjtag -u -nb -nosram
  • 39.
  • 40. A seguir digitamos o comando: load image.dsu
  • 41. Para executarmos o kernel baixado digitamos: run
  • 42.
  • 43.  Os resultados com a placa DE-2 não foram satisfatórios.  Recomendamos o uso do kit D0-nano.