SlideShare uma empresa Scribd logo
1 de 22
Baixar para ler offline
TEAC - José Santos, N.º 12 Página 1
Delegação Regional do Centro
Centro de Emprego e Formação Profissional de Viseu
AÇÃO: TÉCNICO/A DE ELECTRÓNICA, AUTOMAÇÃO E COMPUTADORES - PRO
UFCD 6024 (13) – Circuitos Lógicos
PRA - Portefólio Reflexivo de Aprendizagem
Curso: Técnico de Eletrónica, Automação e Computadores
UFCD: 6024 (13) – Circuitos Lógicos
Formando: José Manuel Pinto Rodrigues dos Santos
Formador: Eng. Fernando Tavares
Mediadora: Helena Teixeira
1.INTRODUÇÃO
Objetivos para esta unidade:
• Caracterizar as diferentes bases de numeração;
• Representar números nas bases decimal, binário e hexadecimal;
• Efetuar a conversão entre decimal e as outras bases e vice-versa, de números inteiros e
fracionários;
• Efetuar operações aritméticas em binário;
• Calcular o complemento a dois e a um de um número binário;
• Representar números binários com bit de sinal;
• Efetuar conversões entre o código BCD e o sistema decimal;
• Reconhecer a utilização do código ASCII;
• Interpretar o sistema de deteção de erros por bit de paridade;
• Álgebra de Boole e funções lógicas:
o Reconhecer o estado lógico e identificar variável lógica e nível lógico;
o Representar as funções lógicas através de tabelas de verdade;
o Desenhar o logigrama a partir da expressão lógica e vice-versa;
o Descrever os postulados e teoremas da álgebra de Boole;
o Simplificar funções lógicas através dos teoremas e postulados da álgebra de Boole
e pelo método de Karnaugh;
o Desenhar circuitos de lógica combinatória a partir da tabela de verdade ou da
expressão de saída.
• Portas lógicas:
o Identificar os símbolos das portas lógicas;
o Descrever o funcionamento das portas lógicas básicas;
o Reconhecer a universalidade das portas nand e nor;
o Utilizar portas nand e nor para implementar qualquer função lógica;
• Famílias lógicas:
o Descrever as características das famílias lógicas mais usadas nos circuitos digitais
(TTL e CMOS).
TEAC - José Santos, N.º 12 Página 2
Delegação Regional do Centro
Centro de Emprego e Formação Profissional de Viseu
AÇÃO: TÉCNICO/A DE ELECTRÓNICA, AUTOMAÇÃO E COMPUTADORES - PRO
UFCD 6024 (13) – Circuitos Lógicos
Conteúdos estudados:
• Sistemas de numeração
o Sistema decimal
o Sistema binário
o Sistema hexadecimal
o Conversão entre sistemas
• Aritmética binária
o Adição e subtração binárias
o Complemento a dois e a um
o Representação de um número binário com bit de sinal
• Códigos binários
o BCD
o Paridade
o Gray
o ASCII
• Deteção de erros através do bit de paridade
• Álgebra de Boole
• Funções lógicas
• Portas lógicas
• Famílias lógicas
2. DESENVOLVIMENTO
Basicamente o que mais captou a minha atenção nesta UFCD foram os sistemas de numeração e a
respetiva representação Começámos esta unidade pelos sistemas de numeração, depois detivemo-
nos na álgebra booleana
Com o advento da computação, olhamos para os computadores como máquinas que fazem o
tratamento de texto, imagem e som, mas na realidade o que os computadores fazem é manipular
números.
Tudo o que se passa dentro de um computador é armazenado utilizando números (sejam dados,
texto, sons ou imagens). Tudo começou com a invenção do bit (do inglês Binary Digit). O bit é
apenas uma forma de representar dois estados: ligado (que representamos por 1) e desligado (que
representamos por 0).
Por exemplo, um bit serve perfeitamente para indicar qual o sexo de uma pessoa, pois apenas
existem o sexo masculino e o feminino. Portanto poderá ser:
• 1 – Masculino;
• 0 – Feminino.
Se pretendermos representar o estado civil dessa mesma pessoa um bit já não chega, porque os
estados possíveis são: solteiro, casado, divorciado e viúvo. Mas se juntarmos dois bits podemos
combiná-los de forma a representar os valores anteriores. Deste modo teremos:
• 00 – Solteiro;
• 01 – Casado;
TEAC - José Santos, N.º 12 Página 3
Delegação Regional do Centro
Centro de Emprego e Formação Profissional de Viseu
AÇÃO: TÉCNICO/A DE ELECTRÓNICA, AUTOMAÇÃO E COMPUTADORES - PRO
UFCD 6024 (13) – Circuitos Lógicos
• 01 - Divorciado;
• 11 - Viúvo.
Assim, para representar conjuntos maiores de valores a solução é: ir juntando bits até que se possa
representar o conjunto pretendido. Mas a questão seguinte foi saber quando parar de juntar bits.
Por exemplo, como se faz a soma de um número com 13 bits com outro com apenas 2 bits?
A solução encontrada foi o byte como unidade de medida. Esta unidade passou a ter 8 bits e em
termos computacionais é a unidade de medida.
Dentro de um byte os números representam-se com os símbolos 0 e 1. Isto advém do facto de os
sistemas computacionais utilizarem a base 2 (também conhecida como base binária), à qual
correspondem os símbolos 0 e 1.
No sistema binário (0 e 1), para determinar o número de combinações com n bits, basta calcular 2n
Por exemplo, 1 bit representa 21
= 2 combinações possíveis. Neste caso as 2 combinações possíveis
são 0 e 1.
O número zero é fácil de representar: 00000000.
O número seguinte é obtido através da adição de uma unidade ao valor 0: 00000000+1=00000001.
E qual será o próximo número?
00000001
+00000001
? ? ? ? ? ? ? ?
Esta situação é semelhante à que ocorre quando estamos a fazer a mesma operação com o último
elemento da nossa base habitual de trabalho, a base 10 (ou decimal)
O resultado de 9+1 é:
9
+1
0
(𝑒 𝑣𝑎𝑖 1)
Por isso o resultado é semelhante a
1
9
+1
10
O mesmo acontece na Base 2 (em que apenas podemos considerar os símbolos 0 e 1)
Assim:
1
+1
0
(𝑒 𝑣𝑎𝑖 𝑢𝑚, 𝑝𝑜𝑖𝑠 𝑗á 𝑢𝑙𝑡𝑟𝑎𝑝𝑎𝑠𝑠𝑎𝑚𝑜𝑠 𝑜 𝑚𝑎𝑖𝑜𝑟 𝑒𝑙𝑒𝑚𝑒𝑛𝑡𝑜 𝑑𝑎 𝑏𝑎𝑠𝑒)
TEAC - José Santos, N.º 12 Página 4
Delegação Regional do Centro
Centro de Emprego e Formação Profissional de Viseu
AÇÃO: TÉCNICO/A DE ELECTRÓNICA, AUTOMAÇÃO E COMPUTADORES - PRO
UFCD 6024 (13) – Circuitos Lógicos
Então, o resultado é semelhante a
1
1
+ 1
10
Ou seja, na base 2 o número 2 é representado como sendo 00000010.
O próximo número será 11 (número 3 na base 10)
10
+1
11
O seguinte será obtido da mesma forma:
11
+1
0
(𝑒 𝑣𝑎𝑖 1)
1
11
+1
00
(𝑒 𝑣𝑎𝑖 1)
11
11
+1
100
Assim o número 4 (base 10) é representado por 100 na base 2.
Os próximos números representam-se facilmente.
Decimal Binário Decimal Binário
0 00000000 10 00001010
1 00000001 11 00001011
2 00000010 12 00001100
3 00000011 13 00001101
4 00000100 14 00001110
5 00000101 15 00001111
6 00000110 16 00010000
7 00000111 17 00010001
8 00001000 18 00010010
9 00001001 19 00010011
TEAC - José Santos, N.º 12 Página 5
Delegação Regional do Centro
Centro de Emprego e Formação Profissional de Viseu
AÇÃO: TÉCNICO/A DE ELECTRÓNICA, AUTOMAÇÃO E COMPUTADORES - PRO
UFCD 6024 (13) – Circuitos Lógicos
Se pensarmos um pouco, verificamos que os múltiplos de 2 (em progressão geométrica, 1, 2 4, 8,
16, etc) estão todos colocados estrategicamente tendo apenas um dos bits com 1 e todos os outros
com 0.
Observemos também que se numerarmos os bits da direita para a esquerda começando na posição
índice zero, como indicado a seguir,
7 6 5 4 3 2 1 0
facilmente obteremos os valores que se encontram na coluna da direita da tabela seguinte:
Decimal Binário Posição Valor
1 00000001 0 20
2 00000010 1 21
4 00000100 2 22
8 00001000 3 23
Ficamos assim a saber que se o bit que se apresenta na posição índice n estiver com 1, o número
que ele representa é 2n
.
Por exemplo o número 01102 na base 10 pode ser facilmente calculado:
0 1 1 0
27
26
25
24
23
22
21
20
128 64 32 16 8 4 2 1
Desta forma podemos compreender facilmente qual o valor ao qual pertence na base 10 o número
em binário. Esse valor é igual a: 0*23
+1*22
+1*21
+0*20
= 1*22
+1*21
= 4+2 = 6.
Facilmente se compreende agora que se um byte tem 8 bits, o menor valor nele representado será
0: 00000000, e o maior será 255: 11111111 (128+64+32+16+8+4+2+1 = 255). Assim, o menor
número representado por um byte será o 0, e o maior será o número 255, existindo assim 256
números passíveis de serem representados por um byte.
Como os caracteres são armazenados num único byte, essa é a razão pela qual existem apenas 256,
cujos códigos numéricos vão de 0 até 255. (1 byte = 8 bits = 28
= 256 combinações possíveis)
Como é complicado representar valores numéricos bit a bit, foram desenvolvidas bases de trabalho
diferentes. Assim surgiram as Bases Octal (8 símbolos) e Hexadecimal (16 símbolos).
TEAC - José Santos, N.º 12 Página 6
Delegação Regional do Centro
Centro de Emprego e Formação Profissional de Viseu
AÇÃO: TÉCNICO/A DE ELECTRÓNICA, AUTOMAÇÃO E COMPUTADORES - PRO
UFCD 6024 (13) – Circuitos Lógicos
Base Octal
A base Octal é formada pelos símbolos 0…7. Quando se chega ao final da base, utiliza-se o esquema
habitual (e vai 1). Desta forma, os primeiros 40 números na base Octal são:
Decimal Octal Decimal Octal Decimal Octal Decimal Octal
0 0 10 12 20 24 30 36
1 1 11 13 21 25 31 37
2 2 12 14 22 26 32 40
3 3 13 15 23 27 33 41
4 4 14 16 24 30 34 42
5 5 15 17 25 31 35 43
6 6 16 20 26 32 36 44
7 7 17 21 27 33 37 45
8 10 18 22 28 34 38 46
9 11 19 23 29 35 39 47
Mais uma vez o princípio se mantém: qualquer número pode ser representado na base. Por
exemplo, 2910 equivale a 35 na Base Octal.
Vamos confirmar: 3*81
+ 5*80
= 3*8 + 5*1 = 24 + 5 = 29
Base Hexadecimal
A Base Hexadecimal é formada por 16 símbolos. Como a nossa base de trabalho (base Decimal) é
composta por apenas 10 símbolos (0…9), houve necessidade de adicionar os símbolos A(10), B(11),
C(12), D(13), E(14) e F(15).
Os primeiros 40 números na base Hexadecimal são:
Decimal Hexa Decimal Hexa Decimal Hexa Decimal Hexa
0 0 10 A 20 14 30 1E
1 1 11 B 21 15 31 1F
2 2 12 C 22 16 32 20
3 3 13 D 23 17 33 21
4 4 14 E 24 18 34 22
5 5 15 F 25 19 35 23
6 6 16 10 26 1A 36 24
7 7 17 11 27 1B 37 25
8 10 18 12 28 1C 38 26
9 11 19 13 29 1D 39 27
Mais uma vez o princípio se mantém, qualquer número pode ser representado na base. Tomemos
o mesmo exemplo, 2910 equivale a 1D na Base Hexadecimal.
1*161
+ D*160
= 1*16 + 13 = 16 + 13 = 29
TEAC - José Santos, N.º 12 Página 7
Delegação Regional do Centro
Centro de Emprego e Formação Profissional de Viseu
AÇÃO: TÉCNICO/A DE ELECTRÓNICA, AUTOMAÇÃO E COMPUTADORES - PRO
UFCD 6024 (13) – Circuitos Lógicos
Sendo os circuitos digitais constituídos por elementos dotados de 2 estados distintos, o sistema
de numeração binária tem um papel importante no seu estudo. O sistema octal (base 8) e
hexadecimal (base 16) desempenham também um papel importante para compactar a escrita de
um número binário.
Símbolos usados nas bases 2, 8, 10 e 16
Base Símbolos
2 0, 1
8 0, 1, 2, 3, 4, 5, 6, 7
10 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
16 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F
Conversões entre Bases
Para fazer uso dos sistemas numéricos não-decimais é preciso ser capaz de converter um número
expresso em uma base em outro número expresso em outra base
Converter Decimal para Binário
Para converter qualquer número da base 10 para outra, pode-se utilizar vários métodos.
Um destes métodos é passar sempre pela base 2, representando o número em binário.
Por exemplo 18110:
Começa-se por representar o número 181 como uma sequência de 0 e 1. Começa-se por verificar
se o bit mais à esquerda é colocado em 1 ou 0. Se o número a ser escrito for maior ou igual ao valor
associado à posição do bit, então esse bit fica com o símbolo 1, senão fica com 0.
Neste caso, como 181 > 128, o bit da casa 128 é colocado em 1. Nesse momento já representamos
o número 128, por isso falta representar 181 - 128 = 53.
Ora, o valor do próximo bit é maior que 53 (64), logo esse bit não vai ser utilizado, e fica por isso
com 0. Como 53 é maior que 32, vamos ficar com o bit em 1 e sobram ainda 53 - 32 =21. Como 21
é maior que 16, este bit fica com 1 e sobram 21 - 16 = 5. Facilmente de compreenderá que para
conseguir o número 5 a partir dos bits teremos de fazer 4 + 1, isto é, temos de selecionar os bits
associados a esses dois valores. Todos os outros bits ficam a 0, uma vez que o número já está
completamente representado.
1 0 1 1 0 1 0 1
27
26
25
24
23
22
21
20
128 64 32 16 8 4 2 1
Só para confirmar: 128 + 32 + 16 + 4 + 1 = 181
TEAC - José Santos, N.º 12 Página 8
Delegação Regional do Centro
Centro de Emprego e Formação Profissional de Viseu
AÇÃO: TÉCNICO/A DE ELECTRÓNICA, AUTOMAÇÃO E COMPUTADORES - PRO
UFCD 6024 (13) – Circuitos Lógicos
Converter Binário para Octal
É extremamente simples converter um valor de Binário para Octal, uma vez que esta base é
constituída pelos seguintes oito símbolos, bastando 3 bits para representar qualquer dos números
da base:
Octal Binário
0 000
1 001
2 010
3 011
4 100
5 101
6 110
7 111
Assim, para representar o número anterior 101101012 em Octal basta agrupar à direita em
conjuntos de 3 bits, isto é: (10)(110)(101) que é equivalente a (010)(110)(101).
Agora, é só ver qual a equivalência entre esses conjuntos de bits e os respetivos valores em Octal:
• 010 corresponde ao símbolo 2;
• 110 corresponde ao símbolo 6;
• 101 corresponde ao símbolo 5
Obtém-se o valor 265, que é a representação em Octal do valor 181 na base 10.
Converter Binário para Hexadecimal
Converter um valor de Binário para Hexadecimal é, mais uma vez, extremamente simples. Basta
fazer como no procedimento anterior. A Base Hexadecimal é composta pelos 16 símbolos (0, 1, 2,
3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F), sendo nesse caso necessários 4 bits para representar qualquer dos
números da base:
Hexa Binário Hexa Binário
0 0000 8 1000
1 0001 9 1001
2 0010 A 1010
3 0011 B 1011
4 0100 C 1100
5 0101 D 1101
6 0110 E 1110
7 0111 F 1111
Assim, para representar o número anterior 18110 (101101102) em Hexadecimal basta agrupar à
direita em conjuntos de 4 bits, isto é: (1011)(0101).
TEAC - José Santos, N.º 12 Página 9
Delegação Regional do Centro
Centro de Emprego e Formação Profissional de Viseu
AÇÃO: TÉCNICO/A DE ELECTRÓNICA, AUTOMAÇÃO E COMPUTADORES - PRO
UFCD 6024 (13) – Circuitos Lógicos
Agora é só ver a equivalência entre esses conjuntos de 4 bits e os respetivos valores em
Hexadecimal:
• 1011 corresponde ao símbolo B;
• 0101 corresponde ao símbolo 5.
Obtém-se o valor B516 que é a representação em Hexadecimal do valor 18110 na base 10 e 2658 na
base 8.
Converter Binário para Decimal
Basta multiplicar cada um dos bits pelo valor da Base elevada a cada uma das potências. Por
exemplo: 101102 = 1*24
+ 0*23
+ 1*22
+ 1*21
+ 0*20
= 48 + 7 = 55
Converter Octal para Decimal
Basta multiplicar cada um dos elementos constituintes do número pela base 8 elevada a cada uma
das potências. Por exemplo: 0678 = 0*82
+ 6*81
+ 7*80
= 0 + 6*8 + 7 = 55
Converter Hexadecimal para Decimal
Mais uma vez basta multiplicar cada um dos elementos constituintes do número pela base 16
elevada a cada uma das potências. Por exemplo:
1A516 = 1*162
+ A*161
+ 5*160
= 1*256 + 10*16 + 5*1 = 421
Outro dos métodos para conversão entre as bases é o método da divisão-multiplicação. Neste
método a fração e a parte inteira de um número são convertidas separadamente. Tomemos como
exemplo o 66,46810.
Parte inteira: efetuam-se divisões sucessivas por 2 até se obter o quociente igual a 0. Depois
agrupam-se todos os restos da divisão encontrados por ordem inversa.
6610 = 10000102
Para converter para a Base Hexadecimal a divisão seria por 16:
TEAC - José Santos, N.º 12 Página 10
Delegação Regional do Centro
Centro de Emprego e Formação Profissional de Viseu
AÇÃO: TÉCNICO/A DE ELECTRÓNICA, AUTOMAÇÃO E COMPUTADORES - PRO
UFCD 6024 (13) – Circuitos Lógicos
Para a Base Octal teríamos de dividir por 8.
Parte fracionária: multiplica-se sucessivamente a parte fracionária e as partes fracionárias
resultantes, por 2. Obtém-se uma sucessão de números cujas partes inteiras correspondem aos
sucessivos símbolos de representação na Base 2
Em resumo, na figura seguinte mostra-se um diagrama explicativo para conversão entre as
diferentes bases:
• ∑ 𝑑𝑖𝑏𝑖 - Soma de potências de base b (bi) multiplicadas pelo respetivo dígito (di);
TEAC - José Santos, N.º 12 Página 11
Delegação Regional do Centro
Centro de Emprego e Formação Profissional de Viseu
AÇÃO: TÉCNICO/A DE ELECTRÓNICA, AUTOMAÇÃO E COMPUTADORES - PRO
UFCD 6024 (13) – Circuitos Lógicos
• 𝐺𝑟𝑢𝑝𝑜𝑠 3 𝑒 4 - Conversão diteta entre dígito e grupo;
• ÷ 𝐵 - Divisão sucessiva pela base B
Álgebra de Boole e Funções Lógicas
A álgebra Booleana pode ser definida com um conjunto de operadores e um conjunto de axiomas,
que são assumidos verdadeiros sem necessidade de prova.
Em 1854, George Boole introduziu o formalismo que até hoje se usa para o tratamento sistemático
da lógica, que é a chamada Álgebra Booleana.
Princípios da Álgebra Booleana:
• Não contradição: uma proposição não pode ser simultaneamente verdadeira e falsa;
• Terceiro excluído: uma proposição só pode tomar um dos 2 valores possíveis, ou é
verdadeira ou falsa, não é possível terceira hipótese.
Na Álgebra Booleana as variáveis só podem assumir 1 entre 2 valores (0 ou 1); e usam-se tabelas
(tabelas de verdade) para listar as combinações de valores de entrada e os correspondentes valores
de saída.
Existem três operações ou funções básicas. São elas, operação OR (OU - adição lógica), a operação
AND (E - multiplicação lógica) e a operação NOT (NÃO - negação, complementação ou inversão).
Todas as funções Booleanas podem ser representadas em termos destas operações básicas.
Operações Lógicas Básicas
Operação OR (OU - Adição Lógica)
Uma definição para a operação OR (OU), que também é denominada adição lógica, é:
• “A operação OU resulta 1 se pelo menos uma das variáveis de entrada vale 1”.
Como uma variável Booleana ou vale 1 ou vale 0, e como o resultado de uma operação qualquer
pode ser encarado como (ou atribuído a) uma variável Booleana, basta que definamos quando a
operação vale 1. Automaticamente, a operação resultará 0 nos restantes casos.O símbolo para
representar a operação OU é “+”, tal como o símbolo da da adição algébrica.
TEAC - José Santos, N.º 12 Página 12
Delegação Regional do Centro
Centro de Emprego e Formação Profissional de Viseu
AÇÃO: TÉCNICO/A DE ELECTRÓNICA, AUTOMAÇÃO E COMPUTADORES - PRO
UFCD 6024 (13) – Circuitos Lógicos
Operação AND ( E - Multiplicação Lógica)
A operação E, ou multiplicação lógica, pode ser definida da seguinte forma:
• “A operação E resulta 0 se pelo menos uma das variáveis de entrada vale 0”.
Pela definição dada, pode-se deduzir que o resultado da operação E será 1 se, e somente se, todas
as entradas valerem 1. O símbolo usualmente utilizado na operação E é “*”.
Operação NOT (NÃO - Negação, complemento ou inversão)
A operação complementação dispensa uma definição. É a operação cujo resultado é simplesmente
o valor complementar ao que a variável apresenta. Também devido ao fato de uma variável
Booleana poder assumir um entre somente dois valores, o valor complementar será 1 se a variável
vale 0 e será 0 se a variável vale 1. Os símbolos utilizados para representar a operação
complementação sobre uma variável Booleana A são 𝐴̅ , e A' (lê-se A negado).
Tabela de verdade
Os procedimentos para a criação da tabela de verdade a partir de uma equação Booleana são:
• Cada entrada = 1 coluna
• Cada saída = 1 coluna
• Combinações de valores que entradas podem assumir = 2n
, onde n é a quantidade de
variáveis de entrada
Dada a equação que descreve uma função Booleana qualquer, deseja-se saber detalhadamente
como esta função se comporta para qualquer combinação das variáveis de entrada. O
comportamento de uma função é descrito pela sua tabela verdade e este problema é conhecido
como avaliação da função ou da expressão que descreve a função considerada. Em
suma, deseja-se achar a tabela verdade para a função Booleana.
Uma tabela verdade consiste basicamente de um conjunto de colunas, nas quais são listadas todas
as combinações possíveis entre as variáveis de entrada (à esquerda) e oresultado da função (à
direita). Também, pode-se criar colunas intermediárias, onde são listados os resultados de
subexpressões contidas na expressão principal. Isto normalmente facilita a avaliação,
principalmente no caso de equações muito complexas e/ou contendomuitas variáveis. Quando
numa mesma equação Booleana aparecem operações E e OU, é necessário seguir a ordem de
precedência. Tal como na álgebra dos reais, a multiplicação (lógica) tem precedência sobre a adição
(lógica). Além disso, expressões entre parêntesis têm precedência sobre operadores E e OU que
estejam no mesmo nível. Quanto à complementação, esta deve ser avaliada tão logo seja possível.
Caso a complementação seja aplicada sobre uma subexpressão inteira, é necessário que se avalie
primeiramente a subexpressão para, só após, inverter o seu resultado. Por exemplo para a equação
W = X + Y * Z’, a variável W representa a função Booleana propriamente dita, e depende das outras
variáveis, X, Y e Z. Logo são 3 as variáveis de entrada, e o total de combinações entre 3 variáveis é
23
= 8 combinações possíveis.Então a tabela de verdade deverá ter 4 colunas (3 colunas de entrada,
1 para cada variável independente e 1 coluna de saída para a variável dependente) e oito linhas
como é mostrado a seguir, na figura 1.
TEAC - José Santos, N.º 12 Página 13
Delegação Regional do Centro
Centro de Emprego e Formação Profissional de Viseu
AÇÃO: TÉCNICO/A DE ELECTRÓNICA, AUTOMAÇÃO E COMPUTADORES - PRO
UFCD 6024 (13) – Circuitos Lógicos
Tabela 1 - Tabela de verdade para W = X+ Y * Z'
Portas Lógicas
Uma função Booleana pode ser representada por uma equação ou detalhada pela
sua tabela verdade. Mas uma função Booleana também pode ser representada de
forma gráfica, onde cada operador está associado a um símbolo específico,
permitindo o imediato reconhecimento visual. Tais símbolos são conhecidos por
portas lógicas.
As portas lógicas são circuitos eletrónicos que operam sobre um ou mais sinais de
entrada para produzirem um sinal de saída.
Na realidade, mais do que símbolos de operadores lógicos, as portas lógicas representam recursos
físicos, isto é, circuitos eletrónicos, capazes de realizar as operações lógicas. Na eletrónica que
trabalha apenas com dois estados, a qual é denominada eletrônica digital, o nível lógico 0
normalmente está associado à ausência de tensão (0 volt) enquanto o nível lógico 1, está associado
à presença de tensão (a qual geralmente é 5 volts). Ao conjunto de portas lógicas e respetivas
conexões que simbolizam uma equação Booleana, chamamos circuito lógico.
Com os 3 tipos de porta elementares (AND, OR, NOT) consegue construir-se qualquer sistema digital
combinatório, ou seja, formam um conjunto completo.
Portas lógicas são dispositivos ou circuitos lógicos que operam um ou mais sinais lógicos de entrada
para produzir uma e somente uma saída, a qual é dependente da função implementada no circuito.
Um computador é constituído por uma infinidade de circuitos lógicos, que executam as seguintes
funções básicas
• realizam operações matemáticas;
TEAC - José Santos, N.º 12 Página 14
Delegação Regional do Centro
Centro de Emprego e Formação Profissional de Viseu
AÇÃO: TÉCNICO/A DE ELECTRÓNICA, AUTOMAÇÃO E COMPUTADORES - PRO
UFCD 6024 (13) – Circuitos Lógicos
• controlam o fluxo dos sinais;
• armazenam dados.
Naturalmente, a cada operação lógica estudada na Álgebra de Boole está associada à respetiva
porta lógica. As imagens seguintes ilustram os circuitos lógicos básicos realizados com
interruptores.
Figura 2 - Exemplo de um circuito lógico AND
Figura 3 - Exemplo de um circuito lógico OR
Figura 4 - Exemplo de um circuito lógico NOT
Os símbolos e as tabelas de verdade do AND e do OR podem ser generalizados para portas com
qualquer número de entradas. A bolha na saída do inversor representa um comportamento
“invertido”. Combinando numa única porta, um NOT com uma função AND ou OR, obtêm-se 2
novas funções lógicas: NAND e NOR.
TEAC - José Santos, N.º 12 Página 15
Delegação Regional do Centro
Centro de Emprego e Formação Profissional de Viseu
AÇÃO: TÉCNICO/A DE ELECTRÓNICA, AUTOMAÇÃO E COMPUTADORES - PRO
UFCD 6024 (13) – Circuitos Lógicos
Exemplo de um circuito lógico
Dada uma equação Booleana qualquer, é possível desenhar-se o circuito lógico que a implementa.
O circuito lógico é composto das portas lógicas relacionadas às operações que são realizadas sobre
as variáveis de entrada. Os resultados das operações são conduzidos por fios, os quais, no desenho,
são representados por linhas simples. Os passos a serem seguidos para se realizar o desenho do
circuito lógico a partir de uma equação são praticamente os mesmos usados na avaliação da
expressão. Como exemplo para a equação, W = X + Y * Z’, identificamos as variáveis independentes,
que no caso são X, Y e Z. Para cada uma destas, traçamos uma linha (da esquerda para a direita),
representando os fios que conduzem os valores. Feito isto, deve-se seguir desenhando as portas
necessárias para representar cada uma das subexpressões, na mesma ordem tomada para a
avaliação, ou seja:
1. Parêntesis (dos mais internos para os mais externos)
2. Operação E;
3. Operação OU
A figura seguinte mostra o circuito lógico para a equação W = X +Y * Z’
Figura 5 - Circuito lógico que implementa W = X + Y * Z'
Leis Fundamentais e Propriedades da Álgebra Booleana
As leis da álgebra Booleana dizem respeito ao espaço Booleano (isto é, valores que uma variável
pode assumir) e às operações elementares deste espaço. Já as propriedades podem ser deduzidas
a partir das definições das operações.
Sejam A e B duas variáveis Booleanas. Então, o espaço Booleano é definido:
• se A≠0, então A=1;
• se A≠1, então A=0.
As operações elementares deste espaço são a operação OU, a operação E, e a operação NOT.
As propriedades da álgebra Booleana são as seguintes.
Da adição lógica:
(1) A + 0 = A
(2) A + 1 = 1
(3) A + A = A
(4) A + A = 1
Da multiplicação lógica:
(5) A × 0 = 0
(6) A × 1 = A
(7) A × A = A
(8) A × A = 0
TEAC - José Santos, N.º 12 Página 16
Delegação Regional do Centro
Centro de Emprego e Formação Profissional de Viseu
AÇÃO: TÉCNICO/A DE ELECTRÓNICA, AUTOMAÇÃO E COMPUTADORES - PRO
UFCD 6024 (13) – Circuitos Lógicos
Da complementação:
(9) 𝐴
̿
̅ = A
Comutatividade:
(10) A + B = B + A
(11) A × B = B × A
Associatividade:
(12) A + (B + C) = (A + B) + C = (A+ C) + B
(13) A × (B × C) = (A × B) × C = (A × C) × B
Distributiva (da multiplicação em relação à adição):
(14) A× (B + C) = A × B + A × C
Absorção:
(15) A + (A x B) = A
(16) A x (A + B) = A
Outras Identidades:
(17) A + 𝐴̅ x B = A + B
(18) (A + B) x (A + C) = A + B x C
Teoremas de Morgan
O primeiro teorema de De Morgan diz que a complementação de um produto (lógico) equivale à
soma (lógica) das negações de cada variável do referido produto. Sob a forma de equação,
teríamos:
• 𝐴 × 𝐵 × 𝐶 ×. . .
̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅ = 𝐴̅ + 𝐵
̅ + 𝐶̅ +. . .
̅̅̅
O segundo teorema é o dual (isto é, o espelho) do primeiro, ou seja, a complementação de uma
soma (lógica) equivale ao produto das negações individuais das variáveis:
• 𝐴 + 𝐵 + 𝐶 +. . .
̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅ = 𝐴̅ × 𝐵
̅ × 𝐶
̅ ×...
Particularizando os teoremas de De Morgan para duas variáveis, temos:
• 𝐴 × 𝐵
̅̅̅̅̅̅̅̅ = 𝐴̅ + 𝐵
̅
• 𝐴 + 𝐵
̅̅̅̅̅̅̅̅̅ = A × 𝐵
Em suma, sempre poderemos escrever uma equação algébrica Booleana que poderá ser
simplificada e/ou otimizada através do uso dos Teoremas e Postulados Booleanos. A Álgebra
Booleana possui as mesmas propriedades da Álgebra Linear, se considerarmos:
• A operação lógica básica A AND B (A E B), como a multiplicação A x B (ou A.B);
• A operação lógica A OR B (A OU B) como a soma A + B:
TEAC - José Santos, N.º 12 Página 17
Delegação Regional do Centro
Centro de Emprego e Formação Profissional de Viseu
AÇÃO: TÉCNICO/A DE ELECTRÓNICA, AUTOMAÇÃO E COMPUTADORES - PRO
UFCD 6024 (13) – Circuitos Lógicos
Simplificação de expressões Booleanas
Usando a álgebra Booleana é possível simplificar expressões. Como cada circuito corresponde a
uma expressão, simplificações de expressões significam simplificações de circuitos. A simplificações
de expressões é usada para economizar componentes, tornar o circuito mais rápido, mais simples
de fabricar além de diminuir o seu tamanho.
Há vários métodos para simplificação de expressões Booleanas:
• Factoração - aplicam-se os postulados e propriedades da Álgebra Booleana com o objetivo
de simplificar a expressão;
• Formas canónicas, padrão e não padrão - representação em soma de produtos (SdP) e em
produto de somas (PdS);
• Mapas de Karnaugh - Baseia-se na identificação visual de grupos de mintermos ou
maxtermos que podem ser simplificados.
TEAC - José Santos, N.º 12 Página 18
Delegação Regional do Centro
Centro de Emprego e Formação Profissional de Viseu
AÇÃO: TÉCNICO/A DE ELECTRÓNICA, AUTOMAÇÃO E COMPUTADORES - PRO
UFCD 6024 (13) – Circuitos Lógicos
Exemplo de simplificação aplicando a factoração:
Por exemplo
S = A.B.C + A.C’ + A.B’
= A.(B.C + C’ + B’) distributiva
= A.(B.C + (C’ + B’)) associativa
= A.(B.C + ( (C’ + B’)’ )’) identidade do complemento
= A.(B.C + (C.B)’) De Morgan
= A.(B.C + (B.C)’ ) comutativa
= A.(1) identidade da adição (D+D’=1)
= A identidade da multiplicação
Portanto: A.B.C + A.C’ + A.B’ = A
Essa expressão mostra a importância da simplificação de expressões e a consequente
minimização do circuito, sendo o resultado final igual ao da variável A.
As imagens seguintes mostram o circuito antes e depois da simplificação.
Derivação de expressões usando Soma de Produtos (SdP)
Dada uma função Booleana de n variáveis (ou seja, n entradas), haverá 2n
combinações possíveis
de valores. Dizemos que esse conjunto de valores que as variáveis podem assumir, juntamente com
os respetivos valores da função, constituem o espaço da função. A cada combinação de entradas
podemos associar um termo produto, no qual todas as variáveis da função estão presentes, e que
é construído da seguinte forma: se a variável correspondente vale 0, ela deve aparecer negada; se
a variável vale 1, ela deve aparecer não negada. A tabela a seguir lista os termos produto associados
a cada combinação de entradas para uma função Booleana de três variáveis (A, B e C, por exemplo).
Cada termo produto construído conforme a regra descrita é denominado mintermo (ou
minitermo). Note-se que, para um dado mintermo, se substituirmos os valores das variáveis
associadas, obteremos 1. Porém, se substituirmos nesse mesmo mintermo quaisquer outras
combinações de valores, obteremos 0. Dessa forma, se quisermos encontrar a equação para uma
Figura 7 - Circuito após a
simplificação
Figura 6 - Circuito antes da
simplificação
TEAC - José Santos, N.º 12 Página 19
Delegação Regional do Centro
Centro de Emprego e Formação Profissional de Viseu
AÇÃO: TÉCNICO/A DE ELECTRÓNICA, AUTOMAÇÃO E COMPUTADORES - PRO
UFCD 6024 (13) – Circuitos Lógicos
função a partir de sua tabela verdade, basta montarmos um OU entre os mintermos associados aos
1’s da função (também chamados mintermos 1).
Derivação de expressões usando Produto de Somas (PdS)
O método de derivação usando produto de somas é o dual (isto é, o oposto) do método de
derivação em soma de produtos. A cada combinação das variáveis de entrada de uma função
podemos associar um termo soma, no qual todas as variáveis da função estão presentes, e que é
construído da seguinte forma: se a variável correspondente vale 1, ela deve aparecer negada; se a
variável vale 0, ela deve aparecer não negada. A tabela a seguir lista os termos soma associados a
cada combinação de entradas para uma função Booleana de três variáveis (A, B e C, por exemplo).
Cada termo soma construído conforme a regra anteriormente descrita é denominado maxtermo
(ou maxitermo). Note que, para um dado maxtermo, se substituirmos os valores das variáveis
associadas, obteremos 0. Porém, se substituirmos nesse mesmo maxtermo quaisquer outras
combinações de valores, obteremos 1. Dessa forma, se quisermos encontrar a equação para uma
função a partir de sua tabela verdade, basta montarmos um E entre os maxtermos associados aos
0’s da função (também chamados maxtermos 0).
Exemplo: encontrar a equação em soma de produtos (SdP) e produto de somas (PdS) para a função
F, descrita pela seguinte tabela de verdade:
TEAC - José Santos, N.º 12 Página 20
Delegação Regional do Centro
Centro de Emprego e Formação Profissional de Viseu
AÇÃO: TÉCNICO/A DE ELECTRÓNICA, AUTOMAÇÃO E COMPUTADORES - PRO
UFCD 6024 (13) – Circuitos Lógicos
F é função das variáveis A, B e C.
Os valores de (A, B, C) para os quais F=1 são (0,1,0), (0,1,1), (1,0,1) e (1,1,0). Os
mintermos associados a essas condições (ou seja, os mintermos 1), são A’.B.C’ ,
A’.B.C , A.B’.C e A.B.C’ , respetivamente. Logo, a equação em soma de produtos
para F será o OU entre estes produtos, conforme segue:
F = A’.B.C’ + A’.B.C + A.B’.C + A.B.C’
Os valores das variáveis de entrada (A, B, C) para os quais F=0 são (0,0,0), (0,0,1),
(1,0,0) e (1,1,1). Os maxtermos associados a essas condições (ou seja, os
maxtermos 0), são A+B+C, A+B+C’, A+B’+C’ e A’+B’+C’, respetivamente. Logo, a equação em
produto de somas para F será o E entre estas somas:
F = (A+B C).(A+B+C’).(A+B’+C’).(A’+B’+C’)
Note-se que a ordem de precedência de uma expressão em produto de somas é “primeiro cada
soma deve ser avaliada, para só então avaliar-se o produto”. Isto significa que os parêntesis em
torno de cada termo soma são obrigatórios! Repare também que os símbolos referentes à
operação E (entre os termos soma) podem ser omitidos.
Formas Canônicas, Padrão e Não-Padrão
As representações em soma de produtos (SdP) e em produto de somas (PdS) são denominadas
formas padrão. A soma de produtos e o produto de somas descritos nas duas seções anteriores
apresentam ainda uma característica bastante particular: em cada termo soma e em cada termo
produto todas as variáveis da função estão presentes. Devido a essa característica, essas formas
são chamadas canónicas.
Além das representações descritas atrás, há representações alternativas (e mais concisas) para as
expressões canônicas. Se associarmos cada combinação das variáveis de entrada ao seu
equivalente em decimal, cada mintermo pode ser representado por mi, onde i é o decimal
associado. De forma similar, cada maxtermo pode ser representado por Mi, onde i é o decimal
associado. A tabela a seguir lista todos os mintermos e maxtermos de uma função de três variáveis
(A, B e C).
Voltando à função F anterior, podemos reescrever a expressão em soma de produtos, na forma
canônica, como segue: F = m2 + m3 + m5 + m6 ou ainda 𝐹 = ∑(2,3,5,6).
TEAC - José Santos, N.º 12 Página 21
Delegação Regional do Centro
Centro de Emprego e Formação Profissional de Viseu
AÇÃO: TÉCNICO/A DE ELECTRÓNICA, AUTOMAÇÃO E COMPUTADORES - PRO
UFCD 6024 (13) – Circuitos Lógicos
E a sua expressão em produto de somas, na forma canónica, pode ser reescrita como:
F = M0 + M1 + M4 + M7, ou simplesmente 𝐹 = ∏(0,1,4,7)
Simplificação de funções Booleanas usando Mapas de Karnaugh
O método de simplificação atrás mencionado é de aplicabilidade limitada, uma vez que é bastante
difícil certificar-se que todos os pares de mintermos que podiam ser simplificados foram
determinados. Alternativamente àquele método, há outro método de simplificação baseado na
identificação visual de grupos de mintermos passíveis de serem simplificados. No entanto, para que
se possa identificar tais grupos, é necessário que os mintermos sejam dispostos de maneira mais
conveniente em tabelas conhecidas como diagramas ou mapas de Karnaugh.
Num mapa de Karnaugh, há uma região própria para cada linha da tabela verdade.
Essas regiões são os locais ondem devem ser colocados os valores que a expressão F assume nas
diferentes possibilidades. Para obter a expressão simplificada por meio do mapa:
• Conforme o número de variáveis, devemos agrupar as regiões onde F=1 no menor número
possível de oitavas (4 variáveis), quadras (3 variáveis), pares (2 variáveis) (diagonais não são
permitidas no agrupamento de pares) - conceito de adjacência;
• As regiões onde F=1 que não puderem ser agrupadas em oitavas, quadras ou pares são
consideradas isoladamente
• É importante ressalvar que o conceito de adjacência é aplicável na horizontal e na vertical,
mas nunca na diagonal. Mapas com mais de 4 variáveis são difíceis de manipular.
Por exemplo, dada a seguinte tabela vamos determinar a expressão F, usando mintermos (SdP).
Situação A B F
0 0 0 1
1 0 1 1
2 1 0 1
3 1 1 0
Solução:
Dada a tabela ao lado, obtenha a expressão de F diretamente da
tabela, usando mintermos
F = A’.B’ + A’.B + A.B’
A seguir, transporta-se a tabela para o mapa de Karnaugh e
obtem-se a expressão simplificada
F = Par 1 + Par 2
F = A’ + B’
Nota-se que a tabela verdade é a de uma porta NAND, cuja
expressão é F = (A.B)’.
Aplicando De Morgan na expressão encontrada, tem-se:
F = A’ + B’ = (A.B)’
TEAC - José Santos, N.º 12 Página 22
Delegação Regional do Centro
Centro de Emprego e Formação Profissional de Viseu
AÇÃO: TÉCNICO/A DE ELECTRÓNICA, AUTOMAÇÃO E COMPUTADORES - PRO
UFCD 6024 (13) – Circuitos Lógicos
3. CONCLUSÕES
A unidade básica construtiva de um sistema digital é a Porta Lógica e que funções lógicas com
diversas variáveis de entrada podem ser obtidas mediante a interligação de portas lógicas básicas.
A própria porta lógica básica executa uma função lógica básica elementar.
Para facilitar o tratamento analítico das diversas funções lógicas possíveis de serem implementadas
através da interligação entre portas, utiliza-se a representação da função lógica através de
equações Booleanas.
As portas lógicas são o dispositivo digital mais elementar. Uma porta lógica possui uma ou mais
entradas e gera uma saída que é uma função dos valores atuais das entradas. Uma porta lógica é
um circuito combinacional porque as saídas dependem exclusivamente da combinação atual das
entradas

