Title: Aulas de Sistemas Digitais
11
Introdução à Lógica Digital
2Introdução à Lógica Digital
ELECTRÓNICA DIGITAL
...é o conjunto de determinadas técnicas e
dispositivos integrados, de vários graus de
complexidade, que se utilizam principalmente na
realização de circuitos de controlo de processos
industriais, de equipamentos informáticos para
processamento de dados e, em geral, de outros
equipamentos e produtos electrónicos.
Relativamente à Electrónica Analógica
- Permitiu melhorar sistemas e produtos já
existentes e desenvolver outros até aí
impossíveis ou inviáveis de construir. - Apresentam uma maior imunidade ao ruído
eléctrico, elevada densidade de integração,
facilidade de acoplamento com outros circuitos,
simplicidade de projecto e de análise, ...
3Introdução à Lógica Digital
SINAIS ANALÓGICOS
Toda a grandeza Analógica é aquela que assume uma
infinidade de valores ao longo do tempo de uma
forma contínua e sem saltos bruscos (p.e.
variação da temperatura ao longo de um dia).
4Introdução à Lógica Digital
SINAIS DIGITAIS
Toda a grandeza Digital é aquela que assume um
número finito de valores e que varia de valor por
saltos de uma forma descontínua (p.e. variação
hora a hora da temperatura ao longo de um dia).
Portanto a sua evolução no tempo consiste
precisamente em saltar duns valores discretos
para outros.
5Introdução à Lógica Digital
CIRCUITOS ELECTRÓNICOS DIGITAIS BINÁRIOS
Definição São circuitos que funcionam baseados
em apenas dois valores de amplitude.
Em lógica positiva, faz-se corresponder ao nível
mais elevado de tensão o valor lógico 1. Ao valor
mais baixo de tensão (que pode ser 0 volts ou
outra tensão qualquer) o valor lógico 0. RAZÕES
PARA A SUA LARGA UTILIZAÇÃO Simplicidade e
grande tolerância dos componentes dos
CIs Interligação fácil e versátil com outros
componentes Imunidade ao ruído.
6Introdução à Lógica Digital
APLICAÇÕES (ELECTRÓNICA DIGITAL)
- Máquinas de calcular
- Instrumentos de medida
- Relógios digitais
- Contadores
- Computadores digitais
- Etc...
APLICAÇÕES (ELECTRÓNICA ANALÓGICA)
- Amplificadores de áudio
- Receptores de rádio
- Etc...
71
Sistemas de Numeração
8Sistemas de Numeração
INTRODUÇÃO
A utilização de 10 algarismos diferentes 0 até
9 para representação usual de números Vários
países tiveram sistemas não decimais,
nomeadamente para medidas de peso ou comprimento.
1 pé ? 12 polegadas. Sistema de base 12 (0 até
11) Usando a semana como unidade de contagem dos
dias estamos a usar um sistema de base sete (0
até 6) Supondo que não existiam no sistema de
base 10 os algarismos 8 e o 9 ? sistema com 8
algarismos diferentes ? sistema de base oito ou
sistema octal. Quando temos que escrever
diferentes números em diferentes bases a seguir
ao número representamos. entre parentesis a sua
base de modo a evitar ambiguidades e imprecisões.
Por exemplo 8(10) 10(8) Esta igualdade sem os
respectivos índices não teria qualquer
significado! Nos circuitos digitais para a
representação de números e execução de operações
aritméticas com circuitos digitais, temos que
usar um sistema de numeração que tenha
simplesmente dois algarismos - 0 e 1 - sistema
binário ou sistema de base 2.
9Sistemas de Numeração
FÓRMULA GENÉRICA PARA DEFINIÇÃO DE UM NÚMERO
DECIMAL
Nn Nn-1 Nn-2... N1 Nn.bn-1 Nn-1.bn-2...
N1.b0 Onde, N representa um algarismo qualquer
pertencente ao valor n é o número de algarismos
pertencentes ao valor b é a base de numeração
pela qual se representa o valor.
10Sistemas de Numeração
DESCRIÇÃO DOS SISTEMAS DE NUMERAÇÃO
? DECIMAL (base 10) Utiliza 10 dígitos
0,1,2,...,9 ? BINÁRIO (base 2) Utiliza 2
dígitos 0,1 ? OCTAL (base 8) Utiliza 8 dígitos
0,1,2,...,7 ? HEXADECIMAL (base 16) Utiliza
16 dígitos 0,1,...,9,A,B,...,F
11Sistemas de Numeração
SISTEMA DECIMAL
Baseia-se no facto de anatomicamente dispormos
de 5 dedos em cada mão, torna-se necessário que a
contagem envolva 10 dígitos ? sistema de base
10 Sistema de Base 10 ? 0,1,2,3,4,5,6,7,8,9 PES
O A posição de cada um destes dígitos diz-nos a
grandeza que representa e pode ser designada por
peso. EXEMPLO (número inteiro) 3 4 6 7
EXEMPLO (número inteiro) 1 5 7 2()
1x1035x1027x1012x100
E se for fraccionário? As potências são de base
negativa, partindo do valor 1.
12Sistemas de Numeração
SISTEMA BINÁRIO
- É o mais utilizado nos Circuitos Digitais
(Sistemas Digitais) porque se baseia nos dois
estados possíveis dos elementos neles usados, i.
é., há tensão ou não. - Sistema de Base 2 ? 0,1
- Cada um dos algarismos designa-se por dígito
binário ou bit (Binary Digit). - PESO
- Cada dígito comparticipa na formação do número
com um peso, determinado pela posição que ocupa
no número (...32 (25), 16 (24), 8 (23), 4 (22), 2
(21), 1 (20)). - FORMAÇÃO DOS NÚMEROS NO SISTEMA BINÁRIO
- 0 1 10 11 100 101 110 111
- Exemplo
- Valor inteiro e fraccionário
- 1101(2) 1x231x220x211x20 13 em decimal
) - E se for fraccionário? procede-se da mesma
forma! Atenção à base!!
13Sistemas de Numeração
SISTEMA OCTAL
- O sistema de numeração Octal é composto por oito
dígitos. - Sistema de Base 8 ? 0,1,2,3,4,5,6,7
- PESO
- Cada dígito comparticipa na formação do número
com um peso, determinado pela posição que ocupa
no número (...32768 (85), 4096 (84), 512 (83), 64
(82), 8 (81), 1 (80)). - Exemplo
- Valor inteiro e fraccionário
- 347(8) 3x824x817x80 231
- E se for fraccionário? procede-se da mesma
forma! Atenção à base!! - Nota Todos os números representados num sistema
de numeração para além do decimal, INCLUEM ENTRE
PARENTESIS A RESPECTIVA BASE !!!
14Sistemas de Numeração
SISTEMA HEXADECIMAL
- O sistema Hexadecimal é composto por 16
símbolos. - Sistema de Base 16 ? 0,1,2,3,4,5,6,7,8,9,A,B,C,D
,E,F - PESO
- Cada dígito comparticipa na formação do número
com um peso, determinado pela posição que ocupa
no número (...65536 (164), 4096 (163), 256 (162),
16 (161), 1 (160)). - Exemplo
- Valor inteiro e fraccionário
- 4FA(16) 4x16215x16110x160 1274
- e se for fraccionário?
- 4FA,AB(16) 4x16215x16110x16010x16-111x16-2
1274,0664 - Nota Todos os números representados num sistema
de numeração para além do decimal, INCLUEM ENTRE
PARENTESIS A RESPECTIVA BASE !!!
15Sistemas de Numeração
TABELA
Decimal Binário Octal Hexadecimal
0 00000 0 0
1 00001 1 1
2 00010 2 2
3 00011 3 3
4 00100 4 4
5 00101 5 5
6 00110 6 6
7 00111 7 7
8 01000 10 8
9 01001 11 9
10 01010 12 A
11 01011 13 B
12 01100 14 C
13 01101 15 D
14 01110 16 E
15 01111 17 F
16 10000 20 10
16Sistemas de Numeração
CONVERSÃO DE DECIMAL PARA BASE b
Números Inteiros Base 2 ? Divisões
sucessivas por 2 Exº 2672 101001110000(2)
Base 8 ? Divisões sucessivas por 8 Exº 315
473(8) Base 16 ? Divisões sucessivas por 16
Exº 675 2A3(16) Números Fraccionários
Base 2 ? Multiplicações sucessivas por 2 Exº
0,125 0,001(2) Base 8 ? Multiplicações
sucessivas por 8 Exº 0,125 0,1(8) Base 16 ?
Multiplicações sucessivas por 16 Exº 0,125
0,2(16)
17Sistemas de Numeração
CONVERSÕES ENTRE SISTEMAS DE NUMERAÇÃO
18Sistemas de Numeração
CONVERSÕES ENTRE SISTEMAS DE NUMERAÇÃO
19Sistemas de Numeração
CONVERSÕES ENTRE SISTEMAS DE NUMERAÇÃO
20Sistemas de Numeração
OPERAÇÕES EM BINÁRIO
SOMA
a b Soma Transporte ou Carry (C)
0 0 0 0
0 1 1 0
1 0 1 0
1 1 0 1
EXEMPLO
1 0 1 1 0 1
1 1 0 0 1 0
1 0 1 1 1 1 1
21Sistemas de Numeração
OPERAÇÕES EM BINÁRIO
SUBTRACÇÃO
a b Diferença Borrow (B)
0 0 0 0
0 1 1 1
1 0 1 0
1 1 0 0
1 0 1 1 0 1
- 0 1 0 0 1 0
0 1 1 0 1 1
Nota Dar exº de multiplicação em binário....
22Sistemas de Numeração
OPERAÇÕES EM OCTAL
SOMA
SUBTRACÇÃO
2 4 7(8)
5 6(8)
3 2 5(8)
3 2 5(8)
- 5 6(8)
2 4 7(8)
OPERAÇÕES EM HEXADECIMAL
SOMA
SUBTRACÇÃO
A 3 7(16)
5 9 B(16)
F D 2(16)
A A 5(16)
- 6 E D(16)
3 B 8(16)
23Sistemas de Numeração
OPERAÇÕES EM OCTAL/HEXADECIMAL
MULTIPLICAÇÃO
5 6(8)
x 1 4(8)
3 0
2 4
5 6
1 0 5 0(8)
A B(16)
x 4 C(16)
8 4
7 8
2 C
2 8
3 2 C 4(16)
24Sistemas de Numeração
REPRESENTAÇÃO DE NÚMEROS NEGATIVOS
COMPLEMENTAÇÃO
Complemento de um número É a diferença entre a
base (B) e o número (N)
COMPLEMENTO PARA UM
O complemento para 1 de um número N com k bits é
dado pela seguinte expressão
EXEMPLO
O complemento para 1 do número 1001
REGRA PRÁTICA Trocar os 0s por 1s e vice-versa.
25Sistemas de Numeração
COMPLEMENTAÇÃO (cont.)
COMPLEMENTO PARA DOIS
O complemento para 2 de um número N com k bits é
dado pela seguinte expressão
REGRAS PRÁTICAS
- Determinar o complemento para 1 do número e
somar ao resultado o valor 1 - . Da direita para a esquerda do número encontrar
o primeiro dígito a 1. Mantê-lo e inverter os
restantes.
26Sistemas de Numeração
REPRESENTAÇÃO DE NÚMEROS RELATIVOS (2C)
Registo de 8 flip-flops onde 7 flip-flops
representam a grandeza do número e o 8º
representa o sinal, olhando da direita para a
esquerda.
0 0 1 1 0 1 0 1 53
1 1 0 0 1 0 1 1 - 53
Se pretendermos usar um número fixo de bits (k
bits), normalmente usado nas máquinas, a
expressão seguinte indica-nos a gama de valores
possíveis de representar, usando bit de sinal
EXEMPLO
Registo com 4 bits (casas) ? - 8 ? N ? 7
O número 3(10) 0 011(2) O número 3 otém-se
0011(2) ?1100(2) 1(2) 1 101(2)
27Sistemas de Numeração
OPERAÇÕES COM NÚMEROS RELATIVOS
ADIÇÃO
- Decidir sobre o número de casas com que vamos
trabalhar. - Tomar módulos dos números, em binário.
- Representar números negativos na forma de
complemento para 2. - Usar regra da adição.
- Analizar resultados
- Se existe carry, desprezá-lo.
Se o bit mais significativo, após desprezar o
carry é
- 0 o resultado é positivo e o bit mais à esq. é
o bit de sinal. - 1 o resultado é negativo e está na forma de
complemento para 2
SUBTRACÇÃO
- Idêntico ao ponto 1 da adição.
- Determinar o complemento para 2 do diminuendo.
- Adicionar o diminuidor ao diminuendo.
- Seguir o ponto 5 da adição.
28Sistemas de Numeração
EXERCÍCIO
a) 12 9 b) 12 - 9 c) -12 - 9 d) -12 9
RESOLUÇÃO
29Sistemas de Numeração
RESOLUÇÃO(cont.)
3. a) 12 9 b) 12 - 9 c) -12 - 9 d) -12 9
0 0 1 1 0 0
0 0 1 0 0 1
0 1 0 1 0 1
0 0 1 1 0 0
1 1 0 1 1 1
1 0 0 0 0 1 1
1 1 0 1 0 0
1 1 0 1 1 1
1 1 0 1 0 1 1
1 1 0 1 0 0
0 0 1 0 0 1
1 1 1 1 0 1
4. a) e d) não ? carry b) e c) ? carry
?desprezá-lo!!
5. a) 0 1 0 1 0 1 b) 0 0 0 0 1 1 c) 1 0 1 0 1 1
d) 1 1 1 1 0 1 21 3 - 21(2C) - 3(2C)
Complemento para 2 do valor obtido
303
Álgebra de Boole
31Álgebra de Boole
FUNDAMENTOS DA ÁLGEBRA DE BOOLE
PROPOSIÇÃO É uma frase ou expressão matemática
cujo conteúdo pode ser verdadeiro ou
falso. Considerar as seguintes
proposições p(x) x é PAR 0, 2, 4, 6, 8,
... p(x) representa o conjunto dos números
pares q(x) x é MÚLTIPLO de 3 3, 6, 9, 12,
15, ... q(x) representa o conjunto dos números
que são múltiplos de 3. Estes conjuntos
pertencem a um conjunto mais geral que se designa
por universo, e que será o conjunto dos números
naturais. U(x) 0, 1, 2,
3, 4, ...
32Álgebra de Boole
Os conjuntos podem ser representados graficamente
através de DIAGRAMAS DE VENN, levando-nos à
obtenção de funções lógicas.
Conjunção, Intersecção ou Produto Lógico
q(x)
I-
p(x)
Disjunção, Reunião ou Soma Lógica
q(x)
II-
p(x)
Complementação ou Negação Lógica
III-
p(x)
33Álgebra de Boole
CONJUNÇÃO, INTERSECÇÃO OU PRODUTO LÓGICO
q(x)
p(x)
I -
Conjunto representado pela proposição Resulta da
intersecção dos conjuntos q(x) e p(x).
II -
Conjunto representado pela proposição Resulta da
intersecção dos conjuntos q(x) e o complementar
de p(x).
III -
Conjunto representado pela proposição Resulta da
intersecção dos conjuntos p(x) e o complementar
de q(x).
Conjunto representado pela proposição Resulta da
intersecção dos conjuntos complementar de p(x) e
complementar de q(x).
IV -
34Álgebra de Boole
CONJUNÇÃO, INTERSECÇÃO OU PRODUTO LÓGICO (cont.)
Verifica-se que as intersecções possíveis entre
os dois conjuntos são as seguintes
A proposição p(x) é 1 ou verdadeira (V) quando
engloba os números pares e q(x) quando engloba os
números múltiplos de 3. Por outro lado, os seus
complementos, que negam as condições inicais, são
0 ou falsos (F). Isto permite transformar as
expressões em cima na seguinte TABELA DE VERDADE
a b S a ? b
F F F
F V F
V F F
V V V
35Álgebra de Boole
CONJUNÇÃO, INTERSECÇÃO OU PRODUTO LÓGICO (cont.)
ESQUEMA DE CONTACTOS ELÉCTRICOS
TABELA DE VERDADE
TABELA DE VERDADE
a b M
Aberto Aberto Parado
Aberto Fechado Parado
Fechado Aberto Parado
Fechado Fechado Actuado
a b M
0 0 0
0 1 0
1 0 0
1 1 1
Para efeitos lógicos e simplificação da tabela
faz-se a correspondência dos estados em
que Aberto Parado ? 0 Fechado Actuado ? 1
FUNÇÃO LÓGICA DA INTERSECÇÃO OU PRODUTO LÓGICO
PORTA LÓGICA (AND)
36Álgebra de Boole
DIJUNÇÃO, REUNIÃO OU SOMA LÓGICA
ESQUEMA DE CONTACTOS ELÉCTRICOS
TABELA DE VERDADE
TABELA DE VERDADE
a b L
P. Fech. P. Fech. L. Desl.
P. Fech. P. Aberta L. Ligada
P. Aberta P. Fech. L. Ligada
P. Aberta P. Aberta L. Ligada
a b S
0 0 0
0 1 1
1 0 1
1 1 1
Para efeitos lógicos e simplificação da tabela
faz-se a correspondência dos estados em que P
Fech. L. Desl. ? 0 P. Aberta L. Ligada? 1
FUNÇÃO LÓGICA DA REUNIÃO OU SOMA LÓGICA
PORTA LÓGICA (OR)
37Álgebra de Boole
COMPLEMENTAÇÃO OU NEGAÇÃO LÓGICA
ESQUEMA DE CONTACTOS ELÉCTRICOS
TABELA DE VERDADE
TABELA DE VERDADE
Para efeitos lógicos e simplificação da tabela
faz-se a correspondência dos estados em
que Aberto Desligada ? 0 Fechado Ligada ? 1
a S
Aberto Ligada
Fechado Desligada
a S
0 1
1 0
FUNÇÃO LÓGICA DA NEGAÇÃO OU INVERSOR LÓGICO
PORTA LÓGICA (NOT)
38Álgebra de Boole
OUTRAS FUNÇÕES BÁSICAS IMPORTANTES
Denominação Tabela Tabela Tabela Função Porta Lógica
NAND a b S
NAND 0 0 1
NAND 0 1 1
NAND 1 0 1
NAND 1 1 0
NOR a b S
NOR 0 0 1
NOR 0 1 0
NOR 1 0 0
NOR 1 1 0
EXOR (exclusive OR) a b S
EXOR (exclusive OR) 0 0 0
EXOR (exclusive OR) 0 1 1
EXOR (exclusive OR) 1 0 1
EXOR (exclusive OR) 1 1 0
EXNOR (exclusive NOR) a b S
EXNOR (exclusive NOR) 0 0 1
EXNOR (exclusive NOR) 0 1 0
EXNOR (exclusive NOR) 1 0 0
EXNOR (exclusive NOR) 1 1 1
39Álgebra de Boole
REGRAS DE CÁLCULO DA ÁLGEBRA DE BOOLE
A utilização prática da Álgebra de Boole vai
permitir
- Apresentar um dado circuito lógico através da sua
equação ou expressão. - Simplificar a expressão lógica de forma ao
circuito poder ser implementado com o menor - número possível de portas lógicas (ANDs, ORs,
NOTs, etc...).
Semelhanças da Álgebra de Boole relativamente à
Álgebra Clássica
- Propriedade Comutativa.
- Propriedade Associativa.
- Propriedade Distributiva.
A principal diferença é que na Álgebra de Boole
não é possível passar termos de um membro para o
outro de uma equação.
40Álgebra de Boole
REGRAS DE CÁLCULO DA ÁLGEBRA DE BOOLE (cont.)
Regras da Álgebra de Boole a estudar
- Expressões só com constantes.
- Expressões com uma constante e uma variável.
- Dupla negação.
- Expressões com mais de uma variável
- Propriedade Comutativa.
- Propriedade Associativa.
- Propriedade Distributiva.
- Princípio da dualidade ou Lei de De Morgan.
- Regras gerais de simplificação ou Leis de
Absorção.
41Álgebra de Boole
EXPRESSÕES SÓ COM CONSTANTES
Constantes da Álgebra de Boole 0 e 1
Função AND
Função OR
Função NOT
42Álgebra de Boole
EXPRESSÕES COM UMA CONSTANTE E UMA VARIÁVEL
Função AND
Função OR
43Álgebra de Boole
DUPLA NEGAÇÃO
EXPRESSÕES COM MAIS DE UMA VARIÁVEL
Propriedade Comutativa
Propriedade Associativa
Propriedade Distributiva
- em relação à multiplicação
- em relação à Soma
44Álgebra de Boole
EXPRESSÕES COM MAIS DE UMA VARIÁVEL (cont.)
Princípio da dualidade ou Lei de De Morgan
ou com 3 variáveis,
EXERCÍCIO Tente fazer a demonstração das Leis de
De Morgan.
A demonstração poderá ser feita através -
tabela de verdade. - diagrama de Venn. -
circuitos lógicos (ainda por abordar!!). -
analiticamente.
45Álgebra de Boole
REGRAS GERAIS DA SIMPLIFICAÇÃO OU LEIS DE ABSORÇÃO
1ª Regra
2ª Regra
3ª Regra
Tente Demonstrar...
EXERCÍCIO Simplifique a seguinte expressão
lógica
46Álgebra de Boole
FORMA CANÓNICA DE UMA FUNÇÃO BOOLEANA
A todo o produto de somas ou soma de produtos nos
quais aparecem todas as variáveis em cada um dos
termos que constituem a expressão, em forma
directa ou complementada, da-se a desigação de
FORMA CANÓNICA.
São exemplos de formas canónicas as seguintes
funções
As funções do tipo S1 tomam o nome de primeira
forma canónica ou MINTERMOS (Minterms) e as do
tipo S2 denominam-se de segunda forma canónica ou
MAXTERMOS (Maxterms).
47Álgebra de Boole
FUNÇÃO LÓGICA A PARTIR DA TABELA DE VERDADE
Seja
definida pela tabela de verdade
a b c f
0 0 0 1
0 0 1 1
0 1 0 1
0 1 1 0
1 0 0 1
1 0 1 1
1 1 0 1
1 1 1 0
48Álgebra de Boole
MAPAS DE kARNAUGH
Um Mapa de Karnaugh é uma representação gráfica
de uma função. Trata-se de um diagrama feito de
quadrados. Cada quadrado representa um mintermo.
Um mapa para uma função lógica com n entradas é
um conjunto de 2n células, uma para cada
mintermo.
Mapa de duas entradas
0 1
0
1
0 1
0 0 1
1 2 3
Mapa de três entradas
00 01 11 10
0
1
00 01 11 10
0 0 1 3 2
1 4 5 7 6
49Álgebra de Boole
MAPAS DE kARNAUGH (cont.)
Mapa de quatro entradas
00 01 11 10
00
01
11
10
00 01 11 10
00 0 1 3 2
01 4 5 7 6
11 12 13 15 14
10 8 9 11 10
Mapa de cinco entradas
- - Posições adjacentes.
- - Posições adjacentes.
- - Posições adjacentes.
00 01 11 10
00 ? ?
01
11
10
00 01 11 10
00 ? ?
01
11
10
Elementos em posições correspondentes, mas em
quadros diferentes, são adjacentes.
50Álgebra de Boole
MAPAS DE kARNAUGH (APLICAÇÃO)
Tabela de Verdade
d c b a F
0 0 0 0 1
0 0 0 1 0
0 0 1 0 1
0 0 1 1 1
0 1 0 0 1
0 1 0 1 0
0 1 1 0 1
0 1 1 1 1
1 0 0 0 1
1 0 0 1 0
1 0 1 0 1
1 0 1 1 0
1 1 0 0 0
1 1 0 1 0
1 1 1 0 0
1 1 1 1 0
Dada a seguinte função
4 variáveis ? 24 16 quadriculas
É prática comum envolver com um laço os 1s
adjacentes Apenas é possível efectuar
agrupamentos com um nº de células igual a uma
potência de 2
00 01 11 10
00 1 1 1
01 1 1 1
11
10 1 1
Uma função Booleana, expressa como soma de
mintermos, especifica as condições que levam a
função a ser igual a 1.
Nota O conceito de Dont care conditions será
abordado mais tarde.
51Álgebra de Boole
REALIZAÇÃO DE FUNÇÕES (com circuitos lógicos)
FUNÇÕES NAND E NOR COMO FUNÇÕES UNIVERSAIS
FUNÇÃO PORTA NAND PORTA NOR
INVERSOR
AND
OR
IMPLEMENTAÇÃO DO XOR COM PORTAS UNIVERSAIS
, com portas NOR
, com portas NAND
52Álgebra de Boole
ETAPAS PARA A SOLUÇÃO DE UM PROBLEMA
- Definição de variáveis
- Obtenção da Tabela de Verdade
- Determinação da função
- Simplificação da função (analítica, mapas de
Karnaugh, Quine-McCluskey) - Conversão das funções para o uso de portas
pretendidas - Desenho do diagrama lógico
- Realização.
53Álgebra de Boole
EXERCÍCIO
SELECÇÃO PARA INGRESSO EM EMPRESA
- Para realizar uma primeira selecção de ingresso
numa determinada empresa são precisos dois ou
mais dos seguintes requisitos - Possuir título académico.
- Possuir dois anos de experiência.
- Ser recomendado pela direcção da empresa.
- Construa, com portas lógicas, um circuito que
realize, automaticamente, a selecção.
54Álgebra de Boole
SOLUÇÃO
2. Tabela de Verdade
a b c F
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 1
1 1 0 1
1 1 1 1
1. Definição de variáveis
a - Possuir título académico. b - Possuir dois
anos de experiência. c - Ser recomendado pela
direcção da empresa.
3. Determinação da função
4. Simplificação da função
00 01 11 10
0 1
1 1 1 1
6. Circuito lógico
5. Conversão em NANDs
554
Aspectos Tecnológicos
56Aspectos Tecnológicos
FAMÍLIAS LÓGICAS
Escalas de integração
- SSI (Small Scale Integration) Integração em
pequena escala. Envolve um número de - transístores na ordem da dezena e integra entre
uma e dez portas por invólucro. - MSI (Medium Scale Integration) Integração em
média escala. Integra numa única - pastilha de silício, circuitos digitais
envolvendo entre 10 e 200 portas lógicas. - LSI (Large Scale Integration) Integração em
larga escala. A este nível integram-se, - numa única pastilha, sistemas digitais de grande
complexidade, envolvendo muitos - milhares de transístores (p.e. memórias de
elevada capacidade de armazenamento, - microprocessadores, etc.).
- VLSI (Very Large Scale Integration) Integração
em muito larga escala. Tornam-se - muito comuns hoje em dia circuitos VLSI, que
integram numa única pastilha estruturas - de computadores envolvendo várias centenas de
milhar de transístores
57Aspectos Tecnológicos
FAMÍLIAS LÓGICAS (cont.)
- Objecto de estudo
- TTL (Transistor Transistor Logic)
- CMOS (Complementary Metal Oxide Semiconductor)
Para projectar um dispositivo digital envolvendo
circuitos lógicos de uma dada família
é fundamental conhecer as características dessa
família, nomeadamente
- Tempo de propagação (velocidade).
- Potência dissipada.
- Fan-out.
- Margem de ruído.
- Factor de mérito.
58Aspectos Tecnológicos
CARACTERÍSTICAS DAS FAMÍLIAS LÓGICAS (1)
TEMPO DE ATRASO DE PROPAGAÇÃO (tp)
O tempo de atraso de propagação de um sinal é a
quantidade de tempo que vai desde que a
ocorrência de uma mudança de estado na entrada se
reflita na saída.
5V
Entrada 0V
tPLH
VOH
VOL
tPHL
Saída
VOH
VOL
tPHL
tPLH
59Aspectos Tecnológicos
CARACTERÍSTICAS DAS FAMÍLIAS LÓGICAS (2)
POTÊNCIA DISSIPADA
Qualquer circuito necessita de certa potência
para poder realizar operações. A dissipação de
potência por porta expressa-se em mW e é o
produto da tensão de polarização (VCC) pela
corrente fornecida pela fonte de alimentação
(ICC) à porta. Este valor de corrente depende do
nível lógico de saída da porta. Se o nível for
ALTO temos ICCH se for BAIXO temos ICCL. A média
destas correntes é que nos dá ICC. Assim
PDVCCICC. ? A potência dissipada é medida por
circuito ou por porta lógica.
FAN-OUT
Indica qual o número máximo de entradas de portas
do mesmo tipo poderão ser ligadas a uma saída,
sem que se altere o seu funcionamento. Valores
típicos (TTL standard (7400))
O valor do FAN-OUT é determinado pelo quociente
de
60Aspectos Tecnológicos
CARACTERÍSTICAS DAS FAMÍLIAS LÓGICAS (3)
MARGEM DE RUÍDO E NÍVEIS LÓGICOS
Constitui uma margem de segurança do utilizador,
para eventual ruído captado no percurso entre a
saída da porta excitadora (driver) e a entrada da
porta excitada (carga).
Nível Lógico 1
Margem de Ruído
Zona Ambígua
Margem de Ruído
Nível Lógico 0
Nível Lógico 1
Margem de Ruído
Zona Ambígua
Margem de Ruído
Nível Lógico 0
Margens de Ruído em TTL
Margens de Ruído em CMOS
61Aspectos Tecnológicos
CARACTERÍSTICAS DAS FAMÍLIAS LÓGICAS (4)
MARGEM DE RUÍDO E NÍVEIS LÓGICOS
Os parâmetros especificados pelos fabricantes nos
data sheets são definidos da seguinte forma
VOHmin Tensão de saída mínima no estado
HIGH VIHmin Tensão de entrada mínima de modo a
ser reconhecida como um estado HIGH VILmáx Tensão
de entrada máxima de modo a ser reconhecida como
um estado LOW VOLmáx Tensão de saída máxima no
estado LOW
Níveis típicos para TTL VOHmin 2,4/2,7 V
VIHmin 2 V VILmáx 0,8 V VOLmáx
0,4/0,5 V
Níveis típicos para CMOS VOHmin 4,9 V
VIHmin 70 de Vcc VILmáx 30 de Vcc
VOLmáx 0,1 V
62Aspectos Tecnológicos
CARACTERÍSTICAS DAS FAMÍLIAS LÓGICAS (5)
MARGEM DE RUÍDO E NÍVEIS LÓGICOS
Para além da tensão aplicada à entrada dos
circuitos lógicos (TTL ou CMOS), a entrada
consome também uma pequena corrente. Então a
quantidade máxima de corrente que pode fluir é
também especificada pelos fabricantes nos data
sheets e é designada por
IIHmáx Corrente máxima que flui para a entrada no
estado HIGH IILmáx Corrente máxima que flui para
a entrada no estado LOW IOLmáx Corrente máxima
que uma saída pode absorver (sinking current) no
estado LOW de modo a manter a tensão de saída não
superior a VOLmáx IOHmáx Corrente máxima que uma
saída pode fornecer (sourcing current) no estado
HIGH de modo a manter a tensão de saída acima de
VOHmin
FACTOR DE MÉRITO
Duas das características mais importantes das
famílias lógicas são a velocidade e o consumo.
Assim o factor de mérito de um produto é dado
pela relação Desta forma quanto menor fôr o
valor obtido, tanto melhor é o produto!
63Aspectos Tecnológicos
FAMÍLIA TTL (TRANSISTOR TRANSISTOR LOGIC)
- Principais características
- Imunidade ao Ruído
- Menor consumo de potência a altas frequências.
Surgem no mercado duas versões identificadas pelo
sufixo, 54 militar (-55ºC e 125ºC) e 74
comercial (0ºC e 70ºC). Este é seguido por uma
ou mais letras que identificam a subfamília e 2,
3 ou 4 dígitos que indicam as portas ou a função
do integrado.
74/54 FAM xx, onde FAM se refere à mnemónica da
subfamília a que pertencem
74 ALS xx
Advanced Low Power Schottky
Comercial
Tipo de Porta
Exemplo Os circuitos integrados (CIs) 74AS00,
74ALS00, 74F00, 74H00, 7400 são todos
constituídos por 4 portas NAND de 2 entradas cada.
64Aspectos Tecnológicos
CARACTERÍSTICAS DA PERFORMANCE DA FAMÍLIA TTL (1)
FAMÍLIA TTL (primórdios)
- Série TTL Standard 74/54xx
- Série TTL 74/54Hxx (H-High Speed)
- Série TTL 74/54Lxx (L-Low Power)
FAMÍLIA TTL Schottky
- Com o aparecimento do transistor Schottky as
séries da família TTL 74xx, 74Hxx e 74Lxx
tornaram-se obsoletas. - Cronologicamente
- -74S (S-Schottky) Maior velocidade no entanto
têm um maior consumo de potência - -74LS (LS-Low Power Schottky) Mesma velocidade
que versões anteriores, no entanto têm um consumo
de potência 5 vezes inferior - -74AS (ALS-Advanced Schottky) Dobro da
velocidade que 74S para o mesmo consumo de
potência.
65Aspectos Tecnológicos
CARACTERÍSTICAS DA PERFORMANCE DA FAMÍLIA TTL (2)
FAMÍLIA TTL Schottky (cont.)
- Cronologicamente
- -74ALS (ALS-Advanced Low Power Schottky)
Velocidade superior à 74LS e baixo consumo de
potência - -74F (F-Fast TTL) Posiciona-se entre as séries
74AS e 74ALS. Tem a vantagem de possuir um bom
factor de mérito (relação velocidade/consumo de
potência).
FAMÍLIA TTL FAMÍLIA TTL FAMÍLIA TTL
Tempo de Propag. (ns) Potência por porta (mW) Factor de mérito
S Schottky 74Sxx 3 19 57
LS Low Power Schottky 74LSxx 9 2 18
AS Advanced Schottky 74ASxx 1,7 8 13,6
ALS Advanced Low Power Schottky 74ALSxx 4 1,2 4,8
F Fast 74Fxx 3 4 12
66Aspectos Tecnológicos
SAÍDAS TTL EM OPEN COLLECTOR
NAND com saídas em Open Collector
Wired AND
O método para se realizar um AND entre várias
saídas em Open Collector consiste em ligar
todas as saídas umas às outras e colocar uma
resistência de pull up ligada a essa saída. Este
tipo de ligação é designado por wired AND. Quando
todas as saídas estiverem a 1 o ponto de
ligação estará a 1.
67Aspectos Tecnológicos
FAMÍLIA CMOS (COMPLEMENTARY METAL OXIDE
SEMICONDUCTOR)
- Principais características
- Maior facilidade de construção
- Ocupação de espaço, reduzida
- Consumo baixo de potência
- Imunidade ao ruído.
SÉRIES CMOS
- CMOS Série 4000
- 74C (C CMOS)
- 74 HC (High Speed CMOS)
- 74 HCT (High Speed CMOS TTL compatible)
- 74 VHC (Very High Speed CMOS)
- 74 VHCT (Very High Speed CMOS TTL compatible)
- 74 FCT (Fast CMOS TTL compatible)
- 74 FCT-T (Fast CMOS TTL compatible with TTL VOH)
68Aspectos Tecnológicos
FAMÍLIA CMOS (cont.)
CMOS 4000A/4000B
- Foi introduzida no mercado na década de 60
- A corrente de saída não é a mesma para todos os
circuitos - Os tempos de propagação dependem da capacidade de
carga - A série 4000B está preparada para fornecer maior
corrente de saída - Hoje ainda existem funções nesta série que não
dispõem de equivalentes nas mais recentes - Dissipação reduzida de potência sendo no entanto
bastante lentas.
74C
- É uma série compatível pino a pino e função a
função com os circuitos TTL, desde que disponham
dos mesmos números de marcação. Desta forma
torna-se possível substituir os circuitos TTL por
equivalentes CMOS - As saídas destes circuitos são bufferizadas.
69Aspectos Tecnológicos
FAMÍLIA CMOS (cont.)
74HC (High Speed CMOS)
- Permitem uma gama de alimentação entre os 2
(menor consumo de potência) e 6V (maior
velocidade de comutação) - Compatíveis com os circuitos TTL 74LS, mas não na
totalidade - Bem adaptadas em sistemas que usem exclusivamente
circuitos CMOS.
74HCT (High Speed CMOSTTL Compatible)
- Elevada velocidade de comutação
- Menor consumo de portência e total
compatibilidade de níveis com circuitos TTL - Uma única saída poder alimentar, pelo menos, 10
cargas TTL LS.
74VHC e 74VHCT (Very High Speed CMOS e TTL
Compatible)
- Duas vezes mais rápidas que a versão
predecessora, a série HC e HCT - Mantém a compatibilidade com todas as séries
anteriores da mesma família - Uma em relação à outra diferem unicamente nos
níveis de entrada que reconhecem, sendo as suas
características de saída iguais
70Aspectos Tecnológicos
FAMÍLIA CMOS (cont.)
74VHC e 74VHCT (Very High Speed CMOS e TTL
Compatible) (cont.)
- Permitem uma gama de alimentação entre os 2 e os
5,5V - Com estes circuitos já se conseguem obter tempos
de propagação na ordem dos 3ns, comparável aos
tempos da série TTL 74 ALS.
74FCT e 74FCT-T (Fast CMOS TTL Compatible e Fast
CMOS-TTL Compatible With TTL VOHmáx)
- Surgiram no início dos anos 90
- Permitem igualar e mesmo exceder a velocidade e
capacidade de servir de driver relativamente às
melhores séries TTL, reduzindo o consumo de
potência e mantendo compatibilidade. - Aplicadas principalmente na implementação de
buses e outros circuitos com pesadas cargas, pois
pode fornecer (sourcing) ou absorver (sinking)
acima dos 64mA no estado LOW.
71Aspectos Tecnológicos
LIGAÇÕES ENTRE FAMÍLIAS LÓGICAS
Valores típicos de entrada e saída para as
famílias TTL e CMOS (casos extremos de
Funcionamento).
CMOS CMOS CMOS TTL TTL TTL TTL
Parâmetro 4000B 74HC 74HCT 74 74LS 74AS 74ALS
VIH(min) (V) 3,5 3,5 2,0 2,0 2,0 2,0 2,0
VIL(máx) (V) 1,5 1,0 0,8 0,8 0,8 0,8 0,8
VOH(min) (V) 4,95 4,9 4,9 2,4 2,4 2,7 2,7
VOL(máx) (V) 0,05 0,1 0,1 0,4 0,5 0,5 0,4
IIH(máx) (?A) 1 1 1 40 20 200 20
IIL(máx) (?A) 1 1 1 1600 400 2000 100
IOH(máx) (mA) 0,4 4 4 0,4 0,4 2 0,4
IOL(máx) (mA) 0,4 4 4 16 8 20 8
72Aspectos Tecnológicos
LIGAÇÃO CMOS TTL
No estado alto, este tipo de ligação não
necessita de qualquer cuidado, pois podemos
verificar que, segundo os valores típicos de
tensão de saída do CMOS (VOH), satisfaz os níveis
de tensão típicos requeridos pela entrada TTL no
estado alto VIH. Verifica-se também que a família
CMOS fornece uma corrente IOH superior ao valor
exigido IIH pela entrada TTL.
Exemplo de ligação
73Aspectos Tecnológicos
LIGAÇÃO CMOS TTL (cont.)
No estado baixo os circuitos TTL exigem uma
entrada relativamente alta que varia de 100?A a
2mA. Assim, e porque as séries CMOS HC e HCT
podem fornecer 4mA, podem facilmente servir de
driver a qualquer série TTL. No entanto, os
circuitos da série 4000B não podem servir de
driver a uma única entrada de qualquer circuito
das séries 74 e 74AS. Neste caso teríamos que
optar por recorrer a um buffer. O buffer pode ser
outro CMOS, tal como o 74HC ou o 74HCT.
74Aspectos Tecnológicos
LIGAÇÃO CMOS TTL (cont.)
Outro problema que surge, é quando o circuito
CMOS é alimentado com uma tensão UDD15V e é
necessário ligá-lo a um circuito TTL. Neste caso
usamos um circuito deslocador de nível (4050B),
que converte a tensão elevada para os 5V
necessários aos circuitos TTL.
75Aspectos Tecnológicos
LIGAÇÃO TTL CMOS
No que diz respeito à tensão, todos os circuitos
da série TTL fornecem uma tensão VOHmin demasiado
baixa face ao valor VIHmin exigido pelas entradas
dos circuitos CMOS. Neste caso é necessário
elevar os níveis TTL para poderem ser aceites
pelos circuitos CMOS, como também é necessária a
utilização de uma resistência de pull-up. O
valor dessa resistência de pull-up deverá ser
tal que
765
Circuitos Combinacionais
77Circuitos Combinacionais
CÓDIGOS (1)
Definição Código pode-se definir como o
conjunto de n-bits de combinações diferentes em
que cada uma delas representa um determinado
valor ou qualquer outra coisa. A uma combinação
em particular é atribuído o nome de palavra de
código.
- Numa palavra de código pode não existir uma
relação aritmética entre os vários bits ou o que
representam - Um código que utilize combinações de n-bits não
necessita de obrigatoriamente utilizar 2n
palavras de código válidas
78Circuitos Combinacionais
CÓDIGOS (2)
- Códigos a estudar
- Numéricos
- BCD
- BCDXS3
- 1 out of n
- GRAY
- JOHNSON
- BCO
- BCH
- Alfanuméricos
- ASCII
- EBCDIC
79Circuitos Combinacionais
CÓDIGOS BINÁRIOS PARA REPRESENTAR VALORES
DECIMAIS
No mínimo são necessários 4 bits para representar
os dez dígitos decimais. Existindo no entanto
imensas formas de o realizar. As mais comuns
apresentam-se a seguir na tabela
DECIMAL BCD8421 2421 BCD XS-3 Biquinário 1 out of 10
0 0000 0000 0011 0100001 1000000000
1 0001 0001 0100 0100010 0100000000
2 0010 0010 0101 0100100 0010000000
3 0011 0011 0110 0101000 0001000000
4 0100 0100 0111 0110000 0000100000
5 0101 1011 1000 1000001 0000010000
6 0110 1100 1001 1000010 0000001000
7 0111 1101 1010 1000100 0000000100
8 1000 1110 1011 1001000 0000000010
9 1001 1111 1100 1010000 0000000001
Palavras de Código não usadas Palavras de Código não usadas Palavras de Código não usadas Palavras de Código não usadas Palavras de Código não usadas Palavras de Código não usadas
10 1010 0101 1101 0000000 0000000000
11 1011 0110 1110 0000001 0000000011
80Circuitos Combinacionais
CÓDIGO BCD OU DECIMAL CODIFICADO EM BINÁRIO(1)
- BCD é a sigla do nome do código escrita em
inglês Binary Coded Decimal. - BCD Natural, NBCD ou BCD8421
- Codifica os digitos de 0 até 9 pelas suas
representações binárias de 4 bits, 0000(2) até
1001(2). No entanto as combinações 1010(2) até
1111(2) não são usadas - É um código pesado cada dígito decimal é obtido
através da palavra de código bastando atribuir a
cada dígito bináio o seu respectivo peso, i .é, a
sequência normal de potências de base 2 8 4 2 1.
- BCD não Natural
- Os pesos dos diferentes bits já não tem a mesma
sequência das potências de base 2. Estes códigos
são usualmente utilizados para facilitar
operações que utilizem complemento. - Códigos AUTOCOMPLEMENTARES
- Códigos BCD não Naturais têm a particularidade de
permitirem determinar facilmente o complemento a
9 dos dígitos decimais, bastando para tal
inverter os bits que os compõem.
81Circuitos Combinacionais
CÓDIGO BCD OU DECIMAL CODIFICADO EM BINÁRIO(2)
- Códigos AUTOCOMPLEMENTARES (cont.)
- Por exemplo, complemento a 9 do valor 4 (0100) é
9 4 5 (1011). - Exemplos de Códigos BCD de Quatro Bits
Ponderados - 2421 4321 5221 5421 6321 7421 3321 4421 5311
- 6221 6421 4311 5211 5321 6311 7321 8421(NBCD)
- BCD Excesso 3 (XS3)
- É obtido a partir do BCD somando 3 a cada dígito.
Assim em vez de começar por 00000, começa por
00011 - Trata-se também de um código AUTOCOMPLEMENTAR.
82Circuitos Combinacionais
CÓDIGO BCD OU DECIMAL CODIFICADO EM BINÁRIO(3)
- Biquinário
- Os códigos decimais podem ter mais de 4 bits, é o
caso do biquinário - Os dois primeiros bits indicam se o valor se
encontra entre 0 4 ou 5 9. Os últimos indicam
o seu valor - Detecção de erros e apresentada como uma das
principais vantagens - São só utilizadas 10 da 128 combinações possíveis.
- 1 out of 10
- É o método de codificação mais esparso para
dígitos decimais - Das 1024 combinações possíveis só utiliza 10
83Circuitos Combinacionais
CÓDIGO GRAY (CÓDIGO REFLECTIDO) (1)
84Circuitos Combinacionais
CÓDIGO GRAY (CÓDIGO REFLECTIDO) (2)
- Métodos de Construção do Código GRAY
- Método 1
- O código Gray para 1-bit tem unicamente duas
palavras de código 0 e 1 - As primeiras 2n palavras de código de um código
Gray de (n1)-bit são iguais às do código Gray de
n-bit escritas da mesma forma mas com um 0 à
esquerda de cada palavra de código - As últimas 2n palavras de código de um código
Gray de (n1)-bit são iguais às de um código Gray
de n-bit, escritas de ordem inversa e com um 1 à
esquerda de cada palavra de código.
- Método 2
- Os bits de uma palavra de código Binário de
n-bits são numerados da direita para a esquerda,
desde 0 até n-1 - O bit i de uma palavra de código do código Gray é
0 se os bits i e i1 da correspondente palavra
binária forem iguais, caso contrário é 1. Quando
i1n, o bit n é considerado 0
85Circuitos Combinacionais
CÓDIGO GRAY (CÓDIGO REFLECTIDO) (3)
Exemplo do método 2
Binário GRAY
0 0 0 0 0 0
0 0 1 0 0 1
0 1 0 0 1 1
0 1 1 0 1 0
1 0 0 1 1 0
1 0 1 1 1 1
1 1 0 1 0 1
1 1 1 1 0 0
- i0
- Bit 0 (i0) do código binário é igual a 1
- Bit 1 (i1) do código binário é igual a 0
- Portanto,
- Bit 0 do código Gray é igual a 1.
- i1
- Bit 1 (i1) do código binário é igual a 0
- Bit 2 (i2) do código binário é igual a 0
- Portanto,
- Bit 1 do código Gray é igual a 0.
- i2
- Bit 2 (i2) do código binário é igual a 0
- Bit n (i3) do código binário é igual a 0
- Portanto,
- Bit 0 do código Gray é igual a 0.
bit 0
bit 1
bit 2
86Circuitos Combinacionais
CÓDIGO GRAY (CÓDIGO REFLECTIDO) (4)
Representação do sistema decimal em código Gray e
Gray excesso 3
DECIMAL GRAY XS-3 GRAY
0 0000 0010
1 0001 0110
2 0011 0111
3 0010 0101
4 0110 0100
5 0111 1100
6 0101 1101
7 0100 1111
8 1100 1110
9 1101 1010
87Circuitos Combinacionais
CÓDIGO JOHNSON
- A sequência de procedimentos consiste
- Iniciar tudo a zeros (0s).
- Convertê-los sucessivamente em 1s a partir da
direita, até se ober tudo a 1s. - Convertê-los sucessivamente em 0s a partir da
direita até o valor possuir unicamente o dígito
mais significativo a 1.
DECIMAL JOHNSON
0 0000
1 0001
2 0011
3 0111
4 1111
5 1110
6 1100
7 1000
Código Johnson de 4 bits
88Circuitos Combinacionais
CÓDIGOS BCO E BCH
DECIMAL BCO BCH
0 000 000 0000 0000
1 000 001 0000 0001
2 000 010 0000 0010
3 000 011 0000 0011
4 000 100 0000 0100
5 000 101 0000 0101
6 000 110 0000 0110
7 000 111 0000 0111
8 001 000 0000 1000
... ... ...
16 010 000 0001 0000
17 010 001 0001 0001
... ... ...
31 011 111 0001 1111
32 100 000 0010 0000
BCO Binary Coded Octal BCH Binary Coded
Hexadecimal
89Circuitos Combinacionais
CÓDIGOS ASCII E EBCDIC
ASCII American Standard Code for Information
Interchange EBCDIC Extended Binary Coded
Decimal Interchange Code
Caracteres Válidos ASCII EBCDIC Caracteres Válidos ASCII EBCDIC Caracteres Válidos ASCII EBCDIC
0 30 F0 7C 4F 25 6C
... ... ... 26 50 gt 3E 6E
9 39 F9 ! 21 5A ? 3F 6F
A 41 C1 24 5B 3A 7A
... ... ... 2A 5C 23 7B
Z 5A E9 ) 29 5D _at_ 40 7C
Blank 20 40 3B 5E 27 7D
. 2E 4B _ 2D 60 3D 7E
( 28 4D / EF 61 22 7F
2B 4E , 2C 6B lt 3C 4C
90Circuitos Combinacionais
CORRECÇÃO DE ERROS ATRAVÉS DE BITS DE PARIDADE
(1)
Um erro num sistema digital consiste na corrupção
do valor correcto de uma dada informação para
qualquer outro valor. É normalmente causado por
uma falha física (temporária ou permanente). Uma
das formas de realizar a detecção desses erros é
através do método das paridades.
Método das Paridades
Longitudinais
Transversais
Na Paridade Longitudinal o acréscimo de um 1 ou
um 0 é feita na horizontal para todos os bits da
mesma linha
Na Paridade Transversal o acréscimo de um 1 ou 0
é feita na vertical para todos os bits da mesma
coluna.
91Circuitos Combinacionais
CORRECÇÃO DE ERROS ATRAVÉS DE BITS DE PARIDADE
(2)
- Algumas características...
- Para se construir um detector de erros de um bit,
em geral são necessários (n1)-bit para palavras
de código de 2n-bit. Os n-bit constituem a
palavra de código eqnuanto que o bit n1
representa o bit de paridade (par ou ímpar) - A detecção de erros para este tipo de códigos
(longitudinal OU transversal não ambos) só é
praticável para erros de 1 bit.
92Circuitos Combinacionais
CORRECÇÃO DE ERROS ATRAVÉS DE BITS DE PARIDADE
(3)
EXEMPLO Suponhamos um número decimal, p. e.
937651234, que vai ser processado ou transmitido.
Antes do processo se iniciar o sistema
atribui-lhe uma paridade que vai verificar no
final do processo.
Dígito Decimal Código (NBCD) Paridade Ímpar
9 1 0 0 1 1
3 0 0 1 1 1
7 0 1 1 1 0
6 0 1 1 0 1
5 0 1 0 1 1
1 0 0 0 1 0
2 0 0 1 0 0
3 0 0 1 1 1
4 0 1 0 0 0
Paridade Ímpar 0 1 0 1
93Circuitos Combinacionais
CIRCUITOS COMBINATÓRIOS (1)
São constituídos por uma combinação de gates AND,
OR, NOT, NAND, NOR e XOR onde as suas saídas só
dependem do valor das entradas e se estas
deixarem de estar presentes a saída muda
imediatamente.
Os circuitos combinatórios que vamos estudar
são - Geradores de bit de paridade -
Comparadores - Conversores de código -
Adicionadores/Subtractores - Codificadores/Desco
dificadores - Multiplexers/Demultiplexers.
94Circuitos Combinacionais
CIRCUITOS COMBINATÓRIOS (2)
Circuito Gerador de Bit de Paridade
a b S a ? b S a ? b
0 0 0 1
0 1 1 0
1 0 1 0
1 1 0 1
Exclusive-OR CI 74x86
95Circuitos Combinacionais
CIRCUITOS COMBINATÓRIOS (3)
Circuito Gerador de Bit de Paridade (cont.)
Implementando n portas XOR em cascata, obtém-se
um circuito com n1 entradas e uma saída,
originando um circuito de paridade ímpar. Ao
invertermos essa saída, resulta um circuito de
paridade par (ver figura)
Outra forma de implementar este tipo de circuito,
de modo a que seja mais rápido, é em ÁRVORE.
Gerador Bit Paridade CI 74x280
96Circuitos Combinacionais
CIRCUITOS COMBINATÓRIOS (4)
Circuito Gerador de Bit de Paridade (cont.)
Caso Prático Simplificado
Suponhamos que trasmitimos em paralelo ao longo
de uma linha e que pretendemos usar um bit de
paridade para detecção de erros.
Gerador
Detector
97Circuitos Combinacionais
CIRCUITOS COMBINATÓRIOS (5)
Circuito Comparador
Circuito Comparador de 2 bits, a0 e b0
Circuito Comparador de 2 números digitais de 4
bits, A a0 a1 a2 a3 e B b0 b1 b2 b3
Comparador 4-Bit CI 74x85
98Circuitos Combinacionais
CIRCUITOS COMBINATÓRIOS (6)
Circuito Comparador Iterativo
Dois valores de n-bit podem ser comparados de
forma iterativa. Para tal tem que se ter em conta
o bit resultante da comparação anterior (figura
circuito para n-bit). Para implementar este tipo
de circuitos, basta juntar n módulos de
comparação de um único bit (figura módulo para um
bit).
99Circuitos Combinacionais
CIRCUITOS COMBINATÓRIOS (7)
Meio-Somador e Somador Completo
O somador mais simples, designado por MEIO
SOMADOR (1/2 Somador Half Adder), soma dois
operandos de 1 bit, resultando um valor de 2 bits
(pois o resultado varia entre 0 e 2).
Da tabela resulta
Símbolo Lógico
a b S Cout
0 0 0 0
0 1 1 0
1 0 1 0
1 1 0 1
Diagrama Lógico
100Circuitos Combinacionais
CIRCUITOS COMBINATÓRIOS (8)
Meio-Somador e Somador Completo (cont.)
Para somar operandos com mais de um bit, temos
que produzir carries entre as posições dos vários
bits, i. é, entre cada posição de um bit. O bloco
que realiza esta operação designa-se por SOMADOR
COMPLETO (Full Adder).
Da tabela resulta
Símbolo Lógico
a b cin S Cout
0 0 0 0 0
0 0 1 1 0
0 1 0 1 0
0 1 1 0 1
1 0 0 1 0
1 0 1 0 1
1 1 0 0 1
1 1 1 1 1
Diagrama Lógico
101Circuitos Combinacionais
CIRCUITOS COMBINATÓRIOS (9)
Somadores de Ripple (Ripple Adders)
Duas palavras binárias, cada uma com n-bits,
podem ser adicionadas usando um somador para
n-bits. Este é constituído por n full adders
ligados em cascata, onde cada um suporta uma soma
de um bit. Este tipo de somadores designam-se por
somadores de ripple ou ripple adders.
102Circuitos Combinacionais
CONVERSORES (1)
Estes circuitos têm por objectivo converter
códigos. Desta forma o circuito que realiza esta
conversão é designado de Conversor.
Procedimento para realização de um CONVERSOR
Código de origem
Entradas
Código de destino
Saídas
Mapas de Karnaugh
Expressões mínimas
Diagrama Lógico Conversor
103Circuitos Combinacionais
CONVERSORES (2)
Exemplo
Projectar um conversor de código XS-3 (Excess-3)
para o código NBCD
1. Representação do Código de Origem e Destino na
Tabela de Verdade
Entradas Saídas
BCD XS-3 NBCD8421
DECIMAL I3 I2 I1 I0 D C B A
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
2. Dos mapas de Karnaugh obtêm-se as expressões
104Circuitos Combinacionais
CONVERSORES (3)
Exemplo (cont.)
3. Implementação do Diagrama Lógico
105Circuitos Combinacionais
DESCODIFICADORES (1)
As quantidades discretas de informação podem ser
representadas em sistemas digitais através de
códigos binários. Um código binário de n bits é
capaz de representar até 2n elementos diferentes
de uma informação codificada, i. é, cada palavra
de código na entrada produz uma palavra de código
diferente na saída. Um descodificador é um
Circuito Combinatório que converte informação
binária desde n linhas de entrada para um máximo
de 2n linhas de saída.
Estrutura de um descodificador
n Palavra de código de entrada
DESCODIFICADOR
m Palavra de código de saída
Descodificador de n para m linhas (objecto de
estudo) onde
p Entradas de Enable
106Circuitos Combinacionais
DESCODIFICADORES (2)
Características gerais
- O código de entrada mais frequentemente usado é o
código binário de n-bits, os quais representam 2n
códigos diferentes, normalmente inteiros desde 0
até 2n-1 - O código de saída mais frequente é o 1-out-of-n,
que contém n-bits, onde simplesmente se encontra
activo um bit de cada vez.
Descodificadores Binários
Trata-se do descodificador mais usual possuindo
na sua entrada palavras de código de n-bits e na
saída palavras de código do tipo 1-out-of-2n bits.
Entradas Entradas Entradas Saídas Saídas Saídas Saídas
EN I1 I2 Y3 Y2 Y1 Y0
0 x x 0 0 0 0
1 0 0 0 0 0 1
1 0 1 0 0 1 0
1 1 0 0 1 0 0
1 1 1 1 0 0 0
Descodificador de 2 para 4 (lógica positiva)
107Circuitos Combinacionais
DESCODIFICADORES (3)
Descodificadores Binários (cont.)
Diagrama Lógico (lógica positiva)
Símbolo Lógico (lógica negativa)
Descodificador duplo de 2 para 4 CI 74x139
108Circuitos Combinacionais
DESCODIFICADORES (4)
Exemplo Implementação de um descodificador
BINÁRIO - OCTAL
Tabela de Verdade do descodificador bináriooctal
(lógica negativa)
Entradas Entradas Entradas Entradas Saídas Saídas Saídas Saídas Saídas Saídas Saídas Saídas
EN A B C Yo Y1 Y2 Y3 Y4 Y5 Y6 Y7
1 x x x 1 1 1 1 1 1 1 1
0 0 0 0 0 1 1 1 1 1 1 1
0 0 0 1 1 0 1 1 1 1 1 1
0 0 1 0 1 1 0 1 1 1 1 1
0 0 1 1 1 1 1 0 1 1 1 1
0 1 0 0 1 1 1 1 0 1 1 1
0 1 0 1 1 1 1 1 1 0 1 1
0 1 1 0 1 1 1 1 1 1 0 1
0 1 1 1 1 1 1 1 1 1 1 0
Descodificador 3 para 8 CI 74x138
109Circuitos Combinacionais
DESCODIFICADORES (5)
Circuito Lógico do descodificador binário octal
(lógica negativa)
110Circuitos Combinacionais
DESCODIFICADORES (6)
TIPOS DE CIRCUITOS DESCODIFICADORES DISPONÍVEIS
NO MERCADO
Descodificador de BCD/7Segmentos (com
drivers) - 74x46/47/48/49. Descodificador
BCD/Decimal - 74x42/45/145. Descodificador 4/10
linhas - 74x43/44. Descodificador 4/16
linhas - 74x154. Descodificador 3/8 linhas -
74x138. Descodificador 2x 2/4 linhas - 74x139.
111Circuitos Combinacionais
DESCODIFICADORES (7)
DESCODIFICADORES LIGADOS EM CASCATA (exemplo)
112Circuitos Combinacionais
DESCODIFICADORES (8)
APLICAÇÃO EM CIRCUITOS COMBINACIONAIS (exemplo)
Implementar, com um descodificador 74x138, o
circuito correspondente à função
Implementação Diagrama Lógico
113Circuitos Combinacionais
CODIFICADORES (1)
Um codificador é um Circuito Lógico Combinacional
que é construido para gerar um código de saída
binário para n entradas diferentes de caracteres
ou grupos de caractres. O número de bits m
necessários na saída do codificador tem que
satisfazer a seguinte relação
EXEMPLO Implementação de um codificador OCTAL -
BINÁRIO (lógica positiva)
Entradas Entradas Entradas Entradas Entradas Entradas Entradas Entradas
Io I1 I2 I3 I4 I5 I6 I7 Y2 Y1 Y0
1 0 0 0 0 0 0 0 0 0 0
0 1 0 0 0 0 0 0 0 0 1
0 0 1 0 0 0 0 0 0 1 0
0 0 0 1 0 0 0 0 0 1 1
0 0 0 0 1 0 0 0 1 0 0
0 0 0 0 0 1 0 0 1 0 1
0 0 0 0 0 0 1 0 1 1 0
0 0 0 0 0 0 0 1 1 1 1
Tabela de Verdade do codificador octal-binário
114Circuitos Combinacionais
CODIFICADORES (2)
EXEMPLO Implementação de um codificador OCTAL
BINÁRIO (cont.)
Equações Lógicas
Diagrama Lógico do codificador octal-binário
Em geral um codificador de 2n entradas para n
saídas pode ser implementado com portas lógicas
OR de 2n-1 entradas.
115Circuitos Combinacionais
CODIFICADORES (3) - CODIFICADOR DE PRIORIDADE
EXEMPLO Codificador de Prioridade de 4 bits
(lógica positiva)
Entradas Entradas Entradas Entradas Entradas Saídas Saídas Saídas
EN I0 I1 I2 I3 B A IDLE
0 x x x x 0 0 0
1 1 0 0 0 0 0 1
1 x 1 0 0 0 1 1
1 x x 1 0 1 0 1
1 x x x 1 1 1 1
Tabela de Verdade
00 01 11 10
00 x 1 1 1
01 1 1 1
11 1 1 1
10 1 1 1
00 01 11 10
00 1 1 1
01 1 1 1 1
11 1 1 1 1
10 1 1 1 1
00 01 11 10
00 x 1 1
01 1 1 1
11 1 1 1
10 1 1
116Circuitos Combinacionais
CODIFICADORES (3) - CODIFICADOR DE PRIORIDADE
EXEMPLO Codificador de Prioridade de 4 bits
(lógica positiva)
Diagrama Lógico
Codificador Prioridade de 8-entradas CI 74x148
117Circuitos Combinacionais
MULTIPLEXERS
A Multiplexagem consiste em transmitir um grande
número de unidades de informação através de um
pequeno número de linhas ou canais de
transmissão. Um multiplexer digital é um circuito
combinatório que selecciona a informação binária
de uma das várias linhas de entrada e
direcciona-as para uma única linha de saída. A
selecção de uma determinada linha é efectuada
através de um conjunto de linhas de selecção ou
de endereço.
Estrutura de um Multiplexer (mux.)
Entradas e Saídas do mux.
Esquema Funcional do mux.
118Circuitos Combinacionais
MULTIPLEXERS (Implementação)
Tabela de Verdade
S Saídas
0 Y D0
1 Y D1
Nota Implemente um circuito multiplexer de 4
para 1 (mux 41)
119Circuitos Combinacionais
APLICAÇÕES DOS MULTIPLEXERS
Os multiplexers apresentam diversas aplicações
entre as quais se destacam - Geradores de
funções. - Conversão paralelo-série. -
Geradores de formas de onda. - Direccionamento
de dados.
GERADORES DE FUNÇÕES
Os multiplexers podem ser usados para implementar
funções lógicas directamente da tabela de verdade
sem recorrer a simplificações. Quando usado com
esta finalidade, às entradas de selecção são
aplicadas as variáveis lógicas do circuito e cada
uma das entradas é ligada permanentemente a 0 ou
1.
120Circuitos Combinacionais
MULTIPLEXER COMO GERADOR DE F