Sei sulla pagina 1di 20

PRCTICA 2 Implementacin Combinacional de un Sumador e Introduccin a los Circuitos Secuenciales.

Objetivos que se deben haber alcanzado antes de realizar la prctica Antes de preparar esta prctica se deben haber alcanzado los objetivos especficos que se indican en la siguiente tabla. Para ello, es recomendable haber estudiado las secciones de la documentacin que se indican en la primera columna de la tabla. Secciones de la documentacin a estudiar Captulo 3: Seccin 3.2 Captulo 5: Secciones 5.1.3, 5.1.4 y 5.1.5. Seccin 5.2.2 y 5.3. Secciones 5.5.2 y 5.5.3. Seccin 5.1.8 Estos objetivos sern evaluados en el informe previo que debis entregar al inicio de la sesin de laboratorio y en la prueba previa individual que se har al inicio de la sesin. Objetivos que se deben alcanzar al realizar la prctica Despus de realizar esta prctica, adems de haber mejorado el nivel de consecucin de los objetivos necesarios para preparar la prctica (citados en la tabla anterior) y de los objetivos de la prctica anterior relativos al manejo del programa LogicWorks, el alumno ser capaz de: 1) 2) 3) 4) Implementar en LogicWorks un sumador binario combinacional con propagacin del acarreo usando Full-adders. Encapsular el dispositivo usando buses de 16 bits para las entradas y salidas del circuito. Obtener el tiempo de propagacin del sumador binario usando LogicWorks. Implementar en LogicWorks un circuito secuencial a partir de un grafo de estados y comprobar su correcto funcionamiento. Obtener el tiempo de ciclo mnimo de un circuito secuencial usando LogicWorks.

Esta prctica tiene dos partes bien diferenciadas: a) implementacin de un sumador combinacional conectando Full-adders en propagacin del acarreo y b) introduccin al biestable D activado por flanco (secuencial ms simple que usaremos para construir otros ms complejos) e implementacin de un circuito secuencial contador.

2.a) Implementacin combinacional de un sumador


2.a.1 Repaso de la prctica 1
Ya sabemos implementar circuitos combinacionales de pocas entradas. En la prctica 1 hemos construido un circuito combinacional con dos entradas (x, y) y dos salidas (c, s), denominado Half-adder, que suma dos bits con el mismo peso. En esta parte de la prctica, primero vamos a utilizar el bloque Half-adder para construir un bloque combinacional que suma tres bits con el mismo peso, denominado Full-adder, y por ltimo vamos a usar los Full-adder para disear un sumador de nmeros naturales de 16 bits.

2.a.2 Diseo del Full-adder con Half-adders


Un Full-adder tiene tres entradas y dos salidas, por lo que se puede sintetizar perfectamente con el mtodo sistemtico que hemos estudiado: formulacin de la tabla de verdad e implementacin en suma de minterms. Sin embargo, ahora vamos a encontrar otra implementacin del Full-adder sin seguir ningn mtodo sistemtico. Sabemos que un Half-adder suma dos bits del mismo peso y que un Full-adder suma tres bits del mismo peso. Sabramos sumar tres bits haciendo varias sumas de dos bits cada una? Si sabis hacerlo sobre el papel y con ejemplos, tambin podis implementar un circuito que lo haga!

Informe previo Pregunta 1


Dibuja un circuito que sume tres bits del mismo peso (que haga la funcionalidad de un Full-adder) usando solamente dispositivos Half-adder (puedes usar los que desees, pero slo Half-adders, ni una puerta ms!).

A continuacin mostramos tres diseos, uno de ellos es un Full-adder implementado con menos de tres Half-adders y alguna puerta ms.

A)
x y z

B)
x y z

C)
x y z

HA c s

HA c s HA c s

HA c s

HA c s

Informe previo Pregunta 2


