Revisão de Circuitos Lógicos MO801/MC912 Conteúdo • • • • • • • • Níveis lógicos Portas lógicas Formas de onda Sinais básicos Elementos de armazenamento Registradores Máquinas de estado Representação de números em binário Dúvidas? • Siga as referências da página – Procure por livros de circuitos lógicos • Entre em contato • Trabalharemos em alto nível, mas os conceitos de circuitos lógicos são muito importantes Níveis Lógicos • Lógica positiva (padrão) – 1 = ligado – 0 = desligado • Analogia x = 1 • Lógica negativa – 0 = ligado – 1 = desligado x = 0 Níveis Lógicos Voltage V DD Logic value 1 V 1,min Undefined V 0,max Logic value 0 V SS (Gnd) Níveis Lógicos - Representações • Uso do terra • Níveis lógicos 1 C Bateria x L Luz L Luz C Bateria x 0 Tri-state • Qual o valor de x? • A luz acende? 1 x 1 x 0 L 0 Níveis lógicos fracos • Quais os valores de x1 e x2? x1 • As lâmpadas acendem? x2 x1 x2 L L Níveis lógicos fortes e fracos • Quais os valores de x1, x2, y1 e y2 x1 x2 • O que acontece ao ligar x1 x2 y1 y2 y1 y2 x1 x2 y1 y2 Portas Lógicas x1 x2 x1 x2 x1 ×x2 ××xn x1 ×x2 xn AND x1 x2 x1 x2 x1 + x2 + + xn x1 + x2 xn s0 s1 OR x 1 x x2 XOR x NOT w0 w1 w2 w3 00 01 10 11 f Multiplexador MUX Formas de Ondas 1 x 1 0 x 1 2 0 A 1 0 B 1 0 f 1 0 Tempo Real Sinais Básicos • Clock – Freqüência – Período – Duty Cycle – Como é calculado? • Reset – Em geral, ativo em nível zero – Síncrono – Assíncrono Clock • Período 1 0 Tempo • É dado pelo caminho crítico do circuito • Circuito síncrono x assíncrono Elementos de Armazenamento Preset Q D Clock Q Flip-Flop D Enable Q Q Latch D Clock Q Q Clear Flip-Flop Registrador de Deslocamento In Clock D Q Q1 D Q Q Q2 D Q Q Q In Q1 Q2 Q3 Q4 = Out t0 1 0 0 0 0 t1 0 1 0 0 0 t2 1 0 1 0 0 t3 1 1 0 1 0 t4 1 1 1 0 1 t5 0 1 1 1 0 t6 0 0 1 1 1 t7 0 0 0 1 1 Q3 D Q Q Q4 Out Registrador de Deslocamento Parallel output Q3 D Q Q Serial input Shift/Load Q2 D Q Q Parallel input Q1 D Q Q Q0 D Q Q Clock Contador (Flip-Flop T) 1 T Clock Q T Q Q T Q Q0 Q Q Q1 Q2 (a) Circuit Clock Q0 Q1 Q2 Count 0 1 2 3 4 5 (b) Timing diagram 6 7 0 Contador Decrescente 1 T Clock Q T Q Q T Q Q0 Q Q Q1 Q2 (a) Circuit Clock Q0 Q1 Q2 Count 0 7 6 5 4 3 (b) Timing diagram 2 1 0 Contador com Enable Enable Clock Clear T Q Q T Q Q T Q Q T Q Q Contador com Flip-Flop D Enable D Q Q0 Q D Q Q1 Q D Q Q2 Q D Q Q3 Q Clock Output carry Contador com Load Enable D0 0 1 D Q Q0 Q D1 0 1 D Q Q1 Q D2 0 1 D Q Q2 Q D3 0 1 D Q Q3 Q Output carry Load Clock Contador Módulo 6 (Reset Assíncrono) 1 T Clock Q Q0 Q T Q Q T Q1 Q Q2 Q (a) Circuit Clock Q0 Q1 Q2 Count 0 1 2 3 4 (b) Timing diagram 5 0 1 2 Conectando um Registrador a um Barramento Bus R 1out D R 2out Q D Q Q D Q R 1in Q D Q Q R 2in Clock R1 Q R2 Usando Multiplexador para Conectar a um Barramento Bus R 1 in R 2 in R1 R2 Clock Data S0 Multiplexers Sj – 1 Rk in Rk Máquinas de Estados • Forma geral de uma máquina de estados W Combinational circuit Clock • Máquina de Moore • Máquina de Mealy Flip-flops Q Combinational circuit Z Máquina de Moore Y1 w y1 Combinational circuit Combinational circuit Y2 Clock y2 z Exemplo de Diagrama de Tempo t0 1 Clock 0 1 w 0 y1 y2 1 0 1 0 z 1 0 t1 t2 t3 t4 t5 t6 t7 t8 t9 t 10 Diagrama de Estados de um Contador w = 0 w = 0 w = 1 A/0 w = 0 w = 1 B/1 w = 0 w = 1 C/2 D/3 w = 1 w = 1 H/7 G/6 w = 1 w = 0 F/5 w = 1 w = 0 E/4 w = 1 w = 0 w = 0 Tabela de Estados de um Contador Next state Present state w= 0 w= 1 A B C D E F G H A B C D E F G H B C D E F G H A Output 0 1 2 3 4 5 6 7 Tabela de Estados de um Contador Present state y2 y1 y0 A B C D E F G H 000 001 010 011 100 101 110 111 Next state w= 0 w= 1 Y2 Y 1 Y 0 Y2 Y 1 Y0 000 001 010 011 100 101 110 111 001 010 011 100 101 110 111 000 Count z2z1z0 000 001 010 011 100 101 110 111 Hazards (glitches) 1 0 0 0 1 1 (a) Static hazard 1 0 0 1 1 0 (b) Dynamic hazard Representação de Números em Binário • Números negativos? – Complemento de 2 • Operações básicas – – – – Soma Subtração Multiplicação Divisão • Deslocamentos – Multiplicação ou divisão por 2 (Problemas?)