CIRCUITOS COMBINATÓRIOS TÍPICOS Setembro de 4
CIRCUITOS COMBINATÓRIOS TÍPICOS - SUMÁRIO: CODIFICADORES DESCODIFICADORES MULTIPLEXERS DEMULTIPLEXERS SOMADORES / SUBTRACTORES COMPARADORES Setembro de 4
CIRCUITOS COMBINATÓRIOS TÍPICOS - CODIFICADORES: O CODIFICADOR é um circuito combinatório que permite, perante a activação de uma entrada, gerar uma codificação ou combinação de sinais de saída correspondente a essa entrada. Exemplo: Entradas de Dados I I CODIFICADOR 4: I I I I I I A A > > A Saídas ou Código A Setembro de 4
CIRCUITOS COMBINATÓRIOS TÍPICOS - 4 CODIFICADORES DE PRIORIDADE: Codificadores de Prioridade: Permite a activação de mais de uma entrada simultaneamente gerando a codificação correspondente à entrada mais prioritária activa. Exercício: Determine uma implementação possível para um conversor de prioridade 4:, que permita a activação de entradas em simultâneo gerando sempre a codificação correspondente à entrada de maior ordem. (Sugestão: Comece por determinar os mapas de Karnaugh para cada saída) I I I I A I I I I A Setembro de 4
CIRCUITOS COMBINATÓRIOS TÍPICOS - 5 DESCODIFICADORES: ARQUITECTURA O DESCODIFICADOR é um circuito combinatório que permite, perante uma combinação de entradas, activar uma e só uma saída. DESCODIFICADOR :4 Saídas IN IN OUT OUT OUT OUT Entrada de Dados ou Código IN IN OUT OUT OUT OUT Setembro de 4
CIRCUITOS COMBINATÓRIOS TÍPICOS - 6 DESCODIFICADORES: SIMBOLOGIA Exemplos: DESCODIFICADOR :8 X_H X_H X_H _L _L _H 4 74LS8 X/Y 4 5 6 7 Y_L Y_L Y_L Y_L Y4_L Y5_L Y6_L Y7_L DUAL DECODER :4 X_H X_H _L X_H X_H _L 74LS9 X/Y Y_L Y_L Y_L Y_L Y_L Y_L Y_L Y_L X_H X_H _L _H DUAL DECODER :4 74LS55 X/Y Y_L Y_L Y_L Y_L _L _H Y_L Y_L Y_L Y_L Setembro de 4
CIRCUITOS COMBINATÓRIOS TÍPICOS - 7 DESCODIFICADORES: APLICAÇÕES (DESCODIFICAÇÃO) Exemplo: Implementação de um DECODER :8 tendo por base DECODERs :4 A A X/Y D D A D D X/Y D4 D5 D6 D7 Setembro de 4
CIRCUITOS COMBINATÓRIOS TÍPICOS - 8 DESCODIFICADORES: APLICAÇÕES (F. COMBINATÓRIAS) Implementação de F. Combinatórias de variáveis com DECODERs :8 Exemplo: f(x,y,z) = Σ m(,5,7) f(x,y,z) = Σ m(,,4) Z Y X 4 74LS8 X/Y F 4 5 6 F 5V 7 Setembro de 4
CIRCUITOS COMBINATÓRIOS TÍPICOS - 9 MULTIPLEXERS: ARQUITECTURA 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 OUT D D D Entradas de Dados D D D D OUT Saída D SEL (S, S) ABLE Entradas de Controlo (Selecção e Habilitação) Setembro de 4
CIRCUITOS COMBINATÓRIOS TÍPICOS - MULTIPLEXERS: ARQUITECTURA Exemplo: MULTIPLEXER 4: Entradas de Selecção S S S OUT S D D D D Entradas de Dados D D Saída OUT D D Setembro de 4
CIRCUITOS COMBINATÓRIOS TÍPICOS - MULTIPLEXERS: SIMBOLOGIA Exemplos: MULTIPLEXER 4: S S D A designação das variáveis de entrada/saída deve indicar o nível de actividade H ou L. D OUT D D MUX MUX S_H S_H } G _ D_H D_H D_H OUT_H Por simplicidade sempre que não exista uma funcionalidade clara associada a uma entrada ou saída será omitido o nível de actividade. Por omissão será considerado o nível de actividade H. S S } G _ D D D OUT D_H D Setembro de 4
CIRCUITOS COMBINATÓRIOS TÍPICOS - MULTIPLEXERS: SIMBOLOGIA Exemplos: MULTIPLEXER 8: c/ ABLE (74LS5), TRISTATE (74LS5) _L S_H S_H S_H IN_H IN_H IN_H IN_H IN4_H IN5_H IN6_H IN7_H 74LS5 MUX G _ 7 4 5 6 7 } OUT_H OUT_L _L S_H S_H S_H IN_H IN_H IN_H IN_H IN4_H IN5_H IN6_H IN7_H 74LS5 MUX G _ 7 4 5 6 7 } OUT_H OUT_L Saída Tristate S S S _L OUT_H OUT_H - - - HI-Z IN_H IN_H IN_H IN_H Setembro de 4
CIRCUITOS COMBINATÓRIOS TÍPICOS - MULTIPLEXERS: SIMBOLOGIA Exemplos: QUAD MUX : DUAL MUX 4: _L SEL_H G 74LS57 SEL_H SEL_H } 74LS5 G _ IN_H IN_H IN_H IN_H IN_H IN_H IN_H IN_H MUX OUT_H OUT_H OUT_H OUT_H _L IN_H IN_H IN_H IN_H _L IN_H IN_H IN_H IN_H MUX OUT_H OUT_H Setembro de 4
CIRCUITOS COMBINATÓRIOS TÍPICOS - 4 MULTIPLEXERS: APLICAÇÕES (MULTIPLEXAGEM) Exemplos: Implementação de um MUX 8: tendo por base MUX 4:, MUX S S S } G _ D OUT com e sem saída tristate MUX S S S } G _ D D D D D D D OUT OUT MUX S OUT S S } G _ MUX S OUT S S } G _ D4 D4 D5 D5 D6 D6 D7 D7 Setembro de 4
CIRCUITOS COMBINATÓRIOS TÍPICOS - 5 Exemplos: MULTIPLEXERS: APLICAÇÕES (MULTIPLEXAGEM) Implementação de um MUX : tendo por base 4 MUX 8: Setembro de 4
CIRCUITOS COMBINATÓRIOS TÍPICOS - 6 Exemplos: MULTIPLEXERS: APLICAÇÕES (FUNÇÕES COMBINATÓRIAS) Implementação de F. Combinatórias de variáveis com MUX 4: A F = A + B AB F MUX B A } G _ VCC "" F "" "" "" VGND Setembro de 4
CIRCUITOS COMBINATÓRIOS TÍPICOS - 7 MULTIPLEXERS: APLICAÇÕES (FUNÇÕES COMBINATÓRIAS) Implementação de F. Combinatórias de variáveis com MUX 4: Exemplos: 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 4
CIRCUITOS COMBINATÓRIOS TÍPICOS - 8 DEMULTIPLEXERS: ARQUITECTURA 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 OUT IN OUT IN OUT IN OUT IN Entrada de Dados IN Saídas OUT OUT OUT OUT ABLE SEL (S, S) Entradas de Controlo (Selecção e Habilitação) Setembro de 4
CIRCUITOS COMBINATÓRIOS TÍPICOS - 9 DEMULTIPLEXERS: ARQUITECTURA Exemplo: DEMULTIPLEXER :4 Entradas de Selecção S S S OUT OUT OUT OUT S Saídas IN IN IN Entrada de Dados OUT OUT IN IN OUT OUT Setembro de 4
CIRCUITOS COMBINATÓRIOS TÍPICOS - DEMULTIPLEXERS: SIMBOLOGIA Exemplos: DEMULTIPLEXER :4 S S OUT DMUX S S } G _ DUAL DMUX :4 IN OUT OUT OUT IN OUT OUT OUT OUT S_H S_H IN_L 74LS9 DMUX }G _ OUT_L OUT_L OUT_L OUT_L S_H S_H IN_L }G _ OUT_L OUT_L OUT_L OUT_L Setembro de 4
CIRCUITOS COMBINATÓRIOS TÍPICOS - DEMULTIPLEXER E DESCODIFICADORES Um DESCODIFICADOR com ABLE é equivalente a um DEMULTIPLEXER, sendo as entradas de dados do primeiro as entradas de selecção do segundo e a entrada de ABLE do primeiro a entrada de dados do segundo. Nota: a simbologia altera-se de acordo com a funcionalidade do circuito. DUAL DMUX :4 74LS9 DECODER :4 S_H S_H IN_L 74LS9 DMUX }G _ OUT_L OUT_L OUT_L OUT_L X_H X_H _L 74LS9 X/Y Y_L Y_L Y_L Y_L S_H S_H IN_L }G _ OUT_L OUT_L OUT_L OUT_L X_H X_H _L Y_L Y_L Y_L Y_L Setembro de 4
CIRCUITOS COMBINATÓRIOS TÍPICOS - CIRCUITO PARA SOMA ARITMÉTICA A estrutura mais simples resolve bit de cada vez. Passo : soma os bits de menor peso e obtém bit do resultado e o carry para o passo seguinte. A B A B Carry-in + Carry-out Sum SEMI-SOMADOR HALF-ADDER Passo N : soma os bits dos operandos, mais o carry do passo anterior, e obtém bit de resultado e um carryout. + Carry-out Sum SOMADOR COMPLETO FULL-ADDER Exemplo Somador de números de 4 bits cada. Carry 7 + + 9 A B A B A B A B + + + + C 4 S C S C S C S Setembro de 4
CIRCUITOS COMBINATÓRIOS TÍPICOS - SEMI-SOMADOR A B C out S C out S = = A B A B A B = S C out Setembro de 4
CIRCUITOS COMBINATÓRIOS TÍPICOS - 4 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 + C in in A B A B A + C in ( A B) = S B C out C in Setembro de 4
CIRCUITOS COMBINATÓRIOS TÍPICOS - 5 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 4
CIRCUITOS COMBINATÓRIOS TÍPICOS - 6 REPRESTAÇÃ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 4
CIRCUITOS COMBINATÓRIOS TÍPICOS - 7 NÚMEROS BINÁRIOS COM SINAL Decimal Complemento para Complemento para Sinal e Valor As operações usando o sistema de sinal e valor são mais complicadas, devido à necssidade 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. +7 +6 +5 +4 + + + + - - - - - -4-5 -6-7 -8 - - Setembro de 4
CIRCUITOS COMBINATÓRIOS TÍPICOS - 8 Setembro de 4 SOMA ARITMÉTICA DE NÚMEROS COM SINAL USANDO COMPLEMTO 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. + 7 4 + Exemplos + 7 ( ) 4 + + ( ) 4 + + 4 +
CIRCUITOS COMBINATÓRIOS TÍPICOS - 9 SUBTRACÇÃO DE NÚMEROS COM SINAL USANDO COMPLEMTO 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 4
CIRCUITOS COMBINATÓRIOS TÍPICOS - 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 SOMA_L =, é realizada a adição A + B (os operandos B i não são invertidos e C = ). Quando o sinal de controlo SOMA_L =, é realizada a subtracção A B (os operandos B i são invertidos e C = ). B A B A B A B A SOMA_L C C FA C 4 FA C FA FA S S S S Setembro de 4
CIRCUITOS COMBINATÓRIOS TÍPICOS - 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 4 + 5 + + ( 5) + ovfl. ovfl. Setembro de 4
CIRCUITOS COMBINATÓRIOS TÍPICOS - SOMADOR DE 4 BITS Somador de 4 bits rápido: usa internamente um carry lookahead trata-se de um somador de maior rapidez, conseguida à custa de um maior número de portas lógicas. TTL 74LS8 Σ }P } Q CI CO Setembro de 4
CIRCUITOS COMBINATÓRIOS TÍPICOS - 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. TTL 74LS85 COMP }P > = < }Q P>Q P=Q P<Q Setembro de 4
CIRCUITOS COMBINATÓRIOS TÍPICOS - 4 BIBLIOGRAFIA [] M. Morris Mano, Charles R. Kime, Logic and Computer Design Fundamentals, Prentice-Hall International, Inc. (Capítulo, Secções.5-.) Setembro de 4