Sie sind auf Seite 1von 39

Sistemas Digitais

Prof. Rodrigo de Souza Vieira UNISUL

Definio de um sistema
Entradas e sadas Objetivo Analgicos ou Digitais

Sistemas Analgicos
Os sinais processados variam no tempo dentro de uma faixa pr-estabelecida, de forma contnua. Exemplos

od

rig

de

So

uz

Sistemas

Vi

ei

ra

Sistemas Digitais
Os dados processados variam no tempo dentro de valores pr-estabelecidos Exemplos

Facilidade do projeto
Chaveamento

Armazenamento da informao
informao pode ser retida

Preciso
maior preciso software mais circuitos

Operaes programveis

tolerantes a rudos de tenso

Integrao
CIs

Mas...
... o mundo no digital!! O que fazer para trabalhar com sistemas digitais em um mundo analgico??

od

rig

Robustez

de

So

uz

Vantagens dos Sistemas Digitais

Vi

ei

ra

Soluo
Converter entradas analgicas em digitais Processar e operar os dados digitalmente

Converter as sadas digitais em analgicas

Sncrono
dados mudam em intervalos constantes de tempo

Assncrono
dados mudam a qualquer instante

Componentes de Sistemas Digitais - Portas Lgicas


Elemento autnomo que dada uma combinao de entradas, gera uma sada nica Base para circuitos combinacionais

od

rig

de

So

uz

Sistemas Sncronos e Assncronos

Vi

ei

ra

Componentes de Sistemas Digitais - Flip-Flops


Dispositivo que armazena 0 ou 1 Mudanas em determinado instante por meio de um clock Base para circuitos seqenciais

CAD
esquemticos

teste e validao

Programadores

Componentes de Sistemas Digitais : CIs


Conjunto de portas sob um mesmo encapsulamento Podem ser do tipo:
SSI - 1 a 20 portas MSI - 21 a 200 portas
Registradores, contadores

LSI - 201 a 200.000 portas


pequenas memrias e PLDs

VLSI - acima de 200.000 portas


microprocessadores e memrias

od

rig

HDL ( Hardware Description Language)

de

Simuladores

So

uz

Componentes de Sistemas Digitais : Softwares

Vi

ei

ra

Representao de dados
Nmeros binrios
1010111101101011

Nmeros decimais
8769383.98792

Divises sucessivas do quociente

Converso de binrio para decimal


Passando de binrio para decimal
Multiplicaes sobre a base 2 Exemplo: converter 1111010 para decimal
(1*26)+(1*25)+(1*24)+(1*23)+(0*22)+(1*21)+ (0*20) 64 + 32 + 16 + 8 + 0 + 2 + 0 = 122

od

rig

Exemplo: Converter 122 para binrio 122 2 0 61 2 O processo acaba O processo acaba 1 30 2 quando o quociente quando o quociente tem valor 1, tem valor 1, 0 15 2 1 7 2 1 3 2 1 1

de

So

uz

Converso de decimal para binrio

Vi

ei

ra

Exerccios
Converta os sinais de acordo com a notao solicitada.

Sistemas Combinacionais
lgebra Booleana e Conjuntos lgicos completos

lgebra de Boole
Anlise formal para circuitos digitais
Georges Boole (1815-1865).

Em 1854, ele inventou um sistema algbrico de dois valores, agora chamado lgebra Booleana. Usando esta lgebra, pode-se formular proposies que:
so verdadeiras ou falsas, combin-las para fazer novas proposies e determinar se as novas proposies so verdadeiras ou falsas.

od

rig

de

So

uz

Vi

ei

ra

Variveis da lgebra de Boole


Ns usamos uma varivel simblica (ex. A) para representar a condio de um sinal lgico, que pode assumir um dos dois valores possveis : 0 ou 1 Sistema dicotmico A lgebra baseada em teoremas e propriedades (axiomas)

3 tipos podem descrever qualquer tipo de circuito


