64
Angelo Silva Brito Centro de Informática Universidade Federal de Pernambuco [email protected] Desenvolvimento de um DMA com Otimização de desempenho utilizando a metodologia IP- Process

Desenvolvimento de um IP Core DMA Otimizado em Dezempenho

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

Page 1: Desenvolvimento de um IP Core DMA Otimizado em Dezempenho

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

Page 2: Desenvolvimento de um IP Core DMA Otimizado em Dezempenho

Agenda

MotivaçãoObjetivoipPROCESSVerificação FuncionalSíntese LógicaO Projeto DMAO problema encontradoA solução PropostaResultadosConclusão

Page 3: Desenvolvimento de um IP Core DMA Otimizado em Dezempenho

MOTIVAÇÃO

Page 4: Desenvolvimento de um IP Core DMA Otimizado em Dezempenho

Motivação

Aumento da quantidade, diversidade e complexidade de produtos eletrônicos

Page 5: Desenvolvimento de um IP Core DMA Otimizado em Dezempenho

Motivação

Circuitos Integrados e a Complexidade

Page 6: Desenvolvimento de um IP Core DMA Otimizado em Dezempenho

Motivação

Quantidade de Transistores por Die

Page 7: Desenvolvimento de um IP Core DMA Otimizado em Dezempenho

Motivação

Metodologias Plataformas ou System on Chip (SoC)

Page 8: Desenvolvimento de um IP Core DMA Otimizado em Dezempenho

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

Page 9: Desenvolvimento de um IP Core DMA Otimizado em Dezempenho

Motivação

Desenvolvimento de IP-Cores– Novas funcionalidades– Garantia do Comportamento desejado

Page 10: Desenvolvimento de um IP Core DMA Otimizado em Dezempenho

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

Page 11: Desenvolvimento de um IP Core DMA Otimizado em Dezempenho

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

Page 12: Desenvolvimento de um IP Core DMA Otimizado em Dezempenho

OBJETIVO

Page 13: Desenvolvimento de um IP Core DMA Otimizado em Dezempenho

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

Page 14: Desenvolvimento de um IP Core DMA Otimizado em Dezempenho
Page 15: Desenvolvimento de um IP Core DMA Otimizado em Dezempenho

Baseado em Metodologias Tradicionais de Engenharia

de SW– Processo no Modelo Cascata– Rup– XP

ipPROCESS: Um processo de desenvolvimento para Soft IP-Core

Page 16: Desenvolvimento de um IP Core DMA Otimizado em Dezempenho

Define as Fases do design do IP-core como um

conjunto de atividades

ipPROCESS: Um processo de desenvolvimento para Soft IP-Core

Page 17: Desenvolvimento de um IP Core DMA Otimizado em Dezempenho

Já validado com o desenvolvimento de outros IP-cores

ipPROCESS: Um processo de desenvolvimento para Soft IP-Core

Page 18: Desenvolvimento de um IP Core DMA Otimizado em Dezempenho

Levantamento de Requisitos

Especificação de casos de uso

Concepção e Arquitetura

Page 19: Desenvolvimento de um IP Core DMA Otimizado em Dezempenho

Análise

Definição da arquitetura do circuito

Concepção e Arquitetura

Page 20: Desenvolvimento de um IP Core DMA Otimizado em Dezempenho

Verificação Funcional

Implementação RTL

Design e Prototipação

Page 21: Desenvolvimento de um IP Core DMA Otimizado em Dezempenho

Prototipação em FPGA

Síntese e Layout em ASIC

Design e Prototipação

Page 22: Desenvolvimento de um IP Core DMA Otimizado em Dezempenho

VERIFICAÇÃO FUNCIONAL

Page 23: Desenvolvimento de um IP Core DMA Otimizado em Dezempenho

Objetivos da Verificação

Garantir as mesmas funcionalidades– Testes previamente estabelecidos

Verificação FuncionalGrande Quantidade de TestesMetodologia OVM_tpi

Page 24: Desenvolvimento de um IP Core DMA Otimizado em Dezempenho

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)

Page 25: Desenvolvimento de um IP Core DMA Otimizado em Dezempenho

Metodologia OVM_tpi

Arquitetura do Test Bench

Page 26: Desenvolvimento de um IP Core DMA Otimizado em Dezempenho

SÍNTESE LÓGICA

Page 27: Desenvolvimento de um IP Core DMA Otimizado em Dezempenho

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

Page 28: Desenvolvimento de um IP Core DMA Otimizado em Dezempenho

Síntese Lógica

Síntese Lógica para FPGA

Logic Synthesis

