You are on page 1of 11

Tecnologia dos Computadores Prof.

Anibal Alberto Vilcapoma Ignacio

MODULO -III. Lgica Seqncia, Lgica Combinatrica e elementos de Mmoria


Neste modulo sero apresentados os principios bsicos da logica combinatoria e a logica sequencial. Lgica Combinatria Existe um conjunto de circuitos lgicos bsicos muito usados no hardware de uma mquina que requerem mltiplas entradas e mltiplas sadas. Estes circuitos so denominados de circuitos combinatrios. As saidas na logica combinatoria depende exclusivamenta dos valores das entradas.

io i1 in Unidade logica combinatrica

f1 (io, i1,...,in) f2 (io, i1,...,in) fm (io, i1,...,in)

Figura 1. Viso externa de uma unidade lgica combinatrica. Como exemplo de logica combinatoria podemos citar os decodificadores, os multiplexadores e os comparadores. Decodificadores O decodificador um circuito que tem n bits de entrada e 2n bits de sada, sendo que somente um bit de sada poder estar ativo para cada uma das combinaes de entrada. O decodificador traduz a entrada de n bits em um sinal que corresponde ao nmero binrio representado pelos bits de entrada. Em geral, as sadas so numeradas de modo a expressar esta idia, como por exemplo Out0, Out1, ...,Out2n 1. Se o valor da entrada igual a i, ento somente a sada Outi estar ativa e as demais estaro desativadas. O circuito inverso de um decodificador um codificador. Ele recebe 2n entradas e produz uma sada de n bits. A Figura 2 ilustra o circuito de um decodificador.

S1S0 Out0 Out1 Out2 Out3

Figura 2. Exemplo de um circuito que implementa um decodificador. Multiplexadores Um multiplexador um circuito com 2n entradas de dados, uma sada de dados e n entradas de controle que selecionam uma das entradas de dados. O valor da entrada de dados selecionada apresentado na sada. O circuito inverso de um multiplexador um demultiplexador que liga seu nico sinal de entrada a uma dentre as 2 n sadas, dependendo dos valores das n linhas de controle. Se o valor binrio nas linhas de controle for igual a i, a sada i ser selecionada. A Figura 3 ilustra o circuito de um multiplexador. S1S0 I0 I1 I2 I3 Figura 3. Exemplo de um circuito que implementa um multiplexador. Lgica em Dois Nveis Qualquer funo lgica pode ser escrita na forma cannica, onde cada varivel a varivel original (A) ou o seu complemento (). Alm disso, a funo pode ser F

implementada com somente dois nveis de portas lgicas, um nvel com portas AND e um nvel com portas OR. Esta representao conhecida como lgica em dois nveis. Existem duas formas de representao de lgica de dois nveis: a soma de produtos e o produto de somas, como foi visto no modulo I. Estas formas tambm so conhecidas como soma de mintermos e produto de maxtermos, respectivamente. Como exemplo, suponha uma funo expressa na forma de soma de produtos igual: D = ( B C) + (A B C). Note que somente devem ser representados somente os termos correspondentes as combinaes da entrada cuja sada verdadeira. Como exemplo de produto de somas temos a funo D = ( + B + C) (A + B + C). PLA (Programmable Logic Array) Uma PLA um circuito genrico para implementar a soma de produtos. Uma PLA tem um conjunto de entradas e os complementos dessas entradas e dois estgios de lgica. O primeiro estgio uma matriz de portas AND que formam o conjunto de termos produto. Cada termo produto pode ser composto por qualquer dos complementos das entradas. O segundo estgio da lgica uma matriz de portas OR, cada uma das quais forma uma soma lgica de qualquer quantidade dos termos produto. Uma PLA tem duas caractersticas que ajudam na tarefa de implementar eficientemente um conjunto de funes lgicas. Primeiro, somente as entradas da tabela verdade que produzem um valor verdadeiro so consideradas e tm portas lgicas associadas a elas. Segundo, cada termo diferente de um produto ter somente uma nica entrada na PLA, mesmo que tal termo seja usado em vrias sadas. O formato bsico de uma PLA pode ser visto na Figura 4. Entradas Termos produto
Portas OR Portas AND

Sadas

