Escolar Documentos
Profissional Documentos
Cultura Documentos
4.1.1.1. Cdigo BCD 8421 um cdigo de 4 bits que usa o padro 8421 de pesos posicionais do sistema binrio, onde 8, 4, 2 e 1 so as potncias de 2 para numerais binrios de 4 bits. Somando os pesos de cada bit 1 da palavra-cdigo, obtm-se o algarismo decimal correspondente, de maneira idntica converso normal de binrio para decimal. Como mostrado na tabela 4.1, o cdigo BCD 8421 utiliza somente 10 das 16 combinaes possveis com palavras de 4 bits. BCD 8421 0 0000 1 0001 2 0010 3 0011 4 0100 5 0101 6 0110 7 0111 8 1000 9 1001 Tabela 4.1 - Cdigo BCD 8421. Decimal
Exemplo de converso decimal BCD 8421: 72510 0111_0010_0101BCD A principal vantagem do cdigo BCD 8421 a sua simplicidade: ele to popular que quase sempre chamado simplesmente de cdigo BCD, ficando implcito tratar-se do BCD 8421.
37
Eletrnica Digital
4.1.1.2. Cdigo Excesso-3 (XS3) um cdigo BCD em que soma-se 3 representao em BCD 8421 de cada dgito decimal. O objetivo gerar um cdigo binrio auto-complementar, o que significa um cdigo no qual o complemento de 1 de uma palavra-cdigo corresponde, em decimal, ao complemento de 9 do algarismo decimal que a palavra inicial representava. O complemento de 9 de um algarismo decimal D o quanto falta para ele chegar a 9: C9(D) = 9 D. O complemento de 1 de um numeral binrio B, de n bits, definido por: C1(B) = (2n 1)2 B onde (2 1)2 uma palavra de n bits em que todos so iguais a 1. O complemento de 1 de B pode ser encontrado de forma lgica invertendo-se todos os bits de B, um por um. B = bn-1 bn-2 ... b1 b0 C1(B) = b n1 b n-2 ... b1 b 0
n
Decimal Excesso-3 0 0011 1 0100 2 0101 3 0110 4 0111 5 1000 6 1001 7 1010 8 1011 9 1100 Tabela 4.2 - Cdigo XS3.
O 210 em excesso-3 0101; o complemento de 9 do 210 710, logo o 710 em XS3 1010, o complemento bit a bit de 0101. O 910 em XS3 o complemento de 1 do 010 em XS3, o 810 o complemento de 1 do 110, e assim por diante. Isso caracteriza o cdigo como auto-complementar: um algarismo decimal e seu complemento de 9 correspondem a palavras binrias tambm complementares. Para converter-se um numeral de decimal para excesso-3, deve-se somar 0011 (3) representao BCD 8421 de cada algarismo desse numeral. Por exemplo: 109810 excesso-3 109810 = 0001_0000_1001_1000BCD 0100_0011_1100_1011XS3 Para converter-se um numeral de excesso-3 para decimal, subtrair 0011 de cada grupo de 4 bits (a contar da direita) e escrever o equivalente decimal de cada resultado. Por exemplo: 100_1010_0110XS3 1_0111_0011BCD = 17310 A desvantagem do cdigo excesso-3 que ele no ponderado.
38
ELETRNICA DIGITAL
4.1.1.3. Cdigo 2-entre-5 Trata-se de um cdigo com palavras de 5 bits, em que cada palavra contm somente dois bits 1. Na codificao dos algarismos decimais de 0 at 9, as palavrascdigo tambm so usadas em ordem crescente. Sua vantagem a facilidade de deteco de erros, pois todas as palavras precisam ter a mesma quantidade de 1s. Sua desvantagem ser muito redundante (das 32 combinaes possveis, apenas 10 so usadas). Decimal 2-entre-5 0 00011 1 00101 2 00110 3 01001 4 01010 5 01100 6 10001 7 10010 8 10100 9 11000 Tabela 4.3 - Cdigo 2-entre-5. Uma vantagem dos cdigos BCD que numerais decimais com a mesma quantidade de algarismos so codificados por palavras de mesmo comprimento. Dentre as desvantagens dos cdigos BCD, citam-se: eles no usam todas as combinaes possveis de bits; so menos eficientes que a representao em binrio puro, pois ocupam mais memria e as operaes aritmticas so mais complexas e demoradas.
4.1.2. Cdigo Johnson um cdigo refletido no-ponderado, de trs ou mais bits. Cdigo refletido aquele em que somente um bit varia quando da passagem de uma palavra (estado) para outra consecutiva, anterior ou posterior. Um cdigo refletido cclico, ou seja, do ltimo estado volta-se para o primeiro, fechando o ciclo do cdigo e mantendo a variao de apenas um bit entre palavras vizinhas. O cdigo Johnson implica em uma sequncia determinada de gerao de suas palavras, sendo gerado por um contador Johnson. til em aplicaes com circuitos sequenciais. 00000 00001 00011 00111 01111 11111 11110 11100 11000 10000 Tabela 4.4 - Uma sequncia em cdigo Johnson com 5 bits.
39
Eletrnica Digital
O cdigo Johnson, ao contrrio dos cdigos BCD, no foi criado para representar os dgitos decimais.
4.1.3. Cdigo Gray um cdigo refletido e no-ponderado. Um exemplo de cdigo Gray mostrado na tabela 4.5, consistindo em uma sequncia refletida que percorre o mapa de Karnaugh, passando sempre de uma casa para outra logicamente adjacente, at passar do ltimo valor novamente para o primeiro, fechando o ciclo do cdigo. Cdigo Gray 0000 0001 0011 0010 0110 0111 0101 0100 1100 1101 1111 1110 1010 1011 1001 1000
AB CD 00 01 11 10
00
01
11
10
. . . .
. . . .
. . . .
. . . .
Outras sequncias cclicas de palavras binrias, no mapa de Karnaugh, determinam outras variantes do cdigo Gray:
AB CD 00 01 11 10
00
01
11
10
. . . .
. . . .
40
. . . .
. . . .
ELETRNICA DIGITAL
4.1.4. Cdigo ASCII (American Standard Code for Information Interchange, ou Cdigo Americano Padro para Intercmbio de Informaes) Pronuncia-se squi. adotado nos computadores para a representao de letras, algarismos, sinais de pontuao, caracteres de controle e smbolos especiais. originalmente um cdigo de 7 bits (128 palavras), mas nos computadores foi acrescentado um oitavo bit para a representao de caracteres especiais, como smbolos grficos e/ou letras acentuadas.
4.2.1. Projetos de Conversores de Cdigos 4.2.1.1. Projeto de um codificador BCD 8421 para Excesso-3 A converso de palavras em BCD 8421 para o cdigo Excesso-3 mostrada na tabela 4.6. Palavras de entrada maiores que 1001BCD (910) no pertencem mais ao cdigo BCD 8421, isto , no pertencem ao domnio da funo de codificao BCD XS3, logo no se precisa saber a priori quais sero as sadas: elas no importam (dont care). O uso do X no projeto das sadas opcional, e estas poderiam ter sido todas definidas como 0 para palavras de entrada fora da faixa do cdigo BCD. Mas o emprego do X permite a mxima simplificao das expresses das funes de sada, e portanto o mnimo circuito. Cada bit de sada uma funo lgica diferente das entradas A, B, C e D. Monta-se os mapas de Karnaugh para cada uma, obtendo-se as expresses a seguir: S3 = A + B(C + D) S2 = B C D + B (C + D) = B (C + D) + B (C + D)
S1 = C D + CD = (C + D) + CD
S0 = D
e depois montam-se os circuitos de S3, S2, S1 e S0; o esquemtico mostrado na figura 4.1. Apesar de as quatro sadas serem independentes entre si, pode-se observar
41
Eletrnica Digital
que elas possuem termos comuns, o que deve ser aproveitado para simplificar ainda mais a implementao do circuito, compartilhando-se sadas de portas onde for possvel. BCD 8421 Excesso-3 Decimal A B C D S3 S2 S1 S0 0 0 0 0 0 0 0 1 1 1 0 0 0 1 0 1 0 0 2 0 0 1 0 0 1 0 1 3 0 0 1 1 0 1 1 0 4 0 1 0 0 0 1 1 1 5 0 1 0 1 1 0 0 0 6 0 1 1 0 1 0 0 1 7 0 1 1 1 1 0 1 0 8 1 0 0 0 1 0 1 1 9 1 0 0 1 1 1 0 0 X 1 0 1 0 X X X X X 1 0 1 1 X X X X X 1 1 0 0 X X X X X 1 1 0 1 X X X X X 1 1 1 0 X X X X X 1 1 1 1 X X X X Tabela 4.6 Converso do cdigo BCD 8421 para o cdigo XS3.
42
ELETRNICA DIGITAL
Excesso-3 BCD 8421 Decimal A B C D S3 S2 S1 S0 X 0 0 0 0 X X X X X 0 0 0 1 X X X X X 0 0 1 0 X X X X 0 0 0 1 1 0 0 0 0 1 0 1 0 0 0 0 0 1 2 0 1 0 1 0 0 1 0 3 0 1 1 0 0 0 1 1 4 0 1 1 1 0 1 0 0 5 1 0 0 0 0 1 0 1 6 1 0 0 1 0 1 1 0 7 1 0 1 0 0 1 1 1 8 1 0 1 1 1 0 0 0 9 1 1 0 0 1 0 0 1 X 1 1 0 1 X X X X X 1 1 1 0 X X X X X 1 1 1 1 X X X X Tabela 4.7 Converso do cdigo XS3 para o cdigo BCD 8421. Os valores das sadas no importam para palavras de entrada que no pertenam ao cdigo XS3. Pelo mesmo procedimento usado anteriormente no projeto do codificador, obtm-se as seguintes expresses para as sadas S3 a S0: S3 = A(B + CD) S1 = CD + C D S2 = B C + C(AD + BD) = B + C + C(AD + BD) S0 = D
43
Eletrnica Digital
Os circuitos decodificadores mais simples so aqueles em que uma nica sada ativada para cada uma das possveis palavras em suas entradas. Um exemplo um decodificador de 3 para 8 linhas (3-line-to-8-line decoder): ele possui 3 linhas de entrada, logo existem 8 palavras binrias de entrada possveis; portanto, o circuito precisa ter 8 sadas, cada uma correspondendo a uma palavra de entrada diferente. Isto , trata-se de um circuito para converter (decodificar) palavras de binrio para octal, indicando o valor octal em suas sadas. Esse circuito tambm chamado decodificador 1-de-8, por ter no mximo uma sada ativa de um total de 8. O circuito da figura 4.3 um decodificador de 3 para 8 linhas bsico; neste esquemtico, C o MSB e A o LSB. Tambm existem decodificadores 2-para-4linhas (1-de-4), 4-para-16-linhas (1-de-16) e, de modo geral, n-para-2n-linhas (1-de-2n). Esse tipo de decodificador atua como um endereador.
Figura 4.3 Decodificador 3x8 linhas (ou 1-de-8) bsico: decodifica de 3 linhas para 8 linhas. Somente uma sada estar ativa para cada combinao de valores dos trs bits de entrada.
As macrofunes digitais, como os codificadores e decodificadores por exemplo, podem possuir alguns recursos extras e diferenas de funcionamento em relao a seus circuitos bsicos. Os recursos e diferenas mais comuns so:
44
ELETRNICA DIGITAL
Sinais ativos em nvel baixo (active-low signals): so sinais que repousam normalmente em nvel lgico 1, e vo a nvel lgico 0 para indicar sua ativao. um modo de operao muito comum em CIs digitais. O circuito da figura 4.3 tem as sadas ativadas em nvel lgico alto (active-high). J no decodificador com sadas ativas em nvel baixo, uma sada torna-se 0 quando o endereo dela for aplicado.
Tanto sinais de entrada como de sada podem ser active-low, e so identificados por uma bolinha de inverso no pino do sinal, e pelo uso da barra de inverso como parte integrante do nome do sinal.
Habilitao do chip (Enable ou Chip Enable): trata-se de um pino de entrada presente em muitos CIs digitais de prateleira, normalmente denominado E ou CE, que permite habilitar ou inibir a operao do circuito; pode ser ativo em nvel alto ou em nvel baixo. Quando o sinal de habilitao est ativado, ele habilita o CI, ou seja, permite que as suas sadas mudem de valor, em funo das palavras de entrada. Por exemplo, em CIs nos quais a habilitao ativa em nvel baixo (E ou CE ), as sadas do dispositivo sero habilitadas se E ou CE passarem a 0. Quando a habilitao desativada, as sadas so inibidas e no respondem mais s palavras de entrada, permanecendo estticas.
O chip enable no uma entrada de dados, e sim uma entrada de controle, que tambm pode ser chamada de chip select (CS ou CS ) ou select (S ou S ). O decodificador 1-de-8 da figura 4.3, acrescido de um pino de habilitao e com sadas ativas em nvel baixo, mostrado na figura 4.4(a); sua tabela-verdade mostrada na tabela 4.8. Ao ser inserido em um sistema junto com outros circuitos, este decodificador deve ser representado pelo smbolo da figura 4.4(b).
E 1 0 0 0 0 0 0 0 0
45
Eletrnica Digital
(b)
(a) Figura 4.4 (a) Esquemtico e (b) smbolo do decodificador 1-de-8 com enable e sadas ativas em nvel baixo.
46
ELETRNICA DIGITAL
O que se precisa de uma forma de isolar as sadas de um CI qualquer do barramento no qual ele ligado. As chaves de trs estados vm resolver esse problema, pois so componentes que possuem trs estados de sada: 0, 1 e alta impedncia, representada por Z. As chaves de trs estados podem ser: inversora ou no-inversora, ativa em nvel alto ou ativa em nvel baixo. Chave tri-state no-inversora, ativa em nvel alto: C 0 1 1 Chave tri-state inversora, ativa em nvel alto: C 0 1 1 Chave tri-state no-inversora, ativa em nvel baixo: C 0 0 1 Chave tri-state inversora, ativa em nvel baixo: C 0 0 1 A 0 1 X Y 1 0 Z A 0 1 X Y 0 1 Z A X 0 1 Y Z 1 0 A X 0 1 Y Z 0 1
Como um exemplo de utilizao das chaves de trs estados, a figura 4.5 mostra um decodificador 2-para-4-linhas com chip enable para sadas tri-state.
47
Eletrnica Digital
Figura 4.6 Mostrador de sete segmentos. Cada segmento tem seu prprio pino no encapsulamento do mostrador. Alguns mostradores possuem tambm um LED para o ponto decimal, com um pino prprio. Para conhecer-se a pinagem (funo de cada pino), necessrio consultar a folha de dados do mostrador especfico ou compatvel. A estrutura interna do mostrador de sete segmentos pode ser em ctodo comum (segmentos acionados por tenso alta) ou nodo comum (segmentos acionados por tenso baixa), como esquematizado na figura 4.7.
Ctodo comum nodo comum Figura 4.7 Estruturas de mostradores de sete segmentos. O projeto de qualquer circuito decodificador para acionar mostradores de sete segmentos precisa levar em conta qual dos dois tipos de mostrador ser empregado, se o de ctodo comum ou o de nodo comum. Porm, pode-se acionar mostradores de um tipo com decodificadores projetados para mostradores do outro tipo, simplesmente invertendo-se as sadas desses decodificadores. Para exibir os algarismos decimais em um mostrador de sete segmentos, geralmente utiliza-se um decodificador de BCD para o cdigo de 7-segmentos (BCDto-7-segment decoder). Esse circuito recebe como entrada os algarismos decimais em cdigo BCD, e gera os sinais de a a g correspondentes para "montar" cada algarismo e exibi-lo no mostrador. Para fazer isso, o decodificador precisa controlar cada segmento individualmente, o que assegurado por meio do seu projeto. Por exemplo, para exibir o 2, ativa-se os LEDs a, b, d, e, g, como na figura 4.8.
48
ELETRNICA DIGITAL
A tabela 4.9 a tabela-verdade para o projeto de um circuito decodificador de BCD para 7-segmentos, para mostradores do tipo ctodo comum. Monta-se o mapa de Karnaugh para cada sada, de a at g, obtendo-se as expresses mnimas de cada funo. Em seguida, esquematiza-se o circuito.
BCD 8421 Cdigo de 7 Segmentos Decimal A B C D a b c d e f g 0 0 0 0 0 1 1 1 1 1 1 0 1 0 0 0 1 0 1 1 0 0 0 0 2 0 0 1 0 1 1 0 1 1 0 1 3 0 0 1 1 1 1 1 1 0 0 1 4 0 1 0 0 0 1 1 0 0 1 1 5 0 1 0 1 1 0 1 1 0 1 1 6 0 1 1 0 1 0 1 1 1 1 1 7 0 1 1 1 1 1 1 0 0 0 0 8 1 0 0 0 1 1 1 1 1 1 1 9 1 0 0 1 1 1 1 1 0 1 1 Tabela 4.9 Tabela-verdade para a converso entre os cdigos BCD e 7-segmentos.
a = B D + BD + A + C b = C D + CD + B c=B+ C +D d = B C D + B C + CD + B D + A e = CD + B D f = BC + BD + C D + A g = B C + B C + CD + A
A figura 4.9 mostra o esquemtico do decodificador de BCD para o cdigo de 7segmentos. Na prtica, as ligaes das sadas do decodificador para as entradas do mostrador devem sempre ser feitas com resistores em srie, com um resistor para cada segmento; caso contrrio, os LEDs do mostrador iro queimar. Alguns modelos de mostradores j trazem esses resistores integrados no seu encapsulamento. Pode-se expandir o projeto do decodificador para reconhecer tambm as palavras binrias restantes com quatro bits, de 1010 a 1510, exibindo-se ento os algarismos hexadecimais correspondentes (de A a F). Isso pode ser til ou no, dependendo da aplicao (a funo do circuito) em que o mostrador ser inserido. Por exemplo, no h razo para projetar o decodificador para reconhecer os algarismos hexa se ele s vai ser usado em um relgio digital. Um decodificador de BCD para 7segmentos certamente mais simples do que um de hexadecimal para 7-segmentos.
49
Eletrnica Digital
Figura 4.9 Esquemtico do decodificador de BCD para o cdigo de 7 segmentos, para mostradores do tipo ctodo comum.
50
ELETRNICA DIGITAL
4.5. Multiplexadores
A multiplexao consiste na operao de compartilhamento de um canal de comunicao. Esta operao necessria quando houver mais de uma fonte de dados e um nico meio fsico para a transmisso desses dados. O conceito bsico desta operao, ilustrado na figura 4.10, o chaveamento da entrada de acesso ao meio entre as diversas fontes, permitindo a passagem de apenas um dos sinais por vez.
Figura 4.10 Idia da multiplexagem de sinais. Um multiplexador digital, tambm chamado de multiplex ou mux, um circuito que, de um conjunto de entradas de dados, seleciona somente uma delas para encaminhar at a sua sada, por meio de entradas de seleo. O multiplex utilizado no lado da transmisso de um sistema de comunicao de dados, para combinar vrios canais em um nico canal de maior capacidade. Os multiplexadores so tambm referidos como "seletores de dados" (data selectors). No mux da figura 4.10, h oito entradas de dados, D0, D1, ..., D7, e uma sada S. As trs entradas de endereamento / seleo, A2, A1 e A0, selecionam uma das entradas de dados Di para ser conectada sada S. Se A2A1A0 = 000, D0 selecionada e S = D0; se A2A1A0 = 001, S = D1, e assim por diante. Este um mux de 8 canais ou mux 8x1 (8 por 1 ou 8 para 1), pois ele multiplexa 8 linhas de entrada de informao em uma nica linha de sada. De modo geral, um mux com n entradas de informao precisa ter m entradas de seleo, tal que m = log2 n ou n = 2m, como na figura 4.11. Pode-se projetar multiplexadores 2x1, 4x1, 8x1, at 2nx1, com n inteiro.
51
Eletrnica Digital
O esquema lgico e a tabela-verdade do CI 74151, que um mux 8x1 com habilitao ativa em nvel baixo, so mostrados na figura 4.12. Os sinais de endereamento so denominados C, B e A, onde C o MSB.
Tabela-Verdade CBA E Y Y 1 XXX 1 0 000 0 D0 D0 001 010 011 100 101 110 0 0 0 0 0 0 D1
D1 D2
D3
D2 D3 D4 D5 D6
D4
D5 D6
111 0 D7 D7 Figura 4.12 CI 74151: Mux 8x1 com habilitao e sada dupla.
52
ELETRNICA DIGITAL
Outra utilidade dos multiplexadores para a implementao de funes lgicas combinacionais quaisquer. As variveis de entrada da funo so aplicadas nas entradas de seleo do multiplex, e os valores em seqncia da tabela-verdade da funo devem permanecer aplicados nas entradas de dados do mux, para serem "selecionados" para a sada pelas variveis de entrada da funo. O multiplexador digital tambm pode funcionar como um conversor paraleloserial, quando endereado por um contador peridico com o mesmo nmero de bits das entradas de seleo, tal como mostrado na figura 4.13. O bit mais significativo da palavra de dados alocado na entrada selecionada pelo endereo mais baixo, sendo o primeiro a ser levado para a sada. Os bits na ordem decrescente de significncia vo sendo selecionados sequencialmente para a sada serial, at que uma nova palavra de dados surge na entrada, e o contador reinicia seu ciclo, repetindo o processo.
4.6. Demultiplexadores
O demultiplexador digital, tambm chamado de demultiplex ou demux, o circuito que realiza a funo inversa funo do multiplex. Ele possui uma nica linha de entrada de dados que pode ser conectada a qualquer uma das suas sadas, dependendo da palavra de endereo aplicada s entradas de seleo. Assim, os diversos canais de informao que foram combinados (multiplexados) pelo bloco mux, so novamente recuperados e individualizados pelo demux. O demux usado no lado da recepo de um sistema de comunicao de dados. Um demux com n sadas de informao precisa ter m entradas de seleo, tal que m = log2 n ou n = 2m, como mostrado nas figuras 4.14 e 4.15. Um demux de 4 canais, por exemplo, possui 4 sadas, S0, S1, S2 e S3, e duas entradas de endereamento, A1 e A0, como na figura 4.16.
53
Eletrnica Digital
Figura 4.15 Smbolo genrico de um demultiplexador. O circuito lgico do demux idntico ao de um decodificador n-para-2n, apenas enxergado sob outro ponto de vista, pois a entrada de dados em um demux corresponde entrada de habilitao de um decodificador, e a palavra de seleo do demux corresponde palavra de cdigo no decodificador. Para que o decodificador 3x8 da figura 4.4 opere como um demux, basta tratar C, B e A como entradas de seleo e E como a entrada de dados (invertida).
54
ELETRNICA DIGITAL
Dn-1 .
Gerador de Paridade
Figura 4.17 Smbolo em bloco de um gerador de bit de paridade. Para projetar um gerador de paridade par para palavras D de 4 bits (D = D3D2D1D0), preenche-se o mapa de Karnaugh de P para quatro variveis e tira-se a expresso de P. D3 D2 D1 D0 00 01 11 10
00 0 1 0 1 01 1 0 1 0 11 0 1 0 1 10 1 0 1 0
55
Eletrnica Digital
A partir dessa expresso, pode-se montar o circuito gerador de paridade com portas AND, OR e NOT. Porm, manipulando-se a expresso de P, obtm-se uma implementao alternativa do gerador de paridade s com portas XOR, que pode ser mais simples. o circuito da figura 4.18. P = D3 D2 D1 D0
Isso significa que uma porta XOR produz 1 na sua sada sempre que a sua palavra de entrada, com qualquer nmero de bits, tiver um nmero mpar de 1s. Generalizando, a porta XOR reconhece um nmero mpar de 1s nas suas entradas. Na transmisso dos dados, o bit de paridade P enviado junto com a palavra de dados, apesar de representar uma informao distinta e que deve ser tratada separadamente, para a verificao de erros. A palavra com paridade transmitida a seguir contm a informao til nos bits Di:
Quando a palavra completa chega ao receptor, este deve saber qual o bit que contm a paridade, se o primeiro ou o ltimo. Como foi usada a paridade par na transmisso, todas as 16 palavras D3D2D1D0P possveis devem ter um nmero par de bits 1, pois nas palavras de dado em que o nmero de bits 1 era mpar, a insero de P = 1 fez a quantidade total de 1s tornar-se um nmero par. Os cinco bits D3D2D1D0P so recebidos pelo receptor de paridade, que deve ter (n+1) entradas e 1 sada C. Convenciona-se, por exemplo: C = 0 transmisso OK C = 1 erro na transmisso Ento a sada C deve ser 0 quando houver um nmero par de 1s na entrada do receptor. Portanto, o circuito receptor deve ser um circuito XOR de 5 entradas, que ir fornecer 1 na sada se houver um nmero mpar de 1s na palavra recebida. C = D3 D2 D1 D0 P
56
ELETRNICA DIGITAL
O circuito completo de transmisso de dados com verificao do bit de paridade mostrado na figura 4.20:
4.8. Modularidade
Os circuitos digitais so essencialmente modulares, isto , blocos complexos podem ser formados pela interconexo de blocos mais simples, e estes pela interconexo de blocos ainda mais simples, e assim por diante, levando a uma hierarquia estrutural (arquitetural). No nvel mais baixo dessa hierarquia esto os transistores que formam as portas lgicas. Como concatenar circuitos simples para obter circuitos de maior capacidade? De modo geral, seguem-se as etapas abaixo: 1) Desenhar os smbolos (interfaces) do circuito-alvo (o que se pretende construir) e dos blocos de circuito mais simples (subcircuitos) de que se dispe. 2) Deduzir quantos subcircuitos so necessrios para compor o circuito mais complexo, e coloc-los dentro da caixa de interface do circuito-alvo. 3) Escrever a tabela-verdade do circuito-alvo e relacionar suas entradas e sadas com as entradas e sadas dos subcircuitos, para deduzir as relaes lgicas entre os sinais de E/S do circuito-alvo e os sinais de E/S dos subcircuitos.
Como ilustrao, multiplexadores de maior capacidade (16x1, por exemplo) podem ser facilmente montados a partir de blocos mux de menor capacidade, empregando-se a modularidade. A figura 4.21 mostra um bloco multiplex de 8 canais, formado a partir de blocos mux de menor capacidade (esta uma das solues possveis).
57
Eletrnica Digital
Figura 4.21 - Mux de oito canais construdo com dois blocos mux de quatro canais e um mux de dois canais.
58
ELETRNICA DIGITAL
Este captulo trata das operaes aritmticas com numerais binrios e do projeto de alguns circuitos aritmticos simples. Esta classe de circuitos, que tambm so combinacionais, utilizada principalmente nas unidades lgicas e aritmticas (ULA's) dos microprocessadores.
5.1. Adio
A tabuada da adio a seguinte: 0+0=0 0+1=1 1+0=1 1 + 1 = 10 No ltimo caso, diz-se que o resultado da soma '0' e vai um para a casa da esquerda; este 1 que vai chamado de transporte de sada (carry out). A adio de numerais binrios de n bits feita pelo mesmo processo da adio em decimal. Por exemplo: Binrios inteiros: 10110 + 11100 110010 Binrios fracionrios: 110,1 + 10,11 1001,01
5.1.1. Meio Somador (Half Adder) o circuito que soma dois bits e fornece o resultado e o transporte de sada.
Soma Transporte de Sada (Ts) ou Carry-out (Cout) S S = A B 0 0 0 0 0 1 1 0 Ts = A.B 1 0 1 0 1 1 0 1 Tabela 5.1 - Tabela-verdade e funes lgicas da soma de dois bits. A B
59
Eletrnica Digital
5.1.2. Somador Completo (Full Adder) A soma de dois numerais binrios de mais de um bit pode ser feita de forma modular: em vez de se projetar um nico circuito que some dois numerais com n bits, projeta-se um circuito que some trs bits, pois preciso considerar tambm o transporte de entrada Te (ou carry-in, Cin), que o "vem um" da coluna da direita. Um somador de n bits pode ser feito concatenando-se esses blocos, chamados de somadores completos.
A B Te S Ts 0 0 0 0 0 S = A B Te 0 0 1 1 0 0 1 0 1 0 Ts = AB + Te(A B) 0 1 1 0 1 = AB + Te(A + B) 1 0 0 1 0 = AB + ATe + BTe 1 0 1 0 1 1 1 0 0 1 1 1 1 1 1 Tabela 5.2 - Tabela-verdade e funes lgicas para a soma de trs bits, um de A, outro de B, e o outro da coluna anterior, Te.
Explorando-se a modularidade dos blocos digitais, o somador completo pode ser esquematizado a partir de dois meio-somadores, como na figura 5.3.
60
ELETRNICA DIGITAL
O somador completo das figuras 5.2 e 5.3 foi esquematizado utilizando a quantidade mnima de portas lgicas, isto , priorizando a mxima compactao do circuito (mnima rea). Entretanto, o circuito resultante possui trs nveis de portas. Se ele fosse esquematizado a partir da equao Ts = AB + ATe + BTe, teria uma porta a mais, mas somente dois nveis, sendo portanto mais rpido. o sacrifcio da compactao, com uma rea maior do circuito, em favor de um pouco mais de velocidade (menor tempo de resposta).
5.1.3. Somador Paralelo de 4 Bits Dados dois numerais binrios A e B de n bits e sem sinal, a soma S = A+B pode ter at n+1 bits. A = An-1 An-2 ... A1 A0 B = Bn-1 Bn-2 ... B1 B0 S = Sn Sn-1 ... S1 S0
O somador de arquitetura mais simples para numerais de n bits utiliza n somadores completos, um para cada par de bits das palavras A e B. Por exemplo, seja n = 4: B = B3 B2 B1 B0 A = A3 A2 A1 A0 O transporte de sada gerado por um bloco somador completo ser o transporte de entrada do bloco somador seguinte. Pelo fato de as palavras A e B entrarem no circuito em paralelo (todos os bits juntos), este somador chamado de somador paralelo, e seu esquemtico mostrado na figura 5.4.
61
Eletrnica Digital
O somador dos LSB's, A0 e B0, poderia ser um meio-somador, que no possui a entrada Te e menor que o somador completo. Porm, isto impediria que esse somador de 4 bits pudesse ser utilizado como bloco para a composio de um somador maior (de 8 ou mais bits), e ele perderia sua generalidade (modularidade). O bit S4, transporte de sada do somador dos MSB's na figura 5.4, pertencer ao resultado se as parcelas da soma, A e B, forem numerais sem sinal (valores absolutos). Numerais com sinal so analisados adiante.
62
ELETRNICA DIGITAL
Essa representao antiga levou a circuitos aritmticos complicados, por no ser compatvel com a subtrao, e foi abandonada. Depois, os engenheiros descobriram que a representao de nmeros binrios negativos na notao de complemento de dois era a tcnica correta para tornar a subtrao realizvel atravs de uma adio, em todos os casos de minuendo e subtraendo. Assim, o mesmo bloco de circuito usado para somar poderia ser usado tambm para subtrair, simplificando a implementao dos circuitos aritmticos. Por isso, atualmente utiliza-se sempre a notao de complemento de 2 para a realizao da soma e subtrao binrias. O negativo de um numeral binrio B, de n bits, o seu complemento de 2: B = C2 (B) definido como C2 (B) = (2n)2 B ou C2 (B) = B + 1 = C1 (B) + 1 B o inverso lgico de cada bit de B, chamado de complemento de 1 de B ou C1 (B). Quando se representa numerais binrios com sinal usando a notao de complemento de 2, o MSB continua sendo usado para representar o sinal do nmero, sendo por isso chamado de bit de sinal. Os numerais positivos tm o MSB igual a 0, e os numerais negativos tm o MSB igual a 1. Acrescentar zeros esquerda de um numeral positivo e acrescentar uns esquerda de um numeral negativo no altera os valores desses numerais. Calcular o complemento de 2 de um numeral binrio B tem o mesmo efeito que inverter o sinal do numeral decimal equivalente. A tabela 5.3 mostra os numerais binrios com sinal, em quatro bits.
Bin 1000 1001 1010 1011 1100 1101 1110 1111 0000 0001 0010 0011 0100 0101 0110 0111 Dec -8 -7 -6 -5 -4 -3 -2 -1 0 +1 +2 +3 +4 +5 +6 +7
Tabela 5.3 Numerais binrios de quatro bits com sinal Para encontrar o C2 (B), no necessrio encontrar primeiro o C1(B) e depois somar 1 a ele. H uma outra regra prtica para a obteno do complemento de 2: a partir do LSB, mantenha todos os bits at o primeiro 1 que encontrar, e mantenha tambm este 1; em seguida, inverta os bits restantes para a esquerda. Isso pode ser facilmente conferido pela tabela 5.3. Por exemplo: C2 (01010100) = 10101100 Pela tabela 5.3, observa-se que, para representar uma faixa de numerais binrios com sinal (signed), preciso acrescentar um bit a mais do que seria necessrio para escrever somente os valores em mdulo (unsigned). Esse bit extra representa justamente o sinal dos numerais binrios. Assim, dados os numerais sem sinal de 3 bits, se desejarmos escrever os numerais negativos correspondentes, devemos acrescentar a eles mais um bit para o sinal. O acrscimo de um bit a uma palavra binria dobra a quantidade de valores representveis. H um nmero negativo a mais do que os nmeros positivos: 810. Isso efeito do 010, que no positivo mas tem o MSB igual a '0'. O 810 no tem equivalente positivo em quatro bits: o +810 s cabe em 5 bits, pois o MSB tem que ser '0'. Para
63
Eletrnica Digital
generalizar, dispondo-se de n bits, os valores dos nmeros com sinal podem ir de 2n-1 at +2n-1 1, incluindo o '0'. Para a realizao de operaes aritmticas envolvendo nmeros com sinal, tanto os nmeros positivos quanto os negativos precisaro estar sempre na notao de complemento de 2. Os numerais positivos no diferem de sua representao binria em mdulo, apenas com a obrigatoriedade do '0' no MSB: a representao do +310 0112. O valor absoluto (mdulo) de um numeral binrio negativo B no prontamente identificvel: para encontr-lo, deve-se calcular de novo o complemento de 2 desse numeral, pois C2 [C2 (B)] = B. Por exemplo, a representao do 310 em binrio 11012 ou 1012. Nas operaes aritmticas empregando a notao de complemento de 2, obrigatrio igualar os tamanhos das palavras antes de fazer a operao; seno, o resultado estar errado. O MSB sempre representa o sinal do nmero, nunca o valor. Se, nas parcelas, o bit de sinal o quarto bit, ento o bit de sinal do resultado tambm tem que ser o quarto. Por isso, o bit do resultado que excede o tamanho das parcelas nunca considerado, nem na soma, nem na subtrao (ver Exemplo 1 a seguir). Por outro lado, na adio de nmeros sem sinal (absolutos), o 1 excedente do tamanho das parcelas no pode ser desprezado, pois ele faz parte do resultado correto. Agora passa-se anlise da soma e da subtrao de numerais binrios com sinal, empregando a notao de complemento de 2. Exemplo 1: Calcular A B nos casos abaixo, usando complemento de 2. 1) A > B. Se for gerado um transporte do bit de sinal para o 5o bit, ele deve ser desconsiderado. 1.1) A = 610 (01102) e B = 310 (00112). Resposta: 100112 00112 = +310 1.2) A = 310 (00112) e B = -310 (11012). Resposta: 01102 = +610 2) A = B. O bit de transporte de sada ser sempre igual a 1, pela prpria definio de complemento de 2. Obviamente, no considerado. 2.1) A = 310 e B = 310 (00112). Resposta: 100002 00002 = 010 2.2) A = -310 e B = -310 (11012). Resposta: 100002 00002 = 010 3) A < B. 3.1) A = 310 (00112) e B = 610 (01102).
3.2) A = -310 (11012) e B = 310 (00112). Resposta: 10102 = -610 A adio e a subtrao em hexadecimal podem ser feitas de maneira semelhante adio e subtrao decimais.
64
ELETRNICA DIGITAL
5.2.1. Subtrator Paralelo de 4 Bits Para subtrair um numeral B de outro numeral A, ambos de n bits, basta somar A ao complemento de 2 de B. Isso significa inverter cada bit do numeral B e depois somar-lhe 1. Portanto, para montar-se um subtrator de n bits, adapta-se um somador paralelo de n bits, como o da figura 5.4, no havendo necessidade de se projetar um novo circuito especfico para subtrair.
A B = A + (-B) = (A + B ) + 1 Por exemplo, a figura 5.5 mostra um subtrator de 4 bits. Como tanto A quanto B so numerais de 4 bits com sinal (em complemento de 2), a faixa de valores possveis de A e B aquela mostrada na tabela 5.3. O bit de transporte final, Ts, no pertence ao resultado, como visto pelos exemplos acima. Mas o circuito gerador de Ts no pode ser eliminado, porque sem ele a modularidade do circuito seria destruda.
5.2.2. Somador/Subtrator Paralelo de 4 Bits Para um mesmo circuito desempenhar as duas funes, ora a de somador, ora a de subtrator, deve haver uma entrada de controle SUB tal que, se SUB=0, o circuito efetua a soma dos nmeros de entrada e, se SUB=1, o circuito efetua a subtrao desses nmeros. Para esquematizar-se um somador/subtrator paralelo de n bits, deve-se procurar combinar os circuitos do somador e do subtrator de n bits. Nesse sentido, nota-se que para o funcionamento como somador, a palavra B deve passar normalmente para os blocos somadores, e para o funcionamento como subtrator, os bits da palavra B devem passar invertidos para esses mesmos blocos. Ento, pode-se aproveitar a propriedade da porta XOR de funcionar como um inversor controlado: se uma das suas entradas 0, a outra entrada aparece na sada (B 0 = B); e se uma das suas entradas 1, a outra entrada aparece invertida na sada (B 1 = B ). Por isso, a porta XOR deve ser empregada para compor o circuito somador/subtrator.
A figura 5.6 mostra o esquema do somador/subtrator paralelo para n = 4 bits. Na clula do LSB, Te deve ser ligado a SUB. Assim, se SUB = 1, no s as portas XOR
65
Eletrnica Digital
passaro a atuar como inversores de B, como tambm ser acrescentado 1 a esse valor, formando o C2(B) e fazendo com que o circuito opere de fato como um subtrator.
A notao de complemento de 2 para nmeros binrios com sinal tem que ser observada em todas as operaes aritmticas. Isso significa que deve-se trabalhar com um tamanho de palavra sempre constante, logo o transporte final do somador/subtrator, S4, no faz parte do resultado nem da soma, nem da subtrao. Somente pode-se utilizar S4 como parte do resultado para a soma de valores sem sinal, como explicado na seo 5.1.3. Se A e B esto em 4 bits, o resultado tambm tem que estar em 4 bits, S3 a S0. Ento o resultado da soma ou subtrao estar errado quando sair da faixa mostrada na tabela 5.3, mas no h como prever isso porque depende dos valores de entrada A e B. O que se pode fazer reservar o segundo bit esquerda para acomodar o possvel estouro no valor do numeral, dessa forma confinando o resultado a ficar sempre dentro da tabela 5.3. Portanto, para se garantir que os resultados das somas e das subtraes estejam sempre corretos, deve-se considerar o 1o bit (MSB) como o de sinal, e o 2o bit deve ser 0 nas parcelas para acomodar o possvel estouro no resultado. Com isso, em um somador paralelo de 4 bits, pode-se somar com segurana valores de at 2 bits apenas; perde-se 50% do circuito, com o bit de sinal e o de reserva para o estouro. J em um somador paralelo de 8 bits, perde-se somente 25% do circuito.
66