Universidade Federal da Bahia Escola Politécnica Programa de Pós Graduação em Engenharia Elétrica Disciplina: Processamento Digital de Sinais (ENG577) Aula 05 – Parte 2: Dispositivos de Hardware Programável Prof.: Eduardo Simas [email protected] Aula 8 DEE Sumário 1. Introdução 2. Características dos PLDs 3. CPLDs 4. FPGAs 5. Exemplo de Aplicação 6. Exercícios de Fixação DEE 2/38 1. Introdução DEE 3/38 Introdução Famílias de sistemas digitais: Introdução ... Exercícios de Fixação DEE 4/38 Dispositivos de Lógica Padrão Dispositivos (Circuitos Integrados - CIs) que executam blocos lógicos específicos (portas lógicas, somador, flip-flop, registrador, contador, multiplexador, etc). São mais utilizados em aplicações simples. Para aplicações complexas são necessários muitos dispositivos (até centenas deles). Tipos: ― TTL (Transistor-transistor logic): utilizam transistores de junção bipolar (TJB) como principal elemento do circuito. ― CMOS: utilizam transistores tipo MOSFET como elemento principal. ― ECL (emissor coupled logic): também usa TJBs. DEE 5/38 Dispositivos de Lógica Padrão TTL -> utilizada há mais tempo, com diversas sub-famílias. Poucos projetos atuais utilizam dispositivos TTL, porém estão presentes em muitos projetos mais antigos. CMOS -> família mais popular atualmente, principalmente devido ao baixo consumo de energia. ECL -> dispositivos indicados quando a aplicação exige maior velocidade de processamento (podendo operar com freq > 200 MHz). Desvantagem: maior consumo de energia TTL: 54LS136 CMOS: 74AC11086 DEE 6/38 Dispositivos de Lógica Padrão Exemplo: Montar o circuito abaixo utilizando o CI 54LS136 A B Y C D 54LS136 DEE 7/38 Dispositivos de Lógica Padrão Exemplo: Montar o circuito abaixo utilizando o CI 54LS136 A B Y C D 54LS136 DEE Resposta - Realizar as conexões abaixo: A -> pino 1 B -> pino 2 C -> pino 4 D -> pino 5 pino 3 -> pino 9 pino 7 -> pino 10 Y -> pino 8 8/38 Microprocessadores e DSP Os microprocessadores, microcontroladores e os processadores digitais de sinais (DSPs) podem ser utilizados para a implementação de sistemas lógicos. A diferença fundamental é que a lógica é executada em software. Vantagens: flexibilidade e possibilidade de realizar também funções matemáticas complexas. Desvantagens: maior tempo de processamento se comparado aos dispositivos de hardware dedicado. DEE 9/38 Circuitos Integrados de Aplicação Específica (ASICs) São utilizados para implementar uma aplicação específica. São sub-divididos em: Dispositivos Lógicos Programáveis (PLDs): podem ser adaptados para criar muitos sistemas digitais diferentes. – Matrizes de portas: circuitos ULSI com centenas de milhares de portas. A função desejada precisa ser entregue ao fabricante e o processo de fabricação é caro. – Célula padrão: usam blocos de construção pré-determinados para criar o sistema lógico desejado. O custo de projeto é maior que o de uma matriz de portas – Totalmente personalizado: todos os componentes (resistores, capacitores, transistores) são especificados pelo projetista do CI. Melhor opção entre os ASICs considerando velocidade de processamento e área de chip necessária. Demanda tempo e dinheiro na etapa de projeto. DEE 10/38 Dispositivos Lógicos Programáveis (PLDs) Primeiros PLDs: + de 30 anos atrás, capacidade reduzida de portas, poucas entradas e poucas saídas, podiam ser programados apenas uma vez. PLDs atuais: até milhões de portas disponíveis, centenas de entradas e saídas, configuração interna das portas lógicas muda rapidamente com o dispositivo ainda conectado no sistema eletrônico. Classificados em: SPLDs - Dispositivos lógicos programáveis simples / Simple Programmable Logic Devices; CPLDs - Dispositivos lógicos programáveis complexos / Complex Programmable Logic Devices; FPGAs – Matrizes de portas programáveis em campo / Field Programmable Gate Arrays; Os CPLDs e FPGAs pertencem a uma classe conhecida como HCPLD (High Capacity Programmable Logic Devices) DEE 11/38 2. Características dos PLDs DEE 12/38 PLDs Os PLDs são circuitos integrados que não tem uma função específica e podem ser configurados pelo usuário. A tarefa de programação é feita pelo usuário e não pelo fabricante. SPLDs: – 600 portas lógicas ou menos; – Foram os primeiros dispositivos de lógica programável; – – O primeiro tipo de SPLD de sucesso foi o PLA (Programmable Logic Array), produzido no início da década de 1970. Em seguida surgiu a tecnologia PAL (Programmable Array Logic) visando solucionar problemas da tecnologia PLA como a baixa velocidade de operação e o alto custo. DEE 13/38 Exemplo de um PLD DEE 14/38 PLA – Programmable Logic Array Plano “and” programável conectado a um plano “or” programável. DEE 15/38 PLA – Programmable Logic Array Representação compacta: Fusível intacto DEE 16/38 PLA – Programmable Logic Array Exemplo de aplicação: Fusível queimado DEE Fusível intacto 17/38 PLA – Programmable Logic Array Exemplo de aplicação: O1 = I1.I2 + I1’.I2’.I3’.I4’ Fusível queimado O2 = I1.I3’ + I1’.I3.I4 + I2 O3 = I1.I2 + I1.I3’+ I1’.I2’.I4’ DEE Fusível intacto 18/38 PLA – Programmable Logic Array Plano “and” programável conectado a um plano “or” permanente. Menor custo e melhor desempenho se comparado a um PAL de capacidade semelhante. DEE 19/38 PLA Exemplo: DEE 20/38 3. CPLDs DEE 21/38 CPLD Os CPLDs são dispositivos programáveis e reprogramáveis, com alto desempenho, baixo custo por função e alta capacidade de integração. É capaz de substituir centenas de dispositivos discretos que implementariam a mesma função. É composto de blocos de arranjos lógicos (LAB – Logic array blocks) que contém 38 macrocélulas e é semelhante a um único dispositivo SPLD. Cada macrocélula consiste em um circuito AND/OR configurável e um registrador (flip-flop) também programável. O arranjo de interconexão programável (PIA – programmable interconnect array) é um barramento global que conecta qualquer fonte de sinal a qualquer destino dentro do dispositivo. DEE 22/38 CPLD - Arquitetura DEE 23/38 Macrocélula do CPLD MAX 7000 da Altera DEE 24/38 CPLD – Kit de Desenvolvimento Altera Cyclone III DEE 25/38 4. FPGAs DEE 26/38 FPGA - Arquitetura Blocos lógicos são programados para realizar as funções necessárias; Canais de roteamento são estruturados de forma a realizar a interconexão desejada entre os blocos lógicos. DEE 27/38 FPGA - Arquitetura Em algumas arquiteturas os blocos lógicos são implementados através de Look Up Tables (LUT). Numa LUT são armazenadas as possíveis combinações de entradas e saídas do bloco lógico (tabela-verdade) ao invés de sua função matemática propriamente dita. As células de armazenamento dos LUTs de um FPGA são voláteis -> perda do conteúdo armazenado no caso de falta de suprimento de energia. Assim, o FPGA deve ser programado toda vez que for energizado. Para evitar essa limitação utiliza-se uma pequena memória FLASH EEPROM (Electrically Erasable Programmable Read Only Memory) cuja função é carregar automaticamente as células de armazenamento. DEE 28/38 FPGA – Técnicas de Configuração SRAM (Static Random Access Memory): a chave de roteamento ou comutador é um transistor de passagem ou um multiplexador controlado por uma memória estática de acesso aleatório SRAM. As memórias são voláteis, ocupam muito espaço no circuito integrado, entretanto são rapidamente reprogramáveis. Antifuse: utiliza dispositivo de dois terminais, que no estado não programado apresenta uma alta impedância (circuito aberto). Após a aplicação de uma tensão DC o dispositivo forma um caminho de baixa impedância entre seus terminais. Gate flutuante: utiliza transistores MOS especialmente construídos com dois gates flutuantes semelhantes aos usados nas memórias EPROM (Erasable Programmable Read Only Memory) e EEPROM (Electrical EPROM). Vantagens: alta capacidade de programação, retenção dos dados, podem ser programados com o circuito integrado instalado na placa (ISP - In System Programmability). DEE 29/38 Arquitetura do FPGA STRATIX V da Altera ... LAB – Logic Array Block ALM – Adaptive Logic Module DEE 30/38 Arquitetura do FPGA STRATIX V da Altera ... DEE 31/38 FPGA STRATIX V da Altera ... DEE 32/38 5. Exemplo de Aplicação DEE 33/38 Controle de um motor AC Fluxo de projeto: DEE 34/38 Controle de um motor AC ... DEE 35/38 Bibliografia Consultada: R. J. TOCCI e N. S. WIDMER, Sistemas Digitais: Princípios e Aplicações, 11ª. Ed., Prentice-Hall, São Paulo,2011. C. da COSTA, Projetos de Circuitos Digitais com FPGA, Ed. Érica, São Paulo, 2009 J. W. BIGNELL e R. DONOVAN, Eletrônica Digital, 5ª Edição, Cengage Learning, São Paulo, 2010. ALTERA MAX V Device Handbook, Altera Corporation, 2011. ALTERA STRATIX V Device Handbook, Altera Corporation, 2011. Créditos: Na elaboração destes slides foi utilizado material (figuras, tabelas, diagramas, etc), retirado das referências bibliográficas listadas acima. DEE 36/38