You are on page 1of 18

6. Circuitos Lgicos Sequenciais .................................................................................................................................... 6-2 6.1 6.2 6.3 6.3.1 6.3.2 6.3.3 6.4 6.5 6.

6 Modelo Geral de um Circuito Sequencial................................................................................................ 6-2 Comportamento temporal dos circuitos sequenciais........................................................................ 6-3 Dispositivos de memria............................................................................................................................... 6-3 Flip-flop S-R .................................................................................................................................................... 6-4 Flip-flop Latch................................................................................................................................................ 6-5 Flip-flop edge-triggered ............................................................................................................................. 6-5 Registo .................................................................................................................................................................. 6-7 Sntese de circuitos sequenciais ................................................................................................................. 6-8 ASM (Algorithm Stat Machine) .......................................................................................................... 6-8 Flip-flop JK................................................................................................................................................6-13 Temporizao.........................................................................................................................................6-15 Exemplos de aplicao .................................................................................................................................6-10

6.5.1 6.6.1 6.6.2 6.7 6.8

Sada funo de estado e entrada ............................................................................................................6-15 Bounce .................................................................................................................................................................6-17

6. CIRCUITOS LGICOS SEQUENCIAIS


Os circuitos at aqui estudados e denominados por circuitos combinatrios caracterizam-se por o valor lgico presente na sada ser unicamente determinado pelos valores lgicos presentes nas entradas em cada momento. Iniciaremos agora o estudo de circuitos denominados circuitos sequenciais, que como o nome indica, so circuitos que funo da sequncia de valores que as variveis de entrada foram tomando ao longo do tempo adquirem diferentes comportamentos (diferentes valores nas sadas) para uma mesma combinao das variveis de entrada, ou seja, o circuito reage s entradas funo de acontecimentos passados. Tal comportamento implica a existncia de memria pois o sistema guarda informao de acontecimentos passados.

6.1 Modelo Geral de um Circuito Sequencial


Os circuitos sequenciais so constitudos por circuitos combinatrios e elementos de memria, cujo modelo geral apresentado na Figura 6-1.
Circuito Sequencial
Entradas Circuito Combinatrio Estado Seguinte Estado Presente Sadas

Memria

Figura 6-1 A informao binria guardada no elemento de memria num determinado instante define o estado do sistema sequencial. O circuito de comportamento combinatrio na Figura 6-1 desempenha duas funes: gera as sadas do sistema e gera o estado seguinte. Na Figura 6-2 apresentado o diagrama de blocos do modelo geral que toma em conta esta diviso entre funo geradora de estado seguinte e funo geradora de sadas.
Circuito Sequencial
Circuito Combinatrio Entradas Circuito Combinatrio Estado Seguinte Memria Estado Presente Sadas

Figura 6-2

Arquitectura de Computadores
Jos Paraiso (Ver 1.2)

Pgina 6-2

Como se pode observar na Figura 6-2, as sadas do sistema e o estado seguinte, dependem do estado presente e do valor lgico das entradas. Os circuitos sequenciais so classificados em dois tipos: os circuitos sequenciais assncronos e os sequenciais sncronos. Esta classificao atribuda, funo do instante temporal em que as entradas so observadas e o momento em que o estado do circuito se altera. Nos circuitos sequenciais assncronos, o estado muda no momento em que as entradas mudam, nos circuitos sequenciais sncronos a observao das entradas e subsequente evoluo de estado, realiza-se em sincronismo com a transio de um sinal de entrada especfico denominado por clock (relgio). A designao de clock advm do facto deste sinal ser normalmente peridico. Como podemos concluir existe um novo factor que o tempo, e que importa por isso analisar o comportamento dos componentes que constituem os sistemas digitais no domnio do tempo.

6.2 Comportamento temporal dos circuitos sequenciais


