CIRCUITOS COMBINATÓRIOS TÍPICOS Setembro de
CIRCUITOS COMBINATÓRIOS TÍPICOS - SUMÁRIO: DESCODIFICADORES CODIFICADORES MULTIPLEXERS DEMULTIPLEXERS SOMADORES / SUBTRACTORES COMPARADORES Setembro de
CIRCUITOS COMBINATÓRIOS TÍPICOS - DESCODIFICADOR (em inglês, DECODER) O DESCODIFICADOR binário é um circuito combinatório que permite, perante uma combinação de entradas, activar uma e só uma saída. I I O O O O DESCODIFICADOR :4 No símbolo do componente, o índice dos sinais de entrada/saída permite identificar claramente as saídas e o peso de cada um dos sinais de entrada. Setembro de
CIRCUITOS COMBINATÓRIOS TÍPICOS - 4 DESCODIFICADOR COM ENTRADA DE ACTIVAÇÃO (Enable) A entrada de ENABLE permite, quando activa (neste caso, a ), que o descodificador funcione normalmente. Quando não activa, inibe o seu funcionamento fazendo com que todas as saídas fiquem inactivas (neste caso, todas a ). EN I I O O O O DESCODIFICADOR :4 I I Enable EN X/Y O O O O Setembro de
CIRCUITOS COMBINATÓRIOS TÍPICOS - 5 DESCODIFICADOR: ESTRUTURA INTERNA A figura representa a estrutura interna de um descodificador binário de entradas. Cada saída representa uma das combinações possíveis das entradas I I O O O O O. I O I O O O = I.I O = I.I O = I.I O = I.I Setembro de
CIRCUITOS COMBINATÓRIOS TÍPICOS - 6 DESCODIFICADOR com saídas activas a zero I I O O O O No símbolo do componente, o na saída indica que esta é activa a, i.e., a saída seleccionada tem um e as outras têm um. (funciona como se tivesse um inversor na saída) Setembro de
CIRCUITOS COMBINATÓRIOS TÍPICOS - 7 DESCODIFICADORES: Exemplos de Componentes DESCODIFICADOR :8 4 74LS8 X/Y 4 DUAL DECODER :4 74LS9 X/Y EN DUAL DECODER :4 EN 5 6 7 EN Nos exemplos os sinais de saída são activos a zero. No 8 o Enable é um AND de entradas, delas negadas. No 9 o Enable é activo a zero. No 55 o Enable é um AND de entradas, delas negada. Setembro de
CIRCUITOS COMBINATÓRIOS TÍPICOS - 8 CODIFICADOR (em inglês, ENCODER) O CODIFICADOR binário é um circuito combinatório que indica qual das entradas possíveis é que está activa (neste caso, a ). I I I I O O Nesta versão simples, o codificador só considera 4 das 6 combinações possíveis de entrada. O circuito não distingue a situação de todas as entradas estarem a. O circuito não distingue as situações em que estão a mais do que uma entrada. Setembro de
CIRCUITOS COMBINATÓRIOS TÍPICOS - 9 CODIFICADOR DE PRIORIDADE As entradas deste codificador têm uma ordem de prioridades: em caso de mais de uma entrada activa (a ) é considerada a de maior prioridade. I I I I O O V X X X X X X A entrada I é a de maior prioridade, seguida da I, da I, e a I é a de menor prioridade. A saída V suplementar indica se existe pelo menos uma entrada activa (a ). Setembro de
CIRCUITOS COMBINATÓRIOS TÍPICOS - MULTIPLEXER O MULTIPLEXER é um circuito combinatório que permite, através da especificação dos sinais de selecção, encaminhar uma das N entradas de dados para a saída. MULTIPLEXER 4: S S O MUX D D D D S S D D D D O D D D D Comportamento O SEL(S,S) As entradas de selecção determinam a entrada de dados cujo valor é colocado na saída Setembro de
CIRCUITOS COMBINATÓRIOS TÍPICOS - MULTIPLEXERS: ESTRUTURA INTERNA S S S O D S D D D D D O D D O = D +.S.S + D.S.S + D.S.S D.S. S Setembro de
CIRCUITOS COMBINATÓRIOS TÍPICOS - MULTIPLEXERS: SIMBOLOGIA MULTIPLEXER 4: simples } G MUX MULTIPLEXER 4: com enable EN } G MUX EN S S O D D D D X X Setembro de
CIRCUITOS COMBINATÓRIOS TÍPICOS - MULTIPLEXERS: Exemplos de Componentes MUX 8: EN 4 5 6 7 74LS5 MUX G _ 7 QUAD MUX : DUAL MUX 4: } EN 74LS5 G _ MUX Nos exemplos os sinais de Enable são activos a zero (a activação do funcionamento normal do componente acontece quando EN=). O 745 tem uma saída suplementar que é a negação da outra. Setembro de
CIRCUITOS COMBINATÓRIOS TÍPICOS - 4 DEMULTIPLEXER O DEMULTIPLEXER é um circuito combinatório que permite, através da especificação dos sinais de selecção, encaminhar a entrada para uma das N saídas. DEMULTIPLEXER :4 S S O O O O IN IN IN IN Setembro de
CIRCUITOS COMBINATÓRIOS TÍPICOS - 5 DEMULTIPLEXERS: ESTRUTURA INTERNA DEMULTIPLEXER :4 S S O O O O S IN IN S IN OUT IN OUT O = IN.S.S O = IN.S.S IN OUT O = IN.S.S O = IN.S.S OUT Setembro de
CIRCUITOS COMBINATÓRIOS TÍPICOS - 6 DEMULTIPLEXER E DESCODIFICADORES Um DESCODIFICADOR com ENABLE é equivalente a um DEMULTIPLEXER, sendo as entradas de dados do primeiro as entradas de selecção do segundo e a entrada de ENABLE do primeiro a entrada de dados do segundo. Nota: os símbolos abaixo referem a mesma funcionalidade do circuito. DUAL DMUX :4 DECODER :4 74LS9 74LS9 X/Y EN EN Setembro de
CIRCUITOS COMBINATÓRIOS TÍPICOS - 7 DESCODIFICADORES: APLICAÇÕES (F. COMBINATÓRIAS) Realização de F. Combinatórias de variáveis com DECODERs :8 f(x,y,z) = Σ m(,5,7) f(x,y,z) = Σ m(,,4) Z Y X 4 X/Y F 4 5 6 7 F Setembro de
CIRCUITOS COMBINATÓRIOS TÍPICOS - 8 DESCODIFICADORES: APLICAÇÕES (F. COMBINATÓRIAS) Realização de F. Combinatórias de variáveis com DECODERs :8 com saídas activas a. f(x,y,z) = Σ m(,5,7) f(x,y,z) = Σ m(,,4) Z Y X 4 74LS8 X/Y F EN 4 5 6 F 5V 7 Setembro de
CIRCUITOS COMBINATÓRIOS TÍPICOS - 9 MULTIPLEXERS: APLICAÇÕES (FUNÇÕES COMBINATÓRIAS) Exemplo de Realização de F. Combinatórias de variáveis com MUX 4 F = A + AB A B F MUX B _ A } G VCC "" "" "" "" VGND F Setembro de
CIRCUITOS COMBINATÓRIOS TÍPICOS - MULTIPLEXERS: APLICAÇÕES (FUNÇÕES COMBINATÓRIAS) Exemplo de Realização de F. Combinatórias de variáveis com MUX 4: F = A B + A C + ABC A B C F F = F = C F = F = C MUX B A } G _ "" C "" C F Setembro de
CIRCUITOS COMBINATÓRIOS TÍPICOS - DESCODIFICADORES: APLICAÇÕES (DESCODIFICAÇÃO) Exemplo de Realização de um DECODER :8 tendo por base DECODERs :4 A A X/Y D D A EN D D X/Y D4 D5 D6 EN D7 Setembro de
CIRCUITOS COMBINATÓRIOS TÍPICOS - MULTIPLEXERS: APLICAÇÕES (MULTIPLEXAGEM) Exemplo de Realização de um MUX 8: tendo por base MUX 4: S MUX S EN S } G _ S D D D D MUX S EN S S } G _ OUT OUT D4 D5 D6 D7 OUT Setembro de
CIRCUITOS COMBINATÓRIOS TÍPICOS - MULTIPLEXERS: APLICAÇÕES (MULTIPLEXAGEM) Exemplo de Realização de um MUX 6: tendo por base 4 MUX 4: S S X/Y MUX EN S } G _ S D D D D OUT MUX EN S } G _ S D8 D9 D D OUT OUT MUX EN S S } G _ MUX EN S S } G _ D4 D5 D6 D7 OUT D D D4 D5 OUT Setembro de
CIRCUITOS COMBINATÓRIOS TÍPICOS - 4 CIRCUITO PARA SOMA ARITMÉTICA Exemplo: Somador de números de 4 bits cada. Carry A estrutura mais simples resolve bit de cada vez: C4 C C C A A A A + B B B B C4 S S S S 7 + + 9 A B A B A B A B + + + + C 4 S C S C S C S Setembro de
CIRCUITOS COMBINATÓRIOS TÍPICOS - 5 CIRCUITO SEMI-SOMADOR O circuito semi-somador (em inglês, half-adder) soma bits de entrada (sem transporte anterior) e produz bit da soma e bit de transporte. A B + Carry-out Sum Corresponde p.ex. ao º passo do algoritmo de soma: soma os bits de menor peso e obtém bit S da soma e o transporte C para o passo seguinte. SEMI-SOMADOR HALF-ADDER C4 C C C A A A A + B B B B C4 S S S S C A B + S Setembro de
CIRCUITOS COMBINATÓRIOS TÍPICOS - 6 SEMI-SOMADOR A B C out S C out S = = A B A B A B = S C out Setembro de
CIRCUITOS COMBINATÓRIOS TÍPICOS - 7 CIRCUITO SOMADOR COMPLETO O circuito somador completo (em inglês, full-adder) soma bits de entrada (incluindo o transporte anterior) e produz bit da soma e bit de transporte. P.ex. no º passo: soma bits A e B e o transporte C do passo anterior, e obtém bit S da soma e o transporte C para o passo seguinte. C4 C C C A A A A + B B B B C4 S S S S A B Carry-in + SOMADOR COMPLETO FULL-ADDER Carry-out Sum C A B C + Setembro de S
CIRCUITOS COMBINATÓRIOS TÍPICOS - 8 SOMADOR COMPLETO A B C in C out S A B A B C in A B C in = S = C C in + C in A B + C in in A B + C = A B C out = A B + C in A B A B A + C = A B + C ( A B ) in = in S in B C out C in Setembro de
CIRCUITOS COMBINATÓRIOS TÍPICOS - 9 RIPPLE CARRY ADDER B N A N B A B A B A B A C N FA C N- C C FA C 4 FA C FA FA S N S S S S A velocidade máxima de execução é limitada pela necessidade de propagar o Carry desde a soma do primeiro bit até à soma do bit mais significativo. No pior caso, o tempo de propagação do Carry será N t PFA. Exemplo A comuta de para. A i =, i B i =, i + + O Ripple Carry Adder é o somador mais simples possível (que requer menos portas lógicas). Existem inúmeros circuitos alternativos para diversos compromissos velocidade/área. Setembro de
CIRCUITOS COMBINATÓRIOS TÍPICOS - REPRESENTAÇÃO DE NÚMEROS NEGATIVOS Sinal e Valor O bit mais significativo representa o sinal, e os restantes bits representam o seu valor absoluto. Ex.: -9 = Complemento para O complemento para de N, em n bits, é definido como ( n - ) - N. n é um número constituído por n s. Subtrair de equivale a inverter o bit: = e =. Portanto, complementar para corresponde a inverter todos os bits ( e ). Ex.: -9 = ( = = 55 9 ). Complemento para O complemento para de N, em n bits, é definido como n N para N, e para N =. Portanto, complementar para corresponde a complementar para e somar. Ex.: -9 = ( = = 56 9 ). Na prática, o complemento para pode ser formado do seguinte modo: mantém-se todos os s menos significativos e o primeiro, e invertem-se todos os outros bits mais significativos. Setembro de
CIRCUITOS COMBINATÓRIOS TÍPICOS - NÚMEROS BINÁRIOS COM SINAL As operações usando o sistema de sinal e valor são mais complicadas, devido à necessidade de gerir separadamente o sinal e o valor. Por isso, são normalmente utilizadas representações em complemento. A representação em complemento para é habitualmente preferida em sistemas digitais por ter uma única representação para o, e por as operações resultarem mais simples. Decimal Complemento para Complemento para Sinal e Valor +7 +6 +5 +4 + + + + - - - - - -4-5 -6-7 -8 - - Setembro de
CIRCUITOS COMBINATÓRIOS TÍPICOS - SOMA ARITMÉTICA DE NÚMEROS COM SINAL USANDO COMPLEMENTO PARA A soma aritmética de números binários com sinal, representados em complemento para, é obtida pela simples adição dos números incluindo os bits de sinal. O último carry out não é considerado. Exemplos 4 + + 7 4 + ( ) + 7 4 + ( ) + 4 + + Setembro de
CIRCUITOS COMBINATÓRIOS TÍPICOS - SUBTRACÇÃO DE NÚMEROS COM SINAL USANDO COMPLEMENTO PARA A subtracção de números binários com sinal, representados em complemento para, é obtida do seguinte modo: forma-se o complemento para do subtractor e somase ao subtraendo. Exemplo 4 4 + ( ) + + Complemento para = (Complemento para ) + B A B A B A B A A complementação para é realizada invertendo todos os bits do subtractor. A adição de é efectuada pondo o Carry inicial a. C C FA C 4 FA C FA FA S S S S Setembro de
CIRCUITOS COMBINATÓRIOS TÍPICOS - 4 CIRCUITO SOMADOR/SUBTRACTOR As operações de adição e subtracção são habitualmente combinadas num único somador genérico, através da inclusão de porta ou-exclusivo em cada Full-Adder. Quando o sinal de controlo SUBTRACT =, é realizada a adição A + B (os operandos B i não são invertidos e C = ). Quando o sinal de controlo SUBTRACT =, é realizada a subtracção A B (os operandos B i são invertidos e C = ). Setembro de
CIRCUITOS COMBINATÓRIOS TÍPICOS - 5 OVERFLOW Para se obter um resultado correcto, na adição e na subtracção, é necessário assegurar que o resultado tem um número de bits suficiente. Se somarmos números de N bits e o resultado ocupar N+ bits diz-se que ocorreu um overflow. As unidades aritméticas digitais usam um número fixo de bits para armazenar os operandos e os resultados, sendo necessário detectar e sinalizar a ocorrência de um overflow. Um overflow pode ocorrer na adição, se os operandos são ambos positivos ou se são ambos negativos. Exemplos Overflow = Carry N CarryN 4 + 5 + ovfl. 4 + ( 5) + ovfl. Setembro de
CIRCUITOS COMBINATÓRIOS TÍPICOS - 6 SOMADOR DE 4 BITS Somador de 4 bits completo: soma números de 4 bits cada e inclui um bit de carry-in. Gera um resultado da soma com 4 bits e gera também um carry-out. TTL 74LS8 } Σ }P } Q CI CO Setembro de
CIRCUITOS COMBINATÓRIOS TÍPICOS - 7 COMPARADOR DE NÚMEROS DE 4 BITS Este circuito faz a comparação de números binários de 4 bits. O circuito pode ser ligado em cascata, para realizar comparações entre números de N > 4 bits, utilizando os bits de entrada suplementares. TTL 74LS85 } COMP P > = < }Q P>Q P=Q P<Q Setembro de