Prévia do material em texto
UPEM Núcleo de Pesquisa em Mecatrônica CEFET/RJ campus Nova Iguaçu Sistemas Digitais (GELE1631-GELE1622) Caṕıtulo 3 Descrevendo Circuitos Lógicos Rene Cruz Freire rene.freire@cefet-rj.br Centro Federal de Educação Tecnológica Celso Suckow da Fonseca Campus Nova Iguaçu 8/2023 Sumário Constantes e variáveis booleanas Tabelas-verdade Operação OR (OU) com porta OR Operação AND (E) com porta AND Operação NOT (NÃO) ou inversão Descrevendo circuitos lógicos algebricamente Avaliando as sáıdas dos circuitos lógicos Implementando circuitos a partir de expressões booleanas Portas NOR e portas NAND Teoremas booleanos Teoremas de DeMorgan Universalidade das portas NAND e NOR Simbologia alternativa para portas lógicas Que simbologia de portas lógicas usar Atraso de propagação Lógica booleana ▶ Em 1854, George Boole escreve “Uma Investigação das Leis do Pensamento” ▶ Descrição do modo como decisões lógicas são tomadas com base em circunstâncias verdadeiras ou falsas ▶ O método utilizado por Boole é conhecido hoje como álgebra booleana ▶ Constantes e variáveis podem ter apenas dois valores posśıveis, 0 ou 1 ▶ O ńıvel de tensão de uma variável é denominado ńıvel lógico Lógica booleana ▶ A letra A pode ser utilizada para representar uma entrada ou uma sáıda de um determinado circuito digital ▶ Assim, A = 0 ou A = 1 (e apenas estes dois valores) ▶ Na lógica booleana, não existem: frações, decimais, números negativos, ráızes quadradas, ráızes cúbicas, logaritmos, números imaginários, e assim por diante ▶ A lógica booleana tem apenas três operações básicas: OR (OU), AND (E) e NOT (NÃO) Portas lógicas ▶ As operações que citamos são as chamadas operações lógicas ▶ Os circuitos digitais que implementam tais operações lógicas são denominados portas lógicas ▶ Constrúıdas a partir de diodos, transistores e resistores interconectados de modo que a sáıda do circuito seja o resultado de uma operação lógica básica (OR, AND ou NOT) Definição de tabela-verdade ▶ Descrição (completa) de como as sáıdas de um circuito lógico dependem dos ńıveis lógicos de entrada ▶ Número de linhas igual a 2N , para N entradas ▶ É utilizada a sequencia binária para evitar esquecer alguma combinação Porta lógica OR ▶ A sáıda só é nula quando ambas as entradas forem nulas x = A+ B ▶ O sinal + não representa adição convencional, mas sim a operação OR ▶ Funciona parecido com o + convencional, exceto para A = B = 1, em que 1 + 1 = 1 ̸= 2 ▶ Algo similar ocorre quando temos mais de duas entradas, por exemplo: 1 + 1 + 1 = 1 ▶ Lembre-se de que só existem os valores 0 e 1! Porta lógica OR ▶ Exemplo: lâmpada dentro de um forno ▶ Acende quando: ▶ Interruptor é acionado ou (OR) a porta do forno é aberta ▶ A porta OR tem duas ou mais entradas Resumo da operação lógica OR ▶ A operação OR gera um resultado (sáıda) 1 sempre que quaisquer das entradas for 1. Caso contrário, a sáıda é 0 ▶ Uma porta OR é um circuito lógico que realiza uma operação OR sobre as entradas do circuito ▶ A expressão x = A+ B é lida ‘x é igual a A ou B ’ Exemplo ▶ Em um processo qúımico, pode ser necessário que um alarme seja ativado sempre que a temperatura do processo exceder um valor máximo OU sempre que a pressão ultrapassar certo limite Exemplo ▶ Determinar a sáıda para as entradas A e B dadas na figura Exemplo ▶ Determinar a sáıda para as entradas A e B dadas na figura Exemplo ▶ Determinar a sáıda para as entradas A, B e C na figura Exemplo ▶ Determinar a sáıda para as entradas A, B e C na figura Exemplo ▶ No exemplo anterior, houve um pequeno intervalo de tempo onde a sáıda fica indefinida (não conseguimos prever qual o valor exato), evidenciado pela presença de um spike ou glitch Porta lógica AND ▶ A sáıda só é 1 quando todas as entradas forem 1 x = A · B ▶ O sinal · não representa multiplicação convencional, mas sim a operação AND, porém funciona da mesma forma Porta lógica AND ▶ Exemplo: máquina de lavar roupas ▶ Só funciona quando: ▶ Temporizador acima de zero (E) a porta da máquina está fechada ▶ A porta AND tem duas ou mais entradas Resumo da operação lógica AND ▶ A operação AND gera um resultado (sáıda) 1 somente quando todas as entradas for 1. Caso contrário, a sáıda é 0 ▶ Uma porta AND é um circuito lógico que realiza uma operação AND sobre as entradas do circuito ▶ A expressão x = A · B = AB é lida ‘x é igual a A e B ’ Exemplo ▶ Determinar a sáıda para as entradas A e B dadas na figura Exemplo ▶ Determinar a sáıda para as entradas A e B dadas na figura Exemplo ▶ Determinar a sáıda para as entradas A e B dadas na figura ▶ Circuito inibidor: B funciona como uma entrada de controle. Quando B = 1, temos a habilitação da entrada A Porta lógica NOT ou INVERSOR ▶ Só pode ser realizada sobre uma única variável (entrada única) ▶ A sáıda é o “complementar” da entrada x = A ▶ ‘x é igual a A negado’, ou ‘x é igual ao inverso de A’, ou ‘x é igual ao complemento de A’ Porta lógica NOT ▶ Temos 0 = 1 1 = 0 ▶ Algumas vezes, denotamos A = A′ Exemplo ▶ Indicar se um botão não está pressionado Resumo das operações lógicas AND, OR e NOT ▶ OR 0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 1 ▶ AND 0 · 0 = 0 0 · 1 = 0 1 · 0 = 0 1 · 1 = 1 ▶ NOT 0 = 1 1 = 0 Universalidade das portas OR, AND e INVERSOR ▶ As portas lógicas OR, AND e INVERSOR são os blocos básicos para a implementação de circuitos digitais ▶ Assim, as operações booleanas OR, AND e INVERSÃO permitem descrever qualquer circuito digital Universalidade das portas OR, AND e INVERSOR ▶ As portas lógicas OR, AND e INVERSOR são os blocos básicos para a implementação de circuitos digitais ▶ Assim, as operações booleanas OR, AND e INVERSÃO permitem descrever qualquer circuito digital Precedência das operações e circuitos com inversores ▶ Primeiro AND e depois OR, a menos que parênteses sejam utilizados para modificar esta ordem ▶ Observe a notação com barras abaixo Precedência das operações e circuitos com inversores ▶ Primeiro AND e depois OR, a menos que parênteses sejam utilizados para modificar esta ordem ▶ Observe a notação com barras abaixo Circuitos com inversores Circuitos com inversores Determinação de sáıdas ▶ Considere o caso em que A = 0,B = 1,C = 1 e D = 1 na seguinte expressão: ▶ ABC (A+D) x = ABC (A+D) = 0 · 1 · 1 · (0 + 1) = 1 · 1 · 1 · (1) = 1 · 1 · 1 · 0 = 0 Determinação de sáıdas ▶ Considere o caso em que A = 0,B = 1,C = 1 e D = 1 na seguinte expressão: ▶ ABC (A+D) x = ABC (A+D) = 0 · 1 · 1 · (0 + 1) = 1 · 1 · 1 · (1) = 1 · 1 · 1 · 0 = 0 Determinação de sáıdas ▶ Considere o caso em que A = 0,B = 0,C = 1,D = 1 e E = 1 na seguinte expressão: ▶ [D + (A+ B)C ] · E x = [D + (A+ B)C ] · E = [1 + (0 + 0) · 1] · 1 = [1 + 0 · 1] · 1 = [1 + 0] · 1 = [1 + 1] · 1 = 1 · 1 = 1 Determinação de sáıdas ▶ Considere o caso em que A = 0,B = 0,C = 1,D = 1 e E = 1 na seguinte expressão: ▶ [D + (A+ B)C ] · E x = [D + (A+ B)C ] · E = [1 + (0 + 0) · 1] · 1 = [1 + 0 · 1] · 1 = [1 + 0] · 1 = [1 + 1] · 1 = 1 · 1 = 1 Procedimento para determinação de sáıdas ▶ Primeiro, realize as inversões de termos simples, ou seja 0 = 1 ou 1 = 0 ▶ Em seguida, realize as operações dentro de parênteses ▶ Realize as operações AND antes das operações OR, a menos que os parênteses indiquem o contrário ▶ Se uma expressão tiver uma barra sobre, realize a operação indicada pela expressão e, em seguida, inverta o resultado Análise utilizando tabela-verdade Análise utilizando tabela-verdade Implementação ▶ Suponha que desejamos construir um circuito cuja sáıda seja y = AC + BC +ABC Implementação ▶ Suponha que desejamos construir um circuito cuja sáıda seja y = AC + BC +ABC Implementação ▶ Suponha que desejamosconstruir um circuito cuja sáıda seja y = AC + BC +ABC Exerćıcio 1. Desenhe o diagrama de circuito que implemente x = (A+ B)(B + C ) 2. Desenhe o diagrama de circuito que implemente x = ABC (A+D) 3. Desenhe o diagrama de circuito que implemente x = [D + (A+ B)C ] · E Porta NOR (Não-OU) ▶ Operação NOR: x = A+ B Exemplo ▶ Desenhar a forma de onda de sáıda Exemplo ▶ Desenhar a forma de onda de sáıda Exemplo ▶ Determinar a expressão booleana para uma porta NOR de três entradas seguida de um INVERSOR Exemplo ▶ Determinar a expressão booleana para uma porta NOR de três entradas seguida de um INVERSOR Porta NAND (Não-AND) ▶ Operação NAND: x = A · B Exemplo ▶ Desenhar a forma de onda de sáıda Exemplo ▶ Desenhar a forma de onda de sáıda Exemplo ▶ Implementar um circuito lógico que tem como expressão x = AB · (C +D) usando apenas portas NOR e NAND Exemplo ▶ Implementar um circuito lógico que tem como expressão x = AB · (C +D) usando apenas portas NOR e NAND Exerćıcio 1. Qual é o único conjunto de condições de entrada que produz uma sáıda ńıvel ALTO em uma porta NOR de três entradas? 2. Troque a porta NOR da figura anterior por uma porta NAND e vice-versa. Qual é a nova expressão para x? Teoremas para uma única variável Teoremas para uma única variável ▶ Nos teoremas anteriores, x pode ser uma expressão ▶ Exemplo de aplicação do teorema (4) em uma expressão: ▶ AB(AB) = xx = 0, onde x = AB Teoremas para mais de uma variável (9) x + y = y + x (10) x · y = y · x (11) x + (y + z ) = (x + y) + z = x + y + z (12) x · (y · z ) = (x · y) · z = x · y · z (13a) x (y + z ) = xy + xz (13b) (w + x )(y + z ) = wy + xy + wz + xz (14) x + xy = x (15a) x + xy = x + y (15b) x + xy = x + y Exemplos ▶ Simplifique a expressão y = ABD +AB D ▶ Simplifique a expressão z = (A+ B)(A+ B) ▶ Simplifique a expressão x = ACD +ABCD ▶ Simplifique a expressão s = XYZW +XYZ W ▶ Simplifique a expressão s = (A+AC )B +AB Exerćıcios ▶ Simplifique a expressão y = AC +ABC ▶ Simplifique a expressão y = ABCD +AB C D ▶ Simplifique a expressão x = AD +ABD Teoremas para mais de uma variável (continuação) (16) (x + y) = x · y (17) (x · y) = x + y Observe que o teorema DeMorgan permite a troca de portas NOR por portas AND (com as entradas negadas). Assim como portas NAND por portas OR com as entradas negadas! Teoremas para mais de uma variável (continuação) ▶ Para três entradas, por exemplo, teŕıamos x + y + z = x · y · z x · y · z = x + y + z ▶ Também aplicáveis em expressões, e.g. (AB + C ) = (AB) · C = (A+ B) · C = (A+ B) · C = AC + BC Implicações dos teoremas de DeMorgan Exemplos ▶ Simplifique a expressão z = (A+ C ) · (B +D) para que tenha apenas operações AND, OR e NOT ▶ Simplifique a expressão z = A+ B · C para que tenha apenas operações AND, OR e NOT ▶ Simplifique a expressão z = (A+ BC ) · (D + EF ) para que tenha apenas operações AND, OR e NOT ▶ Simplifique a expressão z = (X Y +XZ ) (X +Y Z ) para que tenha apenas operações AND, OR e NOT Exerćıcios 1. Simplifique a expressão z = (A+ B) · (C ) para que tenha apenas operações AND, OR e NOT 2. Simplifique a expressão z = RST +Q para que tenha apenas operações AND, OR e NOT 3. Simplifique a expressão z = A+ B + CD para que tenha apenas operações AND, OR e NOT 4. Implemente um circuito que tem como expressão de sáıda z = ABC usando apenas uma porta NOR e um INVERSOR Exerćıcio 1. Determine a expressão de sáıda do circuito abaixo e simplifique-a usando os teoremas de DeMorgan Exerćıcio 1. Determine a expressão de sáıda do circuito abaixo e simplifique-a usando os teoremas de DeMorgan Portas NAND para implementar qualquer operação booleana básica Portas NOR para implementar qualquer operação booleana básica Exemplo Em um processo de fabricação, uma esteira de transporte deve ser desligada sempre que determinadas condições ocorrerem. Essas condições são monitoradas e têm seus estados sinalizados por quatro sinais lógicos: ▶ o A será ALTO sempre que a velocidade da esteira de transporte for muito alta; ▶ o B será ALTO sempre que o recepiente localizado no final da esteira estiver cheio; ▶ o C será ALTO sempre que a tensão na esteira for muito alta; ▶ o D será ALTO sempre que o comando manual estiver desabilitado. Um circuito lógico é necessário para gera um sinal x que será ALTO sempre que as condições A e B ou C e D ocorrerem, ou seja, x = AB + CD . Deseja-se implementar o circuito com um número mı́nimo de CIs. Exemplo (continuação) Exemplo (continuação) Exemplo (continuação) Exerćıcios 1. Quantas formas diferentes temos agora para implementar a operação de inversão em um circuito lógico? 2. Implemente a expressão x = (A+ B)(C +D) usando portas OR e AND. Em seguida, implemente usando apenas portas NOR. Qual dos circuitos é mais eficiente? Śımbolos-padrão e śımbolos alternativos Śımbolos-padrão e śımbolos alternativos ▶ As equivalências podem ser estendidas para portas com qualquer número de entradas ▶ Nenhum dos śımbolos-padrão tem pequenos ćırculos em suas entradas, mas todos os alternativos os têm ▶ Os śımbolos-padrão e os śımbolos alternativos para cada porta representam o mesmo circuito f́ısico Interpretação de śımbolos lógicos ▶ Linha de entrada/sáıda de um circuito lógico sem um pequeno ćırculo ▶ Ativa em ńıvel lógico alto, ou simplesmente, ativa-em-alto ▶ Linha de entrada/sáıda de um circuito lógico com um pequeno ćırculo ▶ Ativa em ńıvel lógico baixo, ou simplesmente, ativa-em-baixo Interpretação de śımbolos lógicos ▶ Para interpretar a operação de uma porta lógica ▶ Observe qual estado lógico (0 ou 1) é o ativo para as entradas e para as sáıdas ▶ Identifique qual estado de sáıda é gerado quando todas as entradas estão em seu estado ativo (AND) ▶ Identifique qual estado de sáıda é gerado quando quaisquer as entradas estão em seu estado ativo (OR) Exemplo Descreva a interpretação dos dois śımbolos para a porta OR Qual diagrama de circuito deve ser usado? ▶ A sáıda será utilizada para ativar algo quando for 1? ▶ Usar ativa-em-alto ▶ Sempre que posśıvel escolha os śımbolos de portas para que os pequenos ćırculos nas sáıdas sejam conectados a pequenos ćırculos nas entradas ▶ Sempre que posśıvel escolha os śımbolos de portas para que as sáıdas sem ćırculos sejam conectadas a entradas sem ćırculos Exemplo O circuito lógico da figura está sendo utilizado para ativar um alarme quando a sáıda Z for para ńıvel ALTO Exemplo O circuito lógico da figura está sendo utilizado para ativar um outro circuito lógico quando a sáıda Z for para ńıvel BAIXO. Modifique o diagrama de circuito para representar mais efetivamente sua operação Exerćıcio O circuito lógico da figura gera uma sáıda MEM usada para ativar CIs de memória em um determinado microcomputador. Determine as condições necessárias para ativar MEM Nomenclatura ▶ Acionado = ativo ▶ Não acionado = inativo ▶ Sinais ativos em ńıvel BAIXO geralmente são denotados com uma barra sobre o nome ▶ RD ,ROM−A,ROM−B ,RAM ,MEM ▶ Pode ser que sinais de sáıda tenham duas importantes funções, tanto no estado ALTO como BAIXO ▶ É comum nomear os dois estados ▶ read/write, RD/WR Atraso ▶ O atraso de propagação é o tempo necessário para um sistema produzir uma sáıda válida após receber uma entrada válida ▶ Transições entre ńıveis não são verticais (instantâneas) ▶ Podemos, por convenção, medir o atraso entre os valores de 50% de entrada e 50% de sáıda ▶ O tempo necessário para ir de ALTO para BAIXO, tPHL, não precisa ser igual ao tempo de propagação de BAIXO para ALTO, tPLH ▶ A velocidade de um circuito lógico está relacionada com o atraso de propagação ▶ Informações sobre os atrasos de propagação podem ser encontradasnos datasheets dos dispositivos utilizados Atraso Exemplo As seguintes expressões descrevem o modo como um circuito lógico precisa operar a fim de acionar um indicador de alerta de cinto de segurança em um carro: “Se o motorista estiver presente E NÃO estiver usando cinto E a ignição estiver acionada, ENTÃO acenda a luz de advertência” Descreva o circuito usando lógica booleana, diagramas de śımbolos lógicos, tabelas-verdade e diagramas de tempo Exemplo (continuação) Exemplo (continuação) Exerćıcios - Caṕıtulo 3 ▶ Operações OR com porta OR - 3.2, 3.4; ▶ Operações AND com porta AND - 3.6; ▶ Operação NOT, Descrevendo Circuitos Lógicos Algebricamente e Avaliando as Sáıdas dos Circuitos Lógicos - 3.12 (b); ▶ Implementando Circuitos a Partir de Expressôes Booleanas - 3.16; ▶ Portas NOR e NAND - 3.19; ▶ Teoremas de DeMorgan e Universalidade das portas NAND e NOR - 3.25, 3.28, 3.29, 3.31, 3.32; ▶ Simbologia Alternativa para Portas Lógicas e Que Simbologia de Porta Lógica Utilizar - 3.35. Sumário Constantes e variáveis booleanas Tabelas-verdade Operação OR (OU) com porta OR Operação AND (E) com porta AND Operação NOT (NÃO) ou inversão Descrevendo circuitos lógicos algebricamente Avaliando as saídas dos circuitos lógicos Implementando circuitos a partir de expressões booleanas Portas NOR e portas NAND Teoremas booleanos Teoremas de DeMorgan Universalidade das portas NAND e NOR Simbologia alternativa para portas lógicas Que simbologia de portas lógicas usar Atraso de propagação