A comutao electrnica implica o movimento de cargas e como em qualquer outro fenmeno fsico tem implcita a inrcia do repouso e do movimento das cargas. Por esta razo o instante de tempo em que o valor lgico entrada de uma porta lgica se modifica, no o mesmo em que a sada dessa mesma porta se modifica, diz-se que existe um tempo de propagao da entrada para a sada. Por outro lado, se uma entrada fica activa durante um tempo muito pequeno, a energia transmitida porta por este sinal pode no ser suficiente para que o acontecimento se reflicta na sada. Por esta razo, no projecto de circuitos sequenciais os tempos de propagao tm que ser levados em linha de conta pelo projectista do sistema, uma vez que a gerao de estado seguinte feita com base no estado presente. Se admitirmos por exemplo que o circuito combinatrio que gera cada um dos bits do vector de estado seguinte, no simtrico relativamente ao nmero de portas que o constitui, natural que os vrios bits do vector estado seguinte, tenham tempos de propagao diferentes, o que vai implicar que o vector de estado seguinte possa percorrer vrias combinaes antes de atingir a combinao estabelecida pelo projectista. Se o elemento de memria assncrono este comportamento desastroso levando a que a sequncia estabelecida pelo projectista no seja cumprida. Se o elemento de memria sncrono, este problema no relevante, sendo necessrio apenas garantir que o perodo do sinal de clock do elemento de memria, maior que o tempo de propagao do circuito combinatrio gerador do estado seguinte.

6.3 Dispositivos de memria


Nos sistemas electrnicos, tal como noutro tipo de sistemas, podem constituir elementos de memria, os elementos capazes de conservar energia de forma intrnseca ou atravs de realimentao positiva. Diz-se que existe realimentao positiva ou retro-alimentao positiva num circuito electrnico quando ao apresentarmos a informao da sada na entrada do sistema este mantm a tendncia de subida ou de descida que a tenso na sada apresenta. O elemento de memria que constitui a memria DRAM (Dynamic Random Accesses Memory) dos nossos computadores pessoais, o condensador. No entanto estes elementos no tm uma utilizao genrica, por manterem a energia armazenada durante um reduzido intervalo de tempo exigindo circuitos complexos que realizem o refrescamento (adio de energia). Os circuitos sequenciais que

Arquitectura de Computadores
Jos Paraiso (Ver 1.2)

Pgina 6-3

vamos estudar, so sintetizados a partir de clulas unitrias de memria, referidos como circuitos biestveis ou mais comummente por flip-flop. Um flip-flop permite memorizar um bit de informao, dado que pode tomar de forma permanente um de dois estados possveis, entendendo-se como estado o valor lgico presente na sua sada. Um flip-flop pode ser sintetizado como mostra a Figura 6-3.

Q Q

Figura 6-3 Como se pode observar na Figura 6-3, a implementao de memria conseguida pela realimentao positiva do valor lgico da sada Q na entrada x. Enquanto a entrada E (Enable) estiver com o valor lgico 1, o circuito transparente de D para Q, ou seja, a sada Q toma o valor lgico que a entrada D (Data) tomar. Logo que E muda de 1 para 0, devido realimentao, o valor lgico presente na entrada D latched (trincado) na sada Q e assim permanece enquanto a entrada E se mantiver a 0. Isto , Q mantm de memria o valor que estava presente em D no momento em que a entrada E tomou o valor zero, ficando o flip-flop insensvel a entrada D enquanto E se mantiver a zero. Este flip-flop tem um comportamento assncrono e denomina-se por flip-flop tipo D-latch ou Transparent latch. Embora esta implementao seja a mais comum na produo de memrias SRAM utilizadas nos sistemas baseados em microprocessadores, ela tem como inconveniente o aumento de carga momentneo, quando se modifica o valor lgico da entrada D enquanto E se encontra a 1, pois para alterar o valor de x necessita forar o valor existente na sada Q. 6.3.1 Flip-flop S-R Uma vez que o problema do circuito anterior a insero de um novo valor lgico no loop Q x, podemos ter como soluo, substituir as portas NOT, por portas lgicas com duas entradas que permitam atravs de uma das entradas forar um valor lgico na sada ou conferir-lhe o comportamento de um NOT. O circuito da Figura 6-4 apresenta duas solues possveis utilizando portas NAND ou NOR. Este flip-flop denominado de S-R latch o qual apresenta o seguinte comportamento: sensvel a duas entradas: S (set) para impor o estado 1, R (reset) para impor o estado 0; Mantm o estado (memoriza) enquanto as entradas S e R se mantm desactivas; A sada Q toma o valor lgico 1 quando activamos S e no activamos R;

Arquitectura de Computadores
Jos Paraiso (Ver 1.2)

Pgina 6-4

A sada Q toma o valor lgico 0 quando activamos R e no activamos S; O comportamento do flip-flop, quando se activa S e R em simultneo, no est definido por ser ambguo.
S Q S R Q Q

R S

Q Q

S R

Q Q

