Carregar apresentação
A apresentação está carregando. Por favor, espere
1
Altera Excalibur
2
DOCUMENTAÇÃO!!!!
3
Sistema de Prototipação Excalibur
Ambiente de Simulação Hardware Software
4
Placa de desenvolvimento Excalibur
5
Placa de desenvolvimento Excalibur
Dispositivo APEX Características nº de portas 13KB de RAM nios ocupa entre 25% e 35% da lógica do dispositivo Modo de programação conexão JTAG (Quartus II) memória flash
6
Placa de desenvolvimento Excalibur
Memória Flash Características 1Mbyte (512Kb x 16 bits) Propósito usada como memória não volátil pelo Nios (w/r) configuração do APEX (controle de configuração)
7
Placa de desenvolvimento Excalibur
Memória SRAM Características 256Kb (64Kb x 16 bits) em cada chip Nios pré-carregado (64Kb x 32 bits)
8
Placa de desenvolvimento Excalibur
Conectores SODIMM Características socket de 144 pinos SODIMM módulo SDRAM (64bits) Conectada ao APEX nios pré-carregado não faz uso desta memória
9
Placa de desenvolvimento Excalibur
Pinos de expansão Características 3.3 V e 5 V O APEX esta protegido dos pinos de 5V por chaves analógicas Para conexão de placas filhas, como Ethernet
10
Placa de desenvolvimento Excalibur
Conectores PCI (PMC) Características APEX PCI padrão IEEE 1386
11
Placa de desenvolvimento Excalibur
Conectores JTAG Características compatível com ByteBlaster e MasterBlaster Propósitos programar o APEX (Quartus II) reprogramar o EPM7064 (Quartus II ou MAX+PLUS II)
12
Placa de desenvolvimento Excalibur
Chaves Características compatível com ByteBlaster e MasterBlaster Propósitos programar o APEX (Quartus II) reprogramar o EPM7064 (Quartus II ou MAX+PLUS II) PCM software (host)
13
Placa de desenvolvimento Excalibur
Controlador de Configuração Propósito configurar o APEX Dados de configuração Quartus hexout flash (ocupa 1/4 da mem. Flash) GERMS flash Configuração de usuário x fábrica 512Kb - instruções do Nios e espaço de dados não volátil 256Kb - configuração do usuário 256Kb - configuração de fábrica
14
Placa de desenvolvimento Excalibur
Entrada/Saída básica Elementos push-button switches dip switch display de 7 segmentos
15
Placa de desenvolvimento Excalibur
Chaves especiais Sw2 (reset) flash APEX Sw3 (clear) depende da configuração do APEX Nios pré-carregado passa a executar o código a partir do endereço 0
16
Placa de desenvolvimento Excalibur
Circuito de clock Elementos oscilador ( MHz) distribuidor de clock
17
Placa de desenvolvimento Excalibur
Circuito de clock Elementos oscilador ( MHz) distribuidor de clock Dispositivos com clock APEX pinos de expansão conectores PCM conectores SODIMM
18
Processador Nios e Periféricos
19
Fluxo de projeto Hardware Software Altera PLD
Configuração do processador Biblioteca de periféricos Seleção dos periféricos Hardware Software Projeto do processador (Verilog / VHDL) Test Bench para simulação C Header files Custom Library Boot monitor Generate JTAG Serial Ethernet Arquivo de configuração de hardware Código executável Síntese Place & Route Cygnus/Red Hat GNUPro Download & Debug Projeto do usuário IP proprietários Altera PLD Código do usuário Biblioteca S/W RTOS
20
Processador Nios
21
Processador Nios Nosso projeto aqui
Processador Soft Core Configurável (Firm Core) Arquitetura RISC 32-Bit Instruções de 16-Bit Maioria das instruções executadas em1 ciclo de clock Pipeline de 5 estágios Grande Banco de Registradores Internos 128, 256 or 512 registradores 32 registradores por janela Bloco de Dados Configurável 16 bits 32 bits inclusão ou não de multiplicação Timer IRQ PBM CPU UART Nosso projeto aqui FLASH SRAM Porta Serial Altera PLD
22
Processador Nios Faixa de endereçamento 128 kbytes (16 bits)
4 Gbytes (32 bits) Desempenho : até 50 MIPS Otimizado para PLD APEX 13% do APEX EP20K200E - 16 bits 20% do APEX EP20K200E - 32 bits Freqüência Máxima de 50 MHz Endereço Base do Vetor de Exceções 64 endereços de manipuladores de exceções Nios 32 bits = 4 bytes Nios 16 bits = 2 bytes Operações de deslocamento com número de ciclos parametrizável 1, 3, 7, 15 or 31 Bits/Clock
23
Parâmetros do Nios Data Path (32 or 16)
Tamanho do Barramento de Endereços (10 a 33-bits) Tamanho do Bloco de Registradores (128, 256 or 512) Endereço de Reset Endereço Base do Vetor de Exceções 64 endereços de manipuladores de exceções Nios 32 bits = 4 bytes Nios 16 bits = 2 bytes Bit Shift Speed (1, 3, 7, 15 or 31 Bits/Clock) Opções de Multiplicação
24
Diagrama de Blocos do Nios
25
Banco de Registradores por Janela
Até 512 registradores de propósito geral Janela móvel permite acesso a 32 registradores por janela 8 registradores globais (fixos) 24 registradores (móveis) Automaticamente usado pelo compilador (C) Vantagens: passagem de parâmetros chamada rápida a subrotinas
26
Bit Shift Speed Múltiplos deslocamentos em um único ciclo de clock
Incrementos de até 3, 5, 7, 15, ou 31 Bits por clock Caro (área ocupada) Exemplo: Bit Shift Speed configurado para 7: i << 9; /* Shift Left by 9 Bits */ Executa em 2 Clocks Clock 1 (Shift 7 bits) Clock 2 (Shift 2 bits)
27
Opções de Multiplicação
Software Usa a biblioteca matemática do GNU MSTEP Hardware Multiplicador multiplicação de 1 bit por clock Aumento de ~ 4X sobre a rotina de multiplicação (software) MUL 16 x 16 32 em 2 Clocks LEs Adicionais Ciclos de Clock 16x16>32 Ciclos de Clock 32x32>32 Multiplicador Software MSTEP MUL +200 +400 80 18 2 250 80 16
28
Avalon: Especificação do Barramento
29
Hardware Externo
30
Introdução Objetivos do Avalon: Para uso “on-chip”
simplicidade operações síncronas baixo consumo de área (LE) Para uso “on-chip” Barramento multimestre mestre (nios 2.0) Periféricos mapeados em memória
31
Funções do Barramento Decodificação de endereço
Geração de chip-select Multiplexação de barramento de dados Transferência de dados do mestre para o periférico escolhido Geração de wait-state Ciclos de clock extra Dimensionamento dinâmico de barramento Suporta periféricos com barramento de dados menor que o tamanho do barramento de dados do avalon Controle de interrupção Com prioridade
32
Sistema Perif. Interno (timer) Perif. Interno (UART) Perif. Externo
Nios CPU Avalon Bus User I/F Nios System Module I/O Altera PLD HW Perif. Interno (timer) Perif. Interno (UART) Perif. Externo (memória) Perif. Externo (hardware do usuário)
33
Temporização do Barramento
Sinais “registered” (sem atraso comb.) Sinais combinacionais (com atraso comb.) Informações IMPORTANTES para construção de um wrapper entre avalon e HW do usuário D Q Lógica clock D Q Lógica clock
34
Cíclos de Leitura do Nios
0 wait-state, 0 setup/hold time (asinc. perif) 1 wait-state, 1 setup/hold time (sinc. perif) Nios Address, readn NIOS Avalon CS Data Hw HW
35
Cíclos de Escrita do Nios
0 wait-state, 0 setup/hold time (asinc. perif) 0 wait-state, 1 setup/hold time (sinc. perif)
36
User-Defined Interface
Criação de portas para interface com outros periféricos On-Chip & Off-Chip Configuração de temporização do barramento Nios CPU Avalon Bus User I/F Nios System Module I/O Altera PLD HW
37
Criando um Projeto Agora vamos criar um projeto com uma interface para ligar um hardware do usuário Copie o projeto minimal_32 do diretório de exemplos do excalibur para o seu diretório Abra o seu projeto Dê um duplo click em no bloco nios_system_module
38
Adicionando um Novo Periférico
39
Interface do Usuário 4 1 2 3 1. Código do usuário mais wrapper
user_defined_interface_ss.bmp - updated 1. Código do usuário mais wrapper 2. Seleciona o top 3. Varre o VHDL para as portas - scan files 4. Manualmente escolhe o tipo da porta no barramento Avalor (Type) 5. Finish
40
Temporização Neste caso, 1 wait state ext_ram_bus_width_ss.bmp
41
Gerar o hw ext_ram_alignment.bmp
42
Finalizando a integração
Atualize o símbolo do processador com os sinais recém-criados selecione o símbolo e com o botão da direita “update symbol or block” crie um símbolo para o hw externo file--> open para abrir o VHDL e depois em tools criar o símbolo selecione wr_880 conecte o wr_880 ao processador
43
Sintetizando Sintetize o SOC!
44
Realizando o download 1 4 2 3
45
Executando o Nios SDK Ir para o diretório do projeto (...minimal_32/cpu_sdk/src) Coloque o fonte Compile o fonte “nb lfsr32.c” Execute nr lfsr32.srec
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.