a) Construye una tabla de verdad para cada uno de los tres diseos y comprala con la tabla de verdad del Full-adder. Cul de ellos es un Full-adder? Por qu no se realiza correctamente la suma de los tres bits para los circuitos que no son un Full-adder? (Piensa en los pesos de los bits a sumar y en los pesos de los resultados parciales y finales. Si los dos bits que entran 0 0 en un Half-adder tienen peso 2 , la salida s tiene tambin peso 2 , pero la salida c tiene peso 1 2 ). Al diseo correcto del Full-adder obtenido de esta pregunta lo denominaremos Fa-ha (las siglas ha indican que est construido con half-adders) Cada uno de los Half-adders que hemos usado en estos diseos est construido con una And2 para la salida c y una Xor-2 para la salida s (como hicimos en la prctica 1). Si el tiempo de propagacin de una And-2 es de 20 u.t., el de una Xor-2 es de 50 u.t. y el de una Or-2 es de 20 u.t., cul es el tiempo de propagacin de cada entrada a cada salida, para cada uno de los tres circuitos anteriores? Diseo A) Tpx-c = Tpy-c = Tpz-c = Tpx-s = Tpy-s = Tpz-s = Diseo B) Tpx-c = Tpy-c = Tpz-c = Tpx-s = Tpy-s = Tpz-s = Diseo C) Tpx-c = Tpy-c = Tpz-c = Tpx-s = Tpy-s = Tpz-s =

b)

c)

Son intercambiables las entradas del Fa-ha en cuanto a tiempo de propagacin (Tpx-c = Tpy-c= Tpz-c?, Tpx-s = Tpy-s= Tpz-s? )?

2.a.3 Implementacin del circuito en LogicWorks


Implementad en LogicWorks el Fa-ha. Para ello, utilizad el dispositivo Half-adder (Ha) de la librera de esta prctica 2, LibPrac2. El dispositivo Full-adder dentro del que tenis que dibujar el circuito que vais a crear con vuestros Half-adders se encuentra en la librera con el nombre Fa-ha. Como en anteriores prcticas este dispositivo tiene adjunto un circuito con slo los port connectors y vosotros tenis que completar el esquema. Despus de encapsularlo y salvarlo probad su funcionalidad con el simulador LogicWorks, para aseguraros que el proceso se ha realizado correctamente.

Informe final Pregunta 1


Cuando estis seguros del correcto funcionamiento del dispositivo encapsulado Fa-ha, avisad al profesor de laboratorio y pedidle que revise vuestro trabajo y firme el informe final.

Como conclusin podemos decir que hay distintas formas de implementar un Full-adder (como cualquier otro dispositivo). Todas las implementaciones tienen el mismo comportamiento lgico (la misma tabla de verdad) pero pueden tener distinto comportamiento en cuanto a tiempos de propagacin, nmero de puertas y tipos de puertas utilizadas.

2.a.4 Algoritmo de suma en binario


El objetivo principal de esta prctica es implementar un sumador de dos nmeros naturales, Xu e Yu, representados en binario con 16 bits cada uno:

X x15x14 x1x0

Y y15 y14 y1 y0

con

xi , yi {0,1}i .
puede valer

Como Xu e Yu pueden valer cada uno: 0


17

x, y 2 1 ,

16

la suma Wu = Xu + Yu

0 Wu 2 2 .

Esto nos indica que el resultado w necesita un vector de 17 bits para

representar todos los posibles resultados de la suma:

W w16w15 w1w0 . As pues, nuestro circuito

combinacional tendr 32 entradas y 17 salidas de un bit. Ya no es un circuito con pocas entradas y salidas, verdad?

Informe previo Pregunta 3


a) b) Cuntas filas tiene la tabla de verdad que especifica el funcionamiento del sumador binario de dos nmeros de 16 bits? No es viable construir el sumador binario de nmeros de 16 bits con la metodologa que hemos usado en la prctica 1 (especificacin mediante tabla de verdad, obtencin de las expresiones en suma de minterms e implementacin directa de estas expresiones con puertas Not, And y Or) Por qu? Justifica las razones.

Dada la inviabilidad de construir un sumador a partir de la especificacin exhaustiva del valor de las salidas para todos los posibles valores de las entradas, vamos a implementar el sumador usando un algoritmo equivalente al que usamos cuando sumamos en decimal con lpiz y papel, pero ahora en base sumador binario en propagacin del acarreo.

Informe previo Pregunta 4


Completad las siguientes tablas siguiendo el algoritmo de suma con propagacin del acarreo: a) Suma en Hexadecimal (b=16) de los vectores de dgitos hexadecimales X=A3B2 e Y=8E64

Dgito 4

X Y
k =0 k =1 k=2 k=3 w0 c1 w1 c2 w2 c3 w3 c4 W

Dgito 3 A 8

Dgito 2 3 E