Figura 6-4 6.3.2 Flip-flop Latch Baseado no flip-flop SR podemos sintetizar um flip-flop tipo D-latch como mostra a Figura 6-5. O descodificador, assegura por um lado, que no activado S e R em simultneo e quando inibido pela entrada E desactiva simultaneamente S e R, trincando (latch) o valor lgico que se encontrava na sada nesse momento. Enquanto a entrada E se mantiver desactiva, o flip-flop, fica insensvel ao valor lgico presente na entrada D e mantm na sada o valor memorizado.
Dec S0 1 E 0

D E

S R

Q Q

Figura 6-5 6.3.3 Flip-flop edge-triggered O projecto de sistemas sequncias complexos baseado em elementos de memria assncronos, torna-se complexo, pois o seu comportamento fica dependente do tempo de propagao das portas lgicas produzindo efeitos difceis de controlar ao nvel da realimentao do estado como j anteriormente foi referido. Por esta razo o projecto de sistemas sequenciais normalmente implementado recorrendo a elementos de memria sncronos. No obstando o facto, de ser mais difcil a utilizao de circuitos assncronos, estes tornam-se por vezes indispensveis na construo de sistemas sequenciais. Nos circuitos sequenciais ditos sncronos, necessrio que os flip-flop que o constituem reajam s entradas somente quando a entrada de controlo de sincronismo (clock) transita de 0 para 1 (transio ascendente) e no durante todo o tempo que este permanece a 1 (reaco a nvel). Este comportamento denominado por edge-triggered (borda de disparo) e caracteriza-se pelo seguinte: a observao das entradas e implicitamente a mudana de estado, efectuam-se num instante discreto de tempo em sincronismo com o momento da transio ascendente do sinal de clock.
Arquitectura de Computadores
Jos Paraiso (Ver 1.2)

Pgina 6-5

A Figura 6-6 mostra uma implementao do flip-flop D (Delay)- edge-triggered e o diagrama temporal correspondente ao seu comportamento. O smbolo triangular identifica a entrada de sincronismo e por esta razo no identificada por uma letra. O circuito tem o seguinte comportamento: Enquanto CLK se matem a zero, a entrada D transparece para x, a sada Q permanece no estado anterior, e que no incio indeterminado; No instante em que CLK transita de zero para um, Q toma o valor de x (valor de D no instante imediatamente anterior transio) e o primeiro flip-flop fica insensvel a D memorizando o valor que D tinha nesse instante; Quando CLK transita de novo para zero, o segundo flip-flop deixa de ser sensvel a x, memorizando o valor que este tinha e o primeiro flip-flop volta a deixar transparecer D para x. Desta forma Q continua a apresentar o valor que D tinha no momento da transio de um para zero do sinal CLK e assim se manter at que ocorra nova transio ascendente no sinal CLK.
x

D E

D E

Q Q

Q Q

Q Q

CLK CLK D

x
T M T M T M T

T - Transparncia M - Memorizao I - Indeterminado

Figura 6-6 Estes dois tipos de flip-flops (D latch e D edge-triggered) constituem o elemento base de estruturas de grande importncia no projecto de sistemas digitais. Entre estas estruturas destaca-se o registo e a memria SRAM.

Arquitectura de Computadores
Jos Paraiso (Ver 1.2)

Pgina 6-6

6.4

Registo

O registo um elemento no qual se pode armazenar (registar) uma palavra constituda por n bits. O registo caracterizado por ter uma entrada de dados de n bits, uma sada de dados de n bits, e uma entrada de controlo que quando activada regista os n bits presentes na entrada de dados e exibe-os na sada, s voltando a alterar o valor registado quando se activar novamente a entrada de controlo. Na Figura 6-7 esto representados dois registos de 4 bits, um com natureza latch e outro edgetriggered, e os respectivos diagramas temporais, evidenciando as siglas que normalmente esto disponveis na especificao funcional (data sheet) deste tipo de componentes.
n E Registo n n Registo n

D3 DQ E E

D2 DQ E Q3

D1

Q0-3
DQ E

D0 DQ E CLK Q1 Q0

D3 DQ

D2 DQ

D1 DQ

D0 DQ

Q2

Q3

Q2

Q1

Q0

Figura 6-7
tPW E D0-3 Data Estvel tDS Q0-3 tPD tDH Q0-3 tPD CLK D0-3 Data Estvel tDS tDH tPW

Figura 6-8 tPW (Pulse Width time) durao mnima do sinal nesse patamar. tDS (Data Set-up time) intervalo de tempo mnimo a respeitar entre o estabelecimento

