Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
COMPUTADORES I
2 / 16
3 / 16
Benefcios / Desvantagens
Benefcios
Projetos independentes da tecnologia (implementao fsica postergada)
Ferramentas de CAD compatveis entre si
Flexibilidade: re-utilizao, escolha de ferramentas e fornecedores
Facilidade de atualizao dos projetos
Explorao em alto nvel de abstrao permite analisar diferentes
alternativas de implementao
Verificao do comportamento do sistema digital atravs de simulao
Reduo do tempo de projeto reduz time-to-market reduo de custo
Linguagem fortemente tipada elimina erros de baixo nvel
Desvantagens
Hardware gerado menos otimizado
Controlabilidade/Observabilidade de projeto reduzidas
4 / 16
Nveis de Abstrao
Permite descrever hardware em diversos nveis de abstrao
Algortmico, ou Comportamental
Transferncia entre registradores (RTL)
Nvel lgico com atrasos unitrios ou sem atrasos
Nvel lgico com atrasos arbitrrios
Exemplo :
5 / 16
library ieee;
use ieee.std_logic_1164.all;
6 / 16
Projeto do usurio
Especificado no estilo RTL
Testbench
Gerao de estmulos
e
Captura de sadas
Projeto RTL
Comparao
Resultados
Resultados esperados
7 / 16
std_logic
Semelhante ao tipo bit, mas permite assumir mais valores que permitem
melhor anlise na simulao
Assume valores {0, 1, X, L, l, H, h, Z, U}
std_logic_vector: tipo que designa um conjunto de bits std_logic
boolean
Assume valores {true, false}
til apenas para descries abstratas, onde um sinal s pode assumir dois
valores
Physical
Representam uma medida: voltagem, capacitncia, tempo
Tipos pr-definidos: fs, ps, ns, um, ms, sec, min, hr
8 / 16
Inteiros
Exemplos: +1 / 1232 / -1234
NO possvel realizar operaes lgicas sobre inteiros (deve-se realizar a
converso explcita)
Character
VHDL no case sensitive, exceto para caracteres.
valor entre aspas simples: a, x, 0, 1,
string: tipo que designa um conjunto de caracteres. Exemplo: vhdl
9 / 16
Variveis e Sinais
Variveis tem comportamento equivalente ao software
So utilizadas apenas em processos, sem temporizao, atribuio
imediata
Exemplo
variable memoria : std_logic_vector (0 to 7);
variable x, y : integer;
10 / 16
z_bus(3)
z_bus(2)
z_bus(1)
z_bus(0)
<=
<=
<=
<=
c_bus(0)
c_bus(1)
c_bus(2)
c_bus(3)
Observao
tamanho dos arrays deve ser o mesmo
elementos so atribudos por posio, pelo nmero do elemento
11 / 16
Expresses
Expresses so frmulas que realizam operaes sobre objetos de
mesmo tipo
resulta em
Menor
PRIORIDADE
Maior
10010011
12 / 16
Exerccios
[
[
[
[
[
[
]
]
]
]
]
]
A := B xor C and D;
H := I and J or K;
A := B and E;
H := I or F;
byte <= (others => 1);
z_bus <= c_bus;
13 / 16
Atribuies Concorrentes
Atribuio de sinais
alu_result <= op1 + op2;
Atribuio de sinais com escolha
with alu_function select
op1 op2
when alu_subtract,
when alu_and,
when others;
14 / 16
15 / 16
Exerccios
1. Faa a descrio de uma porta lgica OU de 4 entradas
2. Refaa o exerccio acima, considerando agora que as
entradas so um array
3. Planeje um circuito com 3 portas lgicas quaisquer, conecte
as mesmas conforme desejado, e depois descreva o
circuito. Este circuito deve ter 3 entradas e 3 sadas
16 / 16