34
Engenharia Elétrica 7a série A Prof. Guilherme Leal

Sistemas DigitaisII Anhanguera 7A Intro FPGA e VHDL Parte1

Embed Size (px)

Citation preview

Page 1: Sistemas DigitaisII Anhanguera 7A Intro FPGA e VHDL Parte1

Engenharia Elétrica7a série A

Prof. Guilherme Leal

Page 2: Sistemas DigitaisII Anhanguera 7A Intro FPGA e VHDL Parte1

• VHDL, uma introdução

• Esta linguagem nasceu devido a necessidade do Departamento de DefesaAmericano;

• Na década de 80, foi desenvolvido um padrão de projeto chamado VHSIC;

• VHSIC – Very High Speed Integrated System;

• VHDL – VHSIC Development Language;

Page 3: Sistemas DigitaisII Anhanguera 7A Intro FPGA e VHDL Parte1

• Empresas como IBM, Texas Instruments, participaram do projeto de especificação;

• A Intermetrics, outra empresa participante, especializada em software, tambémcontribui para o projeto;

• Com integrantes da conceituadaUniversidade de Cambridge, MIT, a Intermetrics participou também do ProjetoApollo que levou os americanos à Lua;

Page 4: Sistemas DigitaisII Anhanguera 7A Intro FPGA e VHDL Parte1

• Empresas como IBM, Texas Instruments, participaram do projeto de especificação;

• A Intermetrics, outra empresa participante, especializada em software, também contribuipara o projeto;

• Com integrantes da conceituada Universidadede Cambridge, MIT, a Intermetrics participoutambém do Projeto Apollo que levou osamericanos à Lua;

• A empresa foi adquirida na década de 90 e naatualidade, pertence a L3 Communications;

Page 5: Sistemas DigitaisII Anhanguera 7A Intro FPGA e VHDL Parte1

• Após a implementação do VHSIC e do VHDL, veio a padronização;

• A IEEE publicou em 1987 a primeira versão dalinguagem IEEE 1076-1987;

• A Atual versão do referido padrão é IEEE1076:2008;

• Outras padronizações foram discutidas, implementadas e publicadas;

• No momento oportuno, falaremos dos outrospadrões;

Page 6: Sistemas DigitaisII Anhanguera 7A Intro FPGA e VHDL Parte1
Page 7: Sistemas DigitaisII Anhanguera 7A Intro FPGA e VHDL Parte1

• Modelando Sistemas Digitais;

• No semestre passado, você experimentou o

projeto de sistemas digitais, que levavampáginas e páginas para serem devidamentedesejados;

• Voce utilizou ferramentas como: máquinas de estado finito, Flip-Flops, portas lógicas básicas, tabelas verdade, e criatividade para desenvolveros desafios de cada exercício;

Page 8: Sistemas DigitaisII Anhanguera 7A Intro FPGA e VHDL Parte1

• Modelando Sistemas Digitais;

• O Modelamento definido na máquina de

estado era cada vvez mais detalhado, atéchegar no circuito digital, que seria

solução do problema proposto;

• Foi um modo sistemático de projetar

circuitos digitais;

Page 9: Sistemas DigitaisII Anhanguera 7A Intro FPGA e VHDL Parte1

• Modelando Sistemas Digitais;

• Os métodos absorvidos até agora, não se

preocupavam muito com o circuitointegrado que seria utilizado: seria da

família TTL, CMOS, entre outras;

• Seria uma solução mista, com o emprego

de diferentes famílias de componentes?

Page 10: Sistemas DigitaisII Anhanguera 7A Intro FPGA e VHDL Parte1

• Modelando Sistemas Digitais;

• As FPGAs (Field Programming Gate

Arrays) criam uma flexibilidade importante;

• Vamos conhecer mais alguns aspectos

sobre esta família de componentes:

Page 11: Sistemas DigitaisII Anhanguera 7A Intro FPGA e VHDL Parte1

• FPGA foi idealizado por um empresa

chamada Xilinx em 1985;

• A Xilinx será tema de nosso curso, paraaprendermos outra linguagem de projeto.

Falaremos sobre no momento oportuno;

• O FPGA é uma família de CIs que possue

em sua arctetura, uma matrix de células

programáveis;

Page 12: Sistemas DigitaisII Anhanguera 7A Intro FPGA e VHDL Parte1

FPGA

Page 13: Sistemas DigitaisII Anhanguera 7A Intro FPGA e VHDL Parte1

• Cada célula programável possui uma arctetura como a apresentada:

Page 14: Sistemas DigitaisII Anhanguera 7A Intro FPGA e VHDL Parte1

• De um modo geral, cada celula de um CI

FPGA, possui o seguinte:

• CLB: Blocos Lógicos Configuraveis;

• BIOs: Blocos de I/O para interfaceamento

da célula com outras(interconexão

organizada em um arranjo matricial);

• BM: Blocos de memória, para armazenar

estados intermediários;

Page 15: Sistemas DigitaisII Anhanguera 7A Intro FPGA e VHDL Parte1

• Anatomia de um BLO

Page 16: Sistemas DigitaisII Anhanguera 7A Intro FPGA e VHDL Parte1

• Os Blocos lógicos são usualmenteconstituidos de Flip-Flops, ALUs, registradores e LUTs(Look Up Table);

• Os LUTs são muito utilizados em sistemasdigitais, uma vez que armazenamposições de memória, normalmente muitoutilizadas, permitindo que a recuperaçãode dados da memória seja muito maisrápida;

Page 17: Sistemas DigitaisII Anhanguera 7A Intro FPGA e VHDL Parte1

