![Page 1: DISPOSITIVOS LÓGICOS PROGRAMÁVEIS - · PDF file10/03/2017 2 Introdução à Linguagem VHDL DISPOSITIVOS LÓGICOS PROGRAMÁVEIS - DLP Objetivos da Aula: Prof. Alexandre - ELP1DLP1](https://reader030.vdocuments.pub/reader030/viewer/2022020214/5a852fcc7f8b9ac96a8c371b/html5/thumbnails/1.jpg)
10/03/2017 1
DISPOSITIVOS LÓGICOS PROGRAMÁVEIS - DLP
Prof. Alexandre - ELP1DLP1 / DEE
![Page 2: DISPOSITIVOS LÓGICOS PROGRAMÁVEIS - · PDF file10/03/2017 2 Introdução à Linguagem VHDL DISPOSITIVOS LÓGICOS PROGRAMÁVEIS - DLP Objetivos da Aula: Prof. Alexandre - ELP1DLP1](https://reader030.vdocuments.pub/reader030/viewer/2022020214/5a852fcc7f8b9ac96a8c371b/html5/thumbnails/2.jpg)
10/03/2017 2
Introdução à Linguagem VHDL
DISPOSITIVOS LÓGICOS PROGRAMÁVEIS - DLP
Objetivos da Aula:
Prof. Alexandre - ELP1DLP1 / DEE
Plano de Ensino
3. Ferramentas de Desenvolvimento 3.4. Editor de texto (programação VHDL ou Verilog)
Conteúdo Programático
![Page 3: DISPOSITIVOS LÓGICOS PROGRAMÁVEIS - · PDF file10/03/2017 2 Introdução à Linguagem VHDL DISPOSITIVOS LÓGICOS PROGRAMÁVEIS - DLP Objetivos da Aula: Prof. Alexandre - ELP1DLP1](https://reader030.vdocuments.pub/reader030/viewer/2022020214/5a852fcc7f8b9ac96a8c371b/html5/thumbnails/3.jpg)
10/03/2017 3
DISPOSITIVOS LÓGICOS PROGRAMÁVEIS - DLP
Referências Bibliográficas
Prof. Alexandre - ELP1DLP1 / DEE
D'AMORE, Roberto. VHDL: descrição e síntese de circuitos digitais . 2. ed. Rio de Janeiro: LTC, 2012. 292 p. * TOCCI, Ronald J; WIDMER, Neal S; MOSS, Gregory L. Sistemas digitais: princípios e aplicações. 11. ed. São Paulo: Makron Books, 2011. 817 p.
Livros (BU / CCT)
Apostilas e Guias (PDF)
Grupo Microeletrônica Universidade Federal de Itajubá. Tutorial VHDL. Peter J. Ashenden. The VHDL Cookbook. Dept. Computer Science. University of Adelaide. South Australia. HARDI Electronics AB. VHDL Handbook.
Altera
Altera. VHDL Basics. 92min Training.*
*Principais fontes para elaboração desta apresentação
![Page 4: DISPOSITIVOS LÓGICOS PROGRAMÁVEIS - · PDF file10/03/2017 2 Introdução à Linguagem VHDL DISPOSITIVOS LÓGICOS PROGRAMÁVEIS - DLP Objetivos da Aula: Prof. Alexandre - ELP1DLP1](https://reader030.vdocuments.pub/reader030/viewer/2022020214/5a852fcc7f8b9ac96a8c371b/html5/thumbnails/4.jpg)
10/03/2017 4
DISPOSITIVOS LÓGICOS PROGRAMÁVEIS - DLP
VHDL
Prof. Alexandre - ELP1DLP1 / DEE
O que significa:
VHSIC – Very High Speed Integrated Circuit
Hardware
Description
Language
![Page 5: DISPOSITIVOS LÓGICOS PROGRAMÁVEIS - · PDF file10/03/2017 2 Introdução à Linguagem VHDL DISPOSITIVOS LÓGICOS PROGRAMÁVEIS - DLP Objetivos da Aula: Prof. Alexandre - ELP1DLP1](https://reader030.vdocuments.pub/reader030/viewer/2022020214/5a852fcc7f8b9ac96a8c371b/html5/thumbnails/5.jpg)
10/03/2017 5
DISPOSITIVOS LÓGICOS PROGRAMÁVEIS - DLP
Introdução
Prof. Alexandre - ELP1DLP1 / DEE
Hardware Description Languages são linguagens de programação usadas para modelar o hardware. Capazes de descrever sistemas digitais e utilizada universalmente nos mais diversos produtos que envolvem circuitos eletrônicos.
HDL
![Page 6: DISPOSITIVOS LÓGICOS PROGRAMÁVEIS - · PDF file10/03/2017 2 Introdução à Linguagem VHDL DISPOSITIVOS LÓGICOS PROGRAMÁVEIS - DLP Objetivos da Aula: Prof. Alexandre - ELP1DLP1](https://reader030.vdocuments.pub/reader030/viewer/2022020214/5a852fcc7f8b9ac96a8c371b/html5/thumbnails/6.jpg)
10/03/2017 6
DISPOSITIVOS LÓGICOS PROGRAMÁVEIS - DLP
Um pouco de história...
Prof. Alexandre - ELP1DLP1 / DEE
- VHDL surgiu no contexto do programa americano “Very High Speed Integrated
Circuits” (VHSIC), iniciado em 1980 pelo Departamento de Defesa dos EUA.
- VHDL surgiu devido a necessidade de uma ferramenta para documentação
padrão da Descrição de Circuitos.
- Padrões Principais:
- IEEE 1164 – Pacote: Std_logic_1164 (tipos de dados)
- IEEE 1076.3 – Pacotes: Numeric_std e Numeric bit (numérica)
- Pacotes contem as informações de funções, tipos de dados, etc..
- Essas informações são utilizadas para traduzir a programação escrita para o nível
de circuitos nos PLDs (circuitos lógicos programáveis)
![Page 7: DISPOSITIVOS LÓGICOS PROGRAMÁVEIS - · PDF file10/03/2017 2 Introdução à Linguagem VHDL DISPOSITIVOS LÓGICOS PROGRAMÁVEIS - DLP Objetivos da Aula: Prof. Alexandre - ELP1DLP1](https://reader030.vdocuments.pub/reader030/viewer/2022020214/5a852fcc7f8b9ac96a8c371b/html5/thumbnails/7.jpg)
10/03/2017 7
DISPOSITIVOS LÓGICOS PROGRAMÁVEIS - DLP
VHDL
Prof. Alexandre - ELP1DLP1 / DEE
Vantagens
a) HDL padrão aprovada pela IEEE
b) HDL de alto nível usada para Simulação e Síntese.
c) diferentes alternativas de implementação, permitindo vários níveis de abstração
d) verificação do comportamento do sistema digital, através de simulação
e) redução do tempo e custo de desenvolvimento e manutenção do projeto
f) eliminação de erros de baixo nível do projeto
g) Velocidade de resposta entrada/saída
h) “Tell me how your circuit should behave and I will give the hardware that does
the job” - Altera
Desvantagens
a) dificuldade para otimização no hardware gerado
b) necessidade de treinamento para lidar com a linguagem
![Page 8: DISPOSITIVOS LÓGICOS PROGRAMÁVEIS - · PDF file10/03/2017 2 Introdução à Linguagem VHDL DISPOSITIVOS LÓGICOS PROGRAMÁVEIS - DLP Objetivos da Aula: Prof. Alexandre - ELP1DLP1](https://reader030.vdocuments.pub/reader030/viewer/2022020214/5a852fcc7f8b9ac96a8c371b/html5/thumbnails/8.jpg)
10/03/2017 8
DISPOSITIVOS LÓGICOS PROGRAMÁVEIS - DLP
VHDL
Prof. Alexandre - ELP1DLP1 / DEE
Síntese e Simulação
![Page 9: DISPOSITIVOS LÓGICOS PROGRAMÁVEIS - · PDF file10/03/2017 2 Introdução à Linguagem VHDL DISPOSITIVOS LÓGICOS PROGRAMÁVEIS - DLP Objetivos da Aula: Prof. Alexandre - ELP1DLP1](https://reader030.vdocuments.pub/reader030/viewer/2022020214/5a852fcc7f8b9ac96a8c371b/html5/thumbnails/9.jpg)
10/03/2017 9
DISPOSITIVOS LÓGICOS PROGRAMÁVEIS - DLP
Níveis de Abstração e Descrição: Processo Síntese
Prof. Alexandre - ELP1DLP1 / DEE
Nível de sistema
RTL Nível Lógico e Circuito
Descrição desconhece o dispositivo É necessário conhecer o
dispositivo no qual a “lógica”
será implementada
![Page 10: DISPOSITIVOS LÓGICOS PROGRAMÁVEIS - · PDF file10/03/2017 2 Introdução à Linguagem VHDL DISPOSITIVOS LÓGICOS PROGRAMÁVEIS - DLP Objetivos da Aula: Prof. Alexandre - ELP1DLP1](https://reader030.vdocuments.pub/reader030/viewer/2022020214/5a852fcc7f8b9ac96a8c371b/html5/thumbnails/10.jpg)
10/03/2017 10
DISPOSITIVOS LÓGICOS PROGRAMÁVEIS - DLP
Níveis de Abstração e Descrição: RTL Síntese
Prof. Alexandre - ELP1DLP1 / DEE
![Page 11: DISPOSITIVOS LÓGICOS PROGRAMÁVEIS - · PDF file10/03/2017 2 Introdução à Linguagem VHDL DISPOSITIVOS LÓGICOS PROGRAMÁVEIS - DLP Objetivos da Aula: Prof. Alexandre - ELP1DLP1](https://reader030.vdocuments.pub/reader030/viewer/2022020214/5a852fcc7f8b9ac96a8c371b/html5/thumbnails/11.jpg)
10/03/2017 11
DISPOSITIVOS LÓGICOS PROGRAMÁVEIS - DLP
VHDL: Ponto de partida
Prof. Alexandre - ELP1DLP1 / DEE
VHDL é formado por palavras-chave reservadas.
As linhas terminam por ponto-e-vírgula “;”
Os comentários em VHDL ocorrem após dois traços “- -“.
Os caracteres maiúsculos e minúsculos não tem distinção em VHDL.
Os nomes de variáveis devem iniciar-se com letras alfabéticas, sendo possível utilizar também dígitos numéricos e “_”.
O caracter “_” não pode ser usado duplicado, e nem no final de um nome.
Linguagem concorrente
- ordem dos comandos: não importa
- comandos sequenciais: somente em regiões específicas
![Page 12: DISPOSITIVOS LÓGICOS PROGRAMÁVEIS - · PDF file10/03/2017 2 Introdução à Linguagem VHDL DISPOSITIVOS LÓGICOS PROGRAMÁVEIS - DLP Objetivos da Aula: Prof. Alexandre - ELP1DLP1](https://reader030.vdocuments.pub/reader030/viewer/2022020214/5a852fcc7f8b9ac96a8c371b/html5/thumbnails/12.jpg)
Library IEEE;
Use IEEE.std_logic_1164.all;
Use IEEE.std_logic_unsigned.all;
10/03/2017 12
DISPOSITIVOS LÓGICOS PROGRAMÁVEIS - DLP
VHDL: Primeiro Contato
Prof. Alexandre - ELP1DLP1 / DEE
![Page 13: DISPOSITIVOS LÓGICOS PROGRAMÁVEIS - · PDF file10/03/2017 2 Introdução à Linguagem VHDL DISPOSITIVOS LÓGICOS PROGRAMÁVEIS - DLP Objetivos da Aula: Prof. Alexandre - ELP1DLP1](https://reader030.vdocuments.pub/reader030/viewer/2022020214/5a852fcc7f8b9ac96a8c371b/html5/thumbnails/13.jpg)
10/03/2017 13
DISPOSITIVOS LÓGICOS PROGRAMÁVEIS - DLP
VHDL: Design Units
Prof. Alexandre - ELP1DLP1 / DEE
• A estrutura de um programa em VHDL é composta pelos elementos:
1) Entity (símbolo)
2) Architecture (esquemático)
3) Configuration (múltiplas arquiteturas, associação)
4) Package (bibliotecas)
![Page 14: DISPOSITIVOS LÓGICOS PROGRAMÁVEIS - · PDF file10/03/2017 2 Introdução à Linguagem VHDL DISPOSITIVOS LÓGICOS PROGRAMÁVEIS - DLP Objetivos da Aula: Prof. Alexandre - ELP1DLP1](https://reader030.vdocuments.pub/reader030/viewer/2022020214/5a852fcc7f8b9ac96a8c371b/html5/thumbnails/14.jpg)
10/03/2017 14
DISPOSITIVOS LÓGICOS PROGRAMÁVEIS - DLP
Package (Library)
Prof. Alexandre - ELP1DLP1 / DEE
A primeira informação contida num programa VHDL é a declaração das bibliotecas library (ies) usada no projeto.
Várias funções e tipos básicos são armazenados em bibliotecas. A biblioteca “IEEE” é sempre incluída.
Ex: Library IEEE; Use IEEE.std_logic_1164.all; Use IEEE.std_logic_unsigned.all; lib_name.pack_name.object Observações: 1. a declaração Library IEEE é usada para definir a biblioteca IEEE; 2. a declaração use IEEE.std_logic_1164.all é necessária para usar os
objetos correspondentes à lógica padrão da biblioteca; e 3. a declaração use IEEE.std_logic_unsigned.all é necessária para realizar a
aritmética não sinalizada.
![Page 15: DISPOSITIVOS LÓGICOS PROGRAMÁVEIS - · PDF file10/03/2017 2 Introdução à Linguagem VHDL DISPOSITIVOS LÓGICOS PROGRAMÁVEIS - DLP Objetivos da Aula: Prof. Alexandre - ELP1DLP1](https://reader030.vdocuments.pub/reader030/viewer/2022020214/5a852fcc7f8b9ac96a8c371b/html5/thumbnails/15.jpg)
• A entity define a interface (símbolo) do projeto, através dos pinos de entrada (in) e saída (out) e o tipo do sinal correspondente, no seguinte formato:
entity nome_da_entity is generic ( --Declaração de parâmetros <CONSTANT> nome : <type> := <valor> ); port ( --Declaração dos pinos <SIGNAL> nome : <mode> <type> ); end nome_da_entity ;
Exemplo: entity COMPARA is port ( A,B: in std_logic; C: out std_logic); end COMPARA;
Interfaces definidas através do exemplo de entity. 10/03/2017 15
DISPOSITIVOS LÓGICOS PROGRAMÁVEIS - DLP
Entity
Prof. Alexandre - ELP1DLP1 / DEE
COMPARA
A
B
C
![Page 16: DISPOSITIVOS LÓGICOS PROGRAMÁVEIS - · PDF file10/03/2017 2 Introdução à Linguagem VHDL DISPOSITIVOS LÓGICOS PROGRAMÁVEIS - DLP Objetivos da Aula: Prof. Alexandre - ELP1DLP1](https://reader030.vdocuments.pub/reader030/viewer/2022020214/5a852fcc7f8b9ac96a8c371b/html5/thumbnails/16.jpg)
• Descreve a funcionalidade e temporização de um modelo • Deve estar associado à uma ENTITY • Uma ENTITY pode possuir várias ARCHITECTURES
• Arquiteturas com vetores de estímulo de teste diferentes • Uma arquitetura “simulável” e uma segunda “sintetizável”
• Estilos de modelagem / descrição • COMPORTAMENTAL: como se comporta o modelo
• RTL: modelo descrito em termos de registradores • Funcional: sem temporização
• ESTRUTURAL: conexões • Portas lógicas e componentes
• HÍBRIDA
10/03/2017 16
DISPOSITIVOS LÓGICOS PROGRAMÁVEIS - DLP
Architecture
Prof. Alexandre - ELP1DLP1 / DEE
![Page 17: DISPOSITIVOS LÓGICOS PROGRAMÁVEIS - · PDF file10/03/2017 2 Introdução à Linguagem VHDL DISPOSITIVOS LÓGICOS PROGRAMÁVEIS - DLP Objetivos da Aula: Prof. Alexandre - ELP1DLP1](https://reader030.vdocuments.pub/reader030/viewer/2022020214/5a852fcc7f8b9ac96a8c371b/html5/thumbnails/17.jpg)
10/03/2017 17
DISPOSITIVOS LÓGICOS PROGRAMÁVEIS - DLP
Architecture
Prof. Alexandre - ELP1DLP1 / DEE
ARCHITECTURE nome_da_architecture OF nome_da_entity IS --Declarações opcionais SIGNAL temp : INTEGER := 1; CONSTANT load : BOOLEAN := true; TYPE states IS (S1,S2,S3); --Component declaration --Subtype declaration --Attribute declarations and specifications -- Subprogram declarations and body BEGIN --Lógica -- Process statements -- Concurrent procedural calls -- Concurrent signal assignments -- Component installation statements -- Generic statements END nome_da_architecture;
![Page 18: DISPOSITIVOS LÓGICOS PROGRAMÁVEIS - · PDF file10/03/2017 2 Introdução à Linguagem VHDL DISPOSITIVOS LÓGICOS PROGRAMÁVEIS - DLP Objetivos da Aula: Prof. Alexandre - ELP1DLP1](https://reader030.vdocuments.pub/reader030/viewer/2022020214/5a852fcc7f8b9ac96a8c371b/html5/thumbnails/18.jpg)
10/03/2017 18
DISPOSITIVOS LÓGICOS PROGRAMÁVEIS - DLP
Architecture
Prof. Alexandre - ELP1DLP1 / DEE
• O signal pode ser declarado em entity, architecture ou em package, e serve para a conexão entre os módulos, componentes e portas lógicas.
sintaxe:
signal identificador (es) : tipo [restrição] [:=expressão];
Exemplos:
signal cont : integer range 50 downto 1;
signal ground : bit := ´0´;
signal bus : bit_vector;
Declaração de Sinais
![Page 19: DISPOSITIVOS LÓGICOS PROGRAMÁVEIS - · PDF file10/03/2017 2 Introdução à Linguagem VHDL DISPOSITIVOS LÓGICOS PROGRAMÁVEIS - DLP Objetivos da Aula: Prof. Alexandre - ELP1DLP1](https://reader030.vdocuments.pub/reader030/viewer/2022020214/5a852fcc7f8b9ac96a8c371b/html5/thumbnails/19.jpg)
10/03/2017 19
DISPOSITIVOS LÓGICOS PROGRAMÁVEIS - DLP
Architecture
Prof. Alexandre - ELP1DLP1 / DEE
• A declaração do componente, component, é feita como segue, sendo que o componente declarado deve ser projetado através de uma outra descrição VHDL, ou outra forma de projeto, respeitando as mesmas características de Entidade.
Component nome_do_componente port ( Clk : in std_logic; Rst : in std_logic; Din : in std_logic; Dout : out std_logic ); end component;
Declaração de Componentes
![Page 20: DISPOSITIVOS LÓGICOS PROGRAMÁVEIS - · PDF file10/03/2017 2 Introdução à Linguagem VHDL DISPOSITIVOS LÓGICOS PROGRAMÁVEIS - DLP Objetivos da Aula: Prof. Alexandre - ELP1DLP1](https://reader030.vdocuments.pub/reader030/viewer/2022020214/5a852fcc7f8b9ac96a8c371b/html5/thumbnails/20.jpg)
10/03/2017 20
DISPOSITIVOS LÓGICOS PROGRAMÁVEIS - DLP
Architecture
Prof. Alexandre - ELP1DLP1 / DEE
Lógica: Descrição COMPORTAMENTAL
Usa a cláusula process, cujo formato é o seguinte:
Process ( lista de sensibilidade ) begin descrição lógica end process;
A lista de sensibilidade corresponde aos sinais que devem alterar a saída do circuito, e é composta de todos os sinais de entrada para os circuitos combinatórios.
Para os registradores assíncronos, a lista seria composta do clock e do
reset; e para os registradores síncronos, do clock.
![Page 21: DISPOSITIVOS LÓGICOS PROGRAMÁVEIS - · PDF file10/03/2017 2 Introdução à Linguagem VHDL DISPOSITIVOS LÓGICOS PROGRAMÁVEIS - DLP Objetivos da Aula: Prof. Alexandre - ELP1DLP1](https://reader030.vdocuments.pub/reader030/viewer/2022020214/5a852fcc7f8b9ac96a8c371b/html5/thumbnails/21.jpg)
10/03/2017 21
DISPOSITIVOS LÓGICOS PROGRAMÁVEIS - DLP
Architecture
Prof. Alexandre - ELP1DLP1 / DEE
Lógica: Descrição COMPORTAMENTAL - PROCESS
![Page 22: DISPOSITIVOS LÓGICOS PROGRAMÁVEIS - · PDF file10/03/2017 2 Introdução à Linguagem VHDL DISPOSITIVOS LÓGICOS PROGRAMÁVEIS - DLP Objetivos da Aula: Prof. Alexandre - ELP1DLP1](https://reader030.vdocuments.pub/reader030/viewer/2022020214/5a852fcc7f8b9ac96a8c371b/html5/thumbnails/22.jpg)
10/03/2017 22
DISPOSITIVOS LÓGICOS PROGRAMÁVEIS - DLP
Architecture
Prof. Alexandre - ELP1DLP1 / DEE
Lógica: Descrição COMPORTAMENTAL - EXEMPLO
Architecture COMPORTAMENTO of COMPARA is begin process (A,B) begin if(A=B) then C<=‘1’; else C<=‘0’; end if; end process; end COMPORTAMENTO; O comando process (A,B) indica que os sinais A e B formam a lista de sensibilidade. A saída C será igual a 1 caso as entradas A e B sejam iguais, e C será igual a 0, caso contrário.
COMPARA
A
B
C
![Page 23: DISPOSITIVOS LÓGICOS PROGRAMÁVEIS - · PDF file10/03/2017 2 Introdução à Linguagem VHDL DISPOSITIVOS LÓGICOS PROGRAMÁVEIS - DLP Objetivos da Aula: Prof. Alexandre - ELP1DLP1](https://reader030.vdocuments.pub/reader030/viewer/2022020214/5a852fcc7f8b9ac96a8c371b/html5/thumbnails/23.jpg)
10/03/2017 23
DISPOSITIVOS LÓGICOS PROGRAMÁVEIS - DLP
Architecture
Prof. Alexandre - ELP1DLP1 / DEE
Lógica: Descrição ESTRUTURAL
Para a descrição estrutural é feita a associação dos pinos do componente com os sinais usados no projeto.
Exemplo:
BEGIN
U0: nome_do_componente
port map (
Clk => clk_top;
Rst => rst_top;
Din => din_top;
Dout => dout_top
);
END
No exemplo, U0 é um label.
![Page 24: DISPOSITIVOS LÓGICOS PROGRAMÁVEIS - · PDF file10/03/2017 2 Introdução à Linguagem VHDL DISPOSITIVOS LÓGICOS PROGRAMÁVEIS - DLP Objetivos da Aula: Prof. Alexandre - ELP1DLP1](https://reader030.vdocuments.pub/reader030/viewer/2022020214/5a852fcc7f8b9ac96a8c371b/html5/thumbnails/24.jpg)
10/03/2017 24
DISPOSITIVOS LÓGICOS PROGRAMÁVEIS - DLP
Architecture
Prof. Alexandre - ELP1DLP1 / DEE
Lógica: Descrição ESTRUTURAL - EXEMPLO
COMPARA
A
B
C
![Page 25: DISPOSITIVOS LÓGICOS PROGRAMÁVEIS - · PDF file10/03/2017 2 Introdução à Linguagem VHDL DISPOSITIVOS LÓGICOS PROGRAMÁVEIS - DLP Objetivos da Aula: Prof. Alexandre - ELP1DLP1](https://reader030.vdocuments.pub/reader030/viewer/2022020214/5a852fcc7f8b9ac96a8c371b/html5/thumbnails/25.jpg)
10/03/2017 25
DISPOSITIVOS LÓGICOS PROGRAMÁVEIS - DLP
Architecture
Prof. Alexandre - ELP1DLP1 / DEE
Lógica: Descrição ESTRUTURAL - EXEMPLO
architecture ESTRUTURA of COMPARA is component XOR_Gate port (I0, I1: in std_logic; O: out std_logic); end component; component NOT_Gate port (I0: in std_logic; O: out std_logic); end component; signal AUX: std_logic; begin U0: XOR_Gate port map (I0=>A, I1=>B, O=>AUX); U1: NOT_Gate port map (I0=>AUX, O=>C); end ESTRUTURA;