Dgito 1 B 6

Dgito 0 2 4

b)

Obtened los valores Xu, Yu y Wu (en decimal) de los nmeros naturales representados hexadecimal por los vectores de dgitos X, Y y W. Realizad el clculo Xu + Yu (en decimal) y comprobad que os da igual al valor Wu obtenido. Si es as, la suma en hexadecimal que habis hecho en el apartado anterior es correcta. Xu = Yu = Wu = Xu + Yu = Wu? Suma en binario (b=2) de los vectores de bits X=0101 e Y=1101 Dgito 4 Dgito 3 0 1 Dgito 2 1 1 Dgito 1 0 0 Dgito 0 1 1

c)

X Y
k =0 k =1 k=2 k=3 w0 c1 w1 c2 w2 c3 w3 c4 W

d)

Obtened los valores Xu, Yu y Wu (en decimal) de los nmeros naturales representados en binario por los vectores de dgitos X, Y y W. Realizad el clculo Xu + Yu (en decimal) y comprobad que os da igual al valor Wu obtenido. Si no es as, la suma en binario que habis hecho en el apartado anterior no es correcta. Xu = Yu = Wu = Xu + Yu = Wu?

2.a.5 Sumador binario combinacional con propagacin del acarreo


La implementacin combinacional del algoritmo de suma en binario se obtiene disponiendo de n Fulladders (tantos como bits tienen los nmeros a sumar, en nuestro ejemplo n = 4) y conectandolos como indica la siguiente figura. Aunque el primer Fa podra ser un Ha porque c0 vale 0, dejamos un Fa-ha. A pesar de que la entrada c0 no la usamos en esta prctica, es til en otras ocasiones.

x3 y3 xyz Fa c s c w c4 w3 Fa c s Fa3

x2 y2

x1 y1

x0 y0 c0

Fa c s Fa2

Fa c s Fa1

Fa c s Fa0

w2

w1

w0

Fijaos que en el diseo de la figura, la salida

w4 c4 ). No hemos nombrado w4 porque en los computadores generalmente todos los datos tienen el mismo nmero de dgitos. Cuando la salida cn del sumador vale 1 nos indica que el resultado correcto de
la suma no puede representarse en binario con n bits.

w4 la

hemos denominado

c4

(esto es correcto ya que

2.a.6 Implementacin del circuito en LogicWorks


Implementad en LogicWorks el sumador binario combinacional con propagacin del acarreo que hemos diseado en esta prctica, para n = 4, usando dispositivos Fa-ha. Colocad Binary Switch en las entradas y Binary Probe en las salidas para comprobar su correcto funcionamiento. El resultado de vuestro trabajo tiene que ser algo parecido a lo siguiente.
1 0 1 0 1 0 1 0 1 0 1 0

1 0

1 0

1 0 Fa c s Fa c s Fa c s Fa c s

Informe final Pregunta 2


Cuando estis seguros del correcto funcionamiento del circuito sumador con Fa-ha, avisad al profesor de laboratorio y pedidle que revise vuestro trabajo y firme el informe final.

2.a.7 Tiempo de propagacin del sumador


Vamos a calcular el tiempo de propagacin de un sumador de dos nmeros de 4 bits implementado con Fa en propagacin del acarreo para el caso de implementar cada Fa con dos Ha y una puerta Or-2. Para ello es de gran ayuda la siguiente figura que muestra el sumador binario con dispositivos Fa-ha pero sin que se visualicen los bloques Fa-ha, sino viendo directamente todas las puertas con que estn construidos los Half-adders que se usan para construir los Full-adders. Tambin os ayudar para estos ejercicios que recordis los tiempos de propagacin de las puertas, que la Xor-2 puede tener un tiempo de propagacin de 40 o de 50 dependiendo de los valores concretos de sus entradas, por lo que para calcular caminos crticos hay que considerar que el tiempo es el de la combinacin de valores que produce el mximo retardo, 50 u.t.

Informe previo Pregunta 5


Para la implementacin basada en los Full-adders Fa-ha (suponed que el tiempo de propagacin de las puertas And-2, Or-2 y Xor-2 es 20, 20 y 50 u.t. respectivamente): a) Indicad qu pareja entrada-salida es la que tiene mayor tiempo de propagacin (o una de las parejas de entrada-salida si hay varias con el mismo tiempo mximo). Listad la secuencia de Full-adders, indicando la entrada y la salida de cada Full-adder, por la que pasa el camino crtico de la entrada a la salida con mayor tiempo de propagacin del sumador. Por ejemplo, si 1 el camino crtico pasara por el Full-adder 1 (el que suma los bits de peso 2 ) entrando por z y saliendo por c, en la lista debe indicarse ..., -> Fa1z-c -> ..... b) Cul es el tiempo de propagacin del sumador? Cmo has obtenido este tiempo?

