Aula 14: Aplicações de Flip-flops
Transcription
Aula 14: Aplicações de Flip-flops
Aula 14: Aplicações de Flip-flops Circuitos Digitais Rodrigo Hausen CMCC – UFABC 15 de março de 2013 http://compscinet.org/circuitos Rodrigo Hausen (CMCC – UFABC) Aula 14: Aplicações de Flip-flops 15 de março de 2013 1 / 24 Relembrando: Flip-flop S-R Flip-flop S-R sensível à borda de descida do clock (borda negativa) S Ck R S Q S En En R R Q S 0 0 1 1 Rodrigo Hausen (CMCC – UFABC) R 0 1 0 1 Ck ? 1→0 1→0 1→0 Q Q Q Q Qi Qi−1 0 1 X Q S = Ck R Q (mantem Q) (reset Q) (set Q) (proibido) Aula 14: Aplicações de Flip-flops 15 de março de 2013 2 / 24 Relembrando: Flip-flop S-R Flip-flop S-R sensível à borda de subida do clock (borda positiva) S S Ck En En R R R Q S Q S 0 0 1 1 Rodrigo Hausen (CMCC – UFABC) R 0 1 0 1 Ck ? 0→1 0→1 0→1 Q Q Qi Qi−1 0 1 X Q Q Q S = Ck R Q (mantem Q) (reset Q) (set Q) (proibido) Aula 14: Aplicações de Flip-flops 15 de março de 2013 3 / 24 Relembrando: Flip-flop D Flip-flop D sensível à borda de descida. D Q S Ck Ck D 0 1 R Q Ck 1→0 1→0 Qi 0 1 Rodrigo Hausen (CMCC – UFABC) = Q D Ck Q (reset = armazena 0) (set = armazena 1) Aula 14: Aplicações de Flip-flops 15 de março de 2013 4 / 24 Relembrando: Flip-flop J-K J Ck K Q = J K Ck Qi Qi 0 0 1 1 0 1 0 1 ? 1→0 1→0 1→0 Qi−1 0 1 Qi−1 Qi−1 1 0 Qi−1 Rodrigo Hausen (CMCC – UFABC) Q J Q Ck K Q (mantem) (kill = reset) (jump = set) (inverte) Aula 14: Aplicações de Flip-flops 15 de março de 2013 5 / 24 Flip-flops: Aplicações Contador de 3 bits: '1' '1' Q J Ck '1' K Q a0 Rodrigo Hausen (CMCC – UFABC) Q J Ck Ck K Q J Ck K Q Q a1 Aula 14: Aplicações de Flip-flops a2 15 de março de 2013 6 / 24 Flip-flops: Aplicações Problema: Faça um contador de 0 até 5. Rodrigo Hausen (CMCC – UFABC) Aula 14: Aplicações de Flip-flops 15 de março de 2013 7 / 24 Flip-flops: Aplicações Problema: Faça um contador de 0 até 5. Estados de a2 , a1 , a0 , respectivamente: 000, 001, 010, 011, 100, 101, 000, . . . Rodrigo Hausen (CMCC – UFABC) Aula 14: Aplicações de Flip-flops 15 de março de 2013 7 / 24 Flip-flops: Aplicações Problema: Faça um contador de 0 até 5. Estados de a2 , a1 , a0 , respectivamente: 000, 001, 010, 011, 100, 101, 000, . . . Como fazer com que todas as saídas Q dos flip-flops J-K tornem-se 0 antes da transição 111→000 dos estados das saídas? Rodrigo Hausen (CMCC – UFABC) Aula 14: Aplicações de Flip-flops 15 de março de 2013 7 / 24 Flip-flops: Aplicações Problema: Faça um contador de 0 até 5. Estados de a2 , a1 , a0 , respectivamente: 000, 001, 010, 011, 100, 101, 000, . . . Como fazer com que todas as saídas Q dos flip-flops J-K tornem-se 0 antes da transição 111→000 dos estados das saídas? Precisamos alterar o flip-flop J-K para que possamos zerar Q independentemente de detectarmos uma borda do clock. Para isso, precisamos voltar ao latch S-R com enable. Rodrigo Hausen (CMCC – UFABC) Aula 14: Aplicações de Flip-flops 15 de março de 2013 7 / 24 Latch S-R com Enable, Preset e Clear Problema: latch S-R só responde às entradas S e R quando En = 1. Queremos poder fazer reset e set, independentemente do estado de En. S Q En Q R Rodrigo Hausen (CMCC – UFABC) Aula 14: Aplicações de Flip-flops 15 de março de 2013 8 / 24 Latch S-R com Enable, Preset e Clear Problema: latch S-R só responde às entradas S e R quando En = 1. Queremos poder fazer reset e set, independentemente do estado de En. PRE S Q En Q R CLR Solução: adicione duas entradas ativas em nível baixo, PRE e CLR, às portas NAND das saídas. Rodrigo Hausen (CMCC – UFABC) Aula 14: Aplicações de Flip-flops 15 de março de 2013 8 / 24 Latch S-R com Enable, Preset e Clear Comportamento do Latch S-R com Enable, Preset e Clear: PRE S Q En Q R CLR Rodrigo Hausen (CMCC – UFABC) Aula 14: Aplicações de Flip-flops 15 de março de 2013 9 / 24 Latch S-R com Enable, Preset e Clear Comportamento do Latch S-R com Enable, Preset e Clear: quando PRE = 1 e CLR = 1, idêntico ao latch S-R com enable; 1 S Q En Q R 1 Rodrigo Hausen (CMCC – UFABC) Aula 14: Aplicações de Flip-flops 15 de março de 2013 9 / 24 Latch S-R com Enable, Preset e Clear Comportamento do Latch S-R com Enable, Preset e Clear: quando PRE = 1 e CLR = 1, idêntico ao latch S-R com enable; quando PRE = 1 e CLR = 0, ocorre reset (Q = 0); 1 S 0 En 1 R 0 Rodrigo Hausen (CMCC – UFABC) Aula 14: Aplicações de Flip-flops 15 de março de 2013 9 / 24 Latch S-R com Enable, Preset e Clear Comportamento do Latch S-R com Enable, Preset e Clear: quando PRE = 1 e CLR = 1, idêntico ao latch S-R com enable; quando PRE = 1 e CLR = 0, ocorre reset (Q = 0); quando PRE = 0 e CLR = 1, ocorre set (Q = 1); 0 S 1 En 0 R 1 Rodrigo Hausen (CMCC – UFABC) Aula 14: Aplicações de Flip-flops 15 de março de 2013 9 / 24 Latch S-R com Enable, Preset e Clear Comportamento do Latch S-R com Enable, Preset e Clear: quando PRE = 1 e CLR = 1, idêntico ao latch S-R com enable; quando PRE = 1 e CLR = 0, ocorre reset (Q = 0); quando PRE = 0 e CLR = 1, ocorre set (Q = 1); é proibido PRE = 0 e CLR = 0 PRE S Q En Q R CLR Rodrigo Hausen (CMCC – UFABC) Aula 14: Aplicações de Flip-flops 15 de março de 2013 9 / 24 Latch S-R com Enable, Preset e Clear Comportamento do Latch S-R com Enable, Preset e Clear: quando PRE = 1 e CLR = 1, idêntico ao latch S-R com enable; quando PRE = 1 e CLR = 0, ocorre reset (Q = 0); quando PRE = 0 e CLR = 1, ocorre set (Q = 1); é proibido PRE = 0 e CLR = 0 PRE S Q = En Q R CLR Rodrigo Hausen (CMCC – UFABC) Aula 14: Aplicações de Flip-flops 15 de março de 2013 9 / 24 Latch S-R com Enable, Preset e Clear Comportamento do Latch S-R com Enable, Preset e Clear: quando PRE = 1 e CLR = 1, idêntico ao latch S-R com enable; quando PRE = 1 e CLR = 0, ocorre reset (Q = 0); quando PRE = 0 e CLR = 1, ocorre set (Q = 1); é proibido PRE = 0 e CLR = 0 PRE S Q S = En Q R PRE Q En R CLR Q CLR Rodrigo Hausen (CMCC – UFABC) Aula 14: Aplicações de Flip-flops 15 de março de 2013 9 / 24 Entradas assíncronas: Preset e Clear Usando latches S-R com Enable, Preset e Clear, é possível fazer flip-flops S-R, D e J-K com entradas Preset e Clear ativas em nível baixo. As entradas PRE e CLR são ditas assíncronas pois elas interferem no funcionamento dos flip-flops independentemente do clock (ao contrário das demais entradas, que só afetam o flip-flop em uma das bordas do clock) S PRE Q Ck R CLR D PRE Q J Ck Q Rodrigo Hausen (CMCC – UFABC) CLR PRE Q Ck Q Aula 14: Aplicações de Flip-flops K CLR Q 15 de março de 2013 10 / 24 Voltando ao contador Voltando ao problema original: fazer um contador de 0 até 5. Contador de 3 bits (conta de 0 a 7): 000 → 001 → 010 → 011 → 100 → 101 → 110 → 111 6 Rodrigo Hausen (CMCC – UFABC) Aula 14: Aplicações de Flip-flops 15 de março de 2013 11 / 24 Voltando ao contador Voltando ao problema original: fazer um contador de 0 até 5. Contador de 3 bits (conta de 0 a 7): 000 → 001 → 010 → 011 → 100 → 101 → 110 → 111 6 Como evitar a transição 101 → 110, transformando-a em 101 → 000? 000 → 001 → 010 → 011 → 100 → 101 → 110 → 111 6 Rodrigo Hausen (CMCC – UFABC) Aula 14: Aplicações de Flip-flops 15 de março de 2013 11 / 24 Voltando ao contador Voltando ao problema original: fazer um contador de 0 até 5. Contador de 3 bits (conta de 0 a 7): 000 → 001 → 010 → 011 → 100 → 101 → 110 → 111 6 Como evitar a transição 101 → 110, transformando-a em 101 → 000? 000 → 001 → 010 → 011 → 100 → 101 → 110 → 111 6 Idéia: fazer reset dos flip-flops do contador assim que a contagem for excedida! Rodrigo Hausen (CMCC – UFABC) Aula 14: Aplicações de Flip-flops 15 de março de 2013 11 / 24 Voltando ao contador Voltando ao problema original: fazer um contador de 0 até 5. Contador de 3 bits (conta de 0 a 7): 000 → 001 → 010 → 011 → 100 → 101 → 110 → 111 6 Como evitar a transição 101 → 110, transformando-a em 101 → 000? 000 → 001 → 010 → 011 → 100 → 101 → 110 → 111 6 Idéia: fazer reset dos flip-flops do contador assim que a contagem for excedida! Isto acontece quando chegamos em 5 + 1 = (110)2 Rodrigo Hausen (CMCC – UFABC) Aula 14: Aplicações de Flip-flops 15 de março de 2013 11 / 24 Voltando ao contador Agora, o problema é detectar, por meio de um sinal ativo de nível baixo, quando (a2 a1 a0 )2 = (110)2 Rodrigo Hausen (CMCC – UFABC) Aula 14: Aplicações de Flip-flops 15 de março de 2013 12 / 24 Voltando ao contador Agora, o problema é detectar, por meio de um sinal ativo de nível baixo, quando (a2 a1 a0 )2 = (110)2 Detecção por nível alto: a2 a1 a0 Rodrigo Hausen (CMCC – UFABC) Aula 14: Aplicações de Flip-flops 15 de março de 2013 12 / 24 Voltando ao contador Agora, o problema é detectar, por meio de um sinal ativo de nível baixo, quando (a2 a1 a0 )2 = (110)2 Detecção por nível alto: a2 a1 a0 Detecção por nível baixo: a2 a1 a0 Rodrigo Hausen (CMCC – UFABC) Aula 14: Aplicações de Flip-flops 15 de março de 2013 12 / 24 Voltando ao contador Agora, o problema é detectar, por meio de um sinal ativo de nível baixo, quando (a2 a1 a0 )2 = (110)2 Detecção por nível alto: a2 a1 a0 Detecção por nível baixo: a2 a1 a0 '1' '1' J Ck PRE Q '1' J CLR Q J K Q a0 Rodrigo Hausen (CMCC – UFABC) CLR PRE Q Ck Ck Ck K PRE K Q a1 Aula 14: Aplicações de Flip-flops CLR Q a2 15 de março de 2013 12 / 24 Voltando ao contador Agora, o problema é detectar, por meio de um sinal ativo de nível baixo, quando (a2 a1 a0 )2 = (110)2 Detecção por nível alto: a2 a1 a0 Detecção por nível baixo: a2 a1 a0 '1' '1' J Ck PRE Q J CLR PRE Q J K Q a0 Rodrigo Hausen (CMCC – UFABC) CLR PRE Q Ck Ck Ck K detector 6 = (110)2 '1' K Q a1 Aula 14: Aplicações de Flip-flops CLR Q a2 15 de março de 2013 12 / 24 Contador módulo m Contador módulo m: circuito digital com uma entrada de clock que conta de 0 até m − 1. Exemplo: contador módulo 6, que conta de 0 a 5. '1' '1' J Ck PRE Q J CLR PRE Q J K Q a0 Rodrigo Hausen (CMCC – UFABC) CLR PRE Q Ck Ck Ck K detector 6 = (110)2 '1' K Q a1 Aula 14: Aplicações de Flip-flops CLR Q a2 15 de março de 2013 13 / 24 Flip-flops: Aplicações Faça o diagrama de forma de onda para o circuito abaixo e diga o que ele faz. '1' '1' Q J Ck '1' K Q a0 Q J Ck Ck K Q J Ck K Q Q a1 a2 (Solução na lousa) Rodrigo Hausen (CMCC – UFABC) Aula 14: Aplicações de Flip-flops 15 de março de 2013 14 / 24 Flip-flops: Aplicações Faça o diagrama de forma de onda para o circuito abaixo e diga o que ele faz. '1' '1' Q J Ck '1' Q K Q J Ck Ck K Q J Ck Q K Q a0 a1 a2 (Solução na lousa) É um contador regressivo para 3 bits: 111, 110, 101, . . . , 001, 000, 111, . . . Rodrigo Hausen (CMCC – UFABC) Aula 14: Aplicações de Flip-flops 15 de março de 2013 14 / 24 Flip-flops: Aplicações Faça o diagrama de forma de onda para o circuito abaixo e diga o que ele faz (entrada: Ck, saída: Q) Q D Ck Q Ck Q (Solução na lousa) Rodrigo Hausen (CMCC – UFABC) Aula 14: Aplicações de Flip-flops 15 de março de 2013 15 / 24 Flip-flops: Aplicações Faça o diagrama de forma de onda para o circuito abaixo e diga o que ele faz (entrada: Ck, saída: Q) Q D Ck Q Ck Q (Solução na lousa) Funciona como um flip-flop J-K com as entradas J = 1 e K = 1, ou seja, inverte a saída a cada borda de descida do clock. Rodrigo Hausen (CMCC – UFABC) Aula 14: Aplicações de Flip-flops 15 de março de 2013 15 / 24 Flip-flops: Aplicações Faça o diagrama de forma de onda para o circuito abaixo e diga o que ele faz (entrada: Ck, saídas: a2 , a1 , a0 ) Q D Ck Q D Ck Ck Q Ck Q a0 Q D Q a1 a2 (Solução na lousa) Rodrigo Hausen (CMCC – UFABC) Aula 14: Aplicações de Flip-flops 15 de março de 2013 16 / 24 Flip-flops: Aplicações Faça o diagrama de forma de onda para o circuito abaixo e diga o que ele faz (entrada: Ck, saídas: a2 , a1 , a0 ) Q D Ck Q D Ck Ck Q Ck Q a0 Q D Q a1 a2 (Solução na lousa) Outra maneira de implementar um contador de 3 bits. Rodrigo Hausen (CMCC – UFABC) Aula 14: Aplicações de Flip-flops 15 de março de 2013 16 / 24 Flip-flops: Aplicações Registrador síncrono: só atualiza o dado na borda de descida do clock. Possui uma entrada CLR, ativa em nível baixo. Entrada de dados D Q Ck CLR D Q Ck Q CLR D Q Ck Q CLR D Q Ck Q CLR Q Ck CLR Saída de dados Rodrigo Hausen (CMCC – UFABC) Aula 14: Aplicações de Flip-flops 15 de março de 2013 17 / 24 Flip-flops: Aplicações Registrador síncrono: só atualiza o dado na borda de descida do clock. Possui uma entrada CLR, ativa em nível baixo. Entrada de dados D Q Ck CLR D Q D Ck Q CLR Q Ck Q CLR D Q Ck Q CLR Q Ck CLR Saída de dados = Rodrigo Hausen (CMCC – UFABC) Aula 14: Aplicações de Flip-flops 15 de março de 2013 17 / 24 Flip-flops: Aplicações Registrador síncrono: só atualiza o dado na borda de descida do clock. Possui uma entrada CLR, ativa em nível baixo. Entrada de dados D Q Ck CLR D Q D Ck Q CLR Q Ck Q CLR D Q Ck Q CLR Q Ck CLR Saída de dados Entrada = Ck CLR Registrador 4 bits Saída Rodrigo Hausen (CMCC – UFABC) Aula 14: Aplicações de Flip-flops 15 de março de 2013 17 / 24 Flip-flops: Aplicações O que faz o circuito abaixo? (Entrada: Ck, Saídas: a3 , a2 , a1 , a0 ) Ck Ck a3 a2 a1 a0 Entrada Registrador 4 bits Saída '0 0 0 0' Somador completo c in 4 bits Rodrigo Hausen (CMCC – UFABC) '1' Aula 14: Aplicações de Flip-flops 15 de março de 2013 18 / 24 Flip-flops: Aplicações O que faz o circuito abaixo? (Entrada: Ck, Saídas: a3 , a2 , a1 , a0 ) Ck Ck a3 a2 a1 a0 Entrada Contador de 4 bits Registrador 4 bits Saída '0 0 0 0' Somador completo c in 4 bits Rodrigo Hausen (CMCC – UFABC) '1' Aula 14: Aplicações de Flip-flops 15 de março de 2013 18 / 24 Flip-flops: Aplicações O que faz o circuito abaixo? (Entrada: Ck, Saídas: a3 , a2 , a1 , a0 ) Ck Ck a3 a2 a1 a0 Entrada Contador de 4 bits Registrador 4 bits Saída '0 0 0 0' Somador completo c in 4 bits Rodrigo Hausen (CMCC – UFABC) '1' Aula 14: Aplicações de Flip-flops Diferentemente dos anteriores, este contador é síncrono: todas as saídas são sincronizadas 15 de março de 2013 18 / 24 Projeto de contadores síncronos ... Modelo geral de um contador síncrono: ... Ck Entrada de dados ... Saída de dados saída próx. estado Registrador n bits ... ... entrada estado atual Ck Circuito combinacional para o cálculo do próximo estado an-1 an-2 ...a 1 a 0 Rodrigo Hausen (CMCC – UFABC) Aula 14: Aplicações de Flip-flops 15 de março de 2013 19 / 24 Projeto de contadores síncronos Exemplo: projetar um contador de código Gray. Passo Zero: Fazer o diagrama de estados. 000 100 001 101 011 010 111 110 Cada transição é feita em uma borda de descida do clock. Rodrigo Hausen (CMCC – UFABC) Aula 14: Aplicações de Flip-flops 15 de março de 2013 20 / 24 Projeto de contadores síncronos Passo Um: Obter e simplificar as expressões para cada uma das saídas do circuito combinacional para o próximo estado. atual a 2 a 1 a0 0 0 0 próximo A2 A1 A0 Rodrigo Hausen (CMCC – UFABC) Aula 14: Aplicações de Flip-flops 15 de março de 2013 21 / 24 Projeto de contadores síncronos Passo Um: Obter e simplificar as expressões para cada uma das saídas do circuito combinacional para o próximo estado. atual a 2 a 1 a0 0 0 0 próximo A2 A1 A0 0 0 1 Rodrigo Hausen (CMCC – UFABC) Aula 14: Aplicações de Flip-flops 15 de março de 2013 21 / 24 Projeto de contadores síncronos Passo Um: Obter e simplificar as expressões para cada uma das saídas do circuito combinacional para o próximo estado. atual a 2 a 1 a0 0 0 0 0 0 1 próximo A2 A1 A0 0 0 1 Rodrigo Hausen (CMCC – UFABC) Aula 14: Aplicações de Flip-flops 15 de março de 2013 21 / 24 Projeto de contadores síncronos Passo Um: Obter e simplificar as expressões para cada uma das saídas do circuito combinacional para o próximo estado. atual a 2 a 1 a0 0 0 0 0 0 1 próximo A2 A1 A0 0 0 1 0 1 1 Rodrigo Hausen (CMCC – UFABC) Aula 14: Aplicações de Flip-flops 15 de março de 2013 21 / 24 Projeto de contadores síncronos Passo Um: Obter e simplificar as expressões para cada uma das saídas do circuito combinacional para o próximo estado. a2 0 0 0 atual a1 0 0 1 a0 0 1 1 próximo A2 A1 A0 0 0 1 0 1 1 Rodrigo Hausen (CMCC – UFABC) Aula 14: Aplicações de Flip-flops 15 de março de 2013 21 / 24 Projeto de contadores síncronos Passo Um: Obter e simplificar as expressões para cada uma das saídas do circuito combinacional para o próximo estado. a2 0 0 0 atual a1 0 0 1 a0 0 1 1 próximo A2 A1 A0 0 0 1 0 1 1 0 1 0 Rodrigo Hausen (CMCC – UFABC) Aula 14: Aplicações de Flip-flops 15 de março de 2013 21 / 24 Projeto de contadores síncronos Passo Um: Obter e simplificar as expressões para cada uma das saídas do circuito combinacional para o próximo estado. a2 0 0 0 0 atual a1 0 0 1 1 a0 0 1 1 0 próximo A2 A1 A0 0 0 1 0 1 1 0 1 0 1 1 0 Rodrigo Hausen (CMCC – UFABC) Aula 14: Aplicações de Flip-flops 15 de março de 2013 21 / 24 Projeto de contadores síncronos Passo Um: Obter e simplificar as expressões para cada uma das saídas do circuito combinacional para o próximo estado. a2 0 0 0 0 1 atual a1 0 0 1 1 1 a0 0 1 1 0 0 próximo A2 A1 A0 0 0 1 0 1 1 0 1 0 1 1 0 1 1 1 Rodrigo Hausen (CMCC – UFABC) Aula 14: Aplicações de Flip-flops 15 de março de 2013 21 / 24 Projeto de contadores síncronos Passo Um: Obter e simplificar as expressões para cada uma das saídas do circuito combinacional para o próximo estado. a2 0 0 0 0 1 1 atual a1 0 0 1 1 1 1 a0 0 1 1 0 0 1 próximo A2 A1 A0 0 0 1 0 1 1 0 1 0 1 1 0 1 1 1 1 0 1 Rodrigo Hausen (CMCC – UFABC) Aula 14: Aplicações de Flip-flops 15 de março de 2013 21 / 24 Projeto de contadores síncronos Passo Um: Obter e simplificar as expressões para cada uma das saídas do circuito combinacional para o próximo estado. a2 0 0 0 0 1 1 1 atual a1 0 0 1 1 1 1 0 a0 0 1 1 0 0 1 1 próximo A2 A1 A0 0 0 1 0 1 1 0 1 0 1 1 0 1 1 1 1 0 1 1 0 0 Rodrigo Hausen (CMCC – UFABC) Aula 14: Aplicações de Flip-flops 15 de março de 2013 21 / 24 Projeto de contadores síncronos Passo Um: Obter e simplificar as expressões para cada uma das saídas do circuito combinacional para o próximo estado. a2 0 0 0 0 1 1 1 1 atual a1 0 0 1 1 1 1 0 0 a0 0 1 1 0 0 1 1 0 próximo A2 A1 A0 0 0 1 0 1 1 0 1 0 1 1 0 1 1 1 1 0 1 1 0 0 0 0 0 Rodrigo Hausen (CMCC – UFABC) Aula 14: Aplicações de Flip-flops 15 de março de 2013 21 / 24 Projeto de contadores síncronos Passo Um: Obter e simplificar as expressões para cada uma das saídas do circuito combinacional para o próximo estado. a2 0 0 0 0 1 1 1 1 atual a1 0 0 1 1 1 1 0 0 a0 0 1 1 0 0 1 1 0 próximo A2 A1 A0 0 0 1 0 1 1 0 1 0 1 1 0 1 1 1 1 0 1 1 0 0 0 0 0 Rodrigo Hausen (CMCC – UFABC) Para casa: faça o mapa de Karnaugh para cada saída. Você obterá: A0 = a1 a2 + a1 a2 Aula 14: Aplicações de Flip-flops 15 de março de 2013 21 / 24 Projeto de contadores síncronos Passo Um: Obter e simplificar as expressões para cada uma das saídas do circuito combinacional para o próximo estado. a2 0 0 0 0 1 1 1 1 atual a1 0 0 1 1 1 1 0 0 a0 0 1 1 0 0 1 1 0 próximo A2 A1 A0 0 0 1 0 1 1 0 1 0 1 1 0 1 1 1 1 0 1 1 0 0 0 0 0 Rodrigo Hausen (CMCC – UFABC) Para casa: faça o mapa de Karnaugh para cada saída. Você obterá: A0 = a1 a2 + a1 a2 = a1 ⊕ a2 Aula 14: Aplicações de Flip-flops 15 de março de 2013 21 / 24 Projeto de contadores síncronos Passo Um: Obter e simplificar as expressões para cada uma das saídas do circuito combinacional para o próximo estado. a2 0 0 0 0 1 1 1 1 atual a1 0 0 1 1 1 1 0 0 a0 0 1 1 0 0 1 1 0 próximo A2 A1 A0 0 0 1 0 1 1 0 1 0 1 1 0 1 1 1 1 0 1 1 0 0 0 0 0 Rodrigo Hausen (CMCC – UFABC) Para casa: faça o mapa de Karnaugh para cada saída. Você obterá: A0 = a1 a2 + a1 a2 = a1 ⊕ a2 A1 = a0 a2 + a0 a1 Aula 14: Aplicações de Flip-flops 15 de março de 2013 21 / 24 Projeto de contadores síncronos Passo Um: Obter e simplificar as expressões para cada uma das saídas do circuito combinacional para o próximo estado. a2 0 0 0 0 1 1 1 1 atual a1 0 0 1 1 1 1 0 0 a0 0 1 1 0 0 1 1 0 próximo A2 A1 A0 0 0 1 0 1 1 0 1 0 1 1 0 1 1 1 1 0 1 1 0 0 0 0 0 Rodrigo Hausen (CMCC – UFABC) Para casa: faça o mapa de Karnaugh para cada saída. Você obterá: A0 = a1 a2 + a1 a2 = a1 ⊕ a2 A1 = a0 a2 + a0 a1 A2 = a0 a1 + a0 a2 Aula 14: Aplicações de Flip-flops 15 de março de 2013 21 / 24 Projeto de contadores síncronos Passo Dois: Diagrama do circuito. a0 a1 a2 Rodrigo Hausen (CMCC – UFABC) Aula 14: Aplicações de Flip-flops 15 de março de 2013 22 / 24 Projeto de contadores síncronos Passo Dois: Diagrama do circuito. A0 = a1 ⊕ a2 A0 a0 a1 a2 Rodrigo Hausen (CMCC – UFABC) Aula 14: Aplicações de Flip-flops 15 de março de 2013 22 / 24 Projeto de contadores síncronos Passo Dois: Diagrama do circuito. A1 = a0 a2 + a0 a1 A0 A1 a0 a1 a2 Rodrigo Hausen (CMCC – UFABC) Aula 14: Aplicações de Flip-flops 15 de março de 2013 22 / 24 Projeto de contadores síncronos Passo Dois: Diagrama do circuito. A2 = a0 a1 + a0 a2 A0 A1 A2 a0 a1 a2 Rodrigo Hausen (CMCC – UFABC) Aula 14: Aplicações de Flip-flops 15 de março de 2013 22 / 24 Projeto de contadores síncronos Passo Dois: Diagrama completo do circuito. A0 Ck A1 A2 Entrada Reg. 3 bits Saída a2 a1 a0 Rodrigo Hausen (CMCC – UFABC) Aula 14: Aplicações de Flip-flops 15 de março de 2013 22 / 24 Para casa Leia as seções 7-3 e 8-1 do livro do Floyd Exercícios do capítulo 7: autoteste 9, problemas 14, 15, 16, 17, 18, 25 e 26. Exercícios do capítulo 8: autotestes 1, 3 até 7, problemas 1 a 3. Leia o texto “Projeto de Máquinas de Estado” no site Resolva os problemas 14 a 19 do capítulo 8. I Nos problemas 16 a 19, use registradores síncronos (ignore a parte da questão onde é dito “use flip-flops J-K”) Rodrigo Hausen (CMCC – UFABC) Aula 14: Aplicações de Flip-flops 15 de março de 2013 23 / 24 Exercícios adicionais 1. Como fazer um contador com flip-flops J-K sensíveis à borda de subida? Rodrigo Hausen (CMCC – UFABC) Aula 14: Aplicações de Flip-flops 15 de março de 2013 24 / 24 Exercícios adicionais 1. Como fazer um contador com flip-flops J-K sensíveis à borda de subida? 2. Usando flip-flops J-K, faça o circuito de um contador de década (também chamado contador decádico, é um contador módulo 10) Rodrigo Hausen (CMCC – UFABC) Aula 14: Aplicações de Flip-flops 15 de março de 2013 24 / 24 Exercícios adicionais 1. Como fazer um contador com flip-flops J-K sensíveis à borda de subida? 2. Usando flip-flops J-K, faça o circuito de um contador de década (também chamado contador decádico, é um contador módulo 10) 3. Usando flip-flops J-K, faça um contador decádico regressivo: 1001, 1000, 0111, . . . , 0001, 0000, 1001, . . . Rodrigo Hausen (CMCC – UFABC) Aula 14: Aplicações de Flip-flops 15 de março de 2013 24 / 24 Exercícios adicionais 1. Como fazer um contador com flip-flops J-K sensíveis à borda de subida? 2. Usando flip-flops J-K, faça o circuito de um contador de década (também chamado contador decádico, é um contador módulo 10) 3. Usando flip-flops J-K, faça um contador decádico regressivo: 1001, 1000, 0111, . . . , 0001, 0000, 1001, . . . 4. Usando flip-flops D sensíveis à borda de descida, faça um registrador síncrono para palavras de 4 bits, sensível à borda de subida. Entradas: Ck, CLR e WE (write enable = habilita escrita). Rodrigo Hausen (CMCC – UFABC) Aula 14: Aplicações de Flip-flops 15 de março de 2013 24 / 24 Exercícios adicionais 1. Como fazer um contador com flip-flops J-K sensíveis à borda de subida? 2. Usando flip-flops J-K, faça o circuito de um contador de década (também chamado contador decádico, é um contador módulo 10) 3. Usando flip-flops J-K, faça um contador decádico regressivo: 1001, 1000, 0111, . . . , 0001, 0000, 1001, . . . 4. Usando flip-flops D sensíveis à borda de descida, faça um registrador síncrono para palavras de 4 bits, sensível à borda de subida. Entradas: Ck, CLR e WE (write enable = habilita escrita). Em cada exercício abaixo, assuma que os únicos componentes disponíveis são um registrador de 4 bits e um somador completo de 4 bits. 5. Faça um contador progressivo para 4 bits com passo 2: 0000, 0010, 0100, 0110, . . . Entradas: Ck (clock) e CLR (zera o contador). Rodrigo Hausen (CMCC – UFABC) Aula 14: Aplicações de Flip-flops 15 de março de 2013 24 / 24 Exercícios adicionais 1. Como fazer um contador com flip-flops J-K sensíveis à borda de subida? 2. Usando flip-flops J-K, faça o circuito de um contador de década (também chamado contador decádico, é um contador módulo 10) 3. Usando flip-flops J-K, faça um contador decádico regressivo: 1001, 1000, 0111, . . . , 0001, 0000, 1001, . . . 4. Usando flip-flops D sensíveis à borda de descida, faça um registrador síncrono para palavras de 4 bits, sensível à borda de subida. Entradas: Ck, CLR e WE (write enable = habilita escrita). Em cada exercício abaixo, assuma que os únicos componentes disponíveis são um registrador de 4 bits e um somador completo de 4 bits. 5. Faça um contador progressivo para 4 bits com passo 2: 0000, 0010, 0100, 0110, . . . Entradas: Ck (clock) e CLR (zera o contador). 6. Faça um contador progressivo/regressivo (up/down) para 4 bits com três entradas: Ck (clock), CLR (zera o contador) e U/D (se 0 = progressivo; se 1 = regressivo). Rodrigo Hausen (CMCC – UFABC) Aula 14: Aplicações de Flip-flops 15 de março de 2013 24 / 24