Académique Documents
Professionnel Documents
Culture Documents
LINGUAGEM VHDL
Monitoria de Infra-Estrutura de Hardware
João Paulo Fernandes Barbosa - jpfb
Pontos Abordados
2
Principais tipos
Operadores
Descrição de Entidades e Arquiteturas
Circuitos Síncronos e Assíncronos
Sinais e Variáveis
Decisões: IF ELSE, CASE WHEN e WITH SELECT
Iterações
Formas de Descrição de Circuitos
Máquinas de Estados
Principais Tipos
3
Exemplos:
SIGNAL vetor: std_logic_vector(10 DOWNTO 0);
SIGNAL vetor: std_logic_vector(0 TO 10);
Operadores Lógicos
and, or, nand, nor, xor, xnor
Operadores Relacionais
=, /=, <, <=, >, >=
A >= B;
IF (a /= b) THEN;
OPERADORES
11
Operadores de deslocamento
sll, srl, sla, sra, rol, ror
z <= x sll 1;
sinal_a <= x ror 1;
Operadores de adição
+, -, &
z := x + 1;
s := “0001” & “1000”;
OPERADORES
12
Operadores de sinal
+, -
a <= -b;
Operadores diversos
**, abs, not
sinal_a <= abs( -1.7);
valor := a**2;
Descrição de Entidades e Arquiteturas
13
ENTITY P_Desvios IS
PORT(
ent: IN STD_LOGIC;
clk: IN STD_LOGIC;
rst: IN STD_LOGIC;
sd: OUT STD_LOGIC
);
END P_Desvios;
Descrição de Entidades e Arquiteturas
15
P_Desv ios
ent sd
clk
rst
inst
Descrição de Entidades e Arquiteturas
16
BEGIN
Região para a definição do comportamento do circuito
END Comportamento;
Circuitos Síncronos e Assíncronos
17
BEGIN
sd <= ent;
END Comportamento;
Circuitos Síncronos e Assíncronos
18
Sinais
Variáveis
Variáveis compartilhadas
BEGIN
PROCESS(clk)
Região para definição de tipos e variáveis.
Aqui não define-se sinais.
VARIABLE valor: STD_LOGIC;
BEGIN
END PROCESS;
END Comportamento;
Decisões
24
IF (condição) THEN
END IF;
Decisões
25
IF (condição) THEN
IF (condição) THEN
END IF;
ELSIF (condição) THEN
IF (condição) THEN
ELSE
END IF;
ELSE
END IF;
Decisões
26
CASE estado IS
WHEN estado1 THEN
operações
WHEN estado2 THEN
operações
WHEN estado3 THEN
operações
END CASE;
Decisões
27
CASE sinalA IS
WHEN “00” =>
operações
WHEN “01” =>
operações
WHEN OTHERS =>
pode ter ou não operações
END CASE;
Decisões
28
Loop
Descrição Comportamental
A arquitetura possui um algoritmo que descreve o comportamento do
circuito gerando respostas a partir de estímulos externos.
Descrição Estrutural
A arquitetura possui um conjunto de componentes interligados através
de sinais. Esses circuitos devem ter sido descritos anteriormente.
Formas de Descrição de Circuitos
34
Descrição estrutural
COMPONENT Banco_reg IS
PORT(
Clk : IN STD_LOGIC;
Reset : IN STD_LOGIC;
RegWrite : IN STD_LOGIC;
ReadReg1 : IN STD_LOGIC_VECTOR (4 downto 0);
ReadReg2 : IN STD_LOGIC_VECTOR (4 downto 0);
WriteReg : IN STD_LOGIC_VECTOR (4 downto 0);
WriteData : IN STD_LOGIC_VECTOR (31 downto 0);
ReadData1 : OUT STD_LOGIC_VECTOR (31 downto 0);
ReadData2 : OUT STD_LOGIC_VECTOR (31 downto 0);
);
END COMPONENT ;
Formas de Descrição de Circuitos
36
Definição
Exemplo:
TYPE estados IS ( inicia, busca, opera);
SIGNAL estado: estados;
CASE estado IS
WHEN inicia =>
--seqüência de operações
estado <= busca;
WHEN busca =>
--seqüência de operações
estado <= opera;
WHEN opera =>
--seqüência de operações
estado <= inicia;
END CASE;
Dica para o Projeto
39
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_ARITH.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
Referência
40