SISTEMAS DIGITAIS Síntese com um flip-flop por estado Prof. Carlos Sêrro Adaptado para lógica positiva por Guilherme Arroz Dezembro de 2005 Sistemas Digitais 1 Métodos de síntese Prof. Carlos Sêrro A síntese clássica que estudámos anteriormente tem um inconveniente: é morosa e complexa quando o número de entradas externas, de saídas e de estados é muito elevado Os quadros de Karnaugh e as tabelas de excitações e de saídas são muito grandes Seria interessante outro método de síntese que fosse mais simples Dezembro de 2005 Sistemas Digitais 2 Métodos de síntese Prof. Carlos Sêrro Existem várias alternativas de síntese, mais ou menos complexas Usando contadores, registos, etc. No nosso curso vamos estudar um outro método, designado por síntese com 1 FF por estado O logigrama do circuito (o “produto” final do processo) é obtido directamente a partir do diagrama de estados Dezembro de 2005 Sistemas Digitais 3 Métodos de síntese Prof. Carlos Sêrro Este método não usa tabelas de excitação nem quadros de Karnaugh Naturalmente, trocamos a simplicidade da síntese por mais lógica Mais FFs: em vez do número mínimo de FFs, usamos 1 FF por estado Ex: para 5 estados usamos 5 FFs, em vez de 3 Mais lógica nas excitações (porque usamos mais FFs) Dezembro de 2005 Sistemas Digitais 4 Síntese c/ 1 FF por estado Prof. Carlos Sêrro O princípio em que se baseia este método resulta de conseguirmos estabelecer uma relação biunívoca entre partes do diagrama de estados e partes do logigrama final do circuito Dezembro de 2005 Sistemas Digitais 5 Síntese c/ 1 FF por estado Prof. Carlos Sêrro Quando a máquina está num determinado estado actual, a saída desse FF, no circuito, está activa, e as saídas dos outros estão inactivas Com o aparecimento de um flanco de comutação, a máquina passa ao estado seguinte, e o FF correspondente a esse estado passa agora a ter a sua saída activa e os outros não Dezembro de 2005 Sistemas Digitais 6 Síntese c/ 1 FF por estado Prof. Carlos Sêrro Em resumo, em cada período de relógio apenas um FF tem a saída activa Ou seja, obtemos, no fim, uma espécie de registo de deslocamento complexo Evidentemente, temos de definir um estado inicial para a máquina, activando a saída desse FF e desactivando todas as outras Activando inicialmente as entradas de Preset e de Clear assíncronas Dezembro de 2005 Sistemas Digitais 7 Síntese c/ 1 FF por estado Prof. Carlos Sêrro Consideremos de novo o diagrama de estados de Mealy do detector de sequências 0101 sobrepostas, e vamos sintetizá-lo com 1 FF por estado Dezembro de 2005 Sistemas Digitais 8 Síntese c/ 1 FF por estado Prof. Carlos Sêrro Começamos por perceber que, se temos 4 estados vamos ter 4 flip-flops A seguir convém estabelecer o estado inicial, A, fazendo o Preset assíncrono do FF A e o Clear dos restantes Dezembro de 2005 Sistemas Digitais 9 Síntese c/ 1 FF por estado Prof. Carlos Sêrro O estado A é estado seguinte do estado actual A se X=1, ou do estado actual C se X=1 DA = QA X + QC x Dezembro de 2005 Sistemas Digitais 10 Síntese c/ 1 FF por estado Prof. Carlos Sêrro O estado B é estado seguinte do estado actual A se X=0, ou do estado actual B se X=0, ou do estado actual D se X=0 DB = QA X + QB X + QD X Dezembro de 2005 Sistemas Digitais 11 Síntese c/ 1 FF por estado Prof. Carlos Sêrro O estado C é estado seguinte do estado actual B se X=1, ou do estado actual D se X=1 DC = QB X + QD X Dezembro de 2005 Sistemas Digitais 12 Síntese c/ 1 FF por estado O estado D é estado seguinte do estado actual C se X=0 Prof. Carlos Sêrro QD = QC X Dezembro de 2005 Sistemas Digitais 13 Síntese c/ 1 FF por estado Finalmente, a saída Z vem a 1 no estado D se e só se X=1 Prof. Carlos Sêrro Z = QD X Dezembro de 2005 Sistemas Digitais 14 Prof. Carlos Sêrro Síntese c/ 1 FF por estado Dezembro de 2005 Sistemas Digitais 15 Síntese c/ 1 FF por estado Prof. Carlos Sêrro Transição incondicional Vamos incondicionalmente de um estado actual A para um estado seguinte B (qualquer que seja o valor lógico nas entradas, no exemplo X) Dezembro de 2005 Sistemas Digitais 16 Síntese c/ 1 FF por estado Prof. Carlos Sêrro Transição incondicional Quando a máquina está no estado A, a saída do FF A está activa e a do FF B está inactiva Quando a máquina passa ao estado B, a saída do FF B vem activa e a do FF A vem inactiva Dezembro de 2005 Sistemas Digitais 17 Síntese c/ 1 FF por estado Prof. Carlos Sêrro Transição condicionada ou “fork” Vamos de um estado actual A para um de vários estados seguintes, consoante o valor lógico numa ou mais entradas (no exemplo apenas uma entrada, X, logo transita-se de A para B ou para C) Dezembro de 2005 Sistemas Digitais 18 Síntese c/ 1 FF por estado Prof. Carlos Sêrro Transição condicionada ou “fork” Quando a máquina está no estado A, a saída do FF A está activa e as dos outros estão inactivas Quando a máquina passa ao estado B, por exemplo,a saída do FF B vem activa e as dos outros vêm inactivas Dezembro de 2005 Sistemas Digitais 19 Síntese c/ 1 FF por estado Prof. Carlos Sêrro Convergência ou “join” Vamos de um de entre vários estados actuais para um estado seguinte comum Na sua forma mais simples, essas transições não dependem dos valores lógicos nas entradas Dezembro de 2005 Sistemas Digitais 20 Síntese c/ 1 FF por estado Prof. Carlos Sêrro Saídas de Mealy ou saídas condicionadas Os dois exemplos possíveis são Z=X ou Z=X Z=X Z=X Dezembro de 2005 Sistemas Digitais 21 Síntese c/ 1 FF por estado Saídas de Mealy ou saídas condicionadas Prof. Carlos Sêrro Dezembro de 2005 Sistemas Digitais 22 Síntese c/ 1 FF por estado Prof. Carlos Sêrro Saídas de Moore ou saídas incondicionais Os dois exemplos possíveis são Z=0 ou Z=1 Z=1 Z=0 Dezembro de 2005 Sistemas Digitais 23 Síntese c/ 1 FF por estado Saídas de Moore ou saídas incondicionais Prof. Carlos Sêrro Dezembro de 2005 Sistemas Digitais 24