CICUITO EUENCIAI BÁICO
CICUITO EUENCIAI BÁICO - 2 UMÁIO: ELEMENTO BÁICO DE MEMÓIA LATCHE LATCH LATCH INCONIZADO LATCH D FLIP-FLOP FLIP-FLOP MATE-LAVE FLIP-FLOP JK FLIP-FLOP EDGE-TIGGEED IMBOLOGIA CAACTEIZAÇÃO TEMPOAL METODOLOGIA DE INCONIZAÇÃO TEMPOAL
CICUITO EUENCIAI BÁICO - 3 CICUITO IMPLE COM EALIMENTAÇÃO 1 1 2 inversores em cascata elemento básico de memória. Posso armazenar um 1 (ou um 0) para sempre, mas não posso alterar o valor. 1 1 A entrada permite forçar a 0 (mas não permite forçá-lo a 1). 1 1 A entrada permite forçar a 0. A entrada permite forçar a 1.
CICUITO EUENCIAI BÁICO - 4 LATCH 1 n+1 n+1 0 0 n n HOLD 0 1 0 1 EET 1 1 0 1 0 ET 1 1 U U Não Utilizada O valor da saída do elemento de memória designa-se habitualmente por estado. Um latch tem 2 estados possíveis. = 1 e = 0 é forçado a 0 EET. = 0 e = 1 é forçado a 1 ET. = 0 e = 0 mantém estado anterior. = 1 e = 1 não utilizada sem significado (valor real depende da implementação).
CICUITO EUENCIAI BÁICO - 5 LATCH INCONIZADO / CONTOLADO 1 EN n+1 1 0 0 n HOLD EN 1 0 1 0 EET 1 1 1 0 1 ET 1 1 1 U Não Utilizada 0 X X n HOLD EN A entrada habilitadora ou enable, EN, permite controlar a aplicação das entradas de et e de eset ao latch.
CICUITO EUENCIAI BÁICO - 6 LATCHE IMBOLOGIA Latches imples _H _H _H _L Latch incronizado _H EN_H _H 1 1 _H _L A entrada de sincronismo é habitualmente designada por relógio Clock (C). A letra designa função: C = Clock; = et; = eset. O 1 à direita identifica a entrada. O 1 à esquerda da letra implica dependência da entrada 1.
CICUITO EUENCIAI BÁICO - 7 LATCH INCONIZADO DIAGAMA TEMPOAL _H EN_H _H 1 1 _H _L Exemplo E T E E T M A N T É M N Ã O U A D O
CICUITO EUENCIAI BÁICO - 8 LATCH D (INCONIZADO) D EN D n+1 1 0 0 EET EN 1 1 1 ET 1 0 X n HOLD Um dos modos de eliminar o estado indefinido no latch consiste em assegurar que as entradas e são sempre complementares. Obtém-se, assim, o latch D, que tem apenas 2 entradas: D (Data) e C (Clock). ímbolo D_H 1D EN_H _H _L
CICUITO EUENCIAI BÁICO - 9 CICUITO ÍNCONO Os circuitos sequenciais síncronos utilizam um sinal de relógio global para controlar a actualização de todos os elementos de memória do circuito: CLK clock signal, ou CP clock pulse. O sinal de relógio permite definir 2 fases de funcionamento: t 1 fase de cálculo dos sinais de entrada dos elementos de memória, fase de actualização dos elementos de memória. T período de frequência duty cycle relógio ( p. ex. 20ns) ( p. ex. 50MHz) : f ( p. ex. 50% ) : t 1 T : T 1 = T Deve, também, garantir que: os elementos de memória mantêm o mesmo valor durante a fase de cálculo dos valores seguintes, os elementos de memória actualizam os valores todos ao mesmo tempo (sincronamente).
CICUITO EUENCIAI BÁICO - 10 LATCHE E FLIP-FLOP Os circuitos básicos de memória podem ser classificados em latches e flip-flops. e a entrada de activação de um latch sincronizado estiver ligada ao sinal de relógio, o seu estado está continuamente a ser actualizado enquanto o relógio estiver a 1. Como não é possível garantir que o estado dos latches se mantenha estável durante a fase em que o sinal de relógio estiver a 1, não é também possível garantir que todos os latches mudem sincronamente num circuito complexo. Os latches têm aplicações muito específicas (menos complexos, mais rápidos), nomeadamente em circuitos assíncronos. Os flip-flops mudam as saídas apenas quando há uma variação do relógio (diz-se que são sensíveis ao flanco). Este modo de funcionamento garante que o seu estado só é alterado uma única vez em cada período de relógio. Esta característica permite que se utilize quase todo o período de relógio para geração de novos valores nas entradas. Os circuitos síncronos utilizam, na grande maioria dos casos, flip-flops (sensíveis ao flanco).
CICUITO EUENCIAI BÁICO - 11 FLIP-FLOP MATE-LAVE O flip-flop Master-lave consiste na ligação em cascata de 2 latches sincronizados, com sinais de controlo complementares. Funcionamento: o Mestre aceita ordens de et ou eset enquanto C = 1, mas só passa a ordem ao Escravo quando C = 0; do ponto de vista das saídas externas o estado apenas muda após a transição de 1 0 do relógio. Exemplo: =1 =0
CICUITO EUENCIAI BÁICO - 12 FLIP-FLOP JK MATE-LAVE O flip-flop JK permite eliminar o estado indefinido, mantendo 2 entradas e, portanto, 4 funcionalidades distintas. J C K Master 1 lave 1 _H J K n+1 0 0 n HOLD 0 1 0 EET 1 1 _L 1 0 1 ET 1 1 1 n TOGGLE Nota: continua a só existir mudança de estado (variação nas saídas) após a transição de relógio de 1 0.
CICUITO EUENCIAI BÁICO - 13 FLIP-FLOP MATE-LAVE Os flip-flops master-slave respondem aos valores na entrada que existam durante o semi-período em que C = 1. Por isso, são também chamados de pulse-triggered. Para o seu funcionamento correcto, no entanto, não devem ser permitidas variações nas entradas durante o pulso de relógio. Problema: se durante o pulso de relógio = 0 e = 0 1 0, esperar-se-ia que o flip-flop mantivesse o estado, pois a última ordem é de HOLD, no entanto, o Mestre respondeu à ordem de ET e é essa ordem que é passada ao Escravo. Master lave C C 1 M 1 1 1 M 1
CICUITO EUENCIAI BÁICO - 14 FLIP-FLOP EDGE-TIGGEED Os flip-flops edge-triggered ignoram o pulso, enquanto este se mantém num valor constante, e apenas reagem à transição de relógio. Uma estrutura tipo master-slave em que o Mestre é um flip-flop D funciona como edge-triggered (e não como pulse-triggered): o estado que é passado do Mestre para o Escravo é sempre o estado definido pelas entradas na transição de relógio. Master lave D 1D M 1 C C 1 D M 1 Os flip-flops dizem-se positive-edge-triggered se reagem à transição de relógio 0 1. Os flip-flops dizem-se negative-edge-triggered se reagem à transição de relógio 1 0.
CICUITO EUENCIAI BÁICO - 15 FLIP-FLOP D EDGE-TIGGEED Os flip-flops D positive-edgetriggered são habitualmente realizados com o circuito ao lado. D_H 1 1 2 5 _H CP D_H L n+1 L CP L H - - H n n 3 6 _L H - n 4
CICUITO EUENCIAI BÁICO - 16 ENTADA AÍNCONA Alguns flip-flops incluem entradas adicionais que permitem fazer o ET ou o EET assíncronamente, i.e., independentemente do relógio. A entrada de et assíncrono é também às vezes designada por direct set ou preset, e a entrada de eset assíncrono é também às vezes designada por direct reset ou clear. Exemplo 1J 1K Flip-flop JK com e assíncronos C J K n+1 0 0 0 0 n HOLD 0 0 0 1 0 EET 0 0 1 0 1 ET 0 0 1 1 n TOGGLE 1 0 X X X 1 ET 0 1 X X X 0 EET 1 1 X X X U Indefinido
CICUITO EUENCIAI BÁICO - 17 IMBOLOGIA 1 1D 1D 1 Latch Latch sincronizado Latch D sincronizado Latch D c/ controlo activo a L 1J 1J 1K 1K Flip-flop JK pulse-triggered Flip-flop JK pulse-triggered negativo 1J 1K 1D 1D 1J 1K Flip-flop JK edge-triggered positivo Flip-flop D edge-triggered positivo Flip-flop D edge-triggered negativo Flip-flop JK edge-triggered positivo c/ e assíncronas e activas a L
CICUITO EUENCIAI BÁICO - 18 CAACTEIZAÇÃO TEMPOAL Tempo de atraso ou de propagação Duração mínima de um pulso de relógio
CICUITO EUENCIAI BÁICO - 19 TEMPO DE PEPAAÇÃO E DE MANUTENÇÃO O tempo de preparação (t ETUP) é a duração mínima do intervalo de tempo, antes da transição de relógio, durante o qual as entradas de dados não podem variar. O tempo de manutenção (t H HOLD) é a duração mínima do intervalo de tempo, após a transição de relógio, durante o qual as entradas de dados não podem variar. OK Violação de ETUP Violação de HOLD
CICUITO EUENCIAI BÁICO - 20 CAACTEIZAÇÃO DO t, t W E t H PAA O DIVEO FFs Pulse-Triggered (Master-lave) Edge-Triggered Positivo Edge-Triggered Negativo
CICUITO EUENCIAI BÁICO - 21 METODOLOGIA DE INCONIZAÇÃO TEMPOAL Para sistemas síncronos, o funcionamento adequado significa que, para cada evento de relógio, todos os FFs examinam as suas entradas e determinam os seus novos estados. Isto obriga a que: 1. os valores de entrada correctos têm de ser disponibilizados, a tempo, aos FFs que vão mudar de estado. 2. nenhum flip-flop pode mudar de estado mais do que uma vez durante o mesmo evento de relógio. Exemplo: E=1, 0 (0)= 1 (0)=1 Diagrama Temporal considerando os tempos de atraso desprezáveis.
CICUITO EUENCIAI BÁICO - 22 COMPOTAMENTO TEMPOAL As entradas dos FFs têm de estar estáveis um Tempo de etup antes do flanco de relógio, e um Tempo de Hold depois do flanco de relógio. O tempo de propagação de um FF é habitualmente muito maior que o tempo de hold, portanto a verificação da condição de hold nunca é problema. Para garantir a condição de setup é necessário que a variação provocada pelo 1º evento de relógio, chegue à entrada do FF um tempo de setup antes do 2º flanco de relógio.
CICUITO EUENCIAI BÁICO - 23 COMPOTAMENTO TEMPOAL (cont.) Para uma frequência de relógio demasiado elevada, o circuito deixa de funcionar correctamente. O funcionamento correcto exige: t P FF + t P LÓGICA T CLK t U T CLK t P FF + t P LÓGICA + t U f CLK t P FF + t P 1 LÓGICA + t U O caso limite é: T min CLK = t P FF + t P LÓGICA + t U f max CLK = t P FF + t P 1 LÓGICA + t U