You are on page 1of 39

Sistemas Digitais

Prof. Rodrigo de Souza Vieira UNISUL

• Definição de um sistema
– Entradas e saídas – Objetivo – Analógicos ou Digitais

Sistemas Analógicos
• Os sinais processados variam no tempo dentro de uma faixa pré-estabelecida, de forma contínua. • Exemplos

R

od

rig

o

de

So

uz

Sistemas

a

Vi

ei

ra

1

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

• Facilidade do projeto
– Chaveamento

• Armazenamento da informação
– informação pode ser retida

• Precisão
– maior precisão – software mais circuitos

• Operações programáveis

– tolerantes a ruídos de tensão

• Integração
– CIs

Mas...
• ... o mundo não é digital!! • O que fazer para trabalhar com sistemas digitais em um mundo analógico??

R

od

rig

• Robustez

o

de

So

uz

Vantagens dos Sistemas Digitais

a

Vi

ei

ra

2

Solução
Converter entradas analógicas em digitais Processar e operar os dados digitalmente

Converter as saídas digitais em analógicas

• Síncrono
– dados mudam em intervalos constantes de tempo

• Assíncrono
– dados mudam a qualquer instante

Componentes de Sistemas Digitais - Portas Lógicas
• Elemento autônomo que dada uma combinação de entradas, gera uma saída única • Base para circuitos combinacionais

R

od

rig

o

de

So

uz

Sistemas Síncronos e Assíncronos

a

Vi

ei

ra

3

Flip-Flops • Dispositivo que armazena 0 ou 1 • Mudanças em determinado instante por meio de um clock • Base para circuitos seqüenciais • CAD – esquemáticos – teste e validação • Programadores Componentes de Sistemas Digitais : CIs • Conjunto de portas sob um mesmo encapsulamento • Podem ser do tipo: • SSI . contadores • LSI .1 a 20 portas • MSI .000 portas – microprocessadores e memórias R od rig o – HDL ( Hardware Description Language) de • Simuladores So uz Componentes de Sistemas Digitais : Softwares a Vi ei ra 4 .21 a 200 portas – Registradores.Componentes de Sistemas Digitais .000 portas – pequenas memórias e PLDs • VLSI .acima de 200.201 a 200.

tem valor 1.Representação de dados • Números binários – 1010111101101011 • Números decimais – 8769383.98792 • Divisões sucessivas do quociente Conversão de binário para decimal • Passando de binário para decimal – Multiplicações 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 R od rig – Exemplo: Converter 122 para binário 122 2 0 61 2 O processo acaba O processo acaba 1 30 2 quando o quociente quando o quociente tem valor 1. 0 15 2 1 7 2 1 3 2 1 1 o de So uz Conversão de decimal para binário a Vi ei ra 5 .

• Usando esta álgebra. combiná-las para fazer novas proposições e determinar se as novas proposições são verdadeiras ou falsas. ele inventou um sistema algébrico de dois valores. Sistemas Combinacionais Álgebra Booleana e Conjuntos lógicos completos Álgebra de Boole • Análise formal para circuitos digitais – Georges Boole (1815-1865). pode-se formular proposições que: – são verdadeiras ou falsas. R od rig o de So uz a Vi ei ra 6 . agora chamado Álgebra Booleana.Exercícios • Converta os sinais de acordo com a notação solicitada. • Em 1854.

A) para representar a condição de um sinal lógico. que pode assumir um dos dois valores possíveis : 0 ou 1 • Sistema dicotômico • A álgebra é baseada em teoremas e propriedades (axiomas) • 3 tipos podem descrever qualquer tipo de circuito – AND.Variáveis da Álgebra de Boole • Nós usamos uma variável simbólica (ex. OR e NOT As portas com inversores • NAND e NOR – Apresentam o inversor na saída do sinal – Permitem as 3 operações lógicas anteriormente descritas R od rig o de So uz Portas Lógicas a Vi ei ra 7 .

A 2) A ⋅ B ⋅ C + B ⋅ C resp.Teorema de Morgan • Permite escrever circuitos equivalentes alterando entre as portas NAND e NOR ( A + B) = A ⋅ B ( A ⋅ B) = A + B A+ A⋅B = A+ B A+0 = A A ⋅1 = A A +1 = 1 A+ A = A A+ A =1 A⋅0 = 0 A⋅ A = A A⋅ A = 0 Simplifique as equações 1) A ⋅ B + A ⋅ B resp. 0 4) ( A + B + C ) ⋅ ( A + B ) resp. B ⋅ C 3) ( A + B + C ) + ( B + C ) resp. A + B 5) A ⋅ B + A ⋅ B ⋅ C + A ⋅ B ⋅ C resp. ( A ⋅ B ) R od rig A= A A ⋅ (B + C) = A ⋅ B + A ⋅ C A + ( B ⋅ C ) = ( A + B) ⋅ ( A + C ) o de So A + A⋅ B = A uz Outras identidades booleanas a Vi ei ra 8 .

– (A+D) · (A+B+C).maxitermos e tabela verdade • Usaremos a denominação – Mi para maxitermos – mi para minitermos • Dada uma tabela verdade. • Um minitermo é um produto completo de nvariáveis – Ex.Tabelas verdade • Toda equação booleana pode ser representada por uma tabela verdade e vice-versa • 2n linhas dada n variáveis • Uma soma de produtos (SDP) é uma soma lógica de termos produtos. para 3 variáveis: A + B + C . o • Um maxitermo é uma soma completa de nvariáveis D+E+F de So uz Minitermos e Maxitermos a Vi ei ra 9 . D ⋅E⋅F Minitermos. os minitermos são aqueles que o resultado é 1 e os maxitermos são aqueles em que o resultado é0 R od rig – Ex. para 3 variáveis: A⋅ B ⋅C . – A·D + A·B·C • Um produto de somas (PDS) é um produto lógico de termos soma.

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 Equações booleanas a partir de minitermos • Se a tabela apresentada no slide anterior gerar a função saída F=(1000 1011).1.3.7) • Observe que o índice i do minitermo é o índice binário da função de saída!! A esta fórmula se dá o nome de soma canônica de uma função R od rig o – Ex: 000 = 0. 101 = 5 de • Um minitermo de n-variáveis pode ser representado por um inteiro de n-bit • Para se chegar a este número. So uz Representando minitermos a Vi ei ra 10 . podemos representar a equação como: – F = m7 + m3+ m1+m0 = Σm(0. deve-se verificar a representação binária do minitermo.

4..5. também poderemos representar a equação como – F = M6 + M5+ M4 + M2 = ∏ M (2.6) • Observe que o índice i do Maxitermo é o índice binário da função de saída!! A esta fórmula se dá o nome de produto canônico de uma função Mapas de Karnaugh • Para 4 variáveis. dada a função saída F = =(1000 1011).Equações booleanas a partir de Maxitermos • Para o mesmo exemplo. R od rig o de • Surgiu da observância que pares de minitermos que diferenciam de somente uma variável podem ser simplificados • Exemplo para 3 variáveis So uz Mapas de Karnaught a Vi ei ra 11 ..

AND e OR R od rig o de So uz Exercícios a Vi ei ra 12 . C . C .14.3.13) F ( A.7.5) H ( A.5.9.13) Conjunto lógico completo • É o que nos permite criar qualquer função lógica utilizando apenas as funções do conjunto – NOT. C ) = ∑ m(0.12.2.5.Exercícios • Ache o produto canônico e a soma canônica das equações abaixo: a ) ABC + ABD + A BC b) AC + BD + AB c) ABD + A B C • Simplifique por Karnaught as equações abaixo: G ( A. B.9.13. AND – NOT. D ) = ∑ m(0. B. D ) = ∑ m(3.1. B. OR – NOT. D ) = ∏ M (3. C .4.4.4.3.15) I ( A.1. B.5.

podemos definir também os conjuntos completos – NOR e – NAND • Prove que é possível montar uma porta OR usando o conjunto NOT.Outros conjuntos lógicos completos • Aplicando uma simplificação nos dois primeiros conjuntos.OR de So uz Exercício a Vi ei ra 13 . usando o conjunto NOT.AND – Defina a expressão: A+B Arranjos lógicos R od rig – Defina a expressão A·B+C o • Da mesma forma.

7) • Observe que teremos os minitermos: O Circuito de um arranjo lógico A B C m7 m4 m2 m0 R od rig m0 = A B C m2 = A BC m4 = AB C o de m7 = ABC So uz Exemplo de arranjo lógico a Vi ei ra 14 .4.Arranjos lógicos • São geralmente circuitos dados através de matrizes de portas lógicas e permitem criar saídas que produzam minitermos específicos • Crie um arranjo que gere a função saída como: f = ∑ m(0.2.

Arranjos programados • Os arranjos programados são arranjos lógicos que podem gerar saídas 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 R A B C Maxitermos od rig Arranjo AND f1 f2 f3 o de Arranjo AND Arranjo OR So uz Arranjo SDP a Vi ei ra 15 .

4.7) m7 m5 m4 m2 m1 m0 rig Simplificando o gráfico do circuito anterior A B C m7 m5 m4 m2 m1 m0 f g R od f o de g So A B C uz O Circuito do exemplo a Vi ei ra 16 .2.Exemplo • Criar um PLA que forneça as seguintes funções de saída f = ABC + A B C + AB C g = AB C + A B C + A BC • De outra forma podemos dizer que: g = ∑ m(1.5) f = ∑ m(0.

Utilize um PLA e defina com o número de entradas mínimas necessárias. Trabalhe apenas com os valores positivos e resolva o problema para o espectro 0 -15 em decimal.Exercício • Monte o PLA para um display de 7 seguimentos conforme mostrado abaixo a f e d g c b Aplicação • Faça um conversor de BCD (Binary Coded Decimal ) para binário utilizando um PLA. Utilize no circuito dois dígitos BCD e 8 bits de saída. R od rig o =3 de • Faça um contador digital que transforme o valor binário em uma barra de leds como mostrado abaixo. Lembre-se que o BCD utiliza 4 bits para representar um número de 0 a 9. So uz Exercício 02 a Vi ei ra 17 .

PLA x PAL • PLA – Portas AND e OR programáveis • PAL – Portas AND programáveis e OR fixas • 16L8 – Mais comum – 10 entradas e 8 saídas Variações • GAL: Generic Array Logic – Similar ao PAL – Pode ser reprogramado (similar a EEPROM) • CPLD : Complex Programmable Logic Device – Maior número de portas do que os PALs e GALs – Uso de VHDL para programação R od rig – Elemento fusível o • Programação por meio de Programador Universal de So uz PAL comercial a Vi ei ra 18 .

determinar a tabela verdade (caso já não faça parte da especificação do problema).. 2 . 5 .Circuitos Combinacionais Etapas do projeto de um circuito combinacional 1 .simplificar as equações se possível.escolher um símbolo para cada variável de entrada e para cada variável de saída.. 4 .associar ao conjunto de portas disponível (se for o caso).desenhar o circuito final R od rig o n entradas m saídas ou .equações booleanas de Circuito combinacional So uz Visão geral a Vi ei ra 19 . 3 .a partir da especificação do problema.

este tipo de circuito somente habilita um sinal de saída – Nomenclatura Decodificador n X m.Exemplo • Criar um circuito que descreva o seguinte problema: Dadas 3 entradas lógicas. • Tendo somente CIs do tipo 7401 . onde m ≤2n – Símbolo R od rig o de So uz Exercício a Vi ei ra 20 .4 portas do tipo NAND. remonte o circuito do exemplo anterior. Circuitos elementares • Decodificador – Dada uma entrada binária. o valor de saída será verdadeiro se somente um número par de entradas for verdadeiro.

circuito Multiplexador . o multiplexador é capaz de selecionar uma delas.Decodificador .Circuito R od rig o de • Dado um conjunto de m entradas. • É dado como Mux m-1 • Símbolo So uz Multiplexador a Vi ei ra 21 .

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.soma apenas 2 bits – Somador completo .Somadores • Em sistemas binários podemos encontrar dois tipos de somadores – Meio somador . baseandose na tabela verdade ao lado R od rig o de So uz Meio somador (half adder) a Vi ei ra 22 .

pode-se criar um somador/subtrador binário VHDL Conceitos básicos Origem • Anos 70 .VHDL (VHSIC Hardware Description Language) torna-se padrão pela IEEE R od rig o de So uz a Vi ei ra 23 .Criada uma linguagem para descrever os VHSIC • 1987 .DoD cria o projeto VHSIC (Very High Speed Integrated Circuits) • Anos 80 .Somador/subtrador • Adotando uma porta XOR na entrada do somador completo.

etc. SDL.. ISP. • Especificação de sistemas digitais – Projeto independente do hardware – Padrão para ferramentas de CAD – Flexibilidade – Fácil manutenção – Simulação dos circuitos Mais vantagens • Sob o ponto de vista do nível físico – Reduz tempo e custos de projeto – Elimina erros de projeto – Diminui o “Gap” de mercado R od rig o de So uz Vantagens a Vi ei ra 24 . SystemC.Utilização da VHDL • • • • • Linguagem para descrever sistemas digitais Especificar Simular e Sintetizar sistemas digitais Existem outras linguagens – Verilog.

exit when carry = '0'. end. process(clk. begin for i in input'low to input'high loop result(i) := input(i) xor carry.normalize the indexing end if. carry := input(i) and carry. after tpd_clk_to_count.Desvantagens • Hardware pode não ter melhor otimização • Necessidade de treinamento de pessoal • É possível uma análise tanto top-down como bottom-up Exemplo de código entity counter is port (count : buffer bit_vector(8 downto 1). end process. count <= increment(count) variable carry : bit := '1'. return result. end if. -. reset) constant tpd_clk_to_count : time := 5 ns. R od rig o de So uz Abstração da linguagem a Vi ei ra 25 . clk : in bit. alias input : bit_vector(val'length downto 1) is val. architecture only of counter is begin ctr: constant tpd_reset_to_count : time := 10 ns. reset : in bit). end increment. end loop. elsif clk'event and (clk = '1') then variable result : bit_vector(input'range) := input. end only. 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.

VHDL é mais que uma linguagem • Permite – Paralelismo entre componentes – Comunicação entre processos paralelos – Temporização – Simulação – Testbench Palavras reservadas Palavras reservadas Tipos Tipos rig Operadores Operadores Sintaxe Palavras reservadas da VHDL R od o de So uz Estrutura de uma linguagem a Vi ei ra 26 .

tempo. ns. etc.Tipos: Números • Existem os números inteiros – 10 4567 101 • E os números reais – 1.45E10 • Bit – assume valor 0 ou 1 • Boolean – Assume valores true ou false Tipos: Físicos • Physical – Definem uma grandeza física como voltagem. ms.003 3. hr R od rig o de So uz Tipos: Lógicos a Vi ei ra 27 . sec. min... – Tipos mais comuns: • ps.05 0.

: B”00110” – Octal • ex. assim para base: – Binária • ex. ‘a’ ‘2’ ‘:’ Tipos: Usando outras bases • Para se utilizar números em outras bases.: X”AA20” R od rig – Ex. deve-se utilizar o conceito de String. • Os caracteres são definidos utilizando aspas simples – Ex. “Isto eh uma String” o • As Strings são conjuntos de caracteres e são definidas usando aspas duplas de So uz Tipos: Caracteres e String a Vi ei ra 28 .: O”7710” – Hexadecimal • ex.Tipos: Sinal • Serve para conectar dois componentes • Funciona internamente em uma entidade • Sintaxe: – signal nome : tipo.

.coloca dados em bit01 • Identificadores – Servem para determinar sinais e processos • • • • Precisa começar sempre com uma letra Não pode terminar com sublinhado Não pode ter dois sublinhados em seqüência Pode conter qualquer letra.: read (dados. número e o sublinhado R od rig o de So uz Mais operadores a Vi ei ra 29 . terminador ( ) parenteses < > caixa : “ ‘ ** => := /= >= <= <= -separador de tipo aspas dupla aspas simples exponenciação então.Operadores • • • • • • • • • • • + adição subtração / divisão = igualdade < menor que > maior que & concatenador | barra vertical .. -. bit01). ou recebe atribuição desiguladade maior ou igual a menor ou igual a associção para valor de sinal comentário Elementos da VHDL • Comentários – Marcados após dois traços “--” • Ex.

: type imagem is array (1 to10) of integer – type imagem2 is array(1 to 5.define o valor de Pi • Uma variável é declarada utilizando a palavra reservada variable. atribuição • Exemplos: – type valor_leitura is range -5.: constant pi :=3.’4’.’5’.’3’. – type unidades is range 1 to 10. -.: variable contador : integer := 0. Operador de – Ex.141592653.: type display is(‘0’.0. Tipos enumerados e vetores • Os tipos enumerados são um conjunto de possíveis valores assumidos pela variável – Ex.Constantes e variáveis • Todo valor deve ser declarado antes de seu uso • Uma constante é declarada utilizando a palavra reservada constant. – Ex.’2’. • Já os vetores são definidos pela palavra is array e determinam um conjunto de valores associados à variável – Ex.’1’. to 5) of bit R od rig o Define a faixa de uso da variável de So uz Usando os tipos a Vi ei ra 30 .’6’). 1.0 to 5.

R od rig o saida := valor_desejado. else saida := 0. endif de • Definem em qual sentido o fluxo do programa deverá seguir • if e if-else Ex.: type horario is record – – – – segundo : integer range 0 to 59. minuto: integer range 0 to 59.Tipos estruturais • Os tipos estruturais são aqueles que apresentam subtipos na sua declaração. if sinal = 1 then So uz Estruturas de controle de fluxo : o if a Vi ei ra 31 . endif • O else pode ser substituido pelo elseif para outros testes. hora: integer range 0 to 23 end record horario Estruturas de controle de fluxo: o if-else Ex. • São definidos através da palavra is record – Ex. if sinal = 1 and entrada = 0 then saida := valor_desejado.

endloop de • Define um loop infinito no código • Utiliza a palavra exit para sair do loop Ex... R od rig o .: loop exit when sinal = 1.: while entrada < valor_minimo loop . endloop. Estruturas de repetição: while-loop • É um loop com teste de condição no início Ex. led2:= 0..: case entrada is when 0 => led1 :=0... when 1=> when 2=> endcase led2 :=0. similar ao if-else Ex. led1 := 1..Estruturas de controle de fluxo: o case • Para variáveis de valores discretos. led2:= 1.. led1 := 0. So uz Estruturas de repetição: loop a Vi ei ra 32 .

• wait on x.Estrutura de repetição: for-loop • Executa um loop com um número definido de repetições Ex.. endloop. mais flags.: for i in 1 to 100 loop . – Espera até que x tenha valor 3 – Espera até que haja uma mudança na variável x • wait 100 ns.. So uz Comando de espera: wait a Vi ei ra 33 .. • wait until x= 3.. – Espera 100 nano segundos Estrutura de um programa VHDL R od rig o de Utiliza-se vírgula Utiliza-se vírgula para adicionar para adicionar mais flags.

c :: in bit. f: out bit).b.c in bit.b. port(a.Entity • A entidade é o elemento básico da VHDL • Conceito de caixa-preta • Associa entradas e saídas 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 R od rig end porta_simples end porta_simples o port(a. de So uz Entendendo a descrição de hardware a Vi ei ra 34 . f: out bit).

. end if. B : bit) return bit is begin if B=‘0’ then return A.. else return ‘0’.... ... . end nome_da_arquitetura... end function nome_da_função..Entendendo a descrição da Arquitetura • Sintaxe architecture nome_da_arquitetura of nome_da_entidade is architecture nome_da_arquitetura of nome_da_entidade is <declarações de tipos> <declarações de tipos> <declaração de sinais> <declaração de sinais> <declaração de constantes> <declaração de constantes> <definição de funções> <definição de funções> <definição de procedimentos> <definição de procedimentos> <declaração de componentes> <declaração de componentes> begin begin ... function nome_da_função( nome_sinal tipo_de_sinal.... end function nome_da_função. rig o de • Função: recebe um conjunto de parâmetros e retorna um dado • Sintaxe de uma função So uz Funções e procedimentos a Vi ei ra 35 .. nome_sinal ::tipo_de_sinal) nome_sinal tipo_de_sinal) return tipo_des_sinal is return tipo_des_sinal is <declarações de tipos> <declarações de tipos> <declaração de sinais> <declaração de sinais> <declaração de constantes> <declaração de constantes> <definição de funções> <definição de funções> <definição de procedimentos> <definição de procedimentos> <declaração de componentes> <declaração de componentes> begin begin .. • Declarações podem aparecer em qualquer ordem Exemplo de uma função function ButNot (A... R od function nome_da_função( nome_sinal ::tipo_de_sinal. end nome_da_arquitetura.. end ButNot.

html • Compiladores – http://www-asim.... end procedure nome_da_função.fr/recherche/alliance/ – http://www..cliftonlabs.de/software-solutions/vhdl-parser/ – http://www....com/savant/download/ – http://www.lip6.com/products.htm Componentes • Para representar estruturas do tipo • Utiliza-se o conceito de componente para cada módulo do circuito R od rig o • Ambientes de So uz Internet a Vi ei ra 36 .html – http://www.uni-frankfurt.org/software/electric/electric. • Parsers – http://home.Procedimentos • Um procedimento é uma função que não retorna valor e podem receber ou não parâmetros procedure nome_do_procedimento(nome_sinal ::tipo_de_sinal..gnu. procedure nome_do_procedimento(nome_sinal tipo_de_sinal.informatik.de/grimm/hybrid. ..ti.symphonyeda.wtal. end procedure nome_da_função.. nome_sinal ::tipo_de_sinal) nome_sinal tipo_de_sinal) is is <declarações de tipos> <declarações de tipos> <declaração de sinais> <declaração de sinais> <declaração de constantes> <declaração de constantes> <definição de funções> <definição de funções> <definição de procedimentos> <definição de procedimentos> <declaração de componentes> <declaração de componentes> begin begin .

• Neste caso.... . end component... • São utilizados dentro da arquitetura do sistema • São definidos como: componente Nome is..Componentes • Utiliza-se componentes como forma de modularizar o código. – cada módulo é um component – se comunicam atraves de signal – e cada signal é mapeado através de port map Usando componentes • Montar o circuito: R od rig o de So uz Usando componentes a Vi ei ra 37 ..

F1: out bit ). architecture processa of PORTA_OR is begin F2 <= X or Y. F2: out bit ). Y: in bit. uz Definindo o circuito a Vi ei ra 38 .comportamento end processa.Definindo os componentes • Primeiramente se define as entidades em arquivos separados: -. Y=>input3.componente 2 entity PORTA_OR is port( X: in bit. end PORTA_AND. input2: in bit. -.mapeando as entradas porta1: PORTA_AND port map (A=>input1. porta2: PORTA_OR port map (X=>ligacao. -. end component. architecture estrutura of CIRCUITO is component PORTA_AND is port( A: in bit. Y: in bit. -. component PORTA_OR is port( X: in bit. -. B=>input2. F2: out bit ). input3: in bit.comportamento end processa. F1=>ligacao). • Deve-se definir um conjunto de sinais que serão colocados no circuito para gerar a saída R od rig Observe que: a)O nome do componente e seus membros deve ser o mesmo da entidade b) O sinal ligação serve para conectar os componentes c)port map é utilizado para associar as entradas da entidade com a dos componentes o de So entity CIRCUITO is port( input1: in bit. F2=>output). end component.signal de ligação begin -. end PORTA_OR. end CIRCUITO.PORTA OR Testando o circuito • Uma das vantagens do VHDL é possibilitar o teste da lógica do circuito • Para tal se cria uma nova entidade cujo componente principal é o circuito a ser testado.componente 1 entity PORTA_AND is port( A: in bit. output: out bit ). architecture processa of PORTA_AND is begin F1 <= A and B. -.PORTA_AND signal ligacao: bit. B: in bit. F1: out bit ). -. B: in bit. end estrutura.

T_output: bit.input2=>T_input2. T_input3 <= '1'. T_input2 <= '0'.segundo caso T_input1 <= '1'. end process.entidade vazia begin -. output =>T_output).primeiro caso T_input1 <= '0'.define um processo architecture BENCHTEST of CIRCUITO_TESTA is component CIRCUITO is -. -. end NomeConf. -. wait. end component. -. T_input2. • Determina qual arquitetura será utilizada e tem o corpo dado como: configuration NomeConf of Estrutura is for NomeArquitetura end for. T_input2 <= '1'.componente da entidade input2: in bit. Usando o Symphony Sonata • Ver tutorial..input3=>T_input3.conta o mesmo nome output: out bit ). process begin -.mapeia as portas e sinais teste: CIRCUITO port map (input1=>T_input1. -.define os sinais de teste para o programa signal T_input1. -. ------------------------------------------------------------------configuration CFG_TESTE of CIRCUITO_TESTA is for BENCHTEST end for. end CFG TESTE..sempre levando em input3: in bit.declara o circuito como port( input1: in bit. -.O código do teste entity CIRCUITO_TESTA is end CIRCUITO_TESTA. R od rig o de So uz Configuration a Vi ei ra 39 . T_input3 <= '0'. end BENCHTEST. -. T_input3. wait for 100 ns.