Prévia do material em texto
53 1 Prof. Ederson Cichaczewski Lógica Programável Aula 1 53 2 Recursos Aulas Teóricas Aulas Práticas Avaliações APOLs, Provas Objetivas Provas Discursivas Atividades Práticas AVA UNIVIRTUS Laboratórios Plano de Ensino Cronograma Biblioteca Virtual Minha Biblioteca Referências Bibliográficas 53 3 Notas 53 4 Kits de Eletrônica 53 5 Conversa Inicial 53 6 Tema 1 Conhecendo os aspectos dos dispositivos de lógica programável Tema 2 Famílias de dispositivoslógicos programáveis Introdução à lógica programável 53 7 Tema 3 Linguagem de descrição de hardware Tema 4 Ferramenta de projeto e simulação Tema 5 Kit FPGA Cyclone II 53 8 A lógica programável permite a síntese de circuitos digitais em um chip Há diferentes arquiteturas de dispositivos de lógica programável Contextualizando 53 9 O projeto pode ser feito de forma simbólica ou por linguagem HDL Ferramentas incluem ambiente de desenvolvimento e kit de prototipagem 53 10 Conhecendo os aspectos dos dispositivos de lógica programável 53 11 Os Dispositivos Lógicos Programáveis (PLD), juntamente com a teoria básica de eletrônica digital, permitem a implementação e síntese de circuitos digitais em um chip A utilização de elementos de lógica programável aumenta a eficiência doprojeto e reduz o tempo de desenvolvimento 53 12 Atualmente, a maioria dos circuitos digitaisé implementada em lógica programável Poucas das novas tecnologias de sistemas digitais usam circuitos digitais discretos, mas, sim, dispositivos de lógica programável 53 13 Qualquer circuito lógico pode ser representado por uma expressão booleana Qualquer expressão booleana pode ser representada utilizando três portaslógicas básicas: AND, OR e NOT Desta forma, as expressões booleanas podem se dar na forma de soma de produtosou produto de somas 53 14 PAL (Programmable Array Logic): Matriz lógica programável é o tipo mais simplesde PLD Representa fisicamente a estrutura que configura um circuito proveniente de uma expressão booleana na forma de somade produtos Desta forma, implementa circuitos combinacionais, em que suas saídas dependem apenas dos níveis lógicosem suas entradas 53 15 53 16 As intersecções entre linhas e colunas são conexões programáveis no plano AND. As conexões são fixas nas portas OR 53 17 A ferramenta computacional utilizada para desenvolvimento é conhecida como EDA(Electronic Design Automation) Permite fazer a implementação,simulação e síntese de circuitos Projetos podem ser feitos de duas formas: Gráfico: diagrama esquemático Texto: Linguagem de Descriçãode Hardware (HDL) 53 18 Famílias de dispositivoslógicos programáveis 53 19 53 20 Os PLDs estão dentro da família de circuitos integrados de aplicação específica (ASICs –Application Specific Integrated Circuits). 53 21 PLAs são os primeiros dispositivos lógicos programáveis simples, introduzidos pela Philips no início dos anos 1970. Planos AND e OR configuráveis. Alto custoe baixo desempenho PALs são uma evolução, com apenaso plano AND configurável, menorcusto e maior desempenho SPLDs 53 22 As arquiteturas PAL e PLA são baseadas em memória PROM (Programmable Read OnlyMemory), portanto, programáveis apenas uma vez GAL tem arquitetura similar à PAL, contudo, usa tecnologia CMOS, que tem menor consumo de energia, e memória EEPROM,que permite regravação, mas suavelocidade de operação é menor SPLDs possuem baixa capacidade,em torno de 600 portas lógicas ou menos 53 23 CPLD: dispositivos lógicos programáveis complexos. Introduzidos pela Altera em 1983 Combinam uma série de dispositivos PAL (do tipo GAL) em um único chip. Possui tecnologia CMOS de baixo consumo e permite apagamento e reconfiguração em memória não volátil EEPROM HCPLDs 53 24 Possuem alta capacidade, a partir de 600 portas lógicas até dezenas de milhares, possibilitando um integração em larga escala Disponibilizam pinos de entrada e saída (I/O) de até em torno de 500 pinos Permitem simulação, teste e depuração rápida em protótipos 53 25 Macrocélula: Os elementos PAL são associados com circuitos adicionais na saída, que constituem uma macrocélula 53 26 53 27 LAB (Logic Array Block) São blocos de arranjos lógicos,que compreendem um conjuntode macrocélulas 53 28 53 29 LUT (Look-Up Table) / LE (Logic Element) Uma evolução da arquitetura de macrocélula do CPLD mais eficienteem área, que permite maior densidade A capacidade é medida em elementos lógicos (LUT de 4 entradas + registrador) 53 30 53 31 FPGA: Matriz de portasprogramáveis em campo Consiste em uma arquitetura de blocos lógicos configuráveis (CLBs) baseada em LUT Possui tecnologia CMOS e sua configuração se dá em memória SRAM, que é volátil 53 32 Possui maior capacidade que o CPLD, medida em LEs (elementos lógicos), p/ ex: CPLDsvão até ~2K LEs, já FPGAs vão até ~100K LEs LABs são um conjunto de LEs Disponibiliza pinos de entradae saída (I/O) de até mais de 1000 pinos Permite simulação, teste, depuraçãoe reconfiguração dinâmica, ou seja,em tempo de execução 53 33 Estrutura simplificada de um FPGA 53 34 Linguagem de descrição de hardware 53 35 Para começar a desenvolver um projeto para um dispositivo de lógica programável existem duas formas: Com editor gráfico pordiagrama lógico / esquemático Com editor de texto por Linguagem de Descrição de Hardware (HDL) HDL (Hardware Description Language) 53 36 O formato básico de qualquer descrição de circuito de hardware envolve doiselementos fundamentais: A definição e especificaçãode entradas e saídas A definição de como as saídasrespondem às entradas (operação) Um PLD não é equivalente a umprocessador, portanto, HDL nãoé executada sequencialmente,mas de forma concorrente, a princípio 53 37 Linguagens AHDL (Altera HDL): desenvolvida pelo fabricante de PLDs Altera, com sintaxe funcional apenas em seus dispositivos Verilog: padrão IEEE 1364, é universal,tem semelhanças com a linguagem C VHDL (VHSIC* HDL): padrão IEEE 1076, é universal, mais utilizada e documentada. *Very High Speed Integrated Circuit 53 38 Nesta disciplina será dado foco parao desenvolvimento de projetos com dispositivos FPGA utilizandoa linguagem VHDL *A linguagem de descrição de hardwaredifere das linguagens de programaçãode software porque inclui um meio dedescrever o tempo de propagaçãoe a intensidade de sinais 53 39 A estrutura de um código VHDL ENTITYPORTENTITYPORT ARCHITECTUREBEGINEND ARCHITECTUREBEGINEND PACKAGEPACKAGE CONFIGURATIONCONFIGURATION Bibliotecas EntidadeEntradas/Saídas Operação Configuração 53 40 Software altera Quartus II 53 41 Caminho:File New New Quartus II Project Ferramenta de Projeto eSimulação Quartus II 13.0 64-bit 53 42 53 43 Caminho: File New Design Files BlockDiagram / Schematic File Formato do arquivo: .bdf Projeto com Diagrama Esquemático 53 44 53 45 Caminho: File New Design Files VHDL File Formato do arquivo: .vhd Projeto em VHDL 53 46 *Entity: mesmo nome no projeto e no código .vhd 53 47 Caminho: File New Verification / Debugging Files University Program VWF Formato do arquivo: .vwf Simulação 53 48 53 49 Caminho: Processing Start Start Analysis & Synthesis Etapas: Otimização lógica: minimização Mapeamento da tecnologia: converteas expressões lógicas em célulasdo dispositivo alvo São detectados possíveis erros Com este processo concluídojá é possível simular o projeto Compilação parcial 53 50 Caminho: Processing Start Compilation Etapas: Análise e Síntese (Analysis & Synthesis) Posicionamento eRoteamento (Fitter) Montagem (Assembler) Análise de Temporização (Timing Analysis) Compilação Total 53 51 Processo de gravação física do arquivo gerado no processo de montagem Principal método: interface JTAG(Joint Test Action Group) Arquivos FPGA: .sof (SRAM object file) CPLD: .pof (programmer object file) Programação do Dispositivo 53 52 Kit Altera Cyclone II 53 53 KIT FPGA EP2C5T144C8N Vista de cimaVista de cima Vista de baixoVista de baixo 53 54 Cabo de programação JTAGCabo de programação JTAG Acessórios Fonte de energiaFonte de energia 53 55 Chip FPGA Cyclone II Entrada de energia de 5VDC Conector de programação JTAG Oscilador de clock de 50MHz Memória EEPROM de 4M bits 3 LEDs indicadores configuráveis 1 LED indicador de energia 1 chave de reset 4 conectores de 2x14 pinos Características da Placa 53 56 Encapsulamento: TQFP 144 pinos Elementos lógicos (LEs): 4608 Blocos lógicos (LABs): 288 Pinos de I/O: 89 Frequência máxima de clock: 320MHz Suporta CPU embarcada NIOS II Características do FPGA 53 57