Baixe o app para aproveitar ainda mais
Prévia do material em texto
right shiftReset’ Reset’ Shift CLK CLK CLK CLK Shift Registers - Registradores de deslocamento : pode circular dados entre os elementos Aplicações com flip-flops Serial Inputs: LSI, RSI Parallel Inputs: D, C, B, A Parallel Outputs: QD, QC, QB, QA Clear Signal Positive Edge Triggered Devices S1,S0 determine the shift function S1 = 1, S0 = 1: Load on rising clk edge synchronous load S1 = 1, S0 = 0: shift left on rising clk edge LSI replaces element D S1 = 0, S0 = 1: shift right on rising clk edge ;RSI replaces element A S1 = 0, S0 = 0: hold state CI 74194 QA QB QC QD S1 S0 LSI D C B A RSI CLK CLR QA QB QC QD S1 S0 LSI D C B A RSI CLK CLR D7 D6 D5 D4 transmissor D3 D2 D1 D0 QA QB QC QD S1 S0 LSI D C B A RSI CLK CLR QA QB QC QD S1 S0 LSI D C B A RSI CLK CLR receptor D7 D6 D5 D4 D3 D2 D1 D0 Clock 194 194 194194 entradas paralelas transmissão serial saídas paralelas Aplicações com flip-flops : shift register Conversão paralela - serial - paralela Projeto de Circuitos Sequenciais Par [0] Ímpar [1] Reset 0 0 1 1 Estado atual Par Par Ímpar Ímpar Entrada 0 1 0 1 Próx. estado Par Ímpar Ímpar Par Saída 0 0 1 1 Symbolic State Transition Table Saída 0 0 1 1 Próx. estado 0 1 1 0 Entrada 0 1 0 1 Estado atual 0 0 1 1 Exemplo : detetor de paridade ímpar numa série de bits D R Q Q CLK Saída \Reset T R Q Q Entrada CLK Saída \Reset Clk Saída 1 0 0 1 1 0 1 0 1 1 1 0 1 1 0 1 0 0 1 1 0 1 1 1 Projeto de Circuitos Sequenciais Algorítmo básico 1 - Entendimento do problema 2 - Análise das informações 3 - Diagrama de estados 3.1 - Minimização de estados 3.2 - Identificação de estados 3.3 - Escolha do elemento de memória 4 - Implementação da lógica combinacional 4.1 - Minimização da função 4.2 - Redução do circuito State Register Clock State Feedback Combinational Logic for Outputs and Next State X Inputs i Z Outputs k Clock state feedback Combinational Logic for Next State (Flip-flop Inputs) State Register Comb. Logic for Outputs Z Outputs k X Inputs i Máquina de Mealy Máquina de Moore Funcionamento geral •entrega o chiclete para cada 15 centavos •entrada de moedas de 10 (D) e 5 (C) centavos •não há troco Passo 1. Entendimento do problema … desenhe um diagrama de blocos Controle da Máquina C D Reset Clk Abre Sensor de moedas Projeto de Circuitos Sequenciais Mecanismo de abertura Passo 2. Análise das informações … verificar as possíveis sequências de entrada e respectivas saídas C + C + C C + D D + C D + D C + C + D Possibilidades : Reset C C C D D C D [abrir] [abrir] [abrir] [abrir] S0 S1 S2 S3 S4 S5 S6 S8 [abrir] S7 D Entradas: C, D, reset Saída: abrir Reset C C C, D [abrir] 15c 0c 5c 10c D D Estado Atual 0c 5c 10c 15c D 0 0 1 1 0 0 1 1 0 0 1 1 X C 0 1 0 1 0 1 0 1 0 1 0 1 X Entradas Estado 0c 5c 10c X 5c 10c 15c X 10c 15c 15c X 15c Saída abrir 0 0 0 X 0 0 0 X 0 0 0 X 1 Passo 3.1 - Minimização de estados … reutilização de estados Próximo Prox. estado D 1 D 0 0 0 0 1 1 0 X X 0 1 1 0 1 1 X X 1 0 1 1 1 1 X X 1 1 1 1 1 1 X X Estado atual Q 1 Q 0 0 0 0 1 1 0 1 1 D 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 C 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 Entradas Saída abrir 0 0 0 X 0 0 0 X 0 0 0 X 1 1 1 X Passos 3.2 e 3.3 - Identificação de estados … Escolha do flip-flop … Q1 Q0 Q1 Q0 C Q1 Q0 D C Q1 Q0 D C Q1 Q0 D C Q1 Q0 D Passos 4.1 Minimização da função … D1 D0 abrir D1 = Q1 + D + Q0 C D0 = C’Q0 + Q0’C + Q1 C + Q1 D abrir = Q1 Q0 Projeto de Circuitos Sequenciais Reset/0 C/0 C/0 C+D/1 15c 0c 5c 10c D/0 D/1 (C’ D’ + Reset)/0 Reset/0 Reset/1 C’ D’/0 C’ D’/0 Máquina de Mealy Reset C C C+D [1] 15c 0c 5c 10c D [0] [0] [0] D C’ D’ + Reset Reset Reset Máquina de Moore C’D’ C’D’ 1 1 0 1 2 0 0 [0] [0] [1] 1/0 0 1 0/0 0/0 1/1 1 0 A máquina de Mealy tem, geralmente, menos estados que a de Moore, para a mesma sequência de saída. Exercício : Identificação de padrões em sequências finitas Seja um identificador de entrada X e saída Z. Z=1 sempre que a sequência …010… for observada, enquanto não aparecer a sequência …100… . passo 1 : entendimento do problema X: 00101010010… Z: 00010101000… X: 11011010010… Z: 00000001000… passo 2 : fazer o diagrama de estados para as sequências que devem ser reconhecidas, isto é, 010 and 100. obs.: reutilizar estados sempre que possível. Máquina de Moore S0 [0] S1 [0] S2 [0] S3 [1] S4 [0] S5 [0] S6 [0] Reset Redução de estados Algorítmo de redução por classes 1 - fazer a tabela de estados inicial ; 2 - dividir os estados em classes, de acordo com as saídas apresentadas, isto é, estados que têm a mesma saída estarão na mesma grupo (classe) ; 3 - estabelecer, baseado nos próximos estados, as próximas classes de cada estado ; 4 - reagrupar em novas classes, de acordo com as próximas classes apresentadas ; 5 - repetir os ítens 3 e 4 até que, em cada classe, todos os estados tenham as mesmas próximas classes ; estes estados são equivalentes. Dois estados são equivalentes se, partindo-se destes, obtivermos as mesmas sequências de saída. Podemos, assim, fazer uma prévia redução de estados por simples inspeção visual. Exemplo : x=0 x=1 a b/0 c/0 b c/0 d/0 c d/0 e/1 d d/0 e/1 e d/0 a/1 x=0 x=1 a 1 2 b 2 2 c 2 2 d 2 2 e 2 1 1 2 x=0 x=1 a 1 2 b 2 2 c 2 2 d 2 2 e 2 1 I II III Em III todos os estados pertencentes a uma classe têm as mesmas próximas classes; c e d são equivalentes. Identificação de estados Algorítmo para a determinação de adjacências R1 - dois ou mais estados que têm os mesmos próximos estados devem ter identificações adjacentes ; R2 - dois ou mais estados que são os próximos estados de um mesmo estado devem ter identificações adjacentes. Do exemplo anterior : x=0 x=1 a b/0 c/0 b c/0 c/0 c c/0 e/1 e c/0 a/1 anterior atual próximo a b c e e a a , b, c, e c b, c c c, e a, c R1 R2 R1 : (ab), (ac), (ae), (bc), (be), (ce) R2 : (bc), (ce), (ac) 0 1 0 1 a c be Problema 1 : Implementar um contador de 3 bits que tenha um controle M e aja da seguinte forma : M = 0 a contagem é ascendente na sequência binária; M = 1 a contagem é ascendente em código de Gray Problema 2 : Deseja-se colocar um sinal de trânsito no cruzamento de duas ruas. Sensores C detetam a presença de carros na rua secundária. Se não há carros nesta rua, o sinal permane verde para a rua principal. Se há carros naquela, o sinal passa de verde para amarelo e para vermelho, permitindo então o sinal verde na rua secundária, por um intervalo TL. Após este intervalo, o sinal passa de verde para amarelo e para vermelho, retornando o sinal da rua principala verde. Mesmo que existam veículos na rua secundária, a principal deve ter sinal verde pelo menos por TL. Assumir a existência de um temporizador que gere os tempos TL, para os sinais verdes, e TS dos sinais amarelos, ambos em resposta a um set (ST) dos respectivos tempos. Entendimento do problema . entradas : reset C TS TL . saídas HG, HY, HR FG, FY, FR ST coloca a máquina em seu estado inicial sensor de veículos na rua secundária fim do períododo sinal amarelo fim do períododo sinal verde ativam as luzes verde, amarela e vermelha, principal ativam as luzes verde, amarela e vermelha, secundária começa um período Tl ou TS. • Estados : algumas configurações de luzes implicam em outras estado S0 S1 S2 S3 principal verde, secundária vermelho principal amarelo, secundária vermelho secundária verde, principal vermelho secundária amarelo, principal vermelho Reset TL + C S0 TL•C/ST TS S1 S3 S2 TS/ST TS/ST TL + C/ST TS TL • C
Compartilhar