de informao estvel na entrada de dados e o momento da memorizao. tDH (Data Hold time) intervalo mnimo de tempo durante o qual ainda se torna necessrio manter a informao estvel na entrada de dados aps ter terminado o sinal de memorizao. tPD (Propagation Delay time) tempo mximo de propagao entre um acontecimento na entrada de dados e o seu reflexo na sada do circuito.
Arquitectura de Computadores
Jos Paraiso (Ver 1.2)

Pgina 6-7

6.5 Sntese de circuitos sequenciais


Dado o modelo geral do circuito sequencial anteriormente descrito, a sntese deste tipo de circuito, consiste em determinar as expresses booleanas do circuito combinatrio que gera o estado seguinte e os valores lgicos de sada, funo do estado presente e do valor lgico presente nas entradas, conferindo ao sistema o comportamento que foi determinado pelo projectista. O primeiro desafio que se nos coloca descrever o comportamento do sistema sequencial, que por ser dinmico, no passvel de uma descrio facilmente assimilvel se for feita atravs de uma tabela de verdade. O mtodo que iremos utilizar, foi sugerido por C. R. Clare, e consiste em descrever o comportamento atravs de um fluxograma a que denominou ASM (Algorithm State Machine). Neste diagrama pode-se observar de uma forma simples qual o comportamento do sistema funo do estado presente e do valor das entradas. Outra vantagem que o mtodo apresenta e que parte de uma premissa realista, que em cada estado no so tomadas em considerao todas as variveis de entradas do circuito para decidir qual o prximo estado, tornando mais simples a determinao da funo geradora de estado seguinte. Quanto s variveis de sada s so evocadas aquelas que nesse estado ficam activas. 6.5.1 ASM (Algorithm Stat Machine) O ASM consiste em trs smbolos como mostra a Figura 6-9.
Estado Codificao de estado Sada funo de estado e entrada

Legenda Nomeao do estado

ck..c0 A;B;..;C
Sadas que ficam activas neste estado

A;B;..;C
Variveis de sada que ficam activas

exp

Figura 6-9 O rectngulo representa o estado corrente do circuito sequencial, a oval representa a activao de sadas funo do estado presente e de variveis de entrada, o losango representa a deciso binria em que uma varivel ou uma expresso booleana avaliada, sendo assim determinados dois fluxos funo do resultado da expresso. No smbolo de deciso, conveniente que se utilize a letra F (False) e T (True), em vez do dgito 0 e 1, pois esta ultima forma promove confuso entre o valor lgico da varivel, que pode ser activa em zero, e a aco desempenhada pela varivel. Dai que tambm a escolha do nome a atribuir varivel deva ser bastante criteriosa para permitir uma melhor leitura do ASM. Caso o ASM represente o comportamento de um circuito sequencial sncrono, ou seja, utilizando flip-flops edge-triggered, a interpretao do ASM, necessita das seguintes consideraes: A entrada clock, por ser um sinal peridico, omissa na representao; A avaliao da varivel ou da expresso de controlo de fluxo efectuada na transio ascendente de clock. Este facto implica, que o circuito s pode controlar acontecimentos com durao superior a um perodo do clock; O tempo mnimo que a mquina permanece num estado um perodo de clock, pelo que uma varivel de sada funo de estado tem a durao mnima de um perodo de clock.
Arquitectura de Computadores
Jos Paraiso (Ver 1.2)

Pgina 6-8

Como j anteriormente foi referido, recorreremos preferencialmente a implementaes sncronas, por apresentarem um comportamento mais estvel. No entanto sempre que a situao o justifique poderemos recorrer a implementaes assncronas.

Arquitectura de Computadores
Jos Paraiso (Ver 1.2)

Pgina 6-9

6.6 Exemplos de aplicao


Exemplo 1: Tomemos como exemplo a sntese de um flip-flop com o comportamento do flip-flop D edgetriggered ao qual adicionamos uma varivel E (Enable). O novo flip-flop tem o comportamento do flip-flop D edge-triggered enquanto a entrada E estiver activa. Quando a entrada E est desactiva o flip-flop mantm o estado. Uma soluo bvia seria a intercepo do sinal de clock pelo sinal E. Esta soluo tem dois defeitos: primeiro no confere o comportamento pretendido, uma vez que a activao de E se o sinal de clock se encontrar a 1, levava a que o flip-flop mudasse de estado, segundo, solues que envolvam intercepo da entrada clock, so desaconselhadas por poderem produzir transies indesejveis e meta-estados, ou seja, instabilidade durante a transio de estado por o impulso de clock pode ser inferiores a tPW. Na Figura 6-10 est representado o diagrama blocos de uma soluo envolvendo o controlo da entrada D, podendo-se nele identificar as entradas dos circuitos combinatrios geradores de estado seguinte e de sada.
D E CLK ES Estado Seguinte EP Estado Presente CLK clock F1 Circuito gerador de estado seguinte F2 Circuito gerador de sada ES
F1

