2 ircuitos Seqüenciais Sistemas igitais Muitos sistemas digitais são pulsados ou clocked. Isto é, eles operam em sincronismo com um trem de pulsos de período chamado relógio (clock). n n+ ula GEO-I-UFPE cada transição de clock dizemos que a máquina passa para um próximo estado. Se considerarmos um certo n a saída em um dado ponto do sistema no intervalo precedendo o n th pulso de clock, então n+ é a saída correspondente no intervalo imediatamente depois no n th pulso. al sistema onde os valores, 2,,... n são obtidos em seqüência no tempo em intervalos é chamado um sistema lógico seqüencial. 4 egistradores São dispositivos que armazenam vetores de diferentes dimensões. Estas informações são armazenadas no registrador mediante um sinal de carga externo de carga ( ), e podem ser usadas por outras partes do circuito. Os elementos ou células básicas que compõem os registradores são Latches ou Flip-Flops. Os registradores podem armazenar dados e também deslocá-los para a direita ou para a esquerda. egistradores que permitem deslocamento de seus dados são denominados egistradores de eslocamento (Shift-egister). esloca para a direita esloca para a esquerda egistradores - (transferência paralela) E Pulso -uando o pulso é aplicado a entrada lk (clock) a entrada é carregada no registrador. -O sinal de entrada - deve permanecer inalterado durante a transação. omponente comercial 2 LK L 5 2 4 4 7 L 747 9 2 7 2 6 2 5 5 6 ransferência de informação ransferência em paralelo a b ransferência de informação ransferência serial linha serial a a 2 a x x 2 x a 2 a a 4 ransferência serial b 2 b b 4 (pulso de transferência) tempo do e após da transferência evento transferência : <- [,,] <- [,,] [,,] [,,] : <-S([,,]) <-S([],[,,]) [,,] [,,] 2 : <-S([,,]) <-S([],[,,]) [,,] [,,] : <-S([,,]) <-S([],[,,]) [,,] [,,] pós a transferência ao valores nos registradores e são: a a 2 a a 4 b b 2 b b 4 (pulso de transferência) := [,,] := [,,]
Exemplo circuito sequencial utilizando Flip-flop tipo 7 8 a b c Projetos de circuitos síncronos lock controlado por gates para controle de dados em registradores (não recomendado) Mudança de estado Flip-Flop a= b= c= = = = a= b= c= t independe do tempo do clock alto, o que interessa é a transiçaõ do clock a= b= c= a= b= c= lock lock enable lock lock enable Glitch Obs: Flip-Flop carrega valor na subida do clock arga da informação 9 Projetos de circuitos síncronos ontrole de enable direto no mux interno do registrador. O clock é livre e atua direto no circuito do Flip-flop. (opção recomendada) lock lock Obs: Flip-Flop carrega valor na subida do clock arga da informação Entradas Multiplexadas MU 2 MU : <- ( (=[]) (=[2]) (=[])) O que acontece com = []? ou qualquer outro valor não especificado na equação? - expressão a esquerda será nula, logo: <- : <- ( (=[]) (=[]) (=[2]) (=[])) Obs: esse caso se =[] o conteúdo de permanece inalterado egistrador de deslocamento - Shift egister egistradores de deslocamento são dispositivos adequados para conversão Serial-Paralela-Serial normalmente utilizados em sistemas de comunicação em terminais de computadores. Exemplo: egistrador de deslocamento (direita/esquerda) Para a direita esloca uma posição em todos os elementos do registrador da esquerda para a direita. O bit menos significativo (LS-bit mais a direita) realimenta o bit mais significativo (MS - bit mais a esquerda) do registrador ou um novo bit é adicionado ao deslocamento. Para a esquerda esloca uma posição em todos os elementos do registrador da direita para a esquerda. O bit Mais significativo (MS-bit mais a esquerda) realimenta o bit menos significativo (LS - bit mais a direita) do registrador ou um novo bit é adicionado ao deslocamento. egistrador de eslocamento O circuito pode realizar diferentes funções dependendo do sinal de controle. : <- (=[]) v (=[] S(x,,) v (=[2]) SL(,x) Operação [] <- [] <- S(x,) [2] <- SL(,x) [] <- [] [4] <- (load) 2 x 2 2 2 MU MU MU c c c b 4 4 x 4 2 b b 2
egistrador de deslocamento ( Shift egister ) (deslocamento para a direita) 2 x 2 2 MU MU 2 MU c c c x b 2 4 b 4 b 4 ontrole shift 2 = =4 = = egistrador de deslocamento Entrada Serial vs. Paralela Saída Serial vs. Paralela ireção de deslocamento:esquerda vs. ireita Entradas Seriais (Left Serail Input) SI(ight Serial Input) Entradas Paralelas:,,, Saídas Paralelas:,,, Sinal de lear ispositivo trigado na subida do relógio 7494 7494 4-bit Universal Shift egister S,S determina a função de deslocamento S =, S = : arrega na subida do relógio - arga síncrona S =, S = : esloca para Esquerda na subida do relógio - substitui o elemento S =, S = : esloca para ireita na subida do relógio - SI substitui o elemento S =, S = : Preserva os valores 4 egistrador de eslocamento onversão Paralelo <=> Serial Entradas Paralelas 7 6 5 4 lock 2 S S S 94 S 94 SI LK L S S 94 Sender SI LK L ransmissão Serial eceiver SI LK L S S 94 SI LK L 7 6 5 4 2 Saídas Paralelas 5 iagrama de estados iagrama de estados é uma técnica de projeto que permite ao projetista representar graficamente o funcionamento comportamental de uma máquina de estados finita (fsm). ada diagrama de estados consiste de um conjunto identificado por vértices que correspondem aos estados do circuito e por arcos que indicam a transição entre estados. ada par de vértices (não necessariamente distintos) são conectados por um arco direcionado indicando a transição de um estado para outro. Este arco existe apenas se um determinado sinal de entrada força a mudança de estado da máquina de um estado j para o estado k. 6 7 8 iagrama de estados - Mealy Se um arco direcionado conecta j a k quando a entrada da máquina for a k, então o arco entre os dois estados é representado por: a k /F(a k, j ) j a k /F(a k, j ) vértices k entrada controle (saída) * Máquina Mealy - Observe que a saída é função da entrada e do estado atual ssim vemos que: értices correspondem ao estado corrente do circuito. O código descrito no arco representa entrada corrente e a saída corrente. indicação da direção do arco indica o próximo estado iagrama de estado - aplicação Exemplo: Projete um circuito que gere saída quando for observado uns s consecutivos na entrada. os demais casos a saída deve ser zero ( ). / / nenhum o um ( ) 2 o um( ) / / 2 / /
9 2 onversão do diagrama de estados ariáveis de entrada estado presente abela de estados x / / / 2 / 2 / 2 / odificação de estados: -> -> 2 -> / saída próximo estado / / 2 / / abela de transição x / / / / / / / abela verdade entrada estado presente próximo estado Flip-Flop saída x y +t y 2+t J K J 2 K 2 Z * Implementação da máquina de estados usando Flip-Flop tipo JK 2 22 Equações booleanas y (t+) = x y + x y 2 y 2 (t+) = x y + x y 2 Z = x y x x x J = xy 2 x J 2 = y x x K = x K 2 = x x x clock J K J 2 K 2 JK JK y 2 y Z ontadores São máquinas seqüenciais (FSMs) que possuem uma seqüência de estados bem definida em resposta a sinal de contagem. Os contadores podem contar para frente ou para trás (up/down) e podem ser construídos por diferentes tipos de Flip-Flops. saída de um contador expõe o estado atual da máquina de estados. Exemplo: ontador de 2 bits:,,, (contador módulo 4) ontador de 4 bits:,..., (ontador binário de 4 bits - módulo 6) 2 ontadores - implementação Implementar um contador síncrono octal Exemplo iagrama de transição de estados ontador binário de bits Estado Próximo Flip-flops Presente Estado tipo + + + abela de ransição de Estados abela de entrada dos Flip-Flops Implementação com Flip-Flops tipo (oggle) 24
25 26 ontadores - implementação Mapa K para Flip-Flops tipo ontadores + ontador Síncrono - 746 = = \eset \eset S ount LK iagrama de tempo S LK S LK 7 P - Sinais de entrada Load and lear síncronos 6 (sincronizados com o relógio) O 5 2 LK 6 - Flip-Flop trigados na subida do relógio 5 2 4 - Load Paralelo a partir dos sinais de entrada 4,,, 9 LO L - P, Inputs: mbos os sinais devem ser habilitados para permitir contagem ontador UP síncrono de 4-its (746) - O ("ipple arry Output") acionado quando o contador atinge o último estado. Este sinal é normalmente usado quando queremos cascatear contadores. = ount 27 28 iagrama de tempo do 746 Projeto - Síntese Lógica L Implementar uma máquina de vender bombom LO aracterísticas: ecebe moedas de 5 e centavos ão dá troco Libera bombom quando valor recebido é igual ou superior a 5 centavos LK P iagrama de estados eset a subida do relógio Obs: Implementar projeto com Flip-Flop tipo JK O 2 4 5 2 Load ount lear Inhibit, [open] Projeto - Síntese Lógica 29 / eset / / / /, / [open] / / Present State IPU ext State Output Open \ LK \ \reset OPE \ LK \ \reset