Circuitos sequenciais síncronos Considerações gerais Modelos de Mealy e de Moore Projecto de circuitos sequenciais síncronos Usando lógica discreta Usando ROMs 2 1
Um contador ou um registo como os que foram estudados são circuitos sequenciais síncronos. O estado do circuito é garantido por uma configuração de estados de flip-flops e essa configuração pode ser alterada, tendo em conta o estado presente e as entradas, no momento em que surge o flanco activo do impulso de relógio a sincronização. De um ponto de vista formal, um circuito sequencial síncrono é a implementação física de uma máquina de estados. 3 Uma máquina de estados é definida pelos seguintes seis componentes: As possíveis combinações de entradas que controlam a máquina de estados. As possíveis combinações de saídas que são geradas pela máquina de estados. O conjunto de estados da máquina. 4 2
A função de transição de estados, que determina de que modo a máquina evolui entre estados, de acordo com o estado presente e a combinação presente nas entradas. A função de saída, que determina qual a saída gerada pela máquina para um dado estado e uma dada combinação de entradas. O estado inicial no qual a máquina de estados deve iniciar o seu funcionamento. 5 Considere-se a máquina de estados correspondente a um contador binário de 3 bits bidireccional com indicação de ter chegado ao fim da contagem. A máquina tem apenas uma entrada Dir que define se o contador conta ascendentemente (Dir = 0) ou descendentemente (Dir = 1). Do mesmo modo a máquina tem uma saída que indica, no caso Dir = 0 se a contagem é 7 e, se Dir = 1 se a contagem é 0. 6 3
A máquina tem oito estados: 0, 1, 2, 3, 4, 5, 6 e 7. A função transição de estados é a seguinte: Definida por uma tabela de estados Definida por um diagrama de estados 7 A função de saída correspondente à contagem terminal é descrita pela seguinte tabela: Mas existem ainda as saídas correspondentes à contagem que são três bits com a configuração binária do estado. O estado inicial é o estado 0 8 4
O circuito que implementa a máquina de estados é dado pelo seguinte diagrama de blocos: Estado Flip-flops Função transição de estado e função de saída 9 Há dois modelos para uma máquina de estados e para o circuito digital correspondente que, diferindo apenas nas funções de saída, acabam por criar sistemas com comportamentos significativamente diferentes. 10 5
No modelo de Mealy a função de saída é tal que as saídas dependem do estado actual da máquina, bem como das suas entradas. Isso permite que uma máquina de estados reaja imediatamente a uma mudança nas entradas. No caso do contador bidireccional citado, a saída de contagem terminal depende do estado em que a máquina está e também da entrada. Se a contagem for 7 e a variável Dir = 0, a saída está activada. Se, com o mesmo estado, Dir se alterar e passar a 1, a saída, passa a 0. 11 No modelo de Moore a função de saída é tal que as saídas dependem apenas do estado actual da máquina, sem ter em conta as suas entradas. Isso inibe que uma máquina de estados reaja imediatamente a uma mudança nas entradas. No caso do contador bidireccional citado, as saídas correspondentes à contagem são deste tipo. A contagem não se altera com o valor de Dir. 12 6
A representação da arquitectura do circuito nos dois modelos é como segue: Modelo de Mealy Modelo de Moore 13 Que raio andam vocês a fazer e o que pensam que é a engenharia? 14 7
O projecto de um circuito sequencial síncrono passa pelas seguintes fases: Especificação formal, usando máquinas de estados através de, tabelas ou diagramas de estados ou fluxogramas. Simplificação da especificação (se necessário). Codificação dos estados. Definição da arquitectura do circuito. Determinação das funções lógicas de saída e do estado seguinte. 15 Vai-se exemplificar o projecto com a concepção do contador bidireccional referido. A concepção é bastante simples porque já dispomos da tabela de estados. Ver-se-á mais adiante, como se concebe um circuito em que a descrição comportamental não produz directamente uma tabela de estados. 16 8
Especificação formal usando, neste caso, tabelas. Já conhecemos as tabelas de estado e de saídas. 17 Codificação de estados O circuito vai ser suportado em três flip-flops porque há oito estados. Como se pretende um contador binário, o mais adequado é codificar cada estado pela sua representação em binário. 18 9
Definição da arquitectura do circuito. Escolhamos flip-flops JK edge-triggered e a seguinte arquitectura. 19 Lógica de transição de estados. Comecemos por traduzir a tabela de estados do circuito para uma tabela de configurações dos flip-flops. 20 10
A forma de conseguir que um flip-flop assuma um determinado valor, é colocar nas suas entradas (neste caso J e K) os valores adequados. Para isso é necessário definir quais são esses valores e fazer a tabela de excitação. Por exemplo, se um flip-flop está a 0 e deve continuar a 0, há duas hipóteses de valores para J e K: J = K = 0, o que indica manter o estado ou J = 0 e K = 1, o que indica ir para 0. Portanto basta que J = 0. K é indiferente. 21 Tabela de excitação do flip-flop JK. Repare-se na quantidade apreciável de indiferenças que vai possibilitar a simplificação das funções. 22 11
Pode-se agora passar a tabela do estado seguinte para as entradas presentes necessárias para garantir as transições pretendidas. 23 E o resultado global é: 24 12
As variáveis J i e K i são agora funções combinatórias de Q 2, Q 1, Q 0 e Dir cujas expressões se podem obter pelos mapas de Karnaugh. No caso do flip-flop 0, é fácil obter directamente da tabela J 0 = K 0 = 1. 25 26 13
Lógica de saída. 27 E o circuito é, portanto, o seguinte: Para não se complicar mais não se desenha o circuito da saída. 28 14
Uma alternativa seria construir o circuito com flip-flops D. Só há que ter em consideração que a tabela de excitação dos flip-flops D é: Obter-se-iam menos funções (metade) mas sem indiferenças o que iria conduzir a expressões (e circuitos) de maior complexidade. 29 Um método alternativo de implementar este circuito é usar uma ROM para implementar as funções combinatórias. Com este tipo de abordagem é preferível usar flip-flops D. O circuito pode ser representado em diagrama de blocos como se ilustra no próximo slide. 30 15
31 A tabela com o conteúdo da ROM resulta da reorganização das tabelas de estados e de saídas. 32 16
Livro recomendado, Capítulo 7 (esta aula e as imediatamente seguintes vão abordar este capítulo mas, por razões operacionais, não pela ordem exacta com que a matéria é lá exposta) Existem muitos livros com capítulos sobre o assunto. A Internet é, como de costume, uma fonte que, explorada com espírito crítico, tem muito para dar. 33 17