HDLSDC

FPGA Placement

Graph-based Physical synthesis

FPGA Vendor Router

Page 29: Desenvolvimento de um IP Core DMA Otimizado em Dezempenho

Síntese Lógica

Síntese Lógica para ASIC

Logic Synthesis

HDLSDC

Physical Optimizations

Netlist

Restrições de Tecnologia

Graph-based Physical synthesis

Page 30: Desenvolvimento de um IP Core DMA Otimizado em Dezempenho

O PROJETO DO DMA

Page 31: Desenvolvimento de um IP Core DMA Otimizado em Dezempenho

Controlador de Acesso Direto a Memória: DMA

Historia do projetoObjetivo do projeto

Ago Set Dez2008 2011 2013 2014

Page 32: Desenvolvimento de um IP Core DMA Otimizado em Dezempenho

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

Page 33: Desenvolvimento de um IP Core DMA Otimizado em Dezempenho

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

Page 34: Desenvolvimento de um IP Core DMA Otimizado em Dezempenho

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

Page 35: Desenvolvimento de um IP Core DMA Otimizado em Dezempenho

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

Page 36: Desenvolvimento de um IP Core DMA Otimizado em Dezempenho

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

Page 37: Desenvolvimento de um IP Core DMA Otimizado em Dezempenho

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

Page 38: Desenvolvimento de um IP Core DMA Otimizado em Dezempenho

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

Page 39: Desenvolvimento de um IP Core DMA Otimizado em Dezempenho

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

Page 40: Desenvolvimento de um IP Core DMA Otimizado em Dezempenho

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

Page 41: Desenvolvimento de um IP Core DMA Otimizado em Dezempenho

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

Page 42: Desenvolvimento de um IP Core DMA Otimizado em Dezempenho

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

Page 43: Desenvolvimento de um IP Core DMA Otimizado em Dezempenho

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

Page 44: Desenvolvimento de um IP Core DMA Otimizado em Dezempenho

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

Page 45: Desenvolvimento de um IP Core DMA Otimizado em Dezempenho

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

Page 46: Desenvolvimento de um IP Core DMA Otimizado em Dezempenho

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

Page 47: Desenvolvimento de um IP Core DMA Otimizado em Dezempenho

O PROBLEMA COM A VERSÃO ANTERIOR DO

DMA

Page 48: Desenvolvimento de um IP Core DMA Otimizado em Dezempenho

Aplicação de DemonstraçãoDMA e McBSP

A Aplicação de Demonstração Desejada

Page 49: Desenvolvimento de um IP Core DMA Otimizado em Dezempenho

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

Page 50: Desenvolvimento de um IP Core DMA Otimizado em Dezempenho

A SOLUÇÃO PROPOSTA

Page 51: Desenvolvimento de um IP Core DMA Otimizado em Dezempenho

A Proposta

Otimizar as Maquinas de Estados!– Modificações Arquiteturais foram necessárias

Execução de várias etapas do ipPROCESS

Page 52: Desenvolvimento de um IP Core DMA Otimizado em Dezempenho

A Solução

Concepção– Reavaliar os requisitos– Reanalisar os casos de uso

Nova Arquitetura– Explorar paralelismo

Page 53: Desenvolvimento de um IP Core DMA Otimizado em Dezempenho

A Solução

Design– Especificação de RTL Sintetizável

Prototipação– Especificação com prototipação em FPGA viável

Page 54: Desenvolvimento de um IP Core DMA Otimizado em Dezempenho

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

Page 55: Desenvolvimento de um IP Core DMA Otimizado em Dezempenho

A Nova Arquitetura

Módulos específicos para Interface

Banco de Registradores mais simples

Paralelismo através de Logica Combinacional

Controle mais inteligente

Page 56: Desenvolvimento de um IP Core DMA Otimizado em Dezempenho

Transferência de Dados

Page 57: Desenvolvimento de um IP Core DMA Otimizado em Dezempenho

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

Page 58: Desenvolvimento de um IP Core DMA Otimizado em Dezempenho

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

Page 59: Desenvolvimento de um IP Core DMA Otimizado em Dezempenho

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

Page 60: Desenvolvimento de um IP Core DMA Otimizado em Dezempenho

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

Page 61: Desenvolvimento de um IP Core DMA Otimizado em Dezempenho

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

Page 62: Desenvolvimento de um IP Core DMA Otimizado em Dezempenho

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.

Page 63: Desenvolvimento de um IP Core DMA Otimizado em Dezempenho

Obrigado!

Page 64: Desenvolvimento de um IP Core DMA Otimizado em Dezempenho

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