AND, OR e NOT

As portas com inversores


NAND e NOR
Apresentam o inversor na sada do sinal Permitem as 3 operaes lgicas anteriormente descritas

od

rig

de

So

uz

Portas Lgicas

Vi

ei

ra

Teorema de Morgan
Permite escrever circuitos equivalentes alterando entre as portas NAND e NOR

( A + B) = A B ( A B) = A + B

A+ AB = A+ B A+0 = A A 1 = A A +1 = 1 A+ A = A A+ A =1 A0 = 0 A A = A A A = 0

Simplifique as equaes
1) A B + A B resp. A 2) A B C + B C resp. B C 3) ( A + B + C ) + ( B + C ) resp. 0
4) ( A + B + C ) ( A + B ) resp. A + B 5) A B + A B C + A B C resp. ( A B )

od

rig

A= A A (B + C) = A B + A C A + ( B C ) = ( A + B) ( A + C )

de

So

A + A B = A

uz

Outras identidades booleanas

Vi

ei

ra

Tabelas verdade
Toda equao booleana pode ser representada por uma tabela verdade e vice-versa 2n linhas dada n variveis Uma soma de produtos (SDP) uma soma lgica de termos produtos.
AD + ABC

Um produto de somas (PDS) um produto lgico de termos soma.


(A+D) (A+B+C).

Um minitermo um produto completo de nvariveis


Ex. para 3 variveis:
A B C , D EF

Minitermos,maxitermos e tabela verdade


Usaremos a denominao
Mi para maxitermos mi para minitermos

Dada uma tabela verdade, os minitermos so aqueles que o resultado 1 e os maxitermos so aqueles em que o resultado 0

od

rig

Ex. para 3 variveis: A + B + C ,

Um maxitermo uma soma completa de nvariveis


D+E+F

de

So

uz

Minitermos e Maxitermos

Vi

ei

ra

Exemplo de maxitermos e minitermos


A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 C 0 1 0 1 0 1 0 1 mi
ABC
ABC A BC A BC AB C AB C ABC ABC

Mi
A+ B +C A+ B +C A+ B +C A+ B +C A + B+C A + B+C A + B +C A + B +C

Equaes booleanas a partir de minitermos


Se a tabela apresentada no slide anterior gerar a funo sada F=(1000 1011), podemos representar a equao como:
F = m7 + m3+ m1+m0 = m(0,1,3,7)

Observe que o ndice i do minitermo o ndice binrio da funo de sada!! A esta frmula se d o nome de soma cannica de uma funo

od

rig

Ex: 000 = 0, 101 = 5

de

Um minitermo de n-variveis pode ser representado por um inteiro de n-bit Para se chegar a este nmero, deve-se verificar a representao binria do minitermo.

So

uz

Representando minitermos

Vi

ei

ra

10

Equaes booleanas a partir de Maxitermos


Para o mesmo exemplo, dada a funo sada F = =(1000 1011), tambm poderemos representar a equao como
F = M6 + M5+ M4 + M2 = M (2,4,5,6)

Observe que o ndice i do Maxitermo o ndice binrio da funo de sada!! A esta frmula se d o nome de produto cannico de uma funo

Mapas de Karnaugh
Para 4 variveis...

od

rig

de

Surgiu da observncia que pares de minitermos que diferenciam de somente uma varivel podem ser simplificados Exemplo para 3 variveis

So

uz

Mapas de Karnaught

Vi

ei

ra

11

Exerccios
Ache o produto cannico e a soma cannica das equaes abaixo:
a ) ABC + ABD + A BC b) AC + BD + AB c) ABD + A B C

Simplifique por Karnaught as equaes abaixo:


G ( A, B, C , D ) = m(3,5,7,9,13) F ( A, B, C ) = m(0,1,3,4,5)

H ( A, B, C , D ) = m(0,1,2,3,4,5,12,13,14,15) I ( A, B, C , D ) = M (3,4,5,9,13)

