Guia 05 AED

  • Published on
    18-Dec-2015

  • View
    6

  • Download
    3

Embed Size (px)

DESCRIPTION

Guia para quem quer aprender AC IOtimo material

Transcript

  • Pontifcia Universidade Catlica de Minas Gerais

    Instituto de Cincias Exatas e Informtica ICEI

    Arquitetura de Computadores I

    ARQ1 _ Aula_05

    Tema: Introduo linguagem Verilog

    Atividade: lgebra de Boole

    Em Matemtica, chama-se proposio ao enunciado de uma verdade que se quer demonstrar, ou como usaremos: uma sentena que pode ser falsa (0), ou verdadeira (1), mas nunca ambos ao mesmo tempo.

    A conjuno uma relao entre sentenas que estabelece um resultado verdadeiro (1) quando associadas duas proposies (p e q), ambas verdadeiras (iguais a 1). Basta uma delas ser falsa (0), para que a conjuno (s) tambm seja falsa (0). A porta AND ( E ) um componente de circuito lgico que implementa essa relao; pode ter duas (p, q), ou mais entradas, e a sada (s) assumir o valor 1 (verdadeiro) se, e somente se, todas as entradas forem iguais a 1 (verdadeiras); caso uma, ou mais entradas forem iguais a 0 (falso), a sada ter valor igual a 0 (falso). A disjuno uma relao entre sentenas que estabelece um resultado falso (0) quando duas proposies (p e q) forem falsas (0). Basta uma delas ser verdadeira (1), para que a disjuno tambm seja verdadeira (1). A porta OR ( OU ) um componente de circuito lgico que implementa essa relao; pode ter duas (p, q), ou mais entradas, e a sada (s) assumir o valor 0 (falso) se, e somente se, todas as entradas forem iguais a 0 (falso); caso uma, ou mais entradas forem iguais a 1 (verdadeiro), a sada ter valor 1 (verdadeiro). A negao determina que se uma proposio (p) for falsa (0), seu resultado ser verdadeiro (1), ou vice-versa. A porta NOT (NO) um componente de circuito lgico que implementa essa relao, tambm chamada de INVERTER (INVERSOR), s possui uma entrada (p), e a sada assumir o valor 1 (verdadeiro), se a entrada for igual a 0 (falso); seno, a sada ter valor 0 (falso), se a entrada for igual a 1 (verdadeiro).

  • - Analogias com circuitos eltricos

    O primeiro circuito a seguir (conjuno) determina que se duas chaves (p e q) forem fechadas (1), o resultado (s) ser o de um circuito fechado com uma lmpada acesa (1), por exemplo; basta que uma delas seja aberta (0), para que o circuito se abra, e a lmpada apague (0). O circuito poder ter duas (p, q), ou mais chaves, em srie que a sada (s) ter o mesmo resultado (1) se, e somente se, todas as chaves forem fechadas (1); caso uma, ou mais chaves forem abertas (0), o resultado ser um circuito aberto com a lmpada apagada (0). O segundo circuito a seguir (disjuno) determina que se duas chaves (p e q) forem abertas (0), o resultado (s) ser o de um circuito aberto com uma lmpada apagada (0), por exemplo; basta que uma delas seja fechada (1), para que o circuito se feche. O circuito poder ter duas (p, q), ou mais chaves, em paralelo que a sada (s) ter o mesmo resultado (0), se, e somente se, todas as entradas forem abertas (0); caso uma, ou mais chaves forem fechadas (1), o resultado ser um circuito fechado coma lmpada acesa (1). O terceiro circuito a seguir (negao) determina que se uma chave (p) for acionada (1), o resultado (s) ser o de um circuito aberto com uma lmpada apagada (0); caso contrrio, o circuito permanecer fechado, e a lmpada se manter acesa (1).

    - Representaes por circuitos

    Circuito srie (AND) Circuito paralelo (OR) Curto-circuito (NOT) (Conjuno) (Disjuno) (Negao)

    s

    p

    s

    p

    q s

    p q

  • - Representaes de relaes lgicas

    Notaes

    Conjuno ( E ) Disjuno (OU ) Negao (NO ) (p e q)

    p q

    p q = p q p & q

    (p ou q)

    p q

    p + q p | q

    (no p)

    p

    /p = p = p'

    ~p p && q p || q ! p

    Tabela-verdade

    Conjuno ( E ) Disjuno (OU ) Negao (NO ) p q s p q s p s

    0 0 = 0 0 + 0 = 0 0 1 = 0 0 + 1 = 1 0' = 1 1 0 = 0 1 + 0 = 1 1' = 0 1 1 = 1 1 + 1 = 1

    Diagrama de Deciso Binria (BDD)

    s=pq s=p+q s=p

    p p p 0 1 0 1 . 0 1 .

    q q 1 0 0 1 0 1 0 1 0 1

    Portas Lgicas

    s = AND ( p, q ) s = OR ( p, q ) s = NOT ( p )

    Diagramas de tempo para as portas lgicas

    1 1 1

    p 0 p 0 p 0

    1 1

    q 0 q 0

    1 1 1

    s 0 s 0 s 0

    p s p

    q s

    p

    q s

    p &

    q s

    p 1

    q s p 1 s

  • - Prioridade de conectivos

    Estabelece-se que a ordem de avaliao de uma expresso, envolvendo conectivos lgicos, ser da esquerda para a direita, respeitando-se as prioridades dos conectivos na ordem mostrada abaixo, sendo a primeira a mais alta quando aplicada imediatamente a um valor.

    NO

    E OU

    Pode-se mudar a ordem de avaliao por meio de parnteses.

    Exemplo:

    Considere a expresso lgica: ( ! x && y ) || ( x && ! y ) de forma mais simples como ( x' y ) + ( x y' ) A sua avaliao ser feita na seguinte ordem de prioridade: - negao de (x) : x' - conjuno com (y) : x' y - negao de (y) : y' - conjuno com (x) : x y' - disjuno das conjunes : (x' y) + (x y') A expresso poder ser representada nas formas tabular (tabela-verdade) ou por BDD (Binary Decision Diagram):

    x y (x' y) (x y') (x'y)+(xy') BDD

    0 0 0 0 0 x

    0 1 1 0 1 0 1

    1 0 0 1 1 y y

    1 1 0 0 0 1 0

    1 Resumidamente as relaes em uma tabela tambm podero ser indicadas - pela disjuno ( + ) das conjunes iguais a 1 (ou mintermos)

    x y (x' y) (x y') (x'y)+(xy') mintermos (=1)

    0 0 0 0 0 m0 = x' y' = 0 . 0 1 1 0 1 m1 = x' y = 1 1 0 0 1 1 m2 = x y' = 2 1 1 0 0 0 m3 = x y = 3 .

    f (x, y ) = (x'y)+(xy') = m1 + m2 = m(1,2) = SoP(1,2)

    - pela conjuno ( ) das disjunes iguais a 0 (ou MAXTERMOS).

    X Y (X+Y') (X'+Y) (X+Y')(X'+Y) MAXTERMOS (=0)

    0 0 0 0 0 m0 = X + Y = 0 0 1 1 0 1 m1 = X + Y' = 1 .

    1 0 0 1 1 m2 = X' + Y = 2 .

    1 1 0 0 0 m3 = X' + Y' = 3

    F (X, Y ) = (X+Y') (X'+Y) = M1 M2 = M(0,3) = PoS(0,3)

  • Principais relaes da lgebra de Boole

    s=(p&q) AND s=(p | q) OR s=(p^q) XOR BUFFER

    0 1 p/q 0 1 0 1 p/q s = p

    0 0 0 0 1 0 1 0 0

    0 1 1 1 1 1 0 1 1

    Conjuno Disjuno Disjuno Exclusiva Cpia

    AND

    OR

    XOR

    BUFFER

    s = p q s = p + q s = p q s = p

    s = (p q)' s = (p + q)' s = (p + q)' s = p'= p NAND

    NOR

    XNOR

    NOT

    Alternative Denial Joint Denial Equivalncia Negao

    1 1 0 1 0 1 0 0 1

    1 0 1 0 0 0 1 1 0

    0 1 p\q 0 1 0 1 p\q s=~p

    s=~(p&q) NAND s=~(p|q) NOR s=~(p^q) XNOR NOT

    Resumo

    AND OR XOR XNOR NOR NAND

    m M p q p && q p || q p ^ q ! (p ^ q) ! (p || q) ! (p && q)

    0 p' q' P+Q 0 0 0 0 0 1 1 1

    1 p' q P+Q' 0 1 0 1 1 0 0 1

    2 p q' P'+Q 1 0 0 1 1 0 0 1

    3 p q P'+Q' 1 1 1 1 0 1 0 0

    mintermos SoP (+) [=1] 3 1,2,3 1,2 0,3 0 0,1,2 MAXTERMOS PoS () [=0] 0,1,2 0 0,3 1,2 1,2,3 3

    p

    q s

    p

    q s

    p

    q s

    p

    q s

    p

    q s

    p

    q s

    p s

    p s

  • Principais propriedades da lgebra de Boole

    Idempotncia Comutativa Associativa

    p + p = p p + q = q + p (p + q) + r = p+(q + r)

    p p = p p q = q p (p q) r = p (q r)

    Identidade De Morgan Distributiva

    p + 0 = p p 0 =0 )qp( =p q p + (q r)=(p + q) (p + r)

    p + 1 = 1 p 1 =p q+p=q)(p p (q+r)=(p q) + (p r)

    Complementar Absoro Consenso

    p+p = 1

    (tautologia)

    p + (p q)=(p + q) (p q)+(p r)+(q r)

    = (p q) + ( p r)

    p p = 0

    (contradio)

    p + (p q)=(p + q) q)+(p ( r+p ) ( r+q )

    = ( q+p ) ( r+p )

    p = p

    (dupla negao)

    p + (p q) = p

    Principais propriedades da lgebra com XOR.

    Bsicas Identidade Complementar

    pp = 0 0p = p qp = qp

    pp = 1 1p = p )qp( = qp = qp

    Associativa Comutativa

    r)q(p = )rq(p qp = pq

    Disjuno Distributiva Transposio

    se: rqp e q r=0

    ento: rqp

    )rq(p = )rp()q(p se: rqp

    ento: rpq e qpr

  • Tabela-verdade

    Expresses lgicas podem ser expressas na forma tabular (tabela-verdade):

    Exemplo:

    Avaliar a expresso: x' y + x y' considerando a ordem de prioridades entre negao, conjuno e disjuno.

    x y x' y x y' x' y + x y'

    0 0 0 0 0

    0 0 1 1 1

    0 1 0 0 1

    0 1 0 0 0

    A descrio equivalente em Verilog ser

    // ---------------------

    // TRUTH TABLE

    // Nome: xxx yyy zzz

    // Matricula: 999999

    // ---------------------

    // ---------------------

    // -- function

    // ---------------------

    module fxy (output s,

    input x, y);

    assign s = ~x & y | x & ~y;

    endmodule // fxy

  • Uma funo lgica tambm pode ser descrita pela soma de produtos (mintermos) ou SoP

    (disjuno das conjunes dos termos na tabela onde a funo for igual a 1).

    #mintermo mintermo x y f(x,y)

    0 x y' 0 0 0 1 x' y 0 1 1 2 x y' 1 0 1 3 x y 1 1 0

    f(x,y) = ( x y ) + ( x y ) = )2,1(m

    A descrio equivalente em Verilog ser

    // ---------------------

    // -- SoP

    //