projeto ciruito sequenial.pdf

10
I. Introdução O objectivo do trabalho em causa é projectar um sistema composto por um circuito sequencial e um contador binário com os conhecimentos adquiridos nas aulas desta UC, procedendo assim, a sua simulação e montagem no laboratório. O circuito em questão consiste em fazer uma contagem de pessoas que se encontram numa determinada sala, ou seja, existira duas entradas na sala, uma onde entram as pessoas e outra de saída. Quando entrar uma pessoa o circuito devera acrescentar uma pessoa a contagem e quando sair uma pessoa o circuito devera retirar uma pessoa da contagem. A contagem será feita do número 1 ao número 15, pois é a quantidade suportada pelo circuito a ser implementado (será implementado com um contador de 4 bits). O circuito terá 3 entradas, o “RESET” para reiniciar a contagem a zero, a entrada “A” para a contagem crescente e a entrada “B” para a contagem decrescente. Os números do 1 ao 15 serão representados em binário através de 4 saídas ligadas, cada uma ligada a um LED. O circuito vai ser composto por uma unidade de controlo com as entradas A e B e com as saídas CE e U`/D que serão ligadas as entradas CE e U`/D do contador respectivamente, como o circuito tem 4 estados, a unidade de controlo será constituída por 2 flip-flops D. A entrada RESET será utilizada para reiniciar os estados dos flip-flops e do contador em simultâneo. Para resumir o circuito podemos observar o seguinte esquema: Este relatório será constituído pelas seguintes partes: a preparação do circuito, a simulação do circuito, a montagem do circuito e finalmente a conclusão relativa ao circuito e os seus procedimentos. II. Preparação A B RESET CLK Unidade de Controlo (Circuito sequencial) Contador CTR4 PL Q0 Q1 Q2 Q3 U`/D CE CE U`/D

Upload: mao-nacabeca-jorge

Post on 25-Nov-2015

61 views

Category:

Documents


40 download