Conjunto lgico completo


o que nos permite criar qualquer funo lgica utilizando apenas as funes do conjunto
NOT, AND NOT, OR NOT, AND e OR

od

rig

de

So

uz

Exerccios

Vi

ei

ra

12

Outros conjuntos lgicos completos


Aplicando uma simplificao nos dois primeiros conjuntos, podemos definir tambm os conjuntos completos
NOR e NAND

Prove que possvel montar uma porta OR usando o conjunto NOT,AND


Defina a expresso: A+B

Arranjos lgicos

od

rig

Defina a expresso AB+C

Da mesma forma, usando o conjunto NOT,OR

de

So

uz

Exerccio

Vi

ei

ra

13

Arranjos lgicos
So geralmente circuitos dados atravs de matrizes de portas lgicas e permitem criar sadas que produzam minitermos especficos

Crie um arranjo que gere a funo sada como:


f = m(0,2,4,7)

Observe que teremos os minitermos:

O Circuito de um arranjo lgico


A B C m7 m4 m2 m0

od

rig

m0 = A B C

m2 = A BC

m4 = AB C

de

m7 = ABC

So

uz

Exemplo de arranjo lgico

Vi

ei

ra

14

Arranjos programados
Os arranjos programados so arranjos lgicos que podem gerar sadas definidas em conjuntos pr-estabelecidos de minitermos Dividem-se em dois tipos
O arranjo SDP O arranjo PDS

A B C Minitermos

f1 f2 f3

Arranjo PDS

Arranjo OR

A B C Maxitermos

od

rig

Arranjo AND

f1 f2 f3

de

Arranjo AND

Arranjo OR

So

uz

Arranjo SDP

Vi

ei

ra

15

Exemplo
Criar um PLA que fornea as seguintes funes de sada
f = ABC + A B C + AB C g = AB C + A B C + A BC

De outra forma podemos dizer que:


g = m(1,2,5) f = m(0,4,7)

m7 m5 m4 m2 m1 m0

rig

Simplificando o grfico do circuito anterior


A B C m7 m5 m4 m2 m1 m0 f g

od

de

So

uz

O Circuito do exemplo

Vi

ei

ra

16

Exerccio
Monte o PLA para um display de 7 seguimentos conforme mostrado abaixo
a f e d g c b

Aplicao
Faa um conversor de BCD (Binary Coded Decimal ) para binrio utilizando um PLA. Lembre-se que o BCD utiliza 4 bits para representar um nmero de 0 a 9. Utilize no circuito dois dgitos BCD e 8 bits de sada. Trabalhe apenas com os valores positivos e resolva o problema para o espectro 0 -15 em decimal.

od

rig

=3

de

Faa um contador digital que transforme o valor binrio em uma barra de leds como mostrado abaixo. Utilize um PLA e defina com o nmero de entradas mnimas necessrias.

So

uz

Exerccio 02

Vi

ei

ra

17

PLA x PAL
PLA
Portas AND e OR programveis

PAL
Portas AND programveis e OR fixas

16L8
Mais comum 10 entradas e 8 sadas

Variaes
GAL: Generic Array Logic
Similar ao PAL Pode ser reprogramado (similar a EEPROM)

CPLD : Complex Programmable Logic Device


Maior nmero de portas do que os PALs e GALs Uso de VHDL para programao

od

rig

Elemento fusvel

Programao por meio de Programador Universal

de

So

uz

PAL comercial

Vi

ei

ra

18

Circuitos Combinacionais

Etapas do projeto de um circuito combinacional


1 - escolher um smbolo para cada varivel de entrada e para cada varivel de sada; 2 - a partir da especificao do problema, determinar a tabela verdade (caso j no faa parte da especificao do problema); 3 - simplificar as equaes se possvel; 4 - associar ao conjunto de portas disponvel (se for o caso); 5 - desenhar o circuito final