D Q

EP

F2

Figura 6-10 Na Figura 6-11 est representado o ASM que descreve o comportamento do circuito sequencial e a sua implementao utilizando um flip-flop do tipo D edge-triggered. Como se pode observar, a mquina permanece no estado 0 ou 1 se a entrada E tiver valor lgico 0. Quanto implementao, como a clula de memria que utilizamos o flip-flop D edge-triggered cujo comportamento anteriormente descrito determina que o valor da sada igual ao da entrada, ento podemos ler no ASM que o estado seguinte ES igual a um, se a mquina estiver no estado presente 0 e E e D forem 1, ou estando no estado presente 1 se E for 0 ou D for 1. Podemos ento escrever a seguinte expresso . Quanto sada Q, dada a codificao de estados do ASM, o seu valor igual ao do estado presente EP. Dadas as expresses obtidas, podemos observar na Figura 6-11 uma possvel implementao.
0 0

E T D T

F D E CLK

D Q
1

F
1

Q E T F D T F

D Q E

Figura 6-11
Arquitectura de Computadores
Jos Paraiso (Ver 1.2)

Pgina 6-10

Exemplo 2: Pretende-se controlar o enchimento de um reservatrio de gua. O reservatrio constitudo pelos seguintes elementos: Bomba de gua B, para enchimento; Sensor de reservatrio cheio C; Sensor de reservatrio vazio V; Considerando o facto de que a gua condutora de corrente elctrica os sensores C e V so constitudos por dois elctrodos que conduzem corrente elctrica quando mergulhados na gua. Para que a bomba B no esteja intermitentemente a arrancar e a parar, pretende-se o seguinte comportamento: A bomba B s entra em funcionamento quando o reservatrio est completamente vazio (V=+5v). A bomba, aps entrada em funcionamento, s pra quando o reservatrio fica completamente cheio (C=0V). Na Figura 6-12 est representado o diagrama de blocos do sistema de controlo de enchimento do reservatrio, bem como o ASM que descreve o seu comportamento segundo o critrio estabelecido.

B
+5v C

V T

Controlo
+5v V

1 B T C F

Figura 6-12 Quanto implementao, uma vez que temos apenas dois estados, ser necessrio apenas um flipflop. Quanto ao tipo de implementao, poderemos optar por uma implementao sncrona ou assncrona. Na Figura 6-13 podemos observar as duas implementaes, uma assncrona recorrendo a um flip-flop SR e outra sncrona recorrendo a flip-flop D edge-trigger. A negao da varivel C na entrada R deve-se ao comportamento do sensor C que fica a 0v quando mergulhado na gua indicando nesta situao que o reservatrio est cheio.
V C S Q R S=V R=C B V C CLK D=V.Q+C.Q D Q B

Figura 6-13

Arquitectura de Computadores
Jos Paraiso (Ver 1.2)

Pgina 6-11

Exemplo 3: Tomemos como exemplo a sntese de um circuito para controlo da abertura e fecho de uma porta atravs de um sensor de presena P como mostra a Figura 6-14. O movimento da porta realizado por um motor cujo movimento controlado por dois sinais: ON para ligar o motor, e SF que determina o sentido de rotao do motor, e que quando activo estabelece o sentido de fecho. Para determinar se a porta se encontra aberta ou fechada existem dois sensores A e F que ficam activos quando a porta se encontra completamente aberta ou completamente fechada. A abertura e fecho da porta devem obedecer ao seguinte critrio: Quando a porta se encontra fechada, inicia a abertura se o sensor P ficar activo; Iniciada a abertura, esta s termina quando a porta se encontrar totalmente aberta; A porta depois de totalmente aberta inicia de imediato o fecho caso o sensor P esteja desactivo, caso contrrio permanece aberta enquanto o sensor P se mantiver activo. Iniciado o fecho, este s termina quando a porta se encontrar totalmente fechada. Durante o fecho, se o sensor P ficar activo, ento o sistema reinicia a abertura de imediato. Na Figura 6-14 est representado o diagrama de blocos do sistema de controlo da porta, bem como o ASM que descreve o seu comportamento segundo o critrio estabelecido.
00 Parado Fechado F P T 01 ON F A T 10 Parado Aberto T P F 11 F T P F ON;SF F T Fechar Controlo ON SF F P A Abrir Motor

