Baixe o app para aproveitar ainda mais
Prévia do material em texto
Introdução a Máquinas Sequenciais Registradores Contadores Circuitos Digitais INF01058 Aula 12 Técnicas Digitais 1.Introdução Circuito combinacional • Saída = f (entradas) • Alteração em uma entrada • Saída não depende de valores passados das entradas, só das atuais. • Circuito não tem memória Alteração na saída após atraso de propagação Circuito sequencial • Saída = f (sequência de valores nas entradas) • Circuito tem memória Exemplos de circuitos combinacionais • Somadores, subtratores paralelos • Decodificadores, multiplexadores Técnicas Digitais A) Somador serial - soma 4 bits em 4 tempos consecutivos: A+B tempo 1 A0 + B0 guardar C1, mostrar S0 tempo 2 C1 + A1 + B1 guardar C2, mostrar S1 tempo 3 C2 + A2 + B2 guardar C3, mostrar S2 tempo 4 C3 + A3 + B3 mostrar S3 Exemplos de circuitos sequenciais B) Contador até N sequência de pulsos S pulsos de entrada contar saída = 0 enquanto não chegar o n-ésimo pulso saída = 1 quando chegar o n-ésimo pulso saída = 0 no pulso subsequente ao n-ésimo Técnicas Digitais Exemplo de sequencia t = 0 1 2 3 4 5 6 valor = 0 1 0 1 1 0 1 saída = 0 0 0 0 0 1 0 C) Detector de sequencia Por exemplo: detectar sequencia 0110 sequencia de valores (0,1) saída saída = 0 no início saída = 1 se últimos quatro valores foram 0110 saída = 0 em caso contrário t-3 t-2 t-1 t = tempo atual Técnicas Digitais 2.Implementação de circuitos sequenciais lógica combinacional elementos de memória saídasentradas estado atual próximo estado Estado = informação binária armazenada nos elementos de memória Ai Bi lógicacombinacional memória Ci 1 Si Ci + 1 guarda valor de Ci A) Somador serial Técnicas Digitais B) Contador até N saída contar pulsos contagem atual guarda contagem de 0 a N Ex: se N = 10 4 bits C) Detector de sequencia lógica combinacional memória 4 3 saídaentrada ultima sequencia guarda sequencia dos 3 últimos valores memória lógica combinacional Técnicas Digitais 3. Circuitos sequenciais síncronos Estado do sistema só pode ser alterado em instantes discretos de tempo Entradas podem variar a qualquer momento, mas alteração do estado é sincronizada São usados elementos de memória explícitos para armazenar estado sincronismo circuito combin. memória E S Sincronismo pode ser obtido por um sinal de relógio Relógio = trem de pulsos distribuídos regularmente no tempo Elementos de memória têm seu conteúdo alterado somente quando chega o pulso de sincronismo A grande maioria dos circuitos digitais são circuitos sequenciais síncronos. Técnicas Digitais Flip-Flops - armazenam 1 bit (0 ou 1) indefinidamente, até que uma modificação seja induzida Estado pode exigir vários flips-flops Saída do flip-flop não é alterada enquanto não há transição do sinal do relógio, mesmo que entrada de dados tenha variação FFdado de entrada relógio dado de saída Elementos de memória Técnicas Digitais 4. Circuitos sequenciais assíncronos Estado do sistema pode ser alterado a qualquer instante, “imediatamente” em resposta a uma alteração na entrada. Elementos de memória dispositivos de atraso memória devida ao tempo necessário a um sinal para propagar através do dispositivo Na prática: Atraso das portas do circuito combinacional pode ser usado Não é necessário um dispositivo de atraso adicional Elementos de memória consistem de portas circuito combinacional entradas saídas próximo estado realimentação Técnicas Digitais comportamento pode ser imprevisível em função das relações entre atrasos das portas dificuldade de projeto seguro pode-se no entanto construir sistemas - mais rápidos - com menor consumo de potência - mais compactos Circuitos sequenciais assíncronos Registradores Técnicas Digitais 1. Introdução Registrador = conjunto de FF’s ou latches + lógica combinacional que efetua uma dada função Diferentes tipos de registradores • Reg. de armazenamento • Reg. de deslocamento • Reg. com contadores Exemplo de registrador elementar (registrador de armazenamento) Técnicas Digitais “carga” - operação de transferência de um novo valor E0 E1...En-2 ...En-1 para o registrador carga paralela - carga simultânea de todos os bits, sincronizada pelo clock problema - e se não for desejada uma carga do registrador a cada pulso do clock ? Solução 1 - desabilitar o clock desvantagem : lógica com clock – atrasos variáveis – perda de sincronismo Solução 2 - clock não é desabilitado Se LOAD = 1 carrega novo valor Ei Se LOAD = 0 carrega valor atual Si Para reduzir o fanout de LOAD D Técnicas Digitais Q1 CLR D3 D2 D1 D0 171 Q1 Q0 Q0 CLK Q3Q3 Q2 Q211 10 9 5 6 7 4 3 2 14 13 15 1 12 Registrador de armazenamento Registrador de 4 bits com FF’s D TTL 74171 – 4 FFs tipo D com Clear (os números pequenos representam os pinos conforme o encapsulamento) Técnicas Digitais 2. Transferências entre registradores Transferência paralela RB RA D0 Q0 C D0 Q0 C D1 Q1 C D1 Q1 C D2 Q2 C D2 Q2 C RA RB Técnicas Digitais Transferência quando um registrador tem várias fontes uso de multiplexadores uso de barramento Técnicas Digitais 3. Registradores de deslocamento Aplicações a) operações de “shift” e “rotate” em processadores b) transferência serial entre registradores c) conversão série / paralelo d) conversão paralelo / série D Q C D Q C D Q C D Q C CLOCK SAÍDA SERIAL Técnicas Digitais Shift Direction\Reset \Reset Shift CLK CLK CLK CLK Q1 1 0 0 0 Q2 0 1 0 0 Q3 0 0 1 0 Q4 0 0 0 1 Shift Shift Shift FF mestre-escravo: amostra entradas enquanto o clock está em 1; muda saídas na borda descendente a) operações shift / rotate Técnicas Digitais c) conversão série / paralelo Após 4 pulsos do clock, o conteúdo do registrador está disponível em paralelo Supondo registradores de 4 bits, após 4 pulsos de clock o conteúdo do registrador R1 foi transferido para o registrador R2 b) transferência serial entre registradores D Q SR4 C D Q SR4 C CLOCK E SERIAL R1 R2 SAÍDAS PARALELAS ENTRADA SERIAL D Q C D Q C D Q C D Q C SAÍDA SERIAL Técnicas Digitais d) conversão paralelo / série exige registrador de deslocamento com entrada paralela SHIFT = 0 e LOAD = 0: Si Si (mantém valor ) SHIFT = 0 e LOAD =1: Si Ei (carga paralela) SHIFT = 1 S0 serial input (carga serial) S1 S0 S3 é a saída serial - a cada pulso de clock sai um bit espécie de mux E0 Técnicas Digitais Transmissão serial utilizando conversões paralelo-série e série-paralelo Entradas Paralelas Transmissão Serial Saídas Paralelas 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 Emissor D3 D2 D1 D0 QA QB QC QD S1 S0 LSID 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 Técnicas Digitais Registrador de deslocamento bidirecional 0 1 2 3 Di Qi C Si-1 Ei Sel Si SEL = 0 mantém valor SEL = 1 SHIFT para a esquerda (para baixo) SEL = 2 SHIFT para a direita (para cima) SEL = 3 carga paralela Si+1 Contadores Técnicas Digitais 1. Introdução contador = registrador que passa por uma sequência de estados quando são aplicados pulsos de entrada É uma FSM em que as únicas saídas são os estados a única entrada é o pulso de contagem sequência de estados - Sequência de números binários - contador binário - Qualquer outra sequência - contador BCD outros códigos sequências arbitrárias (1,2,3,5,7...) necessidade de lógica combinacional para controlar sequência de contagem tipos de contadores “Ripple Counters “ - transição de um FF serve para disparar transição do próximo (assíncronos) “Contadores Síncronos” - todos os FF’s são carregados simultaneamente pelo clock Técnicas Digitais 2. Contador ripple binário Supondo FF’s sensíveis à transição negativa do sinal do controle Também possível com FF’s tipo T J0 Q0 C K0 J1 Q1 C K1 J2 Q2 C K2 J3 Q3 C K3 S0 S1 S2 S3 “1” pulsos de contagem P JK Mestre-escravo ou sensível à borda do relógio Técnicas Digitais • como J = K = 1 em todos os FF’s - cada transição negativa da entrada C causa complemento do FF - portanto cada transição negativa de P S0 complementado “ “ “ “ S0 S1 “ “ “ “ “ S1 S2 “ “ “ “ “ S2 S3 “ • sequência de estados S3 S2 S1 S0 P 0 0 0 0 S0 0 0 0 1 S1 0 0 1 0 S2 0 0 1 1 S3 • • • Técnicas Digitais para contar para baixo alternativa 1 - pegar saídas complementadas dos FF’s como saídas do contador alternativa 2 - usar FF’s sensíveis à transição positiva do sinal de controle (C) S3 S2 S1 S0 P 0 0 0 0 S0 0 0 0 1 S1 0 0 1 0 S2 0 0 1 1 S3 alternativa 3 - ligar saída Q de cada FF à entrada C do FF seguinte transição negativa de P (ou Qi) causa complemento de Qi + 1 P S0 S0 S1 S1 S2 • • • Técnicas Digitais 3. Contador síncrono binário também possível com FF’s tipo T Como J0 = K0 = 1 no primeiro FF, cada transição do clock (positiva ou negativa, à escolha) causa complemento de S0 Quando S0 = 1 J1 = K1 = 1, próxima transição do clock causa complemento de S1 Quando S0 = 1 e S1 = 1 J2 = K 2 = 2 , próxima transição do clock complementa S2 sequência de valores S2 S1 S0 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 ... habilita contador J0 Q0 C K0 J1 Q1 C K1 J2 Q2 C K2 S0 S2S1 C p/ próximo estágio Técnicas Digitais Projeto de um contador síncrono binário A) FSM B) Tabela de Estados S2 S1 S0 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 S2 S1 S0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 0 0 0 0 0 1 0 1 1 0 0 1 1 1 1 0 0 1 0 1 1 0 0 1 1 1 1 Est. Atual Próx. Est. Eq. Entrada 000 001 010 011 111 110 101 100 T2 T1 T0 Técnicas Digitais C.2 Mapas de Karnaugh T2 = S1.S0 00 01 11 10 0 1 1 1 00 01 11 10 0 1 1 1 00 01 11 10 0 1 T1 = S0 T0 = 1 1 1 1 1 1 1 1 1 1 1 O resultado é o circuito já mostrado C.1 Equações de entrada dos FF’s 1 indica “ tem que complementar ” 0 indica “ não precisa complementar ” C) Projeto com FF’s tipo T S1 S0 S2 T2 T1 T0 S1 S0 S2 S1 S0 S2 habilita contador J0 Q0 J1 Q1 J2 Q2 S0 S2S1 C p/ próximo estágio Técnicas Digitais D.1 Equação de entrada dos FF’s Iguais aos valores de próximo estado ( Q = D no FF tipo D) D.2 Mapas de Karnaugh 00 01 11 10 0 1 1 1 00 01 11 10 0 1 00 01 11 10 0 1 1 1 S1 S0 S2 1 1 1 1 1 1 1 1 D2 = S2 S1 + S2 S0 + S2 S1S0 ou seja, D2 =1 quando D1 = S1 S0 + S1S0 ou seja, D1 = 1 quando D0 = So ou seja, D0 = 1 quando S2 S1 S0 1 0 X 1 X 0 0 1 1 S2 S1 S0 X 0 1 X 1 0 S2 S1 S0 X X 0 equações mais complexas com o uso de FF’s tipo D D) Projeto com FF’s tipo D D2 D1 D0 S1 S0 S2 S1 S0 S2 S2 S1 S0 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 S2 S1 S0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 0 0 0 Est. Atual Próx. Est. Técnicas Digitais 4. Contadores módulo N Para m flip-flops, supor um circuito que conte até N < 2m – 1, ou seja, que não use todos os 2m estados possíveis exemplo: contador até 5 0 0 0 0 0 1 1 0 1 0 1 10 1 0 1 0 0 Técnicas Digitais Tabela de Estados e Equações de entrada para FF’s tipo T S2 S1 S0 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 S2 S1 S0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 0 0 0 X X X X X X T2 T1 T0 0 0 1 0 1 1 0 0 1 1 1 1 0 0 1 1 0 1 X X X X X X Estado Próximo Equação Atual Estado Entrada T Mapa de Karnaugh 00 01 11 10 0 1 1 X X 00 01 11 10 0 1 00 01 11 10 0 1 T2 = S1S0 + S2S0 = S0 (S1 +S2) T1 = S0S2 T0 = 11 1 1 1 1 1 X X 1 1 1 S1 S0 S2 S1 S0 S2 S1 S0 S2 T2 T1 T0 Técnicas Digitais T0 Q0 C T1 Q1 C T2 Q2 C S0 S2S1 C Implementação do contador de módulo 5 (contador até 5) 1 Técnicas Digitais D0 Q0 C Q0 D1 Q1 C Q1 D2 Q2 C Q2 S0 S2S1 C D3 Q3 C Q3 S3 E D D E Clear Contador up/down Q3 Q2 Q1 Q0 C Contador binário up/down Reset Carry HAS Técnicas Digitais I0 I1 I3 Contador up/down com carga paralela D0 Q0 C Q0 D1 Q1 C Q1 D2 Q2 C Q2 C D3 Q3 C Q3 D Seletor 1 0 E HAS Seletor 1 0 HAS Seletor 1 0 I2 HAS Seletor 1 0 HAS S0 S2S1 S3 Carry Load Técnicas Digitais 5. Contador BCD D E Load I3 I2 I1 I0 Contadorup/down 0 0 0 0 0 Q3 Q2 Q1 Q0 C Contador BCD para cima Conta de 0 a 9 e então reinicia contagem. Lógica combinacional detecta quando a contagem chega a 9. Técnicas Digitais D E Load I3 I2 I1 I0 Contador up/down 0 0 0 0 Q3 Q2 Q1 Q0 C Seletor1 0 1 0 0 1 Contador BCD up/down D = 0 contagem para cima (UP) D = 1 contagem para baixo (DOWN) Técnicas Digitais 6. Contador Johnson (Mobius) 8 estados possíveis, muda só um bit em cada transição de estado, útil para evitar hazards 1 0 0 0 1 1 0 0 1 1 1 0 1 1 1 1 0 1 1 1 0 0 1 1 0 0 0 1 0 0 0 0 Shift Q1 Q2 Q3 Q4 100 J CLK K S R Q Q + + + + 0 1 Shift Q1 Q2 Q3 Q4 \Reset J K S R Q Q J K S R Q Q J K S R Q Q CLK CLK CLK
Compartilhar