od

rig

n entradas

m sadas ou ...equaes booleanas

de

Circuito combinacional

So

uz

Viso geral

Vi

ei

ra

19

Exemplo
Criar um circuito que descreva o seguinte problema: Dadas 3 entradas lgicas, o valor de sada ser verdadeiro se somente um nmero par de entradas for verdadeiro.

Tendo somente CIs do tipo 7401 - 4 portas do tipo NAND, remonte o circuito do exemplo anterior.

Circuitos elementares
Decodificador
Dada uma entrada binria, este tipo de circuito somente habilita um sinal de sada Nomenclatura Decodificador n X m, onde m 2n Smbolo

od

rig

de

So

uz

Exerccio

Vi

ei

ra

20

Decodificador - circuito

Multiplexador - Circuito

od

rig

de

Dado um conjunto de m entradas, o multiplexador capaz de selecionar uma delas. dado como Mux m-1 Smbolo

So

uz

Multiplexador

Vi

ei

ra

21

Somadores
Em sistemas binrios podemos encontrar dois tipos de somadores
Meio somador - soma apenas 2 bits Somador completo - soma 2 bits mais o carry

Trabalha com a seguinte tabela verdade:


A 0 0 1 1 B 0 1 0 1 S 0 1 1 1 C out 0 0 0 1

Somador completo (full adder)


Utiliza o carry de entrada, baseandose na tabela verdade ao lado

od

rig

de

So

uz

Meio somador (half adder)

Vi

ei

ra

22

Somador/subtrador
Adotando uma porta XOR na entrada do somador completo, pode-se criar um somador/subtrador binrio

VHDL
Conceitos bsicos

Origem
Anos 70 - DoD cria o projeto VHSIC (Very High Speed Integrated Circuits) Anos 80 - Criada uma linguagem para descrever os VHSIC 1987 - VHDL (VHSIC Hardware Description Language) torna-se padro pela IEEE

od

rig

de

So

uz

Vi

ei

ra

23

Utilizao da VHDL
Linguagem para descrever sistemas digitais Especificar Simular e Sintetizar sistemas digitais Existem outras linguagens
Verilog, SystemC, SDL, ISP, etc..

Especificao de sistemas digitais


Projeto independente do hardware Padro para ferramentas de CAD Flexibilidade Fcil manuteno Simulao dos circuitos

Mais vantagens
Sob o ponto de vista do nvel fsico
Reduz tempo e custos de projeto Elimina erros de projeto Diminui o Gap de mercado

od

rig

de

So

uz

Vantagens

Vi

ei

ra

24

Desvantagens
Hardware pode no ter melhor otimizao Necessidade de treinamento de pessoal

possvel uma anlise tanto top-down como bottom-up

Exemplo de cdigo
entity counter is port (count : buffer bit_vector(8 downto 1); clk : in bit; reset : in bit); end; begin for i in input'low to input'high loop result(i) := input(i) xor carry; carry := input(i) and carry; exit when carry = '0'; end loop; return result; end increment; architecture only of counter is begin ctr: constant tpd_reset_to_count : time := 10 ns; process(clk, reset) constant tpd_clk_to_count : time := 5 ns; begin if (reset = '1') then function increment(val : bit_vector) return bit_vector if reset'event then is count <= (others => '0') after tpd_reset_to_count; -- normalize the indexing end if; alias input : bit_vector(val'length downto 1) is val; elsif clk'event and (clk = '1') then variable result : bit_vector(input'range) := input; count <= increment(count) variable carry : bit := '1'; after tpd_clk_to_count; end if; end process; end only;

od

rig

de

So

uz

Abstrao da linguagem

Vi

ei

ra

25

VHDL mais que uma linguagem


Permite
Paralelismo entre componentes Comunicao entre processos paralelos Temporizao Simulao Testbench

Palavras reservadas Palavras reservadas

Tipos Tipos

rig