Informe previo Pregunta 6


a) Expresa, para n = 1, n = 2 y para el caso general de n > 2 bits, el tiempo de propagacin del sumador binario construido con Fa-ha.

Nos centramos ahora en el sumador basado en Fa-ha, para reducir el trabajo de la siguiente pregunta. El circuito sumador que hemos diseado usando Fa-ha, como en general ocurre con cualquier circuito, no tarda siempre lo mismo en dar el resultado correcto y estable en sus salidas. Este tiempo depende de las entradas concretas en las que se produce el cambio, del valor de las entradas antes y despus de producirse un cambio y del valor de las entradas que no cambian. (Cuando hablamos de tiempo de propagacin estamos considerando el peor caso). El siguiente ejercicio trata de este aspecto, aunque es un tema que no debe obsesionarnos, pues excepto en estos ejercicios siempre hablamos de tiempo de propagacin considerando que los valores de las entradas son los que producen el mayor tiempo de propagacin y lo obtenemos calculando el camino crtico. Es til que recordis para responder a las siguientes preguntas que cuando una puerta And-2 tiene una entrada fijada a 0, la salida es 0 independientemente del valor de la otra entrada. De forma dual, cuando una puerta Or-2 tiene una entrada fija a 1, la salida vale 1 independientemente del valor de la otra entrada. Adems, como ya vimos en la prctica anterior, la puerta Xor-2 tiene un tiempo de propagacin que depende de los valores concretos que cambian en sus entradas (realmente, segn el cambio a veces el tiempo es de 0 u.t., 40 u.t. o 50 u.t.). Copiamos a continuacin la tabla de tiempos de la puerta Xor-2. Valor de x e y en t-t 00 Valor de x e y en t+t 01 10 11 00 10 11

01

d (delay) 40 40 50 40 50 50

10

11

00 01 11 00 01 10

40 50 50 0 50 50

Informe previo Pregunta 7


a) Suponed que en el sumador de dos nmeros de 4 bits construido con Fa-ha todas las entradas han valido 0 durante mucho tiempo antes del instante t. En el instante t las entradas pasan a valer: X = 1010, Y = 0101 y C0 = 1. La salida wk se estabiliza con su valor correcto en el instante de tiempo t+dk, para k = 0,..,3 y la salida c4 se estabiliza en el tiempo t+d4. Cunto vale dk para cada una de las cinco salidas del sumador, c4, w3,,w0?

d4

d3

d2

d1

d0

b)

Repetid el ejercicio anterior para X = 1010, Y = 0101 y C0 = 0. d4 d3 d2 d1 d0

c)

Explicad las diferencias entre el caso a) y b): i. Por qu en el caso a) d3 es mayor que d2, d2 mayor que d1, y d1 mayor que d0 mientras que en el caso b) d3, d2, d1 y d0 tienen el mismo tiempo? ii. Por qu en el caso a) d4 es menor que d3 mientras que en el b) d4 es 0?

Vamos a comprobar en el laboratorio si son correctas vuestras respuestas a la pregunta 8 del informe previo. Para ello, en el sumador con Fa-ha, poned un Switch que vaya a la entrada del acarreo del primer Full-adder (c0) y cuatro Switches ms en las entradas de cada uno de los dos nmeros que queremos sumar. Dad nombres a las salidas para poder visualizar en la ventana de tiempos del LogicWorks los cronogramas de las seales de salida.

Informe final Pregunta 3


Comprobad mediante los cronogramas del LogicWorks si son ciertas las respuestas que habis dado a la pregunta 8 del informe previo. a) Suponed que en el sumador construido con Fa-ha todas las entradas han valido 0 durante mucho tiempo antes del instante t. En el instante t las entradas pasan a valer: X = 1010, Y = 0101 y C0 = 1. La salida wk se estabiliza con su valor correcto en el instante de tiempo t+d k, para k = 0,..,3 y la salida c4 se estabiliza en el tiempo t+d4. Cunto vale dk para cada una de las cinco salidas del sumador, c4, w3,,w0?:

d4

d3

d2

d1

d0

Coincide con la respuesta del informe previo? Si no coincide indicad la razn. b) Repetid el ejercicio anterior para X = 1010, Y = 0101 y C0 = 0. d4 d3 d2 d1 d0

Coincide con la respuesta del informe previo? Si no coincide indicad la razn.

2.a.8 Encapsulado del circuito


Ahora vamos a encapsular un circuito sumador como el que habis implementado pero para n=16, que es el tamao de palabra del computador que construimos en este curso. El smbolo dentro del que encapsularis el circuito lo hemos dibujado nosotros y se encuentra en la librera LibPrac2, con el nombre de ADD-P2. Si lo copiis de la librera a un circuito veris la figura de la derecha. Las patillas del dispositivo no son negras y finas, como ocurra hasta ahora, sino azules y gruesas. Cada una de estas lneas azules representa un bus de n bits (n=16 en nuestro caso), una patilla de tipo bus. Esta es una facilidad muy interesante que nos ofrece LogicWorks: de los dispositivos pueden entrar y salir buses para interconectar dispositivos con solamente una lnea gruesa que simboliza n bits. Si hacis doble clic ahora en el smbolo del ADD aparece el circuito que se muestra a continuacin. El circuito interno consta solamente de los PORT CONNECTORS de los buses de entrada X e Y (dispositivos PORTIN de 16 bits, que son ms grandes que los que ya conocis, PortIn, de un bit) y del bus de salida W (dispositivo PORTOUT, tambin ms grande que los PortOut de un bit). No cambiis el nombre de estos PORT CONNECTORS pues debe coincidir con el nombre de las patillas de buses que nosotros hemos puesto al crear el smbolo del dispositivo ADD-P2 (estos nombres deben coincidir al igual que ocurra con los nombres de los Port Connectors y las patillas de un bit). Todos los buses que vamos a usar en este curso son de 16 bits y las 16 seales internas (los 16 bits del bus) se denominan siempre : b15, b14, , b2, b1, b0, independientemente del nombre del bus. Si no seguimos este convenio nuestros diseos no funcionaran, ya que esos son los nombres que hemos dado a los bits de los buses de los conectores PORTIN y PORTOUT. Al final de esta seccin vais a completar el circuito interno del dispositivo ADD-P2 con un circuito sumador con propagacin del acarreo para n=16 bits. As, cuando hagis doble clic en el smbolo se abrir su interior y aparezca un circuito como el que se muestra a continuacin. Conseguir esto es vuestro objetivo ahora.
W

Para acceder a los cables de un bit que hay dentro de un bus, hay que usar un Breakout. Para poner un breakout en un circuito tenis que ir al men Schematic -> New Breakout. Nos aparece una ventana que nos pregunta o Pin List. Aqu tenis que copiar: b0..15 (exactamente as, de lo contrario no funcionar) o Pin Spacing. Podis usar el nmero 1, 2, 3, 4, etc. Dependiendo de lo separados que queris que salgan los cables del bus (probad distintas opciones para ver el resultado). Si usis el espaciado 6 como hemos usado nosotros en el circuito anterior, el diseo os cabr en una sola pgina y quedar muy bonito. Se puede dibujar un bus de n bits (que es una lnea azul gruesa) para unir, por ejemplo, el bus del PORTIN X con un breakout que obtendr sus bits internos, o para unir dos patillas de tipo bus de dos