Mais conteúdo relacionado

Semelhante a Circuitos Lógicos e Sistemas de Numeração

Apresentação1 sistemas numéricos
Apresentação1   sistemas numéricosApresentação1   sistemas numéricos
Apresentação1 sistemas numéricosLarissa Rozza Peluso
 
Sistemas de Numeracao
Sistemas de NumeracaoSistemas de Numeracao
Sistemas de NumeracaoMauro Pereira
 
Apresentação de Sistemas Numéricos - Bits Bytes
Apresentação de Sistemas Numéricos - Bits BytesApresentação de Sistemas Numéricos - Bits Bytes
Apresentação de Sistemas Numéricos - Bits BytesAnne Carolline Oliveira
 
SISTEMAS digitais SISTEMAS DE NUMERAÇÃO
SISTEMAS digitais SISTEMAS DE NUMERAÇÃOSISTEMAS digitais SISTEMAS DE NUMERAÇÃO
SISTEMAS digitais SISTEMAS DE NUMERAÇÃOCarlos Pereira
 
Apostila de práticas_de_eletrônica_digital_ii2
Apostila de práticas_de_eletrônica_digital_ii2Apostila de práticas_de_eletrônica_digital_ii2
Apostila de práticas_de_eletrônica_digital_ii2sinohara
 