Porta

Figura 6-14 Quanto implementao, como j foi referido anteriormente, existem diferentes mtodos dependendo da tecnologia que estejamos a utilizar. Comecemos pelo nmero de flip-flops necessrios implementao da mquina de estados. Uma vez que a mquina tem quatro estados poderamos utilizar quatro flip-flop atribuindo a cada estado um flip-flop. Este mtodo que denominado por one hot, embora utilize um nmero elevado de flip-flops tem como vantagem a utilizao de menos lgica na entrada de cada flip-flop, diminuindo desta forma a lgica da funo gerador de estado seguinte e as sadas que ficam activas num determinado estado dependem apenas da sada de um nico flip-flop diminuindo a lgica e como consequncia torna a mquina mais rpida. Outro mtodo, e que iremos utilizar ao longo dos vrios exerccios, consiste em codificar cada estado em binrio, diminuindo desta forma o nmero de flip-flops a utilizar. Quanto a uma implementao assncrona desta mquina utilizando apenas dois flip-flops corre o risco de no funcionar como j anteriormente foi referido, pois no possvel estabelecer uma codificao de
Arquitectura de Computadores
Jos Paraiso (Ver 1.2)

Pgina 6-12

estados que no implique a transio simultnea de dois flip-flops, ou seja, a passagem do estado 01 para o estado 10 podia levar a mquina para o estado 00 ou para o estado 11. Por esta razo optaremos por uma implementao sncrona que utiliza dois flip-flops tipo D edge-triggered como mostra a Figura 6-15
Controlo

A P F

log

D0

X0 log ON SF X0-1 Estado Presente D0-1 Estado Seguinte X0 0 X1 1 A F.P ON=X0 SF=X1X0

log MCLK X0 P X1 P A F

D1

X1

D0=X0X1P+X0X1A+X0X1P+X0X1F

D1=X0X1A+X0X1+X1P F

Figura 6-15 Como se pode observar na Figura 6-15, se a implementao se fizer utilizando portas lgicas de duas entradas, seriam necessrias 13 ANDs, 5 ORs e 3 NOTs, o que na famlia 7400 corresponderia a utilizar 6 circuitos integrados. No sentido de diminuir a lgica das funes geradoras de estado seguinte, iremos introduzir um novo tipo de flip-flop, cujo comportamento iremos estudar e sintetizar a partir do flip-flop tipo D e que disponibilizado pelos fabricantes de componentes lgicos. 6.6.1 Flip-flop JK O flip-flop JK deve o seu nome a Jack Kilby. O flip-flop JK, para alm do sinal de clock, apresenta mais duas entradas, o J e o K e que lhe conferem o comportamento descrito no ASM da Figura 6-16. Como se pode observar tambm na Figura 6-16, o flip-flop JK quando est no estado 0, s est sensvel entrada J e caso esta esteja activa no momento da transio de clock, faz set ao flip-flop. Quando est no estado 1, s est sensvel entrada K e caso esta esteja activa no momento de clock, faz reset ao flip-flop. Tambm na Figura 6-16 podemos observar como este flip-flop sintetizado a partir de um flip-flop D por comparao entre o ASM do D e do JK, podemos determinar a seguinte expresso .
0 F J T 1 Q F K T T Q D F F D T 1 0

J K

D Q Q

J Q K

CLK

Figura 6-16 A utilizao do flip-flop JK na implementao deste exerccio produziria a soluo apresentada na Figura 6-17, que como se pode observar s utiliza 6 ANDs, 3 ORs e um NOT. No entanto, as

Arquitectura de Computadores
Jos Paraiso (Ver 1.2)

Pgina 6-13

vantagens que se obtm com utilizao do flip-flop JK, est dependente da tecnologia que estivermos a utilizar para a implementao da funo geradora de estado seguinte.
Controlo

P A F

log log log log MCLK

J0 K0 J1 K1

J K J K

X0 log ON SF X0-1 Estado Presente JK0-1 Estado Seguinte

X1

X0 P X1 P J0=PX1+PX1 X1

X0 A F K0=AX1+FX1 X1 0

X0 A X1 J1=AX0 0

X0 ON=X0 P+F SF=X1X0

K1=(P+F)X0

