Sei sulla pagina 1di 12

hardwaredescriptionlanguage:HDL

O QUE É UM SISTEMA?

Executa uma função com base em


ais : Y2007/08

estímulos internos e/ou externos


Interligação de “módulos” que
podem ser elementares ou não
não.

L
Descrito de forma Hierarquizada, em
mas Digita

camadas,
d a partir
ti dde ffunções
õ mais
i
elementares
ho, J.P. @ Sistem

Vários níveis de complexidade

Modelação
M d l ã com dif
diferentes
t níveis
í i dde
abstracção
Coelh

Equações Diferenciais
hardwaredescriptionlanguage:HDL
2
SISTEMA GENÉRICO...

ENTRADAS A Transformação define o


SAÍDAS comportamento...
TRANSFORMAÇÃO
Um sistema pode ser decomposto em
ais : Y2007/08

sub-sistemas ou MÓDULOS

L
Sistema Digital como caso particular
de um sistema.
mas Digita

É neste contexto que as linguagens de


descrição para Hardware aparecem
ho, J.P. @ Sistem

VHDL – VHSIC @HDL

Presentemente as ferramentas de Software são uma componente essencial


no projecto de sistemas digitais.

-Melhoram
Melhoram a produtividade
Coelh

-Capacidade de prever o comportamento final


hardwaredescriptionlanguage:HDL
3
VHDL – VHSIC @HDL

VHSIC-HDL
Very High Speed Integrated Desenvolvido nos
Circuit Hardware Description
Language meados dos anos 80
pelo DoD e IEEE
ais : Y2007/08

L
Começou por ser uma linguagem para
modelação e documentação.
VHDL Presentemente existem ferramentas de
síntese baseadas em VHDL.
mas Digita

- Linguagem muito Descritiva


-Com reminiscências de Pascal e Ada
ho, J.P. @ Sistem

- Decomposição Hierárquica do projecto


-CASE INSENSITIVE
- Cada elemento possui uma Interface e
um Comportamento
- O comportamento pode ser especificado
por um algoritmo ou estrutura - Presentemente apenas definida para
- Temporização, concorrência e sistemas digitais
sequenciação podem ser modelados - Alguns esforços para estender para
- As operações lógicas podem ser sistemas analógicos e híbridos
Coelh

simuladas
hardwaredescriptionlanguage:HDL
4
ENTIDADE vs. ARQUITECTURA

Sistema Decomposto em MÓDULOS


ais : Y2007/08

L
mas Digita

Em VHDL a cada
módulo é dado o
nome de entidade
ho, J.P. @ Sistem

(ENTITY)

- As entradas e saídas das entidades são designadas por portas (PORT)..


- Cada sub-
sub-Módulo é uma instância de uma entidade
- Cada instância é uma entidade
entidade.
Coelh

- As entidades estão ligadas por sinais (SIGNAL


(SIGNAL))
hardwaredescriptionlanguage:HDL
5
ENTIDADE vs. ARQUITECTURA

Entidade Arquitectura
ais : Y2007/08

declaração das
entradas/saídas de descrição detalhada da

L
um módulo estrutura interna
i d
do
módulo e seu
comportamento
mas Digita
ho, J.P. @ Sistem

- Uma arquitectura pode usar várias


entidades
- Diversas
Di arquitecturas
it t podem
d usar
a mesma entidade
Coelh

Estrutura Hierárquica de Desenho


hardwaredescriptionlanguage:HDL
6
- Os módulos podem ser descritos de várias formas distintas
- Dependendo da aplicação pode não descrever, internamente, a forma
exacta mas apenas o seu comportamento.
- O VHDL permite que o comportamento seja definido em forma de um
programa executável.
ais : Y2007/08

Conceitos Associados ao VHDL

L
Análise e Simulação
Síntese INTERFACES
mas Digita

COMPORTAMENTO
“Test Bench”
ho, J.P. @ Sistem

MODELAÇÃO DE INTERFACES

ENTIDADE

Descreve as PORTAS de I/O de um MÓDULO


Coelh
hardwaredescriptionlanguage:HDL
7

ais : Y2007/08

L
nome da entidade tipo do sinal
mas Digita

ENTITY porta_and IS
ho, J.P. @ Sistem

PORT(A B: IN BIT;Z: OUT BIT);


