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...
Dispositivos de
Lógica Programável
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
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.
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
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.
Dispositivos de Lógica
Programável
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
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
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.
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).
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
FPGA – Bloco lógico
FPGA - Conexões
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.
Ferramenta de Desenvolvimento
� Fabricante – Xilinx
� Xilinx Foundation Series
� Xilinx Foundation ISE
� Fabricante – Altera
� MAX-PLUS
� MAX_PLUS II
� Quartus
� Quartus II
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
Programação VHDL
� Ex.: Flip-Flop D
Vantagens do FPGA
� Alto desempenho.
� Facilidade de projeto.
� Tempo de projeto reduzido.
� Confiabilidade e flexibilidade.
� Redução de custos.