Aula - conversao de bases.pdf
Aula - conversao de bases.pdfAula - conversao de bases.pdf
Aula - conversao de bases.pdfRodneyTeixeira2
 
1 - Sistemas de Numeração.ppt
1 - Sistemas de Numeração.ppt1 - Sistemas de Numeração.ppt
1 - Sistemas de Numeração.pptJoberthSilva
 
Fundamento Hardware - Aula 006
Fundamento Hardware - Aula 006Fundamento Hardware - Aula 006
Fundamento Hardware - Aula 006Cláudio Amaral
 
Organização de Computadores - Aula 03
Organização de Computadores - Aula 03Organização de Computadores - Aula 03
Organização de Computadores - Aula 03thomasdacosta
 
Aula 04 isc - a informação e sua representação
Aula 04   isc - a informação e sua representaçãoAula 04   isc - a informação e sua representação
Aula 04 isc - a informação e sua representaçãoFábio Andrade
 
Sistemas de Numeração e Conversão de Bases
Sistemas de Numeração e Conversão de BasesSistemas de Numeração e Conversão de Bases
Sistemas de Numeração e Conversão de BasesLeandro Costa
 
Operações com binários
Operações com bináriosOperações com binários
Operações com bináriosjecyjs
 
02 sistemas numeracao
02   sistemas numeracao02   sistemas numeracao
02 sistemas numeracaolaenia
 
