Dispositivos de Lógica Programável - UDESC - CCT – Elementos Básicos Blocos de entrada/saída...
Transcript of Dispositivos de Lógica Programável - UDESC - CCT – Elementos Básicos Blocos de entrada/saída...
![Page 1: Dispositivos de Lógica Programável - UDESC - CCT – Elementos Básicos Blocos de entrada/saída configuráveis (I/O Blocks): são componentes de entrada/saída formados por estruturas](https://reader031.fdocuments.net/reader031/viewer/2022022714/5c0c683d09d3f247038c0c54/html5/thumbnails/1.jpg)
Dispositivos de
Lógica Programável
![Page 2: Dispositivos de Lógica Programável - UDESC - CCT – Elementos Básicos Blocos de entrada/saída configuráveis (I/O Blocks): são componentes de entrada/saída formados por estruturas](https://reader031.fdocuments.net/reader031/viewer/2022022714/5c0c683d09d3f247038c0c54/html5/thumbnails/2.jpg)
Evolução
� Válvula no início de 1940
� Transistor em 1947
� Não aquece como as válvulas
� Fisicamente menor
� 1961 primeiro integrado TTL 74LSXX
� Década de 1970
� surge SPLD – Simple PLD ( ROM, PLA, PAL) << 600 portas
� ASIC’s – Applications Specific Integrated Circuits
� Década de 1980 >> 600 portas
� Multiple PLD – CPLD
� FPGA – Field Programmable Gate Array
![Page 3: Dispositivos de Lógica Programável - UDESC - CCT – Elementos Básicos Blocos de entrada/saída configuráveis (I/O Blocks): são componentes de entrada/saída formados por estruturas](https://reader031.fdocuments.net/reader031/viewer/2022022714/5c0c683d09d3f247038c0c54/html5/thumbnails/3.jpg)
Introdução
� Basicamente, o projeto de um sistema digital consiste em determinar a função lógica que traduz o funcionamento do mesmo de acordo com estímulos recebidos.
� A partir disso podemos implementar um circuito lógico complexo que execute essa função a partir de circuitos lógicos simples.
![Page 4: Dispositivos de Lógica Programável - UDESC - CCT – Elementos Básicos Blocos de entrada/saída configuráveis (I/O Blocks): são componentes de entrada/saída formados por estruturas](https://reader031.fdocuments.net/reader031/viewer/2022022714/5c0c683d09d3f247038c0c54/html5/thumbnails/4.jpg)
O que escolher?
Projetista tem o desafio de encontrar o balanço entre velocidade e generalidade do hardware
� Chip genérico
� Microcontroladores � Muitas funções � Sacrifício de desempenho
� Chip dedicado
� ASICS � Aplicação específica � alta velocidade �baixo consumo � só se justifica em grande quantidade, pois alterações do projeto não são possíveis
![Page 5: Dispositivos de Lógica Programável - UDESC - CCT – Elementos Básicos Blocos de entrada/saída configuráveis (I/O Blocks): são componentes de entrada/saída formados por estruturas](https://reader031.fdocuments.net/reader031/viewer/2022022714/5c0c683d09d3f247038c0c54/html5/thumbnails/5.jpg)
Lógica Programável
� Os componentes da lógica programável são dispositivos que possuem em sua lógica interna centenas (ou milhares) de portas lógicas, flip-flops e registradores; que são interligados internamente. Essas interconexões são os pontos programáveis da lógica. Podemos então programar essas conexões para permanecerem fechadas ou abertas, de acordo com a necessidade do projeto.
� Essas interconexões podem ser entendidas como fusíveis, que de acordo com a necessidade do projeto podem ou não ser queimados (desfazendo ou não a conexão entre portas lógicas). Essa queima érealizada pelo projetista, utilizando um software de programação do dispositivo.
![Page 6: Dispositivos de Lógica Programável - UDESC - CCT – Elementos Básicos Blocos de entrada/saída configuráveis (I/O Blocks): são componentes de entrada/saída formados por estruturas](https://reader031.fdocuments.net/reader031/viewer/2022022714/5c0c683d09d3f247038c0c54/html5/thumbnails/6.jpg)
Dispositivos de Lógica
Programável
![Page 7: Dispositivos de Lógica Programável - UDESC - CCT – Elementos Básicos Blocos de entrada/saída configuráveis (I/O Blocks): são componentes de entrada/saída formados por estruturas](https://reader031.fdocuments.net/reader031/viewer/2022022714/5c0c683d09d3f247038c0c54/html5/thumbnails/7.jpg)
PLA – Soma de Produtos
� 3 Entradas – X1, X2, X3
� 2 Saídas – Z1, Z2
� Um bloco AND configurável com 6
entradas
� Um Bloco OR Configurável com 6
entradas
![Page 8: Dispositivos de Lógica Programável - UDESC - CCT – Elementos Básicos Blocos de entrada/saída configuráveis (I/O Blocks): são componentes de entrada/saída formados por estruturas](https://reader031.fdocuments.net/reader031/viewer/2022022714/5c0c683d09d3f247038c0c54/html5/thumbnails/8.jpg)
PAL – Soma de Produtos
� 3 Entradas – X1, X2, X3
� 2 Saídas – Z1, Z2
� Apenas bloco AND configurável com 6 entradas
� Bloco OR fixo
![Page 9: Dispositivos de Lógica Programável - UDESC - CCT – Elementos Básicos Blocos de entrada/saída configuráveis (I/O Blocks): são componentes de entrada/saída formados por estruturas](https://reader031.fdocuments.net/reader031/viewer/2022022714/5c0c683d09d3f247038c0c54/html5/thumbnails/9.jpg)
FPGA
� FPGA (Field Programmable Gate Array ou Arranjo de portas
programável em campos)
� Composto por um conjunto de células lógicas configuráveis e contidos em um único integrado.
� Cada célula contém capacidade de implementar funções lógicas (combinacionais ou sequenciais) e roteamento para comunicação entre elas.
� A função a ser implementada é definida pelo usuário usando alguma ferramenta que permita a entrada de projeto para especificar o estado dos pontos de programação internos.
![Page 10: Dispositivos de Lógica Programável - UDESC - CCT – Elementos Básicos Blocos de entrada/saída configuráveis (I/O Blocks): são componentes de entrada/saída formados por estruturas](https://reader031.fdocuments.net/reader031/viewer/2022022714/5c0c683d09d3f247038c0c54/html5/thumbnails/10.jpg)
FPGA – Elementos Básicos
� Blocos de entrada/saída configuráveis (I/O Blocks): são componentes de entrada/saída formados por estruturas bidirecionais que incluem buffer, flip-flop de entrada, buffer tri-state e flip-flop de saída .
� Interconexões Programáveis (ProgrammableInterConnect): pode ser do tipo SRAM, Antifusível ou EPROM. São como interruptores programáveis, geram as pistas de ligação entre os blocos lógicos e blocos de entrada e saída .
� Blocos Lógicos Configuráveis (Logic Block): pode ser tão simples como um transistor ou tão complexo quanto um microprossessador. Este bloco é capaz de implementar várias funções combinacionais (através de look-up-table) e seqüenciais (através de flip-flops).
![Page 11: Dispositivos de Lógica Programável - UDESC - CCT – Elementos Básicos Blocos de entrada/saída configuráveis (I/O Blocks): são componentes de entrada/saída formados por estruturas](https://reader031.fdocuments.net/reader031/viewer/2022022714/5c0c683d09d3f247038c0c54/html5/thumbnails/11.jpg)
FPGA – Estrutura Básica
Blocos Lógicos
Configuráveis
Blocos de Entrada e Saída
Linhas de Roteamento
Matriz de Roteamento
Blocos Lógicos
Configuráveis
Blocos de Entrada e Saída
Linhas de Roteamento
Matriz de Roteamento
Blocos Lógicos
Configuráveis
Blocos de Entrada e Saída
Linhas de Roteamento
Matriz de Roteamento
![Page 12: Dispositivos de Lógica Programável - UDESC - CCT – Elementos Básicos Blocos de entrada/saída configuráveis (I/O Blocks): são componentes de entrada/saída formados por estruturas](https://reader031.fdocuments.net/reader031/viewer/2022022714/5c0c683d09d3f247038c0c54/html5/thumbnails/12.jpg)
FPGA – Bloco lógico
![Page 13: Dispositivos de Lógica Programável - UDESC - CCT – Elementos Básicos Blocos de entrada/saída configuráveis (I/O Blocks): são componentes de entrada/saída formados por estruturas](https://reader031.fdocuments.net/reader031/viewer/2022022714/5c0c683d09d3f247038c0c54/html5/thumbnails/13.jpg)
FPGA - Conexões
![Page 14: Dispositivos de Lógica Programável - UDESC - CCT – Elementos Básicos Blocos de entrada/saída configuráveis (I/O Blocks): são componentes de entrada/saída formados por estruturas](https://reader031.fdocuments.net/reader031/viewer/2022022714/5c0c683d09d3f247038c0c54/html5/thumbnails/14.jpg)
Ferramenta de Desenvolvimento
� EDA ( Eletronic Design Automation )
� Especificação do comportamento do FPGA, utilizando Linguagem de Descrição de Hardware ( HDL ) ou diagramas esquemáticos.
� Sintetizar o circuito obedecendo restrições impostas pelo projetista ( espaço / velocidade ).
� Verificar o funcionamento do circuito através de simulação.
� Gera relatórios estatísticos com dados do comportamento e desempenho do circuito.
![Page 15: Dispositivos de Lógica Programável - UDESC - CCT – Elementos Básicos Blocos de entrada/saída configuráveis (I/O Blocks): são componentes de entrada/saída formados por estruturas](https://reader031.fdocuments.net/reader031/viewer/2022022714/5c0c683d09d3f247038c0c54/html5/thumbnails/15.jpg)
Ferramenta de Desenvolvimento
� Fabricante – Xilinx
� Xilinx Foundation Series
� Xilinx Foundation ISE
� Fabricante – Altera
� MAX-PLUS
� MAX_PLUS II
� Quartus
� Quartus II
![Page 16: Dispositivos de Lógica Programável - UDESC - CCT – Elementos Básicos Blocos de entrada/saída configuráveis (I/O Blocks): são componentes de entrada/saída formados por estruturas](https://reader031.fdocuments.net/reader031/viewer/2022022714/5c0c683d09d3f247038c0c54/html5/thumbnails/16.jpg)
HDL – Linguagem de descrição de
Hardware
� VHDL ( Very High Speed Integrated Circuit Hardware Description
Language) é uma linguagem padronizada de HDL ratificada em 1987 pelo IEEE
� Serve para modelar a estrutura ou comportamento do Hardware
� Comportamento :
• Descreve-se o circuito pensando no seu funcionamento.
• Ex. Descrição algorítmica de uma porta AND
� Estrutural :
• Descreve-se o circuito pensando na arquitetura
• Ex. Descrição da porta lógica AND
![Page 17: Dispositivos de Lógica Programável - UDESC - CCT – Elementos Básicos Blocos de entrada/saída configuráveis (I/O Blocks): são componentes de entrada/saída formados por estruturas](https://reader031.fdocuments.net/reader031/viewer/2022022714/5c0c683d09d3f247038c0c54/html5/thumbnails/17.jpg)
Programação VHDL
� Ex.: Flip-Flop D
![Page 18: Dispositivos de Lógica Programável - UDESC - CCT – Elementos Básicos Blocos de entrada/saída configuráveis (I/O Blocks): são componentes de entrada/saída formados por estruturas](https://reader031.fdocuments.net/reader031/viewer/2022022714/5c0c683d09d3f247038c0c54/html5/thumbnails/18.jpg)
Vantagens do FPGA
� Alto desempenho.
� Facilidade de projeto.
� Tempo de projeto reduzido.
� Confiabilidade e flexibilidade.
� Redução de custos.