Operadores Operadores Sintaxe

Palavras reservadas da VHDL

od

de

So

uz

Estrutura de uma linguagem

Vi

ei

ra

26

Tipos: Nmeros
Existem os nmeros inteiros
10 4567 101

E os nmeros reais
1.05 0.003 3.45E10

Bit
assume valor 0 ou 1

Boolean
Assume valores true ou false

Tipos: Fsicos
Physical
Definem uma grandeza fsica como voltagem, tempo, etc... Tipos mais comuns:
ps, ns, ms, sec, min, hr

od

rig

de

So

uz

Tipos: Lgicos

Vi

ei

ra

27

Tipos: Sinal
Serve para conectar dois componentes Funciona internamente em uma entidade Sintaxe:
signal nome : tipo;

Os caracteres so definidos utilizando aspas simples


Ex. a 2 :

Tipos: Usando outras bases


Para se utilizar nmeros em outras bases, deve-se utilizar o conceito de String, assim para base:
Binria
ex.: B00110

Octal
ex.: O7710

Hexadecimal
ex.: XAA20

od

rig

Ex. Isto eh uma String

As Strings so conjuntos de caracteres e so definidas usando aspas duplas

de

So

uz

Tipos: Caracteres e String

Vi

ei

ra

28

Operadores
+ adio subtrao / diviso = igualdade < menor que > maior que & concatenador | barra vertical ; terminador ( ) parenteses < > caixa : ** => := /= >= <= <= -separador de tipo aspas dupla aspas simples exponenciao ento... ou recebe atribuio desiguladade maior ou igual a menor ou igual a associo para valor de sinal comentrio

Elementos da VHDL
Comentrios
Marcados aps dois traos --
Ex.: read (dados, bit01); -- coloca dados em bit01

Identificadores
Servem para determinar sinais e processos
Precisa comear sempre com uma letra No pode terminar com sublinhado No pode ter dois sublinhados em seqncia Pode conter qualquer letra, nmero e o sublinhado

od

rig

de

So

uz

Mais operadores

Vi

ei

ra

29

Constantes e variveis
Todo valor deve ser declarado antes de seu uso Uma constante declarada utilizando a palavra reservada constant.
Ex.: constant pi :=3.141592653; -- define o valor de Pi

Uma varivel declarada utilizando a palavra reservada variable. Operador de


Ex.: variable contador : integer := 0;
atribuio

Exemplos:
type valor_leitura is range -5.0 to 5.0; type unidades is range 1 to 10;

Tipos enumerados e vetores


Os tipos enumerados so um conjunto de possveis valores assumidos pela varivel
Ex.: type display is(0,1,2,3,4,5,6);

J os vetores so definidos pela palavra is array e determinam um conjunto de valores associados varivel
Ex.: type imagem is array (1 to10) of integer type imagem2 is array(1 to 5, 1, to 5) of bit

od

rig

Define a faixa de uso da varivel

de

So

uz

Usando os tipos

Vi

ei

ra

30

Tipos estruturais
Os tipos estruturais so aqueles que apresentam subtipos na sua declarao. So definidos atravs da palavra is record
Ex.: type horario is record segundo : integer range 0 to 59; minuto: integer range 0 to 59; hora: integer range 0 to 23 end record horario

Estruturas de controle de fluxo: o if-else


Ex. if sinal = 1 and entrada = 0 then saida := valor_desejado; else saida := 0; endif O else pode ser substituido pelo elseif para outros testes.

od

rig

saida := valor_desejado; endif

de

Definem em qual sentido o fluxo do programa dever seguir if e if-else Ex. if sinal = 1 then

So

uz

Estruturas de controle de fluxo : o if

Vi

ei

ra

31

Estruturas de controle de fluxo: o case


Para variveis de valores discretos, similar ao if-else Ex.: case entrada is when 0 => led1 :=0; when 1=> when 2=> endcase led2 :=0; led1 := 1; led2:= 0; led1 := 0; led2:= 1;