Aula 05- IN1 - IFES - 2 semestre 2010
Aula   05- IN1 - IFES - 2 semestre 2010Aula   05- IN1 - IFES - 2 semestre 2010
Aula 05- IN1 - IFES - 2 semestre 2010Moises Omena
 

Semelhante a Circuitos Lógicos e Sistemas de Numeração (20)

Apresentação1 sistemas numéricos
Apresentação1   sistemas numéricosApresentação1   sistemas numéricos
Apresentação1 sistemas numéricos
 
Sistemas de Numeracao
Sistemas de NumeracaoSistemas de Numeracao
Sistemas de Numeracao
 
Apresentação de Sistemas Numéricos - Bits Bytes
Apresentação de Sistemas Numéricos - Bits BytesApresentação de Sistemas Numéricos - Bits Bytes
Apresentação de Sistemas Numéricos - Bits Bytes
 
aula_02.pdf
aula_02.pdfaula_02.pdf
aula_02.pdf
 
SISTEMAS digitais SISTEMAS DE NUMERAÇÃO
SISTEMAS digitais SISTEMAS DE NUMERAÇÃOSISTEMAS digitais SISTEMAS DE NUMERAÇÃO
SISTEMAS digitais SISTEMAS DE NUMERAÇÃO
 
Apostila de práticas_de_eletrônica_digital_ii2
Apostila de práticas_de_eletrônica_digital_ii2Apostila de práticas_de_eletrônica_digital_ii2
Apostila de práticas_de_eletrônica_digital_ii2
 
