A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

1 Barramento AVALON Adelmario Douglas Francisco Dantas Millena Almeida Pedro Lages Williams Azevedo.

Apresentações semelhantes


Apresentação em tema: "1 Barramento AVALON Adelmario Douglas Francisco Dantas Millena Almeida Pedro Lages Williams Azevedo."— Transcrição da apresentação:

1 1 Barramento AVALON Adelmario Douglas Francisco Dantas Millena Almeida Pedro Lages Williams Azevedo

2 2 Agenda Motivação Características Arquitetura Arbitragem Sinais Transações Exemplos Referências

3 3 Motivação As plataformas montadas para FPGAs da Altera usam geralmente o Avalon como barramento padrão É um dos mais difundidos entre os desenvolvedores de SoCs que costumam usar FPGAs

4 4 Introdução Consiste numa arquitetura de barramento desenvolvida para conectar processadores e periféricos em SoPCs –SoPC – System on Programmable Chip É de propriedade da Altera O Avalon é um barramento especial que prioriza a velocidade de transmissão de dados, permitindo conexões em paralelo

5 5 Características Os sinais são ativados em LOW ou HIGH –Multiplexadores determinam que sinais comanda cada periférico Espaço de endereçamento de até 4Gb –Memória e periféricos são mapeados em espaços de até 32 bits Interface Síncrona –Todos os sinais são síncronos com o clock, facilitando a integração de periféricos de alta velocidade –Não é necessária nenhum handshaking/acknowledge assíncrono Tamanho de dados dinâmico –Possibilita a conexão de periféricos com diferentes tamanhos de interface –Suporta dispositivos mestres e escravos que trabalhem com dados de 8, 16 ou 32 bits

6 6 Características Linhas de dados, endereço e controle separados –Os periféricos não precisam decodificar ciclos de endereço e dado, nem precisam desabilitar a saída quando esta não está selecionada –Cada sinal utiliza uma porta separada e dedicada Decodificação interna de endereço –O Avalon decodifica o endereço passado pelo dispositivo mestre e seleciona o periférico alvo desejado –Os dispositivos escravos não precisam realizar verificação de endereços Arquitetura com Múltiplos mestres –Geração automática de lógica de arbitragem para possibilitar a utilização de um periférico por mais de um mestre Paralelismo na Comunicação –Múltiplos mestres podem se comunicar simultaneamente desde que eles não estejam acessando o mesmo escravo ao mesmo tempo

7 7 Características Simplicidade –Possui um protocolo simples de entender Lógica de barramento otimizada –Conserva elementos de lógica (LEs) dentro do dispositivo de lógica programável (PLD) Operação Síncrona –Fácil integração com outras lógicas coexistentes no mesmo PLD Arbitragem transparente –os mestres que estão esperando não sabem porque estão esperando, eles não sabem que ocorreu acesso simultâneo

8 8 Serviços Oferecidos Multiplexação do Data-Path –Os multiplexadores do barramento transferem os dados do escravo para o mestre Decodificação de endereço –O Chip select é gerado automaticamente, simplificando o projeto do periférico que não precisa decodificar os sinais de endereço Geração de Wait-States –Extende uma transação por um ou mais ciclos, beneficiando periféricos com necessidades especiais de sincronização –Utilizado quando o periférico não consegue responder em apenas um ciclo

9 9 Serviços Oferecidos Prioridade de Interrupções –Quando um ou mais periféricos geram interrupção, o barramento passa a interrupção de maior prioridade junto com o número apropriado do pedido da interrupção (IRQ) Latência –A lógica requerida para executar transferências com a latência entre pares master-slave é contida dentro do barramento Streaming para leitura e escrita –A lógica requerida para executar transferências com streaming entre pares master-slave é contida dentro do barramento

10 10 Arquitetura

11 11 Arquitetura System CPU (Master 1) I/O 1 Program Memory Slaves Data Memory Arbiter Data Memory Aribiter DSP (Master 2) I/O 1 Masters Slaves Switch Fabric I/O CPU (Master 3) I/O 3 Program Memory Data Memory Arbiter Custom Accelerator Peripheral

12 12 Conexão Periféricos On-chip –Conexão gerada automaticamente no tempo de configuração Periféricos Off-chip peripherals –Conectados a pinos do chip Sinais de controle e dados das portas mestres passam pelo barramento e interagem com a porta escrava Portas mestres iniciam as transações Interfaces sincronizadas pelo clock do barramento mestre –Todas as transações ocorrem simultaneamente com o ciclo do clock