Estruturas de repetio: while-loop


um loop com teste de condio no incio Ex.: while entrada < valor_minimo loop ..... endloop;

od

rig

.... endloop

de

Define um loop infinito no cdigo Utiliza a palavra exit para sair do loop Ex.: loop exit when sinal = 1;

So

uz

Estruturas de repetio: loop

Vi

ei

ra

32

Estrutura de repetio: for-loop


Executa um loop com um nmero definido de repeties Ex.: for i in 1 to 100 loop ..... endloop;

wait on x; wait until x= 3;


Espera at que x tenha valor 3

Espera at que haja uma mudana na varivel x

wait 100 ns;


Espera 100 nano segundos

Estrutura de um programa VHDL

od

rig

de

Utiliza-se vrgula Utiliza-se vrgula para adicionar para adicionar mais flags. mais flags.

So

uz

Comando de espera: wait

Vi

ei

ra

33

Entity
A entidade o elemento bsico da VHDL Conceito de caixa-preta Associa entradas e sadas com seus respectivos tipos

VHDL VHDL

entity porta_simples is entity porta_simples is

Architecture
Define o comportamento da Entidade Uma mesma Entidade pode ter mais de uma arquitetura Baseia-se em dois modelos
Comportamental Estrutural

od

rig

end porta_simples end porta_simples

port(a,b,c :: in bit; port(a,b,c in bit; f: out bit); f: out bit);

de

So

uz

Entendendo a descrio de hardware

Vi

ei

ra

34

Entendendo a descrio da Arquitetura


Sintaxe
architecture nome_da_arquitetura of nome_da_entidade is architecture nome_da_arquitetura of nome_da_entidade is <declaraes de tipos> <declaraes de tipos> <declarao de sinais> <declarao de sinais> <declarao de constantes> <declarao de constantes> <definio de funes> <definio de funes> <definio de procedimentos> <definio de procedimentos> <declarao de componentes> <declarao de componentes> begin begin ...... ...... end nome_da_arquitetura; end nome_da_arquitetura;

Declaraes podem aparecer em qualquer ordem

Exemplo de uma funo


function ButNot (A, B : bit) return bit is begin if B=0 then return A; else return 0; end if; end ButNot;

od

function nome_da_funo( nome_sinal ::tipo_de_sinal; function nome_da_funo( nome_sinal tipo_de_sinal; nome_sinal ::tipo_de_sinal) nome_sinal tipo_de_sinal) return tipo_des_sinal is return tipo_des_sinal is <declaraes de tipos> <declaraes de tipos> <declarao de sinais> <declarao de sinais> <declarao de constantes> <declarao de constantes> <definio de funes> <definio de funes> <definio de procedimentos> <definio de procedimentos> <declarao de componentes> <declarao de componentes> begin begin ...... ...... end function nome_da_funo; end function nome_da_funo;

rig

de

Funo: recebe um conjunto de parmetros e retorna um dado Sintaxe de uma funo

So

uz

Funes e procedimentos

Vi

ei

ra

35

Procedimentos
Um procedimento uma funo que no retorna valor e podem receber ou no parmetros
procedure nome_do_procedimento(nome_sinal ::tipo_de_sinal; procedure nome_do_procedimento(nome_sinal tipo_de_sinal; nome_sinal ::tipo_de_sinal) nome_sinal tipo_de_sinal) is is <declaraes de tipos> <declaraes de tipos> <declarao de sinais> <declarao de sinais> <declarao de constantes> <declarao de constantes> <definio de funes> <definio de funes> <definio de procedimentos> <definio de procedimentos> <declarao de componentes> <declarao de componentes> begin begin ...... ...... end procedure nome_da_funo; end procedure nome_da_funo;

Parsers
http://home.wtal.de/software-solutions/vhdl-parser/ http://www.ti.informatik.uni-frankfurt.de/grimm/hybrid.html