Figura 4. Formato bsico de uma PLA. Dont Cares Na implementao de funes lgicas combinacionais existem situaes onde em que no nos interessa os valores de algumas de suas entradas ou sadas, seja porque outra sada j verdadeira ou algumas combinaes das entradas nunca ocorrem. Estas

situaes so conhecidas como dont care. Os dont cares so importantes, pois facilitam o processo de otimizao da implementao das funes lgicas. Relgios Os relgios (clocks) so usados na lgica seqencial para decidir quando se deve atualizar um elemento de estado. Um clock nada mais do que um sinal peridico, com tempo de ciclo fixo. A freqncia do clock o inverso do seu perodo. O perodo do clock dividido em duas partes, uma em que est no nvel alto e outra em que est no nvel baixo. Existem circuitos que so sensveis as transies do clocks. Isto , somente quando ele muda de nvel. A transio do nvel baixo para nvel alto dita transio positiva, e a transio do nvel alto para nvel baixo dita transio negativa. Os circuitos sensveis s transies s mudam de estado quando ocorrem as transies ativas do clock. A maior restrio de um sistema com clock, tambm conhecido como sistema sncrono, a necessidade dos sinais, que vo ser escritos nos elementos, estarem vlidos quando ocorre a transio do clock. Dizemos que um sinal valido se ele estiver estvel (no se alterar) at que o momento da transio termine. Logica Sequencial Uma unidade logica sequencial comumente chamada de mquina de estado finito (FSM) recebe uma entrada e um estado atual e gera uma saida e um novo estado. Um FSM distingue-se de uma logica combinatoria por que as historias das entradas FSM influenciam seu estados e suas sidas. Isto importante para se implementar circuitos de mmoria assim como as unidades de controle em um computador. O modelo clssico de uma mquina de estados finitos mostrado na figura 5.

io in Unidade logica combinatrica

f1 (io, i1,...,in) fm (io, i1,...,in)

Q0 D0 S0

Sinal de Sincronizao

Q0 D0 Sn

Figura 5. Modelo classico de mquina de estado finito. Existem dois tipos de maquinas de estado finito. A mquina de Mealy e mquina de Moore. As maquina de Mealy so circuitos cujas entradas so independentes do clock (baixo ou alto) dizer que as saidas no esto embutidas no sincronizmo do clock. As maquinas de Moore, as saidas so embutidas nos bits de estado dessa forma uma mudana ocorre no pulso de clock aps uma mudana nas entradas. Elementos de Memria Todos os elementos de memria armazenam estados: a sua sada depende tanto das entradas quanto do valor armazenado anteriormente nesse elemento. Portanto, todos os circuitos lgicos que contenham elementos de memria, contm estado e so seqenciais. Como exemplo podemos citar os latches, os flip-flops, os registradores e as prprias memrias. Os latches e flip-flops so os tipos de elementos de memria mais simples que se pode construir. Eles so sncronos. A diferena entre eles que o latch sensvel ao nvel enquanto o flip-flop sensvel a transio. Existem vrios tipos de flip-flops, como por exemplo tipo D, tipo JK ou tipo toggle. Porm, o do tipo D aquele que armazena em sua estrutura de memria interna o valor do sinal do dado presente na entrada. com um conjunto de flip-flops do tipo D que podemos construir, por exemplo, registradores para armazenar um dado com vrios bits. Flip-Flop S-R

O flip flop S-R uma combinao de portas logicas que mantem uma saida estavel mesmo a pos suas entradas terem sido desativadas. A saida depende da entrada corrente e a historias das entradas. O Flip-Flop pode ser usada para armazenar um nico bit de informao e serve para fabricar memorias. S

Q Q

R A tabela verdade Qt 0 0 0 0 1 1 1 1 St 0 0 1 1 0 0 1 1 Rt 0 1 0 1 0 1 0 1 Qt+1 0 0 1 No permitido 1 0 1 No permitido

Flip-Flop S-R-Temporizado Pode ocorrer que as entradas no flip-flop sejam originadas em outros circuitos, formando uma cadeia de circuitos logicos, porem podem ocorrer transies no desejadas.
C A B S

C pode alcanzar XOR antes de A e B propagarem atraves da porta AND, gerara momentaneamente uma saida 1 em S que revertera para 0 quando a saida AND se estabilizar. Para obter uma correcta sincronizao um sinal de clock usado.

CLK

