Baixe o app para aproveitar ainda mais
Prévia do material em texto
Sistemas Digitais Aula 09: Projeto de circuitos sequenciais e registradores de deslocamento Apresentação Os passos para o projeto de um circuito sequencial são: Conceber o autômato �nito, determinar a numeração dos estados e, �nalmente, projetar o decodi�cador de próximos estados. Nesta aula, veremos os conceitos necessários para a execução correta desses passos. Estudaremos, em seguida, os circuitos sequenciais dedicados, iniciando pelo registrador de deslocamento, importante componente das unidades lógicas aritméticas (ULAs) dos computadores modernos. Objetivos Projetar circuitos sequenciais; Explicar a relação da operação de deslocamento com a multiplicação e a divisão por 2; Identi�car os registradores de deslocamento. Passos para projetar um circuito sequencial O processo para o projeto de um circuito sequencial é simples: Basta de�nir a máquina de estados, de�nir a numeração binária dos estados, projetar o circuito combinacional, que é o decodi�cador de próximo estado, e projetar o decodi�cador de saída, se for o caso. Os passos são: 1 Concepção do autômato �nito de acordo com a semântica do problema; 2 Numeração dos estados do autômato em binário; 3 Projeto do decodi�cador de próximo estado; 4 Projeto do decodi�cador de saída. Projeto de circuitos sequenciais Para ilustrar o processo do projeto de circuitos sequenciais, vamos projetar o sistema de controle de um semáforo de trânsito que aciona as luzes de dois sinais luminosos instalados no cruzamento das ruas A e B. Não nos aprofundaremos no funcionamento do arranjo por ele já ser conhecido por todos. Na modelagem, iremos adotar uma única máquina de estados �nitos, controlando os sinais A e B, instalados nas ruas A e B, respectivamente. Veja, a seguir, o autômato já modelado. Figura 1 – Autômato sinal | Fonte: O autor (2020). O estado 1 é o estado inicial do autômato. Nessa situação, o sinal A está verde e o B, vermelho. Após trinta segundos, o sinal A muda para atenção e o B permanece fechado. Seis segundos após, A está fechado e B aberto. Mais uma vez, transcorridos trinta segundos, A permanece fechado e B em atenção. Finalmente, seis segundos após, A volta ao estado aberto e B fechado. O próximo passo é atribuir números binários aos estados. Lembremos que o elemento que armazena o estado é, em última análise, uma célula binária, que só pode armazenar zero ou um. Atenção Foi dito que o que armazena o estado é uma célula binária uma vez que os latchs e os �ip-�ops contêm células binárias em seu circuito interno. (Fonte: Shutterstock). Voltando ao exemplo do sinal de trânsito, a máquina de estados tem quatro estados. Assim, serão necessários dois �ip-�ops para armazenar o binário que representa o estado. Faremos a seguinte associação: Estado 1 – 00, estado 2 – 01, estado 3 – 11, estado 4 – 10. Observe que essa associação não é a intuitiva, mas, por outro lado, ela é um código gray (distante unitário em estados adjacentes). Essa escolha minimiza a chance de a máquina de estados mudar de estado aleatoriamente por glitch. Atenção Um glitch é uma transição de estado não prevista em projeto, que pode ocorrer por algum bug ou efeito eletrônico indesejado. Um glitch não é previsível em projeto. Veja a seguir a máquina de estados com os estados numerados em binário. Figura 2 – Máquina com estados atribuídos | Fonte: O autor (2020). O próximo passo é projetar o decodi�cador de próximo estado. Para esse passo, admitiremos que existem dois circuitos temporizadores de 30 segundos e de 6 segundos que são ativados no bordo ascendente do sinal de controle, colocando sua saída em 0, e, após o tempo estipulado, acionam sua saída em 1. O diagrama de tempo a seguir ilustra o funcionamento do temporizador. Figura 3 – Diagrama de tempo de funcionamento do temporizador | Fonte: O autor (2020). Tabela 1 – Tabela verdade do decodificador de próximo estado (Fonte: O autor (2020). As entradas do decodi�cador de próximo estado são compostas sempre pelo estado atual e pelas variáveis de controle. No caso do sinal de trânsito A, B (A bit mais signi�cativo do estado, B bit menos signi�cativo), C – 6s (saída do temporizador de 6 segundos) e D – 30s (saída do temporizador de 30 segundos). Com base nisso, podemos construir a tabela verdade do decodi�cador de próximo estado. Observando o autômato, vemos que, nos estados 00 e 11, o autômato muda de estado quando o temporizador de 30 segundos estoura (linhas destacadas em vermelho), caso contrário, permanece no estado atual. E os estados 01 e 10 transitam quando o temporizador de 6 segundos estoura (linhas destacadas em verde). Atenção Vale observar que A e B são os bits que representam o estado atual e A e B representam o próximo estado, isto é, a saída do decodi�cador de próximo estado. t t t+1 t+1 O próximo passo é a escolha do �ip-�op utilizado no projeto do circuito. Flip-�ops JK minimizam o tamanho do decodi�cador de próximo estado. Portanto, utilizaremos esses �ip-�ops. Assim, temos que traduzir o próximo estado da tabela anterior no acionamento do �ip-�op. O resultado é este: Tabela 2 – Tabela verdade do decodificador de próximo estado com flip-flop JK. Fonte: O autor (2020). Na tabela, introduzimos quatro colunas: Ja, Ka, Jb e Kb. Elas são preenchidas de acordo com a transição de estado. Para simpli�car o entendimento, analisaremos somete a transição de uma variável e os comando J e K para essa transição. Vejamos isso na tabela a seguir, cujas entradas são A e A , e cujas saídas são J e K.t t+1 Tabela 3 – Tradução da transição de estados para comandos JK. Fonte: O autor (2020). Em seguida, montamos os mapas de Karnaugh para Ja, Ka, Jb e Kb, os mapas 1, 2, 3 e 4. Mapa 1 – Ja Fonte: O autor (2020). Mapa 2 – Ka Fonte: O autor (2020). Mapa 3 – Jb Fonte: O autor (2020). Mapa 4 – Kb Fonte: O autor (2020). Leitura Após concluído o projeto do decodi�cador de próximo estado, projetaremos o decodi�cador de saída. Temos que projetar 6seg, 30seg (acionamento do temporizador) e ARed, AYellow, AGreen e ARed, BYellow, BGreen, conforme a seguir. Tabela 4 – Decodificador de saída. Fonte: O autor (2020). Algumas saídas são óbvias e não serão calculadas, resultando o circuito a seguir. Figura 4 – Circuito sequencial de controle de semáforo | Fonte: O autor (2020). Registrador de deslocamento Antes de estudarmos os registradores de deslocamento, entenderemos as operações shift left (deslocamento para a esquerda) e shift right (deslocamento para a direita). As operações de deslocamento são essenciais para a computação, pois toda unidade lógica aritmética tem um registrador de deslocamento associado. O propósito do registrador de deslocamento é realizar a multiplicação ou a divisão de um binário por 2. Em base 10 �ca fácil de entendermos. Quando multiplicamos um número por dez, deslocamos seus algarismos para a esquerda, introduzindo o algarismo zero no dígito menos signi�cativo. Exemplo Por exemplo, 1432 x 10 = 14320, todos os dígitos foram deslocados para direita e o dígito zero foi introduzido no local relativo à ordem das unidades. Analogamente, quando dividimos por 10, deslocamos os algarismos do número para a direita. Por exemplo, 32457 / 10 = 03245, o algarismo 7 é desprezado e todos os outros são deslocados de uma posição para a direita. O análogo acontece em binário. Quando multiplicamos por 2, 10 em binário, deslocamos os dígitos do número para a esquerda. Por exemplo, 73 em binário com 8 bits é 01001001. Se multiplicarmos por dois, isto é, realizarmos o deslocamento para a esquerda, teremos 10010010, que é 146. Já se realizamos o deslocamento para a direita, teremos 00100100, que é 36, resultado da divisão inteira por dois. Figura 5 – 74194 – Registrador de deslocamento de 4 bits. Fonte: Texas Instruments (1981). O circuito responsável pela execução da operação de deslocamento é o registrador de deslocamento (shift register). Assim como os circuitos combinacionais MSI (MediumScale of Integration), os registradores de deslocamento são produzidos como circuitos integrados e a implementação mais comum é o 74194, que é um registrador de deslocamento bidirecional de quatro bits. Seu diagrama esquemático está representado a seguir. Os pinos do circuito integrado podem ser agrupados por funcionalidade: Controle, Entrada e Saída. Pinos de controle: Clear (assíncrono), S0, S1 e clock. 1 O sinal clear é ativado em lógica negativa, isto é, quando clear = 0, todas as quatro células do registrador armazenam zero independentemente de qualquer outro sinal de controle ou estado do clock (por isso dizemos que o clear é assíncrono). 2 S0 e S1 determinam o funcionamento síncrono do registrador. O funcionamento está descrito a seguir. Tabela 5 – Funcionamento do 74194 – Registrador de deslocamento de 4 bits. Fonte: Fairchild Semiconductor Corporation (2000). 01 A primeira linha da tabela mostra o clear assíncrono. Veja que não importa qualquer outro sinal de controle que oregistrador armazena 0000, Qa, Qb, Qc e Qd. 02 A segunda linha da tabela mostra a operação de carga paralela, S0=1 S1=1. Os elementos de memória são carregados com os bits apresentados na entrada paralela a, b, c, d. O carregamento ocorre no bordo ascendente do clock, ou seja, o registrador se comporta como um �ip-�op. Por exemplo, se fosse apresentado a=0, b=1, c=1 e d=1, com S0=1, S1=1 e no bordo ascendente do clock, os elementos de memória armazenariam Qa=0, Qb=q, Qc=1, Qd=1. 03 A terceira linha mostra uma operação de deslocamento para a direita, S0=0 e S1=1, no bordo ascendente do clock. O bit z é armazenado em Qa, e a, b e c, que estavam armazenados em Qa, Qb e Qc, são deslocados para Qb, Qc e Qd, respectivamente. Por exemplo, se 0 for apresentado na entrada serial direita, S0=0, S1=1 e Qa=1, Qb=0, Qc=0 e Qd=1, após o clock, teremos Qa=0, Qb=1, Qc=0 e Qd=0. 04 A quarta linha é a operação de deslocamento para a esquerda. A operação pode ser descrita de forma análoga àoperação de deslocamento para a direita. 05 A quinta linha é o comando de hold, S0=0 e S1=0. Nesse comando, o registrador mantém os dados armazenadosnão importando o que é apresentado nas entradas. Internamente, o registrador de deslocamento é construído com a composição de componentes como mostrado a seguir. Observe que podemos dividir o esquemático em dois blocos: Os elementos de memória, no caso, os �ip-�ops RS; e o decodi�cador de próximo estado, que é composto pelo conjunto de portas na parte superior do esquemático. Figura 6 – Diagrama interno do registrador de deslocamento 74194 | Fonte: Texas Instruments (1981). Atividade 1. Projete o circuito combinacional que se comporta como o autômato, da �gura a seguir, utilizando �ip-�ops JK. Notas Referências MALVINO, A.; BATES, D. Eletrônica. 8. ed. Porto Alegre: AMGH, 2016. v. 1. TEXAS INSTRUMENTS. The TTL data book for design engineers. 2. ed. Dallas: Texas Instruments, 1981. p. 5-50. TOKHEIM, R. Fundamentos de eletrônica digital: sistemas combinacionais. 7. ed. Porto Alegre: AMGH, 2013. v. 1. (Série Tekne) Próxima aula Contadores síncronos e assíncronos. Explore mais Leia o livro O básico sobre eletrônica digital. . javascript:void(0);
Compartilhar