PORT(A,B:
END porta_and

nome da portas direcção do sinal identifica o final da declaração

As p
palavras em maiúsculas são reservadas.
Coelh
hardwaredescriptionlanguage:HDL
8
MODELAÇÃO DE COMPORTAMENTOS

ARQUITECTURA

Descreve o algoritmo executado pelo MÓDULO


É dividida em duas partes principais
ais : Y2007/08

- Parte Declarativa
- Parte Descritiva

L
nome da arquitectura nome da entidade

Comp
e um valor a um ssinal
mas Digita

paração de
ARCHITECTURE porta_and_arch OF porta_and IS

Vallor Lógico
BEGIN
ho, J.P. @ Sistem

d um Siinal com um
Z<='1' AFTER 10 ns WHEN A='1' and B='1’
ELSE '0' AFTER 10 ns;
buição de

o
END porta_and_arch
Atrib
Coelh

definição de tempo
hardwaredescriptionlanguage:HDL
9 ENTITY mAND IS
GENERIC(tp:TIME:=10 ns); -- tp - tempo de propagação
PORT(A,B: in BIT; Z: out BIT);
END ENTITY mAND;
ARCHITECTURE mAND_arch of mAND IS
BEGIN
Z<='1' AFTER tp WHEN (A AND B)='1' ELSE '0' AFTER tp;
END mAND_arch;

ENTITY mOR IS
ais : Y2007/08

GENERIC(tp:TIME:=10 ns); -- tp - tempo de propagação


PORT(A,B: in BIT; Z: out BIT);
END ENTITY mOR;

L
ARCHITECTURE mOR_arch of mOR IS
BEGIN
Z<='1' AFTER tp WHEN (A OR B)='1' ELSE '0' AFTER tp;
END mOR_arch;
mas Digita

ENTITY mNOT IS
GENERIC(tp:TIME:=10 ns); -- tp - tempo de prop.
PORT(A: in BIT; Z: out BIT);
END ENTITY mNOT;
ho, J.P. @ Sistem

ARCHITECTURE mNOT_arch of mNOT IS


BEGIN
Z<='1' AFTER tp WHEN (NOT A)='1' ELSE '0' AFTER tp;
END mNOT_arch;
Coelh
hardwaredescriptionlanguage:HDL
10
SIMULAÇÃO DO COMPONENTE

TEST BENCH ENTITY testbench IS


END testbench;
ARCHITECTURE testbench_arch OF testbench IS
Definição dos componentes do COMPONENT mAND
PORT(A,B: in BIT; Z: out BIT);
sistema END COMPONENT;
COMPONENT
COMPONENT mOR
Identifica as portas dos componentes
ais : Y2007/08

PORT(A,B: in BIT; Z: out BIT);


Parâmetros de simulação são END COMPONENT;
ppassados como GENERIC COMPONENT mNOT

L
PORT(A: in BIT; Z: out BIT);
END COMPONENT;
Cria 8 sinais do tipo booleano SIGNAL AA,BB,CC,SI1,SI2,SI3,SI4,ZZ:BIT;
BEGIN
AA<='0';
0 ;
mas Digita

BB<='1';
Comentários após dois hífens -- Instanciar componentes
seguidos porta1: mOR PORT MAP (A=>AA,B=>CC,Z=>SI1);
porta2: mNOT PORT MAP (A=>BB,Z=>SI2);
ho, J.P. @ Sistem

porta3: mNOT PORT MAP (A=>CC,Z=>SI3);


(A=>CC Z=>SI3);
porta4: mOR PORT MAP (A=>SI2,B=>SI3,Z=>SI4);
Cria um processo (sem lista de porta5: mAND PORT MAP (A=>SI1,B=>SI4,Z=>ZZ);
teste:PROCESS
sensibilidades) dentro da arquitectura
BEGIN
CC<='0';
Note-se como é feita a afectação dos WAIT FOR 100 ns;
sinais... CC<='1';
WAIT FOR 100 ns;
Observe a figura do acetato anterior...
Aguarda 100 nanosegundos....
nanosegundos CC<='0';
;
Coelh

WAIT FOR 100 ns;


END PROCESS teste;
END testbench_arch;
hardwaredescriptionlanguage:HDL
11
RESULTADOS DE SIMULAÇÃO

AA<=0, BB<=1
CC=0->1
ais : Y2007/08

L
Uma versão alternativa mais compacta...
mas Digita

ENTITY testbench IS
END testbench;
ARCHITECTURE testbench_arch OF testbench IS
ho, J.P. @ Sistem

SIGNAL A,B,C,Z,nC,nB,PSI,FI : BIT;


BEGIN
A<='0';
B<='1';
C<='0','1' AFTER 100 ns,'0' AFTER 200 ns;
nC<=NOT C AFTER 10 ns;
nB<=NOT B AFTER 10 ns;
FI<=A OR C AFTER 10 ns;
Coelh

PSI<=nB OR nC AFTER 10 ns;


Z<=FI AND PSI AFTER 10 ns;
END testbench_arch;
hardwaredescriptionlanguage:HDL
12
Outro Exemplo: Registo de 4 bits

- Modelar comportamento Latch D


(td=2ns)
- Modelar comportamento gate
(td=2ns)
ais : Y2007/08

- Modelar registo

L
- Testar Registo
mas Digita
ho, J.P. @ Sistem
Coelh

FIM

Potrebbero piacerti anche