dispositivos en un circuito complejo. Para ello se estira de la patilla de tipo bus del dispositivo (como se hace para el caso de cables de 1 bit), o se usa el botn cables de un bit). (equivalente al botn usado para dibujar

Despus de esta pequea introduccin sobre los buses en LogicWorks vamos a dibujar el circuito en la pgina que se abre al hacer doble clic sobre el smbolo ADD y que slo contiene los tres PORT CONNECTORS. Ahora ya podis crear tres breakout, dos para conectarlos a los PORTIN X e Y y otro para conectarlo a W, como se muestra en la figura anterior. El siguiente paso consiste en pegar los 16 Full-adder a los cables que salen de los breakout. Una vez terminado el circuito ya podis cerrarlo. Ahora podis seleccionar el smbolo ADD para salvar los cambios que habis hecho en su circuito interior en la librera LibPrac2, de la misma forma que ya conocis de la prctica anterior para los dispositivos que tienen patillas de un bit.

2.a.9 Comprobacin del circuito encapsulado


Para comprobar el dispositivo con el circuito encapsulado tenis que abrir el circuito Probe-ADD.cct. que hemos creado para que probis cmodamente el funcionamiento de vuestro sumador. Aparecer un esquema como este.
b15 b14 b13 b12 b11 b10 b9 b8 b7 b6 b5 b4 b3 b2 b1 b0

0 4 8 C

1 5 9 D

2 6 A E

3 7 B F

0 4 8 C

1 5 9 D

2 6 A E

3 7 B F

0 4 8 C

1 5 9 D

2 6 A E

3 7 B F

0 4 8 C

1 5 9 D

2 6 A E

3 7 B F

0 4 8 C

1 5 9 D

2 6 A E

3 7 B F

b15 b14 b13 b12

0 4 8 C

1 5 9 D

2 6 A E

3 7 B F

b11 b10 b9 b8

0 4 8 C

1 5 9 D

2 6 A E

3 7 B F

b7 b6 b5 b4

0 4 8 C

1 5 9 D

2 6 A E

3 7 B F

b3 b2 b1 b0

ADD

Tenis que sustituir el dispositivo ADD, cuyo circuito interno slo tiene los ports connectors, por vuestro dispositivo ADD-P2. Probad varios nmeros haciendo clic en los teclados hexadecimales y observad la salida en los displays hexadecimales. Comprobad que el sumador funcione correctamente.

Informe final Pregunta 4


Cuando estis seguros del correcto funcionamiento del dispositivo encapsulado ADD-P2, avisad al profesor de laboratorio y pedidle que revise vuestro trabajo y firme el informe final.

2.b) Introduccin a los circuitos secuenciales


En esta segunda parte de la prctica primero estudiamos el comportamiento del dispositivo secuencial ms sencillo que vamos a utilizar para luego construir otros circuitos secuenciales ms complejos: el biestable D activado por flanco. Para nosotros, los biestables son a los circuitos secuenciales como las puertas a los combinacionales: los elementos ms simples con los que construiremos el computador completo.

2.b.1 El biestable D activado por flanco


Un biestable es un circuito secuencial que consta de una entrada de datos D y otra de reloj, CLK y una salida Q, todas ellas de 1 bit. Su funcin es muy simple, cuando la seal de reloj pasa de 0 a 1 (se produce un flanco ascendente de reloj), el valor que se encuentra en ese momento en la entrada D del biestable, aparece en la salida Q, y permanece fijo ese valor en la salida aunque cambie el valor de la entrada D, hasta que se produzca otro flanco ascendente de reloj. En realidad, al igual que ocurre con las puertas lgicas, el biestable no modifica su salida en el mismo instante de tiempo en que llega el flanco ascendente de reloj. Un biestable real tiene un tiempo de propagacin distinto de cero. El tiempo de propagacin es el tiempo desde que se produce el flanco ascendente de la seal de reloj hasta que la salida Q se estabiliza al valor que tena la entrada D en el instante en que llego el flanco. (Adems hay otros parmetros temporales importantes en un biestable, como el tiempo de start-up y el tiempo de hold, que para simplificar no consideramos en este curso).

Informe previo Pregunta 8


Dado el circuito de la figura, rellenad el siguiente cronograma con el valor que tomar la seal Out en cada instante de tiempo. Suponed que el tiempo de propagacin del biestable es 1 u.t. (1 cuadrcula del dibujo) . 1 In

0
CLK D 0 Q Out

2.b.2 Generador de secuencia


Vamos a implementar un circuito lgico secuencial muy simple, pero que se parece mucho al que disearemos en la prctica 3 como unidad de control de un multiplicador secuencial. La funcionalidad de este circuito, que ahora nos puede parecer extraa, no debe importarnos por el momento, slo tenemos que saber cmo se comporta el circuito (dibujar un cronograma) a partir del grafo de Moore que especifica su funcionamiento y tambin tenemos que saberlo implementar. El circuito, cuya caja se muestra a continuacin tiene una entrada Ini y dos salidas w1 y w0 (adems de la entrada de reloj, Clk, como tienen todos los circuitos secuenciales).

