Implementação de um módulo Ethernet 10/100Mbps com interface Avalon para o processador Nios II da Altera Ricardo Menotti Orientador: Prof. Dr. Eduardo Marques Instituto de Ciências Matemáticas e de Computação Universidade de São Paulo e-mail: menotti@icmc.usp.br
Roteiro 1 Introdução e Justificativa 2 Revisão Bibliográfica A Tecnologia Ethernet Computação Reconfigurável 3 Implementação e Resultados 4 Conclusões e Trabalhos Futuros
Introdução e Justificativa Evolução Anos 60 Anos 80 Hoje
Introdução e Justificativa SoC e SoPC Os avanços tecnológicos permitiram a criação de sistemas computacionais completos em um único chip System on a Chip (SoC); Sistemas desenvolvidos em módulos, facilitando o reúso; Barramentos on-chip (Avalon, AMBA, CoreConnect); Computação Reconfigurável System on a Programmable Chip (SoPC).
Introdução e Justificativa Redução de Custos
Introdução e Justificativa Desenvolvimento em módulos
Introdução e Justificativa Vantagens Redução de custos; Complexidade / Níveis de PCB; Consumo de energia.
Introdução e Justificativa Ambiente para Projeto e Implementação de Controle Evolucionário Embarcado de Robôs Móveis Reconfiguráveis Sensores Atuadores Sensores Sensores de de Atuação de Contato Laser Proximidade Video Sinais Sinais Algoritmo Controle de Controle de Pré-processamento Controlador Genetico ;; Configuração Sensores e de Imagens ;;;;; de Atuação Adaptação PSD FPGA FPGA FPGA FPGA FPGA FPGA ;;;;;; ; Configuração ;;;; ; Dados Dados ;; ;;;; ; Gerenciador Sistema Controlador de Tarefas Rede / Distribuido de Motores Controle de Internet (PID) Navegação Inteligente FPGA Sinais FPGA FPGA Software/ FPGA microprocessador ;;;; Software/ microprocessador Motores ;;; Mapeamento Topológico ; ; ; Calculo de Campo Potencial
Introdução e Justificativa Objetivos Desenvolver um módulo Ethernet 10/100Mbps: Baseado no OpenCores, disponível em Verilog; Processador Nios II; Interface para o barramento Avalon; Agregar o módulo desenvolvido à biblioteca de componentes do SoPC Builder: Criação do arquivo de classe.ptf;
Revisão Bibliográfica Parte II Revisão Bibliográfica
Revisão Bibliográfica A Tecnologia Ethernet Padrão IEEE 802.3; Principais características: Meio Físico; Componentes de sinalização; Quadro (frame); Protocolo MAC.
Revisão Bibliográfica Modelo OSI x Ethernet Camada 7 Aplicação Subcamada (LLC) Camada 6 Apresentação Controle de Ligação Lógica Camada 5 Seção Subcamada (MAC) Camada 4 Transporte Controle de Acesso a Mídia Camada 3 Rede Subcamada Camada 2 Enlace Sinalização Física Camada 1 Física Especificação da Mídia E t h e r n e t
Revisão Bibliográfica Quadro Ethernet 64 bits 48 bits 48 bits 16 bits 46 a 1500 bytes 32 bits Preâmbulo Endereço Endereço Tipo/ Dados Seqüência Destino Origem Tamanho de Checagem
Revisão Bibliográfica Protocolo MAC Algoritmo CSMA/CD: Presença do sinal é chamada de carrier; Ao transmitir a interface aguarda a ausência de carrier; Aguarda o IFG e transmite; Colisão; Modo full-duplex;
Revisão Bibliográfica Área de atuação APLICAÇÃO APLICAÇÃO APLICAÇÃO ASIC COMPUTAÇÃO RECONFIGURÁVEL PROCESSADOR
Revisão Bibliográfica Solução Híbrida FIFO, Memória ou Outras Lógicas Processador Embutido Nios Lógica Customizada ULA A B + >> << & Saída
Revisão Bibliográfica Família Stratix Bloco M512K RAM Bloco DSP Bloco M4K RAM Bloco M-RAM
Revisão Bibliográfica Logic Array Block Inteligação de linhas com velociade e tamanho variáveis Ligação direta do bloco adjacente Ligação direta do bloco adjacente Ligação direta para o bloco adjacente Ligação direta para o bloco adjacente Interconexão Local LAB Arquitetura de três lados Inteligação de colunas com velociade e tamanho variáveis
Revisão Bibliográfica Tecnologia TriMatrix MAIS BITS PARA MAIOR CAPACIDADE M512 M4K M-RAM MAIS PORTAS PARA MAIOR LARGURA DE BANDA
Implementação Validação Resultados Parte III Implementação e Resultados
Implementação Validação Resultados Etapas de desenvolvimento 1 Estudo do core; 2 Simulações com Wishbone; 3 Conversão Nios II/Avalon; 4 RevMII (Reverse Media Independent Interface); 5 Experimentos.
Implementação Validação Resultados Ferramentas utilizadas Quartus II: projeto; síntese; simulação; análise de desempenho. SoPC Builder: processador; ModelSim: simulação;
Implementação Validação Resultados Ferramentas utilizadas Kit Nios Placa Stratix
Implementação Validação Resultados opencores_ethernet_mac.v Interface Avalon Escravo Interface Avalon Meste Interface Wishbone Meste Interface Wishbone Escravo eth_wishbone.v eth_top.v eth_registers.v eth_register.v eth_register.v... eth_register.v Sinais Rx (Dados + Controle) Sinais Tx (Dados + Controle) Sinais Rx (Dados + Controle) eth_rxethmac.v eth_rxcounters.v eth_rxstatem.v eth_crc.v eth_rxaddecheck.v Status Rx eth_macstatus.v Status Tx Configuração dos Registradores eth_txethmac.v eth_miim.v eth_txcounters.v Sinais Sinais eth_clockgen.v eth_maccontrol.v eth_txstatem.v MII MII eth_shiftreg.v eth_receivecontrol.v Sinais Tx eth_crc.v eth_outputcontrol.v eth_transmitcontrol.v (Dados + Controle) eth_random.v
Implementação Validação Resultados SoPC Builder SoPC Configuração Arquivos PTF Arquivos de Classe PTF Arquivos de Classe PTF de Classe SoPC Geração Assistentes de Componentes Interface Gráfica do SoPC Builder Geração de Componentes Geração do Sistema Arquivo PTF do Sistema Arquivos de Saída Arquivos HDL Arquivos Software Arquivos Simulação Arquivos Definidos Pelo Usuário
Implementação Validação Resultados
Implementação Validação Resultados Nios II com MAC Ethernet
Implementação Validação Resultados µkit
Implementação Validação Resultados Alternativa de validação Nios II Nios II MAC 10/100 MII RevMII MII MAC 10/100
Implementação Validação Resultados RevMII
Implementação Validação Resultados SoC implementado 1MB RAM 8MB FLASH SoC 2 RevMII Processador Nios II 32-Bits SoC 1 Stratix EP1S10F780C6 Endereço (32) Leitura Escrita Entrada (32) Saída (32) IRQ Barramento Avalon Ponte Tri-State ID do Sistema Timer Ethernet 10/100 UART Reconfig. (PIO)
Implementação Validação Resultados Sistema de validação
Implementação Validação Resultados Sistema de validação
Implementação Validação Resultados Envio de pacotes
Implementação Validação Resultados Recepção de pacotes
Implementação Validação Resultados Resultados obtidos Freqüência de operação: Mínima 25 MHz Obtida 60.5 MHz Área da FPGA Tabela: Recursos utilizados do dispositivo EP1S10F780C6 Módulo Células Lógicas % Bits de Memória % DSP % cpu 1480 14,00% 45824 4,98% 8 16,67% mac 2170 20,53% 9216 1,00% 0 0,00% revmii 10 0,09% 0 0,00% 0 0,00% total 10570 34,63% 920448 5,98% 48 16,67%
Conclusões e Trabalhos Futuros Parte IV Conclusões e Trabalhos Futuros
Conclusões e Trabalhos Futuros Conclusões Embora existissem outras soluções Ethernet disponíveis, essas apresentavam custos elevados e dificuldades de integração; A utilização de testbenchs na ferramenta ModelSim foi imprescindível para o desenvolvivento do projeto. Os novos kits disponíveis no mercado confirmam a tendência de se utilizar MAC Ethernet on-chip; Contribuições: Domínio da tecnologia Ethernet para aplicação em projetos do LCR; Integração ao SoPC Builder permite utilizar o core sem nenhum trabalho adicional; Possibilidade de comunicação com um host remoto (projeto do robô); Ponto de partida para futuras implementações do protocolo 802.11.
Conclusões e Trabalhos Futuros Trabalhos Futuros Combinar esta solução a um equipamento de bridge para obtenção de comunicação sem fio; Utilizar mais de um MAC para aumentar a taxa de transmissão do sistema; Acoplar um chip para comunicação wireless por meio do bloco RevMII.
Muito Obrigado!!!
Implementação de um módulo Ethernet 10/100Mbps com interface Avalon para o processador Nios II da Altera Ricardo Menotti Orientador: Prof. Dr. Eduardo Marques Instituto de Ciências Matemáticas e de Computação Universidade de São Paulo e-mail: menotti@icmc.usp.br