Aula - conversao de bases.pdf
Aula - conversao de bases.pdfAula - conversao de bases.pdf
Aula - conversao de bases.pdf
 
1 - Sistemas de Numeração.ppt
1 - Sistemas de Numeração.ppt1 - Sistemas de Numeração.ppt
1 - Sistemas de Numeração.ppt
 
Tabela de conversao
Tabela de conversaoTabela de conversao
Tabela de conversao
 
Aplicativo aula006
Aplicativo aula006Aplicativo aula006
Aplicativo aula006
 
Fundamento Hardware - Aula 006
Fundamento Hardware - Aula 006Fundamento Hardware - Aula 006
Fundamento Hardware - Aula 006
 
Organização de Computadores - Aula 03
Organização de Computadores - Aula 03Organização de Computadores - Aula 03
Organização de Computadores - Aula 03
 
Apostila de digital aut ss
Apostila de digital aut ssApostila de digital aut ss
Apostila de digital aut ss
 
aula_03.pdf
aula_03.pdfaula_03.pdf
aula_03.pdf
 
AC_aula_1-16.ppt
AC_aula_1-16.pptAC_aula_1-16.ppt
AC_aula_1-16.ppt
 
Aula 04 isc - a informação e sua representação
Aula 04   isc - a informação e sua representaçãoAula 04   isc - a informação e sua representação
Aula 04 isc - a informação e sua representação
 
Sistemas de Numeração e Conversão de Bases
Sistemas de Numeração e Conversão de BasesSistemas de Numeração e Conversão de Bases
Sistemas de Numeração e Conversão de Bases
 
Operações com binários
Operações com bináriosOperações com binários
Operações com binários
 
02 sistemas numeracao
02   sistemas numeracao02   sistemas numeracao
02 sistemas numeracao
 
Aula 05- IN1 - IFES - 2 semestre 2010
Aula   05- IN1 - IFES - 2 semestre 2010Aula   05- IN1 - IFES - 2 semestre 2010
Aula 05- IN1 - IFES - 2 semestre 2010
 

