Arquitetura de Sistemas Digitais FPGA Universidade Federal do Amazonas (UFAM) Faculdade de Tecnologia (FT) Departamento de Eletrônica e Computação (DTEC) Arquitetura de Sistemas Digitais FPGA Francisco Januário Orientador: Prof. Lucas Cordeiro, Dr
Arquitetura de Sistemas Digitais Referências LOPES, Alexandre – Slides das aulas de sistemas digitais, Manaus: FUCAPI, 2011. TAUB, Herbert – Circuitos digitais e microprocessadores, São Paulo: McGraw-Hill do Brasil, 1984. TOCCI, Ronald J. – Sistemas digitais: princípios e aplicações, 8.ed., São Paulo: Pearson Prentice Hall, 2006. BIGNELL, James W.; DONOVAN, Robert – Eletrônica digital, 5.ed., São Paulo: Cengage Learning, 2009. CAPUANO, Francisco G. e IDOETA, Ivan V. Elementos de eletrônica digital, 13.ed., São Paulo: Érica, 1988.
Arquitetura de Sistemas Digitais PLD (1/4) Dispositivos Lógicos Programáveis (PLD – Programmable Logic Device): são circuitos integrador configuráveis pelo próprio usuário. Permite implementar funções lógicas sem a necessidade de fabricação do CI (Circuito Integrado). SPLDs (Simple Programmable Logic Device): são dispositivos simples com menos de 600 portas lógicas fabricados usando a tecnologia CMOS. HCPLDs (High Complex Programmable Logic Device): dispositivos de alta capacidade com mais de 600 portas, chegando a 250.000. Neste grupo estão os CPLD’s e os FPGA’s.
Arquitetura de Sistemas Digitais PLD (2/4) PLA (Programmable Logic Arrays): primeiro SPLD, criado pela Philips na década de 1970, para implementar circuitos lógicos. É composto por um plano de portas AND e outro de portas OR programáveis.
Arquitetura de Sistemas Digitais PLD (3/4) PAL (Programmable Array Logic): é uma evolução do PLA, composto por um único plano de portas AND. Possui custo menor e melhor desempenho.
Arquitetura de Sistemas Digitais PLD (4/4) HCPLD (High Complex Programmable Logic Device): são PLDs de alta complexidade por possuir maior número de portas programáveis. Se dividem em: CPLD e FPGA. O CPLD e o FPGA divergem na estrutura interna de suas células lógicas e na metodologia de interligação dessas células. De forma geral, um HCPLD é um dispositivo que possui em sua estrutura interna, centenas de macrocélulas programáveis, que são interligadas por conexões também programáveis.
Arquitetura de Sistemas Digitais CPLD (1/3) Dispositivos Lógicos Programáveis Complexos (CPLD – Complex Programmable Logic Device): foram criados pela empresa ALTERA em 1983, inicialmente como Dispositivos Lógicos Programáveis Apagáveis (EPLD – Erase Programmable Logic Device), e depois como CPLD. São dispositivos reprogramáveis, com alto desempenho, baixo custo e alta capacidade de integração. Aplicações, por exemplo, em máquinas de estado ou decodificadores de sinais. Um CPLD pode implementar até 50 PLDs típicos.
Arquitetura de Sistemas Digitais CPLD (2/3) O CPLD possui algumas vantagens em relação aos circuitos discretos e ASIC (Application-Specific Integrated Circuit) tradicional. Programabilidade e Reprogramabilidade: permite que funções lógicas possam ser alteradas, simplificando o desenvolvimento de protótipos. Tecnologia CMOS: menor consumo de energia. Integração em larga escala: redução do tamanho da placa de circuito impresso, pois elimina diversos circuitos discretos. Simplificação e redução do tempo de desenvolvimento: o projetista define os sinais elétricos conforme desejado: entradas e saídas podem ocupar o mesmo terminal do dispositivo. Teste e depuração: o CPLD utiliza uma linguagem de programação que permite a simulação, teste e depuração rápida do protótipo.
Arquitetura de Sistemas Digitais CPLD (3/3) O bloco funcional de um CPLD da fabricante ALTERA para as famílias MAX II, MAX 3000A, MAX 7000 e MAX IIZ.
Arquitetura de Sistemas Digitais FPGA (1/10) Arranjo de Portas Programável em Campo – FPGA (Field Programmable Gate Array): é um HCPLD que implementa grandes circuitos lógicos. Consiste de um arranjo (ou matriz) de blocos lógicos. Cada célula contém capacidade computacional para implementar funções lógicas e realizar roteamento para comunicação entre elas. A empresa Xilinx desenvolveu o primeiro FPGA em 1983.
Arquitetura de Sistemas Digitais FPGA (2/10) No interior de cada bloco lógico do FPGA existem vários modos possíveis para implementação de funções lógicas. A ALTERA utiliza o bloco de memória LUT (Look-Up Table), que são células de armazenamento que podem conter o valor lógico “0” ou “1”. Este modo é o mais utilizado pelos fabricantes. Os blocos lógicos LUT’s possuem geralmente 4 ou 5 entradas, permitindo endereçar 16 ou 32 células de armazenamento. Quando um circuito lógico é implementado em FPGA, os LUT’s são programados para realizar as funções lógicas, e os canais de roteamento são estruturados para interconexão entre os blocos lógicos.
Arquitetura de Sistemas Digitais FPGA (3/10) Estrutura de um FPGA.
Arquitetura de Sistemas Digitais FPGA (4/10) Arquitetura de Roteamento: formada por barramentos e chaves de comutação, permitindo interconexão entre células lógicas. Pinos: entrada/saída dos blocos. Conexão: ligação elétrica de um par de pinos. Rede: conjunto de pinos conectados. Segmento de trilha: segmento não interrompido por chaves programáveis. Canal de roteamento: grupo de 2 ou mais trilhas paralelas. Bloco de conexão: conectividade de entradas e saídas de um bloco com os segmentos de trilhas.
Arquitetura de Sistemas Digitais FPGA (5/10) Famílias: A fabricante ALTERA oferece comercialmente as seguintes famílias: Stratix II, Stratix, Stratix GX, Cyclone II, APEX II, APEX 20K, Mercury, FLEX 10K, ACEX 1K, FLEX 6000 e Excalibur Devices.
Arquitetura de Sistemas Digitais FPGA (6/10) Aplicações: O FPGA permitir projetar sistemas digitais de simples a complexos. Gerador de sinal PWM Contadores Decodificador para Display 7 Segmentos Controle de Motor de Passo Memórias RAM e ROM Codificadores/Decodificadores de Imagens Processamento Digital de Sinais e Imagens Unidade Lógica Aritmética, Microcomputador Transmissor / Receptor Serial Transmissor / Receptor (Set-Top Box) de TV Digital
Arquitetura de Sistemas Digitais FPGA (7/10) Aplicações: Transmissor / Receptor de TV Digital.
Arquitetura de Sistemas Digitais FPGA (8/10) Kit de Desenvolvimento: A fabricante ALTERA oferece comercialmente alguns KIT’s de desenvolvimento FPGA. http://www.terasic.com.tw/en/ Altera DE2-115: Placa de desenvolvimento e educação. Altera DE0-Nano: Placa de desenvolvimento e educação.
Arquitetura de Sistemas Digitais FPGA (9/10) Kit de Desenvolvimento (continuação). http://www.terasic.com.tw/en/ Altera Cyclone V GX: Kit de desenvolvimento FPGA. Altera Nios II: Kit de desenvolvimento embarcado.
Arquitetura de Sistemas Digitais FPGA (10/10) Kit de Desenvolvimento (continuação). Altera Stratix NIOS II: Nosso KIT de desenvolvimento FPGA.
Arquitetura de Sistemas Digitais QUARTUS II (1/3) Prof. Francisco Januário
Arquitetura de Sistemas Digitais QUARTUS II (2/3) Prof. Francisco Januário
Arquitetura de Sistemas Digitais QUARTUS II (3/3) Prof. Francisco Januário
Arquitetura de Sistemas Digitais VHDL (1/23)
Arquitetura de Sistemas Digitais VHDL (2/23)
Arquitetura de Sistemas Digitais VHDL (3/23)
Arquitetura de Sistemas Digitais VHDL (4/23)
Arquitetura de Sistemas Digitais VHDL (5/23)
Arquitetura de Sistemas Digitais VHDL (6/23)
Arquitetura de Sistemas Digitais VHDL (7/23)
Arquitetura de Sistemas Digitais VHDL (8/23)
Arquitetura de Sistemas Digitais VHDL (9/23)
Arquitetura de Sistemas Digitais VHDL (10/23)
Arquitetura de Sistemas Digitais VHDL (11/23)
Arquitetura de Sistemas Digitais VHDL (12/23)
Arquitetura de Sistemas Digitais VHDL (13/23)
Arquitetura de Sistemas Digitais VHDL (14/23)
Arquitetura de Sistemas Digitais VHDL (15/23)
Arquitetura de Sistemas Digitais VHDL (16/23)
Arquitetura de Sistemas Digitais VHDL (17/23)
Arquitetura de Sistemas Digitais VHDL (18/23)
Arquitetura de Sistemas Digitais VHDL (19/23)
Arquitetura de Sistemas Digitais VHDL (20/23)
Arquitetura de Sistemas Digitais VHDL (21/23)
Arquitetura de Sistemas Digitais VHDL (22/23)
Arquitetura de Sistemas Digitais VHDL (23/23)
Arquitetura de Sistemas Digitais Experimento (1/2) Experimento 1: Desenvolver uma ULA de 4 bits com as seguintes funções. Controle da ULA Função 00 AND 01 OR 10 NOT 11 ADD
Arquitetura de Sistemas Digitais Experimento (2/2)