SISTEMAS DIGITAIS Síntese clássica de circuitos sequenciais síncronos Prof. Carlos Sêrro Alterado para lógica positiva por Guilherme Arroz Novembro de 2005 Sistemas Digitais 1 Diagramas de estado Prof. Carlos Sêrro A síntese de um circuito sequencial síncrono segue, naturalmente, uma sequência de passos oposta à da análise que estudámos anteriormente Em geral começa-se o processo de síntese pela elaboração do diagrama de estados da máquina sequencial, a partir de uma descrição em língua natural (português) Novembro de 2005 Sistemas Digitais 2 Diagramas de estado Prof. Carlos Sêrro Põe-se, assim, o problema da concepção de um diagrama de estados a partir da descrição do funcionamento de uma máquina sequencial Este é um método heurístico A melhor forma de aprender a gerar diagramas de estados é estudar vários exemplos Novembro de 2005 Sistemas Digitais 3 Detector da sequência 0101 Prof. Carlos Sêrro Admitamos que pretendíamos obter um circuito que identifique a ocorrência da sequência binária 0101 na sua (única) entrada Quando isso ocorrer, e só nessas circunstâncias, a saída do circuito deve vir a1 Este circuito é um detector da sequência 0101 Novembro de 2005 Sistemas Digitais 4 Detector da sequência 0101 O circuito pretendido possui o seguinte diagrama de blocos Prof. Carlos Sêrro Novembro de 2005 Sistemas Digitais 5 Detector da sequência 0101 Prof. Carlos Sêrro Começamos por optar por uma máquina de Mealy ou de Moore Se optarmos por uma máquina de Moore, a saída só passará a 1 depois do último bit da sequência, se esta tiver sido completamente identificada Se optarmos por uma máquina de Mealy, a saída surge em coincidência temporal com o último bit da sequência Novembro de 2005 Sistemas Digitais 6 Detector da sequência 0101 Prof. Carlos Sêrro Por outro lado, se o último bit da sequência tiver uma duração encurtada, então a saída da máquina de Mealy também tem a sua duração encurtada Mas a máquina de Moore terá uma saída com a duração exacta de um período de relógio, qualquer que seja a duração do último bit da sequência Novembro de 2005 Sistemas Digitais 7 Detector da sequência 0101 Prof. Carlos Sêrro Admitiu-se o uso de FFs ET a comutar nos flancos descendentes Novembro de 2005 Sistemas Digitais 8 Detector da sequência 0101 Prof. Carlos Sêrro Comecemos por gerar o diagrama de estados de uma máquina de Moore que detecta as sequências 0101 Mais tarde geraremos o diagrama de estados de uma máquina de Mealy Novembro de 2005 Sistemas Digitais 9 Detector da sequência 0101 Prof. Carlos Sêrro Começamos por um estado inicial, digamos o estado A O facto de se tratar de um estado inicial vem representado pela seta que vai parar ao estado A Novembro de 2005 Sistemas Digitais 10 Detector da sequência 0101 Prof. Carlos Sêrro Notar como se tem Z=0 no estado A porque ainda não estão reunidas as condições para gerar Z=1 Isto é, ainda não foi detectada a sequência 0101 Z=0 no estado A Novembro de 2005 Sistemas Digitais 11 Detector da sequência 0101 Prof. Carlos Sêrro Estando no estado A, vamos para um outro estado, B, se a entrada tiver o valor 0, mas ficamos no estado A se a entrada tiver o valor 1 No estado B temos Z=0 (ainda não temos a sequência detectada) X=0 no estado A Novembro de 2005 Sistemas Digitais 12 Detector da sequência 0101 Prof. Carlos Sêrro Estando no estado B, vamos para um outro estado, C, se a entrada tiver o valor 1 Mas ficamos no estado B se a entrada tiver o valor 0 Pode ser o início de uma sequência No estado C temos Z=0 (ainda não temos a sequência detectada) Novembro de 2005 Sistemas Digitais 13 Detector da sequência 0101 Continuemos com um estado D Prof. Carlos Sêrro Não pode ser início de uma sequência Novembro de 2005 Sistemas Digitais 14 Detector da sequência 0101 E com um estado E Prof. Carlos Sêrro Pode ser início de uma nova sequência Novembro de 2005 Sistemas Digitais 15 Detector da sequência 0101 Finalmente Prof. Carlos Sêrro Novembro de 2005 Sistemas Digitais 16 Detector da sequência 0101 Prof. Carlos Sêrro Notemos como esta máquina permite a detecção de sequências sobrepostas Ex: Z=1 Z=1 Z=1 Novembro de 2005 Sistemas Digitais 17 Detector da sequência 0101 Prof. Carlos Sêrro Como seria se quisessemos desenhar um detector das sequências 0101 que não detectasse sequências sobrepostas? Não vamos dar a resposta Constitui um bom exercício inicial E se quiséssemos um detector de Mealy? Novembro de 2005 Sistemas Digitais 18 Detector da sequência 0101 Diagrama de estados de um detector de Mealy que aceita sequências sobrepostas Prof. Carlos Sêrro Novembro de 2005 Sistemas Digitais 19 Detector da sequência 0101 Prof. Carlos Sêrro Notar a forma como são gerados os diversos valores lógicos na saída Z. Exs: X/Z No estado A a saída vale 0 se a entrada valer 0 Novembro de 2005 Sistemas Digitais No estado D a saída vale 0 se a entrada valer 0 mas Vale 1 se a entrada valer 1 20 Detector da sequência 0101 Prof. Carlos Sêrro Como vimos atrás, a evolução da saída Z é diferente consoante a máquina seja de Mealy ou de Moore Vejamos os diagramas temporais gerados nos dois casos Novembro de 2005 Sistemas Digitais 21 Detector da sequência 0101 Diagramas temporais de Mealy e de Moore Prof. Carlos Sêrro Novembro de 2005 Sistemas Digitais 22 Detector da sequência 0101 Diagramas temporais de Mealy e de Moore Prof. Carlos Sêrro Novembro de 2005 Sistemas Digitais 23 Detector da sequência 0101 Diagramas temporais de Mealy e de Moore Prof. Carlos Sêrro Novembro de 2005 Sistemas Digitais 24 Síntese clássica Prof. Carlos Sêrro Agora que já sabemos gerar diagramas de estado (ou as equivalentes tabelas de estados e de saídas) podemos prosseguir com o processo de síntese Já conhecida da síntese dos contadores com ciclos de contagem arbitrários Também conhecida através do processo de análise da aula anterior (é ao “contrário”) Novembro de 2005 Sistemas Digitais 25 Síntese clássica Prof. Carlos Sêrro Vejamos os passos da síntese dita clássica, depois de estabelecido o diagrama de estados ou a tabela de estados/saída mais tarde aprenderemos outro processo de síntese, designado por síntese com 1 FF por estado Novembro de 2005 Sistemas Digitais 26 Síntese clássica Prof. Carlos Sêrro 1º passo: escolha dos FFs Nº mínimo (1) de FFs e tipo (D, JK, etc.) Escolha arbitrária, não havendo garantia de minimizações Geramos a tabela de excitações dos FFs que tivermos escolhido (1) Não é garantido que um número mínimo de Flip-flops dê um circuito mais simples Novembro de 2005 Sistemas Digitais 27 Síntese clássica com FFs D Vamos exemplificar com o detector de Mealy das sequência 0101 sobrepostas Prof. Carlos Sêrro Novembro de 2005 Sistemas Digitais 28 Síntese clássica com FFs D Prof. Carlos Sêrro Passo prévio: geração da tabela de estados/saída a partir do diagrama de estados Notar como a saída Z vem a 0 nos estados A, B e C, e igual a X no estado D Como podemos identificar os valores em Z directamente no diagrama de estados? Novembro de 2005 Sistemas Digitais 29 Síntese clássica com FFs D Prof. Carlos Sêrro Verifica~se que a máquina é de Mealy por causa dos valores de saída no estado D Porque nos outros estados a saída só depende do estado actual, mas não da entrada actual Saída de Moore nos estados A, B e C Saída de Mealy no estado D máquina de Mealy Novembro de 2005 Sistemas Digitais 30 Síntese clássica com FFs D Escolhemos usar FFs do tipo D Prof. Carlos Sêrro mais tarde repetiremos a síntese clássica com FFs JK precisamos de 2 na síntese clássica (o menor número de FFs 22 = 4 estados) Não importa se eles possuem estrutura MS ou ET, se comutam no flanco ascendente ou descendente. Têm de ser todos iguais. Só quando desenharmos o logigrama é que iremos tomar essa decisão Novembro de 2005 Sistemas Digitais 31 Síntese clássica Prof. Carlos Sêrro 2º passo: codificação dos estados Em princípio, arbitrária ao contrário do que sucedia na síntese dos contadores síncronos, em que a codificação dos estados era imposta pela sequência de contagem pretendida Porém, razões de natureza prática podem impôr determinadas codificações (ver à frente) Obtemos a tabela de transições e de saída do circuito Novembro de 2005 Sistemas Digitais 32 Síntese clássica com FFs D Prof. Carlos Sêrro Porque queremos que a máquina inicie o seu funcionamento pelo estado A, precisamos de fornecer inicialmente uma configuração aos FFs correspondente a esse estado, actuando entradas de PRESET ou de CLEAR assíncronas no “power on” As entradas assinc. a utilizar dependem da codificação que escolhermos para o estado A Novembro de 2005 Sistemas Digitais 33 Síntese clássica com FFs D Prof. Carlos Sêrro Porque alguns FFs comerciais apenas possuem entrada de CLEAR, é razoável codificarmos o estado A com Q1Q0 = 00 Por outro lado, a saída, nesta máquina vale 1 apenas numa situação, quando a máquina está no estado actual D e X = 1 Novembro de 2005 Sistemas Digitais 34 Síntese clássica com FFs D Prof. Carlos Sêrro Então, a função de saída mais simples é a que resulta do produto lógico entre as saídas dos FFs e a variável de entrada. Por isso convém que o estado D seja codificado com Q1Q0 = 11 Originando, desta forma, Z = XQ1Q0 Novembro de 2005 Sistemas Digitais 35 Síntese clássica com FFs D Prof. Carlos Sêrro As restantes codificações são irrelevantes Escolhemos a seguinte codificação de estados para a nossa máquina Novembro de 2005 Sistemas Digitais 36 Síntese clássica Prof. Carlos Sêrro 3º passo: obtemos a tabela de excitações do circuito Obtida a partir da tabela de transições do 2º passo e da tabela de excitações dos FFs A tabela de excitações do circuito descreve as excitações a aplicar aos FFs para obter as transições descritas no diagrama de estados (e na tabela de transições) Descreve os circuitos combinatórios de excitação Novembro de 2005 Sistemas Digitais 37 Síntese clássica com FFs D Prof. Carlos Sêrro Nestas condições, obtemos a seguinte tabela de transições e de saídas neste passo Novembro de 2005 Sistemas Digitais 38 Síntese clássica com FFs D Prof. Carlos Sêrro Então, para passar da tabela de transições obtida no 2º passo para a tabela de excitações do circuito (que queremos obter no 3º passo) basta mudar o nome das colunas, de Q(t+1) para D(t) Novembro de 2005 Sistemas Digitais 39 Síntese clássica com FFs D Obtemos, então, a seguinte tabela de excitações do circuito Prof. Carlos Sêrro Novembro de 2005 Sistemas Digitais 40 Síntese clássica Prof. Carlos Sêrro 4º passo: obtemos os quadros de Karnaugh e as equações lógicas de excitação dos FFs Obtidos a partir da tabela de excitações do circuito do 3º passo Com a tabela de saídas obtemos as equações das saídas Novembro de 2005 Sistemas Digitais 41 Síntese clássica com FFs D Prof. Carlos Sêrro 4º passo. Para todos os efeitos, já definimos na tabela de excitações do circuito os circuitos combinatórios de excitação dos FFs A tabela de excitações do circuito está toda definida no instante t, logo estabelece circuitos combinatórios para D1 e D0 em função de Q1, de Q0 e de X Novembro de 2005 Sistemas Digitais 42 Síntese clássica com FFs D Prof. Carlos Sêrro Só falta introduzirmos essa informação em quadros de Karnaugh Relembrar a geração da saída: Z=XQ1Q0 Novembro de 2005 Sistemas Digitais 43 Síntese clássica com FFs D E dos quadros de Karnaugh obtemos as equações de excitação e de saída Prof. Carlos Sêrro Novembro de 2005 Sistemas Digitais 44 Síntese clássica com FFs D Prof. Carlos Sêrro 5º passo: Destas equações podemos deduzir o logigrama do circuito Naturalmente, agora precisamos de estabelecer a estrutura dos FFs D utilizados Escolhemos FFs ET a comutar nos flancos descendentes Mas podíamos ter escolhidos outras estruturas para os FFs do tipo D Novembro de 2005 Sistemas Digitais 45 Síntese clássica com FFs D Prof. Carlos Sêrro A activação de Reset no “power on” permite a imposição do estado inicial A codificado com Q1Q0 = 00 Novembro de 2005 Sistemas Digitais 46 Síntese clássica com FFs JK Prof. Carlos Sêrro A síntese clássica com FFs JK segue todos os passos da síntese anterior A única diferença reside nas tabelas de excitação dos FFs (JK em vez de D) Novembro de 2005 Sistemas Digitais 47 Síntese clássica com FFs JK Prof. Carlos Sêrro Como consequência dessa escolha, obtemos diferentes tabelas de excitação dos FFs, para a mesma tabela de transições do circuito Novembro de 2005 Sistemas Digitais 48 Síntese clássica com FFs JK Prof. Carlos Sêrro A mesma tabela de transições dá uma tabela de excitações diferente para o circuito Novembro de 2005 Sistemas Digitais 49 Síntese clássica com FFs JK Prof. Carlos Sêrro Naturalmente, a uma tabela de excitações diferente correspondem quadros de Karnaugh diferentes Novembro de 2005 Sistemas Digitais 50 Síntese clássica com FFs JK E a quadros de Karnaugh diferentes corresponde um logigrama diferente Prof. Carlos Sêrro Novembro de 2005 Sistemas Digitais 51 Prof. Carlos Sêrro Comparação dos dois circuitos Novembro de 2005 Sistemas Digitais 52