13 13 Arbitragem Arbitragem é necessária quando múltiplas portas mestres querem acesso a um escravo ao mesmo tempo –Resolvido no barramento Slave-side arbitration Transparente para o componentes mestre e escravos –Cada mestre atua como se fosse o único mestre presente na plataforma –Quando dois ou mais mestres requisitam acesso a determinado escravo simultaneamente, só um mestre será atendido, os demais ficarão aguardando tal escravo Simplifica o projeto dos periféricos

14 14 Sinais – Avalon Master

15 15 Sinais – Avalon Master

16 16 Sinais - Avalon Slave

17 17 Sinais - Avalon Slave

18 Transferências Uma das principais características do barramento Avalon é sua flexibilidade O Avalon oferece diferentes tipos de transferências que permitem adaptar o uso do barramento para diferentes configurações de pares de dispositivos mestre e escravo –Um periférico que não executa leitura não precisa ter uma interface que permite este tipo de transferência, sua interface pode permitir apenas o envio de dados a escravos. –O formato das interfaces para comunicar periférico e barramento depende exclusivamente dos tipos de transferência que o periférico executa e esta informação deve ser passada pelo desenvolvedor ao montar uma plataforma

19 Tipos de Transações - Leitura Leitura Fundamental - Mestre –Interface mestre requisita uma leitura e receberá o dado requisitado na primeira subida de clock em que o sinal waitrequest estiver setado com nível baixo Leitura Fundamental – Escravo –Realizado por escravos assíncronos –A interface escravo recebe a requisição de leitura e imediatamente esta requisição é atendida e o dado requisitado é passado para o barramento Leitura com número fixo de wait states –Os estados de espera correspondem ao tempo que a interface escravo irá demorar em responder a uma transferência –a interface escravo irá apresentar o dado requisitado após um número pré-determinado de ciclos de clock

20 Tipos de Transações - Leitura Leitura com número de estados de espera controlado pelo periférico –O tempo que a interface escravo irá demorar em atender a transferência não é determinado –A interface indica ao barramento que não está pronta, quando o sinal é ativado, com nível lógico baixo, o barramento captura o dado requisitado Leitura com tempo de Setup –É adotado por periféricos que necessitam esperar que os sinais de controle e endereçamento se ‘estabilizem’ –Sinais devem permanecer ativados por um tempo pré-determinado, ao término deste tempo o tipo de transferência é indicado

21 Tipos de Transações - Leitura Leitura com Latência (fixa ou variável) –Requisições de leitura podem ser enviadas a cada ciclo de clock –Dados estarão disponíveis apenas depois do um determinado tempo (latência) –Também conhecida com pipeline Leitura em Rajada –Executa várias requisições de leitura de uma só vez

22 Tipos de Transações - Escrita Escrita Fundamental –A interface mestre inicia uma escrita ativando uma série de sinais, estes sinais devem permanecer ativados enquanto waitrequest vindo do barramento estiver em nível alto Escrita com número fixo de wait states –o barramento só poderá passar outra transferência a interface escravo quando o tempo do wait states tiver passado Escrita com número de estados de espera controlado pelo periférico –O tempo que a interface escravo irá demorar em atender a transferência não é determinado –O barramento pode passar outra transferência ao escravo enquanto espera uma escrita finalizar

23 Tipos de Transações - Leitura Escrita com tempo de Setup –É adotado por periféricos que necessitam esperar que os sinais de controle e endereçamento se ‘estabilizem’ –Sinais devem permanecer ativados por um tempo pré-determinado, ao término deste tempo o tipo de transferência é indicado Escrita com Latência (fixa ou variável) –Requisições de escrita podem ser enviadas a cada ciclo de clock –Dados estarão disponíveis apenas depois do um determinado tempo (latência) –Também conhecida com pipeline Leitura em Rajada –Executa várias requisições de escrita de uma só vez

24 24 Exemplo - Slave Read Transfer A.Primeiro ciclo inicia com a subida do clock B.Address e read estão válidos para o escravo C.Barramento decodifica o endereço e habilita o chipselect D.Escravo retorna o dado dentro do primeiro ciclo E.Readdata é capturado na próxima subida do clock

