Pract1

download Pract1

of 15

description

fasf

Transcript of Pract1

  • 5/28/2018 Pract1

    1/15

    #$%&'()*+*,--./*0123*04*5262%% /*73&68%9&)2)*: ;&)8* 2)2;13$24*

    ?

    PRCTICA 1

    Anlisis del tiempo de propagacin de circuitoscombinacionales y sntesis en suma de minterms de

    dispositivos sencillos (Xor y Half-adder)

    Objetivos que se deben haber alcanzado antes de realizar la prctica

    Antes de preparar esta prctica se debe haber estudiadolas secciones de la documentacin que se indican en la primera columna de la tabla.

    Secciones de la documentacin a estudiar

    Captulo 2: Secciones de la 2.3.1 a la 2.3.4Seccin 2.4

    Estos objetivos sern evaluados en el informe previo que debis entregar al inicio de la sesin delaboratorio.

    Objetivos que se deben alcanzar al realizar la prctica

    Despus de realizar esta prctica, adems de haber mejorado el nivel de consecucin de los objetivosnecesarios para preparar la prctica (citados en la tabla anterior) y de los objetivos de la prctica anteriorrelativos al manejo del programa LogicWorks, el alumno ser capaz de:

    1) Analizar el comportamiento temporal de las puertas lgicas y de circuitos o dispositivoscombinacionales construidos con puertas, usando para ello el simulador LogicWorks.

    1.1 Las puertas lgicas bsicas. Comportamiento temporal

    En la prctica anterior nos familiarizamos con el funcionamiento a nivel lgico de las tres puertasbsicas Not, Andy Or que usaremos para construir circuitos combinacionales ms complejos. En estaseccin vamos a familiarizarnos con el comportamiento temporal de las puertas de nuestra librera yobtener su tiempo de propagacin.

    Para obtener los tiempos de propagacin de las puertas Not-1, And-2 y Or-2 de nuestra librera(LibPrac1) seguid los pasos siguientes:

    1 Como en todas las sesiones de laboratorio lo primero es encender el PC y copiar la carpeta de laprctica a nuestro escritorio. Ahora podemos abrir el LogicWorks y abrir la librera de dispositivos

    de esta prctica que se encuentra dentro de la carpeta Prac1 y que se denomina LibPrac1. Estospasos ya los conocemos de la prctica anterior.

    2 Ahora vamos a crear un circuito muy simple sobre la hoja en blanco de diseo de circuitos queaparece en la pantalla de LogicWorks. Este circuito tiene las puertas Not-1, And-2 y Or-2 sinconectar entre s. Cada puerta tiene un Binary Switch en cada entrada y un Binary Probe en lasalida. Esto ya lo hicisteis en la prctica anterior y debe tener el aspecto de la figura. Fijaos quecomo hemos usado un mismo circuito para poner las tres puertas hemos dado nombres distintos atodas las seales. En LogicWorks, si en un circuito hay dos seales que se llaman igual es comosi esas dos seales estuvieran unidas por un cable (tendrn siempre el mismo valor lgico). Y esono es lo que queremos aqu.

  • 5/28/2018 Pract1

    2/15

    #$%&'()*+*,--./*0123*04*5262%% /*73&68%9&)2)*: ;&)8* 2)2;13$24*

    ,

    1

    0

    0

    0

    1

    0

    1

    0

    1

    0

    1

    0

    1

    b

    c

    e

    f

    g

    h

    a

    d

    3 Ahora vamos a trabajar con la ventana de tiempos del simulador LogicWorks. Es la ventana

    horizontal que aparece en la parte inferior de la pantalla y sirve para visualizar la evolucin en eltiempo de las seales del circuito (cronogramas). Esta ventana aparece abierta por defecto, perosi no lo est la abrimos yendo a la opcin del men View !Timing Window (o haciendo clic en el

    icono Show/hide timing de la barra de herramientas). En la ventana de tiempos aparece una

    fila por cada seal (cable) a visualizar, con el nombre de la seal a la izquierda y el cronograma ala derecha. Si no se ven todas las seales, la ventana de tiempo se puede hacer ms grandeempujando con el cursor hacia arriba una vez seleccionado el marco superior de la ventana detiempos. Por defecto, est activada la opcin de men Simulation -> Add Automatically que haceque cada seal que tiene nombre en el circuito aparezca en la ventana de tiempo. Para borrarseales de la ventana de tiempo hay que hacer clic con el botn derecho sobre el nombre de laseal en la ventana de tiempo para que aparezca un men desplegable y seleccionar Remove.Por otro lado, si la opcin View ! Timing Window no est activada y queremos visualizar unaseal concreta tenemos que hacer clic sobre la seal para que se ilumine de amarillo y

    seguidamente hacer clic en el boton Add signals to timing (icono ) o a travs del menSimulation -> Add to timing.

    4 Vamos a inicializar la simulacin para borrar los cronogramas referentes a lo que hemos simuladoanteriormente y ver con ms claridad lo que queremos hacer ahora. Para ello hacemos clic sobre

    el icono de la barra de herramientas que inicializa la simulacin (reset). Ahora ya podemos irdando valores a las seales de entrada e ir midiendo el tiempo que tardan en propagarse loscambios de las entradas a la salida. Por cada cambio que producimos en una entrada haciendoclic sobre el Binary Switch, el simulador dibuja un trozo de cronograma, justo hasta que el cambiose ha propagado a todas las seales del circuito (en este caso hasta la seal de salida de lapuerta). Observad con cuidado el valor final de la salida de la puerta despus de cada cambio a laentrada, ya que si, por ejemplo, la salida pasa de 0 a 1 como consecuencia de un cambio en laentrada, slo vemos, al final del cronograma de la salida, la lnea vertical que pasa de 0 a 1, perono vemos ningn trozo de lnea con valor 1. Este trozo de lnea lo vemos al siguiente cambio dealguna entrada. Para medir mejor los tiempos de propagacin aumentad el zoom de la pantalla deltiempo. Para cambiar el zoom de esta pantalla y poder apreciar mejor los tiempos utilizad los

    iconos Zoom in, Zoom out y Normal size . Inicialmente, una marca de tiempo (enla regla de encima de los cronogramas) marca 25 unidades de tiempo (u.t.). Esto es cuando est

    en Normal size. Dados los tiempos de propagacin de nuestras puertas, es convenienteaumentar la escala para que cada marca de la regla corresponda a 10 u.t. Pasaremos a la escaladeseada haciendo clic una vez en el botn Zoom in. La siguiente figura muestra el cronogramade LogicWorks al pasar de 0 a 1 el switch de la entrada de la Not-1.

  • 5/28/2018 Pract1

    3/15

    #$%&'()*+*,--./*0123*04*5262%% /*73&68%9&)2)*: ;&)8* 2)2;13$24*

    @

    5 Si queremos producir un cambio de valor de las dos entradas o en general sobre varias entradas-a la vez (en el mismo instante de tiempo) tenemos que:

    parar la simulacin (hacer clic en el botn de la persona sentada),

    cambiar el valor de las entradas haciendo clic en los Binary Switch y

    volver a poner a correr la simulacin (hacer clic en el botn de la persona corriendo).Ocurren dos cosas curiosas:

    a) al hacer clic sobre un Binary Switch cuando la simulacin est parada, el cambio de

    conexin (de valor) del Binary Switch no se visualiza hasta que ponemos a correr lasimulacin y

    b) si seguidamente hacemos un segundo clic sobre el mismo Binary Switch o sobreotro, aparece una pantalla que nos advierte de que los switches no operan cuandoel simulador est parado y nos pregunta si queremos que se ponga en marcha lasimulacin en este momento. Si queremos seguir cambiando el valor de ese u otrosBinary Switch antes de volver a iniciar la simulacin, tenemos que hacer clic en elbotn de cancelar que aparece en la ventana. Ya iniciaremos la simulacin cuandohayamos cambiado todos los Binary Switch, haciendo clic en la persona corriendo!

    Vamos a analizar exhaustivamente el comportamiento temporal de cada puerta. El anlisis es exhaustivoporque vamos a ver cmo se comporta temporalmente la salida ante cualquier cambio posible de lasseales de entrada.

    Denominamos t al instante de tiempo en que se produce un cambio en el valor de la entrada a de lapuerta Not-1. La primera y la segunda columna de la siguiente tabla muestran el valor de la entrada un

    instante antes (t-t) y un instante despus (t+t) de producirse el cambio, respectivamente. Llamamospor d (delay) al nmero de unidades de tiempo tales que la salida se estabiliza al valor correcto en elinstante t+d. En este caso d vale 10 u.t. ya que la salida b ha cambiado de 1 a 0 pasadas 10 unidadesde tiempo desde que la entrada ha pasado de 0 a 1. Para el cambio de la entrada de 1 a 0, d tambinvale 10. Esto se muestra en la siguiente tabla.

    Valor de laentrada a en

    t-t

    Valor de laentrada a en

    t+t

    d(delay)

    0 1 101 0 10

    " !"#$%&' #)"*+

    ,%'-."/* 0

    Repetid el anlisis de tiempos de retardo anterior, pero ahora para la puerta And-2. En este caso,algunos cambios en las entradas no producen cambio en la salida. Explicad por qu ocurre esto.En estos casos poned un 0 en la columna d y al lado, entre parntesis (n.c.): no cambio.

    Valor de lasentradas c y d,

    (c, d), en t-t

    Valor de lasentradas c y d,

    (c, d), en t+t

    d(delay)

    (0, 0)(0, 1)(1, 0)(1, 1)

    (0, 1)(0, 0)(1, 0)(1, 1)

    (1, 0)(0, 0)(0, 1)(1, 1)

    (1, 1)(0, 0)(0, 1)(1, 0)

    Si repetimos la pregunta anterior para la puerta Or-2 obtenemos la siguiente tabla:

    0 (n.c)0(n.c)

    0

    20

    0(n.c)

    20

    0(n.c

    0(n.c)

    0(n.c)

    20

    20

    20

    20

  • 5/28/2018 Pract1

    4/15

    #$%&'()*+*,--./*0123*04*5262%% /*73&68%9&)2)*: ;&)8* 2)2;13$24*

    A

    Valor de lasentradas f y g,

    (f, g) en t-t

    Valor de lasentradas f y g,

    (f, g) en t+t

    d(delay)

    (0, 0)(0, 1) 20(1, 0) 20(1, 1) 20

    (0, 1)

    (0, 0) 20

    (1, 0) 0 (n.c.)(1, 1) 0 (n.c.)

    (1, 0)(0, 0) 20(0, 1) 0 (n.c.)(1, 1) 0 (n.c.)

    (1, 1)(0, 0) 20(0, 1) 0 (n.c.)(1, 0) 0 (n.c.)

    Acabamos de ver, para cada una de las puertas bsicas de nuestra librera el tiempo que tardan enpropagarse los cambios de valor de las seales desde las entradas hasta la salida. Observamos variascosas que tienen las siguientes consecuencias:

    1. Cuando un cambio en una entrada produce un cambio en la salida, el tiempo que tarda en

    propagarse el cambio a la salida es el mismo si la salida pasa de 0 a 1 que si pasa de 1 a 0. Porello, cuando hablemos de tiempo de propagacin (Tp)no distinguiremos entre los dos casosposibles, a diferencia de lo que ocurre en el mundo real.

    2. El comportamiento temporal (y lgico) que se produce en la salida a consecuencia de un cambioen una entrada depende del valor lgico de la otra entrada (caso de la And-2 y Or-2). Porejemplo, en la Or-2 cuando la entrada f pasa de 0 a 1

    si la entrada g vale 1 no se produce cambio en la salida y podramos decir que en estecaso el tiempo de propagacin es 0, mientras que

    si la entrada g vale 0 s que se produce cambio en la salida y el tiempo de propagacin esde 20 u.t.

    A pesar de ello, cuando hablemos de tiempo de propagacin desde una entrada a la salida(Tpf-h, Tpg-h)no tendremos en cuenta las diferencias segn el valor de la otra entrada, sino queconsideraremos el caso peor, en el que la otra entrada tiene el valor que hace que se produzcaun cambio en la salida.

    3. En las puertas And-2 y Or-2 el tiempo de propagacin desde una entrada a la salida es el mismopara cualquiera de las dos entradas. Por ello, cuando nos refiramos a una de estas puertas nodiferenciaremos entre tiempo de propagacin desde la entrada x o desde la entrada y, sino quehablaremos de tiempo de propagacin de la puerta (Tp).

    " !"#$%&' #)"*+

    ,%'-."/* 1

    Cul es el tiempo de propagacin de cada una de las tres puertas bsicas de nuestra librera?

    Tp(Not-1) = Tp(And-2) = Tp(Or-2) =

    Recordad los tiempos de propagacin de estas tres puertas bsicas, ya que usaremos estas puertas enel resto de circuitos que disearemos y estos tiempos influencian directamente el tiempo de propagacin

    de los circuitos ms complejos.

    1.2 La puerta Xor de 2 entradas (Xor-2)

    Ahora vamos a disear e implementar en LogicWorks un circuito combinacional usando las puertas Not-1, And-2 y Or-2 de nuestra librera. Este circuito es muy sencillo y se denomina puerta Xor de 2 entradas.Se dice que es una puerta porque tambin tiene solamente 1 salida (implementa una sola funcin lgica)y 2 entradas.

    1.2.1 Especificacin

    De entre las 16 posibles puertas de dos entradas (funciones lgicas de dos entradas), la puerta Xor es

    una de las ms interesantes. Entre otras cosas, la usaremos para construir en la siguiente seccin unHalf-adder, que a su vez usaremos en la prctica 2 para construir un Full-adder con el cual construiremosun sumador de nmeros de 16 bits. El nombre que tiene en nuestra librera la puerta Xor de dos

    10 u.t 20 u.t 20 u.t

    Text

  • 5/28/2018 Pract1

    5/15

    #$%&'()*+*,--./*0123*04*5262%% /*73&68%9&)2)*: ;&)8* 2)2;13$24*

    B

    entradas, su smbolo, la tabla de verdad que la define y la notacin usada para la operacin lgica queimplementa, se muestran a continuacin.

    Xor-2xy

    w

    x y w

    0 0 0

    0 1 1

    1 0 1

    1 1 0

    w = x y

    Os suena esta tabla de verdad? Claro que s, es la del circuito C-P0 que implementamos y analizamosen la prctica 0. Ahora ya sabemos que a esta funcin se la denomina Xor y vamos a usar este nombre yel smbolo usual de la figura anterior para referirnos a esta funcin.

    En la prctica 0 hicimos el anlisis lgico de un circuito formado por 2 puertas Not-1, dos And-2 y dos Or-2 y obtuvimos como resultado esta misma tabla de verdad. Dado un circuito con puertas sabemosencontrar su tabla de verdad, pero dada la tabla de verdad sabemos encontrar un circuito con puertasque la implemente? A esto se le llama sntesis de circuitos. Como ya sabemos del estudio del lgebra deBoole, hay muchas expresiones lgicas equivalentes para una misma funcin lgica. As que, dada unatabla de verdad, podemos encontrar muchas expresiones lgicas de la funcin especificada por la tabla.Para cada expresin lgica (expresin con operaciones Not, And y Or) podemos encontrar unaimplementacin directa usando puertas Not, And y Or.

    De los muchos circuitos distintos que pueden sintetizar una tabla de verdad concreta, en este cursousaremos el circuito que se obtiene de un proceso estndar y que es nico para cada tabla de verdad.Este circuito es el que se obtiene directamente de la expresin lgica en suma de minterms, que es nicapara una funcin lgica. En la siguiente seccin vamos a explicar este proceso de sntesis de circuitos.

    1.2.2 Sntesis del circuito en suma de minterms# !"#$%&' 2%'3)$

    ,%'-."/* 0Completad los valores lgicos de las columnas de la siguiente tabla. Cada columna es una funcindistinta de las variables de entrada, x e y. La columna mi(x, y) para i de 0 a 3, representa lafuncin lgica denominada minterm i de (x, y).

    x y !x !y m0(x, y)=!x !y

    m1(x, y)=!x y

    m2(x, y)=x !y

    m3(x, y)=x y

    m1+m2=!x y + x !y

    0 0

    0 1

    1 0

    1 1

    En la ltima columna de la tabla anterior se muestra la funcin ! x y + x !y, que es la suma de lasfunciones minterm 1 y 2 de (x, y). Fijaos que esta funcin es precisamente la operacin lgica Xor de xey. Esta expresin lgica de la funcin Xor nos puede servir para implementarla directamente con dospuertas Not (Not-1) para obtener !x e !y, dos puertas And de dos entradas (And-2) para implementar concada una de ellas el producto de dos variables de los minterms m1y m2 y una Or de dos entradas (Or-2)para sumar los dos minterms. El circuito se muestra en la siguiente figura y es la implementacin ensuma de mintermsde la puerta Xor-2.

    1

    1 0

    0

    1

    10

    0

    0

    0

    0

    1

    0

    1

    0

    0

    0

    0

    1

    0 1

    0 0

    1

    1

    0

  • 5/28/2018 Pract1

    6/15

    #$%&'()*+*,--./*0123*04*5262%% /*73&68%9&)2)*: ;&)8* 2)2;13$24*

    .

    w

    x y

    !xm1(x,y)

    !y

    m2(x,y)

    Fig. Implementacin de la puerta Xor-2 en suma de minterms.

    1.2.3 Implementacin del circuito en LogicWorks

    Vamos ahora a implementar el circuito de la puerta Xor-2 en suma de minterms en LogicWorks ycomprobar su correcto funcionamiento.

    Para implementarlo seguid las indicaciones de edicin de circuitos que comentamos anteriormente y enla prctica anterior (obtencin de dispositivos de la librera, conexin de cables, dar nombre a loscables...). Os ser til recordar lo siguiente:

    1) Como podis ver en el circuito anterior, las seales xe yvienen dadas por dos cables verticales.

    Para crear estos cables utilizad el icono de la barra de herramientas. Una vez hayis hechoclic sobre l, el cursor se convertir en una cruz. El primer punto donde hagis clic ser el puntode inicio del cable, moviendo el ratn podis estirar el cable, y para terminarlo haced doble clicsobre el punto donde queris que acabe.

    2) La forma de dar nombres a los cables es la misma que ya se ha comentado, y para unir patillas

    de salida-entrada de dos dispositivos, o para unir una patilla de un dispositivo a un cable,simplemente haced clic en el extremo de la patilla, arrastrad el ratn para estirar el cable ysoltad el botn cuando veis que se unen. Si lo habis hecho bien, en la unin de dos cablesperpendiculares cuando uno de ellos contina, aparecer un punto rojo (no aparece punto en uncable que hace un ngulo de 90 grados).

    3) Seguid el siguiente orden a la hora de implementar el circuito:C Primero dibujad los cables verticales para las seales x e y.C Despus colocad las puertas Not conectadas a los cables verticales.C Estirad las salidas de las Not para crear los cables verticales de las seales !x e !y.C Seguidamente colocad las puertas And y sus conexiones a los cables verticales.C Por ltimo, la puerta Or, su conexin y la salida.

    1.2.4 Comprobacin del circuito

    Para comprobar el circuito Xor-2 en suma de minterms, debis aadir Switches a las entradas de loscables xe y, y un Binary Probe a la salida w y tambin a m1 y m2 para ver los resultados intermedios.Comprobad que el circuito construido se comporta como dice la tabla de verdad de la funcin Xor.

    1.2.5 Tiempo de propagacin

    Vamos a hacer un anlisis exhaustivo del comportamiento temporal de la salida del circuito Xor-2 paracualquier cambio de los valores de las entradas, como hicimos con las puertas bsicas. Como resultadoveremos cmo para algunos casos en los que la salida no debera cambiar se produce un glitch, uncambio indeseado en la salida antes de que el valor se estabilice al que indica la tabla de verdad delcircuito para los nuevos valores de las entradas. Finalmente, obtenemos el tiempo de propagacin desdecada una de las entradas xe yhasta la salida w.

  • 5/28/2018 Pract1

    7/15

    #$%&'()*+*,--./*0123*04*5262%% /*73&68%9&)2)*: ;&)8* 2)2;13$24*

    D

    Como el circuito de la Xor-2 tiene dos entradas y una salida, los posibles casos de cambios en lasentradas son los mismos que para las puertas And-2 y Or-2: 12 casos. Vamos a hacer, con lpiz y papel,los cronogramas de dos de ellos, para luego comprobar en el laboratorio, con el simulador LogicWorks, silos hemos hecho correctamente.

    # !"#$%&' 2%'3)$

    ,%'-."/* 1Completad los siguientes cronogramas para el circuito de la puerta Xor-2 en suma de minterms,suponiendo que las puertas Not, And-2 y Or-2 tienen un retardo de 10, 20 y 20 u.t.respectivamente. Se analizan dos casos: Caso a, en que (x, y) pasa de (1, 0) a (0, 1) y caso b, enque (x, y) pasa de (0, 0) a (1, 1).

    !

    "!

    # % "!&' ( !&"'

    ) *) +)) +*)

    '

    "'

    ,+% "!&'

    ,-% !&"'

    !

    "!

    # % "!&' ( !&"'

    ) *) +)) +*)

    '

    "'

    ,+% "!&'

    ,-% !&"'

    ./01 /2 3+4 )5 67 3)4 +5 ./01 82 3)4 )5 67 3+4 +5

    Ahora vamos a simular el comportamiento temporal del circuito de la puerta Xor-2 en suma de minterms.Para ello haced lo mismo que hicisteis para probar el funcionamiento de las puertas bsicas.

    " !"#$%&' #)"*+

    ,%'-."/* 4a) El cronograma que dibujasteis para los casos a y b de la pregunta 2 del informe previo,

    coincide con el obtenido ahora con el simulador LogicWorks? Si no coincide explicad porqu.b) Rellenad la columna d de la siguiente tabla, que es equivalente a la que usamos al analizar la

    puerta And-2 y Or-2, pero ahora para el circuito Xor-2 en suma de minterms. En la columna d

    indicar los casos en que la salida no cambia con 0 u.t. (n.c.) y los casos de glitch con eltiempo seguido de la palabra glitch entre parntesis.

    Text

  • 5/28/2018 Pract1

    8/15

    #$%&'()*+*,--./*0123*04*5262%% /*73&68%9&)2)*: ;&)8* 2)2;13$24 E

    Valor de lasentradas x e y,

    (x, y), en t-t

    Valor de lasentradas x e y,

    (x, y), en t+t

    d(delay)

    (0, 0)(0, 1)(1, 0)(1, 1)

    (0, 1)

    (0, 0)

    (1, 0)(1, 1)

    (1, 0)(0, 0)(0, 1)(1, 1)

    (1, 1)(0, 0)(0, 1)(1, 0)

    c) Explicad para alguno de los casos en que se ha producido un glitchpor qu se ha producidoe indicad la duracin del pulso y por qu dura lo que dura.

    d) Cul es el tiempo de propagacin de cada una de las entradas a la salida?Tpx-w = ; Tpy-w=

    La siguiente figura muestra el camino crtico de la entrada y a la salida w (en la figura se han etiquetadolas puertas con un nombre para cada una y su tiempo de propagacin). Hay dos posibles caminos otrayectorias que van de la entrada y a la salida w:

    1. y N2 A2 O1 w

    2. y A1 O1 w

    El tiempo de propagacin del primer camino, Tp1, y del segundo, Tp2, es:Tp1 = Tp(N2) + Tp(A2) + Tp(O1) = 10 + 20 + 20 = 50 u.t.Tp2 = Tp(A1) + Tp(O1) = 20 + 20 = 40 u.t.

    El camino crtico de y a w es el primero, y se muestra en la figura.

    # !"#$%&' 2%'3)$,%'-."/* 4a) Indicad todos los posibles caminos desde la entrada xa la salida w(la secuencia de puertas

    por las que pasa) Cul de ellos es el camino crtico y por qu?b) Cul es el tiempo de propagacin del circuito desde cada una de las entradas a la salida?

    Tpx-w= Tpy-w=c) Cul es el tiempo de propagacin del circuito?

    1.2.6 Encapsulado del circuito

    Lo primero que debemos hacer es preparar el circuito para poderlo encapsular. Primero quitamos losBinary Switch y los Binary Probe que hemos introducido en el circuito. Tambin podemos quitar elnombre de las puertas y de las seales, si lo queremos dejar ms limpio. Luego ya podemos usar elprocedimiento que explicamos en la prctica 0 y que no vamos a repetir aqu.

    20

    200(n.c)

  • 5/28/2018 Pract1

    9/15

    #$%&'()*+*,--./*0123*04*5262%% /*73&68%9&)2)*: ;&)8* 2)2;13$24*

    F

    En la librera de dispositivos LibPrac1 encontraris un dispositivo denominado Xor-2-P1. Es un smbolode una puerta Xor, que nosotros hemos creado, para que no tengis que dibujar vosotros smbolos con eleditor de dispositivos. Este smbolo no tiene asociado (attached) el circuito correcto de una Xor. Esto eslo que tenis que hacer vosotros (slo tiene asociado un circuito con los port connectors de las entradasx e y as como el de la salida w, para que vosotros completis el circuito.

    1.2.7 Comprobacin del circuito encapsulado

    Ahora vamos a comprobar que el dispositivo Xor-2-P1 que acabamos de crear tiene el comportamientoesperado. Para ello, abrid un nuevo circuito y aadid el dispositivo a la hoja de edicin de circuitos comosi de una puerta bsica se tratara.

    Si hacis doble clic sobre la puerta Xor-2-P1 que habis colocado en la hoja de edicin se os abrir una nueva ventanadonde veris su implementacin interna, la que tiene asociada, que es la que vosotros habis construido en esta

    prctica. Para volver a la ventana anterior utilizad Ctrl+Shift+U. o haced clic en el botn de cerrar ventana (ojo nohacedlo en la ventana que contiene toda la aplicacin).

    Aadid los Binary Switch y Binary Probe necesarios y simulad su comportamiento para cada una de susposibles entradas, como ya sabemos hacer de secciones anteriores.

    " !"#$%&' #)"*+

    ,%'-."/* 5Cuando estis seguros del correcto funcionamiento de vuestro circuito Xor-2-P1, avisad alprofesor de laboratorio y pedidle que revise vuestro trabajo.

    En la seccin 1.3.6 usaremos esta puerta Xor que acabamos de crear para hacer un circuito mscomplejo, como es el Half-adder, que primero implementaremos en suma de minterms.

    1.3 El Half-adder (Ha)

    1.3.1 Especificacin

    Un Half-adder es un circuito combinacional que tiene dos bits de entrada y dos de salida. El Half-addercuentael nmero de unos que hay en sus dos entradas y codifica el resultado en binario en los dos bitsde salida (c, s), el bit de mayor peso es el c (que significa carry, acarreo, me llevo una) y el de menorpeso es el s (que significa suma). Dado que como mximo habr dos unos en las entradas, con dos bitses suficiente para codificar el resultado de la cuenta, y todava sobra la combinacin c=1, s=1 que nuncase dar. Los posibles usos del Half-adder los comentaremos en la prxima prctica, pero podis suponerque es un elemento muy til y que vale la pena crearlo. Veamos su especificacin lgica mediante sutabla de verdad:

    x y c s

    0 0 0 0

    0 1 0 1

    1 0 0 1

    1 1 1 0

    1.3.2 Diseo del circuito en suma de minterms

    # !"#$%&' ,%'3)$

    ,%'-."/* 5a) Cul es la expresin lgica en suma de minterms de cada una de las dos salidas del Half-

    adder, c y s?b) Dibujad el esquema del circuito Half-adder obtenido directamente de las expresiones lgicas

    en suma de minterms de sus salidas.

  • 5/28/2018 Pract1

    10/15

    #$%&'()*+*,--./*0123*04*5262%% /*73&68%9&)2)*: ;&)8* 2)2;13$24*

    ?-

    1.3.3 Implementacin del circuito en LogicWorks

    Ahora, abrid un circuito nuevo de LogicWorks y construid el circuito Half-adder en suma de minterms quehabis propuesto en la seccin anterior (pregunta 4 del informe previo), siguiendo el estilo empleado parala puerta Xor-2.

    1.3.4 Comprobacin del circuito

    Aadid Switches en las entradas y poned Probes a los minterms y en las salidas cy s. Comprobad quelos valores obtenidos para cada entrada se corresponden con los de la tabla anterior.

    1.3.5 Tiempo de propagacin

    Como podis comprobar por observacin, en este circuito un cambio en una entrada no tarda lo mismoen propagarse a cada una de las dos salidas. En general, como ya hemos dicho, en un circuito (odispositivo) complejo, con varias entradas y varias salidas, el tiempo de propagacin desde la entradaiala salida j no tiene porqu ser el mismo para cada pareja de seales de entrada y salida (i, j). Todosestos tiempos caracterizan al circuito (o dispositivo).

    # !"#$%&' 2%'3)$

    ,%'-."/* 6Suponiendo que la puerta Not-1 tiene un tiempo de propagacin de 1 unidad de tiempo y laspuertas And-2 y Or-2 introducen un retardo de 3 unidades de tiempo:a) Indicad el camino crtico de cada pareja entrada-salida para el circuito Half-adder que habis

    diseado. Para ello, dad nombre a cada puerta e indicad la secuencia de puertas que formacada camino crtico. Para una pareja entrada-salida puede haber ms de un camino crticodiferente (todos ellos con el mismo tiempo de retardo, que es el mximo de todos los posiblescaminos entre esa entrada y esa salida). En este caso, listad solamente uno de elloscualquiera.

    Camino crtico x-c:Camino crtico x-s:Camino crtico y-c:

    Camino crtico y-s:b) Listad los tiempos de propagacin de cada pareja entrada-salida:Tx-c = ; Tx-s = ; Ty-c = ; Ty-s =

    Ahora, calculad a mano el tiempo de propagacin de todas las parejas entrada-salida de vuestrocircuito Ha, sabiendo los tiempos de propagacin reales de las puertas involucradas que habisencontrado en esta prctica.

    Comprobad midiendo el tiempo en los cronogramas, que los tiempos que habis calculado a manocoinciden con lo simulado por LogicWorks.

    " !"#$%&' #)"*+

    ,%'-."/* 6Listad los tiempos de propagacin de cada pareja entrada-salida para el Half-adder:

    Tx-c = ; Tx-s = ; Ty-c = ; Ty-s =

    1.3.6 Otra implementacin del Half-adder

    Fijaos en la salida sde tabla de verdad de Half-adder y en la tabla de verdad de la puerta Xor. Tambinpodis fijaros en la implementacin que habis hecho de la salida s del Half-adder y en laimplementacin de la Xor-2-P1. La conclusin de esta observacin es que la salida ses la Xor de xe y,

    !"# = .

    Ya que tenemos implementada la puerta Xor, vamos a usarla en el diseo del Half-adder. Eliminad laspuertas que implementan la salida s y sustituidlas por el dispositivo Xor-2-P1 que habis creado y que seencuentra en vuestra librera de dispositivos. Salvad este circuito con el nombre Ha-P1, pero no cerris elcircuito.

  • 5/28/2018 Pract1

    11/15

    #$%&'()*+*,--./*0123*04*5262%% /*73&68%9&)2)*: ;&)8* 2)2;13$24*

    ??

    1.3.7 Encapsulado del circuito

    Encapsulad el nuevo circuito. Seguid el mtodo de encapsulado usual. En este caso, utilizad el elementoHa-P1 de la librera como smbolo, el cual ya tiene asociados los port connectors.

    1.3.8 Comprobacin del circuito encapsuladoComprobad el correcto funcionamiento del circuito Ha-P1 una vez encapsulado tal y como habis hechocon la Xor-2. Comprobad que las salidas se ajustan a lo esperado segn la tabla de verdad para cadauna de las combinaciones de valores de las entradas.

    " !"#$%&' #)"*+

    ,%'-."/* 7Cuando estis seguros del correcto funcionamiento de vuestro circuito Ha-P1, avisad al profesorde laboratorio y pedidle que revise vuestro trabajo

  • 5/28/2018 Pract1

    12/15

    #$%&'()*+*,--./*0123*04*5262%% /*73&68%9&)2)*: ;&)8* 2)2;13$24*

    ?,

    !"#$%&' 2%'3)$ ,%89/)9*:0

    Apellidos y nombre: ......................................................... .................................................Grupo ..............

    Apellidos y nombre: ......................................................... .................................................Grupo ..............

    (Por orden alfabtico)

    ,%'-."/* 0

    x y !x !y m0(x, y)=!x !y

    m1(x, y)=!x y

    m2(x, y)=x !y

    m3(x, y)=x y

    m1+m2=!x y + x !y

    0 0

    0 1

    1 0

    1 1

    ,%'-."/* 1

    !

    "!

    # % "!&' ( !&"'

    ) *) +)) +*)

    '

    "'

    ,+% "!&'

    ,-% !&"'

    !

    "!

    # % "!&' ( !&"'

    ) *) +)) +*)

    '

    "'

    ,+% "!&'

    ,-% !&"'

    ./01 /2 3+4 )5 67 3)4 +5 ./01 82 3)4 )5 67 3+4 +5

  • 5/28/2018 Pract1

    13/15

    #$%&'()*+*,--./*0123*04*5262%% /*73&68%9&)2)*: ;&)8* 2)2;13$24*

    ?@

    ,%'-."/* 4

    a)

    b)Tx-w = ; Ty-w =

    c)

    ,%'-."/* 5

    a)

    b)

    ,%'-."/* 6

    a)Camino crtico x-c:

    Camino crtico x-s:

    Camino crtico y-c:

    Camino crtico y-s:

    b) Tx-c = ; Tx-s = ; Ty-c = ; Ty-s =

  • 5/28/2018 Pract1

    14/15

    #$%&'()*+*,--./*0123*04*5262%% /*73&68%9&)2)*: ;&)8* 2)2;13$24*

    ?A

    Informe final Prctica-1

    Apellidos y nombre: ......................................................... ........................................Grupo.......................

    Apellidos y nombre: ......................................................... .........................................Grupo......................

    (Por orden alfabtico)

    ,%'-."/* 0"#$%&'()

    Valor de lasentradas c y d,

    (c, d), en t-t

    Valor de lasentradas c y d,

    (c, d), en t+t

    d(delay)

    (0, 0)(0, 1)(1, 0)(1, 1)

    (0, 1)(0, 0)(1, 0)(1, 1)

    (1, 0)(0, 0)(0, 1)(1, 1)

    (1, 1)(0, 0)(0, 1)(1, 0)

    Explicacin:

    ,%'-."/* 1

    Tp(Not-1) = Tp(And-2) = Tp(Or-2) =

    ,%'-."/* 4

    a)

    .b) (2 puntos)

    Valor de lasentradas x e y,

    (x, y), en t-t

    Valor de lasentradas x e y,

    (x, y), en t+t

    d(delay)

    (0, 0)(0, 1)(1, 0)(1, 1)

    (0, 1)(0, 0)(1, 0)(1, 1)

    (1, 0)(0, 0)(0, 1)(1, 1)

    (1, 1)

    (0, 0)

    (0, 1)(1, 0)

  • 5/28/2018 Pract1

    15/15

    #$%&'()*+*,--./*0123*04*5262%% /*73&68%9&)2)*: ;&)8* 2)2;13$24*

    ?B

    c) (1 punto)

    d) (1 punto) Tpx-w = ; Tpy-w =

    ,%'-."/* 5 "* $%&'(+)Xor-2-P1.

    Comentario del profesor: Firma del profesor:

    ,%'-."/* 6 "# $%&'()

    Tx-c =

    Tx-s =

    Ty-c =

    Ty-s =

    ,%'-."/* 7 "* $%&'(+)Ha-P1.

    Comentario del profesor: Firma del profesor: