Buscar

Circuitos Combinacionais

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

Sistemas Digitais I
Introduc¸a˜o
Myle`ne Christine Queiroz de Farias
Departamento de Engenharia Ele´trica
Universidade de Bras´ılia (UnB)
Bras´ılia, DF 70910-900
mylene@unb.br
April 11, 2018
Aula 09: Circuitos Combinacionais
Suma´rio
Circuitos Combinacionais;
Buffers
Somadores e Subtradores;
Multiplicadores e Divisores;
A ULA.
Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 2 / 62
Circuitos Combinacionais
Sistemas e Circuitos Combinacionais
Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 3 / 62
Circuitos Combinacionais
Circuitos lo´gicos para sistemas digitais podem ser combinacionais ou
sequenciais.
Circuitos Combinacionais
Formado por porta lo´gicas cujas sa´ıdas em qualquer intervalo de tempo
sa˜o determinadas pela combinac¸a˜o presente das entradas.
Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 4 / 62
Circuitos Combinacionais
Circuitos Sequenciais
Circuitos que empregam elementos de memo´ria ale´m de portas lo´gica.
As sa´ıdas sa˜o func¸o˜es das entradas e do estado dos elementos de
memo´ria
as sa´ıdas dos circuitos sequencias dependem na˜o so´ do estado das
entradas atuais, mas tambe´m de entradas passadas.
o comportamento do circuito deve ser especificado por uma sequeˆncia
de entradas variantesno tempo e estados internos.
Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 5 / 62
Circuitos Combinacionais
Circuitos Sequenciais
Circuitos que empregam elementos de memo´ria ale´m de portas lo´gica.
As sa´ıdas sa˜o func¸o˜es das entradas e do estado dos elementos de
memo´ria
Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 6 / 62
Circuitos Combinacionais
Sistemas e Circuitos Combinacionais
Nu´meros bina´rios representam quantidades discretas de informac¸a˜o
Essas varia´veis bina´rias sa˜o representadas por tenso˜es
Essas tenso˜es sa˜o manipuladas por portas lo´gicas que executam
func¸o˜es
Essas func¸o˜es sa˜o expressas por meio da A´lgebra de Boole
A a´lgebra de Boole pode ser usada para simplificar as func¸o˜es
Computadores
Computadores digitais executam diversam diversam tarefas de
processamento da informac¸a˜o. Entre essas tarefas, esta˜o as operac¸o˜es
aritme´ticas.
Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 7 / 62
Circuitos Combinacionais
Sistemas e Circuitos Combinacionais
Nu´meros bina´rios representam quantidades discretas de informac¸a˜o
Essas varia´veis bina´rias sa˜o representadas por tenso˜es
Essas tenso˜es sa˜o manipuladas por portas lo´gicas que executam
func¸o˜es
Essas func¸o˜es sa˜o expressas por meio da A´lgebra de Boole
A a´lgebra de Boole pode ser usada para simplificar as func¸o˜es
Computadores
Computadores digitais executam diversam diversam tarefas de
processamento da informac¸a˜o. Entre essas tarefas, esta˜o as operac¸o˜es
aritme´ticas.
Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 7 / 62
Circuitos Combinacionais
Alguns aspectos pra´ticos.
Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 8 / 62
Circuitos Combinacionais
Fan-in
Fan-out
Margem de ru´ıdo
Atraso de propagac¸a˜o do sinal
Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 9 / 62
Circuitos Combinacionais
Fan-in:
Para portas-lo´gicas e´ o nu´mero de entradas de uma porta espec´ıfica
definida por construc¸a˜o
geralmente limitada a um ma´ximo de 4 ou 5
exemplo: 74LS08 tem 4 portas E de 2 entradas
Impacto: Quando o nu´mero de varia´veis e´ maior que o nu´mero de
entradas da porta lo´gica
e´ necessa´rio cascatear portas-lo´gicas ou realizar trasnformac¸a˜o de
func¸o˜es, etc.
Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 10 / 62
Circuitos Combinacionais
Fan-out:
Nu´mero de entradas de portas lo´gicas que podem ser conectadas a`
sa´ıda de uma outra porta lo´gica
Especifica a capacidade de acionamento de uma sa´ıda
Se a sa´ıda estiver sobrecarregada, outras caracter´ısticas como a
margem de ru´ıdo, por exemplo, sera˜o afetadas.
Tipos diferentes de portas lo´gicas (TTL, CMOS etc.) sa˜o afetados por
sobrecarga de diferentes modos.
Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 11 / 62
Circuitos Combinacionais
Margem de Ru´ıdo
Define quanto ru´ıdo pode ser induzido em um sinal digital sem que
ele deixe de ser reconhecido como ‘0’ ou ‘1’.
Diferenc¸a entre os n´ıveis ‘0’ ou ‘1’ da entrada e da sa´ıda do sinal.
Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 12 / 62
Circuitos Combinacionais
Atraso de Propagac¸a˜o:
Dispositivos reais apresentam atraso
Os atrasos de propagac¸a˜o sa˜o medidos entre o instante de tempo que
a entrada muda ate´ o instante de tempo que a sa´ıda leva para reagir
a mudana da entrada
As portas lo´gicas geralmente apresentam atraso quando a sa´ıda varia
de ‘0’ para ‘1’ ou de ‘1’ para ‘0’.
Nem todas as mudanas do sinal de entrada sera˜o percebidas na sa´ıda
A porta lo´gica pode na˜o responder a pulsos muito finos
Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 13 / 62
Circuitos Combinacionais
Estado ativo do Sinal
Aplica-se, geralmente, a sinais de controle para designar SE uma
condic¸a˜o esta´ ATIVA (ENABLED).
Estado ATIVO – sinal que indica que a ativac¸a˜o de uma condic¸a˜o ou
ac¸a˜o.
ATIVO em CIMA (UP) – ATIVO quando o sinal e´ ‘1’
ATIVO em BAIXO (DONW) – ATIVO quando o sinal e´ ‘0’
Pinos sem ‘c´ırculos’ indicam ativo em cima
Pinos com ‘c´ırculos’ indicam ativo em baixo
Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 14 / 62
Circuitos Combinacionais
Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 15 / 62
Circuitos Combinacionais
Projeto de um circuito combinacional
Geralmente, seguem-se as seguintes etapas:
1 Descric¸a˜o do problema
2 Entrada/sa´ıda do circuito
3 Definic¸a˜o da tabela-verdade
4 Simplificac¸a˜o para cada sa´ıda
5 Desenho do circuito
Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 16 / 62
Circuitos Combinacionais
Exemplo 1: Em sistemas computacionais e´ frequentemente necessa´rio
escolher dados de uma certa fonte, entre um conjunto de fontes
dispon´ıveis:
Projete um circuito que tem uma sa´ıda f que e´ exatamente a mesma
que uma das entradas (x,y). Essa escolha sera´ baseada no valor de
um terminal de controle (s).
Se s=0 enta˜o f=x
Se s=1 enta˜o f=y
Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 17 / 62
Circuitos Combinacionais
Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 18 / 62
Circuitos Combinacionais
Projetar um circuito que soma duas entradas (x,y) e produz duas sa´ıdas (s
, c)
S: bit da soma
x=0, y=0 ⇒ s=0
x=0, y=1 ⇒ s=1
x=1, y=0 ⇒ s=1
x=1, y=1 ⇒ s=0
C: bit “vai-um”
x=0, y=0 ⇒ c=0
x=0, y=1 ⇒ c=0
x=1, y=0 ⇒ c=0
x=1, y=1 ⇒ c=1
Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 19 / 62
Buffer
Um outro dipositivo
Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 20 / 62
Buffer
Buffer
Porta lo´gica que produz f = x
Tipicamente usada para
acionar ou amplificar sinais
Tri-State Buffer
Interface:
Entrada de dados, x
Entrada de controle, e
(enable)
sa´ıda, f
Funcionalidade:
Se e = 1, x esta´ conectado
a f
Se e = 0, x esta´
desconectado de f
Valores poss´ıveis da sa´ıda
0, 1, Z
Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 21 / 62
Buffer
Usando tri-state buffers e´
poss´ıvel conectar va´rias entradas
a uma u´nica sa´ıda
Usando enables pode-se
controlar qual entrada esta´
conectada a sa´ıda
Usando enables pode-se
controlar qual entrada esta´
conectada a sa´ıda
Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 22 / 62
Buffer
Usando tri-state buffers e´ poss´ıvel implementar MUXs 4x1
O DECOD acionara´ apenas um dos tri-state buffers
O tri-state sera´ acionado de acordo com o valor das entradas de selec¸a˜o
Pode diminuir a complexidade do circuito
Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 23 / 62
Circuitos Combinacionais
Circuitos Somadores
Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 24 / 62
Soma de nu´meros positivos
A soma de dois nu´meros de 1 bit pode resultar em 4 valores distintos:
Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 25 / 62
Soma de nu´meros positivos
Nu´meros maiores envolvem mais bits
Ainda assim, os bits sa˜o adicionados aos pares
Entretanto, para cada posic¸a˜o i do bit, a operac¸a˜o de adic¸a˜o deve
incluir uma informaca˜o de vai-um da posic¸a˜o i − 1
Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 26 / 62
Soma de nu´meros positivos
Somador Completo:
Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 27 / 62
Soma de nu´meros positivos
Somador Completo Decomposto:
Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 28 / 62
Somador Ripple-Carry
A operac¸a˜o de adic¸a˜o e´ iniciada no d´ıgito menos significativo e e´ feita
aos pares, progredindo ate´ o d´ıgito mais significativo.
Se um vai-um e´ produzido em uma posic¸a˜o i , ele sera´ adicionado aos
operandos (d´ıgitos) da posic¸a˜o i + 1.
Uma cadeia de somadores completos, conectados em sequeˆncia, pode
executar essa operaca˜o.
Essa configuraca˜o e´ chamada de somador ripple-carry, em
conseqeˆncia do modo que o sinal de vai-um e´ transportado de um
esta´gio para outro.
Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 29 / 62
Somador Ripple-Carry
A operac¸a˜o de adic¸a˜o e´ iniciada no d´ıgito menos significativo e e´ feita
aos pares, progredindo ate´ o d´ıgito mais significativo.
Se um vai-um e´ produzido em uma posic¸a˜o i , ele sera´ adicionado aos
operandos (d´ıgitos) da posic¸a˜o i + 1.
Uma cadeia de somadores completos, conectados em sequeˆncia, pode
executar essa operaca˜o.
Essa configuraca˜o e´ chamada de somador ripple-carry, em
conseqeˆncia do modo que o sinal de vai-um e´ transportado de um
esta´gio para outro.
Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 29 / 62
Somador Ripple-Carry
Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 30 / 62
Somador Ripple-Carry
Cada somador completo introduz um certo atraso antes de suas
sa´ıdas si and ci+1 serem va´lidas
Vamos supor que o atraso de cada somador completo (esta´gio) seja
dado por ∆t:
O vai-um do primeiro esta´gio, c1, chega ao segundo esta´gio ∆t depois
da aplicac¸a˜o das entradas x0 e y0;
O vai-um do segundo esta´gio,c2, chega ao terceiro esta´gio com um
atraso de 2∆t, e assim por diante;
O sinal cn−1 e´ valido apo´s (n − 1) ·∆t, e a soma completa estara´
dispon´ıvel depois de um atraso de n ·∆t;
O atraso, obviamente, dependera´ do tamanho do nu´mero (i.e. o
nu´mero de bits do somador).
Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 31 / 62
Adic¸a˜o e Subtrac¸a˜o em Complemento de Dois
Em complemento de dois, o resultado da adic¸a˜o esta´ sempre correto.
Qualquer bit de vai-um, ale´m dos bits de posic¸a˜o considerados, deve
ser ignorado.
Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 32 / 62
Adic¸a˜o e Subtrac¸a˜o em Complemento de Dois
O modo mais fa´cil de se realizar uma subtrac¸a˜o e´ tornar o subtraendo
negativo e adiciona´-lo ao minuendo
Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 33 / 62
Adic¸a˜o e Subtrac¸a˜o em Complemento de Dois
A operac¸a˜o de subtrac¸a˜o pode ser realizada como a operac¸a˜o de
adic¸a˜o, usando o complemento de 2 do subtraendo, sem considerar o
sinal dos operandos
Ou seja, e´ poss´ıvel utilizar o mesmo circuito do somador para fazer
soma e subtrac¸a˜o!
�� ��Lembrete : complemento de 2 pode ser obtido do complemento de 1
somado ao bit 1.
Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 34 / 62
Adic¸a˜o e Subtrac¸a˜o em Complemento de Dois
A operac¸a˜o de subtrac¸a˜o pode ser realizada como a operac¸a˜o de
adic¸a˜o, usando o complemento de 2 do subtraendo, sem considerar o
sinal dos operandos
Ou seja, e´ poss´ıvel utilizar o mesmo circuito do somador para fazer
soma e subtrac¸a˜o!�� ��Lembrete : complemento de 2 pode ser obtido do complemento de 1
somado ao bit 1.
Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 34 / 62
Adic¸a˜o e Subtrac¸a˜o em Complemento de Dois
�� ��Lembrete : complemento de 2 pode ser obtido do complemento de 1
somado ao bit 1.
Pode-se usar a operac¸a˜o OU-EXCLUSIVO para se obter o
complemento de 1 de um nu´mero:
X ⊕ 1 = X
e
X ⊕ 0 = X
Se uma operac¸a˜o de subtrac¸a˜o for executada, o complemento de 1 do
subtraendo pode ser obtido fazendo-se o XOR de cada bit do nu´mero
com o bit 1.
Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 35 / 62
Adic¸a˜o e Subtrac¸a˜o em Complemento de Dois
Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 36 / 62
Overflow Aritme´tico
O resultado da adic¸a˜o ou da subtrac¸a˜o deve “caber” dentro dos
nu´meros usados para representar os operandos;
Se n bits sa˜o usados para representar os operandos (nu´meros inteiros
ou negativos), enta˜o o resultado deve estar no intervalo entre 2n−1 e
+2n−1 − 1;
Se o resultado na˜o estiver no intervalo acima, um overflow aritme´tico
ocorreu.
Portanto, para assegurar a correta operac¸a˜o de um circuito aritme´tico,
e´ importante detectar a poss´ıvel ocorreˆncia de um overflow.
Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 37 / 62
Overflow Aritme´tico
O resultado da adic¸a˜o ou da subtrac¸a˜o deve “caber” dentro dos
nu´meros usados para representar os operandos;
Se n bits sa˜o usados para representar os operandos (nu´meros inteiros
ou negativos), enta˜o o resultado deve estar no intervalo entre 2n−1 e
+2n−1 − 1;
Se o resultado na˜o estiver no intervalo acima, um overflow aritme´tico
ocorreu.
Portanto, para assegurar a correta operac¸a˜o de um circuito aritme´tico,
e´ importante detectar a poss´ıvel ocorreˆncia de um overflow.
Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 37 / 62
Overflow Aritme´tico
Para nu´meros de 4 bits, 3 bits sa˜o de significaˆncia e 1 de sinal:
Se os nu´meros tiverem sinais diferentes, nenhum overflow pode
ocorrer.
Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 38 / 62
Overflow Aritme´tico
Nos exemplos anteriores, overflow foi detectado nos seguintes casos:
overflow = c3 · c4 + c3 · c4
= c3 ⊕ c4
Portanto, para nu´meros de n bits:
overflow = cn−1 ⊕ cn
Um checador de overflow pode ser colocado no circuito
somador/subtrator simplesmente adicionando-se uma porta
OU-EXCLUSIVO.
Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 39 / 62
Overflow Aritme´tico
Nos exemplos anteriores, overflow foi detectado nos seguintes casos:
overflow = c3 · c4 + c3 · c4
= c3 ⊕ c4
Portanto, para nu´meros de n bits:
overflow = cn−1 ⊕ cn
Um checador de overflow pode ser colocado no circuito
somador/subtrator simplesmente adicionando-se uma porta
OU-EXCLUSIVO.
Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 39 / 62
Overflow Aritme´tico
Nos exemplos anteriores, overflow foi detectado nos seguintes casos:
overflow = c3 · c4 + c3 · c4
= c3 ⊕ c4
Portanto, para nu´meros de n bits:
overflow = cn−1 ⊕ cn
Um checador de overflow pode ser colocado no circuito
somador/subtrator simplesmente adicionando-se uma porta
OU-EXCLUSIVO.
Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 39 / 62
Representac¸a˜o BCD
Adic¸a˜o em BCD
Z = X + Y
Problemas acontecem quando
Z > 9
2 nu´meros BCD sa˜o
necessa´rios para representar o
resultado da soma (i.e.
5 + 7 = 12, e´ necessa´rio
representar o 1 e o 2.
Soluc¸a˜o:
Se Z ≤ 9, enta˜o S = Z e
vai-um = 0
Se Z > 9, enta˜o S = Z + 6 e
vai-um = 1
Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 40 / 62
Representac¸a˜o BCD
Adic¸a˜o em BCD – Diagrama em blocos:
Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 41 / 62
Representac¸a˜o BCD
Adic¸a˜o em BCD – Diagrama em blocos:
Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 42 / 62
Representac¸a˜o em Ponto Flutuante
Padronizac¸a˜o do IEEE – representac¸a˜o de precisa˜o simples (64 bits):
Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 43 / 62
Representac¸a˜o em Ponto Flutuante
Myle`ne Farias (ENE-UnB) SD1 April
11, 2018 44 / 62
Representac¸a˜o em Ponto Flutuante
Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 45 / 62
Multiplicac¸a˜o
Uma representac¸a˜o gene´rica da multiplicac¸a˜o de nu´meros de 4 bits:
Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 46 / 62
Multiplicac¸a˜o
Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 47 / 62
Multiplicac¸a˜o
Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 48 / 62
Multiplicador 8x8
Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 49 / 62
Matriz de Somadores Completos
Nu´mero de FAs e HAs?
Comprimento do maior caminho?
Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 50 / 62
Cadeia de Carry mais Ra´pida
Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 51 / 62
Circuitos Combinacionais
Unidade Lo´gica e Aritme´tica
Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 52 / 62
Unidade Lo´gica e Aritme´tica
ALU em Ingleˆs (Arithmetic Logic Unit)
Circuito combinacional que executa um conjunto de operac¸o˜es lo´gicas
e aritme´ticas
Possui sinais de controle para selecionar a operac¸a˜o desejada
k sinais permitem 2k operac¸o˜es
Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 53 / 62
Unidade Lo´gica e Aritme´tica
Parte aritme´tica:
Somador em paralelo: ce´lula ba´sica da ULA
Este somador soma dois nu´meros bina´rios em paralelo (todos os
d´ıgitos)
Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 54 / 62
Unidade Lo´gica e Aritme´tica
Parte aritme´tica:
Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 55 / 62
Unidade Lo´gica e Aritme´tica
Parte aritme´tica: Controlando o valor de Y na entrada do somador,
podemos efetuar outras operac¸o˜es.
Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 56 / 62
Unidade Lo´gica e Aritme´tica
Parte aritme´tica:
Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 57 / 62
Unidade Lo´gica e Aritme´tica
Parte aritme´tica:
Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 58 / 62
Unidade Lo´gica e Aritme´tica
Parte lgica: AND, OR, XOR, NOT
Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 59 / 62
Unidade Lo´gica e Aritme´tica
Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 60 / 62
Unidade Lo´gica e Aritme´tica
Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 61 / 62
Unidade Lo´gica e Aritme´tica
ULA executa operac¸o˜es lo´gicas e aritme´ticas:
A, B: 4 bit inputs
S3, S2, S1, S0: Function select
M = 0: Arithmetic operations: +,
M = 1: Logical operations: OR, AND
Myle`ne Farias (ENE-UnB) SD1 April 11, 2018 62 / 62

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Continue navegando