AMBA Advanced Microcontroler Bus Architecture. Barramentos de Interconexão AMBA (ARM) CoreConnect...

25
AMBA Advanced Microcontroler Bus Architecture

Transcript of AMBA Advanced Microcontroler Bus Architecture. Barramentos de Interconexão AMBA (ARM) CoreConnect...

Page 1: AMBA Advanced Microcontroler Bus Architecture. Barramentos de Interconexão AMBA (ARM) CoreConnect (IBM) WishBone (Silicore) Avalon (Altera) OCP-IP (OCP-IP)

AMBA

Advanced Microcontroler Bus Architecture

Page 2: AMBA Advanced Microcontroler Bus Architecture. Barramentos de Interconexão AMBA (ARM) CoreConnect (IBM) WishBone (Silicore) Avalon (Altera) OCP-IP (OCP-IP)

Barramentos de Interconexão

● AMBA (ARM)● CoreConnect (IBM)● WishBone (Silicore)● Avalon (Altera)● OCP-IP (OCP-IP)● VSIA (VSIA)

Page 3: AMBA Advanced Microcontroler Bus Architecture. Barramentos de Interconexão AMBA (ARM) CoreConnect (IBM) WishBone (Silicore) Avalon (Altera) OCP-IP (OCP-IP)

AMBA

● 3 tipos de barramentos:– Advanced High-performance Bus (AHB)

– Advanced System Bus (ASB)

– Advanced Peripheral Bus (APB)

Page 4: AMBA Advanced Microcontroler Bus Architecture. Barramentos de Interconexão AMBA (ARM) CoreConnect (IBM) WishBone (Silicore) Avalon (Altera) OCP-IP (OCP-IP)

AHB

● Alta velocidade● Barramento para backbone● Usos:

– Processadores

– Memórias

● Possui recursos de testabilidade automática e facilidade de implementação

Page 5: AMBA Advanced Microcontroler Bus Architecture. Barramentos de Interconexão AMBA (ARM) CoreConnect (IBM) WishBone (Silicore) Avalon (Altera) OCP-IP (OCP-IP)

ASB

● Alta velocidade● Barramento para backbone● Usos:

– Processadores

– Memórias

● Não possui os recursos avançados do AHB (testabilidade, etc)

Page 6: AMBA Advanced Microcontroler Bus Architecture. Barramentos de Interconexão AMBA (ARM) CoreConnect (IBM) WishBone (Silicore) Avalon (Altera) OCP-IP (OCP-IP)

APB

● Baixa velocidade● Baixo consumo de energia● Interface simplificada● Pode ser usado em conjunto com qualquer um

dos dois outros barramentos

Page 7: AMBA Advanced Microcontroler Bus Architecture. Barramentos de Interconexão AMBA (ARM) CoreConnect (IBM) WishBone (Silicore) Avalon (Altera) OCP-IP (OCP-IP)

Configuração Típica

Page 8: AMBA Advanced Microcontroler Bus Architecture. Barramentos de Interconexão AMBA (ARM) CoreConnect (IBM) WishBone (Silicore) Avalon (Altera) OCP-IP (OCP-IP)

Características do AHB

● Múltiplos mestres do barramento● Transferências burst● Implementação sem tri-state● Barramento de dados de maior largura (até 128

bits)● Transações apenas na subida do clock

Page 9: AMBA Advanced Microcontroler Bus Architecture. Barramentos de Interconexão AMBA (ARM) CoreConnect (IBM) WishBone (Silicore) Avalon (Altera) OCP-IP (OCP-IP)

Mestre AHB

● O mestre do barramento é capaz de iniciar operações de leitura e escrita fornecendo endereço e sinais de controle

● Dois mestres não podem utilizar o barramento simultaneamente

Page 10: AMBA Advanced Microcontroler Bus Architecture. Barramentos de Interconexão AMBA (ARM) CoreConnect (IBM) WishBone (Silicore) Avalon (Altera) OCP-IP (OCP-IP)

Mestres Típicos

● Processador● Interface de teste● Controlador DMA● DSP

Page 11: AMBA Advanced Microcontroler Bus Architecture. Barramentos de Interconexão AMBA (ARM) CoreConnect (IBM) WishBone (Silicore) Avalon (Altera) OCP-IP (OCP-IP)

Escravo AHB

● O escravo AHB responde às operações de leitura e escrita solicitadas pelo mestre quando estão no seu intervalo de endereçamento

● A resposta do escravo pode ser um indicativo de sucesso, falha ou espera pela transferência dos dados

Page 12: AMBA Advanced Microcontroler Bus Architecture. Barramentos de Interconexão AMBA (ARM) CoreConnect (IBM) WishBone (Silicore) Avalon (Altera) OCP-IP (OCP-IP)

Escravos Típicos

● Ponte APB● Interface com a memória externa● Interface com a memória interna

Page 13: AMBA Advanced Microcontroler Bus Architecture. Barramentos de Interconexão AMBA (ARM) CoreConnect (IBM) WishBone (Silicore) Avalon (Altera) OCP-IP (OCP-IP)

Árbitro AHB

● O árbitro AHB garante que apenas um mestre tenha controle do barramento num dado intervalo de tempo.

● O protocolo de arbritragem é fixo, mas qualquer algoritmo de arbitragem pode ser utilizado (depende da necessidade do sistema)

