Buscar

Logica Digital

Prévia do material em texto

Lógica Digital 
Prof. Dr. Paulo Martins 
E-mail: pmartins@ft.unicamp.br 
Circuito Digital 
Opera com quantidades que só podem ser 
incrementadas ou decrementadas em passos finitos 
ou discretos. 
Representação de um sinal digital 
Circuito Analógico 
Opera com quantidades ou sinais que podem 
ter valores que variam de modo contínuo numa 
escala. 
Representação de um sinal analógico 
A Lógica Digital é aplicada à eletrônica dos 
computadores para que possam ser tomadas 
decisões. As decisões são baseadas na Álgebra 
de Boole. Os Circuitos Lógicos Digitais 
implementam as decisões. Eles são compostos 
por várias Portas Lógicas montadas por 
Interruptores. 
Interruptores 
Chamamos interruptor ao dispositivo ligado a um 
ponto de um circuito elétrico que pode assumir um dos 
dois estados: fechado( 1 ) ou aberto( 0 ). Quando 
fechado, o interruptor permite que a corrente passe 
através do ponto, enquanto aberto nenhuma corrente 
pode passar pelo ponto. 
Interruptores em Paralelo 
Sejam a e b dois interruptores ligados em paralelo. 
Numa ligação em paralelo, só passará corrente se pelo 
menos um dos interruptores estiver fechado, isto é, 
apresentar o estado 1. 
Denotaremos a ligação de dois interruptores a e b em 
paralelo por a + b. 
Interruptores em Série 
Sejam a e b dois interruptores ligados em série. Numa 
ligação em série, só passará corrente se ambos os 
interruptores estiverem fechados, isto é, se a = b = 1. 
Denotaremos a ligação de dois interruptores a e b em 
série por a . b ou simplesmente ab. 
Chave Automática 
Circuito chaveador com: 
 uma fonte de alimentação 
 um fio de controle 
 um fio de saída 
Chaves Automáticas em Paralelo 
Chaves Automáticas em Série 
Portas Lógicas - Definição 
Uma porta lógica é um elemento do hardware, que 
recebe um ou mais sinais de entrada e produz um 
sinal de saída, cujo valor depende da lógica 
estabelecida para sua construção. São usadas para 
implementações físicas da álgebra de Boole. 
Representam o limite entre a engenharia de 
computação e a engenharia elétrica. Em geral as 
portas têm um atraso de propagação do sinal de 1 
a 10 nanosegundos. 
Portas Lógicas - Exemplos 
O projeto e a fabricação de circuitos lógicos 
tornam-se mais simples se são usados apenas 
um ou dois tipos de porta. Portanto, é 
importante identificar quais conjuntos de portas 
lógicas são funcionalmente completos, ou seja, 
implementam qualquer função booleana. 
Portas Lógicas 
Funcionalmente Completas 
Exemplo 
))()(( BNOTANDANOTNOTBORA
BABA


Para que as portas AND e NOT constituam um 
conjunto funcionalmente completo deve existir uma 
maneira de expressar com elas a operação OR. 
Circuito Inversor 
Circuito AND 
Circuito OR 
Simplificação de 
Expressões Booleanas 
Simplificação algébrica 
Mapas de Karnaugh 
Método de Quine-McKluskey 
Qualquer função booleana pode ser implementada 
por um circuito eletrônico, na forma de uma rede 
de portas lógicas. Porém, quanto mais simples for 
a expressão booleana menor é o número de portas 
requerido para implementar a função. 
Circuitos Lógicos Digitais 
Um conjunto de portas lógicas compõe um circuito 
lógico digital. 
Um computador é constituido de uma infinidade de 
circuitos lógicos, que executam as seguintes funções 
básicas: 
 realizam operações matemáticas 
 controlam o fluxo dos sinais 
 armazenam dados 
Um circuito lógico digital pode ser Combinatório ou 
Sequencial. 
Circuito Combinatório 
Um circuito combinatório é definido como sendo um 
conjunto de portas cuja saída em qualquer instante de 
tempo é função somente das entradas. São chamados 
de circuitos "sem memória". Ele consiste de n entradas 
binárias e m saídas binárias (múltiplas entradas e 
múltiplas saídas). 
Tipos de Circuitos Combinatórios 
 Multiplexadores 
 Decodificadores 
 Comparadores 
 Matrizes lógicas programáveis (circuitos genéricos) 
 Memórias ROM 
 Deslocadores 
 Somadores 
Multiplexadores 
Um multiplexador conecta 
várias entradas em uma única 
saída. São circuitos com 2n 
entradas de dados, uma saída 
de dados e n controles que 
selecionam uma das entradas 
de dados. 
Circuito Multiplexador 
Aplicação 
Um circuito multiplexado pode fazer a conversão 
paralelo-série de dados. Colocando-se 8 bits de dados 
nas linhas de entrada e fazendo com que as linhas de 
controle assumam seqüencialmente os valores de 000 a 
111, os 8 bits presentes na entrada são colocados em 
série na linha de saída. 
Decodificadores 
Um decodificador é 
um circuito que 
recebe na entrada um 
número de n bits e os 
utiliza para selecionar 
exatamente uma de 
suas 2n linhas de 
saída. 
Aplicação (1/3) 
Um decodificador 
pode ser usado 
para fazer o 
endereçamento de 
partes de uma 
memória. 
Aplicação (2/3) 
Selecionar uma operação a ser realizada 
Aplicação (3/3) 
Decodificadores também podem ser usados 
como demultiplexador. Nesse caso eles efetuam 
a função inversa do multiplexador, ou seja, eles 
conectam uma única entrada a múltiplas saídas. 
Sistemas de Transmissão 
Multiplexado - Demultiplexador 
Comparadores 
Um circuito 
comparador faz 
a comparação 
de 2 palavras bit 
a bit. 
Aplicação 
Os circuitos comparadores são usados principalmente 
para execução de instruções condicionais e de loop, 
tais como: 
 if 
 while 
 for 
Matriz Lógica Programável (PLA) 
Para cada conjunto de funções, deve ser projetado 
um conjunto de portas e suas conexões na pastilha. 
O projeto de pastilhas específicas requer muito 
tempo e tem um custo alto. Portanto, torna-se 
atrativo desenvolver pastilhas de uso geral, que 
possam ser facilmente adaptadas para propósitos 
específicos. Essa é a intenção de uma PLA. 
Fabricação das PLAs 
1. As possíveis conexões são feitas por meio de um 
fusível em cada ponto de intersecção. Nesse caso, as 
conexões não desejadas podem ser mais tarde 
removidas, derretendo os fusíveis correspondentes 
(PLAs programáveis em campo). 
 
2. As conexões apropriadas podem ser feitas durante a 
fabricação da pastilha, usando uma máscara fornecida 
pelo cliente para cada padrão particular de conexão. 
(PLAs feita sob medida). 
Vantagem: Permite ao projetista tentar diversas idéias 
diferentes, pois o tempo para implementação e alteração 
é muito curto. 
PLAs Vantagem x Desvantagens 
Desvantagens: (1) O circuito resultante provavelmente 
não é o mais eficiente porque conterá portas que podem 
ser desnecessárias para um projeto específico. (2) A 
velocidade de resposta não será a mais rápida que se 
pode conseguir para o projeto, pois a velocidade de 
chaveamento de um arranjo é uma característica da 
estrutura do circuito, que não pode ser modificada pelo 
usuário. 
Memórias ROM 
Read Only Memory 
É uma unidade de memória sobre a qual apenas a 
operação de leitura pode ser efetuada. A informação 
nela armazenada é permanente e é criada durante o 
processo de fabricação (uma vez instalados nem o 
programa nem os dados podem ser alterados). 
Portanto, uma dada entrada para a ROM sempre 
produz a mesma saída. Como as saídas são função 
apenas das entradas correntes, a ROM é, de fato, um 
circuito combinatório. 
Deslocadores 
Um circuito deslocador tem um conjunto de n linhas de entradas 
e n linhas de saída e 1 linha de controle, nesse caso n =8. Os 
valores colocados nas linhas de entrada são enviados para as 
linhas de saída deslocados de 1 bit, para a direita ou para a 
esquerda, dependendo do valor da linha de controle estar em 1 
ou 0 respectivamente. 
Somadores 
Circuitos somadores implementam operações 
aritméticas. Por exemplo, a adição binária pode ser 
expressa em termos booleanos. A adição binária difere 
da álgebra booleana no fato de que o resultado inclui um 
termo de "vai-um". 
Circuito Somador 
Esse circuito realiza 
a soma de suas 
duas entradas A e 
B. Ele gera, como 
saída, o valor da 
soma e de um bit de 
transporte (o "vai 1" 
da soma). 
Circuitos Sequenciais 
Um circuito sequencial é definido como sendo um 
conjunto de portas cuja saída em qualquer instante é 
função não apenas das entradas, mas também dos 
estados anteriores que permanecem armazenados 
através dos elos de realimentação. Por isso, os 
circuitos seqüenciais são ditos “com memória”. Um 
circuito sequencial faz uso de circuitos combinatórios. 
Tipos de Circuitos Sequenciais 
 Flip-flops S-R (set-reset) 
 Flip-flops comandado por pulso de clock 
 Flip-flops tipo D (delay) 
 Flip-flops J-K 
 Contadores 
 Registradores 
Flip-flops 
1. O flip-flop é um dispositivo 
biestável. Ele existe em um de dois 
estados estáveis e, na ausência de 
sinal de entrada, permanece no 
mesmo estado. Portanto, o flip-flop 
pode funcionar como uma memória 
de 1 bit. 
2. O flip-flop tem duas saídas, que têm 
sempre valor complementar uma da 
outra. 
No flip-flop J-k qualquer combinação possível dos 
valores de entrada é válida, pois quando tanto J quanto 
k são iguais a 1, o valor da saída é automaticamente 
invertido. 
Para o flip-flop S-R as entradas S =1 e R = 1 não são 
permitidas, pois produziriam uma saída incoerente 
(tanto Q quanto Q’ = 0). 
A saída de um flip-flop S-R muda, depois de um breve 
atraso, em resposta a uma mudança na entrada 
(operação assíncrona). 
No flip-flop S-R com relógio as saídas são 
sincronizadas por um pulso de relógio. 
O flip-flop tipo D permite apenas uma única entrada e 
por isso, evita saídas incoerentes do S-R. 
Registradores 
Um registrador é um circuito digital seqüencial usado 
dentro da CPU para armazenar um ou mais bits de 
dados. Os registradores podem ser paralelos ou de 
deslocamento. 
Um registrador paralelo consiste de um conjunto de 
memórias de 1 bit, que podem ser lidas ou escritas 
simultaneamente. Ele é usado para armazenar dados. 
Um registrador de deslocamento aceita e/ou transfere 
informação serialmente. Ele pode ser usado como 
interface para dispositivos de E/S seriais e para 
implementar funções de deslocamento lógico e rotação 
dentro da ULA. 
Contadores 
Um contador é um registrador cujo valor é facilmente 
incrementado de 1 módulo a capacidade do registrador. Um 
registrador constituído de n flip-flops pode contar até 2n – 1. 
Quando o contador é incrementado além do seu valor 
máximo, seu valor volta para 0. Um exemplo é o contador de 
instruções de programa da CPU. 
Os contadores podem ser síncronos ou assíncronos, 
dependendo da sua forma de operação. Contadores 
assíncronos são lentos porque a saída de um flip-flop 
dispara uma mudança no estado do flip-flop seguinte (esse 
atraso é proporcional ao tamanho do contador). Contadores 
síncronos são mais rápidos porque o estado de todos os 
flip-flops é alterado simultaneamente (é o usado na CPU). 
Exemplos (1/3) 
Exemplos (2/3) 
Exemplos (3/3) 
Circuito → Expressão 
Tabela → Expressão → Circuito

Continue navegando