Compiladores
http://www-asim.lip6.fr/recherche/alliance/ http://www.gnu.org/software/electric/electric.html http://www.cliftonlabs.com/savant/download/

http://www.symphonyeda.com/products.htm

Componentes
Para representar estruturas do tipo

Utiliza-se o conceito de componente para cada mdulo do circuito

od

rig

Ambientes

de

So

uz

Internet

Vi

ei

ra

36

Componentes
Utiliza-se componentes como forma de modularizar o cdigo. So utilizados dentro da arquitetura do sistema So definidos como:
componente Nome is... .... end component;

Neste caso...
cada mdulo um component se comunicam atraves de signal e cada signal mapeado atravs de port map

Usando componentes
Montar o circuito:

od

rig

de

So

uz

Usando componentes

Vi

ei

ra

37

Definindo os componentes
Primeiramente se define as entidades em arquivos separados:

-- componente 1 entity PORTA_AND is port( A: in bit; B: in bit; F1: out bit ); end PORTA_AND; architecture processa of PORTA_AND is begin F1 <= A and B; -- comportamento end processa;

-- componente 2 entity PORTA_OR is port( X: in bit; Y: in bit; F2: out bit ); end PORTA_OR; architecture processa of PORTA_OR is begin F2 <= X or Y; -- comportamento end processa;

architecture estrutura of CIRCUITO is component PORTA_AND is port( A: in bit; B: in bit; F1: out bit ); end component; component PORTA_OR is port( X: in bit; Y: in bit; F2: out bit ); end component; -- PORTA_AND

signal ligacao: bit; -- signal de ligao begin -- mapeando as entradas porta1: PORTA_AND port map (A=>input1, B=>input2, F1=>ligacao); porta2: PORTA_OR port map (X=>ligacao, Y=>input3, F2=>output); end estrutura;

-- PORTA OR

Testando o circuito
Uma das vantagens do VHDL possibilitar o teste da lgica do circuito Para tal se cria uma nova entidade cujo componente principal o circuito a ser testado. Deve-se definir um conjunto de sinais que sero colocados no circuito para gerar a sada

od

rig

Observe que: a)O nome do componente e seus membros deve ser o mesmo da entidade b) O sinal ligao serve para conectar os componentes c)port map utilizado para associar as entradas da entidade com a dos componentes

de

So

entity CIRCUITO is port( input1: in bit; input2: in bit; input3: in bit; output: out bit ); end CIRCUITO;

uz

Definindo o circuito

Vi

ei

ra

38

O cdigo do teste
entity CIRCUITO_TESTA is end CIRCUITO_TESTA; -- entidade vazia begin -- mapeia as portas e sinais teste: CIRCUITO port map (input1=>T_input1,input2=>T_input2,input3=>T_input3, output =>T_output); process begin -- define um processo architecture BENCHTEST of CIRCUITO_TESTA is component CIRCUITO is -- declara o circuito como port( input1: in bit; -- componente da entidade input2: in bit; -- sempre levando em input3: in bit; -- conta o mesmo nome output: out bit ); end component; -- define os sinais de teste para o programa signal T_input1, T_input2, T_input3,T_output: bit;

-- primeiro caso T_input1 <= '0'; T_input2 <= '0'; T_input3 <= '0'; wait for 100 ns; -- segundo caso T_input1 <= '1'; T_input2 <= '1'; T_input3 <= '1'; wait; end process; end BENCHTEST; ------------------------------------------------------------------configuration CFG_TESTE of CIRCUITO_TESTA is for BENCHTEST end for; end CFG TESTE;

Determina qual arquitetura ser utilizada e tem o corpo dado como:


configuration NomeConf of Estrutura is for NomeArquitetura end for; end NomeConf;

Usando o Symphony Sonata


Ver tutorial...

od

rig

de

So

uz

Configuration

Vi

ei

ra

39