Figura 6-17 Admitamos que se pretende alterar o comportamento do sistema de controlo da porta introduzindo uma temporizao de 5 segundos antes de iniciar o movimento de fecho, aps a porta estar completamente aberta ou ter sido desimpedida. Para implementar esta funcionalidade pem-se duas solues, ou introduzimos estados at perfazer 5 segundos, sabendo que cada estado consome um perodo de clock, ou utilizamos um elemento temporizador externo ao controlo. Como j foi referido anteriormente o tempo de reaco das mquinas de estados sncronas s entradas, depende da frequncia do clock, pelo que natural que este tenha uma frequncia elevada. Assim sendo, a primeira soluo implicaria um grande nmero de estados. Por esta razo iremos utilizar a segunda soluo. Admita que o elemento temporizador tem uma entrada S (Start) que enquanto activa, mantm o temporizador num estado inicial, e quando posta a zero inicia a contagem de tempo. O temporizador pe disponvel uma sada T, que quando activa, indica que o tempo j decorreu. A Figura 6-18 apresenta o ASM da soluo preconizada, com utilizao de sadas funo de estado e entrada, diminuindo desta forma o nmero de estados. Dado o ASM obtido, o flip-flop mais adequado o JK, pois P faz set e A reset.
Controlo A 0 T F T P T 1 S T A F ON MCLK S Temporizador T F T F ON;SF F SF F P ON

J Q K Q

Figura 6-18
Arquitectura de Computadores
Jos Paraiso (Ver 1.2)

Pgina 6-14

6.6.2 Temporizao Para sntese do elemento temporizador, podemos recorrer a uma de duas solues, ou utilizamos o tempo de carga e descarga de um condensador numa malha RC, ou utilizamos um sinal peridico C com perodo inferior a 5 segundos, e contamos perodos desse sinal at perfazer os 5 segundos. Para a contagem dos perodos de C, podemos utilizar uma de duas solues: ou sintetizamos um contador que realize a contagem binria do nmero de transies ascendentes de C, ou sintetizamos um registo de deslocamento (Shift Register) constitudo por uma cadeia de n flip-flops que, a cada transio ascendente do sinal C desloca de um bit o valor nele registado, injectando no flip-flop inicial da cadeia o valor lgico 1. A chegada do valor lgico 1 ao ltimo flip-flop da cadeia indica que j decorreram os n perodos do sinal C. Os contadores binrios e os shift register, como veremos adiante no captulo 7, constituem elementos fundamentais para a sntese de sistemas lgicos digitais.

6.7 Sada funo de estado e entrada


O recurso a sadas funo de estado e entrada para diminuir o nmero de estados, como se utilizou no exemplo 3, nem sempre possvel, pois depende do comportamento pretendido e da relao com as variveis de entrada. Por outro lado, deve-se evitar activao de uma varivel de sada funo de estado entrada na transio de estado. Em seguida apresentado um exemplo que torna este facto relevante. Imaginemos que se pretende controlar a abertura e fecho desta mesma porta no com um sensor de presena mas sim com um nico boto. Sempre que se prime o boto alteramos o estado de movimento da porta, ou seja, se est em andamento pra, se est parado inicia o movimento em sentido contrrio quele em que se encontrava quando parou. O movimento da porta mantm o critrio anterior, ou seja, tambm cessa por deteco dos sensores de aberto e fechado e inicia fecho por finalizao de tempo de aberto. Ora o teste continuado do boto por parte do controlo, levaria a que o movimento da porta fica-se a transitar entre parar e inverso de marcha enquanto o boto permanecesse premido como se pode ver na Figura 6-19.
(Parado/Fechado) F B T F A T ON F B T F T T (Fechar) T (Parado/Aberto) (Abrir)

B T F F ON;SF F B

Figura 6-19 Para tal necessrio detectar as actuaes do boto, ou seja, produzir uma nica aco por cada vez que se pressiona o boto. Como se pode observar na Figura 6-19 o boto testado em todos os estados o que equivalia a duplicar o nmero de estados, para a deteco edge trigger do boto. De forma a simplificar a implementao do controlo poderemos pensar na implementao recorrendo
Arquitectura de Computadores
Jos Paraiso (Ver 1.2)

Pgina 6-15

a duas mquinas de estado como mostra a Figura 6-20, uma que realiza a deteco edge trigger da actuao do boto e outra que realiza o controlo do movimento da porta propriamente dita.
B
Detector de Transio TB ON

T F A

Controlo

SF