Page 14: AMBA Advanced Microcontroler Bus Architecture. Barramentos de Interconexão AMBA (ARM) CoreConnect (IBM) WishBone (Silicore) Avalon (Altera) OCP-IP (OCP-IP)

Seletor AHB

● Decodifica o sinal de endereço de cada transferência de dados e fornece o sinal de seleção para o escravo envolvido na transferência.

● Somente pode existir um seletor em qualquer implementação AHB

Page 15: AMBA Advanced Microcontroler Bus Architecture. Barramentos de Interconexão AMBA (ARM) CoreConnect (IBM) WishBone (Silicore) Avalon (Altera) OCP-IP (OCP-IP)

Características do APB

● É um barramento secundário que normalmente é encapsulado como um escravo num barramento AHB ou ASB

● Um barramento APB deve ser usado para interface com qualquer periférico que não necessite de alta taxa de transferência

● Normalmente contém uma ponte APB que interliga ao barramento AHB ou ASB e faz a conversão dos sinais necessários

Page 16: AMBA Advanced Microcontroler Bus Architecture. Barramentos de Interconexão AMBA (ARM) CoreConnect (IBM) WishBone (Silicore) Avalon (Altera) OCP-IP (OCP-IP)

Nomes dos Sinais

● Sinais de teste começam sempre com a letra T

● Sinais ativos em nível baixo terminam com a letra n

● H indica um sinal AHB

● A indica um sinal unidirecional entre ASB master e o árbitro

● B indica um sinal ASB

● D é um sinal unidirecional do decoder do ASB

● P indica um sinal APB

Page 17: AMBA Advanced Microcontroler Bus Architecture. Barramentos de Interconexão AMBA (ARM) CoreConnect (IBM) WishBone (Silicore) Avalon (Altera) OCP-IP (OCP-IP)

Sinais AHB

● HCLK: clock ativo na borda de subida● HRESETn: reset ativo em nível baixo● HADDR[31:0]: Endereço de 32 bits● HTRANS[1:0]: Tipo da transferência atual● HWRITE: 1 para escrita e 0 para leitura● HSIZE[2:0]: tamanho dos dados transferidos● HBURST[2:0]: Indica transferência em modo

burst

Page 18: AMBA Advanced Microcontroler Bus Architecture. Barramentos de Interconexão AMBA (ARM) CoreConnect (IBM) WishBone (Silicore) Avalon (Altera) OCP-IP (OCP-IP)

Sinais AHB

● HPROT[3:0]: Nível de proteção da operação sendo realizada

● HWDATA[31:0]: Dados enviados pelo mestre● HSELx: Sinal de seleção do escravo x● HRDATA[31:0]: Dados enviados pelo escravo● HREADY: Indica o final de uma transferência● HRESP[1:0]: Estado da transferência

Page 19: AMBA Advanced Microcontroler Bus Architecture. Barramentos de Interconexão AMBA (ARM) CoreConnect (IBM) WishBone (Silicore) Avalon (Altera) OCP-IP (OCP-IP)

Sinais de arbitragem (AHB)

● HBUSREQx: Solicitação do barramento● HLOCKx: Solicitação de lock no barramento● HGRANTx: Autorização de uso do barramento● HMASTER[3:0]: Indica qual o mestre possui o

barramento● HMASTLOCK: Indica que o mestre atual está

com lock no barramento● HSPLITx[15:0]: Solicitação de continuação de

transferência pelo escravo

Page 20: AMBA Advanced Microcontroler Bus Architecture. Barramentos de Interconexão AMBA (ARM) CoreConnect (IBM) WishBone (Silicore) Avalon (Altera) OCP-IP (OCP-IP)

Interligação do AHB

Page 21: AMBA Advanced Microcontroler Bus Architecture. Barramentos de Interconexão AMBA (ARM) CoreConnect (IBM) WishBone (Silicore) Avalon (Altera) OCP-IP (OCP-IP)

Transferência de Dados no AHB

● O mestre inicia solicitando permissão ao árbitro

● Quando a permissão é recebida, o mestre envia o endereço e o controle

● Os barramentos de escrita e leitura são usados para completar a operação

● O endereço não pode ser mantido por mais de um ciclo, já os dados podem se o destino solicitar através do sinal HREADY

● Durante a transferência, o estado do escravo pode ser OKAY, ERROR, RETRY ou SPLIT

Page 22: AMBA Advanced Microcontroler Bus Architecture. Barramentos de Interconexão AMBA (ARM) CoreConnect (IBM) WishBone (Silicore) Avalon (Altera) OCP-IP (OCP-IP)

Transferências Simples

Page 23: AMBA Advanced Microcontroler Bus Architecture. Barramentos de Interconexão AMBA (ARM) CoreConnect (IBM) WishBone (Silicore) Avalon (Altera) OCP-IP (OCP-IP)

Transferência com Espera

Page 24: AMBA Advanced Microcontroler Bus Architecture. Barramentos de Interconexão AMBA (ARM) CoreConnect (IBM) WishBone (Silicore) Avalon (Altera) OCP-IP (OCP-IP)

Transferências Múltiplas

Page 25: AMBA Advanced Microcontroler Bus Architecture. Barramentos de Interconexão AMBA (ARM) CoreConnect (IBM) WishBone (Silicore) Avalon (Altera) OCP-IP (OCP-IP)

Decodificação de Endereços

O espaço mínimo de endereçamento é de 1KB