Circuitos Lógicos e Sistemas de Numeração

  • 1. TEAC - José Santos, N.º 12 Página 1 Delegação Regional do Centro Centro de Emprego e Formação Profissional de Viseu AÇÃO: TÉCNICO/A DE ELECTRÓNICA, AUTOMAÇÃO E COMPUTADORES - PRO UFCD 6024 (13) – Circuitos Lógicos PRA - Portefólio Reflexivo de Aprendizagem Curso: Técnico de Eletrónica, Automação e Computadores UFCD: 6024 (13) – Circuitos Lógicos Formando: José Manuel Pinto Rodrigues dos Santos Formador: Eng. Fernando Tavares Mediadora: Helena Teixeira 1.INTRODUÇÃO Objetivos para esta unidade: • Caracterizar as diferentes bases de numeração; • Representar números nas bases decimal, binário e hexadecimal; • Efetuar a conversão entre decimal e as outras bases e vice-versa, de números inteiros e fracionários; • Efetuar operações aritméticas em binário; • Calcular o complemento a dois e a um de um número binário; • Representar números binários com bit de sinal; • Efetuar conversões entre o código BCD e o sistema decimal; • Reconhecer a utilização do código ASCII; • Interpretar o sistema de deteção de erros por bit de paridade; • Álgebra de Boole e funções lógicas: o Reconhecer o estado lógico e identificar variável lógica e nível lógico; o Representar as funções lógicas através de tabelas de verdade; o Desenhar o logigrama a partir da expressão lógica e vice-versa; o Descrever os postulados e teoremas da álgebra de Boole; o Simplificar funções lógicas através dos teoremas e postulados da álgebra de Boole e pelo método de Karnaugh; o Desenhar circuitos de lógica combinatória a partir da tabela de verdade ou da expressão de saída. • Portas lógicas: o Identificar os símbolos das portas lógicas; o Descrever o funcionamento das portas lógicas básicas; o Reconhecer a universalidade das portas nand e nor; o Utilizar portas nand e nor para implementar qualquer função lógica; • Famílias lógicas: o Descrever as características das famílias lógicas mais usadas nos circuitos digitais (TTL e CMOS).
  • 2. TEAC - José Santos, N.º 12 Página 2 Delegação Regional do Centro Centro de Emprego e Formação Profissional de Viseu AÇÃO: TÉCNICO/A DE ELECTRÓNICA, AUTOMAÇÃO E COMPUTADORES - PRO UFCD 6024 (13) – Circuitos Lógicos Conteúdos estudados: • Sistemas de numeração o Sistema decimal o Sistema binário o Sistema hexadecimal o Conversão entre sistemas • Aritmética binária o Adição e subtração binárias o Complemento a dois e a um o Representação de um número binário com bit de sinal • Códigos binários o BCD o Paridade o Gray o ASCII • Deteção de erros através do bit de paridade • Álgebra de Boole • Funções lógicas • Portas lógicas • Famílias lógicas 2. DESENVOLVIMENTO Basicamente o que mais captou a minha atenção nesta UFCD foram os sistemas de numeração e a respetiva representação Começámos esta unidade pelos sistemas de numeração, depois detivemo- nos na álgebra booleana Com o advento da computação, olhamos para os computadores como máquinas que fazem o tratamento de texto, imagem e som, mas na realidade o que os computadores fazem é manipular números. Tudo o que se passa dentro de um computador é armazenado utilizando números (sejam dados, texto, sons ou imagens). Tudo começou com a invenção do bit (do inglês Binary Digit). O bit é apenas uma forma de representar dois estados: ligado (que representamos por 1) e desligado (que representamos por 0). Por exemplo, um bit serve perfeitamente para indicar qual o sexo de uma pessoa, pois apenas existem o sexo masculino e o feminino. Portanto poderá ser: • 1 – Masculino; • 0 – Feminino. Se pretendermos representar o estado civil dessa mesma pessoa um bit já não chega, porque os estados possíveis são: solteiro, casado, divorciado e viúvo. Mas se juntarmos dois bits podemos combiná-los de forma a representar os valores anteriores. Deste modo teremos: • 00 – Solteiro; • 01 – Casado;
  • 3. TEAC - José Santos, N.º 12 Página 3 Delegação Regional do Centro Centro de Emprego e Formação Profissional de Viseu AÇÃO: TÉCNICO/A DE ELECTRÓNICA, AUTOMAÇÃO E COMPUTADORES - PRO UFCD 6024 (13) – Circuitos Lógicos • 01 - Divorciado; • 11 - Viúvo. Assim, para representar conjuntos maiores de valores a solução é: ir juntando bits até que se possa representar o conjunto pretendido. Mas a questão seguinte foi saber quando parar de juntar bits. Por exemplo, como se faz a soma de um número com 13 bits com outro com apenas 2 bits? A solução encontrada foi o byte como unidade de medida. Esta unidade passou a ter 8 bits e em termos computacionais é a unidade de medida. Dentro de um byte os números representam-se com os símbolos 0 e 1. Isto advém do facto de os sistemas computacionais utilizarem a base 2 (também conhecida como base binária), à qual correspondem os símbolos 0 e 1. No sistema binário (0 e 1), para determinar o número de combinações com n bits, basta calcular 2n Por exemplo, 1 bit representa 21 = 2 combinações possíveis. Neste caso as 2 combinações possíveis são 0 e 1. O número zero é fácil de representar: 00000000. O número seguinte é obtido através da adição de uma unidade ao valor 0: 00000000+1=00000001. E qual será o próximo número? 00000001 +00000001 ? ? ? ? ? ? ? ? Esta situação é semelhante à que ocorre quando estamos a fazer a mesma operação com o último elemento da nossa base habitual de trabalho, a base 10 (ou decimal) O resultado de 9+1 é: 9 +1 0 (𝑒 𝑣𝑎𝑖 1) Por isso o resultado é semelhante a 1 9 +1 10 O mesmo acontece na Base 2 (em que apenas podemos considerar os símbolos 0 e 1) Assim: 1 +1 0 (𝑒 𝑣𝑎𝑖 𝑢𝑚, 𝑝𝑜𝑖𝑠 𝑗á 𝑢𝑙𝑡𝑟𝑎𝑝𝑎𝑠𝑠𝑎𝑚𝑜𝑠 𝑜 𝑚𝑎𝑖𝑜𝑟 𝑒𝑙𝑒𝑚𝑒𝑛𝑡𝑜 𝑑𝑎 𝑏𝑎𝑠𝑒)
  • 4. TEAC - José Santos, N.º 12 Página 4 Delegação Regional do Centro Centro de Emprego e Formação Profissional de Viseu AÇÃO: TÉCNICO/A DE ELECTRÓNICA, AUTOMAÇÃO E COMPUTADORES - PRO UFCD 6024 (13) – Circuitos Lógicos Então, o resultado é semelhante a 1 1 + 1 10 Ou seja, na base 2 o número 2 é representado como sendo 00000010. O próximo número será 11 (número 3 na base 10) 10 +1 11 O seguinte será obtido da mesma forma: 11 +1 0 (𝑒 𝑣𝑎𝑖 1) 1 11 +1 00 (𝑒 𝑣𝑎𝑖 1) 11 11 +1 100 Assim o número 4 (base 10) é representado por 100 na base 2. Os próximos números representam-se facilmente. Decimal Binário Decimal Binário 0 00000000 10 00001010 1 00000001 11 00001011 2 00000010 12 00001100 3 00000011 13 00001101 4 00000100 14 00001110 5 00000101 15 00001111 6 00000110 16 00010000 7 00000111 17 00010001 8 00001000 18 00010010 9 00001001 19 00010011
  • 5. TEAC - José Santos, N.º 12 Página 5 Delegação Regional do Centro Centro de Emprego e Formação Profissional de Viseu AÇÃO: TÉCNICO/A DE ELECTRÓNICA, AUTOMAÇÃO E COMPUTADORES - PRO UFCD 6024 (13) – Circuitos Lógicos Se pensarmos um pouco, verificamos que os múltiplos de 2 (em progressão geométrica, 1, 2 4, 8, 16, etc) estão todos colocados estrategicamente tendo apenas um dos bits com 1 e todos os outros com 0. Observemos também que se numerarmos os bits da direita para a esquerda começando na posição índice zero, como indicado a seguir, 7 6 5 4 3 2 1 0 facilmente obteremos os valores que se encontram na coluna da direita da tabela seguinte: Decimal Binário Posição Valor 1 00000001 0 20 2 00000010 1 21 4 00000100 2 22 8 00001000 3 23 Ficamos assim a saber que se o bit que se apresenta na posição índice n estiver com 1, o número que ele representa é 2n . Por exemplo o número 01102 na base 10 pode ser facilmente calculado: 0 1 1 0 27 26 25 24 23 22 21 20 128 64 32 16 8 4 2 1 Desta forma podemos compreender facilmente qual o valor ao qual pertence na base 10 o número em binário. Esse valor é igual a: 0*23 +1*22 +1*21 +0*20 = 1*22 +1*21 = 4+2 = 6. Facilmente se compreende agora que se um byte tem 8 bits, o menor valor nele representado será 0: 00000000, e o maior será 255: 11111111 (128+64+32+16+8+4+2+1 = 255). Assim, o menor número representado por um byte será o 0, e o maior será o número 255, existindo assim 256 números passíveis de serem representados por um byte. Como os caracteres são armazenados num único byte, essa é a razão pela qual existem apenas 256, cujos códigos numéricos vão de 0 até 255. (1 byte = 8 bits = 28 = 256 combinações possíveis) Como é complicado representar valores numéricos bit a bit, foram desenvolvidas bases de trabalho diferentes. Assim surgiram as Bases Octal (8 símbolos) e Hexadecimal (16 símbolos).
  • 6. TEAC - José Santos, N.º 12 Página 6 Delegação Regional do Centro Centro de Emprego e Formação Profissional de Viseu AÇÃO: TÉCNICO/A DE ELECTRÓNICA, AUTOMAÇÃO E COMPUTADORES - PRO UFCD 6024 (13) – Circuitos Lógicos Base Octal A base Octal é formada pelos símbolos 0…7. Quando se chega ao final da base, utiliza-se o esquema habitual (e vai 1). Desta forma, os primeiros 40 números na base Octal são: Decimal Octal Decimal Octal Decimal Octal Decimal Octal 0 0 10 12 20 24 30 36 1 1 11 13 21 25 31 37 2 2 12 14 22 26 32 40 3 3 13 15 23 27 33 41 4 4 14 16 24 30 34 42 5 5 15 17 25 31 35 43 6 6 16 20 26 32 36 44 7 7 17 21 27 33 37 45 8 10 18 22 28 34 38 46 9 11 19 23 29 35 39 47 Mais uma vez o princípio se mantém: qualquer número pode ser representado na base. Por exemplo, 2910 equivale a 35 na Base Octal. Vamos confirmar: 3*81 + 5*80 = 3*8 + 5*1 = 24 + 5 = 29 Base Hexadecimal A Base Hexadecimal é formada por 16 símbolos. Como a nossa base de trabalho (base Decimal) é composta por apenas 10 símbolos (0…9), houve necessidade de adicionar os símbolos A(10), B(11), C(12), D(13), E(14) e F(15). Os primeiros 40 números na base Hexadecimal são: Decimal Hexa Decimal Hexa Decimal Hexa Decimal Hexa 0 0 10 A 20 14 30 1E 1 1 11 B 21 15 31 1F 2 2 12 C 22 16 32 20 3 3 13 D 23 17 33 21 4 4 14 E 24 18 34 22 5 5 15 F 25 19 35 23 6 6 16 10 26 1A 36 24 7 7 17 11 27 1B 37 25 8 10 18 12 28 1C 38 26 9 11 19 13 29 1D 39 27 Mais uma vez o princípio se mantém, qualquer número pode ser representado na base. Tomemos o mesmo exemplo, 2910 equivale a 1D na Base Hexadecimal. 1*161 + D*160 = 1*16 + 13 = 16 + 13 = 29
  • 7. TEAC - José Santos, N.º 12 Página 7 Delegação Regional do Centro Centro de Emprego e Formação Profissional de Viseu AÇÃO: TÉCNICO/A DE ELECTRÓNICA, AUTOMAÇÃO E COMPUTADORES - PRO UFCD 6024 (13) – Circuitos Lógicos Sendo os circuitos digitais constituídos por elementos dotados de 2 estados distintos, o sistema de numeração binária tem um papel importante no seu estudo. O sistema octal (base 8) e hexadecimal (base 16) desempenham também um papel importante para compactar a escrita de um número binário. Símbolos usados nas bases 2, 8, 10 e 16 Base Símbolos 2 0, 1 8 0, 1, 2, 3, 4, 5, 6, 7 10 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 16 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F Conversões entre Bases Para fazer uso dos sistemas numéricos não-decimais é preciso ser capaz de converter um número expresso em uma base em outro número expresso em outra base Converter Decimal para Binário Para converter qualquer número da base 10 para outra, pode-se utilizar vários métodos. Um destes métodos é passar sempre pela base 2, representando o número em binário. Por exemplo 18110: Começa-se por representar o número 181 como uma sequência de 0 e 1. Começa-se por verificar se o bit mais à esquerda é colocado em 1 ou 0. Se o número a ser escrito for maior ou igual ao valor associado à posição do bit, então esse bit fica com o símbolo 1, senão fica com 0. Neste caso, como 181 > 128, o bit da casa 128 é colocado em 1. Nesse momento já representamos o número 128, por isso falta representar 181 - 128 = 53. Ora, o valor do próximo bit é maior que 53 (64), logo esse bit não vai ser utilizado, e fica por isso com 0. Como 53 é maior que 32, vamos ficar com o bit em 1 e sobram ainda 53 - 32 =21. Como 21 é maior que 16, este bit fica com 1 e sobram 21 - 16 = 5. Facilmente de compreenderá que para conseguir o número 5 a partir dos bits teremos de fazer 4 + 1, isto é, temos de selecionar os bits associados a esses dois valores. Todos os outros bits ficam a 0, uma vez que o número já está completamente representado. 1 0 1 1 0 1 0 1 27 26 25 24 23 22 21 20 128 64 32 16 8 4 2 1 Só para confirmar: 128 + 32 + 16 + 4 + 1 = 181
  • 8. TEAC - José Santos, N.º 12 Página 8 Delegação Regional do Centro Centro de Emprego e Formação Profissional de Viseu AÇÃO: TÉCNICO/A DE ELECTRÓNICA, AUTOMAÇÃO E COMPUTADORES - PRO UFCD 6024 (13) – Circuitos Lógicos Converter Binário para Octal É extremamente simples converter um valor de Binário para Octal, uma vez que esta base é constituída pelos seguintes oito símbolos, bastando 3 bits para representar qualquer dos números da base: Octal Binário 0 000 1 001 2 010 3 011 4 100 5 101 6 110 7 111 Assim, para representar o número anterior 101101012 em Octal basta agrupar à direita em conjuntos de 3 bits, isto é: (10)(110)(101) que é equivalente a (010)(110)(101). Agora, é só ver qual a equivalência entre esses conjuntos de bits e os respetivos valores em Octal: • 010 corresponde ao símbolo 2; • 110 corresponde ao símbolo 6; • 101 corresponde ao símbolo 5 Obtém-se o valor 265, que é a representação em Octal do valor 181 na base 10. Converter Binário para Hexadecimal Converter um valor de Binário para Hexadecimal é, mais uma vez, extremamente simples. Basta fazer como no procedimento anterior. A Base Hexadecimal é composta pelos 16 símbolos (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F), sendo nesse caso necessários 4 bits para representar qualquer dos números da base: Hexa Binário Hexa Binário 0 0000 8 1000 1 0001 9 1001 2 0010 A 1010 3 0011 B 1011 4 0100 C 1100 5 0101 D 1101 6 0110 E 1110 7 0111 F 1111 Assim, para representar o número anterior 18110 (101101102) em Hexadecimal basta agrupar à direita em conjuntos de 4 bits, isto é: (1011)(0101).
  • 9. TEAC - José Santos, N.º 12 Página 9 Delegação Regional do Centro Centro de Emprego e Formação Profissional de Viseu AÇÃO: TÉCNICO/A DE ELECTRÓNICA, AUTOMAÇÃO E COMPUTADORES - PRO UFCD 6024 (13) – Circuitos Lógicos Agora é só ver a equivalência entre esses conjuntos de 4 bits e os respetivos valores em Hexadecimal: • 1011 corresponde ao símbolo B; • 0101 corresponde ao símbolo 5. Obtém-se o valor B516 que é a representação em Hexadecimal do valor 18110 na base 10 e 2658 na base 8. Converter Binário para Decimal Basta multiplicar cada um dos bits pelo valor da Base elevada a cada uma das potências. Por exemplo: 101102 = 1*24 + 0*23 + 1*22 + 1*21 + 0*20 = 48 + 7 = 55 Converter Octal para Decimal Basta multiplicar cada um dos elementos constituintes do número pela base 8 elevada a cada uma das potências. Por exemplo: 0678 = 0*82 + 6*81 + 7*80 = 0 + 6*8 + 7 = 55 Converter Hexadecimal para Decimal Mais uma vez basta multiplicar cada um dos elementos constituintes do número pela base 16 elevada a cada uma das potências. Por exemplo: 1A516 = 1*162 + A*161 + 5*160 = 1*256 + 10*16 + 5*1 = 421 Outro dos métodos para conversão entre as bases é o método da divisão-multiplicação. Neste método a fração e a parte inteira de um número são convertidas separadamente. Tomemos como exemplo o 66,46810. Parte inteira: efetuam-se divisões sucessivas por 2 até se obter o quociente igual a 0. Depois agrupam-se todos os restos da divisão encontrados por ordem inversa. 6610 = 10000102 Para converter para a Base Hexadecimal a divisão seria por 16:
  • 10. TEAC - José Santos, N.º 12 Página 10 Delegação Regional do Centro Centro de Emprego e Formação Profissional de Viseu AÇÃO: TÉCNICO/A DE ELECTRÓNICA, AUTOMAÇÃO E COMPUTADORES - PRO UFCD 6024 (13) – Circuitos Lógicos Para a Base Octal teríamos de dividir por 8. Parte fracionária: multiplica-se sucessivamente a parte fracionária e as partes fracionárias resultantes, por 2. Obtém-se uma sucessão de números cujas partes inteiras correspondem aos sucessivos símbolos de representação na Base 2 Em resumo, na figura seguinte mostra-se um diagrama explicativo para conversão entre as diferentes bases: • ∑ 𝑑𝑖𝑏𝑖 - Soma de potências de base b (bi) multiplicadas pelo respetivo dígito (di);
  • 11. TEAC - José Santos, N.º 12 Página 11 Delegação Regional do Centro Centro de Emprego e Formação Profissional de Viseu AÇÃO: TÉCNICO/A DE ELECTRÓNICA, AUTOMAÇÃO E COMPUTADORES - PRO UFCD 6024 (13) – Circuitos Lógicos • 𝐺𝑟𝑢𝑝𝑜𝑠 3 𝑒 4 - Conversão diteta entre dígito e grupo; • ÷ 𝐵 - Divisão sucessiva pela base B Álgebra de Boole e Funções Lógicas A álgebra Booleana pode ser definida com um conjunto de operadores e um conjunto de axiomas, que são assumidos verdadeiros sem necessidade de prova. Em 1854, George Boole introduziu o formalismo que até hoje se usa para o tratamento sistemático da lógica, que é a chamada Álgebra Booleana. Princípios da Álgebra Booleana: • Não contradição: uma proposição não pode ser simultaneamente verdadeira e falsa; • Terceiro excluído: uma proposição só pode tomar um dos 2 valores possíveis, ou é verdadeira ou falsa, não é possível terceira hipótese. Na Álgebra Booleana as variáveis só podem assumir 1 entre 2 valores (0 ou 1); e usam-se tabelas (tabelas de verdade) para listar as combinações de valores de entrada e os correspondentes valores de saída. Existem três operações ou funções básicas. São elas, operação OR (OU - adição lógica), a operação AND (E - multiplicação lógica) e a operação NOT (NÃO - negação, complementação ou inversão). Todas as funções Booleanas podem ser representadas em termos destas operações básicas. Operações Lógicas Básicas Operação OR (OU - Adição Lógica) Uma definição para a operação OR (OU), que também é denominada adição lógica, é: • “A operação OU resulta 1 se pelo menos uma das variáveis de entrada vale 1”. Como uma variável Booleana ou vale 1 ou vale 0, e como o resultado de uma operação qualquer pode ser encarado como (ou atribuído a) uma variável Booleana, basta que definamos quando a operação vale 1. Automaticamente, a operação resultará 0 nos restantes casos.O símbolo para representar a operação OU é “+”, tal como o símbolo da da adição algébrica.
  • 12. TEAC - José Santos, N.º 12 Página 12 Delegação Regional do Centro Centro de Emprego e Formação Profissional de Viseu AÇÃO: TÉCNICO/A DE ELECTRÓNICA, AUTOMAÇÃO E COMPUTADORES - PRO UFCD 6024 (13) – Circuitos Lógicos Operação AND ( E - Multiplicação Lógica) A operação E, ou multiplicação lógica, pode ser definida da seguinte forma: • “A operação E resulta 0 se pelo menos uma das variáveis de entrada vale 0”. Pela definição dada, pode-se deduzir que o resultado da operação E será 1 se, e somente se, todas as entradas valerem 1. O símbolo usualmente utilizado na operação E é “*”. Operação NOT (NÃO - Negação, complemento ou inversão) A operação complementação dispensa uma definição. É a operação cujo resultado é simplesmente o valor complementar ao que a variável apresenta. Também devido ao fato de uma variável Booleana poder assumir um entre somente dois valores, o valor complementar será 1 se a variável vale 0 e será 0 se a variável vale 1. Os símbolos utilizados para representar a operação complementação sobre uma variável Booleana A são 𝐴̅ , e A' (lê-se A negado). Tabela de verdade Os procedimentos para a criação da tabela de verdade a partir de uma equação Booleana são: • Cada entrada = 1 coluna • Cada saída = 1 coluna • Combinações de valores que entradas podem assumir = 2n , onde n é a quantidade de variáveis de entrada Dada a equação que descreve uma função Booleana qualquer, deseja-se saber detalhadamente como esta função se comporta para qualquer combinação das variáveis de entrada. O comportamento de uma função é descrito pela sua tabela verdade e este problema é conhecido como avaliação da função ou da expressão que descreve a função considerada. Em suma, deseja-se achar a tabela verdade para a função Booleana. Uma tabela verdade consiste basicamente de um conjunto de colunas, nas quais são listadas todas as combinações possíveis entre as variáveis de entrada (à esquerda) e oresultado da função (à direita). Também, pode-se criar colunas intermediárias, onde são listados os resultados de subexpressões contidas na expressão principal. Isto normalmente facilita a avaliação, principalmente no caso de equações muito complexas e/ou contendomuitas variáveis. Quando numa mesma equação Booleana aparecem operações E e OU, é necessário seguir a ordem de precedência. Tal como na álgebra dos reais, a multiplicação (lógica) tem precedência sobre a adição (lógica). Além disso, expressões entre parêntesis têm precedência sobre operadores E e OU que estejam no mesmo nível. Quanto à complementação, esta deve ser avaliada tão logo seja possível. Caso a complementação seja aplicada sobre uma subexpressão inteira, é necessário que se avalie primeiramente a subexpressão para, só após, inverter o seu resultado. Por exemplo para a equação W = X + Y * Z’, a variável W representa a função Booleana propriamente dita, e depende das outras variáveis, X, Y e Z. Logo são 3 as variáveis de entrada, e o total de combinações entre 3 variáveis é 23 = 8 combinações possíveis.Então a tabela de verdade deverá ter 4 colunas (3 colunas de entrada, 1 para cada variável independente e 1 coluna de saída para a variável dependente) e oito linhas como é mostrado a seguir, na figura 1.
  • 13. TEAC - José Santos, N.º 12 Página 13 Delegação Regional do Centro Centro de Emprego e Formação Profissional de Viseu AÇÃO: TÉCNICO/A DE ELECTRÓNICA, AUTOMAÇÃO E COMPUTADORES - PRO UFCD 6024 (13) – Circuitos Lógicos Tabela 1 - Tabela de verdade para W = X+ Y * Z' Portas Lógicas Uma função Booleana pode ser representada por uma equação ou detalhada pela sua tabela verdade. Mas uma função Booleana também pode ser representada de forma gráfica, onde cada operador está associado a um símbolo específico, permitindo o imediato reconhecimento visual. Tais símbolos são conhecidos por portas lógicas. As portas lógicas são circuitos eletrónicos que operam sobre um ou mais sinais de entrada para produzirem um sinal de saída. Na realidade, mais do que símbolos de operadores lógicos, as portas lógicas representam recursos físicos, isto é, circuitos eletrónicos, capazes de realizar as operações lógicas. Na eletrónica que trabalha apenas com dois estados, a qual é denominada eletrônica digital, o nível lógico 0 normalmente está associado à ausência de tensão (0 volt) enquanto o nível lógico 1, está associado à presença de tensão (a qual geralmente é 5 volts). Ao conjunto de portas lógicas e respetivas conexões que simbolizam uma equação Booleana, chamamos circuito lógico. Com os 3 tipos de porta elementares (AND, OR, NOT) consegue construir-se qualquer sistema digital combinatório, ou seja, formam um conjunto completo. Portas lógicas são dispositivos ou circuitos lógicos que operam um ou mais sinais lógicos de entrada para produzir uma e somente uma saída, a qual é dependente da função implementada no circuito. Um computador é constituído por uma infinidade de circuitos lógicos, que executam as seguintes funções básicas • realizam operações matemáticas;
  • 14. TEAC - José Santos, N.º 12 Página 14 Delegação Regional do Centro Centro de Emprego e Formação Profissional de Viseu AÇÃO: TÉCNICO/A DE ELECTRÓNICA, AUTOMAÇÃO E COMPUTADORES - PRO UFCD 6024 (13) – Circuitos Lógicos • controlam o fluxo dos sinais; • armazenam dados. Naturalmente, a cada operação lógica estudada na Álgebra de Boole está associada à respetiva porta lógica. As imagens seguintes ilustram os circuitos lógicos básicos realizados com interruptores. Figura 2 - Exemplo de um circuito lógico AND Figura 3 - Exemplo de um circuito lógico OR Figura 4 - Exemplo de um circuito lógico NOT Os símbolos e as tabelas de verdade do AND e do OR podem ser generalizados para portas com qualquer número de entradas. A bolha na saída do inversor representa um comportamento “invertido”. Combinando numa única porta, um NOT com uma função AND ou OR, obtêm-se 2 novas funções lógicas: NAND e NOR.
  • 15. TEAC - José Santos, N.º 12 Página 15 Delegação Regional do Centro Centro de Emprego e Formação Profissional de Viseu AÇÃO: TÉCNICO/A DE ELECTRÓNICA, AUTOMAÇÃO E COMPUTADORES - PRO UFCD 6024 (13) – Circuitos Lógicos Exemplo de um circuito lógico Dada uma equação Booleana qualquer, é possível desenhar-se o circuito lógico que a implementa. O circuito lógico é composto das portas lógicas relacionadas às operações que são realizadas sobre as variáveis de entrada. Os resultados das operações são conduzidos por fios, os quais, no desenho, são representados por linhas simples. Os passos a serem seguidos para se realizar o desenho do circuito lógico a partir de uma equação são praticamente os mesmos usados na avaliação da expressão. Como exemplo para a equação, W = X + Y * Z’, identificamos as variáveis independentes, que no caso são X, Y e Z. Para cada uma destas, traçamos uma linha (da esquerda para a direita), representando os fios que conduzem os valores. Feito isto, deve-se seguir desenhando as portas necessárias para representar cada uma das subexpressões, na mesma ordem tomada para a avaliação, ou seja: 1. Parêntesis (dos mais internos para os mais externos) 2. Operação E; 3. Operação OU A figura seguinte mostra o circuito lógico para a equação W = X +Y * Z’ Figura 5 - Circuito lógico que implementa W = X + Y * Z' Leis Fundamentais e Propriedades da Álgebra Booleana As leis da álgebra Booleana dizem respeito ao espaço Booleano (isto é, valores que uma variável pode assumir) e às operações elementares deste espaço. Já as propriedades podem ser deduzidas a partir das definições das operações. Sejam A e B duas variáveis Booleanas. Então, o espaço Booleano é definido: • se A≠0, então A=1; • se A≠1, então A=0. As operações elementares deste espaço são a operação OU, a operação E, e a operação NOT. As propriedades da álgebra Booleana são as seguintes. Da adição lógica: (1) A + 0 = A (2) A + 1 = 1 (3) A + A = A (4) A + A = 1 Da multiplicação lógica: (5) A × 0 = 0 (6) A × 1 = A (7) A × A = A (8) A × A = 0
  • 16. TEAC - José Santos, N.º 12 Página 16 Delegação Regional do Centro Centro de Emprego e Formação Profissional de Viseu AÇÃO: TÉCNICO/A DE ELECTRÓNICA, AUTOMAÇÃO E COMPUTADORES - PRO UFCD 6024 (13) – Circuitos Lógicos Da complementação: (9) 𝐴 ̿ ̅ = A Comutatividade: (10) A + B = B + A (11) A × B = B × A Associatividade: (12) A + (B + C) = (A + B) + C = (A+ C) + B (13) A × (B × C) = (A × B) × C = (A × C) × B Distributiva (da multiplicação em relação à adição): (14) A× (B + C) = A × B + A × C Absorção: (15) A + (A x B) = A (16) A x (A + B) = A Outras Identidades: (17) A + 𝐴̅ x B = A + B (18) (A + B) x (A + C) = A + B x C Teoremas de Morgan O primeiro teorema de De Morgan diz que a complementação de um produto (lógico) equivale à soma (lógica) das negações de cada variável do referido produto. Sob a forma de equação, teríamos: • 𝐴 × 𝐵 × 𝐶 ×. . . ̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅ = 𝐴̅ + 𝐵 ̅ + 𝐶̅ +. . . ̅̅̅ O segundo teorema é o dual (isto é, o espelho) do primeiro, ou seja, a complementação de uma soma (lógica) equivale ao produto das negações individuais das variáveis: • 𝐴 + 𝐵 + 𝐶 +. . . ̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅ = 𝐴̅ × 𝐵 ̅ × 𝐶 ̅ ×... Particularizando os teoremas de De Morgan para duas variáveis, temos: • 𝐴 × 𝐵 ̅̅̅̅̅̅̅̅ = 𝐴̅ + 𝐵 ̅ • 𝐴 + 𝐵 ̅̅̅̅̅̅̅̅̅ = A × 𝐵 Em suma, sempre poderemos escrever uma equação algébrica Booleana que poderá ser simplificada e/ou otimizada através do uso dos Teoremas e Postulados Booleanos. A Álgebra Booleana possui as mesmas propriedades da Álgebra Linear, se considerarmos: • A operação lógica básica A AND B (A E B), como a multiplicação A x B (ou A.B); • A operação lógica A OR B (A OU B) como a soma A + B:
  • 17. TEAC - José Santos, N.º 12 Página 17 Delegação Regional do Centro Centro de Emprego e Formação Profissional de Viseu AÇÃO: TÉCNICO/A DE ELECTRÓNICA, AUTOMAÇÃO E COMPUTADORES - PRO UFCD 6024 (13) – Circuitos Lógicos Simplificação de expressões Booleanas Usando a álgebra Booleana é possível simplificar expressões. Como cada circuito corresponde a uma expressão, simplificações de expressões significam simplificações de circuitos. A simplificações de expressões é usada para economizar componentes, tornar o circuito mais rápido, mais simples de fabricar além de diminuir o seu tamanho. Há vários métodos para simplificação de expressões Booleanas: • Factoração - aplicam-se os postulados e propriedades da Álgebra Booleana com o objetivo de simplificar a expressão; • Formas canónicas, padrão e não padrão - representação em soma de produtos (SdP) e em produto de somas (PdS); • Mapas de Karnaugh - Baseia-se na identificação visual de grupos de mintermos ou maxtermos que podem ser simplificados.
  • 18. TEAC - José Santos, N.º 12 Página 18 Delegação Regional do Centro Centro de Emprego e Formação Profissional de Viseu AÇÃO: TÉCNICO/A DE ELECTRÓNICA, AUTOMAÇÃO E COMPUTADORES - PRO UFCD 6024 (13) – Circuitos Lógicos Exemplo de simplificação aplicando a factoração: Por exemplo S = A.B.C + A.C’ + A.B’ = A.(B.C + C’ + B’) distributiva = A.(B.C + (C’ + B’)) associativa = A.(B.C + ( (C’ + B’)’ )’) identidade do complemento = A.(B.C + (C.B)’) De Morgan = A.(B.C + (B.C)’ ) comutativa = A.(1) identidade da adição (D+D’=1) = A identidade da multiplicação Portanto: A.B.C + A.C’ + A.B’ = A Essa expressão mostra a importância da simplificação de expressões e a consequente minimização do circuito, sendo o resultado final igual ao da variável A. As imagens seguintes mostram o circuito antes e depois da simplificação. Derivação de expressões usando Soma de Produtos (SdP) Dada uma função Booleana de n variáveis (ou seja, n entradas), haverá 2n combinações possíveis de valores. Dizemos que esse conjunto de valores que as variáveis podem assumir, juntamente com os respetivos valores da função, constituem o espaço da função. A cada combinação de entradas podemos associar um termo produto, no qual todas as variáveis da função estão presentes, e que é construído da seguinte forma: se a variável correspondente vale 0, ela deve aparecer negada; se a variável vale 1, ela deve aparecer não negada. A tabela a seguir lista os termos produto associados a cada combinação de entradas para uma função Booleana de três variáveis (A, B e C, por exemplo). Cada termo produto construído conforme a regra descrita é denominado mintermo (ou minitermo). Note-se que, para um dado mintermo, se substituirmos os valores das variáveis associadas, obteremos 1. Porém, se substituirmos nesse mesmo mintermo quaisquer outras combinações de valores, obteremos 0. Dessa forma, se quisermos encontrar a equação para uma Figura 7 - Circuito após a simplificação Figura 6 - Circuito antes da simplificação
  • 19. TEAC - José Santos, N.º 12 Página 19 Delegação Regional do Centro Centro de Emprego e Formação Profissional de Viseu AÇÃO: TÉCNICO/A DE ELECTRÓNICA, AUTOMAÇÃO E COMPUTADORES - PRO UFCD 6024 (13) – Circuitos Lógicos função a partir de sua tabela verdade, basta montarmos um OU entre os mintermos associados aos 1’s da função (também chamados mintermos 1). Derivação de expressões usando Produto de Somas (PdS) O método de derivação usando produto de somas é o dual (isto é, o oposto) do método de derivação em soma de produtos. A cada combinação das variáveis de entrada de uma função podemos associar um termo soma, no qual todas as variáveis da função estão presentes, e que é construído da seguinte forma: se a variável correspondente vale 1, ela deve aparecer negada; se a variável vale 0, ela deve aparecer não negada. A tabela a seguir lista os termos soma associados a cada combinação de entradas para uma função Booleana de três variáveis (A, B e C, por exemplo). Cada termo soma construído conforme a regra anteriormente descrita é denominado maxtermo (ou maxitermo). Note que, para um dado maxtermo, se substituirmos os valores das variáveis associadas, obteremos 0. Porém, se substituirmos nesse mesmo maxtermo quaisquer outras combinações de valores, obteremos 1. Dessa forma, se quisermos encontrar a equação para uma função a partir de sua tabela verdade, basta montarmos um E entre os maxtermos associados aos 0’s da função (também chamados maxtermos 0). Exemplo: encontrar a equação em soma de produtos (SdP) e produto de somas (PdS) para a função F, descrita pela seguinte tabela de verdade:
  • 20. TEAC - José Santos, N.º 12 Página 20 Delegação Regional do Centro Centro de Emprego e Formação Profissional de Viseu AÇÃO: TÉCNICO/A DE ELECTRÓNICA, AUTOMAÇÃO E COMPUTADORES - PRO UFCD 6024 (13) – Circuitos Lógicos F é função das variáveis A, B e C. Os valores de (A, B, C) para os quais F=1 são (0,1,0), (0,1,1), (1,0,1) e (1,1,0). Os mintermos associados a essas condições (ou seja, os mintermos 1), são A’.B.C’ , A’.B.C , A.B’.C e A.B.C’ , respetivamente. Logo, a equação em soma de produtos para F será o OU entre estes produtos, conforme segue: F = A’.B.C’ + A’.B.C + A.B’.C + A.B.C’ Os valores das variáveis de entrada (A, B, C) para os quais F=0 são (0,0,0), (0,0,1), (1,0,0) e (1,1,1). Os maxtermos associados a essas condições (ou seja, os maxtermos 0), são A+B+C, A+B+C’, A+B’+C’ e A’+B’+C’, respetivamente. Logo, a equação em produto de somas para F será o E entre estas somas: F = (A+B C).(A+B+C’).(A+B’+C’).(A’+B’+C’) Note-se que a ordem de precedência de uma expressão em produto de somas é “primeiro cada soma deve ser avaliada, para só então avaliar-se o produto”. Isto significa que os parêntesis em torno de cada termo soma são obrigatórios! Repare também que os símbolos referentes à operação E (entre os termos soma) podem ser omitidos. Formas Canônicas, Padrão e Não-Padrão As representações em soma de produtos (SdP) e em produto de somas (PdS) são denominadas formas padrão. A soma de produtos e o produto de somas descritos nas duas seções anteriores apresentam ainda uma característica bastante particular: em cada termo soma e em cada termo produto todas as variáveis da função estão presentes. Devido a essa característica, essas formas são chamadas canónicas. Além das representações descritas atrás, há representações alternativas (e mais concisas) para as expressões canônicas. Se associarmos cada combinação das variáveis de entrada ao seu equivalente em decimal, cada mintermo pode ser representado por mi, onde i é o decimal associado. De forma similar, cada maxtermo pode ser representado por Mi, onde i é o decimal associado. A tabela a seguir lista todos os mintermos e maxtermos de uma função de três variáveis (A, B e C). Voltando à função F anterior, podemos reescrever a expressão em soma de produtos, na forma canônica, como segue: F = m2 + m3 + m5 + m6 ou ainda 𝐹 = ∑(2,3,5,6).
  • 21. TEAC - José Santos, N.º 12 Página 21 Delegação Regional do Centro Centro de Emprego e Formação Profissional de Viseu AÇÃO: TÉCNICO/A DE ELECTRÓNICA, AUTOMAÇÃO E COMPUTADORES - PRO UFCD 6024 (13) – Circuitos Lógicos E a sua expressão em produto de somas, na forma canónica, pode ser reescrita como: F = M0 + M1 + M4 + M7, ou simplesmente 𝐹 = ∏(0,1,4,7) Simplificação de funções Booleanas usando Mapas de Karnaugh O método de simplificação atrás mencionado é de aplicabilidade limitada, uma vez que é bastante difícil certificar-se que todos os pares de mintermos que podiam ser simplificados foram determinados. Alternativamente àquele método, há outro método de simplificação baseado na identificação visual de grupos de mintermos passíveis de serem simplificados. No entanto, para que se possa identificar tais grupos, é necessário que os mintermos sejam dispostos de maneira mais conveniente em tabelas conhecidas como diagramas ou mapas de Karnaugh. Num mapa de Karnaugh, há uma região própria para cada linha da tabela verdade. Essas regiões são os locais ondem devem ser colocados os valores que a expressão F assume nas diferentes possibilidades. Para obter a expressão simplificada por meio do mapa: • Conforme o número de variáveis, devemos agrupar as regiões onde F=1 no menor número possível de oitavas (4 variáveis), quadras (3 variáveis), pares (2 variáveis) (diagonais não são permitidas no agrupamento de pares) - conceito de adjacência; • As regiões onde F=1 que não puderem ser agrupadas em oitavas, quadras ou pares são consideradas isoladamente • É importante ressalvar que o conceito de adjacência é aplicável na horizontal e na vertical, mas nunca na diagonal. Mapas com mais de 4 variáveis são difíceis de manipular. Por exemplo, dada a seguinte tabela vamos determinar a expressão F, usando mintermos (SdP). Situação A B F 0 0 0 1 1 0 1 1 2 1 0 1 3 1 1 0 Solução: Dada a tabela ao lado, obtenha a expressão de F diretamente da tabela, usando mintermos F = A’.B’ + A’.B + A.B’ A seguir, transporta-se a tabela para o mapa de Karnaugh e obtem-se a expressão simplificada F = Par 1 + Par 2 F = A’ + B’ Nota-se que a tabela verdade é a de uma porta NAND, cuja expressão é F = (A.B)’. Aplicando De Morgan na expressão encontrada, tem-se: F = A’ + B’ = (A.B)’
  • 22. TEAC - José Santos, N.º 12 Página 22 Delegação Regional do Centro Centro de Emprego e Formação Profissional de Viseu AÇÃO: TÉCNICO/A DE ELECTRÓNICA, AUTOMAÇÃO E COMPUTADORES - PRO UFCD 6024 (13) – Circuitos Lógicos 3. CONCLUSÕES A unidade básica construtiva de um sistema digital é a Porta Lógica e que funções lógicas com diversas variáveis de entrada podem ser obtidas mediante a interligação de portas lógicas básicas. A própria porta lógica básica executa uma função lógica básica elementar. Para facilitar o tratamento analítico das diversas funções lógicas possíveis de serem implementadas através da interligação entre portas, utiliza-se a representação da função lógica através de equações Booleanas. As portas lógicas são o dispositivo digital mais elementar. Uma porta lógica possui uma ou mais entradas e gera uma saída que é uma função dos valores atuais das entradas. Uma porta lógica é um circuito combinacional porque as saídas dependem exclusivamente da combinação atual das entradas