TRANSCRIPT

  • I. Introduo

    O objectivo do trabalho em causa projectar um sistema composto por um

    circuito sequencial e um contador binrio com os conhecimentos adquiridos nas aulas

    desta UC, procedendo assim, a sua simulao e montagem no laboratrio. O circuito

    em questo consiste em fazer uma contagem de pessoas que se encontram numa

    determinada sala, ou seja, existira duas entradas na sala, uma onde entram as

    pessoas e outra de sada. Quando entrar uma pessoa o circuito devera acrescentar

    uma pessoa a contagem e quando sair uma pessoa o circuito devera retirar uma

    pessoa da contagem. A contagem ser feita do nmero 1 ao nmero 15, pois a

    quantidade suportada pelo circuito a ser implementado (ser implementado com um

    contador de 4 bits).

    O circuito ter 3 entradas, o RESET para reiniciar a contagem a zero, a

    entrada A para a contagem crescente e a entrada B para a contagem decrescente.

    Os nmeros do 1 ao 15 sero representados em binrio atravs de 4 sadas ligadas,

    cada uma ligada a um LED. O circuito vai ser composto por uma unidade de controlo

    com as entradas A e B e com as sadas CE e U`/D que sero ligadas as entradas CE

    e U`/D do contador respectivamente, como o circuito tem 4 estados, a unidade de

    controlo ser constituda por 2 flip-flops D. A entrada RESET ser utilizada para

    reiniciar os estados dos flip-flops e do contador em simultneo. Para resumir o circuito

    podemos observar o seguinte esquema:

    Este relatrio ser constitudo pelas seguintes partes: a preparao do circuito,

    a simulao do circuito, a montagem do circuito e finalmente a concluso relativa ao

    circuito e os seus procedimentos.

    II. Preparao

    A

    B

    RESET

    CLK

    Unidade de Controlo

    (Circuito sequencial)

    Contador

    CTR4 PL

    Q0

    Q1

    Q2

    Q3

    U`/D

    CE CE

    U`/D

  • 1 ISCTE-IUL Fundamentos de Arquitectura de Computadores Grupo 13

    A preparao ser realizada de acordo as instrues do enunciado do trabalho

    de laboratrio T1:

    1. O circuito composto pelas entradas A, B e RESET, vamos comear pela

    construo da unidade de controlo, em que sero utilizadas a entradas A e B para a

    definio dos diferentes estados, pois o RESET s ser utilizado para reiniciar o

    contador a zero e tambm poder ser aproveitado para reiniciar os flip-flops D. As

    sadas da unidade de controlo corresponderam as entrada CE e U`/D do contador,

    sendo assim vamos definir duas sadas na unidade de controlo, a sada CE e U`/D. No

    contador utilizado neste circuito, o CE ser activo com 0 e desactivado com 1 e o U`/D

    activa a contagem crescente com 0 e activa a contagem decrescente com 1, sendo

    assim podemos considerar, no seguinte quadro, os estados com as respectivas sadas

    e codificaes:

    Sadas Estados Codificao

    CE U`/D

    1 X E0 Parado (O CE desactivado, o U/D pode estar em qualquer estado)

    00

    0 0 E1 Aumentar (O CE activado, o U/D esta no modo crescente)

    01

    0 1 E2 Diminuir (O CE activado, o U/D esta no modo decrescente)

    10

    1 X E3 Parar a contagem (O CE desactivado, o U/D pode estar em qualquer estado este estado servira para evitar a contagem continua)

    11

    Como obtemos 4 estados sero utilizados dois flip-flop D para a unidade de

    controlo (pois ).

    Com a tabela elaborada, podemos produzir o diagrama de estados seguindo o

    modelo de Moore:

    2. A partir do diagrama de estados da alnea anterior vamos construir a tabela de

    transio de estados da unidade de controlo e a tabela de verdade para as variveis

    00/1X 01/00

    10/01

    11/1X 00

    00

    00

    00

    10 10

    10

    10,01

    01 01 01

  • 2 ISCTE-IUL Fundamentos de Arquitectura de Computadores Grupo 13

    de sada da parte da unidade de controlo e obter as respectivas expresses das

    tabelas (consideramos que nunca vo estar duas pessoas a entrar simultaneamente,

    logo, quando o valor das entrada A e B sejam 1 o estado seguinte vai ser indiferente):

    Q1 Q0 A B Q1` Q0`

    0 0 1 0 0 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 1 X X 0 1 1 0 1 1 0 1 0 1 1 0 0 1 0 0 0 0 0 1 1 1 X X 1 0 1 0 0 1 1 0 0 1 1 1 1 0 0 0 0 0 1 0 1 1 X X 1 1 1 0 1 1 1 1 0 1 1 1 1 1 0 0 0 0 1 1 1 1 X X

    Q1 Q2 CE U`/D

    0 0 1 X 0 1 0 0 1 0 0 1 1 1 1 X

    III. Simulao

    A B 00 01 11 10

    Q1 Q0 00 0 0 X 1

    01 0 0 X 1

    11 0 1 X 1

    10 0 1 X 1

    A B 00 01 11 10

    Q1 Q0 00 0 1 X 0

    01 0 1 X 1

    11 0 1 X 1

    10 0 1 X 0

    Tabela de transio de estados Mapa de Karnaugh para Q0`

    Mapa de Karnaugh para Q1`

    Atravs do mapa de Q0` podemos

    obter a seguinte expresso :

    Q0` = A + Q1.B

    Atravs do mapa de Q1` podemos obter a seguinte expresso:

    Q1` = B + Q0.A Para completar as duas expresses falta inserir a funcionalidade de RESET aos dois flip-flops D (o equipamento do laboratrio no contm a funcionalidade de RESET) adicionado uma porta AND as expresses:

    Q0` = (A + Q1.B).RESET Q1` = (B + Q0.A).RESET

    Atravs dos termos mnimos podemos obter as seguintes

    expresses para as variveis de sada da unidade de controlo:

    CE = Q1` . Q0` + Q1 . Q2 U`/D = Q1

    Tabela das variveis de saida

  • 3 ISCTE-IUL Fundamentos de Arquitectura de Computadores Grupo 13

    A partir das expresses obtidas na parte II, vamos utilizar o programa Logisim

    para reproduzir o circuito e para fazer a simulao do seu funcionamento. A

    construo do circuito no programa comeou-se adicionando-se os dois flip-flops D e o

    contador e com as expresses fez-se a ligao das entradas, sadas e portas logicas

    existentes. Na simulao verificou-se que quando a entra A tomava o valor de 1 o

    contador contava uma nica vez o que teoricamente corresponde a uma pessoa a

    entrar numa determinada sala. Retornando a entrada A ao valor 0, agora pondo a

    entrada no valor 1 verificou-se correctamente a contagem decrescente uma nica vez

    que teoricamente corresponde a uma pessoa a sair da sala. Os valores quando tomam

    o valor 1 simultaneamente nada acontece no estado do circuito, pois de acordo ao

    enunciado no ser considera a entrada de duas pessoas ao mesmo tempo. Tambm

    foi testada a entrada RESET, que tomando o valor 0, reiniciava os estados dos flip-

    flops e do contador simultaneamente. Para que haja contagem o RESET deve estar no

    valor 1. Em baixo podemos observar o circuito implementado no simulador Logisim:

    No decorrer da simulao no foram encontrados erros de acordo ao

    enunciado do trabalho em questo e satisfaz os objectivos pretendidos no enunciado

    deste trabalho laboratorial.

  • 4 ISCTE-IUL Fundamentos de Arquitectura de Computadores Grupo 13

    IV. Montagem

  • 5 ISCTE-IUL Fundamentos de Arquitectura de Computadores Grupo 13

    IV. Concluso

    A projeco do circuito em questo deste trabalho foi realizado a partir de um

    diagrama de estados seguindo o modelo de Moore elaborando a tabela de transcrio

    de estados e a tabela de variveis de sadas, obtendo assim as seguinte expresses

    com os mapas de Karnaugh:

    Q0` = (A + Q1.B).RESET

    Q1` = (B + Q0.A).RESET

    A parte do RESET no foi obtida pelo mapa de Karnaugh, pois foram adicionadas para

    permitir a reiniciao dos estados dos flip-flops D. Nas sadas obtemos as seguintes

    expresses:

    CE = Q1` . Q0` + Q1 . Q2

    U`/D = Q1

    Estas expresses pertencem a unidade de controlo que vai ligada ao contador

    formando assim o circuito pretendido.

    Podemos verificar que a resoluo do projecto deste circuito pode ser realizado

    de varias maneiras, variando nos seus estados definidos e evitando que a contagem

    seja feita mais do que uma vez ao activar umas das entradas do circuito.

    Com a implementao deste circuito verificamos que o seu funcionamento no

    o mais eficaz, pois, na contagem ao chegar ao valor mximo quando feita

    novamente a contagem, esta inicia a contagem outra vez com o valor mnimo. A

    soluo para este problema foi encontrada implementado 3 portas logicas AND no

    circuito, estas trs com funcionalidades diferentes.

    Teoricamente, este projecto poderia ser implementado fisicamente, uma das

    maneiras possveis seria colocar receptores de infravermelhos na entrada e sada de

    uma sala, em que estes corresponderiam respectivamente as entrada A e a B do

    circuito. O valor de quaisquer umas das entradas deveria ser 1 quando o feixe de

    infravermelhos fosse interrompido ao passar de uma pessoa. O ideal seria colocar o

    receptor de infravermelho ao meio da entrada da sala, ou ainda melhor colocar um

    conjunto de feixes de infravermelho estando menos vulnervel

  • 6 ISCTE-IUL Fundamentos de Arquitectura de Computadores Grupo 13

    A unidade de controlo correspondera ao PLD GAL16V8 utilizado na montagem cuja

    programao das entradas e sadas vai ser definida da seguinte maneira:

    O contador vai corresponder ao contador binrio de 4 sadas 74LS191 disponvel no

    laboratrio. O material utilizado PLD GAL16V8 e o contador 74LS191 com o pinout (pinout de

    acordo ao catalogo dos componentes):

    65779

    61076

    65922

    Nicolas Rocca

    Miguel Botelho

    Francisco Perreira

    13

    A

    B

    RESET

    CLK

    Unidade de Controlo

    Contador

    CTR4 PL

    Q3

    Q2

    Q1

    Q0

    U`/D

    CE

    CE

    U`/D

    OE`

    P3

    P2

    P1

    P0

    RC`

    TC

    13

    12

    3

    2

    6

    7 L0

    L1

    L2

    L3

    11

    5

    4

    9

    10

    1

    15

    13

    12

    11 14

    1

    1

    3

    4

    /* ***************** ENTRADAS ***********************/ PIN 1 = clk ; /* Clock sempre no pino 1 */ PIN 2 = a ; /* Entrada A */ PIN 3 = b ; /* Entrada B */ PIN 4 = r ; /* Entrada RESET */ PIN 11 = !oe ; /* Output enable sempre no 11 */ /* ***************** SAIDAS **********************/ PIN 12 = ce; /* Saida CE */ PIN 13 = ud; /* Saida U`/D */

  • 7 ISCTE-IUL Fundamentos de Arquitectura de Computadores Grupo 13

    O modelo escolhido para este problema foi o modelo de Moore, pois as sadas U/D e

    CE apenas dependero do estado do circuito para realizar transies de estado no contador,

    ou seja, o valor das sadas mudaram quando se detectar transies de estados. Por exemplo a

    funo de contar CE no contador ira depender do valor da sada CE da unidade de controlo,

    logo o valor da sada CE dependera do estado do circuito. O estado das funes do CE e U`\D

    do contador que correspondem apenas a sadas CE e U`\D da unidade de controlo tais valores

    sero alterados sincronamente se existir transies de estados na unidade de controlo.

    A implicao principal que detectamos com modelo de Mealy aplicado neste problema

    foi na contagem decrescente, quando a contagem decrescente fosse activada este iria contar

    duas vezes de seguida, isto porque seguindo este modelo as sadas iriam depender das

    entradas da unidade de controlo e do seu estado

    O nmero do grupo realizador deste trabalho o nmero 13, logo = 13

    Fazendo a diviso entre 13 e 8 (13:8) obtemos o resto de 5, substituindo na equao obtemos:

    = 5 + 8 = 13

    Considerando as sadas dos LEDS: L0, L1, L2, L3 em linha, o nmero representado em binrio

    corresponder aos LEDS L0,L1 e L3 activados. Ser acrescentado as sadas do circuito um LED

    L5 para sinalizar a lotao da sala, ou seja, quando estiver com o valor 1 quer dizer que a

    lotao da sala foi atingida sendo o contrrio para o valor 0. Fazendo uma tabela de verdade

    para as sadas L0, L1, L2, L3 e L4 vamos obter a expresso correspondente ao estado

  • 8 ISCTE-IUL Fundamentos de Arquitectura de Computadores Grupo 13

    correspondente ao nmero 13 (ou seja quando o L0,L1 e L3 tenham o valor 1 a sada L4 ter o

    valor 1):

    A partir da tabela de verdade podemos chegar a

    seguinte expresso: L4 = L0.L1.L2`.L3. esta expresso poder ser implementada a sada do

    circuito da seguinte maneira:

    A soluo implementada para resolver este problema foi a seguinte:

    Acrescentou-se ao circuito inicial uma porta logica AND Z com quatro entradas cada uma

    negada e ligada a cada led de sada, ou seja, quando o valor da porta Z 1 quer dizer que o

    nmero representado pelo contador zero. Antes da entrada A acrescentou-se uma porta

    logica AND X com duas entradas, uma negada e ligada ao TC do contador e a outra ligada a

    entrada A do circuito. Finalmente acrescentou-se outra porta logica AND Y com trs

    Em decimal L0 L1 L2 L3 L4

    () ()

    13 1 1 0 1 1

    () ()

    A

    B

    RESET

    CLK

    Unidade de Controlo

    Contador

    CTR4 PL

    Q3

    Q2

    Q1

    Q0

    U`/D

    CE

    CE

    U`/D

    OE`

    P3

    P2

    P1

    P0

    RC`

    TC

    L0

    L1

    L2

    L3

    L4

  • 9 ISCTE-IUL Fundamentos de Arquitectura de Computadores Grupo 13

    entradas, uma negada e ligada a porta logica Z, uma negada e ligada a porta X e a ultima

    ligada a entrada B do circuito. A seguir podemos observar o circuito implementado com a

    soluo:

    Na contagem crescente quando chegar ao valor mximo (ou seja o numero 15) o TC

    toma o valor 1, ou seja, na entrada da porta AND X este vai ser negado passando para 0,

    sendo assim quando o valor de A for igual a 1 (para contar uma pessoa) o resultado da sada

    da porta X ser zero, fazendo com que no haja alterao no circuito. Estando no valor

    mximo ser possvel a contagem decrescente, quando a entrada B estiver com o valor 1 (para

    descontar uma pessoa da contagem), este ser ligado a uma entrada da porta AND Y, esta

    vai ter ainda uma entrada da porta Y negada ligada a sada da porta X com o valor 1 e

    outra entrada da porta Y negada que estar ligada a sada da porta Z com o valor 1, sendo

    assim o valor da sada da porta Y ser 1x1x1 = 1 permitindo que haja alterao no contador em

    sentido decrescente.

    Na contagem decrescente quando este chegar ao valor mximo (neste caso o

    numero 0), o valor da sada da porta Z ser 1 e este vai estar ligado a uma entrada negada da

    porta Y tomando o valor de 0, outra entrada negada da porta Y estar ligada a sada da

    porta X com o valor 1. Quando a entrada B (ligada a entrada da porta Y) mudado para o

    valor 1 (para descontar uma pessoa a contagem) o valor da sada da porta Y ser igual a

    0x1x1 = 0, fazendo com que no haja nenhuma alterao no circuito. Estando o valor da sada

    do circuito a zero ser possvel a contagem crescente, pois como a sada do TC ser 0 a porta

    X ter resultado de 1 a sada porque a entrada da porta X ligada ao TC negada e vai

    tomar o valor de 1 a multiplicar com o valor da porta A que vai ter o valor 1 na contagem de

    uma pessoa, ou seja 1x1 = 1.

    Esta soluo foi encontrada pelo mtodo de tentativa-erro e utilizando a funes

    logicas, esta foi simulada no Logisim e testada com sucesso.

    Z

    X

    Y