AMBA - facom.ufms.brricardo/Courses/VHDL/Material/AMBA.pdf · Tipos AMBA AXI AMBA ASB AMBA APB AMBA...
Transcript of AMBA - facom.ufms.brricardo/Courses/VHDL/Material/AMBA.pdf · Tipos AMBA AXI AMBA ASB AMBA APB AMBA...
![Page 1: AMBA - facom.ufms.brricardo/Courses/VHDL/Material/AMBA.pdf · Tipos AMBA AXI AMBA ASB AMBA APB AMBA AHB Barramento de Periféricos Barramento de Sistema](https://reader033.fdocumentos.com/reader033/viewer/2022042513/5ae73b5c7f8b9a08778e0f46/html5/thumbnails/1.jpg)
AMBA(Advanced Microcontroller Bus Architecture)
Denis Neves de Arruda Santos
12-04-2006
RA 066365
![Page 2: AMBA - facom.ufms.brricardo/Courses/VHDL/Material/AMBA.pdf · Tipos AMBA AXI AMBA ASB AMBA APB AMBA AHB Barramento de Periféricos Barramento de Sistema](https://reader033.fdocumentos.com/reader033/viewer/2022042513/5ae73b5c7f8b9a08778e0f46/html5/thumbnails/2.jpg)
Introdução
Barramento de padrão abertoInterconecta módulos de um SoC
![Page 3: AMBA - facom.ufms.brricardo/Courses/VHDL/Material/AMBA.pdf · Tipos AMBA AXI AMBA ASB AMBA APB AMBA AHB Barramento de Periféricos Barramento de Sistema](https://reader033.fdocumentos.com/reader033/viewer/2022042513/5ae73b5c7f8b9a08778e0f46/html5/thumbnails/3.jpg)
Vantagens
Desenvolvimento modularIndependente de tecnologiaFlexibilidadeCompatibilidadeSuporte
![Page 4: AMBA - facom.ufms.brricardo/Courses/VHDL/Material/AMBA.pdf · Tipos AMBA AXI AMBA ASB AMBA APB AMBA AHB Barramento de Periféricos Barramento de Sistema](https://reader033.fdocumentos.com/reader033/viewer/2022042513/5ae73b5c7f8b9a08778e0f46/html5/thumbnails/4.jpg)
Tipos
AMBA AXI
AMBA ASB AMBA APB
AMBA AHB
Barramento de
Periféricos
Barramento de
Sistema
![Page 5: AMBA - facom.ufms.brricardo/Courses/VHDL/Material/AMBA.pdf · Tipos AMBA AXI AMBA ASB AMBA APB AMBA AHB Barramento de Periféricos Barramento de Sistema](https://reader033.fdocumentos.com/reader033/viewer/2022042513/5ae73b5c7f8b9a08778e0f46/html5/thumbnails/5.jpg)
Exemplo
(ARM, 1999)
![Page 6: AMBA - facom.ufms.brricardo/Courses/VHDL/Material/AMBA.pdf · Tipos AMBA AXI AMBA ASB AMBA APB AMBA AHB Barramento de Periféricos Barramento de Sistema](https://reader033.fdocumentos.com/reader033/viewer/2022042513/5ae73b5c7f8b9a08778e0f46/html5/thumbnails/6.jpg)
AMBA AHB(Advanced High-performance Bus)
Múltiplos mestresTransferências intermitentesOperações com única borda de clockTransações com divisãoOperações de transferência com a utilização de pipelineGrande largura no barramento (de 8 até 1024 bits)
![Page 7: AMBA - facom.ufms.brricardo/Courses/VHDL/Material/AMBA.pdf · Tipos AMBA AXI AMBA ASB AMBA APB AMBA AHB Barramento de Periféricos Barramento de Sistema](https://reader033.fdocumentos.com/reader033/viewer/2022042513/5ae73b5c7f8b9a08778e0f46/html5/thumbnails/7.jpg)
AMBA AHB
Componentes� Mestre� Escravo� Árbitro� Decodificador
![Page 8: AMBA - facom.ufms.brricardo/Courses/VHDL/Material/AMBA.pdf · Tipos AMBA AXI AMBA ASB AMBA APB AMBA AHB Barramento de Periféricos Barramento de Sistema](https://reader033.fdocumentos.com/reader033/viewer/2022042513/5ae73b5c7f8b9a08778e0f46/html5/thumbnails/8.jpg)
AMBA AHB
Estrutura
(ARM, 1999)
![Page 9: AMBA - facom.ufms.brricardo/Courses/VHDL/Material/AMBA.pdf · Tipos AMBA AXI AMBA ASB AMBA APB AMBA AHB Barramento de Periféricos Barramento de Sistema](https://reader033.fdocumentos.com/reader033/viewer/2022042513/5ae73b5c7f8b9a08778e0f46/html5/thumbnails/9.jpg)
AMBA AHB
Sinais� HCLK – sinal de clock� HBUSREQx – requisição do mestre para acessar o barramento
� HGRANTx – permite que o mestre use o barramento
� HADDR[31:0] – endereçamento� HWRITE – indica se a operação é de escrita ou leitura
� HWDATA[31:0] – dado enviado pelo mestre para o escravo
![Page 10: AMBA - facom.ufms.brricardo/Courses/VHDL/Material/AMBA.pdf · Tipos AMBA AXI AMBA ASB AMBA APB AMBA AHB Barramento de Periféricos Barramento de Sistema](https://reader033.fdocumentos.com/reader033/viewer/2022042513/5ae73b5c7f8b9a08778e0f46/html5/thumbnails/10.jpg)
AMBA AHB
Sinais (cont.)� HRDATA[31:0] – dado enviado do escravo para o mestre
� HSELx – seleciona um escravo� HREADY – indica que a tranferência terminou
![Page 11: AMBA - facom.ufms.brricardo/Courses/VHDL/Material/AMBA.pdf · Tipos AMBA AXI AMBA ASB AMBA APB AMBA AHB Barramento de Periféricos Barramento de Sistema](https://reader033.fdocumentos.com/reader033/viewer/2022042513/5ae73b5c7f8b9a08778e0f46/html5/thumbnails/11.jpg)
AMBA AHB
Transferência simples
(ARM, 1999)
![Page 12: AMBA - facom.ufms.brricardo/Courses/VHDL/Material/AMBA.pdf · Tipos AMBA AXI AMBA ASB AMBA APB AMBA AHB Barramento de Periféricos Barramento de Sistema](https://reader033.fdocumentos.com/reader033/viewer/2022042513/5ae73b5c7f8b9a08778e0f46/html5/thumbnails/12.jpg)
AMBA AHB
Transferência em pipeline
(ARM, 1999)
![Page 13: AMBA - facom.ufms.brricardo/Courses/VHDL/Material/AMBA.pdf · Tipos AMBA AXI AMBA ASB AMBA APB AMBA AHB Barramento de Periféricos Barramento de Sistema](https://reader033.fdocumentos.com/reader033/viewer/2022042513/5ae73b5c7f8b9a08778e0f46/html5/thumbnails/13.jpg)
AMBA ASB(Advanced System Bus)
Múltiplos mestresTransferências intermitentesOperações de transferência com a utilização de pipeline
![Page 14: AMBA - facom.ufms.brricardo/Courses/VHDL/Material/AMBA.pdf · Tipos AMBA AXI AMBA ASB AMBA APB AMBA AHB Barramento de Periféricos Barramento de Sistema](https://reader033.fdocumentos.com/reader033/viewer/2022042513/5ae73b5c7f8b9a08778e0f46/html5/thumbnails/14.jpg)
AMBA ASB
Componentes� Mestre� Escravo� Decodificador� Árbitro
![Page 15: AMBA - facom.ufms.brricardo/Courses/VHDL/Material/AMBA.pdf · Tipos AMBA AXI AMBA ASB AMBA APB AMBA AHB Barramento de Periféricos Barramento de Sistema](https://reader033.fdocumentos.com/reader033/viewer/2022042513/5ae73b5c7f8b9a08778e0f46/html5/thumbnails/15.jpg)
AMBA ASB
Tipos de transações� NONSEQUENTIAL – transação única ou a primeira de uma série
� SEQUENTIAL – transação relacionada com a anterior
� ADDRESS-ONLY – sem transferência de dados
![Page 16: AMBA - facom.ufms.brricardo/Courses/VHDL/Material/AMBA.pdf · Tipos AMBA AXI AMBA ASB AMBA APB AMBA AHB Barramento de Periféricos Barramento de Sistema](https://reader033.fdocumentos.com/reader033/viewer/2022042513/5ae73b5c7f8b9a08778e0f46/html5/thumbnails/16.jpg)
AMBA ASB
Sinais� BCLK – sinal de clock� BA[31:0] – endereçamento� BWRITE – indica se a operação é de leitura ou escrita
� BD[31:0] – sinal bidirecional de dados� BTRAN[1:0] – tipo da transação
![Page 17: AMBA - facom.ufms.brricardo/Courses/VHDL/Material/AMBA.pdf · Tipos AMBA AXI AMBA ASB AMBA APB AMBA AHB Barramento de Periféricos Barramento de Sistema](https://reader033.fdocumentos.com/reader033/viewer/2022042513/5ae73b5c7f8b9a08778e0f46/html5/thumbnails/17.jpg)
AMBA ASB
Sinais (cont.)� DSELx – seleciona um escravo� BWAIT – indica se a transferência já terminou
![Page 18: AMBA - facom.ufms.brricardo/Courses/VHDL/Material/AMBA.pdf · Tipos AMBA AXI AMBA ASB AMBA APB AMBA AHB Barramento de Periféricos Barramento de Sistema](https://reader033.fdocumentos.com/reader033/viewer/2022042513/5ae73b5c7f8b9a08778e0f46/html5/thumbnails/18.jpg)
AMBA ASB
Exemplo de transferência
(ARM, 1999)
![Page 19: AMBA - facom.ufms.brricardo/Courses/VHDL/Material/AMBA.pdf · Tipos AMBA AXI AMBA ASB AMBA APB AMBA AHB Barramento de Periféricos Barramento de Sistema](https://reader033.fdocumentos.com/reader033/viewer/2022042513/5ae73b5c7f8b9a08778e0f46/html5/thumbnails/19.jpg)
AMBA APB(Advanced Peripheral Bus)
Baixo consumo de energiaPouca largura de bandaBaixo desempenho
![Page 20: AMBA - facom.ufms.brricardo/Courses/VHDL/Material/AMBA.pdf · Tipos AMBA AXI AMBA ASB AMBA APB AMBA AHB Barramento de Periféricos Barramento de Sistema](https://reader033.fdocumentos.com/reader033/viewer/2022042513/5ae73b5c7f8b9a08778e0f46/html5/thumbnails/20.jpg)
AMBA APB
Sinais� PCLK – sinal de clock� PADDR[31:0] – endereçamento� PWRITE – indica se a operação é de leitura ou escrita
� PRDATA – dado lido pelo escravo� PWDATA – dado a ser escrito
![Page 21: AMBA - facom.ufms.brricardo/Courses/VHDL/Material/AMBA.pdf · Tipos AMBA AXI AMBA ASB AMBA APB AMBA AHB Barramento de Periféricos Barramento de Sistema](https://reader033.fdocumentos.com/reader033/viewer/2022042513/5ae73b5c7f8b9a08778e0f46/html5/thumbnails/21.jpg)
AMBA APB
Sinais (cont.)� PSELx – seleciona um escravo� PENABLE – indica o segundo ciclo de uma transferência
� PREADY – indica se a operação terminou
![Page 22: AMBA - facom.ufms.brricardo/Courses/VHDL/Material/AMBA.pdf · Tipos AMBA AXI AMBA ASB AMBA APB AMBA AHB Barramento de Periféricos Barramento de Sistema](https://reader033.fdocumentos.com/reader033/viewer/2022042513/5ae73b5c7f8b9a08778e0f46/html5/thumbnails/22.jpg)
AMBA APB
Diagrama de estados
(ARM, 2004)
![Page 23: AMBA - facom.ufms.brricardo/Courses/VHDL/Material/AMBA.pdf · Tipos AMBA AXI AMBA ASB AMBA APB AMBA AHB Barramento de Periféricos Barramento de Sistema](https://reader033.fdocumentos.com/reader033/viewer/2022042513/5ae73b5c7f8b9a08778e0f46/html5/thumbnails/23.jpg)
AMBA APB
Transferência de escrita
(ARM, 2004)
![Page 24: AMBA - facom.ufms.brricardo/Courses/VHDL/Material/AMBA.pdf · Tipos AMBA AXI AMBA ASB AMBA APB AMBA AHB Barramento de Periféricos Barramento de Sistema](https://reader033.fdocumentos.com/reader033/viewer/2022042513/5ae73b5c7f8b9a08778e0f46/html5/thumbnails/24.jpg)
AMBA APB
Transferência de leitura
(ARM, 2004)
![Page 25: AMBA - facom.ufms.brricardo/Courses/VHDL/Material/AMBA.pdf · Tipos AMBA AXI AMBA ASB AMBA APB AMBA AHB Barramento de Periféricos Barramento de Sistema](https://reader033.fdocumentos.com/reader033/viewer/2022042513/5ae73b5c7f8b9a08778e0f46/html5/thumbnails/25.jpg)
AMBA AXI(Advanced eXtensible Interface)
Alta largura de bandaBaixa latênciaCompatível com o AHB e APB
![Page 26: AMBA - facom.ufms.brricardo/Courses/VHDL/Material/AMBA.pdf · Tipos AMBA AXI AMBA ASB AMBA APB AMBA AHB Barramento de Periféricos Barramento de Sistema](https://reader033.fdocumentos.com/reader033/viewer/2022042513/5ae73b5c7f8b9a08778e0f46/html5/thumbnails/26.jpg)
AMBA AXI
Canais� Endereçamento� Dado da leitura� Resposta da leitura� Dado da escrita� Resposta da escrita
![Page 27: AMBA - facom.ufms.brricardo/Courses/VHDL/Material/AMBA.pdf · Tipos AMBA AXI AMBA ASB AMBA APB AMBA AHB Barramento de Periféricos Barramento de Sistema](https://reader033.fdocumentos.com/reader033/viewer/2022042513/5ae73b5c7f8b9a08778e0f46/html5/thumbnails/27.jpg)
AMBA AXI
Exemplo de leitura
(ARM, 2004)
![Page 28: AMBA - facom.ufms.brricardo/Courses/VHDL/Material/AMBA.pdf · Tipos AMBA AXI AMBA ASB AMBA APB AMBA AHB Barramento de Periféricos Barramento de Sistema](https://reader033.fdocumentos.com/reader033/viewer/2022042513/5ae73b5c7f8b9a08778e0f46/html5/thumbnails/28.jpg)
AMBA AXI
Exemplo de escrita
(ARM, 2004)
![Page 29: AMBA - facom.ufms.brricardo/Courses/VHDL/Material/AMBA.pdf · Tipos AMBA AXI AMBA ASB AMBA APB AMBA AHB Barramento de Periféricos Barramento de Sistema](https://reader033.fdocumentos.com/reader033/viewer/2022042513/5ae73b5c7f8b9a08778e0f46/html5/thumbnails/29.jpg)
Referências
ARM. AMBA Specification [online]. 1999. Disponível: http://www.arm.com/products/solutions/AMBA_Spec.html. Acessado em: 06/04/2006.ARM. AMBA AXI Protocol v1.0 Specification [online]. 2004. Disponível: http://www.arm.com/amba_axi/. Acessado em: 08/04/2006.ARM. AMBA 3 APB Potocol v1.0 Specification [online]. 2004. Disponível:http://www.arm.com/products/solutions/AMBAOverview.html. Acessado em: 08/04/2006.QUEIROZ, Daniel Cruz. Implementação do barramento on-chip AMBA baseada em computação reconfigurável [online].2005. Disponível: http://www.teses.usp.br/teses/disponiveis/55/55134/tde-06042005-160026/publico/Dissertacao.pdf. Acessado em: 05/04/2006.