Desenvolvimento de um DMA com
Otimização de desempenho utilizando
a metodologia IP-Process
Angelo Silva Brito
Centro de In...
Agenda
Motivação
Objetivo
ipPROCESS
Verificação Funcional
Síntese Lógica
O Projeto DMA
O problema encontrado
A solução Pro...
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...
Motivação
Desenvolvimento de IP-Cores
– Novas funcionalidades
– Garantia do Comportamento desejado
Motivação
Arquiteturas Complexas com muitos
dispositivos
Transferências entre dispositivos e
memórias
Memória

Processador...
Motivação
Controlador de DMA
Responsável pelas transferências
de dados entre memoria e Periféricos.
– Controla as Transfer...
OBJETIVO
Objetivo
Desenvolvimento de um Modelo em nível RTL
do DMA
– Empregando ipPROCESS
– Com um melhor desempenho frente ao DMA ...
ipPROCESS: Um processo de
desenvolvimento para Soft IP-Core
Baseado em Metodologias Tradicionais de Engenharia de SW
– Pro...
ipPROCESS: Um processo de
desenvolvimento para Soft IP-Core
Define as Fases do design do IP-core como um conjunto de
ativi...
ipPROCESS: Um processo de
desenvolvimento para Soft IP-Core
Já validado com o desenvolvimento de outros IP-cores
Concepção e Arquitetura
Levantamento de Requisitos
Especificação de casos de uso
Concepção e Arquitetura
Análise
Definição da arquitetura do circuito
Design e Prototipação
Verificação Funcional
Implementação RTL
Design e Prototipação
Prototipação em FPGA
Síntese e Layout em ASIC
VERIFICAÇÃO FUNCIONAL
Objetivos da Verificação
Garantir as mesmas funcionalidades
– Testes previamente estabelecidos

