dispositivos de lógica programável - udesc - cct – elementos básicos blocos de entrada/saída...

18
Dispositivos de Lógica Programável

Upload: hoangkien

Post on 09-Dec-2018

225 views

Category:

Documents


0 download

TRANSCRIPT

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Vantagens do FPGA

� Alto desempenho.

� Facilidade de projeto.

� Tempo de projeto reduzido.

� Confiabilidade e flexibilidade.

� Redução de custos.