Você está na página 1de 28

VHDL

Introdução à VHDL - Parte 1


Introdução à VHDL
 VHDL é uma linguagem de hardware que pode
ser utilizada em todas as fases do projeto de
um sistema digital. O código descreve o
comportamento ou a estrutura de um circuito
eletrônico, do qual um circuito físico pode ser
inferido a partir de uma ferramenta EDA
(Eletronic Design Automation);
 VHDL significa VHSIC (Very High Speed
Integrated Circuits) Hardware Description
Language;
Introdução à VHDL
 A linguagem VHDL foi crida nos anos 80 pelo
Departamento de Defesa dos Estados Unidos
da América (DARPA).
 Diferentes versões.
 Aplicações:
◦ Síntese de circuitos digitais em CPLDs/FPGAs
(Complex Programmable Logic Devices/Field
Programmable Gate Arrays)
◦ Layout/geração de máscaras para fabricação de ASICs
(Application-Specific Integrated Circuits)
◦ Simulações
Introdução à VHDL
 A tradução de um código descrito em VHDL
para um hardware correspondente é chamada
de síntese;
 Além da síntese, a linguagem VHDL permite a
simulação de circuitos digitais. O código VHDL
escrito para simulalção é chamado de testbench.
Este código não é sintetizável;
 Um dos principais erros cometidos por
iniciantes é pensar em VHDL como uma
linguagem de programação de computadores,
ao invés da descrição de um hardware digital.
Introdução à VHDL

𝑦 = 𝐴ҧ 𝐵ത 𝐶ҧ + 𝐴𝐵ത 𝐶ҧ + 𝐴𝐵𝐶

Estrutura Código VHDL
 Estrutura básica de um código VHDL

Declaração de
bibliotecas/pacotes

Entidade

Arquitetura
Bibliotecas/Pacotes
 Contém uma lista de todas as bibliotecas
e seus respectivos pacotes necessários
para o design.
 Biblioteca é uma coleção de códigos
(packages) comumente utilizados. Desta
maneira, o código pode ser reutilizado e
compartilhado por outros designs.
Bibliotecas/Pacotes - Exemplos
 Library std
◦ Package standard
◦ Package textio
 Library ieee
◦ Package std_logic_1164
◦ Package numeric_std
◦ Package fixed_pkg
Exemplo Código VHDL
C
Circuito
B Y
Combinacional
A

A B C Y
0 0 0 1
0 0 1 0
0 1 0 0 𝑦 = 𝐴ҧ 𝐵ത 𝐶ҧ + 𝐴𝐵ത 𝐶ҧ + 𝐴𝐵𝐶

0 1 1 0
1 0 0 1
1 0 1 1
1 1 0 0
1 1 1 0
Exemplo Código VHDL
Entidade
 Especifica os pinos de entrada e saída do
circuito (ports), além de constantes
genéricas (generic) que são opcionais
Exemplo Código VHDL
Entidade
 O modo do pino pode ser:
◦ IN – Entrada
◦ OUT – Saída
◦ INOUT – Bidirecional
◦ BUFFER – Saída, mas que também é utilizado
internamente
 O tipo do pino pode ser:
◦ BIT, INTEGER, STD_LOGIC, ...
 O PORT é obrigatório em um código
sintetizável, mas em um testbench
(simulação) o port não é declarado, isto é, a
entidade é vazia.
Entidade
 É permitido a declaração de constantes
(GENERIC) antes da declaração dos
pinos. O objetivo é parametrizar o código,
o tornando mais flexível e reutilizável.
 Sintaxe:
Arquitetura
 A arquitetura contém a descrição de
como o circuito deve funcionar ou como
é construído, assim a ferramenta de
síntese determinará o hardware
correspondente.
 Sintaxe:
Exemplo Código VHDL
Exemplo Código VHDL
C Y

Simulação
Funcional

Simulação
Temporal
Exemplo Código VHDL
Multiplexador

a
b x
c
d
sel
Exemplo Código VHDL
Multiplexador

a
b x
c
d
sel
Exemplo Código VHDL
Multiplexador

a
b x
c
d
sel
Exemplo Código VHDL
Multiplexador

a
b x
c
d
sel
Simulação Multiplexador
Exemplo Código VHDL
Flip-Flop-D
Exemplo Código VHDL
Flip-Flop-D
Exemplo Código VHDL
Flip-Flop-D
Exemplo Código VHDL
Flip-Flop-D
Simulação
Flip-Flop-D
Referência bibliográfica
 PEDRONI, V. A. Circuit Design with
VHDL. 2 ed. MIT Press, 2010.

Você também pode gostar