Verificação Funcional
Gran...
Metodologia OVM_tpi
Open Verification Methodology using Template
Programming Interface
– Desenvolvido por Rômulo Camara (d...
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 oti...
Síntese Lógica
Síntese Lógica para FPGA

SDC

HDL

Logic Synthesis
FPGA Placement
Graph-based
Physical synthesis
FPGA Vend...
Síntese Lógica
Síntese Lógica para ASIC

SDC

HDL

Logic Synthesis
Restrições de
Tecnologia
Netlist

Physical
Optimization...
O PROJETO DO DMA
Controlador de Acesso Direto a
Memória: DMA
Historia do projeto
Objetivo do projeto

Ago
2008

Set
2011

Dez
2013 2014
Controlador de Acesso Direto a
Memória: DMA
Requisitos Funcionais do projeto do DMA
Requisitos

Prioridade

O DMA deve pos...
Controlador de Acesso Direto a
Memória: DMA
Requisitos Não Funcionais do projeto do DMA
Requisitos

Arbitragem de canal de...
Controlador de Acesso Direto a
Memória: DMA
O funcionamento desejado pelo Projeto Brazilip
Processador
Nios

Memória

Barr...
Controlador de Acesso Direto a
Memória: DMA
As Interfaces do DMA projetado
Banco de
Registradores
(slave)

Avalon_Bus

CPU...
Controlador de Acesso Direto a
Memória: DMA
A Arquitetura da Primeira versão do DMA
Barramento Avalon
Controlador de DMA
B...
Controlador de Acesso Direto a
Memória: DMA
Modo de funcionamento Normal
– Programação do DMA
Processador
Nios

Memória

B...
Controlador de Acesso Direto a
Memória: DMA
Modo de funcionamento Normal
– Programação do DMA
– Execução de Leitura
Proces...
Controlador de Acesso Direto a
Memória: DMA
Modo de funcionamento Normal
– Programação do DMA
– Execução de Leitura
– Exec...
Controlador de Acesso Direto a
Memória: DMA
Modo de funcionamento Normal
–
–
–
–

Programação do DMA
Execução de Leitura
E...
Controlador de Acesso Direto a
Memória: DMA
Modo de funcionamento Split-Channel
– Programação do DMA
Processador
Nios

Mem...
Controlador de Acesso Direto a
Memória: DMA
Modo de funcionamento Split-Channel
– Programação do DMA
– Read Transmit
Proce...
Controlador de Acesso Direto a
Memória: DMA
Modo de funcionamento Split-Channel
– Programação do DMA
– Read Transmit
– Wri...
Controlador de Acesso Direto a
Memória: DMA
Modo de funcionamento Split-Channel
–
–
–
–

Programação do DMA
Read Transmit
...
Controlador de Acesso Direto a
Memória: DMA
Modo de funcionamento Split-Channel
–
–
–
–
–

Programação do DMA
Read Transmi...
Controlador de Acesso Direto a
Memória: DMA
Modo de funcionamento Split-Channel
–
–
–
–
–
–

Programação do DMA
Read Trans...
O PROBLEMA COM A VERSÃO
ANTERIOR DO DMA
Aplicação de Demonstração
DMA e McBSP
A Aplicação de Demonstração Desejada
A Incompatibilidade
Problema encontrado com a Primeira versão do DMA



X

Funcionalidade das Transferências em FPGA
Co...
A SOLUÇÃO PROPOSTA
A Proposta
Otimizar as Maquinas de Estados!
– Modificações Arquiteturais foram necessárias

Execução de várias etapas do i...
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
Avalon Bus
DMA Controller
Avalon Slave
interface

Read
Controller

Address
Generator
(Read)

Avalon Mas...
A Nova Arquitetura
Módulos específicos para Interface
Banco de Registradores mais simples
Paralelismo através de Logica Co...
Transferência de Dados
Resultados
Comparação entre as Versões
Indicadores Globais
Tempo de desenvolvimento do projeto
Quantidade de Linhas de cód...
Resultados
Comparação entre as Versões
Indicador Total

Versão Nova

Versão Antiga

Prototipação em FPGA
Numero de Registr...
Resultados
Comparação entre as Versões
Indicador

Versão Nova

Versão Antiga

Prototipação em ASIC
Numero de portas

191

...
Resultados
Comparação entre as Versões
Requisitos Funcionais Implementados

Prioridade

O DMA deve possuir quatro canais

...
Resultados
Comparação entre as Versões
Requisitos

Arbitragem de canal deve durar um ciclo
Deve suportar múltiplos Tamanho...
Conclusões
Aprendizado sobre o levantamento dos Requisitos de
um CI
Aprendizado adquirido sobre a importância das
arquitet...
Obrigado!
Desenvolvimento de um DMA com
Otimização de desempenho utilizando
a metodologia IP-Process
Angelo Silva Brito
Centro de In...
Desenvolvimento de um IP Core DMA Otimizado em Dezempenho
Próximos SlideShares
Carregando em…5
×

Desenvolvimento de um IP Core DMA Otimizado em Dezempenho

412 visualizações

Publicada em

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 .

Publicada em: Tecnologia
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
412
No SlideShare
0
A partir de incorporações
0
Número de incorporações
3
Ações
Compartilhamentos
0
Downloads
4
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide
  • Os circuitos integrados estão em todos os lugares, praticamente em todos os produtos eletrônicos, como nos exemplos dessa imagem.Onde estes dispositivos seguem a tendência de possuir cada vez mais funcionalidades para poder se diferenciar de seus concorrentes. é notória o aumento das funcionalidades destes equipamentos. E esse aumento da complexidade destes sistemas só é possível graças a maior integração dos Circuitos Integrados.
  • Os Maiores exemplo recentes desse fato foram os ultrabooks e smartphones. Possibilitando uma grande concentração de funcionalidades em dispositivos cada vez menores.E para que isso seja possível o hardware desses sistemas ficou cada vez mais complexo.
  • Para o desenvolvimentogeral do projetofoiutilizado a metodologia de projetoIpProcessque é baseadonasmetodologias RUP e XP
  • Para o desenvolvimentogeral do projetofoiutilizado a metodologia de projetoIpProcessque é baseadonasmetodologias RUP e XP
  • Para o desenvolvimentogeral do projetofoiutilizado a metodologia de projetoIpProcessque é baseadonasmetodologias RUP e XP
  • Desenvolvimento de um IP Core DMA Otimizado em Dezempenho

    1. 1. Desenvolvimento de um DMA com Otimização de desempenho utilizando a metodologia IP-Process Angelo Silva Brito Centro de Informática Universidade Federal de Pernambuco asb@cin.ufpe.br
    2. 2. Agenda Motivação Objetivo ipPROCESS Verificação Funcional Síntese Lógica O Projeto DMA O problema encontrado A solução Proposta Resultados Conclusão
    3. 3. MOTIVAÇÃO
    4. 4. Motivação Aumento da quantidade, diversidade e complexidade de produtos eletrônicos
    5. 5. Motivação Circuitos Integrados e a Complexidade
    6. 6. Motivação Quantidade de Transistores por Die
    7. 7. Motivação Metodologias Plataformas ou System on Chip (SoC)
    8. 8. 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
    9. 9. Motivação Desenvolvimento de IP-Cores – Novas funcionalidades – Garantia do Comportamento desejado
    10. 10. Motivação Arquiteturas Complexas com muitos dispositivos Transferências entre dispositivos e memórias Memória Processador Barramento Interno ao Sistema Dispositivo Periférico Dispositivo de E/S Interface Externa
    11. 11. Motivação Controlador de DMA Responsável pelas transferências de dados entre memoria e Periféricos. – Controla as Transferências – Altas taxas de Transferências Processador Barramento Interno ao Sistema Interface Serial Externa Porta Serial Dispositivo de I/O Controlador DMA Memória
    12. 12. OBJETIVO
    13. 13. 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
    14. 14. ipPROCESS: Um processo de desenvolvimento para Soft IP-Core Baseado em Metodologias Tradicionais de Engenharia de SW – Processo no Modelo Cascata – Rup – XP
    15. 15. ipPROCESS: Um processo de desenvolvimento para Soft IP-Core Define as Fases do design do IP-core como um conjunto de atividades
    16. 16. ipPROCESS: Um processo de desenvolvimento para Soft IP-Core Já validado com o desenvolvimento de outros IP-cores
    17. 17. Concepção e Arquitetura Levantamento de Requisitos Especificação de casos de uso
    18. 18. Concepção e Arquitetura Análise Definição da arquitetura do circuito
    19. 19. Design e Prototipação Verificação Funcional Implementação RTL
    20. 20. Design e Prototipação Prototipação em FPGA Síntese e Layout em ASIC
    21. 21. VERIFICAÇÃO FUNCIONAL
    22. 22. Objetivos da Verificação Garantir as mesmas funcionalidades – Testes previamente estabelecidos Verificação Funcional Grande Quantidade de Testes Metodologia OVM_tpi
    23. 23. 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)
    24. 24. Metodologia OVM_tpi Arquitetura do Test Bench
    25. 25. SÍNTESE LÓGICA
    26. 26. 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
    27. 27. Síntese Lógica Síntese Lógica para FPGA SDC HDL Logic Synthesis FPGA Placement Graph-based Physical synthesis FPGA Vendor Router
    28. 28. Síntese Lógica Síntese Lógica para ASIC SDC HDL Logic Synthesis Restrições de Tecnologia Netlist Physical Optimizations Graph-based Physical synthesis
    29. 29. O PROJETO DO DMA
    30. 30. Controlador de Acesso Direto a Memória: DMA Historia do projeto Objetivo do projeto Ago 2008 Set 2011 Dez 2013 2014
    31. 31. Controlador de Acesso Direto a Memória: DMA Requisitos Funcionais do projeto do DMA Requisitos 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
    32. 32. 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
    33. 33. Controlador de Acesso Direto a Memória: DMA O funcionamento desejado pelo Projeto Brazilip Processador Nios Memória Barramento Avalon S M DMA Dispositivos Dispositivos Dispositivos Periféricos
    34. 34. Controlador de Acesso Direto a Memória: DMA As Interfaces do DMA projetado Banco de Registradores (slave) Avalon_Bus CPU (Master) Controlador de Interfaces (Master) Avalon_Bus Dispositivos (Slave) Interface do DMA
    35. 35. Controlador de Acesso Direto a Memória: DMA A Arquitetura da Primeira versão do DMA Barramento Avalon Controlador de DMA Banco de Registradores Controlador de Leitura Gerador de Endereços de Leitura Controlador de Interface Controlador de Split Contador de Transferência Controlador de Escrita Gerador de Endereços de Escrita
    36. 36. Controlador de Acesso Direto a Memória: DMA Modo de funcionamento Normal – Programação do DMA Processador Nios Memória Barramento Avalon S M DMA Dispositivos Dispositivos Dispositivos Periféricos
    37. 37. Controlador de Acesso Direto a Memória: DMA Modo de funcionamento Normal – Programação do DMA – Execução de Leitura Processador Nios Memória Barramento Avalon S M DMA Dispositivos Dispositivos Dispositivos Periféricos
    38. 38. 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 Barramento Avalon S M DMA Dispositivos Dispositivos Dispositivos Periféricos
    39. 39. 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 Processador Nios Memória Barramento Avalon S M DMA Dispositivos Dispositivos Dispositivos Periféricos
    40. 40. Controlador de Acesso Direto a Memória: DMA Modo de funcionamento Split-Channel – Programação do DMA Processador Nios Memória Barramento Avalon S M DMA Dispositivos Dispositivos Dispositivos Periféricos
    41. 41. Controlador de Acesso Direto a Memória: DMA Modo de funcionamento Split-Channel – Programação do DMA – Read Transmit Processador Nios Memória Barramento Avalon S M DMA Dispositivos Dispositivos Dispositivos Periféricos
    42. 42. 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 Barramento Avalon S M DMA Dispositivos Dispositivos Dispositivos Periféricos
    43. 43. Controlador de Acesso Direto a Memória: DMA Modo de funcionamento Split-Channel – – – – Programação do DMA Read Transmit Write Transmit Read Receive Processador Nios Memória Barramento Avalon S M DMA Dispositivos Dispositivos Dispositivos Periféricos
    44. 44. 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 Processador Nios Memória Barramento Avalon S M DMA Dispositivos Dispositivos Dispositivos Periféricos
    45. 45. 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 Processador Nios Memória Barramento Avalon S M DMA Dispositivos Dispositivos Dispositivos Periféricos
    46. 46. O PROBLEMA COM A VERSÃO ANTERIOR DO DMA
    47. 47. Aplicação de Demonstração DMA e McBSP A Aplicação de Demonstração Desejada
    48. 48. A Incompatibilidade Problema encontrado com a Primeira versão do DMA    X Funcionalidade das Transferências em FPGA Conectividade com os dispositivos Conectividade entre as Placas Tempo de uma transferência
    49. 49. A SOLUÇÃO PROPOSTA
    50. 50. A Proposta Otimizar as Maquinas de Estados! – Modificações Arquiteturais foram necessárias Execução de várias etapas do ipPROCESS
    51. 51. A Solução Concepção – Reavaliar os requisitos – Reanalisar os casos de uso Nova Arquitetura – Explorar paralelismo
    52. 52. A Solução Design – Especificação de RTL Sintetizável Prototipação – Especificação com prototipação em FPGA viável
    53. 53. A Nova Arquitetura Avalon Bus DMA Controller Avalon Slave interface Read Controller Address Generator (Read) Avalon Master Interface Write Controller Register Bank Transfers Counter Synchronizer Address Generator (Write)
    54. 54. A Nova Arquitetura Módulos específicos para Interface Banco de Registradores mais simples Paralelismo através de Logica Combinacional Controle mais inteligente
    55. 55. Transferência de Dados
    56. 56. Resultados Comparação entre as Versões Indicadores Globais Tempo de desenvolvimento do projeto Quantidade de Linhas de código Quantidade de Clocks para transferir 1 elemento (byte) Quantidade de Módulos Internos Versão Nova Versão Antiga 11 meses 4 anos 2102 8346 8 ciclos 32 ciclos 9 8
    57. 57. Resultados Comparação entre as Versões Indicador 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% 158,03MHz 116,04 MHz Total de Logica Combinacional 3056 2824 Total de elementos Lógicos 3067 3076 Frequência Máxima de Clock
    58. 58. Resultados Comparação entre as Versões Indicador 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 1047733.850501 1269544.979111 17.5163 mW -- 0.76 2.24 Área Total Consumo de Potencia Slack Time
    59. 59. Resultados Comparação entre as Versões Requisitos Funcionais Implementados 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 Versão Nova Versão Antiga
    60. 60. Resultados Comparação entre as Versões 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 Versão Nova Versão Antiga
    61. 61. Conclusões Aprendizado sobre o levantamento dos Requisitos de um CI Aprendizado adquirido sobre a importância das arquiteturas e o impacto gerado Aprendizado sobre melhorias para a síntese Desenvolvimento de um Controlador de DMA que satisfaz requisitos temporais e otimizado.
    62. 62. Obrigado!
    63. 63. Desenvolvimento de um DMA com Otimização de desempenho utilizando a metodologia IP-Process Angelo Silva Brito Centro de Informática Universidade Federal de Pernambuco asb@cin.ufpe.br

    ×