Ini CLS-2 w1 w0
El comportamiento del circuito queda especificado en el siguiente grafo de estados.

10

Si consideramos que las salidas w1 y w0 representan un nmero natural codificado en binario con dos bits, podemos decir que el circuito genera la secuencia 1, 2, 3 y la repite indefinidamente si en el estado E3 la entrada Ini vale 1. Si Ini vale 0 en el estado E3 el sistema se va al estado inicial, E0, generando la salida 0 durante todos los ciclos que permanezca en este estado. Para salir del estado inicial Ini tiene que valer 1 durante un ciclo. El valor de Ini en los estados E1 y E2, en los que la salida vale 1 y 2 respectivamente, no afecta al funcionamiento del circuito.

Informe previo Pregunta 9 -> Ayuda : Mirad implementacin en siguiente hoja


Dibujad el esquema lgico interno del circuito CLS-2 usando el mnimo nmero de biestables D para implementar el estado y para las tablas de transicin (del estado siguiente) y de las salidas usad la implementacin en suma de minterms (con puertas Not, And y Or).

Informe previo Pregunta 10


Completa los cronogramas siguientes, suponiendo que el retardo desde que llega el flanco ascendente de reloj hasta que se estabilizan las salidas del circuito al valor correcto es de 1 unidad de tiempo (una cuadrcula del dibujo).

11

Estado Entrada Estado fututo Salida Q1Qo INI Q1+Q0+ w1w0 00 0 00 00 00 1 01 00 01 0 10 01 01 1 10 01 10 0 11 10 10 1 11 10 11 0 00 11 11 1 01 11 Q1+= !Q1Q0!INI+ !Q1Q0 INI+ Q1!Q0!INI + Q1!Q0 INI = = !Q1Q0+ Q1!Q0 Q0+= !Q1!Q0INI+ Q1!Q0!INI + Q1!Q0 INI + Q1Q0 INI = =!Q1!Q0INI+ Q1!Q0+ Q1Q0 INI

Estas es la entrada INI

Estas son las salidas

Tiempo de ciclo En un circuito secuencial el tiempo de ciclo (periodo) de la seal de reloj tiene que ser suficientemente grande como para que todas las seales que llegan a la entrada D de los biestables estn estables en su valor correcto cuando llegue el flanco ascendente de reloj. Si esto no ocurre, los biestables almacenarn valores incorrectos y el sistema no funcionar como debe. Para ello el periodo de la seal de reloj (el tiempo entre dos flancos ascendentes de reloj) debe ser mayor que el tiempo del camino crtico del circuito. Vamos a calcular el tiempo de ciclo mnimo del CLS-2.

Informe previo Pregunta 11


Considerando los tiempos de propagacin de las puertas Not-1, Or-2 y And-2 son 10, 20 y 20 unidades de tiempo respectivamente y que el tiempo de propagacin del biestable es de 100 unidades de tiempo, a) dibujad sobre el esquema del circuito CLS-2 que has propuesto del informe previo, el camino crtico (dibuja uno de ellos si es que hay varios caminos crticos) del circuito e indica el tiempo de este camino como la suma de tiempos de propagacin de los dispositivos por los que pasa (recordad que en general el tiempo de propagacin de un combinacional es distinto dependiendo de la entrada y salida que se consideren). b) cul es el tiempo de ciclo mnimo para que el circuito funcione correctamente?

Implementad en LogicWorks el circuito que habis diseado en la pregunta 9 del informe previo. Encontraris los dispositivos flip-flop (biestable D) y puertas And-2, Or-2 y Or-4 en la LibPrac2, Tambin se encuentra en esta librera el dispositivo CLS-2, que slo tiene ports connectors en su circuito interno, para que encapsulis vuestro diseo. Recordad que en el diseo de un circuito secuencial es necesario inicializar las salidas Q de los biestables, para que cuando comience el funcionamiento los biestables se pongan en el estado inicial del circuito. Los biestables de nuestras libreras de LogicWorks se encuentran por defecto inicializados a 0. Es decir, al hacer reset en el simulador, la salida de los biestables es 0. As que si el estado inicial de un biestable tiene que ser 0, como ocurre en esta prctica, no es necesario modificar el valor que est por defecto. No obstante, si al hacer reset quisiramos que un biestable concreto se inicialice a 1, habra que haber modificado previamente la definicin de ese biestable con el siguiente procedimiento. Haced clic con el botn derecho del cursor en la patilla Q del biestable (en la parte de la patilla cercana a la caja). La patilla se selecciona como indica la figura y aparece una ventana de dialogo. Seleccionad Attributes y aparece otra ventana en la que tenis que seleccionar InitialPin, Visible y poner un 1 la caja del valor, como muestra la figura. Por ltimo haced clic en Done y ya est. Aparece un 1 en azul al lado de patilla para recordar que ese biestable se inicializar a 1 al hacer reset.