O simbolo

Flip-Flop Tipo D Dado que os valores de S e R no podem ter o mesmo valor simultaneamente, as entradas S em R pode ser substituida por D.

CLK

O simbolo do flip-flop tipo de

D Q C Q

Flip-Flop Tipo D- Meste-Escravo. Consiste em dois Flip-Flop organizados em sequencia com o sinal do clock invertido para o segundo flip-flop. Este tipo de flip flop garante que mude de estado somente uma vez por pulso de clock.

D Q C Q

D Q C Q

CLK

Mtodos de Temporizao de Circuitos Os circuitos podem implementados com diferentes metodologias de temporizao: sensveis a transio do sinal de clock ou sensvel ao nvel. Em particular, se partirmos do pressuposto que todos os sinais de clock chegam ao mesmo tempo, podemos garantir que um sistema baseado na temporizao sensvel transio do clock com registradores situados entre circuitos lgicos combinacionais opera corretamente. Isto , sem a possibilidade de ocorrncia de condies de corrida. Uma condio de corrida ocorre quando o contedo de um elemento de estado depender da velocidade relativa de operao de diferentes elementos lgicos. Em um projeto cuja temporizao seja sensvel s transies, o ciclo de clock precisa ser grande o suficiente para os sinais que atravessam a lgica combinacional se tornem estveis.

Numa temporizao sensvel ao nvel, as mudanas de estados ocorrem quando o clock estiver no nvel ativo. Porm, as mudanas no ocorrem instantaneamente, como nas mudanas sensveis s transies. Este fato faz com que as condies de corrida possam acontecer mais freqentemente, se o clock no for suficientemente lento. Por isso, os projetistas usam uma temporizao com duas fases. Neste tipo de temporizao existem dois sinais de clock que no se sobrepem, e somente um deles pode estar no nvel alto num determinado tempo. Se os dois clocks no esto ativos ao mesmo tempo, no h possibilidade de correr a condio de corrida. A Figura 5.7 mostra um sistema com duas fases. Ao aumentarmos a quantidade de no sobreposio entre as fases, podemos reduzir a margem potencial de erro. Garantimos, ento, que um sistema opera corretamente se cada fase for suficientemente grande e se as fases no se sobrepuserem. Fase 1 Fase 2
Figura 6. Clock com duas fases.

Exemplo de projeto de mquina de estado finito. Considere um FSM que um contador sincrono mdulo 4, que conta de 00 a 11 e depois repete. A funo RESET funciona de forma sincrona com o clock. A s saidas aparecem como uma seqncia de valores nas linhas q0 e q1 em intervalos correspondentes ao clock. medida que as saidas so geradas, um novo estado s1 e s0 gerado para retroalimentar a entrada. Definir o diagrama de estados, a tabela de estados e o circutio logico. Para contruir o diagrama de estados devemos identificar os possiveis valores para s0 e s1 {00,01,10,11}e as transies entre eles considerando que um contador.

0/10 Saida 00 Saida 01

A
1/00 1/00

1/00 0/10 0/00 1/00

C
0/11 Saida 10

Saida 11

A tabela de estado para o contado seria. Entrada Estado Atual A:00 B:01 C:10 D:11 Reset 0 01/01 10/10 11/11 00/00 1 00/00 00/00 00/00 00/00

Prximo estado

Sada

Reset r(t) 0 0 0 0 1 1 1 1

s1(t) 0 0 1 1 0 0 1 1

s0(t) 0 1 0 1 0 1 0 1

s1 s0 (t+1) 01 10 11 00 00 00 00 00

q1 q0(t+1) 01 10 11 00 00 00 00 00

s0 ( t + 1 ) = r( t ).s1 ( t ).s0 ( t ) + r( t ).s1 ( t ).s0 ( t )

s1 ( t + 1 ) = r( t ).s1 ( t ).s0 ( t ) + r( t ).s1 ( t ).s0 ( t )


q0 ( t + 1 ) = r( t ).s1 ( t ).s0 ( t ) + r( t ).s1 ( t ).s0 ( t )

q1 ( t + 1 ) = r( t ).s1 ( t ).s0 ( t ) + r( t ).s1 ( t ).s0 ( t )

O circuito digital :
Reset

s1

s1=q1

CLK
s0=q0 s0

You might also like