Baixe o app para aproveitar ainda mais
Prévia do material em texto
9/4/12 1 Capítulo 4 – Operações com Dados Márcio Brandão – CIC/UnB – Circuitos Digitais Circuitos Digitais Capítulo 4 – Operações com Dados Parte a – Somadores Capítulo 4 – Operações com Dados Márcio Brandão – CIC/UnB – Circuitos Digitais Operações com dados n Nesse capítulo desenvolveremos blocos lógicos básicos de uso geral, e os utilizaremos de diversas formas Capítulo 4 – Operações com Dados Márcio Brandão – CIC/UnB – Circuitos Digitais Somador de palavras de 2 bits A1 A0 B1 B0 S2 S1 S0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 1 0 0 0 1 1 0 1 1 0 1 0 0 0 0 1 0 1 0 1 0 1 0 0 1 1 0 0 1 1 0 1 1 1 1 0 0 1 0 0 0 0 1 0 1 0 0 1 0 1 1 1 0 1 0 1 0 0 1 0 1 1 1 0 1 1 1 0 0 0 1 1 1 1 0 1 1 0 0 1 1 1 0 1 0 1 1 1 1 1 1 1 0 n Podemos projetar um somador de duas palavras de 2 bits utilizando as técnicas da Álgebra de Boole já aprendidas n Caso necessitemos de um somador de palavras de largura diferente, teremos que fazer um novo projeto! A B Capítulo 4 – Operações com Dados Márcio Brandão – CIC/UnB – Circuitos Digitais Bloco Básico Somador n Possibilita a construção, de uma maneira extremamente simples, de somadores de palavras com qualquer número de bits: Ai Bi Si Ci+1 Ci A3 B3 S3 S4 + Ai Bi Si Ci+1 Ci A2 B2 S2 + Ai Bi Si Ci+1 Ci A1 B1 S1 + Ai Bi Si Ci+1 A0 B0 S0 + Full-adder Half-adder Capítulo 4 – Operações com Dados Márcio Brandão – CIC/UnB – Circuitos Digitais Bloco Básico Somador Ai Bi Si Ci+1 Ci A3 B3 S3 S4 + Ai Bi Si Ci+1 Ci A2 B2 S2 + Ai Bi Si Ci+1 Ci A1 B1 S1 + Ai Bi Si Ci+1 A0 B0 S0 + 1 1 0 1 0 1 1 1 + 0 0 0 1 1 1 1 1 1 0 1 1 1 0 1 0 1 1 1 1 1 1 0 0 1 Capítulo 4 – Operações com Dados Márcio Brandão – CIC/UnB – Circuitos Digitais Meio-Somador (Half-Adder) n O meio-somador (half-adder) implementa a soma de dois bits Ai e Bi . O resultado da operação consiste: ¨ no bit da Soma Si ; e ¨ no bit de Carry Ci+1 para a próxima posição (vai- um) 1 1 + 1 Carry 0 Soma 1 0 + 1 0 0 1 + 1 0 0 0 + 0 0 9/4/12 2 Capítulo 4 – Operações com Dados Márcio Brandão – CIC/UnB – Circuitos Digitais Meio-Somador (Half-Adder) 0 0 0 1 1 1 0 1 0 1 1 0 0 0 0 1 Ai Bi Si Ci+1 iiiiiii BABABAS ⊕=+= iii BAC =+1 Capítulo 4 – Operações com Dados Márcio Brandão – CIC/UnB – Circuitos Digitais Meio-Somador (Half-Adder) n O circuito que implementa o half-adder apresenta duas entradas (os bits a serem somados) e duas saídas (a soma e o carry) 0 0 0 1 1 1 0 1 0 1 1 0 0 0 0 1 Ai Bi Si Ci+1 Ai Bi Si Ci+1 + Capítulo 4 – Operações com Dados Márcio Brandão – CIC/UnB – Circuitos Digitais Somador-completo (Full-Adder) n O somador-completo (full-adder) implementa a soma de dois bits, juntamente com o carry proveniente a posição anterior. O resultado da operação consiste: ¨ no bit da Soma; e ¨ no bit de Carry para a próxima posição (vai-um) 0 1 + 1 Carry-out 0 Soma 1 Carry-in Capítulo 4 – Operações com Dados Márcio Brandão – CIC/UnB – Circuitos Digitais Somador-completo (Full-Adder) n O circuito que implementa o full-adder apresenta três entradas (os bits Ai e Bi a serem somados, juntamente com o carry Ci proveniente do estágio anterior) e duas saídas (o bit de soma Si e o bit de carry Ci+1 para o próximo estágio) Ai Bi Si Ci+1 Ci + Capítulo 4 – Operações com Dados Márcio Brandão – CIC/UnB – Circuitos Digitais Somador-completo (Full-Adder) n Geração do bit de soma Si 0 0 0 0 0 0 1 1 0 1 1 0 0 0 0 1 Ai Bi Si Ci+1 0 1 0 1 Ci 1 0 1 1 1 0 1 1 0 1 0 1 1 0 0 0 1 1 1 1 1 1 1 1 AiBi Ci 01 11 10 00 0 1 iiiiiiiiiiiii CBACBACBACBAS +++= ( ) ( ) iiiiiiiiiii CBABACBABAS +++= ( ) ( ) iiiiiii CBACBAS ⊕+⊕= ( ) iiii CBAS ⊕⊕= Capítulo 4 – Operações com Dados Márcio Brandão – CIC/UnB – Circuitos Digitais Somador-completo (Full-Adder) n Geração do bit de carry Ci+1 0 0 0 0 0 0 1 1 0 1 1 0 0 0 0 1 Ai Bi Si Ci+1 0 1 0 1 Ci 1 0 1 1 1 0 1 1 0 1 0 1 1 0 0 0 1 1 1 1 iiiiiii CACBBAC ++=+1 1 1 1 1 AiBi Ci 01 11 10 00 0 1 9/4/12 3 Capítulo 4 – Operações com Dados Márcio Brandão – CIC/UnB – Circuitos Digitais Somador-completo (Full-Adder) Ai Bi Si Ci+1 Ci + n Resumindo: Capítulo 4 – Operações com Dados Márcio Brandão – CIC/UnB – Circuitos Digitais Full-adder construído com half-adders Bi Ai Si Ci+1 + Ai Bi ii BA ⊕ Ai Bi Si Ci+1 + Ci iiii CBAS ⊕⊕=( )iiiiii BACBAC ⊕+=+1 Capítulo 4 – Operações com Dados Márcio Brandão – CIC/UnB – Circuitos Digitais Full-adder construído com half-adders n Verificação da validade de Ci+1 ( )iiiiii BACBAC ⊕+=+1 ( )iiiiiiii BABACBAC ++=+1 ( ) ( )iiiiiiiii CBBACAABC +++=+1 iiiiiii CBCABAC ++=+1 Capítulo 4 – Operações com Dados Márcio Brandão – CIC/UnB – Circuitos Digitais Geração de Si a partir de Ci+1 n Por decomposição do mapa de Karnaugh: 1 1 1 1 1 1 1 AiBi Ci 01 11 10 00 0 1 1 1 1 1 AiBi Ci 01 11 10 00 0 1 iii CBA ++ ( ) 1+++ iiii CCBA 1 1 1 AiBi Ci 01 11 10 00 0 1 ( ) iiiiiiii CBACCBAS +++= +1 Capítulo 4 – Operações com Dados Márcio Brandão – CIC/UnB – Circuitos Digitais Geração de Si a partir de Ci+1 ( ) iiiiiiii CBACCBAS +++= +1 Capítulo 4 – Operações com Dados Márcio Brandão – CIC/UnB – Circuitos Digitais Somador TTL 7482 n Somador de duas palavras de dois bits 9/4/12 4 Capítulo 4 – Operações com Dados Márcio Brandão – CIC/UnB – Circuitos Digitais Somador TTL 7482 Capítulo 4 – Operações com Dados Márcio Brandão – CIC/UnB – Circuitos Digitais Somador TTL 7482 n Utiliza, para cada um dos estágios, a geração de Si a partir de Ci+1 Capítulo 4 – Operações com Dados Márcio Brandão – CIC/UnB – Circuitos Digitais Somador TTL 7482 Capítulo 4 – Operações com Dados Márcio Brandão – CIC/UnB – Circuitos Digitais Somador/subtrator Ai Bi Si Ci+1 Ci A3 B3 S3 + Ai Bi Si Ci+1 Ci A2 B2 S2 + Ai Bi Si Ci+1 Ci A1 B1 S1 + Ai Bi Si Ci+1 A0 B0 S0 + Ci Sel 0 1 Sel 0 1 Sel 0 1 Sel 0 1 Overflow SubtractAdd / Capítulo 4 – Operações com Dados Márcio Brandão – CIC/UnB – Circuitos Digitais Somador/subtrator n O somador/subtrator assume que os operandos estão na representação complemento-a-dois n O bloco seletor apresenta em sua saída ¨ o valor lógico presente em sua entrada “0” quando Sel=“0” ¨ o valor lógico presente em sua entrada “1” quando Sel=“1” X Y Z 0 1 Sel Sel 0 1 X Y Z Capítulo 4 – Operações com Dados Márcio Brandão – CIC/UnB – Circuitos Digitais Funcionamento como somador "0"/ =SubtractAdd BAS += Ai Bi Si Ci+1 Ci A3 + Ai Bi Si Ci+1 Ci A2 S2 + Ai Bi Si Ci+1 Ci A1 S1 + Ai Bi Si Ci+1 A0 S0 + Ci S3 Overflow “0” B3 B2 B1 B0 9/4/12 5 Capítulo 4 – Operações com Dados Márcio Brandão – CIC/UnB – Circuitos Digitais Funcionamento como subtrator "1"/ =SubtractAdd BAS −= S3 Overflow Ai Bi Si Ci+1 Ci A3 + Ai Bi Si Ci+1 CiA2 S2 + Ai Bi Si Ci+1 Ci A1 S1 + Ai Bi Si Ci+1 A0 S0 + Ci “1” 3B 2B 1B 0B Capítulo 4 – Operações com Dados Márcio Brandão – CIC/UnB – Circuitos Digitais Funcionamento como subtrator n Note que efetivamente o complemento-a-dois do segundo operando é que está sendo apresentado ao somador, pois todos os seus bits estão complementados, e o valor “1” está sendo adicionado à posição menos significativa através do carry! n O overflow é sinalizado quando o carry de entrada para a posição mais significativa for diferente do carry de saída, tanto para a operação de soma quanto para a subtração. Capítulo 4 – Operações com Dados Márcio Brandão – CIC/UnB – Circuitos Digitais Tempo de propagação do carry n Na discussão a seguir estamos considerando a implementação tradicional para o full-adder: Ai Bi Si Ci+1 Ci + Capítulo 4 – Operações com Dados Márcio Brandão – CIC/UnB – Circuitos Digitais Tempo de propagação do carry n Supondo que os números A e B são apresentados simultaneamente ao somador A3 B3 A2 B2 A1 B1 A0 B0 S0 @2 Ai Bi Si Ci+1 Ci + Ai Bi Si Ci+1 Ci + Ai Bi Si Ci+1 Ci + Ai Bi Si Ci+1 + 0 S1 @3 C4 @8 S2 @5 S3 @7 C1 @2 C2 @4 C3 @6 Capítulo 4 – Operações com Dados Márcio Brandão – CIC/UnB – Circuitos Digitais Tempo de propagação do carry n O atraso na geração do carry de saída de um estágio equivale ao retardo de duas portas com relação ao aparecimento do carry em sua entrada: Ai @0 Ai @0 Bi @0 Bi @0 Ci @N @1 @1 @N+1 Ci+1 @N+2 Capítulo 4 – Operações com Dados Márcio Brandão – CIC/UnB – Circuitos Digitais Tempo de propagação do carry n Diagrama de tempo t @0 @2 @4 @6 @8 A e B apresentados ao somador S0 e C1 válidos S1 válido C4 válido S3 válido C3 válido S2 válido C2 válido 9/4/12 6 Capítulo 4 – Operações com Dados Márcio Brandão – CIC/UnB – Circuitos Digitais Somador Carry Look-ahead n O conceito do carry lookahead (antecipação do carry) envolve a geração rápida do carry para grupos (normalmente 4 ou 5) de estágios de full adder. n Uma das formas de implementação do carry lookahead utiliza, para cada estágio de full adder, os sinais Generate (Gi) e Propagate (Pi) iii BAG = iii BAP ⊕= (o carry é gerado no full-adder quando Ai=Bi=“1”) (o carry-out é igual ao carry-in) Capítulo 4 – Operações com Dados Márcio Brandão – CIC/UnB – Circuitos Digitais Somador Carry Look-ahead (CLA) n O bit de soma Si pode ser expresso em termos de Pi: Ai Bi Ci Pi @1 Si @2 Gi @3 iiiiii CPCBAS ⊕=⊕⊕= Capítulo 4 – Operações com Dados Márcio Brandão – CIC/UnB – Circuitos Digitais Somador Carry Look-ahead n O bit de carry Ci+1 pode ser expresso em termos de Pi e de Gi: n Essa expressão de Ci+1 corresponde à do carry gerado por um full-adder convencional: iiii PCGC +=+1 (ou o carry é gerado no bloco ou ele se propaga) ( )iiiiii BACBAC ⊕+=+1 ( )iiiiiiii BABACBAC ++=+1 ( ) ( )iiiiiiiii CBBACAABC +++=+1 iiiiiii CBCABAC ++=+1 Capítulo 4 – Operações com Dados Márcio Brandão – CIC/UnB – Circuitos Digitais Somador Carry Look-ahead n Geração do carry para o primeiro estágio iiii PCGC +=+1 0001 PCGC += C0 P0 G0 C1 Capítulo 4 – Operações com Dados Márcio Brandão – CIC/UnB – Circuitos Digitais Somador Carry Look-ahead n Geração do carry para o segundo estágio n Como iiii CPGC +=+1 1112 CPGC += 0010112 CPPGPGC ++= 0001 CPGC += C0 P1 G0 C2 P0 G1 P1 Capítulo 4 – Operações com Dados Márcio Brandão – CIC/UnB – Circuitos Digitais Somador Carry Look-ahead n Geração do carry para o terceiro estágio n Como iiii CPGC +=+1 2223 CPGC += 0010112 CPPGPGC ++= 00120121223 CPPPGPPGPGC +++= P2 P0 P1 C0 P2 G0 P1 P2 G1 G2 C3 9/4/12 7 Capítulo 4 – Operações com Dados Márcio Brandão – CIC/UnB – Circuitos Digitais Somador Carry Look-ahead n Geração do carry para o quarto estágio n Como iiii CPGC +=+1 3334 CPGC += 0012301231232334 CPPPPGPPPGPPGPGC ++++= 00120121223 CPPPGPPGPGC +++= C0 C4 G3 P3 P2 P1 P0 P3 P2 P1 G0 P3 P2 G1 P3 G2 Capítulo 4 – Operações com Dados Márcio Brandão – CIC/UnB – Circuitos Digitais 74283 n 4-bit binary full-adder with fast-carry Capítulo 4 – Operações com Dados Márcio Brandão – CIC/UnB – Circuitos Digitais 74283 Capítulo 4 – Operações com Dados Márcio Brandão – CIC/UnB – Circuitos Digitais 74HC283 – tempos de propagação Capítulo 4 – Operações com Dados Márcio Brandão – CIC/UnB – Circuitos Digitais 74HC283 – tempos de propagação n Formas de onda Capítulo 4 – Operações com Dados Márcio Brandão – CIC/UnB – Circuitos Digitais Somador sem carry look-ahead A3 B3 A2 B2 A1 B1 A0 B0 S0 @2 Ai Bi Si Ci+1 Ci + Ai Bi Si Ci+1 Ci + Ai Bi Si Ci+1 Ci + Ai Bi Si Ci+1 + 0 S1 @3 C4 @8 S2 @5 S3 @7 C1 @2 C2 @4 C3 @6 n Tempos de propagação 9/4/12 8 Capítulo 4 – Operações com Dados Márcio Brandão – CIC/UnB – Circuitos Digitais Somador com carry look-ahead S0 @2 S1 @4 S2 @4 S3 @4 A3 B3 A2 B2 A1 B1 A0 B0 Ai Bi Si Ci + Ai Bi Si Ci + Ai Bi Si Ci + Ai Bi Si + C0 Ci C4 @3 C1 @3 C2 @3 C3 @3 C4 @3 n Tempos de propagação Capítulo 4 – Operações com Dados Márcio Brandão – CIC/UnB – Circuitos Digitais CLA de 4 bits com LCU + Ai Bi Si Pi Gi Ci P3 G3 C3 S3 + Ai Bi Si Pi Gi Ci P2 G2 C2 S2 + Ai Bi Si Pi Gi Ci P1 G1 C1 S1 + Ai Bi Si Pi Gi Ci P0 G0 S0 Lookahead Carry Unit C0 C4 PG GG A3 B3 A2 B2 A1 B1 A0 B0 0123 PPPPPG = 0123123233 GPPPGPPGPGGG +++= (Group Propagate) (Group Generate) Capítulo 4 – Operações com Dados Márcio Brandão – CIC/UnB – Circuitos Digitais Somador de 16 bits com LCU + P3 G3 C3 + P2 G2 C2 + P1 G1 C1 + PP GG C0 P0 G0 Lookahead Carry Unit n LCU = Look-ahead Carry Unit C0 C4 PG GG 4 B[3-0] A[3-0] S[3-0] PP GG C4 B[7-4] A[7-4] S[7-4] PP GG C8 B[11-8] A[11-8] S[11-8] PP GG C12 B[15-12] A[15-12] S[15-12] C16 4 4 4 4 4 4 4 4 4 4 4 Capítulo 4 – Operações com Dados Márcio Brandão – CIC/UnB – Circuitos Digitais Somador de 16 bits com LCU n Tempos de resposta + P3 G3 C3 + P2 G2 C2 + P1 G1 C1 + PG GG C0 P0 G0 Lookahead Carry Unit C0 C4 PG GG 4 B[3-0] A[3-0] S[3-0] PG GG C4 B[7-4] A[7-4] S[7-4] PG GG C8 B[11-8] A[11-8] S[11-8] PG GG C12 B[15-12] A[15-12] S[15-12] C16 4 4 4 4 4 4 4 4 4 4 4 @7 @8 @2 @2 @2 @2 @8 @5 @5 @5 @3 @3 @3 @3 @3 @4 @4 @4 Capítulo 4 – Operações com Dados Márcio Brandão – CIC/UnB – Circuitos Digitais 74S182 – Lookahead Carry Unit Capítulo 4 – Operações com Dados Márcio Brandão – CIC/UnB – Circuitos Digitais 74S182 – Lookahead Carry Unit 9/4/12 9 Capítulo 4 – Operações com Dados Márcio Brandão – CIC/UnB – Circuitos Digitais 74S182 – Lookahead Carry Unit Capítulo 4 – Operações com Dados Márcio Brandão – CIC/UnB – Circuitos Digitais 74S182 – Lookahead Carry Unit Capítulo 4 – Operações com Dados Márcio Brandão – CIC/UnB – Circuitos Digitais 74S182 – Lookahead Carry Unit n Aplicação típica Capítulo 4 – Operações com Dados Márcio Brandão – CIC/UnB – Circuitos Digitais Carry Look-ahead com Full-adders n Utilizam um grupo de full-adders convencionais, sendoa geração rápida do carry de saída realizada externamente A4 A3 A2 A1 B4 B3 B2 B1 C1 S1 S2 S3 S4 C5 Capítulo 4 – Operações com Dados Márcio Brandão – CIC/UnB – Circuitos Digitais Somadores com carry look-ahead n Exemplo: somador de 13 bits n Note a necessidade de um half-adder para efetuar a soma dos bits menos significativos das palavras Half-adder Capítulo 4 – Operações com Dados Márcio Brandão – CIC/UnB – Circuitos Digitais Somadores com carry look-ahead n Situação de maior retardo: ¨ Carry gerado no full-adder 1, e se propagando através dos full-adders 2, 3 e 4 ¨ C5 se propagando através de todas as estruturas de contorno centrais ¨ Carry de entrada do último bloco de carry look- ahead (C9 ) se propagando até o penúltimo full- adder (11) 9/4/12 10 Capítulo 4 – Operações com Dados Márcio Brandão – CIC/UnB – Circuitos Digitais Somadores com carry look-ahead n Assumindo que o tempo de propagação do carry d=2tpd, o tempo T de espera para a situação de maior retardo vale n Note que para um somador de 13 bits sem carry look-ahead o tempo T de espera para a situação de maior retardo vale dT 13= ddddT 5.735.3 =++= Capítulo 4 – Operações com Dados Márcio Brandão – CIC/UnB – Circuitos Digitais Somadores com carry look-ahead n Generalizando para N grupos de somadores com carry look-ahead, podemos dizer que o tempo T de espera vale n No caso de somadores de (4N+1) bits sem carry look-ahead o tempo T de espera vale: 1 2 N - 1 N dNT )14( += NddddNdT +=+−+= 5.43)2(5.3 Capítulo 4 – Operações com Dados Márcio Brandão – CIC/UnB – Circuitos Digitais Somadores com carry look-ahead n Tempo T de espera × N dNT )14( += NddT 5.15.3 += Com carry look-ahead Sem carry look-ahead Capítulo 4 – Operações com Dados Márcio Brandão – CIC/UnB – Circuitos Digitais Somadores - aplicações n Somador de 3 bits n Um somador de 2 bits e um de 1 bit Capítulo 4 – Operações com Dados Márcio Brandão – CIC/UnB – Circuitos Digitais Somadores - aplicações n Codificador de 5 entradas ¨ O número binário apresentado nas saídas (Σ3, Σ2, Σ1) corresponde ao número de entradas (I1, I2, I3, I4, I5) que estão em nível lógico “1” Capítulo 4 – Operações com Dados Márcio Brandão – CIC/UnB – Circuitos Digitais Somadores - aplicações n Detetor de maioria com 5 entradas ¨ Quando a maioria das entradas I1, I2, I3, I4e I5 estiver no nível lógico “1”, a saída M5 estará no nível lógico “1” 9/4/12 11 Capítulo 4 – Operações com Dados Márcio Brandão – CIC/UnB – Circuitos Digitais Referências n Katz, Randy H. (1993), Contemporary Logic Design, Benjamin Cummings/ Addison Wesley. n Hill, F. & Peterson, G. (1981), Introduction to Switching Theory and Logical Design, John Wiley & Sons. n Wakerly, John F., Digital Design Principles and Practices
Compartilhar