Sumário Introdução ao projecto de lógica sequencial. Índice Modelos e Procedimentos Abstracção de elementos com estado Formas de lógica sequencial Representação de Máquinas de Estados Finitas Parte da aula é baseada nos slides disponibilizados no curso: CS 5: Components and Design Techniques for Digital Systems, Katz, Fall 2, University of Berkeley Modelos e Procedimentos 2 Modelos para representar circuitos sequenciais Máquinas de estados finitas (Moore e Mealy) Representação de memória (estados) Mudanças de estados (transições) Procedimentos de projecto Diagramas de estados Tabelas de transições de estados Funções de próximo estado
Abstracção de elementos com estado Dividir o circuito em lógica combinatória e estado Localizar realimentações e tornar fácil o corte de ciclos Implementação de elementos de armazenamento leva a várias formas de lógica sequencial 3 Abstracção de elementos com estado Entradas Lógica combinatória Saídas Entradas dos Estados Elementos de Armazenamento Saídas dos Estados 4 2
Formas de lógica sequencial Lógica sequencial assíncrona mudanças de estados ocorrem sempre que as entradas dos estados mudam (os elementos podem ser simples fios ou elementos de atrasos) Lógica sequencial síncrona mudanças de estados ocorrem em passos por todos os elementos de armazenamento (utilizando uma onda periódica - o relógio) 5 Clock Representação de Máquinas de Estados Finitas Estados: determinado pelos valores possíveis nos elementos de armazenamento sequencias Transições: mudança de estado Relógio: controla quando o estado pode mudar ao controlar os elementos de armazenamento In = In = In = In = 6 3
In = In = In = Representação de Máquinas de Estado Finitas In = Lógica sequencial: Sequências sobre uma série de estados Baseada em sequências de valores nos sinais de entrada Período do relógio define elementos de sequência 7 IN CLK 8 Pode qualquer Sistema Sequencial ser representado por um diagrama de estados? OUT OUT2 OUT3 D Q D Q D Q Registo de Deslocamento Valor de entrada representado nos arcos de transição Valores de saída representados nos nós de estado 4
Contador Contadores são Máquinas Sequenciais Finitas simples Procede pela sequência bem definida de estados em resposta ao enable Muitos tipos de contadores: binário, BCD, código de Gray contador crecente de 3-bits:,,,,,,,,,... contador decrescente de 3-bits:,,,,,,,,,... 9 Contadores são Máquinas Sequenciais Finitas simples Diagrama de Estados de um contador binário crescente 5
Como se torna um diagrama de estados em lógica? Contador de 3-bits crescente 3 Flip-Flops para guardar o estado Lógica para computar o próximo estado O sinal de relógio controla quando a memória dos flip-flops pode mudar Esperar o tempo suficiente para que a lógica combinatória compute o novo valor Não esperar demasiado tempo, pois isso é baixodesempenho Como se torna um diagrama de estados em lógica? Contador de 3-bits crescente OUT OUT2 OUT3 D Q D Q D Q CLK "" 2 6
Procedimento de projecto para FSMs Começar pelos contadores Simples, porque a saída é apenas estado Simples, porque não é necessário seleccionar o próximo estado baseado na entrada Diagrama de estados para a tabela de transição de estados Forma tabular do diagrama de estados Como uma tabela de verdade 3 Procedimento de projecto para FSMs Codificação de estados Decidir a representação de estados Para contadores é simples: o valor Implementação Flip-flop para cada bit de estado Lógica combinatória baseada na codificação 4 7
5 Procedimento de projecto para FSMs Forma tabular do diagrama de estados Como uma tabela de verdade (especificar a saída para todas as possíveis entradas) Codificação de estados: fácil para contadores utilizar apenas o valor Contador de 3 bits crescente Estado actual 2 2 3 3 4 4 5 5 6 6 7 7 Próximo estado 8