25 25 Exemplo - Slave Read Transfer (single wait state) A.Primeiro ciclo inicia com a subida do clock B.Address e read estão válidos para o escravo C.Barramento decodifica o endereço e habilita o chipselect D.A próxima subida do clock indica o primeiro e único wait state, e captura o byteenable, read e chipselect E–F. Readdata é capturado na próxima subida do clock

26 26 Exemplo - Slave Read Transfer (multiple wait states) A.Primeiro ciclo inicia com a subida do clock B.Address e read estão válidos para o escravo C.Barramento decodifica o endereço e habilita o chipselect D.A próxima subida do clock indica o primeiro. byteenable, read e chipselect estão disponíveis E.Próxima subida do clock marca o segundo e último wait state F-G. Readdata é capturado na próxima subida do terceiro clock

27 27 Exemplo - Slave Read Transfer (peripheral controlled wait states) A.Primeiro ciclo inicia com a subida do clock B.Address e read estão válidos para o escravo C.Barramento decodifica o endereço e habilita o chipselect D.Porta escrava habilita o waitrequest antes da próxima subida do clock E.Barramento obtém o waitrequest F-G. Vários ciclos se passam H.Porta escrava disponibiliza readdata I.Porta escrava desabilita o waitrequest J.Barramento captura o readdata

28 28 Exemplo - Slave Read Transfer (with setup time) A.Primeiro ciclo inicia com a subida do clock B.Address válido para o escravo C.Barramento decodifica o endereço e habilita o chipselect D.Subida do clock indica o final do setup-time e início do wait state E.Barramento habilita o sinal read F.Subida do clock indica o final dos wait states G.Porta escrava disponibiliza readdata H.Barramento captura o readdata

29 29 Exemplo - Slave Read Transfer With Latency A.Primeiro ciclo inicia com a subida do clock, chipselect, read e address são disponibilizados B.Porta escrava habilita o waitrequest C.Escravo desabilita o waitrequest e captura o endereço D.Fim do primeiro ciclo de latência E.Fim do segundo ciclo de latência. Readdata disponível F.Barramento habilita address, read e chipselect G.Outra transação de leitura é iniciada H.Barramento captura o readdata depois de 2 ciclos de latência I.Barramento captura o readdata depois de 2 ciclos de latência

30 30 Exemplo - Slave Write Transfer A.Primeiro ciclo inicia com a subida do clock B.Address, writedata, write válido para o escravo C.Barramento decodifica o endereço e habilita o chipselect D.Barramento captura o writedata, address, write e chipselect na próxima subida do clock

31 31 Exemplo - Master Read Transfer A.Primeiro ciclo inicia com a subida do clock B.Porta mestre habilita Address, byteenable e read C.Readdata retorna no mesmo ciclo D.Barramento captura o readdata

32 32 Exemplo - Master Read Transfer (with wait states) A.Primeiro ciclo inicia com a subida do clock B.Porta mestre habilita Address, byteenable e read válidos C.Barramento habilita o waitrequest antes da próxima subida do clock D.Mastre aceita o waitrequest na subida do clock. Inicia o wait state E-F. mastre armazena as constantes de saída enquanto o waitrequest está habilitado G.Readdata válido é disponibilizado H.Barramento desabilita o waitrequest I.Porta mestre captura o readdata

33 33 Exemplo - Master Read Transfer With latency

34 34 Exemplo - Master Write Transfer A.Primeiro ciclo inicia com a subida do clock B.Porta mestre habilita Address, byteenable e write C.Waitrequest não é habilitado. Transação termina.

35 35 Exemplo - Master Write Transfer (2 wait requests) A.Primeiro ciclo inicia com a subida do clock B.Porta mestre habilita Address, data e write C.Waitrequest é habilitado na subida do clock. Início do primeiro waitstate. Constantes de saída não são liberadas D.Waitrequest é habilitado novamente. Segundo waitstate E.Waitrequest é desabilitado F.Mastre desabilita todas as saídas. Transação finalizada

36 36 Referências Especificação do Barramento Avalon –Altera –Disponível em: –http://www.cin.ufpe.br/~if729/arquivos/manuais/mnl_avalon_bus.pdf Modelagem e Integração do Barramento Avalon em Plataformas MPSoC em níveis TL –Trabalho de Graduação de Emanoel Xavier

37 37 Dúvidas? ?


Carregar ppt "1 Barramento AVALON Adelmario Douglas Francisco Dantas Millena Almeida Pedro Lages Williams Azevedo."

Apresentações semelhantes


Anúncios Google