Você está na página 1de 243
Fro), Otavic CONCEPGAO E PROJETO DE SISTEMAS DIGITAIS volume 1: Estudo da Logica Sequencial circuito combinatério 2:2 loooCrCCOOCOC CC COCCUCC OC OCCUR CCC OC OCC (CCC ° J Prof. Francisco Enéas Lemos coc eee OOO a a INDICE 1. Introdusao... 2 1.1.0 Conceito de Estado de um Sistema, 2. Classificacio dos Sistemas... 43. Projeto de Estruturas Sequenciais, 4. Modelos de Estruturas Digitais Elementares... 4.1. Modelo combinstrio, 42. Modelo Sequence! Assinerono, 43. Modelo Seqiencial Sinerono 5. Sintese de Estruturas Sequenciais Assincronas, 5.1 Bloco Atraso 6. 0 Método Clissico de Huffman. 6.1. A Tabela primitiva de fluxo, 6.2. Diagrama de Estado, 7.0 Processo de Reducio de Tabelas de Fluxo, 71. Defias. 7.2. A Tabela de pares, 73, Obtengéo do Conjunto de Maximos Compatives, 74, Exemplos o1 o 05 07 Ss 1s 1s 15 18 2 30 34 37 jt de Cietos Dips - Prof. Francine Enéas Lemos 8. Designagdo de Estados Internos, i 44 8.1. Designagio por estas ponte. 45 9, Materializagdo da Estrutura Sequencial Assincrona, 0 91,0 proceso de oben das equa ¢ do isco conespondente 0 92, Bxonplos 3 10, Exercicios Resolvidos (sistemas assincronos).... © 11, Simtese de Estruturas Sequencials Sincronas. 4 1.1. Circuits bist incrons, a 11.2. Tipos particulars de best ves 85 3 113, Fora geal de uma eratuasegiencialsincrna.. » § 12. Problemas Resolvidos de Estruturas Sequenciais Sincronas. ee 13. Limitagées do Método Clissico de Huffman, uo 14, Memérias Apenss de Leitura (ROM PROM EPROM). mov 161.0 Artanjo Login Pogranivel (PLA) ie 142. Bxemplos. us | 15, Exercicios Propostos (Sistemas Sincronos) 3 Bo Fy 16, Uma Metodologia para Projetar Sistemas Digitais. siseeeglss 16.1 Conceits bisicos. ee 16.2.0 problema da dscrigo de trea € conesito de ALGORITMO. my 163. O Método de projet 144 Projo de Creo Dgias- Po. Frncino Fd Lemos 17. A Fase de Definigio do Projeto, 147 17.1. Defingdo de médulos Funcionais, 147 172. Definigio de entradas osaidas 148 173. Umexemplo 148 18, A Fase de Descriglo do Projeto. es . 157 e 18.1, Méxoosclsscos de descrigio de miquinassegaeniis. 137 18.2, Descrigdo de operagdes Kgicas com diagramas ASM. 158 ~ 19, A Fase de Sintese do Projet _ 175 - 19.1, Endererament por enlaces. 7 s 19.2 Endereamento do par estado-qualfcador. 182 193, Outras formas de organizagio da alae da meméria 187 194. lmplementagio de um exemple 190 196. Problemasreslvides 204 20, Implementaciio de Circuitos Sequenciais com PALS... 220 20.1. Exemplo de Aplicagio a 224 20.2. Consideragdes sobre a Fase de Sintese do Projeto 234 ~ 21, Bibliografia oa a : 239 - + Projet de Cos Digs - Pro. Frais Eas Lemos 1.- Introdugao: Um sistema pode ser conceituado como um conjunto de gbjetos interligados de maneira que exista algum relacionamento entre os fenomenos que neles ocorrem. Este conceito € bastante genético ¢ pode englobar diversas categorias de sistemas, classificando-os por exemplo de acordo com a natureza dos objetos que deles participam: Sistemas fisicos, biolégicos, econdmicos, sociais, ecoldgicos, ete Uma série de restrigies aos “objetos © as interligagdes” acima mencionadas, permitirdo restringir esta definiglo aos sistemas que sero objeto deste curso. Assim sendo, procura-se orientar os “objetos” ao que se costuma chamar de blocos ou elementos. Estes blocos so dotados de terminais de entrada e terminais de saida caracterizados por atributos mensuréveis (informag6es), que variardo em fungdo do tempo. Devem existir relagdes algébricas bem definidas entre entradas € saidas destes blocos de modo a precisar fungoes de transferéncia que descrevem os fendmenos que ocorrem no sistema. Isto levaré 4 definigdo de modelos reais que deverdo ser utilizados para estudar ¢ resolver problemas de andlise ¢ sintese de Sistemas Digitais. Ao analisar e construir sistemas, desejaremos obter determinados efeitos, relacionados com suas saidas, que decorrerio da aplicagao de entradas, conforme mostra a figura 1.1. Os valores’ das entradas ¢ saidas podem ser reunidos em uma notagdo formal e devem, em qualquer caso, pertencer a conjuntos bem definidos, caracterizando-os como sendo alfabetos de entrada © saida do sistema Projet de Casts Lenco Irani Fé eon e % SISTEMA FIGLI 1.1. 0 conceito de estado de um sistema Pode-se classificar os sistemas em fungdo da escala de tempo em que o ‘mesmo ¢ analisado. Considere, por exemplo, uma variado continua no tempo, 0 que equivale 1 dizer que 0 conjunto dos tempos é indexado pelo conjunto dos nimeros reais, isto caracteriza Sistemas ditos de “tempo continuo”. Outra possibilidade seria considerar apenas valores discretos de tempos, fazendo com que 0 conjunto de tempos seja indexado pelo conjunto dos ‘nlimeros inteiros e 0 sistema denominado “Sistema de Tempo Discreto”. Este assunto sera retornado adiante para classificar os sistemas que serto objeto desse estudo, no s6 em fungio do tempo, mas também da natureza das informagies de entrada nele processadas. Cabe ressaltar apenas que, cefetivamente, os sistemas reais so de tempo continuo, mas em muitos casos $6 interagem com o meio em instantes discretos de amostragem dos sinais, fazendo com que sejam denominados Sistema de Dado: Jos, ou simplesmente Sistemas Amostrados rojo de Cites Lipo Pt Fancy Enéas Lamas Supondo definido, para um determinado sistema, um conjunto de tempos: {1}, wm conjunto de entradas { E } ¢ um conjunto de saidas {Z}, pode-se cespecificar uma possivel funglo de entrada e(T) 7 E onde ¢ é uma fungdo que opera sobre o conjunto de tempos T, fornecendo valores pertencentes ao conjunto de entradas E. Se o sistema considerado for acionado pela aplicagao da entrada durante um certo intervalo de tempo, as saidas podem no ser determinadas de maneira por esta entrada, Isto leva a concluir que seré necessario, além da entrada, conhecer alguma informagao adicional para que a safda seja univocamente determineda Num cireuito elétrico, por exemplo, devemos conhecer as energias armazenai S em capacitores © indutores num determinado instante, para que esta informagdo, adicionada a informacio de entrada neste instante, permita a determinagao da saida. Outro exemplo é o processador, onde 0 conhecimento dos conteiidos de memérias registradores e acumuladores num dado instante é condigao necessaria para determinar quais serio suas saidas nesse instante Determinados sistemas, portanto, possuem, alem dos conjuntos { E }, { Z} © {7} respectivamente denominados de entradas, saidas ¢ tempo, também um novo “Conjunto de Estados Internos” { X } que completa sua descrigao, (Ver figura 1.2.) Projet de Caste Lips ro Francia Hea Lemos SISTEMA e() > {E, 2(> (2) X(t) > {X} FIG. 1.2 (E} = conjunto de Entradas {X} = conjunto de Estados Internos {Z} = conjunto de Saidas £7) =conjunto de Tempos © Estado do sistema num instante de tempo £0 seri, portanto, a informagao que juntamente com conhecimento da entrada neste instante, permitira determinar univocamente a saida ¢ atualizar 0 proprio estado para os instantes seguintes. Os sistemas objeto de estudo deste curso serio chamados “Sistemas Determinados por Estados”, ou seja Uma vez especificado conjunto {E} de entrada, {Z} de saidas, {T} de tempos ¢ { X } de estados, pode-se determinar uma fungdo tal que: + Comhecendo-se 0 estado ¢ a entrada do sistema num dado instante 10, sera sempre possivel determinar a saida em #0, € 0 novo estado num tempo subsequente #1. Esta fungdo é chamada “ Fungdo de transferéncia do sistema”. Proj de Cites Lipo Pro Francis Ens Lemos 2.- Classificacao dos Sistema: A informacdo processada num sistema em fungio do tempo pode ser classificada em 4 grupos, de acordo com a natureza da grandeza que a representa, e do modo de observagio temporal. 2.1. Informacio Analégica: A amplitude do sinal que representa a informagso evolue de forma continua em fungao de tempo, entre valores maximos e minimos (Fig 21) Ao Amix. o Fig. 2.1 - Informagao Analégica 2.2. Informacio Amostrada: A amplitude do sinal que representa a informag2o também evolue em fungio do tempo de maneira continua entre um valor maximo e um valor minimo, Esta amplitude, entretanto, 6 ¢ definida em instantes discretos do tempo, fixedos pela comutagio de um sinal de referéncia. © sinal de referéncia & geralmente periddico, ¢ quando isto ocorre, ¢ representada por uma sequéncia de amostragens com intervalos constantes 0, T, 27, 31... (Fig. 2.2) Ad Amax l w® Amin Fig. 2.2 - Informacao Amostrada Projet decir Lopes - Pro Francia Has Lon 2.3.- Infor ital_assincrona: A amplitude do sinal que representa a informaeao ¢ quantificada ¢ definida de forma continua no tempo ( Fig, 2.3 ), At 10) oO © Fig. 2.3 - Informagdo Digital Assincrona 24.- [nformacio digital sinerong: A amplitude do sinal que representa a informagio ¢ quantficads, © 36 ¢ definida para determinados instantes discretos de tempo, fixados pela comutaglo de um sinal de referéncia denominado telogio. Este sinal de referéncia ¢ geralmente periddico ( Fig. 24) AC) Fig. 24 - Informagdo Digital Sinerona Projet direitos Leas Po Fens En Lemos Da classificagdo de informagdes adotada, decorre uma forma de classificar Sistemas, de acordo com a natureza das informagdes por cle processadas. Esta classificagao & cOmoda, pois permite distinguir diferentes tipos de estruturas ¢ seus métodos de andlise sintese. A tabela da Fig. 2.5 resume esta classificagao. ‘Obvervarto Sincrono, Fig. 2.5 - Tabela de Classificacao dos Sistemas Durante © presente curso, sero estudados apenas os sistemas digitais ronos ¢ assincronos, procurando definir modelos que possam representar estes sistemas, € métodos que permitam a andlise ¢ sintese de estruturas digitais elementares, ‘Também sera admitido que o leitor ja possua conhecimentos basicos das linguagens clissicas para descrigao de operagdes logicas; ou seja ‘+ Expressdes booleanas + Tabela da verdade ‘+ Mapas de Veitch-Karnaugh 3.- O procs }0 de projetar estruturas sequenciais elementares © problema de elaboragdo e sintese de uma estrutura sequencial deve ser resolvido em varias etapas, que podem ser resumidas no esquema da figura 3.1 A primeira etapa consiste da formulagdo escrita do problema, procurando defini-lo completamente, 0 que nem sempre tarefa simples, tendo em vista Projet decir pcos - Pro Hanis Enéa Los que as deserigdes fornecidas a0 projetista so incompletas, ¢ contém inumeras fontes mal entendides. © estudo detalhado do problema ( etapa 2 ), implica em sua total compreensio ¢ definigao clara das condigdes de contorno envolvidas. A sintese prépriamente dita, podera entilo ser realizada As etapas 3 ¢ 4 correspondem a materializagdo da estrutura e verificagao de seu correto funcionamento | Formulagio Ticial do Problema e definigao dos objetivos etapa (1) Fstudo detalhado do problema e sintese etapa (2) estrutura sequencial desejada | Fabricagao ¢ montagem da Estrutura etapa (3) projetada Testes finais de verificagdo ¢ eventual reformulagao do projeto, até funcionamento etapa (4) correto da estrutura Fig. 3.1.- O processo de projetar estruturas sequenciais elementares Cabe ressaltar tambem que 0s custos estio intimamente ligados & solugdo do problema em estudo, tendo em vista que de nada valem solusdes brilhantes ‘mas economicamente invidveis © comportamento de um sistema digital elementar pode ser determinado Pelas relagdes que se estabelecem entre suas varidveis de entrada e saida, A sintese destas estruturas, consiste exatamente em determinar estas relagdes ogicas entre cada uma das varidveis de saida, e as varidveis de entrada cnvolvidas. Estas relagdes,estabelecidas a partir da definigdo © descrig&o do problema, serio sintetizadas ( implementadas ) com base em modelos de estruturas definidos a seguir. Proto dei Logics - ro Fein Ens Leos 4.- Modelos de Estruturas Digitais Elementares 4.1.» Modelo Combinatério As fdas do sistema, s1, s2 ... sm, sto fungdes booleanas binarias apenas das entradas el, e2 ... em do mesmo. Ou seja: 0 conjunto de saidas fornecido pelo sistema num instante ti € perfeitamente determinado conhecendo-se 0 conjunto das varidveis de entrada aplicado a éle nesse instante 2) pea }—+ SI=fl(et,e2..en) 2 __s! Sistema combinatério [> 82° £2(61.e2...en) e+ | Sn fin(el.e2...en) ‘ou genéricamente: § = F [E] Fig. 4.1 - Modelo Combinatério 4.2. Modelo sequencial Assincrono Neste caso, as saidas sto fungdes booleanas ( bindrias ) nao apenas das entradas, mas também do estado interno do sistema sequencial Estas fungdes podem ser definidas de duas maneiras distintas (porém ‘equivalentes) de acordo com a adogo do modelo de Mealy ou de Moore para representagio da maquina sequéncial Preto de Cues Logos Prot ances Enis Leoe 0 Modelo de Moore: A fungao de saida é determinada pelo estado Presente, ¢ a atualizagio de estado ( estado futuro ) depende da entrada presente, ¢ do préprio estado, ou seja zi = fl (x1, x2. xk) w= 2 (x1, x2 0k) conjunto de equacdes de saida zm = fm (x1, x2...3k) Conjunto de equagdes de Estado RL (£4 AC) = QUL xI(t)y x2(C) oa xk(C)5.€1(t), €2¢t) . em(t) | XZ (C+ AL) = g2{ x1(C), x2(0) .. ah(H)s e(t), e2(t) ws em(t) | ak (4 At) = gk [ x1(t)y x2(t) .. ak(1)5 e(t) €2(t) em(t) | Genericamente, podemos escrever dois grupos de equagdes que definem completamente 0 comportamento do sistema: Z(t) = Fi x(t)| ———+ _Equagoes de saida X(t+At) = GI x(0), E(0 | —*Equagies de Estado onde: E conjunto de entradas permitidas pelo sistema Z = conjunto de saidas fornecidas X = conjunto de estados imternos do sistema Pj de Cites Logie Pet. Francisco Ents Lae A figura 4.2 ilustra 0 modelo de Moore, onde F ¢ G so fungées da Algbra booleana binaria, e ( A ) representa um elemento de meméria, capaz de armazenar o estado interno do sistema durante um certo tempo ( A ). @-@ © se —* futuro Estado | presente & 4.2- Modelo de Moore Modelo de Mealy: ( fig. 4.3 ):- Neste modelo, tanto a fungao de saida, como a de atualizagao de estado, dependem da entrada ¢ do estado presente, representados matematicamente como se segue’ ai = ft [ (xt, x2. xk) 5 (el, 2. em) | = MU (x1,x2.. xk); (el, e2..en)] | equagdes de saida m = fin [ (x1, x2... xk) 5 (el, e2..em) | Proto de Cia Lpicos-Pro Pranic Eades Lames © para a fungo de estados AACEF AC = gh | x1), x2(t) . ak(E) $1, €2 ... en(t) | AAC t+ At) = g2 { x1(O), x24)... AK(t) j 1, €2 a(t) | xk( t+ At) = gm | x1(€), x2(6) ... k(t) § e1(6), €2(t) ... em(t) | Generalizando as equagdes. onde F, G sao fungdes booleanas bindrias, e B, Z, X representam os conjuntos ja mencionados anteriormente, temos u(t) = FLX(t). E(t) | ——* conjunto de equacées de saida X(C+ At) = G [ X(t), E(t) | + conjunto de equagdes de estado presente futuro, Fig. 4.3 - Modélo de Mealy Projo de Cc Mga - Pt, Fro Ens Lamas 4.3.» Modelo Sequencial Sincrono Nos modelos sincronos, as interagdes com o sistema se dio em intervalos de tempo bem determinados sob 0 comando de um relégio externo ao circuito, 0 sej Os instantes de comutagto do conjunto de varidveis de entrada saida, ¢ do estado, esto sempre referenciados as variagdes de uma varidvel binaria particular (denominada relégio externo) que chamaremos Rit), © que dentro dos objetivos deste estudo seré sempre periddico (Os modelos de Moore © Mealy anteriormente definidos, podem entio ser reeseritos como sendo: A) Modelo de Moore: (tm) = F [X(t] ————+_equagées de saida X (tm +1) = G[X(tm), E(tm) | —+ — equagdes de estado B) Modelo de Mealy Z (tn) = F | X(tm) , E(tm) | ————+ equagées de saida X (tm +1) = GLX(tm) , E(em) | ——+ equagées de estado Onde as referencias de tempo to, tl. t poderio corresponder aos instantes para os quais 0 relégio externo tenha valor Iégico ZERO ou UM, ‘ow ainda poderdo corresponder apenas aos instantes de variago positiva ou negativa do sinal de rel6gio (sensiveis a borda do sinal de rel6gio). Projet de Cieuits Ligcos Mo Franca Ena eon 1 Fig. 4.4 - Informacao Externa de sincronismo ( sinal de reldgio ) No modelo sequencial sincrono, portanto, a discretizagio da variavel tempo € obtida pela introdugdo da varidvel R(t), que fisicamente corresponderé a um sinal externo de sincronismo, Este sinal ( Relégio ) define, em ultima anilise, os instantes permitidos de interago do sistema com o meio externo, Bl L— sw E® © Estado futuro Estado |g eee atual a RQ) Reldgio Poe de Ceuta Logi - Pro: ri Eds Laos 5.- Sintese de Estruturas Sequenciais Assincronas Dentro dos objetivos deste curso, as estruturas sequenciais abordadas poderio ser descritas utilizando-se 0s modelos de Mealy ou de Moore vistos anteriormente, ¢ serio materializadas através da utilizagio de um conjunto de operadores combinatdrios (blocos ldgicos), ¢ um operador sequencial elementar denominado a Existem numerosos métodos de descrigdo ¢ sintese de estruturas sequenciais clementares, € numa primeira abordagem sera estudado 0 método clissico de Huffman, Isto se deve ao fato de que este método, além de ser extremamente — didatico, permite formalizar (sistematizar) a maioria dos métodos empiricos utilizados na sintese de sistemas sequenciais, visando obter uma descrigdo do sistema na forma de equaydes booleanas. O método de Huffman possui evidentemente uma série de limitagdes, dependendo do tipo de problema abordado, e voltaremos a este assunto posteriormente, 5.t.- Atraso O estudo de estruturas sequenciais pode ser facilitado pela introdugao de ‘um operador denominado A operagao atraso & aquela que controla a ocorréncia de uma determinada v javel depois de um atraso de tempo Ati. Simbélicamente, vamos representar a variével a qual aplicamos um atraso com auxilio deste operador. Projet de Circuits Dgtas- Po: Francisco Enns Lemos 6 Assim sendo: F (t+ Ati) = A(t) significa que a varidvel A é a propria varidvel F deslocada no tempo de um valor Ati. Se considerarmos © intervalo de tempo igual a um atraso genérico A, Podemos representar por F = A. A a fungio, e 0 bloco funcional correspondente esta apresentado na fig. 5.1. ——. 0 operador atraso pode ser de duas naturezas distintas: A Atraso puro (ideal ) Quando qualquer sinal aplicado a entrada do operador aparece identico nna saida, deslocado no tempo de um intervalo igual ao valor do atraso, B.- Atraso inercial E identico ao atraso puro se a duragao do sinal de entrada é maior que 0 valor do atraso, caso contrario, a variagao do sinal de entrada é absorvida, e a saida permanece inalterada. ‘Tomar como exemplo um bloco atraso ( inercial ), cujo valor do atraso ¢ AM. Se a entrada deste atraso esta em valor digital um por longo periodo de ‘tempo, a seguir muda para zero por um tempo menor que Al ¢ volta novamente 4 um, a saida permanece em um, ¢ ignora a mudanga ( ver fig. 5.2). Proj de Cres Digs - Po. rio Fes Lemos Seré admitido no decorrer deste estudo, que os atrasos existentes, representados pelo bloco atraso, serdo sempre do tipo inercial. X(t) Fig. 5.2 - Diagrama de tempo para o bloco atraso Projo de Cin Dips rot ro Hn aoe 6.- 0 Metodo Classico de Huffaman A nogio fundamental vinculada a este método, ¢ a de, estado interno. A anilise do problema considerado ¢ feita pela aplicag#o sucessiva de entradas que fardo evoluir o sistema numa sequéncia de estados. Se associarmos a cada tum destes estados um enderego ( cédigo ), 0 conhecimento deste endereso € das Varidveis de entrada num determinado instante permitiré determinar a saida neste instante, ¢ prever 0 novo estado do sistema nos instantes seguintes, © processo de sintese vai, portanto, se constituir em definit de maneira 6tima a codificagao dos estados, evitando modos de funcionamento erriticos ou ‘do previstos do sistema, ¢ ao mesmo tempo simplificar (minimizat) ao maximo 5 equagdes correspondentes. Vamos procurar escrever equagdes (conforme ja definido no item IV ) dos seguintes tipos: 2) = Fila] | Modalo de Moore x(t+A9 = GIL x(t); EC) | ou z(t) = F2] x(t), E(t) ] Modelo de Mealy x(t+At) = G2[X(), E(t) | onde: E(0), Z(t) e X(t) designam’ variéveis booleanas pertencentes espectivamente aos conjuntos de entradas, saidas e estados internos do sistema no instante t, e F e G silo fungdes da algebra booleana binéria, Projet de Ciaitos gins Pro racic as Lemos ry © proceso de sintese que ser apresentado esta esquematizado no diagrama da Fig. 6.1, ¢ pode ser resumido como se segue: Etapas 12, 3 - Consistem na analise do problema proposto, ¢ posterior formulagdo do mesmo utilizando um mecanismo de descrigio adequado. Serdo apresentados dois mecanismos de descrigiio denominados Tabela primitiva de Fluxo, e Diagrama de Estados. Ambos deverio indicar a forma pela qual o sistema evolui com 0 tempo ( seu conjunto de safdas e de estados internos ), em fungao do conjunto de entradas aplicadas a0 mesmo. Fornecero também, com ou sem redundancias, 0 nimero de estados ios a sintese. Etapa 4 :- Consiste na simpli partir das etapas anteriores. ( etapas 1, 2¢3) ago da descrigdo inicial do problema, obtida a Esta simplificagdo esta baseada na detegdo e eliminagao das redundancias cometidas, procurando reduzir ao minimo o mimero de estados internos necessirios a descrigao do sistema. i Analise Byes Problema ry -Redugio da Tabela de Fluxo i \ t - Escothe dum Estado Inia 5, | Codiicasto dos Estados interns T z Tanai Ts Pr ‘Osco ds Egor Bonlanas 3. de Fluxo ou do diagrama de 6. “ ae soem >, [atamea tna Seneca ig. 6.1.- Descri¢do das Etapas Projet de Cucuits Dgias- Po: rene Ens Lames Etapa 5 :- Nesta etapa € feita a “designagao e estados” internos do sistema. Ela consiste em associar aos estados internos existentes, variiveis booleanas binérias, de modo que a cada estado interno corrresponda uma e uma 86 combinagdo destas varidveis booleanas, ou seja: Os estados internos do sistema devem ser codificados, O problema da designagao de estados & mais complexo, pois o critério de escolha deve levar em consideragao 0 funcionamento correto do dispositivo fisico que ir materializar a descrigdo, e a minimizagdo do nimero de vatidveis internas utilizadas. Este assunto sera retomado com detalhes na segdo 7 Etapa 6 ¢ 7 :- Uma vez concluida a designagao dos estados internos, Pode-se obter as equagdes do sistema sequencial com auxilio dos mapas de Veltch-Kamaugh. Estas equagdes, por sua vez, permitirio a materializagao fisica do circuito sequéncial desejado. 6.4.- A Tabela Primitiva de Fluxo E um mecanismo de descrig&o de tarefas sequenciais, e como tal, deve ermitir que se represente de forma precisa 0 comportamento do sistema em estudo, Como os sistemas estudados neste curso processam informagaes digitais ( sincronas ou assincronas ) ¢ evoluem por estados internos, esta tabela deve fixar estes estados e seu relacionamento. Deve também permitir o conhecimento das saidas do sistema para um determinado conjunto de entradas que the foi aplicado. Projo de Cos Digits - Po. Femcso Enns Lemos a on u 10 A tabela tem a forma mostrada na Fig, 6.2, onde as colunas representam jodas as combinagdes possiveis das entradas permitidas no sistema, e as Linhas epresentam os estados internos tidos como necessitios, A construgio de tabela primitiva de fluxo se faz.a medida em que a tarefa vai sendo descrita, ¢ tem como caracteristica basica possuir apenas um estado estivel por estado interno ( um estado estivel por linha da tabela). Um determinado conjunto de entradas permitidas ( identificagio das colunas ), aplicadas quando o sistema se encontra em um determinado estado interno ( identificagao da linha ), define uma tinica célula da tabela primitiva de fluxo, que sera denominado estado total do sistema. Nesta célula deveré constar o proximo estado interno ( atualizagiio de estado ) ¢ as saidas que o sistema apresenta para o conjunto de entradas que the foi aplicado. A tarefa esta com sua descrigdo completa, quando todas as ccélulas ( estados totais ) da tabela primitiva tivercm sido preenchidas, Seguem-se, dois exemplos do preenchimento de tabelas primitivas de fluxo na solugdo de problemas elementares Proj de Cites Digs -Pro.Fameise Enda Las 2 Exemplo 1 Considerar um dispositive conforme esquematizado na figura (6.3). Fig. 63 Nesta figura, Y e Z so motores alimentados por relés do misnio' nome Quando Y ¢ alimentado, 0 carro se desloca da direita Para a esquerda ¢ quando Z € alimentado, o carro se desloca da esquerda para a diteita. Ae B sto contatos de fim de curso indicando que 0 carro se encontra em uma destas duas posigves Deseja-se descrever um ciclo de operag#o do carro tal que, se for acionado 0 botdo M quando 0 carro estiver em repouso em A, ele deve deixar A. ir até B e voltar novamente a A, onde para ¢ espera que o botio de pressio M seja novamente acionado, Supor também que sempre que 0 carro deixar A iniciando 0 movimento, nfo seri permitido apertar novamente 0 botdo M alé que o ciclo seja completado, Para construir a tabela primitiva de fluxo do problema, deve-se, antes de mais nada, definir suas entradas e saidas. Projo de Cire Digtis-Prot. Franca Hints Lemos a 1. Definigio de entradas: Sio'0 botdo M, os contatos de fim de curso A (que para o carro) ¢ B ( que inverte o sentido de deslocamento do carro) 2. Definigio das saidas: Sao os relés Y ¢ Z que acionam os motores a cles associados colocando ou nao 0 carro em movimento. © fato do sistema possuir trés entradas bindrias que sio M, A e B permite combinar estas entradas de 2’ = 8 maneiras distintas, fazendo com que a tabela de fluxo possua um maximo de 8 colunas. Admita que, por imposigao de projeto, nunca ira ocorrer A=I e B= a0 ‘mesmo tempo Isto elimina a necessidade de analisar 2 colunas (O11 € 111) da tabela Fig. 6.4 :- Tabela primitiva de fluxo Por outro lado, como M € um botio de pressio, e supondo que ele nao pode ser apertado durante 0 percurso do carro, conclui-se que nao ¢ possivel ter M = 1 © B = 1,0 que elimina mais uma coluna (101) da tabela, restando apenas $ colunas para serem analizadas, que correspondem ao conjunto de Pr de Cx Dips Prot Hanon Ends Lane 4 entradas _permitidas do sistema, A descrigdo que se segue deve ser acompanhada pela figura 6.4 Escolher um estado inicial de partida ( estado 1 ) que sera estavel, e corresponde ao carro estacionado sobre o contato de fim de curso A, Tem-se Portanto M = 0 ( botio ndo foi apertado) A = 1 ( contato A acionado pelo carro ) © B=0 (contato B néo acionado ). As saidas, neste caso, serdo Y = 0 © Z= 0. significando que 0 carro se encontra parado. 0 botio de pressiio M sera acionado, e o sistema passa a um novo estado 2 que corresponde.a ligar 0 motor que desloca o carro para a direita A partir deste ponto podem ocorrer duas hipéteses: 4 0 botio M ¢ solto antes que o carro deixe o contato A. 2. O carro deina A, ¢ a seguir 0 botao M é solto pelo operador. ‘Na primeira hipotese o sistema passa a um novo estado 3 (M OA ~ 1. ¥=0eZ~=1) onde o motor Z continua ligado ( Z = 1 ), e portanto o carro deixa A em direcdo B, fazendo com que A passe a zero ¢ 0 sistema a um novo estado 4 (M=A=B=0 e Y=0,z ). Ele permanece nesta estado até que 0 carro alcance ocontato B que leveré o sistema ao estado $(M=A =0,B=1,¥=1,Z=0) invertendo-se a posigao dos motores ¥ e Z, fazendo Portanto desligar 0 motor Zc ligar 0 motor ¥ para que o carro volte em diregao A. Quando isto ocorre, contato de fim de curso B, volta novamente a zero, levando o sistema a um novo estado 6, (M=A=B=0, Y=1eZ=0)n0 qual ele permanece até que 0 carro chegue em A. Ao acionar 0 contato A, o carro faz com que o sistema volte ao estado 1, que € um estado estavel ( estado inicial ), onde éle estaciona tendo completado 0 ciclo desejado. jt de Coto Digias- Pro: Hncaeo Ena Los 2s ‘No caso de termos a segunda hipétese, passamos do estado 4 ao estado 7 (M=1,A=B=0,Y=0eZ=1), como carro deixando A em difegad 4’B Quando o botto M é solto, éle volta ao estado 4, recaindo no ciclo anterior, A tabela primitiva final, para o dispositive tomado como exemplo, esta apresentada na Fig. 6.4, Os valores “X" que aparecem nes figura sio ~ “condiges irrelevantes” que, por imposi¢do de projeto, nunca ocorrerao durante o funcionamento do sistema Exemplo. Um disco ¢ colocado em rotagdo por um motor M alimentado por um relé Z (ver Fig. 65 ). Na posigdo inicial, 0 disco P.pressiona um contato X. © operador ao tocar 0 botto de pressio B coloca o motor em movimento. © disco deverd entao fazer uma volta completa ¢ parar novamente (desligando o motor } quando voltar a posigdo inicial ( sobre 0 contato X ). Deseja-se obter a tabela primitive de fluxo correspondente. Contato Fig.6.5 Projo de Circuits Digs - Pro Fico nds Lens 6 Neste problema temos o botdo B e 0 contato X como informagdes de entrada ¢ Z como saida ( correspondendo ao acionamento ou nao do motor M ). A tabela primitiva de fluxo possuiré 4 colunas, correspondentes as combinagdes possiveis das varidveis de entrada, ‘ O estado escolhido para iniciar a andlise foi a posigao em que o disco P ressiona 0 contato X com 0 motor desligado ( Estado total 1-01). O operador iri precionar 0 botdo (B= 1 ) passando o sistema ao estado total (2-11), acionando 0 motor (Z = 1) que inicia o movimento do disco, A seguir, com 0 botdo B ainda precionado o disco deixa o contato X (X= 0), € 0 sistema passa ao estado (3-10), © botio B ¢ solto, e passase a0 estado (4-00). O disco completa ‘uma volta € pressiona novamente 0 contato X, levando 0 sistema ao estado inicial (1-01), ea tabela pri va parcial esta mostrada da figura 6.6 \* Ea 00 on u iow 2 3 4 Fig. 6.6.- Tabela Primitiva Parcial © proximo passo sera considerar que a partir do estado 2-1 1, existe a possibilidade do operador soltar 0 botio B antes que o disco solte 0 contato X. Neste caso o sistema vai ao estado ( 5-0 1 ) e a seguir a (4 - 0 0) retornando ao caso anterior. ‘As demais condigbes so irrelevantes, ¢ a tabela final &a da figura 6.7 Projo de Czas Digiais-Prof. Franco Ents Lemos n 2a 3 2a 3 x, 3 x x x x Fig. 6.7- Tabela Completa 6.2. Diagrama de Estado Além da tabela de fluxo, existem outros mecanismos utilizados na descrigio de tarefas sequenciais. Um dos mais conhecidos ¢ 0 Diagrama de Estados, onde cada estado interno do circuito & representado por um circulo (N6) do diagrama, © cada transigdo entre estados é representada por arcos orientados interligando os circulos ( Nés ). A Fig. 6.8 mostra um destes diagramas, cuja representagto correspondente sob a forma de tabela de fluxo std indicada na Fig, 6.9. Nos arcos também devem estar indicados os valores das variveis de entrada e 0 correspondente valor que a variével de saida assume para a entrada aplicada, (Entradas / Saidas. —> 11/0 ), 11/0 00/0 01/0 Ol WW 10/0 10/0 00/1 Fig. 6.8 - Diagrama de estados rj de Cites Dips - Prof. Frans Undas Lemon 2% Ao a 10 if" 207 10, Ales 2 20 Bie tats — pares} Ze Saidas Fig. 6.9 - Tabela de fluxo correspondente ao Diagrama da Figura 6.8 Os arcos que comegam ¢ terminam no mesmo NO correspondem aos estados estiveis do sistema, As figuras 6.10 6.11 mostram um outro exemplo de representagao, que difere do primeiro ( ig. 6.8 © 6.9 ) pelo fato de que as saidas dependem apenas do estado interno onde o sistema se encontra, sendo independente do valor da entrada aplicada naquele instante de tempo. Neste caso, as saidas podem ser representadas dentro do circulo correspondente ao estado do sistema num certo instante a 0 4 of eee preceg pgs 2[-—0r 3.01 3[- 3x0 a 4 ExT iit Fig. 6.10 - Tabela de Fluxo (Modélo de Moore) 0 Cae Fig. 6.11 - Diagrama Equiv. a Tabela 6.10 Projet de Ces Digs - ro. racine Ents Lemos » E interessante que o leitor procure fazer uma analogia entre estas duas formas de representagio. propostas no primeiro e segundo exemplos, respectivamente com os modelos de Mealy ¢ de Moore para a representagio de maquinas sequenciais apresentados na sega 4. No primeiro exemplo, a estrutura sequencial pode ser representada matematicamente pelo modelo de Mealy, pois a fungdo do préximo estado interno sera do tipo: X(t+At) = GLEM), E20), X() 1 a0 passo que no segundo exemplo, a funggo do proximo estado interno sera do tipo! X(t+At) = GIX()] (Modelo de Moore ) onde E = conjunto de entradas permitidas X = conjunto de estados internos T = conjunto de tempos Os diagramas de estado sio muito utilizados, principalmente em virtude de sua natureza fica, que em muitos casos facilita a compreensio do funcionamento do sistema scquencial em estudo. Estes diagramas, do ponto de vista de represemtagio dos sistemas estudados neste curso, so totalmente cequivalentes as tabelas de fluxo, Exereieio proposto: Transformar em diagramas de estados as tabelas de fluxo das figs. 6.4 © 6.7 Proj de Circuits Dips Pr: Frmcno Fas Lemos © processo de redugao de tabelas de fluxo Durante @ construgdo da tabela primitiva de fluxo, podem ser cometidos erros de redundancia decorrentes da interpretagto do problema analisado, que Jevam a aumentar desnecessariamente 0 miimero de estados ifiternos do sistema, além de torna-lo menos confidvel pelo consequente aumento do mimero de blocos logicos necessarios para sua posterior implementagdo.Neste item, sera apresentado umn método sistemético que permita minimizar o nimero de estados internos da tabela primitiva de fluxo, através da detegio e posterior retirada dos estados redundantes, € também dos subconjuntos de estados internos que Possam ser reduzidos a um unico estado, ¢ que serdo denominados “estados compativeis” 7.1.-Definigdes Para compreendeer 0 processo de redugdo de estados que seri apresentado, torma-se necessirio definir relagSes entre tabelas de fluxo. Considerar duas tabelas de fluxo A e B com estados internos que chamaremos genéricamente A) Relagio de cobrimento para estados Ao aplicar, a partir de um estado ea (linha) de uma tabela de fluxo A, uma sequéncia finita de entradas, obtemos uma certa sequéncia de saidas. Se for aplicado a partir do estado eb ( linha ) da tabela fluxo B a mesma sequéncia finita de entradas, ¢ for obti ‘mesma sequéncia de saidas qualquer que seja a ‘sequéncia de entradas aplicada diz-se que 0 estado ea cobre o estado eb. Projo de Cratos Digits - Prof Franco Ents Leos a Considerar como exemplo, as duas tabelas de fluxo mostradas nas figuras 7.1€ 7.2. Vé-se que, se a partir do estado 2 da tabela A, for aplicada a sequéncia de entradas ACCBA, obtemos a sequéncia de saidas - 10000 Se agora for aplicado, a partir de estado 4 da tabela a mesma sequéncia de entradas, obtem-se a mesma sequéncia 10000 de saidas. Quando isto ocorrer para qualquer sequéncia finita de entradas, tem-se que o estado 2 da tabela A cobre 0 estado 4 tabela B. E importante chamar a atengdo para o fato de que as saidas nem sempre siio especificadas nas tabelas de fluxo, podendo ocorrer condigées irrelevantes Por exemplo:- Uma sequéncia de saidas de tipo 10101101 cobre uma sequéncia do tipo 1xx01x01, embora nao seja coberta por ela Isto explica 0 fato da relagdo da cobertura para estados no gozar da propriedade simétrica, ou seja: se um estado ea cobre um estado eb, este nao necessiriamente cobrira o estado ea ( devido a existéncia das condigées irrelevantes) a 10 2, 1 Fig. 7.1» Tabela de Fluxo A Fig. 7.2- Tabeta de Fluxo B Projo de Cites Digs Pro Francis Enda Loe 2 B) Relagdo de cobrimento para tabelas Uma tabela de fluxo A cobre uma tabela de fluxo B, se todos os estados da tabela B sio cobertos por pelo menos um estado da tabela A, Disto pode-se concluir que, se uma tabela A cobre uma tabela B, esta ultima pode ser substituida pela primeira na realizagao do circuito sequéncial descjado, © problema, portanto, da redugdo de tabelas de fluxo, se resume em determinar uma tabela com minimo nimero de linhas (estados internos ), que cubra a tabela primitiva obtida da andlise do problema sequéncial que deve ser resolvido. E importante lembrar que a relagao de cobrimento tanto para estados quanto para tabelas, é reflexiva e transitiva mas nio é simétrica, ou seja A. Uma tabela de fluxo cobre a si mesma B. Se uma tabela A cobre uma tabela B e B cobre a tabela C entdo a tabela A cobre a tabela C. C. Se uma tabela A cobre a tabela Besta no necessiriamente cobre a tabela A. ( devido a existéncia de condigdes irrelevantes ) €) Estados Compativeis Dada uma tabela de fluxo A, se for possivel obter uma nova tabela B que cubra a primeira © possua um menor mimero de estados internos ( menor niimero de linhas), pode-se concluir que existem pelo menos dois estados da tabela A que sao cobertos por um tinico estado da tabela B, Isto leva a Projo de Circus apis -Po Fro Rens Lemce 2 definigdo de dois estados compativeis de uma dada tabela de fluxo, como sendo aqueles que sao cobertos por um dnico estado de uma nova tabela considerada D) Conjunto de Estados Compativeis A definigo acima pode ser estendida a um conjunto de estados de uma determinada tabela de fluxo A que sejam cobertos por um unico estado de uma nova tabela B, que sera denominado conjunto de estados compativeis. © problema da redugdo de tabelas de fluxo consiste, portanto, na determinag#o dos conjuntos de estados compativeis, © escolha conveniente destes conjuntos, A determinagao de estados compativeis ( equivalentes ), pode se tornar bastante simples tendo em vista o teorema da condicdo necessiria ¢ suficiente de compatibilidade deserito a seguir: Dois estados ea © eb sto compativeis, se suas saidas respectivas tomadas duas a duas para a mesma entrada forem nio contraditérias (iguais ou irrelevantes) ‘+ Além disto, @ compatibilidade entre estes estados s6 seri assegurada, se 0s estados seguintes nos quais a fustio de eae eb implicam, sejam também para cade entrada, compativeis dois a dois nas saidas, Uma forma simples de se trabalhar para ay \gdes do teorema descrito acima, consiste em desenhar uma tabela triangular, que seré denominada tabela de pares, onde cada célula esti associada a um par de entradas, Prt de Cts Digs - Pro. Fran Enda amos M 7.2 A Tabela de Pares Esta tabela, cujo formato esta apresentado na figura 7.3, possuird tantas linhas quantos forem os estados internos da tabela de fluxo,considerada menos uma, € pode fornecer em cada uma de suas células (rés tipos diferentes de form: A) A célula vazia indica que os estados sto compativeis ( no exemplo da fig 7.3, 0s estados 2 € 4 no compatives ) B) A célula conteri um ou mais pares de estados que implicam na compatibilidade do estado considerado. ( no exemplo, os estados 2 ¢ 5 serdo compativeis sémente se 5-6 e 2-3 também forem comp: eis ) ©) A célula conteré um “X” se os estados no séo compativeis ( no exemplo os estados | ¢ 5 sdo incompativeis ) 3 3s 15 16 35 5 7 x Fig. 7.3.- Tabela de Pares Como exemplo sera construida tabela de pares correspondente a tabela da fig, 7.4. la fornecera, em ultima analise, as implicagdes existentes na unio de lum ou mais estados da tabela de fluxo. Seu preenchimento se faz aplicando 0 teorema de compatibilidade. Deve-se comparar cada estado da tabela fornecida com todos os demais estados da mesma, anotando as implicagbes Piso de Circuits Dips - Pro. Facts Ens Lemos as correspondentes, ou apenas anotando um (X) quando os estados comparados forem incompativeis. ( Fig. 7.5). Partindo do estado 1, os estados (1 2) sfo passiveis de compatibilidade, € implicam no estado (1.6 ), © portanto foi marcado na tabela de pares ( 16) ‘no ponto correspondente, Os estados (13) séo passiveis de compatibilidade, € implicam (23). Os estados (14) so incompativeis ( na primeira coluna da tabela de fluxo o estado | tem saida 0 e 0 estado 4 saida 1), ¢ Portanto foi colocado (X ) no ponto correspondente a (14). Os estados (15 ) idem, ¢ finalmente (1 6) sao passiveis de compatibilidade, e implicam em (23). Quando um par de estados implica em si mesmo ou num terceiro estado unico, nao é necessério marca-lo na tabela de pares, pois estas implicagdes nto trazem problemas de incompatibilidade, Procedendo da mesma forma para os demais estados, foi preenchida toda a tabela da fig. 7.5. As implicagdes da fusto de cada estado com os demais ainda néo foi analisada. Isto equivale a dizer por exemplo, que na fig. 7.5, 08 estados (1 5) sto incompativeis, e portanto esta incompatibilidade se propaga a todos os demais estados cuja unido implica na unito dos estados (1 5), sendo também incompativeis Como neste exemplo ( 3 5 ) implicam em ( 1 5 ), os estados (35) também sio incompativeis, Continuando esta andlise para todos os pontos onde existem incompatibilidades (existe 0 X ), pode-se construir a tabela da figura 7.6, que ¢ entio a forma final da tabela de pares desejada, Projo de Ces Digits - Pro Francisco Eades Lemos ki om 1 0 a0 Fig. 7.4 - Tabela de Fluxo a ser reduzida 4 25 x Fig. 7.5 - Tabeta de pares inicial 2 ie So 23 le sae Fig. 7.6 - Forma final da tabela de pares Cabe observar que uma forma sistematica de procedimento para obtengio da tabela de pares final, ¢ a de colocar mais um (X ) nos pontos de compatibilidade analisados, evitando assim que se esquesam pontos de anilise. Quando todos 05 pontos tiverem duplo (X ), a anélise estard terminada Projo de Cian Digs Prot Frio Ends Lees a 7.3.- Obten¢4o do Conjunto de méximos compativeis, Obtida a tabela de pares, 0 préximo passo para obtengdo da tabela reduzida, serd obter 05 m rimos compativeis, ou seja: © maior nimero possivel de estados compativeis entre si ( que podem ser agrupados em um linico estado ), Para tanto, procede-se da seguinte forma:- Partir da coluna mais a dircita da tabela de pares da figura 7.6 onde existam estados compativeis. No exemplo considerado na coluna $ niio existe compatibilidade, passa-se a coluna 4 onde aparece o estado compativel 5, formando o primeiro conjunto de compativeis (45) (ver tabela da figura 7.7 ). A coluna seguinte ¢ a coluna 3, onde conjunto Q3 dos estados compativeis com 0 estado 3 sto 4 ¢ 6. ( isto € indicado pelo fato de néo haver “X” em 4¢ 6). Faz-se agora a intercess#o do conjunto Q3 = ( 46 ) com cada um dos membros do conjunto de compativeis que jé foi determinado ( neste caso foi determinado apenas 4 5) aplicando genéricamente a seguinte regra A) Se intercessio feita possuir um ou nenhum elemento comum, repete-se 0 Conjunto de compativeis ja existentes, e acrescenta-se 08 pares compativeis da coluna que esta sendo analisada, Este € 0 caso da coluna 3, onde a intercessio de (46) como conjunto (45) possui apenas um elemento comum, Repete-se portanto 0 conjunto (45 ) ji existente, e acrescentam- Se os conjuntos (34) € (36) relativos & coluna que esta sendo analisada, © passa-se a coluna seguinte ( coluna 2 da figura 7.6 ) 5B) Se intercesso possuir mais de um elemento acrescenta-se ao conjunto de compativeis ja existentes, os conjuntos compativeis provenientes da intercessao, acrescido do estado que esta sendo examinado. ‘jlo de CicisDigitas- Pro rani nas Lemos ™ Nesse exemplo, na coluna 2, 0 conjunto de estado compativeis com 0 estado 26 (3.46). Fazendo a intercessdo de (346) com (45) tem-seo caso A da regra, e repete-se (45) acrescido de (23) (24) © (26). Fazendo agora a intercessto de (346) com (34), tem-se 2 elementos comuns ¢ portanto, 0 caso B da regra, onde repete-se os elementos comuns acrescidos do elemento da coluna em analise obtendo 0 conjunto (234), Finalmente a intercessio de (346) como conjunto (3 6), ultimo membro 0 conjunto de compativeis da coluna 3, chega-se a0 conjunto (2 3 6), ‘encerrando a analise da coluna 2, ¢ passando a coluna 1, onde procedendo da ‘mesma forma, obtem-se 0 conjunto final de maximos compativeis procurados, de acordo com a tabela da figura 7.7 MC. = [(45),(234),(1236)] colana Tstados compativels na Conjunto de maim analisads compativeis a s 5) 5 2.6 Cen G9 2 BAe Usted), 29239030 G5) 03) 1 23,6 0) 03 HD) a9 0236) Fig. 7.7 Tabela de Obtencao dos méximos compativels * Observagio:- Durante a analise devem ser cancelados os subconjuntos ja contidos em outros maiores, uma vez que estamos interessados nos maximos compativeis. E 0 caso por exemplo de (2 4) que esti contido em (23 4), de (12>) que esta contido em (1 23 6 ), ¢ de todos que na fig. 7.7 foram cancelados Projo de Circuits Dips Po. rancid Lemos »” © passo final para a obteng#o da tabela de fluxo redurida, sera 0 de escolher, no conjunto dos maximos compativeis determinado, um subconjunto que satisfara as seguintes condigdes: 4) Englobe todos os estados da tabela a ser reduzida, b) Forme um subconjunto fechado, do b se deve ao fato de que quando é montada a tabela reduzida, € necessirio assegurar que 05 novos estados ( obtidos da fusio dos estados compativeis da tabela primiti ). estejam também dentro de um subconjunto de compativeis escolhido como solugdo. Pode portanto ocorrer, que & fusio de dois estados i © j ( pertencentes a um subconjunto de compativeis C1 ) implique na fusio de outros estados que pertencem a outro subconjunto C2 nado escolhido como soluclo, provocando indeterminagdes na nova tabela, Quando isto ocorre, torna-se necessirio reescolher 0 subconjunto solugio C§isolando estados se necessério ) até que seu fechamento seja conseguido, No exemplo analisado, a solugio étima é formada pelos subconjuntos ( 1236), que seri denominado estado 1,e (45) que seré denominado estado 2, ¢ a tabela reduzida fica conforme a figura 7.8. ' Be ei ea geet ae 1 [alesse esas ocd anette ol as yma Fig. 7.8 - Tabela Reduzida Final Projet de Crt Digs Po. Frnt nas Lewes 7.4. Exemplos A titulo de exemplo, serio reduzidas as duas tabelas primitivas de fluxo obtidas nos problemas do carro e do disco. Exemplo: - Problema do Caro oor ono tot tort x XT 100 -3,00_] x J x x x x30 i x [For x x [30] x x, Fe x oper ye x x x x x S10 | x, a x, x x x x Pesn eras ieee f x. x x x x x x x00 Fig. 7.9 - Tabela Primitiva A tabela de pares correspondente esté apresentada na figura 7.10, e neste 480 no houve implicagSes provenientes da unidio dos estados dois a dois Finalmente, a obtengao do conjunto de maximo compativeis esta na figura 7.11 © 0 conjunto solugao escolhide foi: C = ((15)5(2347) 6] que engloba todos os estados da tabela inicial e é um conjunto fechado. Fig. 7.10 - Tabela de pares "rj de Cites pais - Pr. rani Ente Los ‘Substoa] Compal. $6) eo SQ G17 Ss )@347) THs) ames Fig. 7.11 - Obtengdo dos Max. Compativeis ss |A tabela reduzida foi obtida reunindo os estados do conjunto de compativeis escothido. ( figura 7.12 ) - as ‘ ero meta v ss ES (eae ee ee ay, a So areas uO SEE eee ee Fig. ‘roto de Cin Digit -ro FreioEnas Lamot 2° Exemplo:- Problema do disco Procedendo como no exemplo anterior, determina-se a tabela de pares, € 2 68 conjuntos de maximos compativeis, chegando a tabela reduzida da figura 7.16. Cabe ressaltar que a tabela final ndo é unica, cabendo ao projetista escolher a que methor satisfaz a solugao do problema Bx Est om n 10 oo i —« 7 Br 3a al $0 at 3a a ar ¥ ¥ at aa ie x ¥ al Tae Ri ¥ ™ ig. 7.13 - Tabela primitiva 4 x Fig. 7.14 - Tabela de pares ‘colona[ Ext. Compa, Conjsmax.Compat. 4 ie ha io bi 7 45 Bags 2 35 Coe) as9, 1 3a 139.49) G3 5) Fig. 7.15 - Obtenedo dos Conjuntos de maximos compativeis Projo de Circus Dgiis- Prof recite Eas Lancs B \oe 0 " » i i ar 2a Jay as 2 a 24 ]@35) Fig. 7.16 - Tabela reduzida correspondente a 1* solugdo = 114), (235)} » Nae a " 5 ns 1a io 2a aur 2 2 a3, es Fig. 7.17 - Tabela reduzida correspondente a 2° solugdo C= 1(134),(25)) Projo de Cues Dgias Pro. rasta Ents Laos 8.- Designagao de estados internos © préximo passo pa a materializagao do circuito sequencial pelo método de Huffman, consiste em associar a ca um dos estados internos do Circuito sequencial, uma combinagio booleana biniria que 0 indique ‘univocamente. Cada estado receberd um cédigo binario, e em cada célula da tabela de fluxo & substituido o cardter alfanumérico que indica 0 proximo estado, pelo seu cédigo bindrio correspondente. Isto significa que, se houver, por exemplo, 7 estados internos na tabela de fluxo (7 linhas da tabela ), serdo necessérias 3 varidveis bindrias (denominadas viriaveis internas de estado) para codificar estes sete estados. Ou seja:- tres variaveis fornecem um total 2? = 8 combinagdo distintas, das quais sio escolhidas sete. Genéricamente, havendo n estados, ser necessétio lum niimero de variaveis de estado dado por log 2 m se for inteito, ou 20 proximo inteiro resultante. Nos cireuitos sequéncias assincronos, nfo se pode associar arbitrariamente qualquer cédigo a qualquer estado da tabela de fluxo ( ou do diagrama de estado ) pois com isto pode-se provocar operagdes erriticas do sircuito, existindo portanto critérios que devem ser obedecidos. Estas operagées ndo previstas, ( erriticas ) ocorrem sobretudo pela mudanga, tedricamente simultanea mas na pratica desordenada, de mais de uma varidvel intema de estado, provocando disputas entre variaveis internas Disto conclui-se que, nos sistemas assincronos, um critério bisico para designagio de estados sera o critério de adjacéncia, no sentido de que enquanto tum sistema evolui de um estado interno qualquer a outro, apenas uma varidvel de estado troca de valor a cada evolugto. Pret de Creo Digs Prof. Frain Fas eos 4s Existem inimeros trabalhos sobre designagdes de tabelas de fluxo, visando sempre conseguir otimizar 0 sistema, Esta otimizago pode ser traduzide por uma redugdo de componentes utilizados na implementagio, pela facilidade de manutengdo, pela simplificagdo de equagdes légicas, minimizagao do tempo de projeto, etc.. © cada um destes aspectos corresponde a uma preocupacdo particular que depende do equipamento a ser construido. Na presente andlise, vamos nos limitar a um tinico proceso bastante simples de designagio de estados, denominado _designac#o por estados ponte; outros métodos podem ser encontrados nas referencias bibliogréficas. ( Por exemplo UNGER, S.H. ) 8.1.» Designagao por estados ponte Para evitar o problema de ocorréncia de disputa entre as variaveis internas de estado, ( causando operagdes erraticas ), vimos que 0 critério basico para obtengdo da solugao sera o de adjacéncia, A partir da tabela de fluxo reduzida pode-se obter o que sera denominado conjuntos de destinagio de estados, ou seja: Quais os estados para os quais 0 sistema pode evoluir, a partir de um determinado estado onde ele se encontra ‘num certo instante, Uma véz obtides estes conjuntos de destinagao, e sabendo que o sistema deve evoluir para novos estados internos que sejam sempre adjacentes ao estado onde ele se encontra, atribuimos aos novos estados, combinagdes booleanas bindrias que sejam adjacentes aquela que foi atribuida ao estado em que ele se encontra, Projo de Cit Dips Pro. Fras Ens Lemos “ Estas novas combinagées serdo atribuidas com auxilios dos mapas de Kamaugh, tornando posivel, para cada transigao de estado do sistema, a mudanga de uma tinica varidvel interna de estado. Para tornar mais claro 0 que foi exposto, sera exemplificada a designagao de estados da tabela de fluxo da figura 8.1 ( as saidas da tabela foram omitidas, uma vez que nio interferem ). Para encontrar os conjuntos de destinaglo, basta. a sar sisteméticamente estado por estado da tabela, marcando as adjacéncias correspondentes, Iniciando pelo estado 1, ve-se que deve ser adjacente a ele proprio, e aos estados 4 e 5, ¢ marcam-se os conjuntos (14) e (15). No cstado 2, tem-se os estados 3 ¢ 5 marcados em ordem crescente (2 3) © (25). Assim por diante, obtem-se todos os conjuntos de destinagao relacionados: ‘+ Obs: - Durante a analise foram suprimidas todas as repetigdes. Projet de Circts Dips Po Fransao Fda Lees a Do exposto pode-se concluir que 0 estado 1 por exemplo, deve ser adjacente aos estados 4 © 5, O estado 2 adjacente aos estados 3, 4, 5, 7, & assim por diante, Como a tabela possui 7 estados internos (7 linhas ), sero necessirias, ‘no minimo, 3 varidveis intemas de estado para sua designagio. O problema agora se resume em colocar os estados num mapa de Karnaugh de 3 varidveis, de modo a que sejam respeitadas as adjacéncias anteriormente obtidas. O problema no tem solugo com apenas 3 varidveis de estado, pois nao é possivel respeitar todas as adjacéncias necessiri , por exemplo ao estado 2, que deve ser adjacente a 4 outros estados, Para contomnar este fato, aproveita-se a combinacao restante das variaveis ab © © (8 combinagdes distintas para designar 7 estados ) ¢ 0 estado 0.0.0 € usado como estado ponte [ chamado de (0% )] mantendo as adjacencias necessérias. Uma possivel solugiio para colocagao dos estados esta indicada na figura 8.2. ab Pe g o on uw 10 ° 8 « 1 2 a @ 7 Fig. 8.2. Sito feitas as modificagdes ma tabela de fluxo original, utilizando o estado %X como elemento de ligago entre estados. Pj de Cts Dips. Prof Francs Ent Lema 6 Assim, a passagem do estado 2 ao estado 5 nao é feita diretamente, mas através do estado ponte o, mantendo a condigio de trocar uma tinica variével de cada vez, ¢ a tabela final com a designagao correta esta mostrada na figura 83. XIX? abe Est % o " w 7 5 7 Yr10 oo as 3 7 7 1 ale oe 6 3 Bans |e t sa 7 = TJo10 af z 3 7100 of @ é * feia a z 7 e jros z ° aaa 5 Xoo Fig. 8.3 - Tabela de fluxo com a Designacao de Estados + Obs:- Caso nao fosse conseguida uma solugdo com 3 variéveis, deveria ser aumentado este miimero até que todas as adjacencias fossem respeitadas, Preto de Cinitos Digi ro Francie Hes Leos ~ 9. Materializagao da Estrutura Sequencial Assincrona 9:4.= 0 processo de obtencéo das equacées e do circulto correspondente A designagdo de estados, uma vez concluida, fornece uma combinacao booleana binaria associada @ cada estado interno da tabela de fluxo. De posse destas informagées, pode-se materializar a estrutura sequéncial desejada, © processo de obtengio do circuito seré analisado através de um exemplo, implementando a tabela de fluxo apresentada na fig. 9.1 A designacao de estados adotada, foi obtida pelo processo discutido no item 8.1., como se segue: Os conjuntos de destinagdo de estados sto (13) (24) ¢ (23), esto necessérias no minimo duas variéveis internas de estado (a,b) para designar os quatro estados intemnos existentes. stat Cr " w ab est in| 300_[ 390 [ar Jo 4.00 {2,00 | 3,00 [3,00]. 31.00] 2,00 “3,103.10. 41 [2.00 [200401 Jo 1 © (renee S77) es Fig. 9.1 - Tabela de fluxo cujo circuito sequencial desejado NO. S[ocarsotoaag las Fig. 9.2 - Designagao de Estados escolhida Projet de Cites Digiais- Po. Frncno Ends Laos O proceso de designagio de estados pode apresentar ( como neste exemplo ), varias solugoes possiveis, sendo que a solugdo escothida esta indicada na figura 9.2. A tabela de fluxo da figura 9.1. pode ser representada conforme figura 9.3, onde foi substituido 0 digito indic vo de cada estado pela combinagio booleana binéria a ele associada eed a 0, un or [9108 1.00 10, —on.00 11,00 11 | on.00. 110 w 10.90 Fig. 9.3 - Tabela de Fluxo codifieada em bin: segundo a designacdo de estados adotada, Da tabela de fluxo da figura 9.3 sio construidos os mapas de Veitch- Karnaugh das varidveis de estado e das saidas, Para tanto, basta reescrever esta tabela trocando suas linhas de posigdo, de modo que as adjacéncias dos mapas de Karnaugh sejam respeitadas. Também € conveniente subdividir os mapas. has partes relativas a varidveis imternas de estado © varidveis de saida, conforme mostram as figuras 9.4 e 9.5, Projlo de Cito gs Pro: Francie Es Los a ov i « CeteTetTs Variavel A Variavel B Fig. 9.4 - Mapa de Karnaugh das varidveis internas de estado a b xix? a a oft Yo -o fr ofa o-oo Weber} woo [0 Po Varivel SI Varivel $2 Fig. 9.5 - Mapas de Karnaugh das varidveis de saida Destes mapas de Karnaugh, sio extraidas as equagdes de estado e de saida correspondentes, ¢ 0 circuito desejado. Estas equagdes iro representar mateméticamente um modelo de Mealy (ou Moore), conforme jé descrito na secgao 4, ou sej: a(t+At) = M[x1(t), x2(), a(t), b()] — Equagées de b(tEF AE) = Dlx), 2, a(t), KO] est SU() = GIL XI(t) , X2(t), aC), D(C) | Equacdes de saida S2(t) = G2 | XH(E) , X2, alt), BO | Preto de Cicits ips Pra. Francis Fens Leen 2 Considerando 0 atraso de tempo A como sendo um bloco logico como outro qualquer ( conforme discutido na secgio 5.1 ), as equagdes desejadas para solugao do exemplo ( extraidas diretamente dos mapas de Karnaugh das fig. 9.4.€ 9.5 ) ficam: 1) Equagdes de estado a= A[X2+X1. a] b= A[/X2*b + /a*h+ X10] 2) Equagdes de saida SI XI*a*b sn (X2*/a circuito sequencial correspondente, obtido a partir das equagdes acima, esta indicada na figura 9.6 [A). a(t) x : = ) b(t) Lp Sindee ae 81 )— s2 Fig. 9.6 - Circuito assincrono correspondente a tabeta da fig 9.1 Projo de Circus Dias - Prot: racic tas Lams 3 9.2. Exemplos ‘Vamos retomar, a titulo de exemplo, as tabelas de fluxo reduzidas dos problemas do carro e do disco efetuando a designagio de estados e obtendo os circuitos sequenciais cortespondentes 1) Problema do carro MAB Ext, oon __ ono oto tte tt tor t00 1 [3407 ate Tx 10200 Tx x x Saat a eee ae fo x [300 3301 x. eccfect roe lecage x x x Fig. 9.7. Tabela de fluxo reduzida: Conjunto de destinagio V linha = (13) (12) 2 linha - 47) 3* linha ---47) Como @ tabela possui 3 estados, so necessirias um minimo de duas variaveis internas de estado para a designagio, ¢ uma possivel solugdo é ‘mostrada na figura 9.8, onde nao houve necessidade da utilizagio de estados ponte. eas ° Fig. 9.8 - Designagdo escolhida ji de Cres Dips - Pro: Facto nas Lemos “ A tabela de fluxo da fig. 9.7 pode ser reescrita como sendo, MAB xx Est\_00__oor_on__ ooo att torte 1 01.10 [0,10 Tx ~T-90.00_[t000 [xX [x [-x—Jo 0 2(seo1 | ote |x Fier P1001 |x |x Prt 0 SCout x Tx Foto x Oxo Fig. 9.9 Esta tabela seri originaria dos quatro mapas de Veitch-Karnaugh Procurados, dois deles referentes as varidveis internas de estado XI ¢ X2, ¢ outros dois referentes as saidas $1 e S2. Fig. 9.10- Mapa da varidvel interna de estado x, ae \ map ooo oor onto tte tt 100. o x o 0 x * = ofr x x o x, x x ul—x x x x x x z x [0 o x o o x x o. ax ow. 1 x ir ir) Fig. 9.12 - Mapa da saida $1 rojo de Creo Digs Pro: Franco Eta Lemos ss \xlolo| a inllo ene elt *| |= |) le | Fig. 9.,13 - Mapa da saida $2 As equagdes booleanas ficam portanto: A[M+A*x1+/4 */B * x1] equagies de estado = AL IA*B* AI] ~ sl = [/A* A132] equacdes de saida [xy : 0 circuito sequencial correspondente ¢ o apresentado na figura 9.14. Fig. 9.14 Preto de ies Dpiis- Pro Free Bess Lemos 2) Problema do disco Neste problema, a tabela primitiva de fluxo pode ser reduzida a dois estados internos, havendo necessidade de apenas uma variével interna de estado para identificd-tos, A designagio de estados, portanto, foi feita conforme a tabela da figura 9.15. Bx * Estados oo or u 10 10) FI a Jo 2 2 i Fig. 9.15 ~ Tabeta de fluxo do disco mecinico Reescrevendo a tabela obtem-se os mapas de Karnaugh da varidvel interna de estado, ¢ da saida (Fig. 9.16 ¢ 9.17) \™ a 0 o uu 10 of oa o 1 o 1e o Fig. 9.16 - Varidvel de estado a a =A[B*X+a*X] Preto de Cis ipa Pro. Franco Fas Lemos Fig. 9/17 - Varidvel de saida z= [BX+a+X] Pode-se exprimir as equagdes em termos de blocos NE e inversores: 8 = AL MBX) (aX) | 2 = [MMBX) «/a./X)) a Tee. | al 3 DS Fig. 9.18 - Circuito Sequencial assincrono correspondente @ tabela de fluxo da figura 9.15 Proto de Creitos igs Pr racic Ens Lanes ss Resta abordar o problema da materializagao fisica do bloco atraso na implementago das estruturas sequenciais assincronas. Para isto deve-se Fetornar a definigdo de atraso puro ¢ atraso inercial da segao 5, lembrando que todo dispositivo fisico possui associado a éle, atrasos que sto de natureza inercial. Esta foi a razdo pela qual, admitiu-se que 0 bloco ataso considerado provocaria atrasos do tipo inercial, uma vez que fisicamente nao setia possivel implementar atrasos puros, Um bloco légico E, por exemplo, para ser representado através de um ‘modélo que permita um estudo de seu comportamento dinimico, deve ter sua saida associada a um atraso (A) de natureza inercial, provocado pelos dispositivos fisicos ( transistores ) que compée 0 bloco em questo. ( Ver figura 9.19) Oa saida BOY Fig. 9.19 - Porta ligica E Este modélo permite explicar porque 0 bloco légico nfo é capaz de responder a variagdes de sinais aplicados a sua entrada, superiores @ um valor previamente estabelecido. Ou seja: Sempre que @ duragao do pulso alicado a entrada do bloco atraso for menor que o valor do atraso (menor que A ), dada @ sua natureza inercial, este atraso absorve 0 pulso a ele aplicado, ¢ nfo ‘modifica sua saida. Externamente, tudo se passa como se o bloco E deixasse de funcionar. Os modelos de Mealy e de Moore adotados na secgéo 4, caracterizam-se por possuir uma parte_combinatér booleanas F eG, ¢ 0s blocos atraso cuja natureza foi considerada inercial ia responsivel pela geragao das fungdes ‘rojo de Crentos Dips - Prof. FraceoFngns Lemos 8 © mesmo raciocinio feito anteriormente para explicar 0 comportamento di iico do bloco E, pode ser aplicado na obtengio das fungées F e G, donde se conclui que, fisicamente, sempre existe um atraso de tempo A associado a estas fungdes, Esta € uma concluso importante, e explica porque as frequéncias de operagio adotadas podem comprometer o funcionamento de um cireuito sequencial qualquer. Por outro Indo, 0 fato de existir um atraso associado a fungio G (geradora do proximo estado interno ), permite que se pense numa forma de simplificar a implementagao de uma estrutura sequencial assincrona, Para tanto, 0 raciocinio feito, ¢ 0 de considerar que o atraso seja tio Pequeno, que passe a ter a mesma ordem de grandeza do atraso associado & geragio da fungio G. Isto posto, 0 bloco atraso (A) pode ser simplesmente climinado, pois ja existe um atraso intrinseco (A) associado a geragiio da fungio G, que passa a fazer 0 papel do bloco atraso. Com isto um cireuito sequencial assincrono se torna extremamente simples, e 0 bloco atraso ndo necesita ser implementado, 0 incoveniente deste tipo de estrutura, é que os atrasos nao esto mais concentrados num tinico ponto ( bloco atraso ), mas sim distribuidos ao longo da estrutura, fazendo com que os modélos inicialmente adotados (Mealy e Moore), deixem de ser validos em qualquer caso. Os problemas que passam entdo a existir, denominam-se problemas de AZARES de operagio dos cireuitos, e nko serdo objeto de estudo deste curso. A conclusio € que ma materializagio de circuitos sequenciais assineronos, no se faz uso de um bloco atraso especifico, mas apenas de locos légicos convencionais com realimentagdes adequadas. Os exercicios resolvidos que se seguem exemplificam estas idéias. rojo de Cirsits Dips - Pf. ncn Ends Lemos 10.- Exercicios Resolvidos( Sistemas sequenclais assincronos ) 10.1. Exercicios ResoWvidos 1° Problema Considere 0 cruzamento de uma grande rodovia, com uma via secundaria de pouca importincia. ( Ver figura 10.1 ). Neste cruzamento deve existit um “semaforo” para controle do trifego da rodovia, pois caso contratio os veiculos da via secundéria ndo conseguiriam atravessar 0 cruzamento, Ao mesmo tempo, devemos evitar paradas desnecessérias na via principal, considerando que 0 seméforo s6 deve fechar, se de fato algum veiculo for cruzar a via principal. O sistema opera da seguinte forma: ( Ver figura abaixo ). Um sinal x1 se altera entre permanecer desligado por 60 segundos (x1 = 0), ¢ ligado por 30 segundos (x1 = 1 ). A nica maneira de se fechar 0 farol da auto-estrada & durante 0 intervalo de tempo em que x1 = 1 ( isto sera comandado por uma saida Z = 1). Apenas quando iniciar um intervalo x1 = 1 a saida Z pode ser ligada, ¢ uma vez ligada permanece assim até 0 fim do intervalo, Se um veiculo na via secundaria atua sobre a chave, temos uma condigdo designada por x2 = 1 € Z=0. ( Se no houver veiculo sobre a chave 32-0) Neste caso, Z deve ser acionada no proximo inervalo em que x1 for ligado (x1 = 1). 4) Construir a tabela primitiva de fluxo para comando do farol. b) Reduzir a tabela convenientemente ©) Designar estados para a tabela reduzida, ¢ construir 0 cicuito de comando do farol Projo de Circuit Dts Pro. Fruciac Téas Leos o Solugdo Neste problema x1 e x2 sto variaveis de entrada, © Z é a salda correspondente ao fechamento ou no do seméforo. O estadi icial escothido seré x1 = x2 = 0 ¢ Z = 0, indicando que o semaforo esta aberto para a auto- estrada, ¢ nfo existe solicitagao de passagem de nenhum veiculo na via secundaria, A tabela de fluxo pode ser construida a partir desta situagio inicial, € possuiré 4 colunas correspondentes és combinagdes possiveis das varidveis de entrada x1 e.x2, A figura 10.1 mostra uma possivel solugdo, com uma tabela primitiva de fluxo de 6 estados internos. A redugao da tabela primitiva é feita contruindo a tabcla de pares e analisando as compatibilidades entre estados internos, A tabela reduzida esté apresentada na figura 10.4 \ue Est om on u 10 ie 30. 60 20 2[ 10) 30. 60 20. 310) 30. at 20 s10) 30) a0 Sa s[ 10, 30) 40 Sa «(te 30. 0 20 Fig. 10.1 - Tabela primitiva para comando do semdforo Fig. 10.2 - Tabela de pares Projet de Ces ga Pro. rnc Es eos a Fig. 10.3 » Andlise de compatibilidades © conjunto de maximos compativeis escothido seré MC. = [(126),(45) © 3] de modo a englobar todos os estados da tabela inicial. \ue est m7 o 0 0 30 10 19 Ja 26 2.19 30 2 2a |) 31 0 2 ie] Fig. 10.4 - Tabela reduzida Para designar os estados de acordo com o conjunto de destinagdes indicado abaixo, necessitamos de pelo menos duas variaveis internas. A figura 10.5 indica as combinagdes escolhidas de modo a respeitar adjacéncias, tendo sido necessario utilizar um estado ponte (« ) oa as) ea ~ ° 1 y Ja z i= « Fig. 10.5 - Designagdo de estados adotada Projo de Cirestos Digs - Prt, Francisco Fades mot 6 Ian Fig. 10.6 - Tabela de fluxo final © circuito final desejado pode ser obtido a partir da tabela da figura 10.6 como se segue: Fig. 10.7- Mapa de Karnaugh da varidvel interna @ \ue o n 0 a o o 0 16 lo}xolols Fig. 10.8 - Mapa de Karnaugh da varidvel interna 6 Projo de Cites Dips Prof. Frio nas Lemos Se 00] a n 0 0 im © ©. 3 x Fig, 10.9 - Mapa de Karnaugh da varidvel de saida Equagdes de estado a= A | fxl*x2 + x1*x2*a4/b | D=A[ x2*/a*b + x1*b + x1%x2*04/ | Equagdes de saida =| x1*b + x1*x24a*/b | {Pe I a) ) Fig. 10.10 « Circuito sequéncial de contréle do seméforo Preto de Cras Digits Pro Frniso Ents Lamon 2° Problema Um sistema sequencial possui duas entradas x1 e x2 que néo podem trocar de valor simultineamente, € uma saida z. % passa ao nivel légico 1 quando x1x2 = 10, se o estado precedente das entradas era x1x2 = 00 Z passa ao nivel légico 0 quando xIx2 = 01, se o estado precedente das entradas era x1x2 ~ 00, As demais situagdes das entradas x1x2, so sem efeito sobre a saida 2, ¢ ‘esta mantém seu valor anterior. Pede-se: a) Construir a tabela primitiva de fluxo do sistema b) Reduzir esta tabela ¢ fazer a designagdo de estados evitando disputas ctiticas c) Obter as equagdes das var Aveis internas de estado e da saida, ¢ implementar 6 circuito sequencial correspondente. solugio Foi escolhido o estado total ( 1 - 00) como sendo o estado inicial (estavel ) a partir do qual o sistema iri evoluir. Partindo deste estado inicial com saida Z = 0, pode-se obter a tabela de fluxo da figura 10.11. As condigdes irtelevantes existentes na tabela se devem ao fato de ndo ser permitida a mudanga simultinea das varidveis de entrada x1 ¢ x2. Proj de Cueto Ppa - Pro. mio Eas Lemos Fig. 10.11 » Tabela primitiva de fluxo A redugio da tabela primitiva € fei partir da tabela de pares da fig. 10.12, € do conjunto de méximos compativeis MC = [ 1, 234, 5,678] obtido conforme indicado em 10.13, Fig. 10.12 - Tabela de pares Titados conjontos de coluna | Compat. ‘compativeis 7 a 78) 6 ea» * 3 C1989 z 34s 19 23905, : 1 é C7HA3)09 05 Fig, 10.13 - Méximos compativeis Proto de Cites Dipiis- Po. Francine Fn Lemos o A tabela reduzida ( Figura 10.14 ) possui 4 estados internos, ¢ pode ser designada com duas varidveis internas de estado uma véz que as adjacencias necessirias podem ser respeitadas sem utilizago de estados ponte ( Figura 10.15), aN oo on u fe 00 oO 1 10 a (esa 9 eoaeae sa 84 Fig. 10.14 - Tabela de fluxo Conjunto de destinagio oa] on loos gla 6 1 os z oer 5 Fig. 10.15 Fig. 10.16 - Mapa da varidvel de estado a Proje de Citi Digitai Pro Francie Eas Lees ab ee or u 10 1 1 1 x 0 Fig. 10.17 - Mapa da varidvel de estado b xt x2 ab Fig. 10.18 - Mapa da Varivel de Saida z a =A | x24/b + x24a + fe *4x24b + WA/b | b= AL xia + lah + (2*b | Equagées de estado x1/a + (0%) + x24 Equacio de saida Projo de Cites Digs -Pro. Fraseso Enis Lemos Fig. 10.19 - Circuito sequéncial correspondente a tabela de fluxo da Sig. 10.14. A figura 10.20 mostra um circuito sequencial assincrono onde Ae B sto entradas, ¢ @ ¢ b sao varidveis internas de estado. Supondo 0 atraso A2 em qualquer caso menor que Al, pede-se: a) Analisar 0 circuito verificando se ele apresenta ou nfo problemas de disputas criticas ou nao criticas. b) Proponha modi agdes no circuito de modo a solucionar problemas apresentados no item a. rj de Cites Dipti - Pr. racinoHnts Lemos tL >», 0 » )—f) oq. = 4 = am Fie 1020 saad item a:- Determinagao das equagdes de estado e de saida, da tabela de fluxo correspondente, ¢ identificagdo dos problemas existentes. a= A2[B+A*ia+ A*b%a| b AL| B+b+/4*/B*a | Equagdes de Estado = lab + AMD + aX/AYB Equacio de saida Projo de Cio Digns- Prof Frain Enis Lense a A partir das equagdes do circuito, pode-se construir os mapas de Karnaugh dos valores futuros das varidveis de estado, ea variavel de saida, de modo a facilitar a obteng&o da tabela de fluxo correspondente, a partir da qual sera feita a analise (figura 10.21 a 10.23) P % o n 10) o o 1 ° 1 0 ° o n Fig. 10.21 - Valor futuro de a 0 a u AB » 10 © 1 1c 2 Fig. 10.22 - Valor futuro de b AB a» \Y t ' Fig. 10.23 - Saida s A tabela de fluxo € a seguinte: AB 4 Est o a 10 oat 3 4 F) 7 30 30, et 30 20) aire x a0 10.24 Projo de Cucuits Dias - Po. Finca Enns Lemos se da tabela a partir dos estados totais estiveis (1-00) (2-00) © (4- 10) pode-se identificar os problemas existentes, tendo sempre fem conta que 0 atraso A2 & menor que Al, ou sej Se houver mudanga simultanea de valor das variéveis de estado, a variavel a atingira 0 valor final antes da variével b. Os pontos onde isto ocorre sto os seguintes A.1, Mudanga do estado total (1-00) para (1-01) onde o sistema deve passar ao estado total (3-01) estavel, ¢ ocorre uma disputa no critica, pois 0 estado final atingido foi o especificado pela tabela de fluxo endo houve alteragao de saidas do sistema. A.2, Mudanga do estado total (1-00) estavel para (1-11) onde, como A? < AI o sistema iré ao estado (4-11) instivel e a seguir a0 estado (3-11) estivel caracterizando uma disputa nao critica pois o estado final atingido foi o especificado pela tabela, embora houvesse uma modificagdo na saida, considerada aceitavel para 0 caso. A.3. Passagem do estado (4-10) ao estado (4-00), onde o sistema deveria estabilizar em (2-00), mas, como A2< Al a variével a vai a zero antes que b vi a um fazendo com que o sistema estabilize em (1- 00) © nko em (2-00) como previsto. Além disto, ocorre também uma modificagdo na saida que deveria ser zero no estado final (2 - 00 ) Pretendido, € que passa a ser um devido ao funcionamento erritico, caracterizando portanto uma disputa critica. Projet de Cts Dgiais- Prof Frm Bins Lemos item b:- Modificacbes que ser_feitas para contornar os problemas apresentados A tabela de fluxo pode ser modificada conveniemte, admitindo-se as disputas no riticas, e removendo a disputa critica pela modificagéo na designagio do estado total (4 - 00) de 2 para estado 3, mantendo a mesma saida ‘A nova tabela é a mostrada na figura 10.25 onde a disputa critica foi removida, Fig. 10.25 ‘+ Obs:- Caso se deseje um procedimento mais sistematico onde todas as disputas (criticas ou nao criticas) tenham sido eliminadas, deve-se fazer uma nova designacao de estados, procedendo conforme discutido na seo &. ‘Proje de Caco Digs - Pro. racic Ens Lemos ” Dada a tabela de fluxo da figura 10.26, pede-se reduzi-la & minima tabela que cobre a tabela dada. E Fst o 1 30 rm Flair 60 3[ 30) 2 [sr 60) s[ 730) a ole im Fig. 10.26 es correspondentes w 2 Fr © A = ® = 4 Fn = 7m = s 1s Dy = Ti = te /6 1s 258 2 ‘jt de Cites Digs Pt. Franco Fn Lemos B) Determinagao dos maximos compativeis (M,C. ) * Obs:- Subconjunto (35) cancelado pois esta contido em (1 35 ) © conjunto de méximos compativeis sera M.C. =( (135), (24) } ©) Proceder a redugio da tabela escolhendo o subconjunto (135), (24) + (6) de modo a englobar todos os estados existentes, e a nova tabela fica portanto: m\* ! 1 10 Bh Aa se A Projo de Circ ips Pro Fema Ends Lee Sintetizar 0 circuito sequencial assincrono definido pela tabela da figura abaixo, utilizando apenas blocos NE, inversores e blocos atraso na sua implementagao. instante ty instante (1) At) varidvel de variaveis, variaveis de entrada de estado, estado E ab ab 0 s8 oo 1 oo rete o 10 ow 1 rperiaee' Hi 0 Disa Win bd 1 mn nee emi solucdo 1. A partir da tabela dada, fazemos a sintese dos valores futuros das varidveis de estado ae b \o E 00 o 1 Fig. 10.30. Valor futuro de a Projet de Cizstos Digits - Po. rma Ends Lemos Fig. 10.31.- Valor futuro deb Em termos de blocos NE temos a=A ((at/B) * (aE )] b=A MME) * M/E) ] A partir destas equagdes constraimos o circuito correspondente (Figura 10.32), & EO Figura 10.32 Proto de Cnc Dts - Pro. Frtacico Ens Lemos 10.2.- Exercicios Propostos ( Sistemas Assincronos ) 1) Sintetizar, minimizar ¢ impiementar em termos de blocos NE, 0 circuito definido pela tabela abaixo; Wairadas Sala B 2) Encontre 0 conjunto de maximos compativeis correspondentes a tabela abaixo: Projo de Citas Dips - Prof Fenn Enda Loe » 3) Fazer a designagio de estados para a tabela de fluxo abaixo pelo método de estados ponte, 4) Minimizar as duas tabelas que se seguem, obtendo a minima tabela que cobre cada uma das tabelas dadas. ( X = condiglo irrelevante ) o in 10 ae 3a a 2) 39 a a 3-0 a or saa a x = s|_sa = oo ¥ alos 6a = z acca 7 7 z [an z ar Projo de Cres Digs - Pro: Francisco Bada Lemos 0 © o " 0 ie 3 a 70 a[ 39 7 ww 3 3| a io 30 ov 4) 38 a0 1 BY s| Ta 3 oo ia a 30 i En 1,30 30 we oo 5) Dada a tabela de fluxo da figura, pede-se A) Encontrar a tabela de fluxo minima que cobre a tabela dada e eliminar 0s problemas de disputas criticas. B) Determinar as equagdes de estado ¢ de saida da tabela reduzida ©) Implementar o circuit sequencial assincrono correspondente xs a Est Salida o 3 r 3 “ 4 i jo de Cites Dips Po. Franco Eas Lemos 6) Um sistema indicador do sentido de rotagdo de um eixo ¢ constituido de: * Um disco solidario ao cixo que & composto alternativamente de duas zonas transparentes, e duas zonas opacas, (Figura 10.33 . * Duas fotocélulas, cujas saidas X e Y vao a nivel légico um sempre que as respectivas entradas a e b estiverem sobre a zona opaca, e voltam ao valor I6gico zero na zona transparente. A dis weia entre ae b é sempre inferior ao arco do menor setor opaco ou transparente ( figura 10.33 ). © Uma estrutura seqiencial assincrona, A saida do indicador toma valores zero ou um, de acordo com o seguinte: $= 0 se 0 disco mecénico gira no sentido horirio, ou para apés ter irado neste sentido, $= 1 se o disco gira no sentido anti-hor 10, ou para apés ter girado neste sentido, Pede-se obter, pelo método de Huffman, 0 circuite seqiencial assinerono correspondente, a Saida do rea enen iidicador S=1 27 fotocelula Fig. 10.33 Proto de Circuits Digits Po Francs Enda Lemon 2 7) Supor uma determinada rodovie que é atravessada por automéveis & caminhées, que podem trafegar em ambas as diregdes. Deseja-se projetar lum sistema que seja capaz de detectar caminhdes que vio da esquerda para a direita. Isto sera feito pela colocagao de um par de sensores (fotocélulas) x; e x2 ¢m pontos determinados da estrada, como mostra a figura 10.34. Estes sensores esto separados por uma distincia L, e fornecem uma tensio constante ¢ diferente de zero, sempre que um veiculo esta sobre eles. Todos os caminhdes excedem L em comprimento, e so menores que 2L; © todos os automéveis sio menores que L. Assumir que nas vizinhangas da fotocélula nunca dois veiculos (automéveis ou caminhdes) chegam a uma disténcia entre eles menor que 2L. ) Construir a tabela primitiva de fluxo. b) Reduzir a tabela convenientemente. ©) Designar 05 estados internos, © construir 0 circuito de comando correspondente. —_—— neve caminnao}_, Ce Fig. 1034 Projo de Cictos pan - Prof. Frac Eas Lemos 6 8) Considerar dois botes de pressio A ¢ B, © uma lampada L (figura 10.35). Na condigio inicial, os botdes estio soltos (A lampa © B=0jea ipagada. A lmpada deverd acender, a partir da condig&o inicial, somente quando os botdes forem acionados na seguinte seqiiéncia: Botdo A € ligado ¢ destigado ( com B desligado ) Botio B é ligado e desligado (com A desligado ) Para todas as outras seqiiéncias, a lampada deve permanecer apagada, ou apagar caso esteja acesa, Pede-se : 1, Construir a tabela primitiva de fluxo. 2. Minimizar a tabela obtida, climinando os estados redundantes. 3. Obter 0 circuito sequencial para comando da lmpada aO—- Circuito sequencial = | —s [gg J+ ey BOY a Fig. 10.35 rj de Circuits pias - Po! acs Fda acs 11. Sintese de estruturas seqiienciais sincronas A metodologia para analise ¢ implementagao de estruturas sequenciais sincronas € praticamente a mesma jé detalhada na segdo 6, A iinica diferenga reside no fato de nao ser necessério codificar os estados internos de modo sistematico para evitar disputas entre variaveis internas, pois como @ estrutura é sincrona, estes problemas serio eliminados com a utilizagdo de tum relégio externo. Os modelos de Mealy e de Moore continuam vélidos conforme ja foram definidos na segio 4.3. Para simtetizar estruturas seqenciais sincronas serio usados circuitos elementares denominados biestiveis, Os elementos biestaveis serio 0 proximo assunto a ser estudado, subdivididos em quatro tipos denominados JK, RS, De T. Estes quatro tipos so comumente empregados na pritica para implementar circuitos seqiienciais. 1, - Cireuitos Biestiveis Sineror 1111+ Definigéo: — Circwitos biestdveis sincronos sao subsistemas digitais que contém: Um conjunto E de entradas (€) €2 v1n€n) Uma iinica saida ( Q ) Um sinal de relégio (R) As entradas e saidas sao invariantes nos instantes de acionamento do rel6gio, ¢ a equagio de saida é dada por: QF 1)= FL ev(t), en(t)...en(t) QU) | onde F é uma fungao da algebra booleana binaria Proto de Cet Digs Pro rasa nas Lemos as Os biestiveis podem ser sensiveis a nivel do sinal de relégio, ou a __borda positive ou negativa do sinal do rel6gio. ( Ver segio 4.3) e i—9 e elemento U biestavel G - e - mo y ~ 11.2.- Tipos Particulares de Biestiveis 11.2.1.- Biestével_JK: Possui duas entradas denominadas j e K que comandam sua mudanga de posigdo em sincronismo com o sinal de relégio. A tabela 11.3 resume 0 funcionamento deste biestavel cujo diagrama de blocos e diagrama de estados esto apresentados nas figuras 11.4 ¢ 11.5. resent Fig. 11.3 - Tabela de acionamento do Biestavel JK Projet de Cirsits Digital Pho Francie Ens Los pa on He [— (2) Biestavel (k) co p @ | Fig. 11.4 Diagrama de Blocos JK = 0X (*) (*) JK =xo Fig. 11.5 ~ Diagrama de Estados 11.2.2, Biestével RS: Possui também duas variiveis de entrada para comando, Quando a variével R ( Reset ) vai a nivel légico zero, @ varivel Q vai a zero é quando a varidvel S ( set ) vai a 1, a variavel Q, de saida, vai a 1. Todas as mudangas ocorrem sempre em sincronismo com 0 sinal de reldgio. Neste biestavel nao ¢ permitido, em nenhum caso, as variaveis de entrada iguais a | simultaneamente (RS = 1), Proto de Cratos Digits -Pro.Fasiso Faas Let Y "7 As figuras 11.6 © 11.7, resumem seu funcionamento, sendo o diagrama de estados correspondentes apresentado na figura 11.8 rR O——_ 8 Biestavel RS Z : s O—+ fF ee e Relogio v Fig. 11.6. Relégio Esiado preseate Future Ri) wrt ~ Tabela de acionamento do Biestivel RS RS=01 (0) CY paso Fig. 11.8.- Diagrama de Estados para o Biestivel RS, OBS:- Nao é permitido Re S ig a1 simultineamente. Projo de Circats Digits - Po franco Eni emis 88 Biestivel Tipo D: Possui apenas uma entrada para comandar as mudangas, Quando sensivel borda do sinal de relégio, sua saida copiara o valor da entrada depois de um tempo igual ao periodo do sinal de relégio que sincroniza as mudangas. Permite, portanto, retardar a informagao aplicada & sua entrada por um tempo digital. ( igual ao periodo do sinal de relégio ) vO—_ r—O Biestavel a Tipo D Q Relog t Fig. 11.9. Fstado presente Futuro Di o oth Fig. 11.10. Tabela de acionamento do Biestdvel tipo D. Fig. 11.11. Diagrama de Estado para o Biestével tipo D. Pred Cinstos Digits Prot. rnin Ena Lamas 11.2.4.- Biestivel tipe T: Possui uma entrada de comando, ¢ se for imposto 0 valor légico 1 4 sua entrada, a saida troca de estado (complementa) a cada ordem de mudanga fornecida pelo si 1 de relogio. A frequéncia de recorréncia do sinal de saida sera, portanto, a metade da freqléncia de recorréncia do sinal de rel6gio. F--O'9 rTO— Biestvel Tipo T Od : Reléeia 7 Fie nz Fig. 11.13 - Tabela de acionamento do Biestavel tipo T : te CO os oo Fig. 11.14 ~ Diagrama de Estado do Biestével Tipo T : Preto de iets Digs rt rnc Lain 11.3, Forma Geral de Uma Estrutura Seqiiencial Sinerona Os elementos biestaveis apresentados, associados aos modelos de Mealy ou de Moore para representagdo de estruturas sequen 8, permite Pensar numa forma geral de representagio de cstrutures sincronas, Isto explica a razdo pela qual os biestaveis foram apresentados na seco 11 como subsistemas sincronos elementares, com a preocupagdo apenas em descrever suas operagdes, ¢ no @ mancira pela qual eles seriam implementados, Estes biestéveis, dentro dos objetivos deste curso, devem ser encarados como elementos basicos de meméria, cuja fungdo é armazenar o estado interno do sistema sequencial sincrono que se deseja implementar. Vamos agora nos reportar a fig. 11.15, onde esta representada uma estrutura seqiiencial genérica , que se convencionou denominar Maquina Sequencial Sincrona. Esta estrutura apresenta clos de realimentagao caracteristicos dos sistemas seqiienciais, e pode ser methor compreendida se for subdividida em duas partes: Um bloco combinatério, no qual as saidas dependem unicamente das variéveis de entrada, © blocos correspondentes a memétias internas que armazenam 0 estado do sistema © estado do sistema & determinado pelas variiveis de entrada (Conjunto E), e pelas proprias variaveis internas de estado (conjunto X), que fazem inclusive a atualizagao de estado, através do elo de realimentagio {0 leitor deve ter em mente 0 modelo de Mealy discutido em 4.3). 0 conjunto de saidas por sua ver, ¢ determinado pelo conjunto de entradas (E) aplicado, © pelo estado interno armazenado no instante de aplicagdo das entradas, Projo de Cratos Digits Pro. Fran Fas Lancs Conjunto [es (£) Varidveis intemas de estado (X) Relégio (R) ig. 11.15- Forma Geral de uma estratura sincrona ‘As memérias indicadas na fig. 11.15, serio constituldas dos elementos biestiveis definidos anteriormente, ¢ todo 0 sistema seri sincronizado externamente, de modo que as madangas de est Jo $6 ocorrerdo sob 0 comando de um sinal externo de reldgio. Este modelo de maquina sequencial ¢ bastante importante, ¢ de sua ‘ssimilagfo dependeré o maior ou menor grau de dificuldade que poderd ter © leitor em compreender as secdes subsequentes. (Voltaremos a ele na sego 14), A seguir, serio resolvidos alguns exemplos de anélise ¢ sintese de cireuitos sincronos, procurando mostrar as aplicagdes do método apresentado, © 0 uso dos quatto tipos de biestaveis apresentados. Pret de Cate Dig Pf Emi Ea n 12.- Problemas Resolvidos de estruturas seqdenciais sincronas Problema 1- Deseja-se realizar um circuito seqtiencial constituido de uma entrada (X) © uma saida (Z), sabendo-se que 0 mesmo deve ser incronizado por um sinal de reldgio. A saida deve ficar em nivel légico zero, @ menos que a entrada (X) tenha se mantido em nivel logico um por quatro pulsos de relogio consecutivos, ou zero por quatro pulsos de relogio consecutivos. A saida deve mudar para nivel légico um no instante da quarta entrada idéntica consecutiva, e permanccer em um até o proximo pulso de relégio, Pede-se- 4) Construir a tabela de fluxo correspondente ) Implementar o circuito com biestaveis tipo D Solugao Este cireuito € um detetor de seqiéncias de 4 zeros ou 4 ums, © sua tabela de fluxo esta apresentada na fig, 12.1. Como o problema impoe que a saida va a nivel légico UM quando a quarta entrada consecutiva for UM, utilizam-se biestaveis sensiveis & borda positiva do sinal de relégio na implementacao. ojo de Cites Dips - Pro Fracoso Enns Lemos * Fig. 12.1:- Tabela de fluxo do circuito detetor de sequéncia As figs, 12.2 ¢ 12.3 ilustram um diagrama de blocos e de tempos do circuito desejado onde a entrada (X) é mantida por 4 pulsos consecutivos em nivel l6gico ZERO e posteriormente UM, indicando os instantes de mudanga da saida, Cabe mencionar, que diagramas de tempo do tipo apresentado na fig. 12.3, sto extremamente utilizados no estudo dos sistemas sequenciais sincronos, pois facilitam a visualizagdo dos instantes de ocorréncia das variiveis envolvidas no problema, pntrada(X) © ida Batrgge) circuito FRSA ‘Sequencial +—O Relégio(Ry) O— Fig. 12.2 - Diagrama de blocos do sistema Projo de Cres Dpas- Pr: ncn Eas Laos eg fro ULI UL x f L_ Fig. 12.3- Diagrama de Tempos Uma vez obtida a tabela de fluxo do circuito seqiiencial, 0 préximo asso seri fazer sua designagto de estados, (Esta tabela jé se encontra na forma minima). Como a tabela possui um total de 8 estados internos, sto necessirias 3 (trés) variaveis internas de estado para sua designagao. © fato da estrutura sequencial desejada ser sincrona, permite concluir que 0 circuito nao apresentaré problemas de disputas entre varidveis internas de estados, pois as mudangas simultineas de mais de uma varidvel interna serdo controladas pelo sinal de relégio. Portanto, no hé necessidade de se proceder a uma designagdo de estados sistematica (como foi visto na segdo 8), bastando atribuir 2 cada estado interno uma combinagdo booleana binéria como foi feito na fig. 12.1 (foi atribuido cédigo 4-2-1), © préximo passo € a obtengdo das equagSes booleanas a partir da tabela de fluxo completa. Para tanto, sto construidos os mapas de Karnaugh correspondentes as varidveis internas de estado a, b, ¢ © saida, conforme apresentado nas figs. 12.4 a 12.7 Proje de Can Das - Pi Fai Ende Loe » «\ © oo. ° 1 1 o o a 1 w Fig. 12.4- Mapa da varidvel a \nlelolole Fig. 12.5- Mapa da varidvel b lelele|-ls Fig. 12.6- Mapa da varidvel ¢ ay Fig. 12.7- Mapa da saida Estes mapas fornecem as equagdes booleanas necessérias a implementagdo do circuito com biestiveis tipo D, uma vez que estes biestiveis sto equivalentes, para os circuitos sincronos, ao bloco atraso definido para circuitos assincronos na secao 5.1 (Copiam a informagéo de entrada na saida, depois de um tempo digital que neste caso ¢ 0 periodo de relégio). Pj de Cis Digits - Prof Francisn Enda Leno A generalizagto pare emprego de outros tipos de biestéveis na sintese do sireuito sera fein no proximo exemplo. As equagées ficam portanto: RIX] Equagdes de estado b= Ri satbticrix + atbtictx + arbtlox satibeetix | CR [latictin + ater | saida ~ be —————+ _equagiio de saida ‘A obtengio do circuito sequencial correspondente se faz através da utilizagao de um biestavel (tipo D) para cada variavel interna de estado, de acordo com es equagdes obtidas. A fig, 12,8 mostra o circuito final Fig. 12.8 tn Cc Digi re Frcs Lae Problema 2- Sintetizar um contador decimal operando no cédigo $421 Solucie Durante 0 proceso de sintese deste contador, seri generalizade a utilizagio dos biestaveis D, T, JK ou RS como elementos de meméria par implementagao de citcuitos sincronos. A tabela da fig, 129 resume a operagao dos quatro tipos de biestaveis mencionados, de acordo com 0 que foi definido para cada um deles na sego 11.1 Nesta tabela temos a transigdo desejada indicada na coluna transisio. © 0 valor logico que deve ser aplicado na entrada do biestavel para obter a referida tcansigho Fig. 12.9- Tabela de Transigdo dos biestéveis (© contador desejado deve possuir 10 estados internos codificados em ‘quatro variaveis internas de estado a bc d, conforme indica a fig. 12.10, oko de Cts gtr Ha Leer % A tabela de fluxo correspondente a este contador esti apresentada na fig. 12.11, com uma entrada correspondente aos pulsos de relgio (0 contador avanga um estado a cada pulso do reldgio), ¢ a saida que indica o término de um ciclo de 10 contagens e pode ser utilizada para acionar outro estigio contador idéntico, permitindo associar virios médulos em cascata Entrada de saida para o puisos de | samen, bay aati relogio TTT veitveisnznasde ab d+ estado (codificadas em 8421) Fig. 12.10- Diagrama de blocos do contador A figura 12.12 apresenta um diagrama de estados do contador (equivalente a tabela de fluxo), cujo objetivo é chamar a atengio do leitor Para o fato de que, em alguns casos, a representagao do problema (e seu entendimento) pode ser simplificado pela utilizag&io de diagramas de estado a0 imvés de tabelas de fluxo. Neste diagrama, os estados intémos do contador esto numerados de zero a nove, ¢ o sistema avanga para o estado interno seguinte, a cada ordem de deslocamento (mudanga das variaveis internas de estado), fornecida pelo relégio. Projet de Crit Dips =P. Franco Fees ence 0000 0001 010 01 100 oro ono ou 1000 1001 ig. 12.11- Tabela de fluxo do contador (0000) 0 , (1001) 1 (0001) = En =] (1000) 2] (0010) ed 7] corn FF (0011) —— = 8 | corto) 7] (0100) (0101) Fig. 12.12- Diagrama de Estados Neste problema existem apenas as quatro variaveis internas de estado envolvidas na solugao, uma vez que a entrada seré o proprio sinal de reldgio, E interessante ressaltar que em contadores deste tipo, 0 cédigo de contagem desejada (no caso 8421) & obtido pela escolha da designagao de Prt de Cet ips - Po. Francs Ends Leos 100 estados coincidente com 0 cédigo escolhido. Este é 0 motivo pelo qual as varidveis a b cd foram designadas com 0 c6digo 8421 A partir da tabela de fluxo da fig, 12.11, € possivel obter os diagramas de Karnaugh para implementagdo do circuito com qualquer um dos quatro tipos de biestaveis desejados. Para tanto, basta comparar os valores presente © futuro das varidveis internas de estado (transigiio desejada com os valores de transig#o apresentados na tabela 12.9 para cada tipo de biestavel , b=0, e=0, d=0) para o ) apenas a varidvel d muda de nivel l6gico 0 para utilizado. Por exemplo, na passagem do estado 0 ( estado 1 (a=0, b - 1, Pela tabela de transigdes apresentada ma figura 12.9 para o instante considerado tem-se biestavel [ D ] fazemos D=1 biestavel [ T ] fazemos T=1 biestavel [ JK ] fazemos J= 1e K=X biestavel [ RS ] fazemos R= 0e S onde X = condigao irrelevante Procedendo de forma anéloga, pode-se construir e preencher os mapas de Karnaugh que dio origem as equacdes necessarias 4 implementagio. Sio apresentados a seguir, os mapas correspondentes a sintese do mesmo contador de trés maneiras distintas, utilizando respectivamente biestaveis tipo D, Te JK. As equagdes correspondentes, de estado ¢ de saida, foram escritas a Partir dos mapas mencionados, ¢ levam a obtengéo dos trés circuitos das figs. 12.13, 12.14 © 12.15, Projo de Cit Digi Pf. rusia Enda Lees Biestavel tipo D cS 101 Biestavel tipo T * wo [7 « Pw * a [o ort eae u [Ww a fo T RS w fw w [oe po poe : a 3a \e wf af afte wl o Bs 0 [7 0 | o [Pt a w Projo de Cia Digits - Pho. Frncin Faas Lames 02 Biestiveis JK \e o o n 1 de Ka jo de Cites Dips - Pro Finan Enea Lemos 0s Para biestaveis tipo D a(t+1)=R [ atid+ bectd | b(t+1) = RL dtd + bie + /btetd | e(tt1) = R [ fated + cr/d ] a(thI)- REM] Para biestiveis tipo T Sa = RI atd+bictd ] b= Rod] Je = R[ Jatd ] Bd=1 5 = variavel de acionamento dos biestaveis tipo T Para biestiveis tipo JK Ja =R [ btetd ] Je= R [Ata ] Ka=R[d] Ke=R{d] Jo=R[ cid] Joa Kb=R[ ot] Ka=1 Je K = variéveis de acionamento dos biestiveis JK. Prot de Cveit Digs - Pro, Fras Eas Leos 104 Mapa de Saida (S) A equagio de saida seré a mesma para todas as implementagdes: S=a.d As equagdes booleanas apresentadas acima permitem comparar as implementagdes, ¢ concluir que a utilizagdo de biestaveis JK ¢ a que resulta ‘no circuito mais simples, como mostram as figs. 12.13 12.15 A varidvel R (relégio) que aparece multiplicando as equasdes acima, indica que as transigées de estado interno do contador sé ocorrem em sincronismo com o sinal de relégio. Este exemplo de sintese do contador deve ser generalizado pelo leitor, Procurando pensar na implementagao de contedores decrescentes ¢ de modulo variével. Na segdo 13, & implementado um contador crescente/deerescente com médulo varidvel. Projo de Casts Digits Po. Francs Enda Lees ws fap ih fc ° i Relégio Fig. 12.13 - Contador decimal implementado com biestéveis tipo D Pree de Cuts gneiss Lem a + Vee ie 4 U dd Ls va Ka k. fe x, a4 Fig. 12.14 « Contador decimal com biestdveis tipo JK Relégio Fig. 12.15 - Contador decimal com blestdvels tipo T ba Pro de Cts -Pr Fn ass «) 3 Problema - A figure 12.16 apresenta um circuito sequencial sincrono onde E é uma entrada, e X e ¥ so varidveis internas de estado Analisar este citcuito obtendo sua tabela de Muxo, ¢explicando, gual so Fungo. Dr 4 oa i 6 ti —po—L_/ Regio Fig. 12.16 Sotugto Imicialmente, devem ser obtidas as equagdes de 3, © 3, ‘correspondemtes as variaveis de ‘onamento dos biestaveis e varidvel § de saida, © circuito envolve um total de 3 varidveis ( uma de entrada e duas de estado ), © as equagdes de +3, , 3, e saidas sé: Se = YAE EX 3,5 Y+E obtidas a partir do circuito dado. s= xy Prt Je Cents ti Po a Ft Lee 18 Os mapas de Karnaugh correspondentes a 3x e 3y esto mostrados nas figs. 12.17 € 12.18. Estes mapas indicam, em ultima analisc, os instantes em que os biestaveis so acionados, ¢ trocam o estado interno do sistema em sincronismo com o sinal de relégio, o on u 10 o o 1 © n n a Fig. 12.17 - Mapa da varidvel de acionamento 3x Fig. 12.18 - Mapa da varidvel de acionamento Sy Comhecendo-se os instantes que os biestaveis sio acionados ¢ os valores das variéveis X ¢ Y nestes instantes, podem ser determinados os valores futuros destas varidveis, e portanto o proximo estado interno do sistema a partir do estado atual, obtendo desta forma a tabela desejada. Por exemplo, para X=Y=I, € E-0, os dois biestaveis sto acionados (ver figs 12.17 € 12.18 ), fazendo com que suas saidas sejam complementadas ( lembrat que sdo biestaveis tipo T ). Como no instante do acionamento X Y = 1,0 valor futuro de Xe ¥ sera X = Y = 0. Ou seja: o sistema passa do estado designado por X = Y = 1 para o estado X = Y = 0. Este mesmo raciocinio aplicado a todas as células dos mapas, levam a tabela de fluxo rojo do Cres Digits Pro. Frio Ens Lemos . 109 desejada que esta indicada na figura 12.19. A fig. 12.20 corresponde ao da vs el de saida S, que também foi indicada na tabela de fluxo, ~ (Lembrar que S = X. ¥ ). : : Ns . Yak i es ft ¥ es A YS Fig. 12.19 ~ Tabela de fluxo correspondente ao circuito da figura ~ «0 on 10 E ° ° 1 a o r 0 Fig, 12.20 - Mapa da varidvel de saida Uma andlise da tabela de fluxo obtida, mostra que sempre que a entrada E for a nivel légico UM, 0 circuito opera como um contador médulo 4 (_contando os pulsos de reldgio ), quando E vai a nivel légico ZERO, © sistema para no estado 1, com E = 0 (estavel). Cabe ressaltar que a anilise feita neste exemplo para um circuito com ~ _ biestiveis tipo T, deve ser generalizada para circuitos com qualquer um dos ~ outros tipos de biestaveis jé estudados ( D, T, JK e RS ). Resolver como exercicio, os problemas propostos na sego 15 ojo de Cire Digs - Pro. Frmcno Eades Lee no 13.- Limitagdes do Método Classico de Huffman Nas segdes precedentes foi apresentado um método para sintese de estruturas sequenciais clementares que, entretanto, possui uma série de Timitagdes. So limitagdes que surgem em fungao das tentativas de aplicagdo deste método a solugdo de problemas de maior complexidade, onde o numero de variéveis envolvidas aumenta consideravelmente, A primeira dificuldade ¢ relativa & formulagao do problema a partir dos requisitos fornecidos para o projeto. A utilizagao das tabelas de fluxos, ou outros mecanismos equivalentes para especificar completamente o Problema, s6 & vidvel quando o numero de variveis envolvidas & pequeno (em geral até 8 varidveis), se adaptando muito mal a solugdo de problemas de maior complexidade, onde muitas vezes se toma impossivel a manipulagdo destas tabelas. Outra dificuldade reside no método matemitico para minimizagao ¢ simtese das equagdes, pois estio baseados na utilizagdo dos mapas de Karnaugh ¢, portanto, limitados em termos priticos ao tratamento de um ‘maximo de 6 variéveis (mapas de 2 dimensées ). Por fim, os métodos matematicos de simpli ayo de equagdes booleanas, embora vigorosos, podem conduzir a implementagées dificeis de interpretar, dificultando @ manutengao dos circuitos e colocando em segundo Plano o problema da modularidade, na maiorin das vezes de grande importincia num projeto industrial Outro dado a ser considerado, é 0 enorme desenvolvimento havido na microeletronica a partir de meados dos anos 70, tendo possibilitado a integragfo em larga escala de componentes eletronicos em uma Gnica Peto de Crt Digs Pro Francia Eas Lemos mi pastilha, colocando em cheque a filosofia adotada até entio, de minimizagao de equagées objetivando a obtengdo de circuitos otimizados. Este aspecto deve ser analisado tanto do ponto de vista de redugdo de custo quanto de aumento da confiabilidade (05 avangos da microeletrénica trouxeram enormes redugdes de custos dos circuitos com aumento de sua confiabilidade), reduzindo interligagdes necessarias entre componentes ¢ aumentando a tambem a confiabilidade dos sistemas. Dentro desta filosofia, o surgimento das MEMORIAS APENAS DE LEITURA (ROM = Read Only Memory ) e suas sucessoras, PROM, EPROM, EEPROM deve ser destacado, porque possibilitou a busca de novos métodos de modelamento ¢ sintese baseados em implementagao utilizando estes novos componentes, jt de Cros Dips - Po. France Eas Lemos m2 14.- Memérias Apenas de Leitura ( ROM ). A idgia de utilizar arranjos logicos completos num sinico’circuito integrado para sintetizar fungdes combinatdrias é bastante antiga, mas s6 se tornou possivel com a integrag#o em média e larga escala, e particularmente com 0 aparecimento das memérias ROM e suas sucessoras: ‘+ PROM= Programmable Read Only Memory, * EPROM Erable Programmable ROM * EEPROM = Electricaly Erasable PROM Que serio analisadas nas segdes seguintes A memoria ROM consiste basicamente de um circuito combinatério, que produz um certo conjunto de saidas ( § ), em fungéo de um conjunto de entrada: (E ) que the foi aplicado. Se encaixa portanto no modelo combinatério descrito no item 4.1 A estrutura interna desta meméria pode ser subdividida em duas partes (fig, 14.1) 1) Um decodificador: 2) Um conjunto de portas logicas. © decodificador permite que o conjunto de entradas aplicado (Conjunto de enderegos ) seja decodificado e selecione uma “palavra da memoria”. Um enderego consiste de um conjunto de m bits que podem selecionar um maximo de 2" palavras de meméria. As palavras consistem de um conjunto de bits de tamanho fixo ( cordao de bits ), que é caracteristico de cada tipo de meméria ROM. Projo de CititsDigiais-Pro.Frncno Ends Lemos Cogan de selma aes ‘wears (Gara) “say Fig. 14.1- As duas partes bisicas da meméria ROM AAs informagdes armazenadas na ROM sio fixes, © foram gravadas durante 1 fabricago, ou por outro processo que é externo & sua operagao Hogica normal. Isto significa que nfo podem s modificadas, © que caracteriza o nome “Meméria Apenas de Leitura” que the foi dado Uma meméria ROM pode ser usada para armazenar informagies ou para implementar fungdes booleanas quaisquer. Um exemplo simples é mostrado na fig. 14.2. onde as 3 variaveis de entrada so de-codificadas ¢ a seguir sto feitas as somas necessé las nas portas OU para a obtengso das Fungdes desejadas. As fungdes sto expressas na forma canéni somas de produtos, ro Cen Dg Prt Fa a Lane us Fig. 14. 2- Exemplo de organizagdo interna da ROM a) mi 4 = Daan + apbes eat sonjunto append ) . epbee or e logicas. any 101 =) =) a) mt ¢ ic decodificador Ss S As fungdes S; ¢ S, implementadas so as seguintes Si=(A*/IB)+(C*B*IA)+(A*BEC) S2=(/A*IB*C)+(A*B)+(A*BPIC) Projetode Circitos Digits Pro ancin Hines Leas Cada uma das suidas (S,, S:. ... 8, ) da meméria ROM correspondem internamente ao que se denomina um plano desta meméria. A meméria da fig, 14.2 possui 2 planos Existem outras formas de organizar internamente estas memérias modificando 0 arranjo do decodificador. A mesma memér presentada na fig. 14.2. foi redesenhada em 14.3., utilizando uma matriz de duplo encadeamento para a decodificasao. AB ae oo co ne i a oe ecodificador Se s Fig. 14. Arranjo do decodiftcador em dupto encadeamento ie Ca gti Pt En Lain ie 14.1 0 Arranjo Légico Programive! © que foi apresentado permite concluir que a ROM pode ser usada ara implementar fungdes combinatérias qusisquer. Esta ndo ¢, entretanto, ‘nica abordagem desejada pat ilizagdo destas Memorias. A fig. 14.4 Tetoma o modelo de estrutura seqiencial sincrona ja apresentado, ‘Cioplai de © es Conjunto ors Pe ae ‘comibinatérios gai | — ‘memérias; pecan internas pee Relégio Fig. 144 - Forma geral da estrutura sincroma Quando um conjunto de entradas ( E) ¢ aplicado sobre @ maquina sequencial « partir de um determinado estado interno (representado pelo S: Su), é obtida apés quatro periodos de reldgio. B) Exemplo de uma multiplicagéo (132) x 2) = 2 Na figura 14,10., temos: A=1 B=3 C=2 e K=2, Inicialmente, o sistema é zerado, ¢ a seguir o valor C = 2 € multiplicado pela constante 2 fornecendo (2 x 2)« = (10 Js ow seja: zero e vai-um O digito (1), do * vai-digito “ € atrasado nos biestaveis tipo D nimeros 1 2, para ser somado com o resultado da préxima operagao de (3x2=12). 0 digito 2 € somado ao vai-um da operago anterior ( fornecendo S; = multiplicagao que sera: (B= 3) x (K=2) ~ ), € vaieum para a operagdo seguinte, que sera: (A= 1) x (K=2) = 2 Preto de isto Dp - Prof Fncne Eas Los 16 digito 2 & somado ao vai-um anterior, fornecendo S:~ | € como nao houve vai-um da soma, S; = 0, Estas operagdes estio indicadas ao lado, ¢ a resposta final sera ( 0330)4 Hand ta a 70 Oo fs Eee oo 2 Fy (S)=0, S:= S)=3, 8, 0), C) Especificagio das memérias PROM-1 ¢ PROM-2 Para cod fos digitos em base 4 so necessirias 2 variaveis booleanas binarias ( 2 bits), © portanto, o tamanho das memérias PROM estiio indicados nas figs, 14.11 ¢ 14.12 (a) °| multiplicagao 0) 0, (My PROM #1 © () @) (h) (yy 24 x 4= 64 bits x Y Fig. 14.11 - PROM multiplicadora Projet de Cit Dips - Po. race Ents Lemos v ©) (| Resultados ww G) | parciais : PROM (__} w oy sa - 0 Jam 24x 3=48 bits Fig. 14.12 - PROM somadora D) Programa das PROMS U A PROM-1 é uma multiplicadora em base 4, e deve armazenar a tabela ~ de multiplicagao indicada na fig. 14.13, onde X ¢ Y sio os digitos a serem multiplicados, e no interior da tabela temos o resultado da multiplicagao. A Programagao da PROM-I se faz a partir da codificagdo desta tabela, dando origem a fabela da figura 14.14 que seré entdo gravada na PROM, de acordo com as informagdes ( de como programar ), fornecidas pelo fabricante ams \ an. 30) a 12 Resultado da Multis 4 Projo de Cirsitos Digs - Po. rncoFngas Leos nas Fig. 14.13 « Tabela de multiplicagdo em base quaterndria Entradas Saidas Dig. X Fig. 14.14 - Tabela de programacdo da PROM # 1 (multiplicadora) A PROM-2 ¢ uma somadora, em base 4, sendo sua programagio feita de acordo com as figuras 14.15 © 14.16, de forma andloga ao que se foi feito para a PROM-1 ‘Uma vez programadas as memérias, o sistema é implementamento de acordo com o esquema indicado na figura 14.10 Aigto x 0 3, 1 2, a somite a sum Fig. 14.15 - Tabela da soma em base quaternéria rt de Ciciosigias Pro Fite Eas Lanes 19 Fig. 14.16 - Tabela de programacao da PROM-2 ( somadora ) Proj de Centos Digs Po. racine Bsa Lemos bo 15. Exercicios Propostos ( Sistemas Sincronos ) 1°) Dada a tabela de fluxo de um conversos bindrio-decimal, implementar 0 subsistema correspondente, utilizando blocos NE e biestaveis tipo T. abed A ooo 001 010 oon 100 101 ou oun 1000 1001 2°) Dada a tabela de fluxo abaixo, pede-se implementar 0 circuito corres- Pondente ( sincrono } utilizando blocos OU e E e biestiveis tipo T. AB abe Est. 0 or mM 10 \ tee 1,007 2,00, 3.00 Tt 14 4.00 oor 101 zor |r 04 2[ 301 01 1410 Jo 0 0 3[ 00) 30 410 ont dt to s(n Bat 3 4 11 3°) Um circuito seqiencial possui uma entrada na qual aplicamos pulsos, ¢ uma saida. Desejamos construir este circuito de tal modo que seja capaz de fornecer um pulso de saida no quinto. sétimo ¢ oitavo pulsos de entrada, pode-se a) Esquematizar a tabela de fluxo correspondente b) Sintetizar o circuito com blocos NE ¢ biestaveis do tipo JK. Preto de Ciclo gis Prot Frans Hes Lemos BI 4°) Dada a tabela de fluxo abaixo, implemente o subsistema correspondente utilizando um arranjo-légico programavel Eau ie ° 1 a 3 4 s ‘ oo 2 42 1s 3S 5°) Um circuito seqiencial possui entradas sobre as quais aplicamos respectivamente um sinal binario E, e um sinal de selégio R. Possui também uma saida Z. Deseja-se que esta saida va a nivel logico UM quando a entrada E for .um por no minimo 5 ( cinco ) pulsos de relégio consecutivos. Esta mesma saida deve voltar a ZERO novamente na primeira aparigio do sinal de relogio (R) coincidente com o valor E=0, Pede-se construir a tabcla de fluxo correspondente. (ver figuras). © wea @M_A_SLAL_A IL @ 6) Sintetizar um contador crescente com médulo 8, utilizando biestaveis tipo T ¢ blocos légicos quaisquer. Este contador deve possuir uma entrada ZERADORA tal que: Se Z=0,0 contador € zerado ( vai para o estado inicial ) apds a ordem de relégio Se Z + habilita a contagem normal a partir do estado inicial Projet de Circus Dips Po Franson Lemos 1m 7) Analise o circuito da figura 1, ¢ construa sua correspondente tabela de flux, X € Y sto entra: © 8 € a saida correspondente oo Be [2s K tiestive ~ PO i" eof tabela de fluxo da figura com a correspondente designacio de saida (S) (S) estados, pede-se implementar 0 circuito seqiiencial —sincrono ‘Sorrespondente utilizando biestaveis tipo D e blocos légicos quaisquer. \ 7S n 10 iT 3.07 01 ]o0 2 300 [0 — ot 3 2,00, 30010 ‘ 300. 110 ]1 reo de Css Digs Fane Ents Let 13 9°) Deseja-se construir um cireuito seqiencial que possui 2 entradas X, € Xz (binarias ) © duas saidas Z; © Z: (binérias ). O funcionamento do circuito deve ser o seguinte: + As entradas X; e X; nunca so iguais a UM simultaneamente * Quando =X; ou Xz_—valem UM, as saidas respectivamente correspondentes Z, ou Z2 devem valer UM. * Quando X; € X; sio ambas iguais @ ZERO, a saida Z, deve ser UM se a entrada X; foi a ultima entrada igual a UM ; ¢ Z deve ser UM se X2 foi igual a UM a altima entre © Z, ¢ Zz nunca sio iguais a UM simultaneamente, Pede-se’ A) Construir a tabela primitiva de fluxo B) Reduzir a tabela para a minima tabela que cobre a tabela encontrada no item A. €) Implementé-la utilizando biestaveis tipo T. Prot de Ciclo Digs Pro. Frac Ear Los be 10") Deseja-se construir um contador crescente decrescente com médulo 8 conforme esquematizado na figura, cujo cédigo de contagem.é dado abaixo. Pede-se: ) Construir a tabela de fluxo para este contador b) Esquematizar o diagrama de blocos de um arranjo légico programavel capaz de implementar este contador, indicando 0 tamanho da meméria necessiria ¢ a tabela de programagdo da PROM. cédigo de contagem Entrada inibidora ‘ saida para contador aaas te 2— modulo 8 © proximo estagio crescente ou rescente decrescent Reldgis X= 1 ——— > contagem ereseente X=0 ———— _contagem decrescente Projo de Cities Digs - Po. Frcs Enis Lemon ss 11") Deseja-se construir um somador decimal operando no cédigo 8421 Este somador deve ser sincrono, ¢ em cada pulso de reldgio temos presentes um digito decimal em cada uma das entradas A ¢ B, conforme mostra a figura, Os digitos menos significativos precedem no tempo os mais significativos. Pede-se 4) Implementar este somador utilizando uma meméria apenas de feitura ( PROM ), ¢ um biestavel tipo D, e construir a tabela para programacao da PROM. b) Comparar esta implementagao com uma possivel implementagdo feita utilizando 0 método de Huffman, digito A codificado T=} |, some coditicada no cédigo 8421 E36 em 8421 Somador decimal digito B codificado 4 (ROM) no cédigo 8421 ese aol vai-cum ("i700 } Relégio rojo de Cireuos pias Pro rnsnno Eats Loe 16. Uma metodologia para projetar Sistemas Digitais 18.1 Conceitos bésicos Inicialmente serdo retomadas as idéias descritas na segio 3, téndo em vista superar as limitagdes apresentadas pelo método clissico de Huffman (segio 13), imtroduzindo novos mecanismos de descrigio ¢ sintese de sistemas digitais, Um conceito essencial em sistemas digitais, que passa a ser melhor compreendido pelo leitor tendo em vista o que ja foi estudado, & que a fungdo Logica destes sistemas pode ser descrita independente dos detalhes internos do mesmo, ou seja; © SISTEMA pode ser representado por médulos funcionais que se comportam de forma previsivel, e seu comportamento analisado ¢ determinado através de mecanismos de descrigdo, como por exemplo tabelas de fluxo ou diagramas de estado, Por comportamento do sistema, entende-se a relagdo que se estabelece entre suas varidveis de entrada ¢ saida em fungdo do tempo. Desta forma, surge a idéia de projetar um sistema digital complexo particionando-o em uma série de subsistemas mais simples, caracterizando 0 comportamento de cada uma dessas partes © a seguir, a maneira pela qual elas se relacionam dando origem ao sistema inicialmente desejado. ( figura 16.1 ) e S: SISTEMA }—+ 8; a DIGITAL [— 8s & b> 5 eo Fig. 16.1 - Partigdes do Sistema Digital Projo de Cratos Digits Peo Frags Enéa eras ry Esta idéia permite caracterizar duas atividades distintas (mas interrelacionadas ) dentro do processo de projetar sistemas digitais, A primeira se refere ao PROJETO DO SISTEMA. propriamente dito, definindo conjuntos de partigdes (P,, P2 .. Py ) que irdo realizar as tarefas necessarias, especificando 0 comportamento de cada uma das partigdes suas necessidades em termos de entradas e saidas. Estas partigdes serdo chamadas MODULOS FUNCIONAIS ( ou blocos funcionais ) A segunda, consiste em analisar os detalhes de funcionamento de cada um dos médulos funcionais descritos anteriormente. Esta atividade seré denominada PROJETO LOGICO DO SISTEMA. © processo de projetar © realizar Sistemas Digitais pode ser subdividido em 3. fases denominadas respectivamente: DEFINICAO, DESCRICAO e SiNTESE, DEFINICAO se relaciona com o projeto do sistema como um todo, sua divisto em médulos funcionais, as necessidades de entradas e saidas de cada modulo, e seu inter-relacionamento. DESCRICAO diz respeito aos detalhes de operagao légica de cada um dos médulos, e SINTESE se relaciona com 0 projeto do hardware “ ou seja: os circuitos que vio executar a descrigao roposta A idéia de projetar sistemas digitais complexos como um conjunto de subsistemas mais simples, que se interrelacionam, implica em caracterizar estas partigdes do projeto, ¢ os tipos de tarefas que cada particao deve realizar, Pri de reitos Dips - Po. Fuso nas Lemos be Para isso, sera admitida a idéia de que as tarefas mais simples, uma vez definidas, podem ser enquadradas em uma de (rés categorias: 1 ‘Tarefas de Memorizagao 2. Tarefas de transformagao 3. Tarefas de Controle As tarefas de memorizagao seréo realizadas em MODULOS DE MEMORIA, cuja fungao é armazenar informagdes durante um certo periodo de tempo, As informasdes armazenadas nas memérias sero valores digitais organizados um a um ( bit a bit ) ou em conjuntos de bytes ( 8 bits ) ow palavras, A meméria tem uma organizagdo interna que Ihe € prépria, onde cada palavra ocupa uma ou varias posigdes que so descrites por um ENDERECO. Do ponto de vista légico, as memérias podem ser vistas pelos Projetistas, como se fossem tabelas com um certo numero de linhas © colunas, cujo tamanho varia de acordo com a capacidade da meméria Estes médulos recebem portanto, como entrada, o enderego de uma linha da tabela, ¢ fornecem como saida as PALAVRAS correspondentes (colunas) armazenadas naquele enderego. As memérias PROM. ( segdo 14) siéo 0 exemplo tipico destes médulos, onde as informagdes contidas podem ser Programadas uma unica vez pelo usuério, O projetista preenche a tabela com 0s dados que cle deseja armazenar. Outros médulos de memérias podem permitir ler ou escrever diversas vezes o conteddo de um determinado enderego com acessos de escrita ou leitura da informacdo armazenada, memérias deste tipo serio caracterizadas no presente estudo, como registradores ou memérias ditas de “ acesso direto RAM - Randon Access Memory) (memérias Projo deCititos Digit - orcs Leos 9 Os MODULOS DE TRANSFORMACAO vio se caracterizar por receber um certo conjunto de entradas e modifica-los segundo uma relagao logica bem definida, fornecendo um conjunto de saidas correspondente ao conjunto de entradas recebido. Exemplos de médulos de transformasao usuais sdo codificadores ( multiplex ), decodificadores ( de multiplex ), somadores, ete. ‘Também sertio considerados médulos de transformagio as interfaces entre o sistema ¢ 0 meio externo onde ele deve residir como por exemplo uma limpada que transforma um sinal elétrico em sinal visual, ou uma fotocélula que indica ao sistema a ocorréncia de um evento externo. Os MODULOS DE CONTROLE, como o proprio nome indica, devem controlar as operagdes dos médulos de meméria e dos médulos de transformagio, As saidas dos médulos de contrdle podem depender nao somente de suas entradas presentes ( num instante de tempo to ), mas também de entradas passadas ocorridas em instantes anteriores, 0 que é caracteristico das estruturas seqiienciais. (seo 14 ) E importante ressaltar que cada um dos médulos aqui mencionados nao deve ser visto pelo projetista do sistema como partigdes estanques. Os médulos podem ¢ devem ser agrupados, sempre que conveniente, para simplificar a descrigaio do sistema, Por cxemplo, um médulo pode ser designado coletivamente como médulo € controle, mesmo que no seu interior existam médulos de meméria ou de transformagdo desde que a sua fungdo principal, no contexto geral do sistema, seja a fungdo de controle, Pej de Cots Digits - Pro Franciso Ends es Interconexio dos Médulos Um grupo de médulos no qual um sistema foi particionado deve ser conectado por fios que transportam as informagées ldgicas, que serio denominados LINHAS LOGICAS. Um conjunto de linhas légicas em paralelo para transportar palavras de informagéo denomina-se “ via de comunicagdo “, A forma pela qual os médulos s4o conectados através das vias, denomina-se ESTRUTURA DA VIA, e ela 6 extremamente importante para a operagdo adequada do sistema. Como exemplos de estruturas de VIAS, podemos citar: (Fig. 16.2 até d) b) Estrutura totalmente conectada a) Estrutura em anel ; m4 ERA ‘oO Eskew a cy vse o) Hates avid’ 4) Estrutura de via em estrela Fig. 16.2 - Exemplos de Estruturas de Vias de comunteagao Projo de Circuits Digs Po. Fran Fn amos mL 16.2 O Problema da descri¢éo de tarefas e o Conceito de Algoritmo Descrever a operagdo de sistemas Iégicos é em sua esséncia, descrever todas as TAREFAS que ele deve realizar, Para a descrigao destas tarefas, é fundamental rever 0 conceito de ALGORITMO, uma vez que éle € 0 ponto de partida para estas descrigdes ¢ a realizagdo de projetos de sistemas digitais, © Algoritmo € semelhante a uma receita para produzir um determinado resultado, mas deve ser definido de forma mais cuidadosa, A analise de um exemplo permitira formular 0 conceito, © algoritmo apresentado a seguir, denomina-se algoritmo de EUCLIDES ¢ esta apresentado sob FORMA VERBAL, a qual consiste em: Nome do Algoritmo Breve descrigdo do seu propésito Uma lista de seus passos ordenados execugo destes passos, na ordem indicada, realiza a tarcfa Bop desejada. Algoritmo de Euclides:- Dados dois nimeros inteiros e positivos me 1, encontrar o seu méximo divisor comum Passo I: (Encontrar o resto) Dividir m por n, e seja r o resto (0 trocerm pornen porre voltar 20 asso 1 ‘Projet de Ccios Digits Pr racine Fas Lemos 1a Uma forma mais conveniente de representar um algoritmo & por intermédio de fluxogramas. Um fluxograma é uma representagao grifica que indica a sequéncia légica de operagdes que devem ser realizadas para execugdo do algoritmo, Para representagdo dos fluxogramas, vamos utilizar apenas quatro tipos de blocos conforme indicado a seguir: (Fig.16.3a - d). P © ) Inicio de um processos b) Final de um proceso i <> ©) Bloco de instrugao (executa e ins- trugao designada internamente) d) Bloco de decisio Fig. 16.3 - Notagdo basica de FLUXOGRAMAS. © mesmo algoritmo de Euclides encontra-se agora representado na figura 16.4 através de um fluxograma, Pro de Cireitos Digi -ofFrnco Enis Lame M3 16.4 - Fluxograma do Algoritmo de Euclides Um algoritmo também pode ser encarado como um proceso, uma rotina, etc, A palavra algoritmo, entretanto, tera um significado que vai além de um simples conjunto de regras numa determinada seqiéncia, que realiza uma determinada tarefa, Ele deve possuir caracteristicas adicionais definidas da seguinte forma ‘oj de Ceitos pias - Prof, ncn Fn Lemos us 1. Deve ser FINITO:- Um algoritmo deve sempre terminar depois de um ‘nimero finito de pasos. 2. Deve ser PRECISO:- Cada passo do algoritmo deve ser definido de forma precisa. As agdes exccutadas devem ser rigorosamente definidas, ¢ sem ambigiiidades. Exemplo:~ 0 algoritmo de Euclides requer m e n inteiros ¢ positivos. 3. ENTRADAS:- Um algoritmo pode ou nao necessitar de entradas, que so condigdes iniciais a cle fornecidas. (a,b € ¢ no algoritmo do célculo das raizes sao entradas), 4, SAIDAS:- Um algoritmo possui uma ou mais saidas que sio quantidades relacionadas com as entradas, ou caracteristicas do proprio algoritmo (0 Algoritmo de Euclides possui uma saida no passo 2 ), 5. Deve ser UTIL: Um algoritmo deve produzir um resultado itil, ou seja: © resultado do algoritmo deve levar a um resultado pratico que tenha alguma aplicagao, 16.3. O método de projeto © que foi exposto até aqui permite fazer uma primeira descrig&o das atividades envolvidas no processo de projetar sistemas digitais, ¢ isto esta representado no diagrama da figura 16.6, onde existem cinco etapas de projeto: Proj de Ciro Digs Prof Frac Ents mcs Ms INiclo DEFINICAO L NAO SATISFATORIO : DESCRICAO 4 SATISFATORIO f a Ee FALHAS 4 CORRETO fig. 16.6 + Flaxograma da atividade de projetar ‘ Etapa I> Definigao. Consiste em estudar o sistema a ser realizado, de modo a definir um Conjunto de “requisitos do projeto” e verificar, em fungio da complexidade do problema, se seri necessirio particiona-lo ou no em MODULOS FUNCIONAIS mais convenientes para a solugio, os quais posteriormente Projo de Ces Dips - Prof. Fens Lada Lemos 6 sertio interligados para constituir o sistema completo. Consiste também em esbogar as tarefas que sero realizadas pelos médulos funcionais, definir suas entradas e saidas ¢ a forma pela qual eles deverio ser interligados. Etapa 2 :- Deserigho ‘Tendo em vista as partigdes do problema definidas na fase 1, esta fase consiste em descrever ALGORITMOS para que as. participagses executem as tarefas desejadas Etapa 3 :- Avaliagio Avaliar a operacio das fases 1 e 2, verificando se so satisfatorias, ou seja: se satisfazem a todos os requisitos do projeto. Btapa 4:- Sintese Consiste em transcrever as descrigdes dos algoritmos em um conjunto de médulos de circuitos ( hardware ) capazes de executar as tarefas correspondentes. Ftapa S:- Teste Fazer medidas de funcionamento no circuito, de modo a comprovar que as tarefas sao realizadas corretamente. A primeira parte do fluxograma da figura 16.6 ( Avaliagto das duas fases iniciais ) € sem diivida o ponto critico da atividade de projetar. as duas fases iniciais satisfazendo os Quando o projetista consegue avali Tequisitos do projeto, ele passa a aplicar uma técnica de sintese que ira leva- lo & materializagdo da estrutura desejada. A seguir serio analisadas, de forma mais detalhada, as trés etapas basicas da atividade de projetar (Definigio, Descrigao e Sintese ). Projtode Cratos Digi -rof Frans Enéas Lemos 17. O problema de Definicéo Este item trata @ fase do projeto que envolve a definigo dos médulos funcionais e das variaveis de entrada e saida envolvidas na solugdo do problema 17.1. Definig¢ao de Médulos Funcionais Durante a fase de definigao do projeto, os MODULOS (Memorizagao, transformagio e controle ) sao especificados em funso de suas entradas ¢ saidas. Para represcntagio destes médulos, entretanto, serio adotados os MODELOS COMBINATORIO OU SEQUENCIAL, jé definidos na segto 4, que contem os elementos necessérios para descrever 0 comportamento dos médulos, em termos de suas entradas, saidas e da variavel tempo. A figura 17.1 apresenta um diagrama do modelo de maquina seqiiencial sinerone onde podem ser identificados trés elementos bésicos 1, bloco que gera a fungdo do proximo estado 2. O bloco que armazena o estado ( meméria ) 3. O bloco que realiza as fungdes de saida MODULO DE [= > sais TRASFORMAGAO FUNCAO DO PROXIMO —— ESTADO INTERNO MODULO DE ‘TRANSFORMACAQ. ENTRADAS ou QUALIFICACOES: MODULO — oe CE! MEMORIA \ etx Estado ReLoGio ———_____f Fig. 17.1. - Modélo de maquina seqiiencial sincrona representando um médulo genérico contendo Meméria e transformacao. Projo de Cites Digtis- Pro Fre Enis Lec 8 Sera admitido que 0 leitor ja esta familiarizado com este modelo (escrito nas segdes 4 ¢ 11), cabendo apenas mencionar que ele sera utilizado como forma geral de representagdo dos médulos funcionais. Para tanto, considera-se o modelo combinatério (item 4.1) como um caso particular do modelo aqui apresentado, onde existe apenas o bloco que realiza as fungOes de saida, Lembrar que no modelo combinatério, as saidas so fungdo apenas do conjunto de entradas aplicado. ‘Assim sendo, médulos ( ou conjuntos de médulos ) de meméria, transformagao e controle poderdo ser definidos com base no modelo apresentado, 17.2. Definigéo de Entradas ¢ Saidas As variaveis que compdem as entradas ¢ saidas de um sistema digital genérico devem receber nomes. E interessante que durante a fase de definigdo, estes nomes sejam escolhidos de forma sistemitica segundo algum critério que vise 1. Dar um tinico nome para linhas légicas que sto comuns; 2. Dar uma indicagio do sentido da variavel (Entrada ou stida); 3. Fornecer um significado que permita identificar se a variével em questdo atua sobre o sistema com nivel l6gico ZERO ou UM 17.3. Um exemplo Este item analisa a fase de definigao do projeto de um dispositive capaz de fazer o papel de “banqueiro” num jogo de cartas bastante conhecido, denominado “jogo do 21“ rj de CireiosDigitis- Pro Francia Emias Lem 19 Deseri¢ao do “jogo do 21” Este € um jogo de cartas que pode envolver um nimero arbitrério de Jogadores, que esto divididos em duas classes: apostadores ¢ banqueiro Os apostadores jogam contra 0 banqueiro ¢ 0 objetivo do jogo ¢ completar 21 pontos com um niimero arbitrario de carta: A cada tipo de carta esta associado um valor (pontos ), sendo que a soma dos pontos das cartas de um jogador corresponde ao valor do seu jogo na presente rodada. Numa rodada um jogador tem direito a pedir tantas cartas quantas quiser, tentando Se aproximar ao maximo do valor 21, Se este valor for ultrapassado 0 jogador é desclassificado naquela rodada. Um apostador é qualificado como vencedor se, no final da rodada, possuir um nimero maior de pontos que o banqueiro. No caso de empate 0 banqueiro € © vencedor. O final da rodada é determinado pelo banqueiro no instante que ele completar o seu joxo Requisitos do Projeto © objetivo € definir 0 projeto de um dispositive capaz de fazer 0 Papel do banqueiro no jogo do 21, de acordo com os seguintes requisitos: RI) Os valores das cartas variam de 2a 10: © AS pode valer 1 ou 11 Pontos de acordo com a conveniéncia do jogador na rodada; Projet de Creat Dips Pref: rane Fda Lancs R2) Se num determinado instante o banqueiro possuir: ‘+ Um total de pontos menor que 16 ele tentaré pegar mais uma carta; * Um total de pontos maior ou igual a 16 ¢ menor ou igual a 21, cle ndo pediré mais cartas ¢ confrontara 0 seu jogo com os apostadores para verificar os vencedores e perdedores; © Um total de pontos maior que 21, ele perdera para todos os Jogadores ainda classificados naquela rodada, ou seja: que Possuam um total de pontos maior que do banqueiro © menor ou igual a 21 R3) 0 dispositive deve utilizar uma leitora de cartas para leitura do valor e do tipo de carta, Esquematicamente, este dispositive possui os seguintes sinais: Entrada de cartas bit BAREP Tol] 0 pat DE CARTAS As <4 Toit Sits VC = valor da CARTA Fig. 17.3 - Indicagdes da leitora de cartas . VC = fornece o valor da carta lida; CAR-P ~ este sinal identifica a presenga de uma carta na leitora com seu valor ja estabilizado em VC; AS - este sinal identifica a presenga de um AS na leitora de ‘Projet de Ciclo Digits Prot Panic Eas Les 181 R4) A maquina deve indicar 0 seu estado através de 3 limpadas: PED-caR [7 cNEJoGo_[7> Estouro. [7 lampada indicativa de pedido de carta; limpada indicativa de estouro; lampada indicativa de confrontagao de jogo; PED-CAR, CNF-JOGO e ESTOURO sdo os sinais acionadores das Lampadas L1, L2 L3 respectivamente RS) A descrigdo do projeto evidenciando a maquina a ser projetada e meio onde ela deve residir esta indicada na fig. 17.4 MEI MAQUINA DO “21” eee pes ee 587% [Leon =a bt CARTAS LEH ly r] FLUXO ~~ CONTROLE 7 No AG Hata DADos Fig. 17.4 - Diagrama em blocos da méquina do 21 Sera analisada a seguir, apenas a fase de Definigdo do projeto, deixando as fases de DESCRICAO ¢ SiNTESE para as segdes seguintes (itens 18 19) jt de Cues Digs - Po. ncn Ends Lemon 132 © algoritmo deve ser concebido a partir dos requisitos do projeto das fungdes que 0 controle da maquina do 21 deverd executar. Uma possivel solugdo € a seguinte: Passo 1:- Inicializar a maquina para comegar uma rodada; Passo 2:- Aceitar uma carta para leitura, ¢ adicionar o valor desta carta ao valor dos pontos ja existentes (0 AS ¢ lido pela leitora com valor 1), ¢ ir para 0 passo 3 Passo 3:- Verificar se a carta lida é um AS: 3A) Caso afirmativo adiciona mais 10 pontos & soma de pontos existente, desde que 0 indicador de As = 11, nfo esteja ligado. Liga o indicador de As = 11 e vai para 0 passo 4. ( sc o indicador As - 11 estivesse ligado itia direto ao passo 4). 3B) Caso a carta lida nao seja um As, vai direto ao passo 4. Basso 4:- Verifica se a soma total dos pontos é maior que 16: 4A) Caso negative ( <16 ), volta para o passo 2 4B) Caso afirmativo (> 16 ), vai para o passo S. Passo 5:~ Verifica se a soma total de pontos ¢ maior que 21 5A) Caso negativo ( <21 ), confronta 0 jogo encerrando a rodada, ¢ se prepara para nova rodada. (volta ao passo 1). 5B) Caso afirmativo, vai para 0 passo 6. Passo 6:- Verifica se algum As foi computado com 11 pontos ( pelo indicador de A‘ 1). 6A) Se houver As = 11 pontos, subtrai 10 pontos da soma total, desliga 0 indicador de As~ 11, ¢ vai para o passo 4 6B) Caso nao haja As = 11 pontos, indica que houve estouro, ¢ volta para © passo I onde se prepara para uma nova rodada, roo de Cieuios Digit - Po. Fnac nina Lemos 18 A fig. fluxograma, 17.5 apresenta o mesmo algoritmo sob « forma de um ‘sina 10 ontos a soma cxistente eta india Fig. 17.5 - Fluxograme par 0 algoritme do * jugo do 21 © algoritmo definido aponta uma série de operaydes que devem ser executadas pela maquina a ser projetada. Passa-se entdo a definir, baseado também nos requisi s do projeto, 0s dispositivos de transformagao ¢ armazenamento necessirios, seus sinais de entrada e saida c as interligagies, entre eles © o elemento de controle "roo Coie Digs a Fn ten 1st A leitora de cartas ja foi definida no requisito de projeto R3, € possui os seguintes indicadores, CAR -P ~ Identifica a presenga de uma carta na leitora de cartas, com seu valor ja estabilizado em VC. As ~ Identifica a presenga de um As na leitora de cartas, VC - Fornece o valor da carta codificado em 8 bits. ( dois digitos decimais de 4 bits ) © valor da carta (VC) que foi lido na leitora de cartas deverd ser Processado num conjunto denominado ACUMULADOR. Ele seré composto de dois registradores Ae B ¢ um somador algébrico (somador/subtrador ) conforme indica a figura 17.6, TETORA | carpe CARTAS maint }*——— ave REGISTRADOR A }#——— (10) = Al-10) le SOMADOR ke +——— soma le ZERADOR REGISTRADOR B_ [—__» M16 fae ee Fig. 17.6 - Diagrama em Blocos do Acumulador Projo de Ciao Digi - Po. Faniso Ents Lenn Iss Para armazenar o valor da carta lida no registrador A, sera definido um sinal de controle denominado: AVC:- Armazena valor da carta. Supor também que o registrador A tenha condigdes de ser carregado com o valor decimal 10 (dez) ou (-10) sempre que forem acionados os comandos A( 10) ou A(-10) Para somar os contetidos dos registradores A e B existira um sinal de comando denominado SOMA. 0 registrador B deverd possuir um comando para zerar seu conteiido (inicio de uma nova rodada ), ¢ uma légica interna para gerar dois sinais, M16 ¢ M21, que indicardo respectivamente quando a SOMA armazenada em RB, é maior que 16 ¢ maior que 21 Seri necessario um elemento de meméria ( por exemplo um biestavel ) para armazenar a existéncia de um As computado com 11 pontos. Apenas uum biestavel € suficiente, pois numa rodada nunca sera possivel mais de um As valendo 11 pontos, uma vez que isto jé ultrapassa o limite permitido de 21 pontos, Este biestavel possuira 3 sinais de comando. * SET = Armazena I no biestével * RESSET = Armazena 0 no biestivel + SAI] = Saida que quando igual a 1 indica a existéncia de um As computado com 11 pontos. Prot de Cites Digits Pt, rasa Eats Lemos 156 ‘A méquina necesita dar indicagdes visuais de seu estado, ¢ isto foi definido no requisito de projeto R4. Existem 3 lampadas, e portanto 3 variaveis para comando das mesmas. + PED-CAR: Varidvel que comanda a limpada do estado “Pedido de Carta * CONF. JOGO: Variavel que comanda a limpada do estado “confrontagao de jogo"; * ESTOURO: Variével que comanda a lampada de “ estouro da banca” A fig. 17.7 apresenta um diagrama em blocos das partigdes do sistema vom a indicagdo de todas as variaveis envolvidas na solugdo do problema, encerrando desta forma a fase de DEFINICAO do projet CARP-P PED-CAR, {1 | ds CNF-JOGO_ la | CONTROLE ave esrouro_ arr Ar ema seran teak sesseran | Meni, wt saul Fig. 17.7 - Diagrama em blocos do sistema Preto de Cteutos Dips Pro. rancoEnas Los 1st 18. O Problema da Descricao Este item analisa uma linguagem formal de descrigao de circuitos seqiienciais denominada ALGORITHMIC STATE MACHINE (diagramas ASM). Fla € importante porque, ao contrério das linguagens de descriga0 classicas, permite mapear de forma simples e direta 0 algoritmo no circuito sequencial correspondente. As linguagens classicas para deserigdo de operagdes légicas como por exemplo: ExpressOes booleanas Tabelas da verdade ‘Mapas de Veitch-Karnaugh Serdo supostas conhecidas, uma vez que jé foram apresentadas em capitulos anteriores, © devem servir de base para a compreensio do que seri apresentado neste capitulo 18.1. Os métodos cléssicos de descri¢ao de maquinas seqiienciais Nos capitulos precedentes, foram apresentados a Tabela de Fluxo € os diagramas de Estado como sendo mecanismos de descrigao de tarefas que, com base nos modelos de Mealy ou Moore, permitiam sintetizar circuitos seqiienciais capazes de realizar as tarefas descritas, Estes métodos de descrigéo possuem, entretanto, uma série de limitagdes ( analisadas na segdo 13.) que, de modo geral, restringem sua aplicagao a implementagéo de subsistemas digitais_ de pequena complexidade. Ao analisar os diagramas ASM, pretende-se iniciar a ‘rojo de Croutos Dpiis- Pra. rasta End Leon 158 apresentacdo de uma metodologia de descrigao que elimine as limitagdes do método clissico, permita analisar sistemas légicos de maior complexidade, ¢ sistematizar a atividade de projetar sistemas digitais. 18.2. A descri¢do de operagées légicas com diagramas ASM (Algorithmic State Machine) Estes diagramas possuem 3 elementos basicos: © O bloco de Estado + 0 bloco de Decisto * 0 bloco de saidas condicionais, Cada um destes elementos é interligado aos demais através de arcos orientados, que sdo representados pelos simbolos descritos a seguir ESTADO: Representado como mostra a figura 18.1 € possui um nome (letra ou mimero), ¢ um eédigo que Ihe ¢ atribuido durante 0 processo de designago de estados. ( jd mencionado no caso do método elassico). Internamente ao retangulo que representa 0 estado, pode ser descrita uma lista de safdas correspondente aquele Estado. © arco de saida de um estado pode interliga-lo a outro bloco de Estado, a blocos de deciso ou blocos de saida condicional DECISAO: Os blocos de decisio so representados como na figura 18.3, ¢ descrevem as entradas da maquina seqitencial. Cada bloco de decisio tem 2 arcos de saida. Um deles & seguido quando a condigo légica mencionada no interior do bloco é verdadeira, ¢ 0 outro quando ela € falsa, Prot de Crcitos igs Pro rasa Fas Lemos 159 SAIDAS CONDICIONAIS: Sao 0s blocos que descrevem outras saidas que sio dependentes nao apenas do estado interno da maquina seqiiencial, mas também de uma ou mais entradas do sistema. ( Fazer um paralelo com 0 modelo de Mealy para representagio de méquinas seqiienciais ), Estes blocos so representados como indicado na figura 18.2, e a lista de saidas é escrita dentro do bloco, Arco de entrada Cédigo do S. | 100g Estado Nome do Estado ~*GC) Lista de saidas deste estado si i Arco de saida 18.2. representacdo do bloco de saida condicional condigao (expressio Arco de booleana) entrada Atco de saida para a Arco de saida condigao para a condigao verdadeira falsa Fig. 18.3 -Bloco de decisdo Projo de Cites Dips - Pro. rnin nies Leos 160 Os elementos basicos definidos podem ser interligados de modo a formar 0 que seré denominado um BLOCO ASM. DEFINICAO:- Um bloco ASM ¢ uma estrutura formada por um tinico bloco de ESTADO, ¢ um conjunto de blocos de decisto ¢ saidas condicionais devidamente conectados ao bloco de estado. Assim sendo, um BLOCO ASM possui uma dnica entrada, e um Conjunto de saidas formadas por arcos que partem dos blocos de deciséo ou de saidas condicionais, conforme indica a figura 18.4. ieee Fig. 18.4 - Um bloco ASM genérico Proto de Cres gis Pro. Franco Ens Lemos 161 A nosdo de bloco ASM, permite introduzir a nogdo de DIAGRAMA ASM como sendo um conjunto de blocos ASM interligados. Cada saida do bloco ASM deve estar conectada a um novo ESTADO, e cada caminho de conexdo possivel entre um ESTADO e 0 préximo ESTADO seré denominado ENLACE. ( ver figura 18.6 ). Podemos comparar os diagramas ASM com os mecanismos cla: s de descrigio ja apresentados ( Tabelas de fluxo ou Diagramas de Estado), ou seja; O BLOCO ASM descreve a operagdo do cireuito sequencial, num determinado estado interno, da mesma forma que era descrito por uma linha da tabela de fluxo, Num bloco ASM, portanto, estio contidas as informagdes de saida ¢ do préximo estado interno, para uma determinada entrada que foi aplicada ao sistema naquele estado. Entradas (E1, £2) (roves sisz] Pst fo or u 10 sa a0 Fig. 18.5:- Tabela de fluxo genérica Projet de Cicuites Digitais- Prot Frais nas Lemos 1 5 3 Fig. 18.6 - Bloco ASM equivatente a representacdo do estado 4 da tabela da figura 18.5, As figuras 18.5 ¢ 18.6 exemplificam o que foi dito, mostrando 0 ESTADO 4 de uma tabela de fluxo qualquer, ¢ a sua correspondente representagio com um bloco ASM equivalente. Preto de Cut Dgiis- ro Fema Ent Lest 163 Do que foi exposto deve-se concluir que um DIAGRAMA ASM (Reunido de blocos ASM) descreve 0 comportamento de uma maquina sequencial qualquer. Utilizagao correta dos Diagramas ASM Este item, chama a atengio para alguns casos mais frequentes de Uutilizago incorreta dos diagramas ASM, que podem levar a erros na descrigdo dos sistemas, A primeira restrigdo esté colocada na interligagdo de blocos ASM num diagrama qualquer. Ela diz respeito a0 fato de que s6 deve existir um unico Proximo estado interno para cada conjunto de entradas aplicado maquina seqiiencial a partir de um estado presente A figura 18.7 mostra uma situagdo como esta, onde o préximo estado interno fica indefinido. Evidentemente, uma méquina seqdencial nio pode estar em dois estados internos ao mesmo tempo, portanto @ representagdo é inconsistente bloco ASM © or Fig. 18.7 « Transi¢do de estados indefinida Projo de Circo Digi Pro. rancio Eda Leos bloco ASM © Cn le o \ ! J Fig, 18.8 - Teste de El ¢ E2 pode levar a uma indeterminagao do sistema. Situagdo semelhante esté indicada na figura 18.8 onde foi feito um teste simultaneo de duas entradas, El ¢ E2, e verifica-se que dois préximos estados podem ser designados quando E1=E2=1. (os estados be c ficam indeterminados . Também devem ser tomados alguns cuidados para evitar Tepresentagdes confusas do diagrama. £ 0 caso do exemplo indicado na figura 18.9 que mostra um bloco ASM onde existe uma operagio de teste condicional que faz “loop” sobre si mesma, Neste caso, a indicagdo do roximo estado interno também fica confusa quando E=0. A representagao correta desta situagdo esti indicada na fig. 18.10, 0 que leva a mais uma restrigao a realizagdo dos diagramas ASM, ou scja: Todos 98 ENLACES QUE SAEM de blocos condicionais devem levar (direta ou indiretamente ) a blocos de ESTADO. Projo de Cicuitos Digi Prot Fanci Ens Lemos 16s Bloco ASM Y Fig. 18.9.: Representacdo incorreta Bloco ASM Fig, 18.10 - Representacdo correta da situagdo da fig 8.9 Projo de Cratos Digs - Po. rms Ends Lemos Outras restrigdes a0 uso dos diagramas ASM serio mencionadas através de exemplos resolvido, considerando que a familiariza¢ao com 0 uso desses tais diagramas, viré a medida em que ele for efetivamente aplicado pelo leitor a solugdo de problemas especificos Exemplos de Aplicagio Os exemplos que se seguem foram colocados em ordem crescente de complexidade, ¢ utilizam os diagramas ASM para DESCREVER operagdes lgicas, bem como o funcionamento de maquinas sequenciais. Exemplo 1 Deserigio de um problema da lgica combinatéria com o objetivo de mostrar que esses diagramas também podem ser aplicados descrigao do modelo combinatério definido no item 4.1. Além disso, este exemplo justifica a afirmagao feita anteriormente (item 17.1) de que 0 modelo combinatério pode ser analisado como um caso particular do. modelo seqilencial, onde existe apenas 0 médulo de transformagiio que, em fungao do conjunto de entradas aplicado num determinado instante, executa as fungdes de saida © problema consiste em descrever um decodificador do cédigo BCD ( Binary coded Decimal ) para um display visual de 7 segmentos, ou seja um subsistema combinatério capaz de receber em suas entradas 0 c6digo BCD, © em suas saidas formecer as variaveis necessirias para acionar corretamente um display de 7 segmentos formando os niimeros de 0 a 9, como indicado na figura 18.11 Projet de Caeutos Dipiis- Po. Franco Enda Lemos codigo BCD cour ro saidas para o display FORMAR OS NUMEROS 0123456789 Fig. 18.11 - Display de 7 segmentos © diagrama ASM correspondente a descrigdo das operagdes Iégicas necessarias esta indicado na fig. 18.12, Foi admitido que digito A é 0 mais significative do cédigo escolhido. ‘copie viGiTo “Bcp" DECIMAL, ABCD 0000 a oo 04 1 5a a gy! 3 oO 0 4 +0 ae s aoe i ot 41 iz 100 * oor 3 Projet de Cros Digs Pro Fracno ates Lemos Fig. 18.12 ‘Projet de Crete Dias - Pro Fane Eas Lens 169 Este exemplo permite fazer alguns comentérios a respeito da utilizagao dos diagramas ASM para descrigdo do modelo combinatério. 1) Quatquer problema da Idgica combinatéria pode ser descrito por um iinico “ BLOCO ASM “. 2) O estado representado neste bloco ASM nao tem nenhuma significagdo, a no ser a de indicar que a fungdo do proximo estado é unitaria X(t+A 0) = 1 (modelo combinatério ) 3) Embora os diagramas ASM possam ser usados para descrever fungdes da légica combinatéria, cles so mais adequados ¢ melhor aproveitados na descrigio da légica seqitencial, onde os sistemas evoluem por estados. Exemplo 2 Descrever com diagrama ASM, um contador de médulo variavel (médulo 4, ou médulo 8), Este exemplo mostra como pode ser descrita uma transig&o condicional ou seja: Num certo instante, 0 subsistema realiza um teste da entrada X1 ¢ em fungdo do resultado do teste posiciona o contador para modulo 4 ou 8. diagrama ASM correspondente esta indicado na figura 18.13 onde aparece a transigao condicional do estado a para o estado b ou £ A fig. 18.13 indica um esquema do contador onde foi adotado: X1=0 MODS XI= 1 MoD.4 A variavel SPE ( saida para Préximo Estagio ) colocada no estado h indica o término de contagem num determinado médulo. jt de Croats Digs: Po Frnciso Bade Lon paz . f| t 10 qT 110 ‘ d Tat mae lien Fig. 18.13 - Diagrama ASM do contador de médulo variével CONTADOR X1————» Mooulos } + spp Relogio r Fig. 18.14 - Esquema em bloco do contador lj de Cris Digias-Po. Fran Engas Lemos m E interessante procurar fazer uma comparagdo entre esta forma de representagio e as tabelas de fluxo, ou diagrama de estado ja comentados na segdo 6. Descrever um contador decrescente com médulo 4 e a seguir um contador crescente/decrescente com médulo variavel semelhante 0 que foi descrito na tabela de fluxo da figura 14.8 Exemplo 3 Como iiltimo exemplo da fase de descricfo com ASM, a figura 18.15 apresenta uma das solugdes possiveis para o problema do “ jogo do 21 “, obtida a partir do fluxograma da fig. 17.5. As linhas pontithadas indicam os locos ASM Projo de Cirtos Digs Franco Fens Lames | ave = ‘ 010 so10 «| soma ae Ly 10) aan SSAA “ACIO) . a Ty Fig. 18.15 Proto de Cieuios Dips - Pro. riso Hides Lemos im 19. O Problema da Sintese A SINTESE serd caracterizada como um estudo que visa transformar uma deserigdo Iégica cuidadosamente preparada em um sistema fisico ( por exemplo um circuito digital ) capaz de executar as fungdes légicas desejadas, Este item analisa 0 problema da sintese sob dois aspectos distintos, tendo em vista os médulos funcionais que se encontram disponiveis para utilizagao pelo projetista. © leitor deve se reportar ao que foi descrito na segdo 13, sobre as limitagdes do método classico © como a evolugio da microeletronica deve ter reflexos sobre novas metodologias de implementagdo dos projetos, permitindo utilizar convenientemente os novos circuitos integrados que passam a ser colocados a disposigao do projetista de sistema, Neste sentido, vamos dividir a sintese em duas partes: 1) Sintese orientada pata utilizagdo de portas légicas ¢ elementos biestaveis; 2) Sintese voltada para utilizago de memérias Apenas de Leitura (ROM, PROM, EPROM....) € Arranjos Légicos Programaveis. Em ambos os casos o que se pretende ¢ um mapeamento direto entre a descrigdo légica do problema ( por exemplo, equagdes booleanas, mapas de Karnaugh ou diagramas ASM ) ¢ sua realizagiio fisica Projo de CtitosDigiis- Pro. Francis Enns Lemos im 1) Sintese orientada para 0 uso de portas légicas processo de sintese orientada para utilizagao de portas I6gicas ja foi devidamente analisado em segdes anteriores, e deve servir como base para permitir 0 estudo e realizagao de sistemas de mai 1 complexidade. Na sintese pelo método classico os elementos basicos utilizados nas realizagdes ( implementagées ) eram as PORTAS LOGICAS e os elementos BIESTAVEIS, A utilizago do método elassico de descrisio (Tabelas de fluxo, marcas de Karnaugh etc.), ¢ de técnicas elementares de designacao de estados, permitia obter um mapeamento direto entre a descrigdo do problema ¢ os circuitos que realizam as tarefas descjadas. ( A sintese Fesultava, por exemplo, em equagdes booleanas que eram diretamente transformaveis em circuitos eletrénicos ). As limitagdes dos métodos clissicos de descrigdo, entretanto, estio Dresentes no somente na eficéci tora dificil a do mecanismo de descrigao em si, que ise de problemas onde 0 nimero de variéveis aumenta muito, mas também no proprio processo de implementagao, pois se o nimero de portas Légicas aumenta demasiadamente, a montagem, os testes, © a propri confiabilidade do sistema ficam comprometidos, Este capitulo, portanto, nao ird considerar a ut izagio dos diagramas ASM para implementar sistemas com portas légicas, caso contrario ela teria também as mesmas limitagdes dos métodos classicos ja estudados. Assim sendo, esses diagramas ASM serdo aplicados & descrigao de sistemas de maior complexidade, cuja implementagao sera feita com a utilizagtio de médulos funcionais ( circuitos integrados ) também mais complexos do que 4s portas logicas e os biestaveis estudados até este ponto. Pete de Ciao gis Prot Franco nas Les us a © processo de sintese seré voltado para utilizago de memorias PROM ~ © PALS, considerando que a sintese com portas logicas ¢ biestiveis tambem pode ser re 1mas ja foi devidamente analisada em segdes precedentes. 2) Sintese voltada para utilizacdo de memérias apenas de leitura (ROM PROM, EPROM). Dois pré-requisitos so fundamentais para compreensio do proceso de sintese que sera exposto: ~ A) O modelo de maquina sequencial sincrona (ver segdes 4 14); B) As formas de representagao ¢ utilizagao das memérias apenas de leitura ROM, PROM, EPROM (ver segdes 13 ¢ 14); 7 © processo de sintese que seré descrito esta bascado na mesma idéia 44 analisada na segio 14.1, sobre a utilizagao dos “Arranjos Légicos ~ Programaveis” para construir circuitos seqienciais, ou seja: No modelo de ‘maquina seqUencial definido, substituimos © bloco combinatério por uma meméria apenas de leitura (PROM, ou EPROM) ¢ o bloco denominado MEMORIA por biestaveis ou registradores que armazenam temporariamente © estado do sistema, Isto equivale a dizer que a estrutura de circuito (hardware) que seré obtida por este processo de sintese no difere do que ja foi estudado anteriormente, Neste sentido, as limitagdes do método classico sao superadas a nivel de deserigo do problema, uma vez que o mecanismo de descrigao utilizado ( diagramas ASM ) ¢ mais eficiente, exemplificado durante a descrigto do problema do“ jogo do 21“, que se implementado com mecanismos de desctigdo classicos, certamente nao apresentaria solucdo to simples. Preto de Cratos Digits - Pro Frais Fda Lemos 176 A figura 19.1, indica 0 modelo de maquina seqiencial sincrona ja conhecido, conforme sera utilizado para facilitar 0 entendimento do Processo de sintese Palavra da mem. PROM dividida em 2 campos vais verdes de de ‘Fnitrada MEMORIA PROM Saida vases de Fenda (bestives) Kr Retico Fig. 19.1 - Modelo de Maquina Seqitencial Sincrona ‘As informagées armazenadas aa PROM devem descrever as fungdes do préximo estado interno, ¢ de saida da maquina sequencial Conforme descrito no item 16.1 (médulos de memorizacio) denomina-se palavra da meméria ao conjunto de informagses (bits ) de saida obtido a partir de um enderego fornecido na entrada do dispositivo © armazenamento da informagdo na memoria pode ser caracterizado Pelo tipo de organizagéo de palavra da memoria. Uma palavra de memé pode, por exemplo, conter um certo numero de bits que indicam 0 proximo estado inferno da maquina sequencial, ¢ os bits restantes indicam efetivamente as saidas do circuito, ‘Projet de Cees Digs Pro: Franc Fas Lemos sintetizar sistemas descritos com diagramas ASM, vamos ar duas classes de maquinas seqitenciais, diferenciadas segundo a forma pela qual a palavra da meméria PROM € organizada. Sao elas: A. Enderegamento por Enlaces B. Enderegamento do par Estado-Qualificador Uma série de outras organizagdes de palavras poderiam ser propostas, mas serio apenas comentadas ficando a critério do leitor se aprofundar lendo as referencias bibliograicas citadas 19.4. Endere¢amento por Enlaces Este tipo de organizagao esta baseado no armazenamento do préximo estado ¢ da saida, para cada ENLACE do diagrama ASM correspondente. A fig. 19.2 apresenta um esquema da estrutura, com um correspondente ENLACE indicado num diagrama ASM genérico ENTRADAS Fig 192 Variaveis: ; a Fstado Estado [Cavrono]camrona] da memoria Ewace |“ SaaS] PROM por ee Lv SAIDAS Proto de Cinitos Digits Franca Enns Lemos 178 + | estapo Enlace oS Enlace 2 —— > (Proximo Estado) Fig. 19.2 - Enderecamento por enlaces A palavra da meméria, neste caso, é dividida em duas partes denominadas, * CAMPO DO ENLACE: parte que indica 0 proximo estado interno do cireuito sequencial * CAMPO DAS SAIDAS: parte que indica as informagdes de saida do circuito no instante da aplicagao das entradas correspondentes. Cada enderego fornecido a MEMORIA ( PROM, EPROM...) é fungio do estado presente, ¢ da entrada aplicada ¢ sera denominado Enderego do ENLACE ( dai o nome enderegamento por enlaces dado a esta estrutura ). Prt de Creits Digiis- Po: rnc Eas Leos 19 As saidas do sistema neste tipo de estrutura sdo saidas dos enlaces a0 invés de saidas que dependem apenas do estado interno, ou seja: As saidas, sio saidas condicionais que ocorrem apés os testes necessérios na saida de cada ENLACE (ver figura 19.2 ). As figuras 19.3 ¢ 19.4 comparam duas formas equivalentes de descrever um determinado bloco ASM. Na figura 19.4 0 diagrama ASM foi adaptado para possibilitar sua implementagao segundo a estrutura de circuito que esté sendo analisada A descrigdo feita na figura 19.4 foi obtida da anterior, deslocando todas as saidas para as pontas dos ENLACES,. e colocando-as em conjunto num mesmo ponto, $000 Ss Fig. 19.3 - Diagrama ASM inicial Projo de Cites Digas- Prof. rasa Ends Lenn 19.4 Diagrama ASM equivalente a figura 19,3, adaptado para ‘enderecamento por enlaces. Este bloco ASM poderia ser implementado com memérias PROM, conforme indica figura 19.5, Nele existem 4 enlaces que correspondem aos 4 enderegos que sio selecionados na meméria, A parte de decodificagao enderega os enlaces (Al A2 A3 Ad), © palavra obtida da meméria esté dividida nos dois campos denominados proximo estado ¢ saidas. Os biestaveis tipo D armazenam em suas, saidas ( QI, Q2, Q3 ), 0 estado presente da estratura seqiiencial, Proetode Cit Dips Pro Frnciso Fades Lene ‘A meméria PROM foi represemtada dividida em duas partes, (decadificador em meméria) apenas para facilitar a compreensio de sua cestrutura interna, MEMORIA me) ‘ aL a = a tet TY ona ‘PROXIMO | _— stay” | swas |B oo i | Reig | " st s2 se — proximo estado interno Fig, 19.5 - Implementacdo de um bloco ASM correspondente d maquina seqencial desejada Um problema que surge ao se utilizar estruturas de enderegamento por enlaces, & que a informagzo que realiza a operagao descrita no di ama é tanto no decodificar ( enderego do enlace ) como na meméi (saida ¢ proximo estado). Se existirem muitas varidveis entrada, 0 tamanho 0 decodificar necessirio se torna muito grande (pois passam a existir rj Crono Dg i Fi ads eo i muitos enlaces possiveis ). Alm disto, somente uma pequena parte das combinagdes possiveis para os enlaces é usada Isto motivou a definig#o de um outro tipo de estrutura da palavra da PROM que permita a descri¢do do diagrama com as informagdes contidas apenas na parte referente ao arranjo OU da matriz da PROM, minimizando © tamanho do decodificador. Este novo tipo de estrutura sera analisado a seguir. 19.2. Enderegamento do par Estado-Qualificador Uma forma de contornar o problema de crescimento exagerado do decodificador da memoria com o aumento das entrad do sistema, & considerar estas entradas separadamente através de um circuito adicional externo a memoria. Para que isto seja possivel, deve-se construir os diagramas ASM representando méquinas seqllenciais correspondentes ao modelo de MOORE, ou seja: As saidas num determinado instante de tempo dependem unicamente do estado interno onde o sistema se encontra nesse instante. A figura 19.7 mostra a estrutura basica de hardware para esta nova forma de representagao, A palavra da memoria PROM foi agora dividida em 4 partes: Uma para teste, duas para enlace, ¢ a terceira para saidas. Para que um diagrama ASM possa ser implementado por este tipo de estrutura, ele ndo deve possuir saidas condicionais, ( Modelo de Mealy), ¢ apés cada ESTADO INTERNO devemos testar uma entrada, que segundo 0 resultado do teste indicard 0 préximo estado do sistema. Dai o nome rojo de Ciroutos Dips - Pref: racine Finda Lancs 18 ENDERECAMENTO DO PAR ESTADO-QUALIFICADOR dado a esta Meats | Ny cestratura, decoditie arranjo “OU" HA Registrador Relégio pe] | were atte | | satous mevora | Umapa seisrora | Umapelawra emanas | bana cala pr aualieador implementar diagramas qualificador. Fig. 19.7 - Estrutura de circuito necessdria pi ASM por enderegamento do par este Conforme indicado na fig. 19.7, este tipo de estrutura necessita alguns Componentes ( circuitos ) adicionais, que so o multiplex e a chave seletora, Vé-se também que as entradas do sistema passam através do ‘multiplex, ¢ nio mais através do decodificador da meméria, 0 que permite contornar 0 problema apresentado pela estrutura anterior (enlaces ), que sumentava muito @ parte decodificadora com aumento do niimero de entradas. Pro de Cres Digs Pr Fin Eas Leos 18 Neste tipo de estrutura, o multiplex recebe (da palavra da PROM selecionada ) 0 campo relativo ao teste, que seleciona uma das entradas do sistema ( varidvel Booleana ) conectando-a a saida que ¢ ligada a chave seletora para escolher um dos dois enlaces possiveis (direto ou alternativo) dependendo do nivel Légico da entrada que esti sendo testada © enlace selecionado na saida da chave ¢ armazenado no registrador como sendo o préximo estado interno do circuito sequencial A fig, 19.8 indica a forma de representag&o de uma palavra genérica da PROM com iagrama ASM para este tipo de estrutura, ‘ SAIDAS Estado atual Enlace Alternativo Enlace direto ae Peas Proximos estados que podem ser selecionados pelo teste. Fig. 19.8 - Estrutura bdsica dos diagramas ASM para enderesamento pelo par estado-qualificador Proto de Cc Digs Pro Francisco Eas Lemos Para que um diagrama ASM possa ser implementado por enderegamento do par ESTADO-QUALIFICADOR, cle deve estar representado do acordo com @ figura 19.8. Existiré um mapeamento direto entre o diagrama ASM e a estrutura fisica que o implementa. As figuras 19.9 ¢ 19.10 mostram respectivamente parte de um diagrama ASM genérico e sua implementagao, 100 Fig. 19.9 » Parte de um diagrama ASM genéric ‘0 escrito de forma a permitir a — implementacdo pelo par_—_—‘Estado-Qualificador Prt de Cis Digs Pro: rece Eas Lens 186 MEMORIA PROM ou felral { . ie 3 i = i HH —tosscoom : Eanes west: [pues gan 5 J Pasa Pi ow Fig. 19.10 - Implementagdo do diagrama indicado na figura 19.9 (estrutura genérica do par estado-qualificador ) A transcrigdo do diagrama ASM para o circuito correspondente, neste caso, foi feita da seguinte forma: * Partindo de um estado qualquer, por exemplo o estado a com designagao (101). Neste estado devemos testar o qualificador QI no campo de testes da palavra correspondente da PROM. Nas entradas de selegao do ‘multiplex temos: a= 0 b=0 © ¢~ 1. Esta combinagdo coloca o valor de QI na saida do MUX { indicado na figura 19.10 ). Neste mesmo ‘rte de Czeios pas Porcine Ens Lemos 187 instante, na entrada da chave seletora teremos as combinagdes 100 ( enlace direto ) © O11 ( enlace alternativo ). Portanto, segundo 0 nivel logico de Q1 na entrada de selegao da chaye, tem-se em sua saida o proximo estado escolhido que seré b (correspondente a O11.) owe ( correspondente a 100 ), + Lembrar também que neste estado ( 10 1 ) devemos acionar as saidas $1 © S2 0 que foi indicado na figura 19,10 ($1 = 1e S2= 1), ‘* Procedendo da mesma forma para os outros estados, pode-se esorever a programagao da meméria PROM para todo 0 diagrama considerado, Estas idéias serdo retornadas através de exemplos de implementagao completos que serio resolvidos nos itens 19.5 ¢ 19.6 19.3. Outras formas de Organizagao da palavra da meméria PROM Este item, menciona outros tipos de organizagdo de palavras da meméria, que podem dar origem a estruturas de circuitos distintos das duas que foram estudadas até aqui. AAs estruturas anteriores stio chamadas estruturas de formato fixo da palavra, porque cada bit na palavra da meméria possui sempre 0 mesmo significado. Pode-se pensar também numa estrutura de formato varidvel, no sentido de que cada bit da palavra pode ter varias fungdes dependendo de sua posigio, seu enderego, ou mesmo da situagao de outros bits da palavra Para exemplificar, suponha a estrutura de circuito indicada na fig 19.11. Esta estrutura possui um formato de palavra varidvel com duas Prot de Cres igs Prof: ransso Es Leos formas distintas, indicadas por um bit de teste (no canto esquerdo da palavra). Se este bit & igual a UM, a palavra é interpretada como uma Pelavra que contem saidas, se cle € ZERO, ela indica que deve ser realizado lum teste de entradas e um salto para outro estado interno (segundo o enlace indicado), Esta estrutura é, na realidade, equivalente & estrutura anterior ( par estedo-qualificador ), onde a palavra da meméria PROM foi dividida em duas partes que sio identificadas com 0 auxilio do bit indicador de formato DECODIE EAE [EBRD] —Reosio romsro romuaro2 9. e— 2 a Fig, 19.11 - Estrutura com palavra de formato variével Neste caso, pode-se assumir que, quando a palavra se refere a saidas ( formato 1), © proximo estado interno ¢ obtido incrementando de um o estado interno atual. Com esta nova estrutura, podemos implementar diagramas ASM escritos conforme indicado na figura 19.12, Froese Cetn Opts Fc Le a) Formato 1 b) Formato 2 | Estado | Estado (SAiDAs) Proximo estado ¢ assumido como sendo o estado atual + 1 ° salto Estado +1 Fig. 19.12 - Blocos ASM passiveis de implementagdo com estrutura de formato variévet © formato 1, fornece a saida a ele atribuido, e pula para o enderego consecutiv da PROM ( comandado pelo Reldgio ). Este préximo enderego pode conter uma palavra de formato 1 ou 2. © formato 2 pode fazer testes. © segundo 0 resultado, pular para qualquer dos dois estados seguintes No caso do formato varidvel, convém lembrar que a mesma informado poderia estar contida em uma inica palavra da meméria com um ‘niimero maior de bits, Entretanto, por razdes de custo, muitas vezes pode ser interessante dividi-Ia em duas ( ou mais ) palavras. Uma desvantagem existente na utilizagdo de estruturas com formato variavel, € que necessita-se um mimero maior de estados internos (portanto transigdes) para reslizar 0 algoritmo, do que seria exigido com o formato fixo. Projo de Cites Digits Francia Ends Lames 190 Outras estrutura: por exemplo com formatos triplos ou quidruplos poderiam ser imaginadas para organizar a meméria, cada uma delas visando atender caracteristicas especificas de implementagdes, que no entanto fogem do escépo deste estudo, 19.4. Implementagao de um exemplo Este item retorna o projeto do “ jogo do 21 “, para realizar a sintese do contréle do dispositivo utilizando meméria PROM com os dois tipos de organizagao da palavra jé estudados, ou seja: 1. Enderegamento por enlaces. 2. Enderegamento do par estado-qualificador, Ambas as implementagdes, so com circuitos sincronos, de modo a climinar problemas de disputas entre varidveis internas de estado As entradas assincronas, como ¢ 0 caso de CAR-P passam por biestaveis tipo D de modo a torna-las também sincronas para o sistema A codificagdo dos estados internos sera feita de modo arbitrério Alguns critérios poderiam ser aplicados, e serio mencionados no decorrer da implementago pelo par estado-qualificador. 1. Enderegamento por enlaces A figura 19.13 apresenta o algoritmo basico de controle do jogo do 21, escrito segundo as regras dos diagramas ASM. Para que ele possa ser diretamente implementado pelo método de enderegamento por enlaces, ele deve ser reescrito numa forma mais conveniente (ver item 19.1 ) Este diagrama foi obtido a partir da fase de descrigio do projeto feita na segio 17.3 (ver figuras 17.5 e 18.15), Projo de Cics Digits - Mot Franco Fas Leos 1 ev ESTOURO eee @ Rabo @ pe Fig. 19.13 - Diagrama ASM para implementar 0 “jogo do 21“ Preto de Cit Digits -Pro Frans Ends Lemos 12 Nesta descrigao, existem ESTADOS com s las condicionais (que dependem das entradas do sistema num certo instante) como por exemplo ¢ € 4, 0 que caracteriza um modelo de méiquina seqiencial de MEALY As linhas pontilhadas correspondem aos blocos ASM conforme definidos no item 18.3. A indicagto destes blocos no diagrama é facultativa, mas ela auxilia compreensio do funcionamento do sistema, Na fig. 19.14 tem-se a mesma descrigio da figura 19.13 convenientemente refei para permitir a implementagio direta pelo proceso de enderegamento por enlaces. A nova descrigao foi obtida da anterior deslocando as saidas para as pontas dos enlaces, e colocando-as em conjunto ‘nos pontos onde elas devem ocorrer. Nesta figura também esto indicados os enlaces existentes, S#o um total de 6 estados, que podem ser codificados em 3 bits. O algoritmo a ser implementado possui 5 variaveis de entrada e 10 variiveis de saida Pj de ici Dp - Prof. Fracinco Bnéas Lemos <> oroune ‘rou cor Bes Enon O00, Fig, 19.14 - Diagrama ASM para implementar diretamente 0 “ jogo do 21 “ pelo processo de enderecamento por enlaces. Proje de Cratos Digs Pr Frc Ene Leos 9 Estes dados permitem definir @ estrutura de circuito que estd indica na figure 19.15, ¢ que permitird materislizar a estrutura de comando do jogo 4021 ‘A palavra di meméria PROM deve conter 3 bits no campo de PROXIMO ESTADO ( codificasao de 6 estados ), ¢ de 10 bits no campo de saidas (10 possiveis des do sistema ). © tamanho total da palavra seré, portanto, 13 bits A entrada da meméria PROM receberé os seis qualificadores ja Aefinidos, © os quatro bits de codificagao dos enlaces (correspondentes 20 Préximo estado interno do sistema). Notar que o produto SAII* As (am os testes necessérios), foi feito externamente através de uma porta E. MEMORIA PROM — cane AS ARRANJO “OU" sails was DECODIE sai sai | | | Relogio FRGNG | _SAIDAS | | Dip: 1s ele Playa da meaiia EPROM (Deuthade da Fig 19.16) Fig. 19.15 - Estrutura de hardware para enderecamento por enlaces Pride Cnc Dipti rH Ls Ws, A palavra da memoria PROM tem uma estrutura que esta resumida na figura 19.16 A programagto da meméri fica facilitada se o diagrama ASM da figura 19.14 for transcrito sob a forma de uma tabela como a da figura 19.18 Vamos supor que, na implementagio, serio usadas duas memérias PROM. ENLACE sajpas SEMUSO Act) a web re pL Ds Ao) SOMA CJ0GO.—«SET.-—_ZERADOR. Fig. 19.16 - Organizacdo da palavra da meméria EPROM. ‘As memérias consideradas possuem um arranjo interno de (2!9x 8) bits, ¢ portanto, duas destas memérias permitem armazenar 2!9 = 1024 palavras de 16 bits. £ interessante chamar a atengao para o fato de que, para implementar © diagrama sto necessérias apenas 14 palavras de 13 bits (no caso 16 bits ¢ trés deles nao so utilizados ) pois ele possui 14 enlaces distintos, ou seja Das 1024 palavras de 16 bits disponiveis na associagio de memérias, Projet de Cicaits Digits Pro Francis Ends Loe 1% ‘estamos utifizando apenas quatorze. Este alto grau de sub-utilizagto das memérias & que pode levar 0 projetista a considerar outros tipos de estrutura de organizago da meméria, como por exemplo as palavras de formato variavel mencionadas no item 193, shee Ade u i 7 eee RELOGIO Fig. 19.17 Implementacdo da estrutura de controle do “ jogo do 21" com ‘memérlas PROM e biestdveis tipo D (7474 ) pelo método de enderegamento por enlaces. A fig. 19.17 esboga o circuito utilizado. Na montagem do circuito, a osig#o das entradas ¢ saidas utilizadas na meméria, devem estar de acordo com a tabels de programs¢do correspondente indicada na figura 19.18, Prd Cc Digit aE Lama ww Tabela de Simbolos ‘Tabela da EPROM Estado Pris] Entradas | Proem | Saldas wal | Entradas | est] aides | as-as| ao~as | vupzps | psate 13 a : ee ae [ b = ‘00_[ —xzxx0 {000 | 0900000000" » © x ‘000_| sexe [eo | 0000000000 © [sonia [001 | —soxsx_ [101 | on 1000000 [ve ©) Ade [ort | —atsax | 001 | 0100000010 L ‘SOMA [a «| PED-CAR [tor woxt [111 | oov00i0000 L a 7] PeD-caRe [tor] aoe] ior | voor00000 @ © [Resse [aor [isis [oor | ooror0o0 AGHO) PED-CAR 7 rep-can [101 | atts [ i160 | oovoi0000 | PED-CaR_|—t01_| oasis [oni | ooo 66000 e a) @eRaDOR [ort [—aaxt [11000000101 ESTOURO, | E a ZERADOR T_[eaRPa a coNrsG [aie |r [nt | o000ni007 ZERADOR | carP=0 | conse [ie | saxo [in| o000ni0017 ZERADOR Fig. 19.18 - Tabela para programagdo de meméria A tabela para programago da PROM, deve conter a especificagiio dos bits correspondentes as 14 palavras que serio utilizadas para armazenar os 14 enlaces existentes no diagrama, Também deve ser prevista uma forma de inicializar 0 circuito quando 0 mesmo € ligado por exemplo, forgando os biestaveis tipos D a uma condigo de saidas que enderecem o enlace niimerol Projo de Cision Digits PoP Ends Lemos Enderegamento do par Estado-Qualificador © diagrama € obtido a partir do algoritmo definido (ver fig. 17.5 ¢ 18.18), © foi escrito numa forma conveniente para a implementagao pretendida, Isto foi feito na figura 19.19. Nela existem um total de 11 pares ESTADO-QUALIFICADOR ( indicados em pontilhado pois coincidem com os blocos ASM ). Para codificar 05 11 estados sto necessarios 4 bits. A estrutura geral do circuito utilizado ja foi analisada no item 19.2 ¢ estd mostrada na figura 19.7. Deve-se definir na palavra da PROM o campo de testes, © campo dos enlaces direto ¢ alternativo, e 0 campo de saidas Além disto, o circuito também inclui um multiplex ¢ uma chave seletora que devem ser definidos, A definigao do multiplex ¢ feita em fungdo do nimero de entradas do sistema, lembrando que ¢ necessério sempre uma entrada a mais para indicar de que nenhuma entrada esti sendo testada, Como no diagrama existem 5 condigdes distintas de teste, sdo necessérios um total de seis entradas no MUX (‘5 testes de entradas + 1 nao teste ), portanto, um multiplex de 3 variaveis de selegdo é suficiente ( ver a figura 19.22 ), Também existem 10 saidas que, se forem indicadas separadamente, ‘ocupam 10 bits da palavra da PROM. Entretanto, para minimizar o tamanho da palavra, estas 10 saidas podem ser codificadas ¢ isto sera discutido posteriormente, Projet de Creo igs Prof. Frese nas Laos 199 ACIO) | SALAS a 1 La sfrocas M21 er. Fig. 19.19 - Enderecamento do par Estado-Qualificador rojo de Ceutos Dgas- Porson Laros As consideragdes feitas até aqui ja sio suficientes para estruturar a Palavra da meméria, cujo esquema esti indicado na figura 19.20. Esta palavra possui um total de 21 bits, 0 que provocaré uma grande incficiéncia do arranjo de memérias que fosse implementado com este fim. Para um melhor aproveitamento pode-se codificar campo de saidas, verificando no conjunto de saidas existentes, os sub conjuntos que sio mutuaniente exclusives. 3bits 4bits a bits obits 7 TESTE ENLACE ENLACE DIRETO ALTERNATIVo — SAIDAS Fig. 19.20 - Uma possivel estrutura da palavra da EPROM neces: ia No problema em questdo, as saidas podem ser divididas em dois grupos onde cada um de seus elementos & exclusivo em relagao aos demais. Estes dois grupos sio: UPO 1 AVC A(10) GRUPO 2 AC-10) SET SOMA RESET PED-CAR ZERADOR CONF. JOGO ESTOURO jt de Ceo igs Prof Franco Eas Laos 201 Lembrar também que a0 codificar cada um destes grupos devemos prever uma saida a mais para indicar que nenhuma das anteriores foi selecionada, Estas consideragSes permitem propor uma nova estrutura para 4 palavra de meméria PROM, visando otimizar seu aproveitamento, Esta nova estrutura esti indicada na figura 19.20, onde o total da palavra passou a ter 16 bits. Também nesta figura esté indicada uma possivel codificagao para as entradas e saidas deste problema ——— bis ———_, SS ENLACE ENLACE, ae DiRETO. ALTERNATIVO TESTES ee —— 000.Nenium do po filo covave diieon ou Carrs oats 100-soma OLseT toma 101-PED-CAR 1O-RESET Tost 1H0-CoNF_JoGo—_-'-ZERADOR a I-ESTOURO Fig. 19.20: Formato da palavra As codificagdes adotadas, para o campo de teste ¢ de saidas (figura 19.21), devem ser escolhidas de acordo com os circuitos multiplex e decodificador que serdo usados na implementagio. Prqeode Cia pts Pra Hens Egat Lee Para facilitar « programasdo da meméria PROM, pode-se descrever 0 diagrama ASM da figure 19.19 sob forma de tabelas, onde estdo speci cenderego, A tabela correspondente a implementagdo do jogo do 21 esti indicada ns figure 19.21, wdos os corddes de bits que devem ser armazenados em cada TABELA DE SIMBOLOS ‘TABELA DA EPROM Tas] sna —] Rr ‘CBA | XYZ, cr 1010 te oii mt i 00 zs es wor om eer Ca ‘wo_| erro] anne |. 1o1_[_sis1 [e100 | 060-00 ‘wor{ 101} wo Ho Fig. 19.21 - Tabela que descreve a codificagao da PROM. Prt de Casio Fm End Lee © esquema do circuito obtido na implementagdo do diagrams este indicado IcaRp ALS CHAVE DIGITAL AR? ALLPAS—] DECODIF ‘DECODIFICADOR) ee pa SAIDASDO—saiDaS DO GRUPO! GRUPO2 Fig 19.22 - Configuracao de hardware para implementar o jogo do 21 pelo par estodo-qualificador Pte Cet Dai rc eta Lae 19.6:- Problemas Rosoivides 1° Problema: Comandar a oscilaglo de um distribuidor cletro= pneumatico, que funciona conforme descrito abaixo ( ver figura ) as ae a 4 a aes o— Distribuidor A at Es a Direita (D) ‘Esquerda (E) A posigto do pistfo ¢ indicada pelos contatos g ¢ d, ¢ 0 comando de twanslaydo do pistdo ¢ obtide pelo acionamento das variéveis. D (Gestocamento para direita ) © E ( deslocamento pera esquerda ) © ciclo inicia quando o operador pressiona © botio M, fazendo o pistdo oscilar entre os contatos g € d. © ciclo termina quendo o operador ressiona 0 botio A, ¢ 0 pistéo para sobre o contato g, Todo ciclo iniciado deve terminar sobre 0 contato g. ( situagto em que as entradas De E do Aistribuidor valem D = 0 E=1). Pede-se 1) Definir a estrutura sequencial desejede, indicando as varigveis envolvidas 1a solugto: 2) Construir o diagrama ASM correspondente a estruture de controle do sistema, para posterior implementao pelo método do par Estado- Qualificador en Ceo Digs Fos En Lawes 205 3)Modificar 0 diagrama obtido no item 2 para “Palavra de Duplo formato” ¢“Enderegamento por enlaces”. Solus: lo Ttem 1: - Existem seis varidveis envolvidas na solugio do problema, que podem ser subdivididas em dois conjuntos denominados varidveis de entrada ¢ varidveis de saida, em relago ao controle seqiiencial que desejamos implementar. ( Fig. 19.23 ) Conjunto de variaveis de entrada = M, a, g, d Conjunto de variveis de saida = D, E serd adotada a seguinte convengdo para as variaveis: £=1 - pistio sobre 0 contato g a 1 = pistio sobre o contato d M=1 - operador pressiona 0 botdo M ( inicio do ciclo ) A=1 = operador pressiona o botio A ( parada ) D= - pistto ¢ movimentado para a direita E=1 - pistio é movimentado para a esquerda M oe —+ conrroue Proceso — ete 8 4 ese nd tense inetd Fig. 19.23 - Diagrama de blocos da estrutura controle + proceso Projet de Cees igs Pr rami Fas Lemos 206 Hem 2: A figura 19.24. apresenta o diagrama ASM da estrutura de controle, para implementar pelo “ par estado-qualificador “. Nesta figura também esto indicados ( em pontithado ) os blocos ASM corres- pondentes, Fig. 19.24 - Diagrama ASM da estrutura de controle Hem 3: As figuras 19.25 © 19.26 que se seguem modificam o diagrama ASM apresentando em 19.24, de modo a adapta-lo a implementagao com enderegamento por enlace e palavra de duplo formato. © ‘conjunto destes trés diagramas permite comparar os tipos de Prot de CircitosDigins Pro Frencio Entas Lens 2 implementagao, © concluir sobre a que melhor se adapta a solugdo do problema, tendo em vista por exemplo, minimizar o circuito final obtido. Fig. 19.26 - Implementacao com “palavra de duplo formato” Pret de Cros Dpiis- Po: ncn Eas Lemos 2° Problema: E dado o diagrama ASM indicado na figura 19.27: @) Considerando que este diagrama deve ser implementado utilizando uma das trés estruturas de circuito estudadas, ou seja: Par Estado- Qualificador; Enderegamento por Enlaces ou Palavra com duplo formato, Escolher a melhor estrutura para sua implementagao ¢ justificar a escolha feita, considerando como critério aquela que utilizar menor quantidade de meméria PROM. Supor que na implementagéo tem-se disponivel uma meméria PROM com arranjo interno de 256 x 8 bits, (256 palavras de 8 bits) b) Implementar a estrutura escolhida no item a) ¢ fazer a tabela de programacao da PROM, Projet de Cieutos Digit - Pro. Fraeto Enda Lemos 210 k0 NO L=l P=0 M=1 Q-0 0 1 k=O NAT L-0 Pal M=1 Q-0 Fig. 19.27 - Diagrama fornecido para implementagao Projo de Croat Digits Po. Frio Fas Lemos a Solugio do Item 1 1.1) Par Estado-Qualificador © diagrama possui cinco blocos de estado, € cinco blocos distintos para testes de qualificadores (entradas). Além disto, existem, seis saidas distintas, 0 que fornece uma palavra minima memoria PROM conforme indicada abaixo, - TESTE Enlace Enlace SAIDAS direto Altera, +—— 15 bits ———> Minimo de duas pastilhas da meméria disponivel 1.2) Enderegamento por enlaces: Transformando convenientemente 0 diagrama dado, tem-se um total de cinco estados, ¢ os blocos de saidas condicionais correspondentes, fornecendo um total de 10 enlaces. Serao como no caso anterior, fornecendo a palavra minima da memoria PROM descrita abaixo, This 6 bits Proximo Saidas Estado — 9tits ——» Minimo de duas pastilhas da meméria disponivel, Projo de Cratos Digiis-Prot Francia Enea Lae a2 1.3) Palavra com duplo formato: Neste caso, reorganizando o diagrama teremos um total de 12 estados internos e cinco testes distintos, com as mesmas scis saidas dos casos anteriores. As palavras da meméria sero 3 bits 4 bits 0) TESTE Prox.Estado FORMATO 1 TESTE 1 Saidas FORMATO 2 Je—— TOTAL = bits ——5 __satpas CON USAO: Fste é 0 melhor compromisso, pois necessitamos apenas uma pastitha da meméria PROM disponivel Ttem 2: A figura 19.28 apresenta a modificagdo do diagrama inicial, para ser implementado com palavra de duplo formato, A designagio de estados foi escolhida de modo a permitir incrementar de um 0 estado atual ou saltar para um novo estado, de acordo com o resultado do teste do qualificador correspondente Proj de Cites Data - Pro Francia Fas Leos as Fig. 19.28 - Diagrama ASM para implementar o problema 2 com palavra de duplo formato Projet de Cito Digin Pro Fai aa anos aus A estrutura de hardware necessiria para a implementagio esta indicada na figura 19,29, onde foram utilizados quatro biestaveis tipo D, um multiplex de trés variaveis de selegdo, uma chave seletora de 4 bits, portas € fornecida na Jogicas © uma meméria PROM cuja tabela de programagé figura 19.30. Um dispositive para retengo de saidas (LATCH ) foi adicionado para manter estes valores constantes durante as operagdes de teste e mudanga de estado. X=0 — Salto X=1 + Estado +1 _—— “LATCH” |__| MEMORIA PROM | pO x neuen f [44 did] : EDO 1 0 [reste [ENLACE O TO Ml Estado 7) (000) A: L tO N (oon) LL (010) C4 io al (on )¢| CHAVE SELETORA coe jO coy Die 4 Relogio ees ence Figura 19.29 - Estrutura de hardware ( palavra duplo formato ) Proto de Celio Dgias Prof. Franco Enns Lemoe Bit de EPROM __|_EPROM Tabela de Simbolos (Form. 2) | fxtado | Tete] Balace | Salde | D, | Teste] atace | Saldas | KLMNEQ z = T wire - 2 im a 2 3 1 doer - co = u : 3 n Tiioor ~ [re x 0 z L 7) SALTO 0 = = 5 Bi LN n Didiee a 1C. = s a z — [ae Psacro é © : rm = 5 KMP_[ 4 Teioro - Ce D 5 - [9 - Figura 19.30 - Tabela de programagdo da EPROM da figura 19.29 3° Problema: Considere o sistema indicado na figura 19.32 que & constituido por trés carros monta-cargas ( C1, C2 e C3 ) que podem se deslocar em trés vias independentes, ¢ com velocidades diferentes, para a direita ou para a esquerda de acordo respectivamente com os sinais Dn e ~ En (n-1, 2, 3). Os interruptores a, b, ¢, d, e, f servem para detectar a presenga dos carros nas extremidades das vias. O estado inicial do sistema € 0 indicado na figura ( os trés carros parados sobre os contatos gee ele deverd realizar a seqiéncia descrita a seguir: * 0 operador pressiona 0 botéo M € 0 ciclo se inicia, deslocando os trés ~ carros para a direita. Entre Cl e C2 existe uma dependéncia: 0 primeiro que chega na posigdo mais a dircita de sua via ( contatos b ou d ), Pret de Cratos Digits Pro Francisco das Lemos 216 aguarda a chegada do outro, a fim de partirem juntos no sentido contrério (em diregdo aos contatos ae ¢ ) ‘+ O terceiro carro uma vez que chegou ao contato f, faz retorno em direpao 4 posicao inicial, independente dos demais. © ciclo termina quando os trés carros voltam novamente ao estado inicial, onde eles devem parar & aguardar 0 inicio de um novo ciclo quando o operador pressionar novamente o bot#o M. Pede-se: 1) ‘Analisar 0 problema definir as variaveis envolvidas na solugdo 2) Descrever o algoritmo do controle utilizando diagramas ASM. aks oO n=1_desloca o carro Cy ara esquerda Dy=I desloca 0 carro Cy cs enaetiy para direita Fig. 19.32 - Esquema geral do sistema monta-cargas Prieto de Cres Digs Po. revo Enns Lame ar Item 1: Este problema pode ser facilmente descrito se utilizarmos 0 attificio de dividi-lo em sub-problemas, caracterizando separadamente cada um deles, ¢ a seguir interligando-os conforme o problema global exige. Isto corresponde a uma aplicagdo dos conceitos discutidos no item 16.1, de forma a obter partigtcs do sistema de controle, cuja descrigao desejamos Como 0 deslocamento do carro C3 (apés iniciado o ciclo), é independente dos demais, ( apés ini \do 0 ciclo ) vamos considera-lo separadamente. O controle sera sub-dividido em duas partigdes: Uma referente aos carros C1 e C2 e outra referente a C3, conforme indicado na figura 19.33 Temos um total de 13 variéveis envolvidas na solugio das quais 6 si0 varidveis de saida (En ¢ D ), © sete so variaveis de entrada. A figura 19.33 mostra o esquema da estrutura de controle defenida para abordagem do problema. Projo de Creo Digit Prof. Franco us Leos ae Fig. 19.33 - Diagrama de blocos da estrutura “controle + proceso “ para o problema 3 Item 2: Os diagramas da figura 19.34 descrevem 0 algoritmo do controle para solugdo do problema proposto. Estas duas descrigdes esto interligadas pelo bloco final de teste que condiciona a volta de cada subsistema ( carros Cl © C2 ou carro C3) ao estado inicial, No caso do controle do carro C3, @ volta ao estado inicial esta condicionada a ocorréncia do produto a.c = 1 indicando que 0s outros dois carros (Cle C2) ja retornaram. No caso do controle de C1 ¢ C2, tem-se o teste da variével eI indicando que 0 carro C3 retornou ao ponto inicial. Estas condigdes impedem que o operador possa acionar um novo ciclo, antes que 0 ciclo anterior tenha se completado. Projo de Ciao Digs -Pro. Francine Ends Lamas 219 D3=1 Ss B=1 iY E3-D3-0 d Fig. 19.34 Diagramas ASM para controle dos carros Proce de Cats Digs Prt race Ens Lense 20 20. Implementagao de Circuitos Sequenciais com “PALs” Este item analisa um método para sintetizar circuitos descritos com diagramas ASM © implement Jos usando “Arranjos —Légicos Programaveis"(PALs ja foram apresentados na seco 14) Os PALs podem ser subdivididos em duas grandes classes: 1. Combinacionai: Arranjo interno do circuito integrado contem apenas Portas ldgicas, nao podendo armazenar informagdes internas (nio possuem elementos de memorizagio); 2. Sequenciais: Arranjo interno contem portas logicas e elementos biestaveis (ou registradores) capazes de armazenar informagées (estado interno), Para cada uma dessas classes, os fabricantes desses componentes definem familias de circuitos integrados. A figura 20.1, por exemplo, indica um tipo bastante difundido de PAL sequencial, fornecendo e generalizando o significado de seu cédigo funcional, 0 qual pode ser aplicado a todos os elementos da mesma familia, A figura 20.2 apresenta um diagrama légico da estrutura interna deste PAL (16R4), onde pode ser identificado um bloco combinatério (formado pelos arranjos E ¢ OU existentes ) ¢ um conjunto de elementos bioestaveis tipo D. Proto de Cueuits Digits -Pro. Franco Fes as a IC PAL 16 R44 NDE =. oo VELOCIDADE TIPO DE SAiDA. A- ALTA VELOCIDADE. BRANCO - STANDARD N° DE SAIDAS. H - Ativa em nivel alto L - Ativa em nivel baixo C- Complementar P - Programavel R - Registrador RA - Registrador Assincrono § - Divida (Multiplexada) X - Registrador “OU Exclusiv FIG. 20.1 A- Registrador Aritmético Comparando esta estrutura com 0 modelo de maquina sequencial sincrona apresentado (ver por exemplo a figura 14.4), pode-se concluir que 0 bloco combinatério se responsivvel pela geragao das fungdes de saida © do préximo estado interno do circuito sequencial, enquanto que os elementos biestiveis permitem armazenar 0 estado interno do sistema, eujas mudangas de estado sto sincronizadas pelo sinal de relégio que comum a todos estes biestaveis, Esta estrutura interna pode variar (mimero de biestéveis © de entradas © saidas), de forma a permi ir que © projetista de hardware adapte seu problema ao tamanho da PAL que ele julga mais conveniente, ou até mesmo divida sua implementagio em diversas PAL's de tamanhos variados. E importante ter em mente estas consideragdes para uma posterior generalizagao do proceso de si Proto de Cieios Digits - Po Franco Fn Leos am Proto de Cues Dips Pra: Eins Lemos as As etapas deste processo diferem um pouco dos métodos clissicos utilizados para sintetizar circuitos sequenciais naquilo que € necessdrio para adapti-lo ao dispositivo PAL. Estas etapas so as seguintes A) Realizar uma codificagao adequada dos estados Internos do diagrama ASM que descreve @ maquina sequencial. Esta codificagao utilizara iaveis de saida como variéveis internas de estado, de forma a minimizar 0 numero de estados internos necessérios a Implementacio (minimizar 0 tamanho da PAL utilizada); B) Obter as equagdes booleanas para programacio da PAL a partir da descrigdo ASM num processo que permita mapear diretamente a descrigao logica do algoritmo na descrigdo fisica do circuito que ira implementa-lo; ©) A partir das equagdes booleanas obtidas no item B, fazer uso de um compilador tipo PALASM2* para gerar os arquivos necessirios programagao do dispositivo. Este mecanismo de sintese seré exemplificado através da solugao do problema que se segue, 0 qual possui um carater didatico, com 0 objetivo de apresentar ¢ fixar 0 processo de sintese * PALASM2 (PAL Assembler): & uma linguagem para descrigao de circuitos logicos em termos de equagdes booleanas, aplicavel tanto para circuitos combinatérios quanto sequenciais. Ela também permite deserever 05 citcuitos numa forma apropriada para realizar uma simulagdo funcional, Esta linguagem possui um programa “compilador € simulador”, de propriedade da empresa "“Monlithic Memories", que permite gerar automaticamente os arquivos necessirios a simulagio e programagio das familias de PAL's fabricadas por esta Empresa. jo de Circuits Digs Pr Fen Fé Lemon ne 20.1. Exemplo de Aplicagio Deseja-se implementar 0 controle automético de um pedégio numa auto estrada. A figura 20.3 indica 0 sistema, que opera da seguinte forma © motorista para o carro ao lado do posto de controle ¢ deposita uma ficha no local apropriado. Ao fazer isto, 0 semaforo apaga a luz vermelha ¢ acende a luz verde, indicando que ele pode prosseguir a viagem. © Dispositive que comanda este sistema devera ser capaz de reconhecer trés situagdes distintas (requisitos do projeto) A)Sequéneia normal: O motorista para o veiculo, coloca corretamente a ficha de pedagio, # qual acionara 0 contato (a) ¢ o farol verde se acende. Ele avanga o veiculo interceptando a fotocélula (b), € 0 farol verde é mantido. Assim que 0 veiculo deixa de interceptar a fotocélula, o farol verde se apaga c o vermelho acende novamente; B)Distracho motorista: O motorista avanga o veiculo até inter-ceptar a fotocélula (b) sem ter depositado a ficha. Neste caso sera acionado o alarme (AL), © 0 farol continuaré vermetho, Q motorista pai imediatamente, desce do veiculo © deposita a ficha cortetamente, O sistema volta a operar como na sequéncia normal, cessando o alarme, fornecendo luz verde, e 0 motorista pode prosseguir; C)NAo pagamento: Caso um veiculo avance 0 pedigio sem parar, 0 alarme dispara ¢ a luz vermelha continua ligada. Neste caso, 0 sistema Somente retorna ao estado inicial quando o botdo(M) for acionado pelo funcionério que faz a supervisdo do pedagio. Projet de Cicito Digiss- Po. Francia Eas Lames ‘posto DF conrRote, @] vm cveruewios @| v0 cvenoe) pa] ac cacanmey tn Fovoct.wua Fig.20.3 - Esbogo do sistema de peddgio. Solugaio A. Determinagao das variaveis que estio cnvolvidas na solugio do problema iS @ = contato acionado momentaneamente (a=1) quando 0 usuério coloca a ficha: b = contato associado @ fotocélula, assumindo nivel légico UM (b=1) quando 0 veiculo interrompe 0 foco de luz; M = botéo de contato momentineo do operador do pedagio (M=1 quando 0 botao é pressionado) Projet de Cue Digias- Pr: Eas Lacs 226 SAIDAS do contréle VM = variavel que aciona a luz vermelha do seminério (VM = 1 indica luz vermetha acesa); VD = variavel que aciona 0 verde do semaforo (VD = | indica luz verde acesa); AL = varidvel que aciona 0 alarme (AL = 1 indica que 0 alarme se encontra acionado). io canto) YM (ortho) SEQUENCIAL, SISTEMA peconmmors {| ___VOiey ASE DO PEDAGIO ae CONTROLADO (amarete . Fig. 20.4 - Diagrama Exquemético do Sistema Projo de Cites Digits - Pro, Frio Fas nos 2 b) Descrigao do algoritimo do controle com diagramas ASM A figura 20.5 apresenta ume possivel solugdo pars a descrigao ASM do algoritimo de controle do pedagio ig. 20.5: Algoritmo do contréle Proje Cet Dipset Hac te Lane ne © Estado inicial considerado para a andlise (estado 1 no diagrama da figura 16) foi o seguinte: auséncia de veiculos no pedagio, contato (a) nio acionado, contato (b) em nivel légico zero, luz vermelha do semaforo ligada (VM = 1) € 0 bot (M) nao acionado. Os demais estados do grama foram obtidos, a partir do estado inicial, satisfazendo a todos 05 requisitos do projeto. Uma vez descrito 0 algoritimo do controle, 0 préximo passo € realizar a designagdo de estados deste diagrama, identificando cada estado interno de forma univoca. Na figura 20.5 estes estados foram numerados de 1a 5, ea tabela 20.6 coloca estes estados junto com todas as saidas da maquina seqiiencial identificando para cada estado o nivel logico (alto ou baixo) das saidas produzidas quando aquele estado é atingido, Notar que a descrigdo ASM foi feita com base no modelo de "MOORE, ow seja :as saidas, num certo instante, dependem apenas do estado interno do sistema neste instante. SAIDAS ESTADO ATUAL ‘VERDE (vp) | _ALARWE (AI) i ° 0 1 2 1 ° ° 3 ° 1 1 4 1 ° ° 4 | ° 1 1 Taheta 20.6: Ocorréncia das Saidas para cada Estado interno do Diagrama Como cada estado interno deve possuir uma designagio unica, a partir de uma anélise dessa tabela ¢ possivel completar a designagao de estados, aproveitando as variveis de saida como parte das variiveis de estado Proj de Cres Digs Pf, Francie Es Lemos ng necessirias, ¢ adicionando apenas mais uma variével (denominada Q0) que permite distinguir 0 estado 2 do 4 ¢ 0 estado 3 do 5 respectivamente, que apresentaram o mesmo padrio de saidas para o problema considerado, E possivel, embora na pratica muito raro, que os padrdes de saidas sejam distintos para cada estado interno do circuito sequencial Neste caso, nenhum estado adicional seria necessério. A tabela 20.7 indica a designagao de estados adotada. DESIGNACKO DE ESTADOS ESTADO ATUAL VERDE (VD) | ALARME (AL) | VERM.(vM) | __ Q0 7 ° ° 7 1 2 1 ° ° 0 3 ° 1 1 ° al 1 ° ° 1 5 © 4 4 1 Tabela 20.7: Designa jos para o problema do pedigi © préximo passo, na fase de sintese, seré o de obter os conjuntos de equagdes de estado e de saidas do cireuito sequencial, A figura 20.8 apresenta a mesma descrigdo ASM da figura 20.7, onde foram acrescidas a designacao de estados adotada e os enlaces (caminhos), entre estados. © conjunto das equagdes de estado ¢ saida sera expresso sob a forma de soma de produtos, que é a forma mais conveniente para a posterior programagéo da PAL utilizada. Estas equagdes sto obtidas diretamente do diagrama da figura 20.8, fazendo as seguintes consideragoes: Prot de Cueto igias- Prot rcs ates Lemos 20 1.A maioria das PALs comumente utilizadas possuem uma estrutura interna que faz com que seus pontos de saida passem por um elemento inversor (veja a figura 20.2). Quando isto ocorre, é interessante que as variéveis de saida sejam consideradas para a sintese, invertidas em relagdo ao seu valor final desejado; Pro de Crts Digits - Pro Fanci Ene Lemos a1 2. Como parte das variaveis internas de estado ja sdo também as varidveis de saida desejadas (devido a designagdo de estados ter sido convenientemente adotada), a sintese se reduz as varidveis internas de estado; 3. As equagdes so obtidas observando a tabela 20.7 (designagao de es- tados) ¢ 0 diagrama da figura 20.8. A tabela fornece, para cada variavel interna de estado, os estados onde a variével deve ser considerada para a sintese, ou seja, os estados onde ela esta ative. Como a PAL, devido a sua estrutura interna, inverte as saidas, as varidveis serdo consideradas para sintesc, invertidas em relagio ao seu valor final desejado. Por exemplo, @ varidvel verde (VD) seré sintetizada como /VD (ativa em nivel légico zero), ¢ 05 estados onde ela deve ser considerada para a sintese sto 0s estados I, 3 ¢ 5 © diagrama (figura 20.8) indica, para cada estado interno considerado para a sintese de uma variavel especifica, quais sto os enlaces que levam a este estado. Por exemplo, para a variavel verde (VD), sdo considerados os enlaces 1, 9 ¢ 10 que levam ao estado 1; os enlaces 2 € 5 que levam ao estado 3; ¢ os enlaces 6 ¢ II que levam a0 estado 5 A equagéo para a variével verde (VD), portanto, € obtida da seguinte forma; Esta varidvel deve estar ativa sempre que o circuito seqiiencial “for para” ou “permanecer” nos estados 1,3 ou S (Lembrar que sera feita a sintese do inverso do valor desejado na saida, ou seja VD). Considerando cada um deles separadamente, tem-se 0 seguinte Projet de Ces Dp - Pro: Frcsc das Lemos 2m Para o estado I, 0 circuite deve: A) Permanecer nele se la estiver e ocorrer o enlace I (a=b=0); B) Ir para ele se estiver no estado 4 € ocorrer 0 enlace 9, ou se &: no estado 5 ¢ ocorrer 0 enlace 10. A primeira parte da equagio sera ‘VDI: = /VD*/AL*VM*Q0#/a/b (item A) 4VD*/AL*/VM*Q0*/b (item B) +/VD* AL*VM*Q0* M Para 0 estado 3 0 circuito deve: A) Permanecer nele se 1a estiver e ocorrer 0 enlace 5(a=/b=0); B) Ir para ele se estiver no estado I e ocorrer o enlace 2 ‘A segunda parte da equacfo sera: /VD2 /ND*AL*VM*/Q0"/a* (item A) +/NDF/AL*VM*Q0*/a*b (item B) Para 0 estado 5 0 cirewito deve: A) Permanecer nele, se la estiver e ocorrer o enlace Il (M=0); B) Ir para ele se estiver no estado 3 € ocorrer o enlace 6. A terceira parte da equagio sera JND3: = (VD * AL * VM *Q0 * /M. +/VD * AL * VM */Q0* /a*/b A equagdo completa da variavel "verde” sera a unido das trés equagdes parciais obtidas, ou sej IND: =/VD1 + /VD2 + /VD3 Projo de Cision Digs - ot HranisoFagas Lames Aplicando 0 mesmo raciocinio para as dema variiveis pode-se obter a solugo para o problema da sintese do diagrama ASM, ou seja: el alarme (AL) ‘VD*/AL*VM*Q0*/a*/b Y + VD*/AL*/VM*QO*/> + /VD*AL*VM*Q0*M - + VD*/AL*/VM#/Q0*/b + /VD*/AL*VM*Q0° + VD*/AL*/VM*Q0* + VD*/AL*/VM*/Q0"b + IVD*AL*VM#/Q0%8 « Variivel vermetho (VM) - IM: = VD*/AL"/VM#/Q0*/b e +IVD*/AL*VM#Q0ta + VD*/AL*/VM*Q0*b + VD*/AL*/VM4/Q0% +IVD#ALTVM#/Q0%a - Varidvel Auxiliar (Q0) /Q0: = VD*/AL*/VM*/Q0*/b +IVDFTAL*VM*Q04a +IVD*AL*VM*/Q0*/a*b +IVD*/AL*VM#Q0*/a%b Projo de Custos Digits Pr Franco Eada Lemos as 20.2 Consideragées Sobre a Fase de Sintese Uma vez sintetizadas as equagdes, antes de prosseguir com a implementagdo propriamente dita, & necessério fazer algumas consideragdes sobre pontos importantes do proceso de projeto: 1.As equagdes obtidas ja se encontram numa forma candnica con- veniente para programar uma PAL, criando um arquivo que ir permitir sua posterior compilagao por um software do tipo PALASM? (veja a figura 20.9) ¢ este procedimento o leitor poder encontrar na referéncia [6] da bibliografia 2. Ao executar 0 procedimento de sintese das equagdes, 0 projetista deve ter mente uma limitago existente na maioria das familias de PAL's disponiveis, que ¢ a seguinte © niimero de somas (fungdo OU) permitidas no arranjo interno do dispositivo esta limi ida em sete para fungdes combinatérias e em oito para fungdes associadas a entrada do elemento biestavel (seqi ciais). As equagdes geradas, portanto, devem respeitar esta limitagdo, para serem passiveis de uma posterior implementagdo nestes dispositivos. No problema analisado, a variével alarme (AL), por exemplo, possui oito termos (produtos) que devem ser somados para compor sua implementagio e, portanto, ainda se encontra dentro do limite permitido para o PAL 16R4 escolhido. As demais varidveis possuem menos termos, € portanto também nao apresentam problemas, Quando 0 mimero de varidveis excede 0 némero maximo permitido, ica nfo € to raro como gostariamos que fosse, uma possivel Pro de Circuits Digi ro. Franson Loe 4 235 solugdo seria sintetizar o inverso da variével (se for uma variével de saida) que possuiré provavelmente um nimero de termos inferior, ¢ a seguir re-inverter externamente 4 PAL. Esta solugdo, embora no seja muito elegante, resolve a maioria dos problemas. Outra possivel solucao, mais trabalhosa, seria rever o diagrama ASM inicial (fig.20.5), ¢ a designagdo de estados adotada, de forma a tentar alterar a ocorréncia das variéveis que apresentam o problema, 0 que permite chamar a atengao para a importancia da escotha da designagio de estados adequada para uma posterior simplificagdo das equagdes sintetizadas. 1,3.Outro problema, inerente @ implementagao de circuitos sequenci-ai a necessidade de se prever formas para transferir o circuito para um estado inicial conhecido sim_que cle é energizado € vai iniciar o sei ciclo normal de operagdo; uma vez que a descrigao feita para o circuito sequencial somente serd respeitada se 0 estado inicial, suposto para 0 projeto, for assegurado durante o funcionamento do circuito Uma forma de resolver este problema, ¢ prover a PAL de uma entrada adicional de "RESET", cuja finalidade €, a0 ser acionada, carregar o estado inicial desejado. Esta variavel devera atuar diretamente sobre as equagdes sintetizadas. No problema do pedagio, por exemplo, 0 estado inicial definido foi o estado I, que corresponde a seguinte :VM=Q0-I (ver tabela 20.7). Portanto, 0 que deve ser feito € colocar a varidvel "RESET" combinagdo das varidveis internas de estado: VD=. nas equagdes obtidas, de forma a impor que, quando esta variavel for acionada, VD=AL=0 e VM 0 arquivo "PEDAGIOS PD: istado na fig.20,10 mostra como isto foi feito, permite generalizar a idéia para um problema qualquer. Phil de Cucitas Digs Pro Franca Eas Lemos

Você também pode gostar