Upload
angelo-brito
View
188
Download
0
Embed Size (px)
DESCRIPTION
This is the presentation used at my Graduation Conclusion. It explains what was developed as my final Graduation Project. Which consists of an DMA Controller IPCore .
Citation preview
Angelo Silva BritoCentro de Informática
Universidade Federal de [email protected]
Desenvolvimento de um DMA com Otimização de desempenho utilizando a metodologia IP-Process
Agenda
MotivaçãoObjetivoipPROCESSVerificação FuncionalSíntese LógicaO Projeto DMAO problema encontradoA solução PropostaResultadosConclusão
MOTIVAÇÃO
Motivação
Aumento da quantidade, diversidade e complexidade de produtos eletrônicos
Motivação
Circuitos Integrados e a Complexidade
Motivação
Quantidade de Transistores por Die
Motivação
Metodologias Plataformas ou System on Chip (SoC)
Motivação
Intellectual Property Cores– Aumento da produtividade– Diminuição do Time to Market– Concentração de esforço na Arquitetura– Desenvolvimento de novos IP-Cores
Motivação
Desenvolvimento de IP-Cores– Novas funcionalidades– Garantia do Comportamento desejado
Motivação
Arquiteturas Complexas com muitos dispositivosTransferências entre dispositivos e memórias
ProcessadorMemória
Dispositivo Periférico
Dispositivo de E/S
Barramento Interno ao Sistema
Interface Externa
Motivação
Controlador de DMAResponsável pelas transferênciasde dados entre memoria e Periféricos.– Controla as Transferências– Altas taxas de Transferências Processador
MemóriaControlador
DMADispositivo de
I/O
Barramento Interno ao Sistema
Interface Serial Externa Porta Serial
OBJETIVO
Objetivo
Desenvolvimento de um Modelo em nível RTL do DMA– Empregando ipPROCESS– Com um melhor desempenho frente ao DMA
que foi desenvolvido pelo Brazil-IP
Antigo DMA
Novo
DMA
Baseado em Metodologias Tradicionais de Engenharia
de SW– Processo no Modelo Cascata– Rup– XP
ipPROCESS: Um processo de desenvolvimento para Soft IP-Core
Define as Fases do design do IP-core como um
conjunto de atividades
ipPROCESS: Um processo de desenvolvimento para Soft IP-Core
Já validado com o desenvolvimento de outros IP-cores
ipPROCESS: Um processo de desenvolvimento para Soft IP-Core
Levantamento de Requisitos
Especificação de casos de uso
Concepção e Arquitetura
Análise
Definição da arquitetura do circuito
Concepção e Arquitetura
Verificação Funcional
Implementação RTL
Design e Prototipação
Prototipação em FPGA
Síntese e Layout em ASIC
Design e Prototipação
VERIFICAÇÃO FUNCIONAL
Objetivos da Verificação
Garantir as mesmas funcionalidades– Testes previamente estabelecidos
Verificação FuncionalGrande Quantidade de TestesMetodologia OVM_tpi
Metodologia OVM_tpi
Open Verification Methodology using Template Programming Interface – Desenvolvido por Rômulo Camara (dissertação de
mestrado)
Test Bench do DMA– desenvolvido por Camila Ascendina (TG)
Metodologia OVM_tpi
Arquitetura do Test Bench
SÍNTESE LÓGICA
Síntese Lógica
Definição de Síntese Lógica– É o processo de traduzir o modelo descritivo em alto
nível para um modelo otimizado em nível de portas logicas utilizando uma biblioteca de standard-cell e limitações de Design.
Modelo RTL Standard-Cells
NetList
Síntese Lógica
Síntese Lógica para FPGA
Logic Synthesis
HDLSDC
FPGA Placement
Graph-based Physical synthesis
FPGA Vendor Router
Síntese Lógica
Síntese Lógica para ASIC
Logic Synthesis
HDLSDC
Physical Optimizations
Netlist
Restrições de Tecnologia
Graph-based Physical synthesis
O PROJETO DO DMA
Controlador de Acesso Direto a Memória: DMA
Historia do projetoObjetivo do projeto
Ago Set Dez2008 2011 2013 2014
Controlador de Acesso Direto a Memória: DMA
Requisitos Funcionais do projeto do DMARequisitos Prioridade
O DMA deve possuir quatro canais Desejável
Inicialização Manual de um Canal Essencial
Auto Inicialização Importante
Operação Pause Importante
Operação Stop Essencial
Tratar Sincronização Essencial
Modo de Operação Split-Channel Essencial
Arbitragem de recursos Essencial
Armazenamento das Condições de cada Canal do DMA Importante
O DMA deve ser capaz de transferir Blocos de Dados Essencial
Geração de endereços configurável Essencial
O Tamanho dos elementos configurável Desejável
Controlador de Acesso Direto a Memória: DMA
Requisitos Não Funcionais do projeto do DMA
Requisitos
Arbitragem de canal deve durar um ciclo
Deve suportar múltiplos Tamanhos de Elementos, Alinhamentos e Endianness
O DMA deve ser compatível com o Barramento Avalon
O DMA deve possuir uma frequência de Clock mínima de 100MHz
Transferências de elementos não devem ultrapassar oito ciclos de clock
Controlador de Acesso Direto a Memória: DMA
O funcionamento desejado pelo Projeto Brazilip
ProcessadorNios Memória
DMA
Dispositivos
Barramento Avalon
M SDispositivosDispositivos Periféricos
Controlador de Acesso Direto a Memória: DMA
As Interfaces do DMA projetado
Interface do DMA
Banco de Registradores
(slave)
Controlador de Interfaces (Master)
Avalon_BusCPU
(Master)
Dispositivos(Slave)Avalon_Bus
Controlador de Acesso Direto a Memória: DMA
A Arquitetura da Primeira versão do DMA
Controlador de DMA
Barramento Avalon
Banco de Registradores
Controlador de Interface
Controlador de Leitura
Controlador de Escrita
Controlador de Split
Gerador de Endereços de
Leitura
Gerador de Endereços de
Escrita
Contador de Transferência
Controlador de Acesso Direto a Memória: DMA
Modo de funcionamento Normal– Programação do DMA
ProcessadorNios Memória
DMA
Dispositivos
Barramento Avalon
M SDispositivosDispositivos Periféricos
Controlador de Acesso Direto a Memória: DMA
Modo de funcionamento Normal– Programação do DMA– Execução de Leitura
ProcessadorNios Memória
DMA
Dispositivos
Barramento Avalon
M SDispositivosDispositivos Periféricos
Controlador de Acesso Direto a Memória: DMA
Modo de funcionamento Normal– Programação do DMA– Execução de Leitura– Execução de Escrita Processador
Nios Memória
DMA
Dispositivos
Barramento Avalon
M SDispositivosDispositivos Periféricos
Controlador de Acesso Direto a Memória: DMA
Modo de funcionamento Normal– Programação do DMA– Execução de Leitura– Execução de Escrita– DMA_int
ProcessadorNios Memória
DMA
Dispositivos
Barramento Avalon
M SDispositivosDispositivos Periféricos
Controlador de Acesso Direto a Memória: DMA
Modo de funcionamento Split-Channel– Programação do DMA
ProcessadorNios Memória
DMA
Dispositivos
Barramento Avalon
M SDispositivosDispositivos Periféricos
Controlador de Acesso Direto a Memória: DMA
Modo de funcionamento Split-Channel– Programação do DMA– Read Transmit
ProcessadorNios Memória
DMA
Dispositivos
Barramento Avalon
M SDispositivosDispositivos Periféricos
Controlador de Acesso Direto a Memória: DMA
Modo de funcionamento Split-Channel– Programação do DMA– Read Transmit– Write Transmit Processador
Nios Memória
DMA
Dispositivos
Barramento Avalon
M SDispositivosDispositivos Periféricos
Controlador de Acesso Direto a Memória: DMA
Modo de funcionamento Split-Channel– Programação do DMA– Read Transmit– Write Transmit– Read Receive
ProcessadorNios Memória
DMA
Dispositivos
Barramento Avalon
M SDispositivosDispositivos Periféricos
Controlador de Acesso Direto a Memória: DMA
Modo de funcionamento Split-Channel– Programação do DMA– Read Transmit– Write Transmit– Read Receive– Write Receive
ProcessadorNios Memória
DMA
Dispositivos
Barramento Avalon
M SDispositivosDispositivos Periféricos
Controlador de Acesso Direto a Memória: DMA
Modo de funcionamento Split-Channel– Programação do DMA– Read Transmit– Write Transmit– Read Receive– Write Receive– DMA_int
ProcessadorNios Memória
DMA
Dispositivos
Barramento Avalon
M SDispositivosDispositivos Periféricos
O PROBLEMA COM A VERSÃO ANTERIOR DO
DMA
Aplicação de DemonstraçãoDMA e McBSP
A Aplicação de Demonstração Desejada
A Incompatibilidade
Problema encontrado com a Primeira versão do DMA Funcionalidade das Transferências em FPGA Conectividade com os dispositivos Conectividade entre as PlacasX Tempo de uma transferência
A SOLUÇÃO PROPOSTA
A Proposta
Otimizar as Maquinas de Estados!– Modificações Arquiteturais foram necessárias
Execução de várias etapas do ipPROCESS
A Solução
Concepção– Reavaliar os requisitos– Reanalisar os casos de uso
Nova Arquitetura– Explorar paralelismo
A Solução
Design– Especificação de RTL Sintetizável
Prototipação– Especificação com prototipação em FPGA viável
A Nova Arquitetura
DMA Controller
Avalon Bus
Avalon Slave interface
Avalon Master Interface
Register Bank
Write Controller
Address Generator
(Read)
Address Generator
(Write)
Read Controller
Transfers Counter Synchronizer
A Nova Arquitetura
Módulos específicos para Interface
Banco de Registradores mais simples
Paralelismo através de Logica Combinacional
Controle mais inteligente
Transferência de Dados
Resultados
Comparação entre as VersõesIndicadores Globais Versão Nova Versão Antiga
Tempo de desenvolvimento do projeto 11 meses 4 anos
Quantidade de Linhas de código 2102 8346
Quantidade de Clocks para transferir 1 elemento (byte)
8 ciclos 32 ciclos
Quantidade de Módulos Internos 9 8
Resultados
Comparação entre as VersõesIndicador Total Versão Nova Versão Antiga
Prototipação em FPGA
Numero de Registradores da FPGA 621 1414
Área Combinacional Utilizada na FPGA 9% 9%
Frequência Máxima de Clock 158,03MHz 116,04 MHz
Total de Logica Combinacional 3056 2824
Total de elementos Lógicos 3067 3076
Resultados
Comparação entre as VersõesIndicador Versão Nova Versão Antiga
Prototipação em ASIC
Numero de portas 191 193
Numero de nets 1154 831
Numero de células 12 42
Numero de referencias 11 11
Área Total 1047733.850501 1269544.979111
Consumo de Potencia 17.5163 mW --
Slack Time 0.76 2.24
Resultados
Comparação entre as VersõesRequisitos Funcionais Implementados Prioridade Versão Nova Versão Antiga
O DMA deve possuir quatro canais Desejável
Inicialização Manual de um Canal Essencial
Auto Inicialização Importante
Operação Pause Importante
Operação Stop Essencial
Tratar Sincronização Essencial
Modo de Operação Split-Channel Essencial
Arbitragem de recursos Essencial
Armazenamento das Condições de cada Canal do DMA Importante
O DMA deve ser capaz de transferir Blocos de Dados Essencial
Geração de endereços configurável Essencial
O Tamanho dos elementos configurável Desejável
Resultados
Comparação entre as VersõesRequisitos Versão Nova Versão Antiga
Arbitragem de canal deve durar um ciclo
Deve suportar múltiplos Tamanhos de Elementos, Alinhamentos e Endianness
O DMA deve ser compatível com o Barramento Avalon
O DMA deve possuir uma frequência de Clock mínima de 100MHz
Transferências de elementos não devem ultrapassar oito ciclos de clock
Conclusões
Aprendizado sobre o levantamento dos Requisitos de um CIAprendizado adquirido sobre a importância das arquiteturas e o impacto geradoAprendizado sobre melhorias para a sínteseDesenvolvimento de um Controlador de DMA que satisfaz requisitos temporais e otimizado.
Obrigado!
Angelo Silva BritoCentro de Informática
Universidade Federal de [email protected]
Desenvolvimento de um DMA com Otimização de desempenho utilizando a metodologia IP-Process