Figura 6-20 Vejamos ento a implementao do detector das actuaes do boto. Na Figura 6-21 est representado um ASM com trs estados utilizando sada funo de estado e que mantm activa a sada TB de informao de actuao do boto, durante um estado (estado 01). Esta mquina dever ter um mesmo sinal de clock que o controlo, desfasado de 180o de forma a garantir que o sinal TB est estvel no momento em que testado pelo mdulo de controlo.
00 F B T TB 10 T B F 01

Figura 6-21 Poderemos simplificar esta mquina fazendo com que a sada TB, seja uma sada funo de estado e entrada como mostra a Figura 6-22, passando a mquina a ter apenas dois estados, ou seja, utilizando um nico flip-flop.
0 F B T TB 1 T B F

Figura 6-22 Esta implementao apresenta o seguinte problema: se o momento em que se actua o boto, for uma pequena fraco de tempo anterior ao momento da transio ascendente de MCLK como se mostra no diagrama temporal da Figura 6-23, o tempo de activao da sada TB pode ser to pequeno que corre o risco de no ser observada pela mquina de controlo. Por esta razo, a utilizao de variveis de sada funo de estado e entrada, tem que ser muito criteriosa.
MCLK

TB

Figura 6-23
Arquitectura de Computadores
Jos Paraiso (Ver 1.2)

Pgina 6-16

Outra possvel soluo passa pela mquina que controla o movimento do porto informar a mquina de deteco de transio que j consumiu aquele acontecimento, obtendo-se o diagrama de blocos da figura.

Detector de Transio

TB

ACK ON

T F A

Controlo

SF

Esta soluo implica intercalar entre cada um dos estados do ASM da mquina de controlo um estado de activao do sinal ACK, que poder ser interligado ou no como mostra a figura. A soluo interligada tem como vantagem no depender da relao de velocidade das duas mquinas.
ACK T B F interligado no interligado

ACK

de notar que a varivel B que fica activa quando se prime o boto B tem que ser obtida atravs de um circuito de debounce do comutador/interruptor que lhe est associado.

6.8 Bounce
Quando se gera um sinal digital, por actuao de um interruptor ou comutador mecnico, surge um fenmeno fsico denominado bounce. Este fenmeno que produzido no instante da abertura ou do fecho dos contactos, devido disrupo do ar quando os contactos esto muito prximos, leva a que corrente elctrico se estabelea e se quebre vrias vezes durante uma fraco de tempo muito pequena. Esta variao que pode durara alguns milissegundos, problemtica se o objectivo for excitar entradas com tempos de reaco muito pequenos, por exemplo o sinal de clock de um elemento edge-triggered, pois os tempos de reaco edge-triggered (tPW Pulse Width time) so na ordem dos nano segundos para a tecnologia HCT. Este fenmeno, levaria a que produzssemos no uma, mas vrias transies por cada actuao do interruptor ou comutador. O circuito para eliminar este fenmeno, denominado por circuito de debounce. Este circuito apresenta diferentes arquitecturas dependendo do elemento que o produziu. Na Figura 6-24 esto representados os esquemas para cada uma das trs situaes.

Arquitectura de Computadores
Jos Paraiso (Ver 1.2)

Pgina 6-17

+5V +5V
R1 R2

S B S Circuito Digital
R2

B
0,8v

1,6v

Figura 6-24 Quando se trata do bounce aos terminais de um interruptor SPSD (Single Pole Single Throw), ou sada de um circuito digital, necessrio utilizar um filtro passa baixo. Como mostrado no grfico temporal B da Figura 6-24, a sada deste filtro, produz um sinal, que apresenta um ripple residual e um tempo de subida e descida incompatvel com os tempos de transio especificados para os circuitos digitais comuns. Por esta razo necessrio utilizar portas lgicas com caracterstica de entrada Schmitt-trigger. Estas portas que apresentam entrada histereses, eliminam este efeito, porque o limiar de tenso na entrada a que se d a comutao da sada, desloca-se imediatamente aps a comutao da sada, filtrando assim pequenas variaes do sinal em torno de um ponto. Quanto ao tempo de subida e descida serem diferentes, deve-se ao facto de a carga ser realizada por R1+R2 e a descarga ser realizada atravs de R2. Quando se trata de um comutador SPDT (Single Pole Double Throw) no necessrio o filtro passa baixo, sendo o bounce retirado com utilizao de um flip-flop SR como mostra a Figura 6-24.

Arquitectura de Computadores
Jos Paraiso (Ver 1.2)

Pgina 6-18

You might also like