12

Por ltimo, antes de comenzar la simulacin no olvidis de hacer clic en el botn de reset del simulador, , para inicializar los biestables de la unidad de control al valor que tienen asignado.

Informe final Pregunta 5


Cread un circuito con el dispositivo CLS-2 que habis construido, con un Binary Switch conectado a la entrada Ini, un BinarySwitchClk conectado a la entrada de reloj (este switch es distinto, tiene un pequeo retardo para que los cronogramas se vean con ms claridad, no hace falta que entendis el porqu) y un Binary Probe conectado a cada una de las salidas. Comprobad que el funcionamiento del circuito es el correcto creando secuencias de seales Ini y Clk parecidas a las de la pregunta 10 del informe previo. Comparad los resultados con los del informe previo. Cuando estis seguros del correcto funcionamiento del dispositivo encapsulado CLS-2, avisad al profesor de laboratorio y pedidle que revise vuestro trabajo y firme el informe final.

13

Informe previo Prctica-2


Apellidos y nombre: ................................................................................................................ Apellidos y nombre: ................................................................................................................ (por orden alfabtico) Grupo: ....... Grupo: .......

Pregunta 1

Pregunta 2
a)

b)

Diseo A) Tpx-c = Tpy-c = Tpz-c = Tpx-s = Tpy-s = Tpz-s = c)

Diseo B) Tpx-c = Tpy-c = Tpz-c = Tpx-s = Tpy-s = Tpz-s =

Diseo C) Tpx-c = Tpy-c = Tpz-c = Tpx-s = Tpy-s = Tpz-s =

14

Pregunta 3
a)

b)

Pregunta 4
a)

Dgito 4

X Y
k =0 k =1 k=2 k=3 w0 c1 w1 c2 w2 c3 w3 c4 W

Dgito 3 A 8

Dgito 2 3 E

Dgito 1 B 6

Dgito 0 2 4

b)

c) Dgito 4 Dgito 3 0 1 Dgito 2 1 1 Dgito 1 0 0 Dgito 0 1 1

X Y
k =0 k =1 k=2 k=3 w0 c1 w1 c2 w2 c3 w3 c4 W

d)

15

Pregunta 5
a)

b)

Pregunta 6
a)

Pregunta 7
a) d4 d3 d2 d1 d0

b) d4 d3 d2 d1 d0

c)

Explicad las diferencias entre el caso a) y b): i. Por qu en el caso a) d3 es mayor que d2, d2 mayor que d1, y d1 mayor que d0 mientras que en el caso b) d3, d2, d1 y d0 tienen el mismo tiempo?

ii. Por qu en el caso a) d4 es menor que d3 mientras que en el b) d4 es 0?

Pregunta 8

16

Pregunta 9

Pregunta 10

Pregunta 11
a) b) (Dibujado sobre el esquema respuesta de la pregunta 10 del informe previo)

17

Informe final Prctica-2


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

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

Grupo: .......

(por orden alfabtico)

Pregunta 1 (1 punto)
Fa-ha Comentario del profesor: Firma del profesor:

Pregunta 2 (1 punto)
Sumador de 4 bits Comentario del profesor: Firma del profesor:

Pregunta 3
a) (1 punto) d4 d3 d2 d1 d0

(0.5 puntos) Coincide con la respuesta del informe previo? Si no coincide indicad la razn.

b) (1 punto) d4 d3 d2 d1 d0

(0.5 puntos) Coincide con la respuesta del informe previo? Si no coincide indicad la razn.

Pregunta 4 (1 punto)
ADD-P2 Comentario del profesor: Firma del profesor:

Pregunta 5 (3 puntos)
CLS-2 Comentario del profesor: Firma del profesor:

19

Potrebbero piacerti anche