SISTEMAS DIGITAIS Exercícios Ano Lectivo 2009/2010 Representação de Informação 1. Converta cada um dos seguintes números para o seu equivalente decimal: a) i) 1101110.1012 ii) 10101112 iii) 0.001012 iv) 1011010.10102 b) i) 735.68 ii) 10218 iii) 13.4328 c) i) 1FD.816 ii) A2C116 iii) 1A.B216 2. Converta o número decimal 467.75 para o seu equivalente em cada uma das seguintes bases: a) binário c) octal d) hexadecimal 3. Converta cada um dos seguintes números binários para os seus equivalentes em octal e hexadecimal: a) 1111000010.01 b) 111100101011.110111 c) 10101111101.1 d) 1010101001.011 4. Converta cada um dos seguintes números para binário: a) 3641.18 b) 570.68 c) 12.358 Sistemas Digitais Página 1 de 12 d) 4B6.316 e) 8F3.B16 f) 4D5.6516 5. Exprima cada um dos seguintes números decimais com sinal como números binários de 8 bits, usando as representações em sinal e grandeza, complemento para 1 e complemento para 2: a) +55 b) +123 c) -45 d) -57 e) -88 f) -114 6. Qual o número decimal equivalente a cada um dos seguintes números binários com sinal: a) Representação em sinal e grandeza i) 00010101 ii) 10010111 b) Representação em complemento para 1 i) 01101011 ii) 11011100 c) Representação em complemento para 2 i) 01110111 ii) 11101000 iii) 00101001 iv) 10000000 Aritmética Binária 7. Efectue as seguintes operações: a) 101.011 + 11.1101 b) 1111.01 + 10.011 c) 1011.10 - 10.01 d) 111.11 - 10 e) 101 x 100.01 f) 11001.1 x 101.01 Lógica e Álgebra de Boole 8. Construa a tabela de verdade e o diagrama lógico de cada uma das seguintes funções booleanas: Sistemas Digitais Página 2 de 12 a) F( x, y, z) = ( x. y + z) + x. z b) F( x, y, z) = ( x + y).( x. z + y) c) F( x, y, z, w ) = ( x.( y. z + w ) + x. y. z) d) F(a , b, c) = a.( b + c ).( b. c) e) F(a , b, c, d ) = a.( b + c.( b + d )) 9. Escreva a expressão booleana correspondente a cada um dos seguintes diagramas lógicos: a) u w x y z F y z b) z x y w F z c) a b 10. F c Desenhar o diagrama lógico de cada uma das seguintes expressões booleanas: a) F ( x, y , z , w) = w.( x . y + y .z ) + w.z b) F ( x, y , z ) = ( x + y ) + ( x . y + x. y ) 11. Prove cada um dos seguintes teoremas: a) x.( x + y) = x b) x + y = x. y c) x + x. y = x + y 12. Usando os teoremas da álgebra de Boole, prove as seguintes identidades, partindo da expressão da esquerda e demonstrando que ela é igual à da direita. Sistemas Digitais Página 3 de 12 a) ( x + y).( x + z) = x. z + x. y b) x. z. w + x. z. w + x. y. w = x. w + y. w c) x. y + z. w = ( x + z).( x + w ).( y + z).( y + w ) d) x. y + y. z + x. z = x. y + y. z + x. z e) ( x + y + xy).( x + y). x. y = 0 13. Usando os teoremas da álgebra de Boole simplifique, tanto quanto possível, cada uma das seguintes expressões. a) x. z + x. z + x. y b) x. y. z + x. y. z + x. y. z c) x. z + x. y. z + x. y. z d) (a + b + a. b).(a. b + a. c + b. c) 14. Escreva a forma canónica disjuntiva das funções booleanas correspondentes às seguintes tabelas de verdade: a) 15. b) c) x y z F x y z F x y z w F 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 1 0 0 1 1 1 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 0 1 0 1 1 0 0 1 1 0 1 1 0 0 0 Escreva a forma canónica conjuntiva da função F representada pela tabela e verdade: a) x y z F 0 0 0 0 0 1 0 1 0 0 1 1 Sistemas Digitais 0 1 1 1 1 1 0 0 1 1 1 0 1 0 1 0 0 1 1 1 Página 4 de 12 b) x y z F 0 0 0 0 0 1 0 1 0 0 1 0 0 1 1 1 1 1 0 0 1 1 1 0 1 0 1 1 0 0 1 0 16. Mostrar que x ⊕ y ⊕ z = x. y.z + x. y .z + x . y.z + x . y .z 17. Rescreva a expressão y .( x + z ) + x . y na forma canónica conjuntiva. 18. Rescreva a expressão y .( x + z ) + x . y na forma canónica disjuntiva a) A partir da tabela de verdade b) Usando os teoremas da álgebra de Boole. Mapas de Karnaugh 19. Use um Mapa de Karnaugh para encontrar as expressões mais simples das seguintes funções: a) F(A, B, C) = ∑(0,2,3) b) F(A, B, C) = ∑(1,2,4,6,7 ) c) F(A, B, C) = ∑(0,1,2,3) 20. Repita o problema anterior fazendo com que os números que representam mintermos passem a representar maxtermos. 21. Use um Mapa de Karnaugh para encontrar as expressões mais simples das seguintes funções: a) F(A, B, C, D) = ∏ (0,5,7,13, 14,15) b) F(A, B, C, D) = ∏ (1,4,6,8,1 1,13,14 ) c) F(A, B, C, D) = ∏ (1,2,4,5,7 ,8,10,11,1 3,14 ) 22. Repita o problema anterior fazendo com que os números que representam maxtermos passem a representar mintermos. 23. Simplifique as seguintes funções: a) F(A, B, C, D, E) = ∑ (0,4,8,12, 16,20,24,2 8) b) F(A, B, C, D, E) = ∑ (0,2,5,8,1 3,15,18,21 ,24,29,31) c) F(A, B, C, D, E) = ∑ (3,4,6,9,1 1,13,15,18 ,25,26,27, 29,31) 24. Use um mapa de Karnaugh para simplificar as seguintes funções: a) F(A, B, C, D) = A.B.C + A.D + B.D + C.D + A.C + A. B b) F(A, B, C, D) = (A + B + C ).(B + D ).(A + C).(B + C) c) F(A, B, C, D, E) = A + B.C + C .D.E Sistemas Digitais Página 5 de 12 d) F(A, B, C, D, E) = (A + B).(B + C).(C + D ).(D + E ) 25. Use um mapa de Karnaugh para simplificar as seguintes funções: a) F(A, B, C, D) = ∑ (0,1,4,5,9 ,11,14,15) + d(10,13) b) F(A, B, C, D) = ∑ (0,13,14,1 5) + d(1,2,3,9, 10,11) c) F(A, B, C, D) = ∑ (0,6,9,10, 13) + d(1,3,8) d) F(A, B, C, D) = ∑ (1,4,7,10, 13) + d(5,14,15) e) F(A, B, C, D, E) = ∑ (1,4,6,10, 20,22,24,2 6) + d(0,11,16, 17) Aplicações da Lógica Combinatória 26. Pretende-se um automatismo capaz de realizar a seguinte função: "Um depósito de água é alimentado por uma bomba que tira a água de um poço. O depósito serve para rega e abastecimento de água a uma casa de habitação. Pretende-se que a bomba só entre em funcionamento quando se tira água para rega, e simultaneamente, para a casa de habitação, ou quando a água do depósito não estiver acima de um determinado nível". Projecte o circuito necessário utilizando apenas portas NAND. 27. Determine as expressões soma de produtos simplificadas de um descodificador BCD 7 segmentos, aproveitando a existência de termos para os quais as saídas não são definidas. x0 x1 x2 x3 a b Descodificador BCD 7 Segmentos a f g e g b c d Descodificadores e Multiplexers 28. Projecte um descodificador de 4 linhas recorrendo apenas a portas NAND 29. Implemente a função F utilizando um multiplexer 4-1 Sistemas Digitais x y z 0 0 0 0 1 1 1 1 0 0 1 1 0 1 1 1 0 X 1 X 0 1 1 0 0 0 1 1 0 0 1 1 F Página 6 de 12 30. Implemente a função F utilizando um multiplexer 8-1 F(X,Y,Z) = Σ (0, 1, 5) Dinâmica da Comutação 31. Observando o mapa de Karnaugh que se segue diga, justificando, se existe a possibilidade de ocorrência de erros estáticos. No caso afirmativo identifiqueo(s) e apresente formas de os corrigir. 32. Considere que, no circuito que se segue, todas as portas envolvidas possuem idêntico tempo de atraso δ . Diga, justificando, em que condições se pode verificar um erro estático. Demonstre-o traçando, por isso, o seu diagrama temporal. 33. Admita que um sistema digital é descrito pela seguinte expressão funcional: ⎞ ⎛ ⎞ ⎛ F ( A, B, C , D, E ) = ⎜ B ⋅D ⋅ E ⋅ B ⋅ C ⋅D ⋅ E ⎟ ⋅ ⎜ B ⋅ C ⋅ D ⋅ E ⋅ A ⋅ B ⋅ D ⋅ E ⎟ ⎝ ⎠ ⎝ ⎠ a) Esboce o circuito (utilizando apenas portas NAND de duas entradas). b) Obtenha a expressão anterior na forma canónica dijuntiva. c) Desenhe o mapa de Karnaugh e avalie o sistema quanto à sua robustez. No caso de existirem possíveis situações patológicas apresente soluções. Sistemas Digitais Página 7 de 12 Flip-Flops 34. As formas de onda da figura que se segue comandam um latch RS sincronizado. Inicialmente Q=0. Represente o sinal Q. CLK S R 35. Na figura a palavra de dados a ser armazenada é s=1001. a) Se LOAD for baixa seguida do bordo positivo, a que será igual Q? b) Se LOAD for alta no instante depois do bordo positivo do relógio, a que será igual Q? 36. Para o circuito da figura que se segue o relógio possui uma frequência de 6 MHz. Qual a frequência da saída Q? Este circuito é às vezes chamado de divisor por 2. Explique porquê. +5V J Q K Q CLK 37. Considere a seguinte figura. Sistemas Digitais Página 8 de 12 CLR é considerada baixa temporariamente, depois alta. Desenhe o diagrama de temporização. Se o relógio tiver uma frequência de 1 MHz, qual será a frequência da saída Q? Este é um circuito divisor por 2? Porquê? 38. Considere a seguinte figura: a) Determine a sequência lógica em EP2, EP1 e EP0, partindo da situação EP2=EP1=EP0=0. b) Apresente um circuito sequencial baseado em flip-flops D e circuitos SSI, que realize a sequência que determinou na alínea anterior e que passe ao estado inicial EP2=EP1=EP0=0 sempre que entre num estado que não faça parte da referida sequência. 39. Considere a seguinte figura. a) Indique o valor lógico para as saídas Q3, Q2 e Q1 para os oito primeiros impulsos de clock (após a ligação do circuito). b) Diga o que acontece se o circuito, por qualquer motivo, tomar o valor Q3=0 e Q2=Q1=1. c) Implemente um circuito, baseado em flip-flops do tipo D e em gates que faça o mesmo que o circuito da figura. Contadores 40. Implemente um contador assíncrono que efectue a seguinte sequência de contagem: a) 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 0, 1, ... Sistemas Digitais Página 9 de 12 b) 8, 9, 10, 11, 12, 13, 14, 8, 9, ... c) 7, 6, 5, 4, 3, 7, 6, ... 41. Implemente um contador síncrono, usando flip-flops J-K e as portas que achar conveniente, que efectue a seguinte sequência de contagem: a) 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 0, 1, ... b) 8, 9, 10, 11, 12, 13, 14, 8, 9, ... c) 7, 6, 5, 4, 3, 7, 6, ... Circuitos Sequenciais 42. Seja uma máquina de enchimento de garrafas de gás. Pretende implementar-se um sistema de segurança que só permite que a válvula de enchimento de gás (G) seja aberta depois de colocada nova garrafa. Assim, só se considera que a nova garrafa está colocada se SP1 subir após a subida de SP2. G GÁS SP2 SP1 43. Para testar um circuito digital é necessário disparar o trigger do osciloscópio quando dois sinais (SINAL_1 e SINAL_2) desse circuito vão a 1, tendo o SINAL_1 subido primeiro. O sinal de trigger deverá estar, normalmente, em 1, indo a 0 na situação referida quando ambos em 1. Implemente o esquema que permitirá construir esse circuito. 44. A figura seguinte representa uma máquina de laminar contraplacado de madeira constituída por uma mesa M e por um êmbolo hidráulico E. O operador coloca sobre a mesa M a placa a laminar por pressão da botoneira B. O êmbolo desce por acção da electroválvula Z. Existe uma fotocélula A, correspondente a uma zona de segurança, para impedir a descido do êmbolo Sistemas Digitais Página 10 de 12 enquanto o operador se encontrar nessa zona. Assim, o êmbolo E só pode descer de B for pressionado, desde que A não esteja actuado. Faça o esquema do circuito sequencial de comando, assumindo que todos os sinais são activos a 1. Z E B A M VHDL 45. Construa uma livraria em VHDL onde constem as operações lógicas elementares AND, OR, NOT e as operações NAND, NOR e XOR. O tempo de subida e o tempo de descida deve poder ser programado. Por defeito esse valor deve ser zero. 46. A figura que se segue ilustra o diagrama de um Flip-Flop tipo D, activo ao flanco ascendente, com entrada de RESET assíncrona activa alta. Modele, e simule, o seu comportamento em VHDL. 47. Modele e verifique o comportamento de um latch RS síncrono em VHDL a) Considerando um nível de abstracção de comportamento. b) Considerando o modelo ao nível de portas NOR. 48. Recorrendo ao VHDL modele e simule o comportamento do circuito digital do exercício 38. Para isso, desenvolva o modelo do flip-flop JK com entradas de CLEAR e PRESET. 49. Considere um SWITCH digital com duas portas de entrada, a e b, de 8 bit e uma porta de saída, c, também de um byte. Num dado instante de tempo, e dependendo de uma entrada adicional (sel) uma das seguintes quatro reacções são possíveis: Sistemas Digitais Página 11 de 12 Modele e simule o sistema acima descrito em VHDL. 50. Escreva o código em VHDL que emule o funcionamento da seguinte máquina de estados: PROCESSO A PROCESSO B 51. A máquina de estados que se segue diz respeito ao problema do controlo de uma célula de fabrico que consiste numa linha de engarramento de água (ver acetatos ParteIII, pag.19). Modele a máquina em VHDL e simule o seu comportamento escrevendo, para isso, um “testbench”. Sistemas Digitais Página 12 de 12