• Uma FPGA pode conter mais de 2 bilhõesde transistores;

• O Arranjo em matrix, a enorme quantidadede I/Os e a flexibilidade de programaçãopermite que as FPGAs operem com um grau de paralelismo espetacular;

• Podemos projetar dispositivos digitais queoperem a velocidades de I/O da ordem de 6GB/s ou mais!!!

Page 18: Sistemas DigitaisII Anhanguera 7A Intro FPGA e VHDL Parte1

• Uma FPGA pode conter mais de 2 bilhõesde transistores;

• O Arranjo em matrix, a enorme quantidadede I/Os e a flexibilidade de programaçãopermite que as FPGAs operem com um grau de paralelismo espetacular;

• Podemos projetar dispositivos digitais queoperem a velocidades de I/O da ordem de 6GB/s ou mais!!!

Page 19: Sistemas DigitaisII Anhanguera 7A Intro FPGA e VHDL Parte1

• VHDL e projetos com FPGAs

• Fluxo Básico de Projeto

Page 20: Sistemas DigitaisII Anhanguera 7A Intro FPGA e VHDL Parte1

• Modelagem VHDL

• Basicamente o trabalho começa peladefinição de um Entidade (entity), quepode ser representado por todo o seuprojeto ou partes dele;

• Para cada entidade, devemos definir as entradas e saídas;

• POsteriormente, passamos a arquiteturado corpo da entidade;

Page 21: Sistemas DigitaisII Anhanguera 7A Intro FPGA e VHDL Parte1

• Modelagem VHDL

• Na fase Architecture Body, podemosdefinir o comportamento que nossaentidade terá, sendo que desde 2000, o padrão permite que o comportamentotrabalhe com dados abstratos!!!;

• Em linguagens formais de programação, tais como, C/C++, nós poderemosencontrar estruturas de dados abstratas;

Page 22: Sistemas DigitaisII Anhanguera 7A Intro FPGA e VHDL Parte1

• Modelagem VHDL

• O Corpo da Arquiterura da entidade é

composto, por subsistemasinterconectados, também conhecidos

como Arquitetura estrutural do corpo da

entidade;

Page 23: Sistemas DigitaisII Anhanguera 7A Intro FPGA e VHDL Parte1

• Projetos com modelos;

• Talvez a modelagem seja uma das grandes

ferramentas que o Engenheiro tenha em suasmãos, não importando qual a sua especialidade;

• De posse de um modelo, podemos simular o comportamento do sistema, ou subsistemas, para verificar se este(s) atedem as necessidades de projeto. Muito antes de quequalquer componente seja comprado;

Page 24: Sistemas DigitaisII Anhanguera 7A Intro FPGA e VHDL Parte1

• Para que tudo saia como esperado, lançamos mãos de algumas ferramentas, que chamaremos aqui de fases:

• Análise, Elaboração e Execução;

• A programação em VHDL, como muitaslinguagens, utiliza o conceito de procedimentos, durante a análise, errosde sintax e semântica podem ser detectados e corrigidos;

Page 25: Sistemas DigitaisII Anhanguera 7A Intro FPGA e VHDL Parte1

• A fase de elaboração reduzimos todas as entidades interconectadas em uma meracoleção de sinais (nivel lógico) e processos; Aqui avaliamos se todas as variáveis possuem os níveis de sinalapropriados para o projeto;

• Na terceira fase, executamos o modelo, e verificamos se os eventos ocorrem de acordo com as necessidades do projeto;

Page 26: Sistemas DigitaisII Anhanguera 7A Intro FPGA e VHDL Parte1

• Sintaxe VHDL;

• Comentários (--):

• Sempre existe a necessidade de um

comentário no fonte. Hora para explicar

um procedimento, informar a versão do

conteúdo ou indicar algum ponto ainda

não plenamente implementado;

Page 27: Sistemas DigitaisII Anhanguera 7A Intro FPGA e VHDL Parte1

• Sintaxe VHDL;

• Comentários (--):

• Exemplo;

• -- Teste de sinalização

Page 28: Sistemas DigitaisII Anhanguera 7A Intro FPGA e VHDL Parte1

• Sintaxe VHDL;

• Indentificadores: A Identificação de

Entidades, procedimentos, entre outrosdeve utilizar os caracteres:

• ‘A’..’Z’, ‘a’..’z’, ‘0’..’9’, e o caracter ‘_’;

• Nomes devem iniciar com uma letra;

• Nunca terminar com ‘_’;

• Nunca utilizar dois ‘_’ consecutivos;

Page 29: Sistemas DigitaisII Anhanguera 7A Intro FPGA e VHDL Parte1

• Sintaxe VHDL;

• …

Page 30: Sistemas DigitaisII Anhanguera 7A Intro FPGA e VHDL Parte1

• Sintaxe VHDL;

• Exemplos / Exercícios

• 1) Desenvolva na linguagem VHDL um

dispositivo que se comporte como uma

porta NAND de 2 entradas e uma saída; A

saída deve ter um atraso de 20ns, com

relação as entradas.

Page 31: Sistemas DigitaisII Anhanguera 7A Intro FPGA e VHDL Parte1

• Sintaxe VHDL;

• Exemplos / Exercícios

• 1) Resolução

Page 32: Sistemas DigitaisII Anhanguera 7A Intro FPGA e VHDL Parte1

Definição da Entidade

Page 33: Sistemas DigitaisII Anhanguera 7A Intro FPGA e VHDL Parte1

Definição da Arquitetura da Entidade

Page 34: Sistemas DigitaisII Anhanguera 7A Intro FPGA e VHDL Parte1

Obrigado!!!Até a próxima aula