Post on 05-Dec-2014
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
Introdução à Lógica Digital
1
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
Introdução à Lógica Digital
ELECTRÓNICA DIGITAL
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, ...
“...é 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.”
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
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).
Introdução à Lógica Digital
0
10
20
30
40
1 2 3 4 5 6 7 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24Horas
Temp
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
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.
0
10
20
30
40
1 2 3 4 5 6 7 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24Horas
Temp
Introdução à Lógica Digital
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
CIRCUITOS ELECTRÓNICOS DIGITAIS BINÁRIOS:
Definição: São circuitos que funcionam baseados em apenas dois valores de amplitude.
Introdução à Lógica Digital
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.
NívelAlto 1
NívelBaixo 0
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
Introduçã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...
Sistemas de Numeração
1
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
Sistemas 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.
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
Sistemas 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.
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
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}
Sistemas de Numeração
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
Sistemas de Numeração
SISTEMA DECIMALBaseia-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}
PESOA 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
Unidades - 7 x 1= 7
Dezenas - 6 x 10= 60Centenas - 4 x 100= 400Milhares - 3 x 1000= 3000
3467EXEMPLO (número inteiro):
1 5 7 2(…)= 1x103+5x102+7x101+2x100
E se for fraccionário? As potências são de base negativa, partindo do valor 1.
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
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:
o 1101(2) = 1x23+1x22+0x21+1x20 = 13 … em decimal ;)
o E se for fraccionário? …procede-se da mesma forma! Atenção à base!!
Sistemas de Numeração
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
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:
o 347(8) = 3x82+4x81+7x80 = 231
o 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 !!!
Sistemas de Numeração
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
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:
o 4FA(16) = 4x162+15x161+10x160 = 1274
o … e se for fraccionário?
→ 4FA,AB(16) = 4x162+15x161+10x160+10x16-1+11x16-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 !!!
Sistemas de Numeração
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
Sistemas de Numeração
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
TABELA
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
Sistemas 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)
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
Sistemas de Numeração
CONVERSÕES ENTRE SISTEMAS DE NUMERAÇÃO
Conversões de Números InteirosConversões de
Números Inteiros
BinárioBinário OctalOctal HexadecimalHexadecimal
DecimalDecimal
Divisões Consecutivas por 8
Divisões Consecutivas por 2 Divisões Consecutivas por 16
Dn…D2D1=Dn*8n-1+…+D2*81+D1*80
Dn…D2D1=Dn*16n-1+…+D2*161+D1*160Dn…D2D1=Dn*2n-1+…+D2*21+D1*20
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
Sistemas de Numeração
CONVERSÕES ENTRE SISTEMAS DE NUMERAÇÃO
Conversão da Parte Fraccionária
Conversão da Parte Fraccionária
BinárioBinário OctalOctal HexadecimalHexadecimal
DecimalDecimal
Produtos Consecutivos por 8 0,D1D2… Dn=D1*8-1+D2*8-2+…+Dn*8-n
Produtos Consecutivos por 2 Produtos Consecutivos por 16
0,D1D2… Dn=D1*2-1+D2*2-2+…+Dn*2-n 0,D1D2… Dn=D1*16-1+D2*16-2+…+Dn*16-n
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
Sistemas de Numeração
CONVERSÕES ENTRE SISTEMAS DE NUMERAÇÃO
BinárioBinário
OctalOctalHexadecimalHexadecimal
Cada n.º é convertido para um binário de 4 Bits Cada n.º é convertido para um binário de 3 Bits
Agrupam-se os Bits em grupos de 3Agrupam-se os Bits em grupos de 4
Passa-se por uma base intermédia (Decimal ou Binária)
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
Sistemas de Numeração
OPERAÇÕES EM BINÁRIO
SOMA
a b SomaTransporte ou
Carry (C)0 0 0 00 1 1 01 0 1 01 1 0 1
EXEMPLO
1 0 1 1 0 1+ 1 1 0 0 1 01 0 1 1 1 1 1
Carry
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
Sistemas de Numeração
OPERAÇÕES EM BINÁRIO
SUBTRACÇÃO
a b Diferença Borrow (B)
0 0 0 00 1 1 11 0 1 01 1 0 0
Nota: Dar exº de multiplicação em binário....
1 0 1 1 0 1- 0 1 0 0 1 0 0 1 1 0 1 1
Borrow
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
Sistemas de Numeração
OPERAÇÕES EM OCTAL
2 4 7(8)
+ 5 6(8)
3 2 5(8)
SOMA SUBTRACÇÃO
3 2 5(8)
- 5 6(8)
2 4 7(8)
OPERAÇÕES EM HEXADECIMAL
A 3 7(16)
+ 5 9 B(16)
F D 2(16)
SOMA SUBTRACÇÃO
A A 5(16)
- 6 E D(16)
3 B 8(16)
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
OPERAÇÕES EM OCTAL/HEXADECIMAL
MULTIPLICAÇÃO
Sistemas de Numeração
5 6(8)
x 1 4(8)
3 0 2 4 5 6 1 0 5 0(8)
(8)(10)(10)(10)
(8)(10)(10)(10)
(8)(10)(10)(10)
(8)(10)(10)(10)
5551
6661
242054
302446
A B(16)
x 4 C(16)
8 4 7 8 2 C 2 8 3 2 C 4(16)
)()()()(
)()()()(
)()()()(
)()()()(
16101010
16101010
16101010
16101010
28401044
2441144
781201012
841321112
A
CB
AC
BC
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
Sistemas de Numeração
REPRESENTAÇÃO DE NÚMEROS NEGATIVOS
COMPLEMENTAÇÃO
COMPLEMENTO PARA UM
O complemento para 1 do número 1001:
12 Nk
EXEMPLO
)2()2()2()2(
)2(
4
0110110011000012
100001622
4
N
k
k
k
O complemento para 1 de um número N com k bits é dado pela seguinte expressão:
REGRA PRÁTICA: Trocar os 0’s por 1’s e vice-versa.
Complemento de um número: É a diferença entre a base (B) e o número (N)
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
COMPLEMENTAÇÃO (cont.)
COMPLEMENTO PARA DOIS
Nk 2
O complemento para 2 de um número N com k bits é dado pela seguinte expressão:
REGRAS PRÁTICAS
Sistemas de Numeração
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.
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
Sistemas de Numeração
REPRESENTAÇÃO DE NÚMEROS RELATIVOS (2´C)
0 0 1 1 0 1 0 1 +53
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.
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:
122 11 kk N
Registo com 4 bits (casas) - 8 N 7
EXEMPLO
O número 3(10) = 0 011(2)
O número –3 otém-se: 0011(2) 1100(2) + 1(2) = 1 101(2)
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
Sistemas de Numeração
OPERAÇÕES COM NÚMEROS RELATIVOS
ADIÇÃO
1. Decidir sobre o número de casas com que vamos trabalhar.2. Tomar módulos dos números, em binário.3. Representar números negativos na forma de complemento para 2.4. Usar regra da adição.5. 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
1. Idêntico ao ponto 1 da adição.2. Determinar o complemento para 2 do diminuendo.3. Adicionar o diminuidor ao diminuendo.4. Seguir o ponto 5 da adição.
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
Sistemas de Numeração
EXERCÍCIO:
a) 12 + 9 b) 12 - 9 c) -12 - 9 d) -12 + 9
RESOLUÇÃO:
o)obrigatóri (mínimo casas 6
31resultado32:casas 6 Com
15resultado16:casas 5 Com
21resultado21
)2()10(
)2()10(
0010019
00110012 .1
)2()10(2101101119 11010012
:C2' em 9- e 12- de çãorepresenta Determinar .2
)()(
-
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
0 0 1 1 0 0
+ 0 0 1 0 0 1 0 1 0 1 0 1
3. a) 12 + 9 b) 12 - 9 c) -12 - 9 d) -12 + 9
0 0 1 1 0 0+ 1 1 0 1 1 11 0 0 0 0 1 1
1 1 0 1 0 0+ 1 1 0 1 1 11 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 carryb) 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(2’C) - 3(2’C)
Sistemas de Numeração
RESOLUÇÃO(cont.):
Complemento para 2 do
valor obtido
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
Álgebra de Boole
3
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
Á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, ...}
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
Álgebra de Boole
Os conjuntos podem ser representados graficamente através de DIAGRAMAS DE VENN, levando-nos à obtenção de funções lógicas.
III-
I-
II-
p(x)
q(x)p(x)ou q(x)p(x)
q(x)p(x)ou q(x)p(x)
(x)p
Conjunção, Intersecção ou Produto Lógico
Disjunção, Reunião ou Soma Lógica
Complementação ou Negação Lógica
p(x)
q(x)
p(x)
q(x)
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
Álgebra de Boole
CONJUNÇÃO, INTERSECÇÃO OU PRODUTO LÓGICO
IV -
II -
III -
Conjunto representado pela proposição:Resulta da intersecção dos conjuntos q(x) e o complementar de p(x).
)()( xqxp
Conjunto representado pela proposição:Resulta da intersecção dos conjuntos p(x) e o complementar de q(x).
)()( xqxp
Conjunto representado pela proposição:Resulta da intersecção dos conjuntos complementar de p(x) e complementar de q(x).
)()( xqxp
p(x)
q(x)
I - Conjunto representado pela proposição:Resulta da intersecção dos conjuntos q(x) e p(x).
)()( xqxp
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
Á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:
)()(
)()(
)()(
)()(
xqxp
xqxp
xqxp
xqxp
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
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
Álgebra de Boole
a b M
Aberto Aberto Parado
Aberto Fechado Parado
Fechado Aberto Parado
Fechado Fechado Actuado
TABELA DE VERDADE
FUNÇÃO LÓGICA DA INTERSECÇÃO
OU PRODUTO LÓGICOPORTA LÓGICA (AND)
baM ab M
CONJUNÇÃO, INTERSECÇÃO OU PRODUTO LÓGICO (cont.)
ESQUEMA DE CONTACTOS ELÉCTRICOS
+VM
a b
Para efeitos lógicos e simplificação da tabela faz-se a correspondência dos estados em que:
Aberto; Parado 0
Fechado; Actuado 1
a b M
0 0 0
0 1 0
1 0 0
1 1 1
TABELA DE VERDADE
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
FUNÇÃO LÓGICA DA REUNIÃO
OU SOMA LÓGICA
Álgebra de Boole
baM
+VL
a
b
ab M
ESQUEMA DE CONTACTOS ELÉCTRICOS
DIJUNÇÃO, REUNIÃO OU SOMA LÓGICA
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
TABELA DE VERDADE
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
a b S
0 0 0
0 1 1
1 0 1
1 1 1
TABELA DE VERDADE
PORTA LÓGICA (OR)
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
Álgebra de Boole
COMPLEMENTAÇÃO OU NEGAÇÃO LÓGICA
a S
Aberto Ligada
Fechado Desligada
aS
Sa+V
aa
TABELA DE VERDADE
ESQUEMA DE CONTACTOS ELÉCTRICOS
FUNÇÃO LÓGICA DA NEGAÇÃO
OU INVERSOR LÓGICOPORTA LÓGICA (NOT)
a S
0 1
1 0
TABELA DE VERDADE
Para efeitos lógicos e simplificação da tabela faz-se a correspondência dos estados em que:Aberto; Desligada 0Fechado; Ligada 1
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
Álgebra de Boole
OUTRAS FUNÇÕES BÁSICAS IMPORTANTES
Denominação Tabela Função Porta Lógica
NAND
a b S
0 0 1
0 1 1
1 0 1
1 1 0
NOR
a b S
0 0 1
0 1 0
1 0 0
1 1 0
EXOR(exclusive OR)
a b S
0 0 0
0 1 1
1 0 1
1 1 0
EXNOR(exclusive NOR)
a b S
0 0 1
0 1 0
1 0 0
1 1 1
baS Sab
baS Sab
bababaS
babaS
babaS
Sab
Sab
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
Á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 (AND’s, OR’s, NOT’s, 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.
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
Álgebra de Boole
Regras da Álgebra de Boole a estudar:
REGRAS DE CÁLCULO DA ÁLGEBRA DE BOOLE (cont.)
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.
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
Álgebra de Boole
EXPRESSÕES SÓ COM CONSTANTES
Constantes da Álgebra de Boole: ‘0’ e ‘1’
Função AND:
111
001
010
000
Função OR:
111
101
110
000
Função NOT:
01
10
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
Álgebra de Boole
EXPRESSÕES COM UMA CONSTANTE E UMA VARIÁVEL
Função AND:
0
1
00
aa
aaa
aa
a
Função OR:
1
11
0
aa
aaa
a
aa
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
Álgebra de Boole
DUPLA NEGAÇÃO
Propriedade Comutativa:
aa
11
00
EXPRESSÕES COM MAIS DE UMA VARIÁVEL
...
...
cabbcacba
cabbcacba
Propriedade Associativa:
...)()(
...)()(
bcacbacba
bcacbacba
Propriedade Distributiva:
- em relação à multiplicação)()()( cabacba
- em relação à Soma)()()( cabacba
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
EXPRESSÕES COM MAIS DE UMA VARIÁVEL (cont.)
Álgebra de Boole
ou com 3 variáveis,
Princípio da dualidade ou Lei de De Morgan:
baba
baba
cbacba
cbacba
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.
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
REGRAS GERAIS DA SIMPLIFICAÇÃO OU LEIS DE ABSORÇÃO
Álgebra de Boole
abaa
abaa
)(
)(
babaa
babaa
)(
)(
ababa
ababa
)()(
)()(
1ª Regra:
2ª Regra:
3ª Regra:
Tente Demonstrar...
EXERCÍCIO: Simplifique a seguinte expressão lógica:
acbababccbacbaf ),,( abca :Resposta
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
FORMA CANÓNICA DE UMA FUNÇÃO BOOLEANA
Álgebra de Boole
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:
Somas de Produto )()()(
Produtos de Soma
2
1
cbacbacbaS
cbacbacbaS
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).
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
FUNÇÃO LÓGICA A PARTIR DA TABELA DE VERDADE
Álgebra de Boole
Seja ),,( cbaf 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
)6,5,4,2,1,0(),,(
),,(
:produtos) de (soma Canónica forma primeira Na
cbaf
cbacbacbacbacbacbacbaf
)7,3(),,(
)()(),,(
:somas) de (produto Canónica forma segunda Na
cbaf
cbacbacbaf
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
MAPAS DE kARNAUGH
Álgebra de Boole
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
ab
bb
a
a
Mapa de três entradas:
00 01 11 10
0
1
abc
bbbb
a
a
cccc
0 1
00 1
12 3
ab
ba ba
ba ab
00 01 11 10
00 1 3 2
14 5 7 6
abc
cba cba bca cba
cba cba abc cab
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
MAPAS DE kARNAUGH (cont.)
Álgebra de Boole
Mapa de quatro entradas:
00 01 11 10
00
01
11
10
abcd
cccc
ba
ba
dddd
00 01 11 10
000 1 3 2
014 5 7 6
1112 13 15 14
108 9 11 10
abcd
dcba dcba cdba dcba
dcba dcba bcda dbca
ba
ba dcab dcab abcd dabc
dcba dcba cdba dcba
Mapa de cinco entradas:
00 01 11 10
00
01 *
11
10 + +
abcd
00 01 11 10
00
01 *
11
10 + +
abcd
0e 1e * - Posições adjacentes. - Posições adjacentes.+ - Posições adjacentes.
Elementos em posições correspondentes, mas em quadros diferentes, são adjacentes.
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
MAPAS DE kARNAUGH (APLICAÇÃO)
Álgebra de Boole
Nota: O conceito de Don´t care conditions será abordado mais tarde.
)10,8,7,6,4,3,2,0(),,,( dcbaf
4 variáveis 24 = 16 quadriculas
00 01 11 10
00 1 1 1
01 1 1 1
11
10 1 1
abcd
cadbdaF
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:
Tabela de Verdade
É 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
Uma função Booleana, expressa como soma de mintermos, especifica as condições que levam a função a ser igual a 1.
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
REALIZAÇÃO DE FUNÇÕES (com circuitos lógicos)
Álgebra de Boole
FUNÇÕES NAND E NOR COMO FUNÇÕES UNIVERSAIS
FUNÇÃO PORTA NAND PORTA NOR
INVERSOR
AND
OR
a ba b
a
bba
a
b
ba
a ba b
a
b
ba ab
ba
a a a a
aa'1'
a a
a'0'
a
IMPLEMENTAÇÃO DO XOR COM PORTAS UNIVERSAIS
)()( bababababa
)()( baba
, com portas NOR
, com portas NAND
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
ETAPAS PARA A SOLUÇÃO DE UM PROBLEMA
Álgebra de Boole
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.
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
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.
EXERCÍCIO
Álgebra de Boole
“SELECÇÃO PARA INGRESSO EM EMPRESA”
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
SOLUÇÃO:
Álgebra de Boole
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.
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
3. Determinação da função:
cbacbacbacbaF
4. Simplificação da função:
00 01 11 10
0 1
1 1 1 1
abc
cbbacaF
5. Conversão em NANDs:
cbbacaF
6. Circuito lógico:
a b c
S
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
Aspectos Tecnológicos
4
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
FAMÍLIAS LÓGICAS
Aspectos Tecnológicos
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
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
Aspectos Tecnológicos
Objecto de estudo:
TTL (Transistor – Transistor Logic)
CMOS (Complementary Metal Oxide Semiconductor)
FAMÍLIAS LÓGICAS (cont.)
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.
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
Aspectos 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.
tPHL
tPLH
tPHL
tPLH
Entrada 0V
Saída
5V
VOH
VOL
VOH
VOL
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
Aspectos Tecnológicos
CARACTERÍSTICAS DAS FAMÍLIAS LÓGICAS (2)
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 PD=VCCICC.
A potência dissipada é medida por circuito ou por porta lógica.
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)):
AIOH
400 AIIH
40 mAIOL
16 mAIIL
6,1
O valor do FAN-OUT é determinado pelo quociente de: 10IL
OL
IH
OH
I
I
I
I
POTÊNCIA DISSIPADA
FAN-OUT
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
Aspectos Tecnológicos
CARACTERÍSTICAS DAS FAMÍLIAS LÓGICAS (3)
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
minV
OH
máxV
OL
minV
IH
máxV
IL
V5
V,/, 7242
,4/0,5V0
V0
,8V0
V2
Margens de Ruído em TTL
MARGEM DE RUÍDO E NÍVEIS LÓGICOS
Nível Lógico 1
Margem de Ruído
Zona Ambígua
Margem de Ruído
Nível Lógico 0
minV
OH
máxV
OL
minV
IH
máxV
IL
V5
V,94
,1V0
V0
ccV 0%3
ccV %70
Margens de Ruído em CMOS
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
Aspectos 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
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
Aspectos 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!
onsumidaPotência cropagaçãoTempo de p
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
Aspectos 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 ALS xx
Comercial Advanced LowPower Schottky
Tipo de Porta
74/54 FAM xx, onde FAM se refere à mnemónica da subfamília a que pertencem
Exemplo: Os circuitos integrados (CIs) 74AS00, 74ALS00, 74F00, 74H00, 7400 são todos constituídos por 4 portas NAND de 2 entradas cada.
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
Aspectos 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);
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.
FAMÍLIA TTL Schottky
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
Aspectos Tecnológicos
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
CARACTERÍSTICAS DA PERFORMANCE DA FAMÍLIA TTL (2)
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 Schottky (cont.)
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
Aspectos Tecnológicos
SAÍDAS TTL EM OPEN COLLECTOR
AB
R1 R2
R3
ST1T2
T3
VCC
NAND com saídas em Open Collector
O método para se realizar um AND entre várias saídas em “Open Collector” consiste emligar 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’.
Wired AND
VCC
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
Aspectos 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)
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
Aspectos 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”.
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
Aspectos 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 CMOS–TTL 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;
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
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.
Aspectos Tecnológicos
FAMÍLIA CMOS (cont.)
74VHC e 74VHCT (Very High Speed CMOS e TTL Compatible) (cont.)
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.
74FCT e 74FCT-T (Fast CMOS TTL Compatible e Fast CMOS-TTL Compatible With TTL VOHmáx)
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
Aspectos Tecnológicos
LIGAÇÕES ENTRE FAMÍLIAS LÓGICAS
CMOS 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
Valores típicos de entrada e saída para as famílias TTL e CMOS (casos extremos de Funcionamento).
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
LIGAÇÃO CMOS – TTL
Aspectos Tecnológicos
74HC0074AS00
74AS00
A
B
D
C
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
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
LIGAÇÃO CMOS – TTL (cont.)
Aspectos Tecnológicos
No estado baixo os circuitos TTL exigem uma entrada relativamente alta que varia de 100A 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.
CMOS 4000BCMOS
74HC/HCTTTL
GND GND GND
5V 5V 5V
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
LIGAÇÃO CMOS – TTL (cont.)
Aspectos Tecnológicos
Outro problema que surge, é quando o circuito CMOS é alimentado com uma tensão UDD=15V 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.
CMOS TTL
GND GND GND
15V 5V
4050B
5V
0V
15V
0V
5V
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
LIGAÇÃO TTL – CMOS
Aspectos Tecnológicos
TTL CMOSRP
5V
TTL CMOSRP
5V
IRP
IOL
1
2
n
IIL
IIL
IIL
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:
)()()(
CMOSnITTLI
VVR
ILOL
máxOLCC
p
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
Circuitos Combinacionais
5
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
Circuitos 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
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
Códigos a estudar:
Numéricos:•BCD;
•BCDXS3;
•1 out of n;
•GRAY;
•JOHNSON;
•BCO;
•BCH;
Alfanuméricos:•ASCII;
•EBCDIC;
Circuitos Combinacionais
CÓDIGOS (2)
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
DECIMAL BCD8421 2421 BCD XS-3 Biquinário 1 out of 10
0 0000 0000 0011 0100001 10000000001 0001 0001 0100 0100010 01000000002 0010 0010 0101 0100100 00100000003 0011 0011 0110 0101000 00010000004 0100 0100 0111 0110000 00001000005 0101 1011 1000 1000001 00000100006 0110 1100 1001 1000010 00000010007 0111 1101 1010 1000100 00000001008 1000 1110 1011 1001000 00000000109 1001 1111 1100 1010000 0000000001
Palavras de Código não usadas10 1010 0101 1101 0000000 000000000011 1011 0110 1110 0000001 0000000011… … … … … …
CÓDIGOS BINÁRIOS PARA REPRESENTAR VALORES DECIMAIS
Circuitos Combinacionais
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:
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
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.
Circuitos Combinacionais
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
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 0=0000, começa por 0=0011;
• Trata-se também de um código AUTOCOMPLEMENTAR.
CÓDIGO BCD OU DECIMAL CODIFICADO EM BINÁRIO(2)
Circuitos Combinacionais
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
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;
Circuitos 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.
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
Circuitos Combinacionais
CÓDIGO GRAY (CÓDIGO REFLECTIDO) (1)
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
Circuitos Combinacionais
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 (n+1)-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 (n+1)-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.
CÓDIGO GRAY (CÓDIGO REFLECTIDO) (2)
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 i+1 da correspondente palavra binária forem iguais, caso contrário é 1. Quando i+1=n, o bit n é considerado 0;
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
Circuitos Combinacionais
CÓDIGO GRAY (CÓDIGO REFLECTIDO) (3)
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
Exemplo do método 2:
i=0:•Bit 0 (i=0) do código binário é igual a 1;•Bit 1 (i=1) do código binário é igual a 0;
Portanto,•Bit 0 do código Gray é igual a 1.
i=1:•Bit 1 (i=1) do código binário é igual a 0;•Bit 2 (i=2) do código binário é igual a 0;
Portanto,•Bit 1 do código Gray é igual a 0.
i=2:•Bit 2 (i=2) do código binário é igual a 0;•Bit n (i=3) do código binário é igual a 0;
Portanto,•Bit 0 do código Gray é igual a 0.
bit 0bit 1
bit 2
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
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
Circuitos Combinacionais
CÓDIGO GRAY (CÓDIGO REFLECTIDO) (4)
Representação do sistema decimal em código Gray e Gray excesso 3
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
CÓDIGO JOHNSON
DECIMAL JOHNSON
0 0000
1 0001
2 0011
3 0111
4 1111
5 1110
6 1100
7 1000
A sequência de procedimentos consiste:
• Iniciar tudo a zeros (0’s).• Convertê-los sucessivamente em 1’s a partir da direita, até se ober tudo a 1’s.• Convertê-los sucessivamente em 0’s a partir da direita até o valor possuir unicamente
o dígito mais significativo a 1.
Código Johnson de 4 bits
Circuitos Combinacionais
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
CÓDIGOS BCO E BCH
BCO – Binary Coded Octal
BCH – Binary Coded Hexadecimal
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
Circuitos Combinacionais
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
CÓDIGOS ASCII E EBCDICASCII – American Standard Code for Information Interchange
EBCDIC – Extended Binary Coded Decimal Interchange Code
Caracteres Válidos
ASCII EBCDICCaracteres
VálidosASCII EBCDIC
Caracteres Válidos
ASCII EBCDIC
0 30 F0 | 7C 4F % 25 6C
... ... ... & 26 50 > 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 @ 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 < 3C 4C
Circuitos Combinacionais
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
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.
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.
Método das Paridades
Longitudinais Transversais
A Paridade pode ser Par ou Ímpar:
Na Paridade Par o bit de paridade será 1 ou 0 de forma que o número de bits 1 seja par.
Na Paridade Ímpar o bit de paridade será 1 ou 0 de forma que o número de bits 1 seja ímpar.
Circuitos Combinacionais
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
CORRECÇÃO DE ERROS ATRAVÉS DE BITS DE PARIDADE (2)
Circuitos Combinacionais
Algumas características...
Para se construir um detector de erros de um bit, em geral são necessários (n+1)-bit para palavras de código de 2n-bit. Os n-bit constituem a palavra de código eqnuanto que o bit n+1 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.
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
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
Circuitos Combinacionais
CORRECÇÃO DE ERROS ATRAVÉS DE BITS DE PARIDADE (3)
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
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/Descodificadores;
- Multiplexers/Demultiplexers.
Circuitos Combinacionais
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
CIRCUITOS COMBINATÓRIOS (2)
Circuitos Combinacionais
Circuito Gerador de Bit de Paridade
ab
ab
a b S = a b S’ = a b
0 0 0 1
0 1 1 0
1 0 1 0
1 1 0 1
S
'S
bababaS
babababaS '
Exclusive-ORCI 74x86
Uma porta XOR (OU-exclusivo) é uma porta com duas entradas cuja saída é 1 se uma das entradas for 1, i. é, uma porta XOR produz um 1 na saída se o número de 1’s na entrada for ímpar (PARIDADE PAR). Caso se trate de uma porta XNOR (NÃO OU-exclusivo) o resultado é o inverso, i. é, produz um 1 na saída quando o número de 1’s na entrada for par (PARIDADE ÍMPAR). 's)(nº de XOR2)1a igual a s com saídsibilidade(nº de pos
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
CIRCUITOS COMBINATÓRIOS (3)
Circuitos Combinacionais
Circuito Gerador de Bit de Paridade (cont.)
Implementando n portas XOR em cascata, obtém-se um circuito com n+1 entradas e uma saída, originando um circuito de paridade ímpar. Ao invertermos essa saída, resulta um circuito de paridade par (ver figura):
I1I2I3I4
In
Saída Ímpar
Saída Par
Outra forma de implementar este tipo de circuito, de modo a que seja mais rápido, é em ÁRVORE.
Gerador Bit ParidadeCI 74x280
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
CIRCUITOS COMBINATÓRIOS (4)
Circuitos Combinacionais
Circuito Gerador de Bit de Paridade (cont.)
Suponhamos que trasmitimos em paralelo ao longo de uma linha e que pretendemos usar um bit de paridade para detecção de erros.
X Y
S
A
B
Caso Prático Simplificado:
Gerador
Detector
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
Circuito Comparador
a0
b0
S
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:
a0
b0
a1
b1
a3
b3
S
a2
b2
Circuitos Combinacionais
CIRCUITOS COMBINATÓRIOS (5)
Comparador 4-BitCI 74x85
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
Circuitos Combinacionais
Circuito Comparador Iterativo
CIRCUITOS COMBINATÓRIOS (6)
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).
EQI EQO
a b
CMP
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
a b
S
Cout
Circuitos Combinacionais
Meio-Somador e Somador Completo
CIRCUITOS COMBINATÓRIOS (7)
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).
a b S Cout
0 0 0 0
0 1 1 0
1 0 1 0
1 1 0 1
baC
baS
out
Da tabela resulta:
Diagrama Lógico:
Símbolo Lógico:
Cout
a bHalf
AdderS
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
Circuitos Combinacionais
Meio-Somador e Somador Completo (cont.)
CIRCUITOS COMBINATÓRIOS (8)
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).
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
babacC
cbaS
inout
in
)(
Da tabela resulta:
a b
S
Cout
cin
Diagrama Lógico:
Símbolo Lógico:
Cout
a bFull
AdderS
cin
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
Circuitos Combinacionais
Somadores de Ripple (Ripple Adders)
CIRCUITOS COMBINATÓRIOS (9)
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.
S0
a b
FA
c0
a0 b0
CoutS1
a b
FA
c1
a1 b1
CoutS2
a b
FA
c2
a2 b2
CoutSn
a b
FA
cn
an bn
CoutCn+1
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
CONVERSORES (1)
Estes circuitos têm por objectivo converter códigos. Desta forma o circuito que realiza esta conversão é designado de Conversor.
Código de origem Entradas
Código de destino Saídas
Mapas de Karnaugh
Expressões mínimas
Diagrama Lógico Conversor
Procedimento para realização de um CONVERSOR
Circuitos Combinacionais
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
CONVERSORES (2)
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:
32310
31021020
10
0
IIIIID
IIIIIIIIC
IIB
IA
Circuitos Combinacionais
Exemplo
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
A
I1
I2
I3
B
D
C
I0
3. Implementação do Diagrama Lógico
Circuitos Combinacionais
CONVERSORES (3)
Exemplo (cont.)
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
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:
DESCODIFICADORn
Palavra de código
de entrada
p
Entradasde Enable
m
Palavra de código
de saída
Descodificador de n para m linhas (objecto de estudo) onde:
nm 2
Circuitos Combinacionais
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
DESCODIFICADORES (2)
Circuitos Combinacionais
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 Saídas
EN I1 I2 Y3 Y2 Y1 Y0
0 x x 0 0 0 01 0 0 0 0 0 11 0 1 0 0 1 01 1 0 0 1 0 01 1 1 1 0 0 0
Descodificador de 2 para 4 (lógica positiva)
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
DESCODIFICADORES (3)
Descodificadores Binários: (cont.)
Circuitos Combinacionais
EN
I0
I1
Y0
Y1
Y2
Y3
Dual Decoder74x139
1G
1A
1B
2A
2B
2G
1Y0
1Y1
1Y2
1Y3
2Y0
2Y1
2Y2
2Y3
Símbolo Lógico (lógica negativa)
Descodificador duplo de 2 para 4CI 74x139
Diagrama Lógico (lógica positiva)
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
Entradas 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
Tabela de Verdade do descodificador binário–octal (lógica negativa)
Circuitos Combinacionais
DESCODIFICADORES (4)
Exemplo: Implementação de um descodificador BINÁRIO - OCTAL
Descodificador 3 para 8CI 74x138
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
A
B
C
EN
Y0
Y1
Y2
Y3
Y4
Y5
Y6
Y7
Circuito Lógico do descodificador binário – octal (lógica negativa)
Circuitos Combinacionais
DESCODIFICADORES (5)
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
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.
Circuitos Combinacionais
DESCODIFICADORES (6)
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
DESCODIFICADORES LIGADOS EM CASCATA (exemplo)
Decoder74LS138
Y0
Y1
Y2
Y3
Y4
Y5
Y6
Y7
G2B
G2A
G1
Decoder74LS138
Y0
Y1
Y2
Y3
Y4
Y5
Y6
Y7
G2B
G2A
G1
R
VCC
A
B
C
A
B
C
A
B
C
D
EN
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Circuitos Combinacionais
DESCODIFICADORES (7)
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
APLICAÇÃO EM CIRCUITOS COMBINACIONAIS (exemplo)
Implementar, com um descodificador 74x138, o circuito correspondente à função:
cbcacbacbaf ),,(
Implementação – Diagrama Lógico
A
B
C
Decoder74x138
G2B
G2A
G1
Circuitos Combinacionais
DESCODIFICADORES (8)
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
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:
nm 2
EXEMPLO: Implementação de um codificador OCTAL - BINÁRIO (lógica positiva)
Circuitos Combinacionais
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
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
Diagrama Lógico do codificador octal-binário
I0
I1
I2
I3
I4
I5
I6
I7
Y2
Y1
Y0
Circuitos Combinacionais
CODIFICADORES (2)
EXEMPLO: Implementação de um codificador OCTAL – BINÁRIO (cont.)
75310 IIIIY
76321 IIIIY
76542 IIIIY
Equações Lógicas
Em geral um codificador de 2n entradas para n saídas pode ser implementado com portas lógicas OR de 2n-1 entradas.
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
CODIFICADORES (3) - CODIFICADOR DE PRIORIDADE
EXEMPLO: Codificador de Prioridade de 4 bits (lógica positiva)
00 01 11 10
00 x 1 1
01 1 1 1
11 1 1 1
10 1 1
32II
10II00 01 11 10
00 x 1 1 1
01 1 1 1
11 1 1 1
10 1 1 1
32II
10II
312 IIIA 32 IIB
00 01 11 10
00 1 1 1
01 1 1 1 1
11 1 1 1 1
10 1 1 1 1
32II
10II
3210 IIIIIDLE
Circuitos Combinacionais
Entradas Saídas
EN I0 I1 I2 I3 B A IDLE
0 x x x x 0 0 01 1 0 0 0 0 0 11 x 1 0 0 0 1 11 x x 1 0 1 0 11 x x x 1 1 1 1
Tabela de Verdade
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
I0I1
I2I3
A
B
IDLE
Diagrama Lógico
CODIFICADORES (3) - CODIFICADOR DE PRIORIDADE
EXEMPLO: Codificador de Prioridade de 4 bits (lógica positiva)
Circuitos Combinacionais
Codificador Prioridade de 8-entradasCI 74x148
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
MULTIPLEXERSA 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.
Mux
Enable
D0
D1
Dn-1
b
b
b
b Y
s
Selecção
1D0
1D1
1Dn-1
1Y
2D0
2D1
2Dn-1
2Y
bD0
bD1
bDn-1
bY
Selecção Enable
Entradas e Saídas do mux. Esquema Funcional do mux.
Estrutura de um Multiplexer (mux.)
Circuitos Combinacionais
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
MULTIPLEXERS (Implementação)
S Saídas
0 Y = D0
1 Y = D1
Tabela de Verdade
SSelecção
D1
D0
SDSDY01
Nota: Implemente um circuito multiplexer de 4 para 1 (mux 4:1)
Circuitos Combinacionais
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
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.
Circuitos Combinacionais
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
MULTIPLEXER COMO GERADOR DE FUNÇÕES (exemplo)
Tabela de Verdade:
a b c F
0 0 0 0
0 0 1 0
0 1 0 1
0 1 1 1
1 0 0 0
1 0 1 0
1 1 0 1
1 1 1 0
Mux8:1
Y0
A
Y1 Y2 Y3 Y4 Y5 Y6 Y7
B
C
VCC
cbacbacbaY ),,(),,( 632mcbaF
Circuitos Combinacionais
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
MULTIPLEXER COMO GERADOR DE FUNÇÕES (exercícios)
1. Implementar a função utilizando:
a) Um multiplexer de 8:1 onde as variáveis de endereço são D e C.
b) Um multiplexer de 16:1.
2. Implementar a função utilizando:
a) Um multiplexer de 8:1 onde as variáveis de endereço são C, B e A.
b) Um multiplexer de 4:1 onde as variáveis de endereço são C e D.
3. Implementar a função utilizando:
a) Um multiplexer de 4:1 onde as variáveis de endereço são C e D.
),,,,,,,,(m)d,c,b,a(F 151412965410
),,,,,,,,(m)d,c,b,a(F 15141312107641
),,,,,(m)d,c,b,a(F 141110986
Circuitos Combinacionais
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
MULTIPLEXER COMO CONVERSOR PARALELO-SÉRIE (exemplo)
Mux8:1
Y0
Y1
Y2
Y3
Y4
Y5
Y6
Y7
A B C
(Contador)
Registo dearmazenamento
(8 bits)
Y
Circuitos Combinacionais
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
DEMULTIPLEXER
Demux
Y
s
Selecção
b
Dn-1b
D0
D1
b
b
In-1
I0
I1
Enable
Circuitos Combinacionais
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
DEMULTIPLEXER ATRAVÉS DE DESCODIFICADORES
Decoder74LS138
Y0
Y1
Y2
Y3
Y4
Y5
Y6
Y7
G2B
G2A
G1
A
B
C
VCC
1
0
1
Demultiplexer usando o descodificador 74LS138, onde funciona como entrada de
informação.
AG 2
AG 2
5Y
RestantesSaídas Lógica 1
Nota: O descodificador 74x154 (descodificador de 4 para 16 linhas) é também usado como
demultiplexer de 1:16.
Circuitos Combinacionais
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
TRANSMISSÃO DE DADOS
Conjugando um multiplexer e um demultiplexer, podemos estabelecer a ligação através de
um bus entre várias entradas e várias saídas. Isso é realizado da seguinte forma:
MUX DEMUX
b
b
I0
I1
b In-1
s
Selecção
s
Selecção
bDn-1
b
b
D0
D1 b
Circuitos Combinacionais
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
Circuitos Sequenciais
6
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
FLIP – FLOPSLÓGICA Combinatória LÓGICA Sequencial
Saídas dependem unicamente do valor
instantâneo dos diversos sinais de
entrada.
Saída depende não só do valor instantâneo dos sinais de entrada
mas também do estado prévio dos elementos lógicos que
constituem o circuito.
FLIP – FLOPS
FLIP – FLOPS – Circuito bi-estável. Circuito memorizador ou armazenador da informação recebida. Sinal mantém-se enquanto um sinal exterior não substituir a informação armazenada.
Flip - Flops a estudar:• RS.• RST (RS sincronizado ou clocked).• D ou latch.• T ou toggle.• JK.• JK master-slave.
Circuitos Sequenciais
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
FLIP–FLOP RSFLIP-FLOP RS –Possui duas entradas, S-Set e R-Reset, e duas saídas, Q e o seu complemento.
Pode ser implementado com portas NOR ou NAND.NOR – O “disparo” ocorre no flanco ascendente.NAND – O “disparo” ocorre no flanco descendente (apresenta dois círculos na entrada).
APLICAÇÃO: Circuito “Contact-Bounce Eliminator”, i.é, evita o efeito transitório na tensão.
Q
QS
R
Q
Q
R
S
Q
QS
R
Q
QS
R
Flip-Flop RS com NOR’s e NAND’S Símbolo do Flip-Flop RS
Circuitos Sequenciais
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
CONTACT BOUNCE ELIMINATOR
R
R
+V
+V
S2
1
R
R
+V
+V
2
1Q
Q
Circuito normal Efeito transitório da tensão
V
S
Contact-Bounce Eliminator
Circuitos Sequenciais
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
FLIP–FLOP RST
Q
Q
Ck
R
S
Q
QS
R
C
Este FF não é mais do que um FF RS com uma terceira entrada de clock que vai permitir ou
inibir o funcionamento do FF conforme estiver ou não presente o impulso de clock.
Flip-Flop RST, implementado com NAND’s Símbolo do Flip-Flop RST
Circuitos Sequenciais
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
FLIP–FLOP TIPO D OU LATCHEste FF não é mais do que um FF RST onde as entradas RS estão ligadas a uma única entrada D (DATA). Esta é aplicada directamente numa das gates e inversamente na outra.
Ck
D
Q
Q
Ck
D
Q
Q
S
R
Q
QSET
CLR
D
C
Q
QD
C
Flip-Flop D
Símbolo do Flip-Flop DFlip-Flop D, com Set e Clear (Reset)
Q
QSET
CLR
D
C
Circuitos Sequenciais
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
Flip-Flop T Símbolo do Flip-Flop T
FLIP–FLOP TIPO T OU TOGGLEEste FF tem só uma entrada exterior (T) sendo, as outras, realimentações das saídas de Q e o seu complemento. Por tal motivo, são necessários dois circuitos de atraso (delay) para evitar que as realimentações mudem de estado enquanto T permanecer no seu estado 1.
A saída deste FF pode servir para: contar impulsos; servir como divisor (scaler) (na medida em que são necessários 2 impulsos de entrada para 1 impulso de saída (T2=2T1)); servir, também, como contador binário.
Q
Q
T
R
S
Q
QSET
CLR
T
Circuitos Sequenciais
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
FLIP–FLOP JKTal como o FF Toggle, existem realimentações das saídas Q e do seu complemento, cujas mudanças não devem interferir no funcionamento.
Q
QS
R
J
k
CkJ
Q
Q
K
C
Flip-Flop JK Símbolo do Flip-Flop JK
Circuitos Sequenciais
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
Q
Q
Ck
J
k
R
S
Master Slave
FLIP–FLOP JK master-slaveEsta situação levou à concepção de um novo tipo denominado JK master-slave, cuja finalidade é introduzir um atraso entre a entrada e a saída, de forma a eliminar essa interferência.
A razão do nome master-slave resulta de o segundo FF estar condicionado ao primeiro.
Flip-Flop JK master-slave
Circuitos Sequenciais
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
FLIP–FLOP RSPrincípio de funcionamento:
1. As duas entradas estão normalmente a zero, podendo o FF estar com as saídas num estado qualquer, i.é, estado Reset (Q=0 e ~Q=1) ou estado Set (Q=1 e ~Q=0).
2. Aplicando um sinal um à entrada Reset o FF é conduzido sempre ao estado Reset. Se ele estiver previamente nesse estado permanece nele.
3. Aplicando um sinal um à entrada Set o FF é conduzido sempre ao estado Set. Se ele estiver previamente nesse estado permanece nele.
4. Aplicando simultaneamente sinais Set e Reset nas entradas, o FF cai num estado de indeterminação. Deve ser evitada esta situação!
Flip-Flop RS
Q
QS
R Q
QS
R
Circuitos Sequenciais
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
FLIP–FLOP RS (cont.)
Este princípio de funcionamento traduz-se na seguinte tabela.
Tabela Simplificada do FF RS
Casos
SaídasEntrada
s
Saídas
ObservaçõesCondições
IniciaisCondições
Finais
Q ~Q R S Q ~Q
1 0 1 0 0 0 1 Não muda
2 0 0 0 1 0 1 Não muda
3 0 1 1 0 1 0 Muda de Reset para Set
4 0 0 1 1 Indeterminado
5 1 1 0 0 1 0 Não muda
6 1 0 0 1 0 1 Muda de Set para Reset
7 1 1 1 0 1 0 Não muda
8 1 0 1 1 Indeterminado
S R Qn+1
0 0 Qn
0 1 0
1 0 1
1 1 X
Circuitos Sequenciais
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
FLIP–FLOP RS (cont.)
O funcionamento do FF também se pode observar pelo diagrama de impulsos:
0S
0R
0Q
0Q
Nota: O funcionamento do FF é idêntico quando implementado com NAND’s!
Circuitos Sequenciais
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
FLIP–FLOP RSTAs Gates C e D servem para que o Clock CK quando presente, deixe passar o sinal S ou R.
As Gates A e B constituem o FF RS propriamente dito.
O impulso de clock CK funciona como trinco (latch) que abre ou fecha as gates de controle, C e D.
Continua a existir um estado indeterminado!
O FF comporta-se de igual forma ao RS desde que haja sinal de clock.
Q
Q
Ck
R
S C A
BD
Entradas Saídas
S R Ck Q ~Q
0 0 0 Não actua
0 0 1 Não actua
0 1 0 Não actua
0 1 1 0 1
1 0 0 Não actua
1 0 1 1 0
1 1 0 Não actua
1 1 1 Indeterminado
Circuitos Sequenciais
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
FLIP–FLOP D ou LATCHEste FF tem em relação aos anteriores a vantagem de eliminar o estado indeterminado. Isso consegue-se ligando as entradas RS a uma única entrada D (DATA). A qual é aplicada directamente numa das gates e inversamente na outra.
Este FF, além da vantagem acima descrita em relação às anteriores, dá-nos oportunidade de avançar para outros processos, utilizando mais algumas alterações em relação ao esquema básico, com o objectivo de eliminar alguns inconvenientes que ainda subsistem neste tipo.
Ck
D
Q
QENTRADAS SAÍDAS
Data Clock Q
0 0 Não Muda
0 1 0
1 0 Não Muda
1 1 1
Circuitos Sequenciais
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
FLIP–FLOP D ou LATCHNa zona 1 aparece o que foi descrito na tabela de verdade, i.é, o nível na entrada D aparece na saída Q a partir do impulso seguinte do clock com um certo atraso B devido ao nível 1 da entrada D ter surgido antes desse impulso de clock. Funciona como um trinco (latch) que abre levando a saída Q ao nível da entrada D.
Na zona 2 está representada uma situação inconveniente, i.é, durante todo o patamar em que o impulso de clock é 1 a saída pode variar desde que varie a entrada.
A frequência de clock é inferior à da entrada de D. Em determinados contadores, isso exigiria criar uma situação de compromisso entre o impulso de clock e o sinal de entrada para não se dar a tal situação que ocorre na zona 2.
Ck
D
Q
B
1 2
Circuitos Sequenciais
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
FLIP–FLOP D ou LATCH(cont.)Foi criado dentro do mesmo tipo um circuito mais complexo, para colmatar a situação anteriormente descrita, denominado de Edge Triggered D-type FF, i.é, FF tipo D disparando unicamente ou no flanco ascendente ou no descendente do impulso de clock.Funcionamento:Condições iniciais, Ck=0, D=1 e FF no estado Reset.Quando aparece um impulso de clock, a saída da gate B vai para 0, fazendo com que o FF RS constituido pelas gates E e F vá para estado Set. Se a entrada D vai para 0 durante o tempo em que o Ck ainda é 1, a saída da gate D vai para 1. Isto não causa efeito na saída do FF uma vez que a gate C está inibida pela saída da gate B.Quando o clock por seu turno for 0 a saída B vai para 1 mas C é agora inibida pela falta de clock, deixando assim a saída do FF no estado de Set, sem alteração.
Q
Q
D
Ck
A
B
C
D
F
E
Circuitos Sequenciais
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
FLIP–FLOP T ou TOGGLEFuncionamento:
Inicialmente o FF está no estado Reset (Q=0 e ~Q=1).
Ao aplicamos um impulso 1 à entrada T, a porta NAND A abre, dando uma saída 0. Após um certo atraso o FF é activado e passa ao estado Set.
A gate B fica preparada a actuar após a recepção do próximo impulso que conduzirá à situação inicial, ou seja, Reset.
Aplicação:
Como foi falado anteriormente, a saída deste FF pode servir para contar impulsos ou servir como divisor (scaler), na medida em que são necessários 2 impulsos de entrada para 1 impulso de saída (T2=2T1). Pode servir também como contador binário pois a sua saída é alternadamente 0, 1, 0, 1, 0, 1,...
Q
Q
T
R
S
B B B B
2T
1T
Circuitos Sequenciais
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
FLIP–FLOP JKEste FF é o mais utilizado em circuitos lógicos devido a ser aquele que além de não ter estado indeterminado, tem mais possibilidades de funcionamento, uma vez que tem 2 entradas (J e K) além de um clock.
Para compreender o seu funcionamento básico apercebamo-nos das seguintes condições:
•Só funciona com impulso de clock.
•Se ambas as entradas forem iguais a 0, o FF não muda de estado.
•Se ambas as entradas forem iguais a 1 o FF funciona como o FF Toggle (muda sempre de estado).
•Se as entradas forem iguais às saidas, o FF não muda de estado.
•Se as entradas forem diferentes das saídas, o FF muda de estado complementarmente, ficando com as entradas iguais às entradas.
J
Q
Q
K
C
101010 /||/||||
010110 /||/||||
1001100100 /||/||||
0110011011 /||/||||
Circuitos Sequenciais
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
FLIP–FLOP JKPelo esquema é fácil observar o funcionamento anteriormente descrito:
1. Quando J=0 e K=0 as portas A e B estão bloqueadas (A e B são AND’s!!).
2. Quando J=K=1, as portas A e B estão desbloqueadas, o FF funciona como Toggle e Alterna de estado consoante o clock.
3. Quando J=0 e K=1 ou vice-versa, A ou B estão bloqueadas. Funciona como o FF RS, pois as saídas dos AND’s são aplicadas directamente às entradas do FF RS.
Q
QS
R
J
k
Ck
Flip-Flop JK
Circuitos Sequenciais
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
FLIP–FLOP JK master-slaveEsta montagem é constituida por dois FF RS, no primeiro dos quais o clock actua directamente (flanco ascendente) e no segundo inversamente (flanco descendente). Portanto, a saída do primeiro FF (master) vai ser transmitida ao segundo FF (slave) no flanco descendente do impulso de clock, o que implica dizer haver um atraso igual à duração do clock. Este atraso elimina os efeitos da realimentação sobre a entrada, à semelhança da introdução dos delays no FF Toggle.
Flip-Flop JK master-slave
Q
Q
Ck
J
k
R
S
Master Slave
A
B D
C E
F H
G
Circuitos Sequenciais
A razão do nome master-slave resulta de o segundo FF estar condicionado ao primeiro.
ENTRADAS SAÍDAS
J K Qn+1
0 0 Qn
0 1 0
1 0 1
1 1 ~Qn
Tabela de verdade do FF JK
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
FLIP–FLOP JK master-slaveFuncionamento do FF JK master-slave através do diagrama de sinais:
B B B
J
K
Ck
CDQ
Ck
GHQ
1
1
0
0
0
1
1
0
Como se pode verificar existe um atraso B entre as saídas QGH e QCD igual à duração do impulso de clock.
Circuitos Sequenciais
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
CIRCUITOS SEQUENCIAISOs circuitos que vão ser objecto de estudo vão ser:
• Contadores.
• Divisores de frequência (scalers).
CONTADORES:
Estes dispositivos têm como objectivo realizar vários tipos de contagem como: tempo (como um relógio digital), temporização ou sincronismo das operações de um sistema complexo, calculadores, computadores, etc...
Tipos principais de CONTADORES:
• Assincronos ou de RIPPLE.
• Síncronos.
Circuitos Sequenciais
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
7Circuitos Sequenciais
Assíncronos
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
Circuitos Sequenciais Assíncronos
CONTADORES ASSÍNCRONOSNos contadores assíncronos a saída do primeiro FF liga à entrada do segundo e assim sucessivamente.Dizem-se assíncronos porque os vários FF’s não comutam em sincronismo com o clock mas sim com um atraso de um FF para o seguinte.
Q
Q
CLR
TCk
Q
Q
CLR
T
Q
Q
CLR
T
R
A B C
J
Q
Q
K
SET
CLR
C
J
Q
Q
K
SET
CLR
C
J
Q
Q
K
SET
CLR
C
R
Ck
A B C
1
1
1
1
1
1
Contador Assíncrono implementado com FF tipo T
Contador Assíncrono implementado com FF tipo JK
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
Circuitos Sequenciais Assíncronos
CONTADORES ASSÍNCRONOSDiagrama de sinais dos contadores assíncronos implementados com FF tipo T e FF tipo JK.
1
1
1
1
1 1 1
1 1 1 1
1 1 1
1
00 00
00 00
0000
1
1
0
Ck
A
B
C
Ck
0
0
0
1
0
0
1
0
0
1
1
0 1
0
0
1
1
0 1
1
0 1
1
1
0
0
0
1
0
0
A
B
C
Diagrama de sinais do contador assíncrono implementado com FF tipo T
Diagrama de sinais do contador assíncrono implementado com FF tipo JK
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
Circuitos Sequenciais Assíncronos
DESENHO DE CONTADORES ASSÍNCRONOSO processo a seguir para implementar um contador assíncrono é o seguinte:
• Determinar o número de FF’s a utilizar.
• Ligar a saída de cada FF ao clock do FF seguinte.
• O reset do contador será feito através das saídas que terão nível lógico 1 no módulo pretendido.
Exemplo: Implementar um contador de módulo 5.
Ponto 1: o número de FF a usar é igual a 3. Pois, 22 < 5 < 23 3 FF´s.
J
Q
Q
K
SET
CLR
C
J
Q
Q
K
SET
CLR
C
J
Q
Q
K
SET
CLR
C
R
Ck
A B C
1
1
1
1
1
1
Ponto 2 e 3.
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
Exercícios:
1. Implemente, usando FF’s do tipo JK, um contador assíncrono que faça uma contagem de 0 a 3.
2. Implemente um contador, usando FF’s do tipo JK, um contador assíncrono de módulo 12.
3. Realize os pontos 1 e 2 usando FF’s do tipo T e D:
Circuitos Sequenciais Assíncronos
DESENHO DE CONTADORES ASSÍNCRONOS
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
8Circuitos Sequenciais Síncronos
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
Circuitos Sequenciais Síncronos
CONTADORES SÍNCRONOSCONTADOR SÍNCRONO PROGRESSIVO:A análise dos contadores síncronos torna-se mais complexa que a dos assíncronos, daí se optar pelo método baseado na aplicação da tabela de verdade. Para tal procedemos da seguinte forma:
•As entradas J e K de cada FF podem representar-se sob a forma de uma expressão lógica.
•Essas expressões lógicas são normalmente função das saídas dos vários FF’s.
J
Q
Q
K
SET
CLR
C
J
Q
Q
K
SET
CLR
C
J
Q
Q
K
SET
CLR
C
R
Ck
A B C
1
1
BAK.
BAJ.
AK.
AJ.
K.
J.
C
C
B
B
A
A
6
5
4
3
12
11
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
Circuitos Sequenciais Síncronos
CONTADORES SÍNCRONOSTabela de verdade do funcionamento do contador síncrono progressivo:
SAÍDAS ENTRADAS
C B AJA KA JB KB JC KC
1 1 A A A.B A.B
Reset 0 0 0 1 1 0 0 0 0
1º clock 0 0 1 1 1 1 1 0 0
2º clock 0 1 0 1 1 0 0 0 0
3º clock 0 1 1 1 1 1 1 1 1
4º clock 1 0 0 1 1 0 0 0 0
5º clock 1 0 1 1 1 1 1 0 0
6º clock 1 1 0 1 1 0 0 0 0
7º clock 1 1 1 1 1 1 1 1 1
8º clock 0 0 0 1 1 0 0 0 0
Método para construção da Tabela de verdade:
1.Dividir a tabela em dois grupos: Entradas e Saídas.
2.Colocar no grupo das entradas, JA, KA, JB, etc, com as respectivas expressões.
3.Nas saídas colocam-se as letras A, B, C relativas às saídas Q dos FF’s.
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
Circuitos Sequenciais Assíncronos
CONTADORES ASSÍNCRONOS
Diagrama de sinais do contador Síncrono progressivo:
Ck
0
0
0
1
0
0
1
0
0
1
1
0 1
0
0
1
1
0 1
1
0 1
1
1
0
0
0
1
0
0
A
B
C
R
Diagrama de sinais do contador síncrono progressivo implementado com FF tipo JK
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
CONTADOR SÍNCRONO REGRESSIVO:
Procedendo da mesma forma de análise que para o contador síncrono progressivo temos:
Circuitos Sequenciais Síncronos
CONTADORES SÍNCRONOS
J
Q
Q
K
SET
CLR
C
J
Q
Q
K
SET
CLR
C
J
Q
Q
K
SET
CLR
C
R
Ck
A B C
1
1
Contador síncrono regrassivo implementado com FF tipo JK
BAKAKK
BAJAJJ
CBA
CBA
1
1
Comecemos por escrever as expressões das várias entradas a partir do esquema:
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
Circuitos Sequenciais Síncronos
CONTADORES SÍNCRONOSTabela de verdade do funcionamento do contador síncrono regressivo:
SAÍDAS ENTRADAS
C B AJA KA JB KB JC KC
1 1
Reset 0 0 0 1 1 1 1 1 1
1º clock 1 1 1 1 1 0 0 0 0
2º clock 1 1 0 1 1 1 1 0 0
3º clock 1 0 1 1 1 0 0 0 0
4º clock 1 0 0 1 1 1 1 1 1
5º clock 0 1 1 1 1 0 0 0 0
6º clock 0 1 0 1 1 1 1 0 0
7º clock 0 0 1 1 1 0 0 0 0
8º clock 0 0 0 1 1 1 1 1 1
BABAAA
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
Circuitos Sequenciais Assíncronos
CONTADORES ASSÍNCRONOS
Diagrama de sinais do contador Síncrono regressivo:
Diagrama de sinais do contador síncrono regressivo implementado com FF tipo JK
1
1
1
1
1 1 1
1 1 1 1
1 1 1
1
00 00
00 00
0000
A
B
C
Ck
R
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
Circuitos Sequenciais Síncronos
CONTADORES SÍNCRONOSCONTADOR SÍNCRONO REVERSÍVEL:
Trata-se de um contador que pode contar quer no sentido ascendente quer no sentido descendente.
J
Q
Q
K
SET
CLR
C
J
Q
Q
K
SET
CLR
C
J
Q
Q
K
SET
CLR
C
RCk
A B C
1
1
CD
Count Direction
JB KB JC KC
0 (crescente) A A A.B A.B Abre I e III
1 (decrescente) Abre II e IVBABAA
I
II
III
IV
A
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
DESENHO DE CONTADORES SÍNCRONOS
Circuitos Sequenciais Síncronos
O processo a seguir para implementar um contador síncrono é o seguinte:
•Determinar o número de FF’s a utilizar;
•Desenhar a tabela de verdade das saídas de acordo com o código de contagem pretendido;
•Desenhar o mapa de Karnaugh relativamente às saídas do contador, utilizando a tabela de verdade já construída, na fase anterior, como auxiliar;
•Retirar as expressões para todas as saídas J e K;
•Implementar o circuito do contador síncrono.
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
Exemplo: Construir um contador para o código BCD-XS3.• Número de FF’s a utilizar:
DESENHO DE CONTADORES SÍNCRONOS (cont.)
Circuitos Sequenciais Síncronos
O número de FF a usar é igual a 4. Pois, o código necessita de pelo menos 4 bits para representar os 10 digitos (0 – 9). Assim, 23=8 < 10 < 24=16 4 FF´s.
• Desenhar a tabela de verdade das saídas de acordo com o código de contagem pretendido.
SAÍDAS
Estado Actual Estado Seguinte
Decimal D C B A D C B A Decimal
3 0 0 1 1 0 1 0 0 4
4 0 1 0 0 0 1 0 1 5
5 0 1 0 1 0 1 1 0 6
6 0 1 1 0 0 1 1 1 7
7 0 1 1 1 1 0 0 0 8
8 1 0 0 0 1 0 0 1 9
9 1 0 0 1 1 0 1 0 10
10 1 0 1 0 1 0 1 1 11
11 1 0 1 1 1 1 0 0 12
12 1 1 0 0 0 0 1 1 0
0 — 0 0 1 1
1 — 0 1 0 0
2 — 0 1 0 1
3 — 0 1 1 0
4 — 0 1 1 1
5 — 1 0 0 0
6 — 1 0 0 1
7 — 1 0 1 0
8 — 1 0 1 1
9 — 1 1 0 0
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
DESENHO DE CONTADORES SÍNCRONOS (cont.)
Circuitos Sequenciais Síncronos
• Desenhar o mapa de Karnaugh relativamente às saídas do contador, utilizando a tabela de verdade já construída, na fase anterior, como auxiliar.
00 01 11 10
00 3
01 4 5 7 6
11 12
10 8 9 11 10
BA
DC
Os espaços em branco, serão “Don’t Care Conditions” (X) e correspondem aos códigos ilegítimos deste contador.
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
DESENHO DE CONTADORES SÍNCRONOS (cont.)
Circuitos Sequenciais Síncronos
• Desenhar mapas de Karnaugh para as entradas J e K do total de FF’s a utilizar.
A tabela de excitação do FF JK é a seguinte:
Estado do FFEstado das Entradas Condição do FF
Antes Depois J K
0 0 0 X Não Mudou ou Reset
0 1 1 X Mudou ou Set
1 0 X 1 Mudou ou Reset
1 1 X 0 Não Mudou ou Set
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
DESENHO DE CONTADORES SÍNCRONOS (cont.)
Circuitos Sequenciais Síncronos
• Desenhar mapas de Karnaugh para as entradas J e K do total de FF’s a utilizar.
De acordo com a tabela de excitação constroi-se nova tabela de verdade, agora com as entradas J e K.
SAÍDAS ENTRADAS
Estado Actual Estado SeguinteJD KD JC KC JB KB JA KA
D C B A D C B A
0 0 1 1 0 1 0 0 0 X 1 X X 1 X 1
0 1 0 0 0 1 0 1 0 X X 0 0 X 1 X
0 1 0 1 0 1 1 0 0 X X 0 1 X X 1
0 1 1 0 0 1 1 1 0 X X 0 X 0 1 X
0 1 1 1 1 0 0 0 1 X X 1 X 1 X 1
1 0 0 0 1 0 0 1 X 0 0 X 0 X 1 X
1 0 0 1 1 0 1 0 X 0 0 X 1 X X 1
1 0 1 0 1 0 1 1 X 0 0 X X 0 1 X
1 0 1 1 1 1 0 0 X 0 1 X X 1 X 1
1 1 0 0 0 0 1 1 X 1 X 1 1 X 1 X 1
1
A
A
B
B
C
C
D
D
K
J
AK
ACDJ
DABK
ABJ
CK
ABCJ
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
DESENHO DE CONTADORES SÍNCRONOS (cont.)
Circuitos Sequenciais Síncronos
• Implementação do circuito contador síncrono.
J
Q
Q
K
SET
CLR
C
J
Q
Q
K
SET
CLR
C
J
Q
Q
K
SET
CLR
C
RCk
D C BJ
Q
Q
K
SET
CLR
C
A1
1
Exercício:
1. Implemente, usando FF’s do tipo D, T e S-R o contador síncrono atrás realizado com FF’s JK.
Arquitectura de Sistemas ComputacionaisArquitectura de Sistemas Computacionais
DESENHO DE CONTADORES SÍNCRONOS (cont.)Circuitos Sequenciais Síncronos
Tabelas de excitação para outros FF’s:
Estado do FFEstado das Entradas
Antes Depois S R
0 0 0 X
0 1 1 0
1 0 0 1
1 1 X 0
Estado do FFEstado das Entradas
Antes Depois D
0 0 0
0 1 1
1 0 0
1 1 1
Estado do FFEstado das Entradas
Antes Depois T
0 0 0
0 1 1
1 0 1
1 1 0
Flip-Flop S-R Flip-Flop D
Flip-Flop T