You are on page 1of 536

simplyjarod.

com

EDIG
Carpeta
Montero

Apuntes y exmenes ETSIT UPM

Si alguna vez estos


apuntes te sirvieron
de ayuda, piensa que
tus apuntes pueden
ayudar a muchas
otras personas.
Comparte tus apuntes
en simplyjarod.com

EDIG
Teora

~j

www.monteroespinosa.es

Clases de EDIG

Tfnos 91 5445377, 619142355

PROGRAMA DE LA ASIGNATURA

EDIG

1. Codificacin de la Informacin
Introduccin Electrnica Digital. Abstraccin digital (analgico vs. digital). Sistemas de
numeracin. Representacin nmeros negativos. lgebra de Boole. Axiomas. Operadores
bsicos. Tabla de Verdad. Puertas Lgicas simples y complejas. Mapas de Karnaugh.

2. Dispositivos de Lgica Programable (VHDL)


Introduccin a los dispositivos lgicos programables y a los lenguajes de descripcin
hardware (VHDL). Estructura cdigo VHDL. Sintaxis bsica.

3. Circuitos combinacionales
Multiplexores. Interconexin de varios MUX. Implementacin de funciones con MUX.
Codificadores y Decodificadores. Interconexin de varios codificadores. Comparadores.
Sumadores. Memorias no voltiles.

4. Circuitos secuenciales
Elemento biestable bsico. Bscula Set-Reset. Biestables activos por nivel (latch).
Biestables activos por flanco de CLK (flip-flops): tipo-D, po J-K y tipo-T. Temporizacin.
Registros de almacenamiento. Contadores. Registros de desplazamiento.

5. Autmatas (1,0 crdito)


Mquinas Moore y Mealy. Diagrama de estados. Tabla de transiciones autmatas.
l.

)"
'---

~--)
--------------~------------------~----------------------------------------

www.monteroespinosa.com - Clases de EDIG - Tfnos 91 544 53 77 , 619 142 355

TEMA 1: CODIFICACiN DE LA INFORMACiN


1.1 Sistemas de numeracin

(~.

Los smbolos
numricos con los que
ms familiarizados
estamos en la
actualidad se conocen
como dgitos
arbigos, ya que se
desarrollaron en la
cultura rabe medieval.
Como ya sabemos,
son:

1,2,3,4,5,6,7,8,9 Y o

Un sistema de numeracin se defme por sus smbolos bsicos, llamados dgitos cifras, y
las formas de combinar los mismos para representar toda la gama de nmeros que
requerimos.
Decimos que nuestra notacin de los nmeros es posicional, puesto que cada dgito de un
nmero tiene un valor fijo determinado por su posicin. Este valor viene dado por el dgito,
multiplicado por una potencia de la base de numeracin (con su posicin como
exponente, empezando por cero).
As, un nmero "N" se representa en base "b" como " ... d7d6dsd4d3d2d" donde "d" son los
dgitos.

do es el bit menos significativo (LSB)


d7 es el bit ms significativo (MSB)

(\ ).

Los sistemas ms habituales son el decimal (base 10), el binario (base 2), el octal (base 8)
y el hexadecimal (base 16) de los que se presentan los primeros valores en la siguiente

tabla:

'-j

Decimal

Binario

Octal

Hexadecimal

1
2
3
4
5
6
7

1
10
11
100
101
110
111
1000
1001
1010
1011
1100
1101
1110
1111

1
2
3
4
5
6
7
10
11
12
13
14
15
16
17

1
2
3
4
5
6
7

8
9

l~

10
11
12
13
14
15
1.1.1
Bit = "Binary Digit"
Los tamaos de
palabra normalmente
son potencias de 2.

8
9
A
8

e
D
E
F

Sistemas digitales. Tamao de palabra

Como veremos en epgrafes posteriores, los sistemas digitales trabajan con numeracin
binari, en la que a cada dgito lo llamaremos bit. Un aspecto importante de estos sistemas
es que slo pueden manejar nmeros con una cantidad fija de dgitos n. As, por ejemplo,
los computadores tienen un tamao de palabra especfico, que es la longitud (nmero de
bits) de los nmeros binarios procesados por las instrucciones internas del computador.

www.monteroespinosa.com - Clases de EDIG - Tfnos 91 5445377 , 619 142355

T-1.1

1.2 Conversin entre las bases ms comunes


De binario a:
-+

El subndice indica en
qu base est el
nmero

Octal: basta con agrupar los digitos binarios de tres en tres empezando por la derecha y
sustituir cada tema por el digito octal correspondiente (ver tabla de la pgina anterior).
Si el nmero de dgitos binarios no es multiplo de tres rellenamos con ceros por la
izquierda.
1011101100h

Ejemplo:
-+

Es igual que el octal


pero agrupando de
cuatro en cuatro

2731 8

Hexadecimal: basta con agrupar los digitos binarios de cuatro en cuatro empezando
por la derecha y sustituir cada grupo por el digito hexadecimal correspondiente (ver
tabla de la pgina anterior). Si el nmero de dgitos binarios no es multiplo de cuatro
rellenamos con ceros por la izquierda.
10111011001 2

Ejemplo:
-+

10 111 011 OOb

101 1101 100h

Decimal: multiplicamos cada dgito binario por 2 elevado a la posicin que ocupa.
Tras ello sumamos todo y sale el nmero en decimal
Ejemplo:
1011101100h = 1 . 210 + O . 29 + 1 . 2 8 + 1 . 27 + 1 . 26 + O . 2 5 +
+ 1 . 24 + 1 . 23 + 1 . 22 + O . 21 + 1 . 2

1497 10

De octal a:
-+

Binario: basta con sustituir los digitos en octal por los tres digitos equivalentes en
binario (ver tabla de la pgina anterior).
12348

Ejemplo:
-+

001 010011 1002

Hexadecimal: Primero pasamos el dgito octal a binario y despus de binario a


hexadecimal (ambos procedimientos ya estn explicados)
Ejemplo:

-+

12348

001 0100111002

0010 100111002

29C 16

Decimal: multiplicamos cada dgito octal por S elevado a la posicin que ocupa. Tras
ello sumamos todo y sale el nmero en decimal
12342 = 1 . S3 + 2 . S2 + 3 . SI + 4 . SO

Ejemplo:

66S 1O

De hexadecimal a:
-+

Binario: basta con sustituir los digitos en hexadecimal por los cuatro digitos
equivalentes en binario (ver tabla, de la pgina anterior).
Ejemplo:

-+

Octal: Primero pasamos el dgito hexadecimal a binario y despus de binario a octal


(ambos procedimientos ya estn explicados)
Ejemplo:

-+

CODE 16 = 1100 0000 110 1 11102

CODE 16

11000000110111102

= 1100 000 011

011110 2 = 140336 8

Decimal: multiplicamos cada dgito hexadecimal por 16 elevado a la posicin que


ocupa. Tras ello sumamos todo y sale el nmero en decimal
Ejemplo:
CODE16 = 12 163 + O . 162 + 13 . 161 + 14 . 16 = 49374 10
(

www.monteroespinosa.com - Clases de EDIG - Tfnos 91 5445377 , 619 142355

T-1.2

~-_/

De decimal a:
~

Binario: Se va dividiendo el dgito en decimal entre 2 tantas veces como sea posible
(divisin entera, sin decimales) y nos vamos quedando con el resto que sobra en cada
divisin (que siempre ser O 1). Esos restos ordenados del ltimo al primero forman
el nmero binario:

Ejemplo:

108 + 2 = 54 Y sobra O (LSB)


+2 = 27 Y sobra O
+ 2 = 13 Y sobra 1
+2= 6 y sobra 1
+2=3 y sobra O
+ 2 = 1 Y sobra 1
+2 = O Y sobra 1 (MSB)
108 10 = 11011002

Octal: Se va dividiendo el dgito en decimal entre 8 tantas veces como sea posible
(divisin entera, sin decimales) y nos vamos quedando con el resto que sobra en cada
divisin (que esta-r siempre entre Oy 7). Esos restos ordenados del ltimo al primero
forman el nmero octal:
Ejemplo:

108 +8 = 13 y sobra 4 (LSB)


+ 8 = 1 Y sobra 5
+ 8 = O Y sobra 1 (MSB)
108 10 = 1548

Hexadecimal: Se va dividiendo el dgito en decimal entre 16 tantas veces como sea


posible (divisin entera, sin decimales) y nos vamos quedando con el resto que sobra
en cada divisin (que esta-r siempre entre Oy 15). Esos restos ordenados del ltimo al
primero forman el nmero octal:
Ejemplo:

l_)

108 + 16 = 6 Y sobra 12 (LSB)


+ 16 = O Y sobra 6 (MSB)

108 10 = 6C 16

www.monteroespinosa.com - Clases de EDIG - Tfnos 91 5445377 , 619 142355

T-1.3

1.3 Representacin de nmeros binarios negativos


Para representar nmero negativos en binario existen bsicamente dos sistemas,
complemento a uno y complemento a dos.

1.3.1

Usando el
complemento a 1, el "O"
se puede representar
tanto 00000000 como
11111111 (en este
ejemplo, trabajando
con 8 bits).

El bit ms significativo indica el signo y el resto el mdulo si el nmero es positivo. En


caso de ser negativo el mdulo es el resultante de cambiar los "1" por "O" y viceversa.
El rango de valores que se pueden representar con n bits es - (2n- 1 - 1) :::s nmero :::s (2n- 1 1).
El problema del complemento a uno es que el cero no queda unvocamente definido.
Ejemplo:

1.3.2

Para saber qu cifra


representa un nmero
negativo en
complemento a 2,
basta con volver a
complementarlo a 2, y
obtendremos su valor
absoluto.

Complemento a uno

0101010lz = 85 10
101010102 == -85 10

Complemento a dos

Igual que c?~ple~ent~ol' a un o, pero si el nmero es negativo se suma "1" al resultado. Es la


representaclOn mas u lIzada.

!)
.

El rango de valores que se pueden representar con n bits es - 2n- 1 :::s nmero :::s (2n- 1 - 1).
Ejemplo:

0101010lz
1010101lz

= 85 10
= -85 10

En la tabla siguiente tienes ejemplos de representacin con 4 bits.


Decimal

-8

-7
-6
-5
-4
Recuerda que el bit
ms significativo nos da
la informacin relativa
al signo del nmero.

-3
-2

-1
O
1

2
3
4
5
6
7

Complemento
a dos

. Complemento
a uno

1000
1001
1010
1011
1100
1101
1110
1111
0000
0001
0010
0011
0100
0101
0110
0111

1000
1001
1010
1011
1100
1101
1110
1111 0000
0001
0010
0011
0100
0101
0110
0111

www.monteroespinosa.com - Clases de EDIG - Tfnos 91 5445377 , 619 142355

T-1.4

\+ \..0 ( ~~'btmos. e\ r'l'iVle\


- b

~fu~fYlO~

0.;,

'\=- ~)J~ 'E-scs\\:.lvYlOS. ~

.e-V\ 'Yll~(O'. lO \0
\O~ \ de... C:;~10 ~\,~vo ~'-\.o-\-o-l---'ol

to e<l 'b'lno.\Lc) . \ O\C

~?lD-b',-w\oS \oi..\- de-S\~I"e,; \'C6t\-~"l'


~ Dr-n ~.eme(1.\o...V\'1I 0'5> o- 'Z.- :

-b

'1\1<-

~~\e.Wle(l\aIYlcr;S

0-'\

0\0\0

~ (a.Wl\o(a..moS c.erc )
~?C>r-

Ll.t\Cf'::>

~ L.I-iII.d.>

'. \

o \0

\>0 (' ce"os.

~ SU.~a.VV1OS

li

\:

r-\

-\o-~-'o-l

~S<D 'oe CCVV>1..~\..etLeYt\a ~ '-

\"otO\<bJ

-!)

~e.c.~.

~c\ )es~ho?=6t\.-t.VO.

--l>

%\0

-'b

\\o\.to\

CL

t-e1.;:ncS.

~ ~ e\'"'a.t"\o

o-.

'<:se...c(~. \+ te) I

\5;.\ '-e.-~l~VlC (le~\lva, 1 ~s ~ "haUo.t')


.
\: <;.u.. vu\o, a." - ~\
_
\
\'DQ
: : l \U O

~ CoMp\.et'l'\et1 \o.n'tos.

-b

~Ct-SO-WlO':::>

Cl-:z...!

*"

6 e....\oir)a, ~

~ ~l"evYlOS

~ <Q,.~;'\

0\00 \

0\ 0\ O
O-

e-c..lVna\

\= \0 I

1.4 Cdigos para nmeros decimales


Estos sistemas se usan
para excitacin de
f"\ dispositivos externos
,
. como rels o LEOs.

BCD "Binary-coded
decimal"

BCD no es ms que el
sistema decimal, con
cada dgito codificado
en binario.

La correspondencia
entre cada dgito
decimal y su
representacin en BCD
la tienes en la tabla del
final de este epgrafe

En este apartado estudiamos formas alternativas de representar los nmeros decimales, a


caballo entre el "pensamiento" de una mquina (sistema binario) y el de una persona
(sistema decimal). Los ms utilizados son BCD y l-de-lO.

1.4.1

Decimal codificado en binario (BCD)

Hasta ahora hemos supuesto que los nmeros decimales se traducen a binario para ser
procesados por circuitos digitales. Un mtodo alternativo es codificar los dgitos decimales
en forma binaria, manteniendo su notacin posicional. Estos nmeros se denominan .
nmeros decimales codificados en binario.
La forma de conversin es muy sencilla:
Un nmero decimal sin signo N IO = dn_Idn_2 ...dldo se convierte a la forma BCD
estableciendo la correspondencia de cada dgito di a un nmero binario de cuatro bits B.
Ejemplo:
Si tenemos el nmero decimal N IO = 710910 , el proceso de conversin a BCD es:
N IO = 7

Observa que el
/ subndice del resultado
'-' es 10, para representar
que, efectivamente, no
est representado en
binario, sino en BCD.

1
~

O 9 = 0111000100001001 10

~~

Olll 0001 0000 1001

Por supuesto, la conversin de BCD a la forma decimal ordinaria se efecta reemplazando


los grupos de cuatro bits por el dgito decimal equivalente.
Ejemplo:

N IO = 001110000100100100000101 = 38490510
~~~'----v--"--v-'

1.4.2

c)

Es importante recordar
que en este sistema
contamos las
posiciones desde la
izquierda, empezando
por cero.

Observa que no se
utilizan las
combinaciones
comprendidas entre
1010 Y 1111, inclusive.

l-de-l0

Este sistema consiste simplemente en codificar cada dgito decimal como una palabra
binaria de lO bits. En esta, todos los bits estn puestos a cero excepto aquel que ocupa la
posicin coincidente con el valor del dgito decimal representado.
As, por ejemplo, el dgito decimal O estar representado por '1000000000', y el decimal 7,
corresponder al '0000000100'. Todas las correspondencias entre dgitos puedes
encontrarlas en la tabla adjunta.

Dgito decimal

BCD

1-de-10

0000

1000000000

0001

0100000000

0010

0010000000

0011

0001000000

4
5
6
7
8
9

0100

0000100000

0101

0000010000

0110

0000001000

0111

0000000100

1000

0000000010

1001

0000000001

G!
www.monteroespinosa.com - Clases de EDIG - Tfnos 91 5445377 , 619 142355

T-1.5

1.4.3

Ejemplo de uso de BCD: excitacin de los LEDs de "displays" de 7


segmentos
1..5247
FUNCTION TABLE

L
L

L
L

L
L

L
H

L
L

L
L

H
H

L
H

L
L
L

H
H

L
L
H
H

ot~

L
L

L
H
H

ON
OFF
OFF
OFF
ON
OFF
OFF

H"

H
H

H
H
H
H

H
H
H
H

Display de 7 segmentos:

OUTPUTS

INPUTS

L
H

H
L

".

L
H
L
H
l
H

"

ON
OFF
ON
ON
OFF
ON
ON
ON

ON
ON
ON
ON
ON
OFF
OFF
ON
ON
ON
OFF
OFF
.oN
OFF
OFF
OFF

e
ON
ON
OFF
ON
ON
ON
ON
ON
ON
Ol~

OFF
ON
OFF
OFF
OFF
OFF

ON
OFF
ON
ON
OFF
ON
ON
OFF
ON
ON
ON
ON
OFF
ON
ON
OFF

ON
OFF
ON
OFF
OFF
OFF
ON
OFF
ON

OFF
ON
OFF
OFF
OFF
ON
OFF

74LS247: Decodificador de BCD a 7 segmentos

ON
OFF
OFF
OFF
ON
ON
ON
OFF
ON
ON
OFF
OFF
ON
ON
ON
OFF

OFF
OFF
ON

fl-;-I

01'1

el le

ON
ON
ON
OFF
ON
ON
ON
ON
ON
ON
ON
OFF

SEGMENT
IDENTIFICATION

I
lul
o

ilcl-:I'-1IL.'~'
1

:lc:lyl,-bl'-JIL.lr-I I
7

9 10 11

12 13

14 15

NUMERICAL OESIGNATIONS ANO RESULTANT OISPLAYS

(j

www.monteroespinosa.com - Clases de EDIG - Tfnos 91 5445377 619 142355


I

T-1.6

1.5 lgebra de Boole


Es un tipo de lgebra que, basndose en la teora de conjuntos, se aplica a sistemas
matemticos en los que slo existen dos elementos posibles: el Oy el 1.
De la anterior definicin se deduce su posibilidad de ser aplicada al anlisis y diseo de
circuitos digitales, simplemente precisando el siguiente convenio:
Presencia de tensin = 1.
Ausencia de tensin = O.

Este convenio
responde al nombre de
"Lgica positiva", que
es la ms utilizada.

1.6 Operaciones y propiedades bsicas


En el lgebra de Boole slo existen tres operaciones:

('O(;;:')

(l

~ \\0

'\

d resu.\\q.)c
e.-s ~(t, c.uando-V'o...,-e.
. ~ "C?,~\UI1d?f
'5011. o ,EiC.ucUl+e
\ e..., re.S\.t\

Suma.

Multiplicacin. 1Ar\?) &~ a..~


~o es ~".
Complementacin o inversin.
(~O() (5 -:: \'
-=- co

tu'lO

En la tabla se indican las forma de representacin, as como sus postulados bsicos. Las
operaciones del lgebra de Boole cumplen las siguiente propiedades:
a) Conmutativa: a + b = b + a

ab=ba
a+b+c=a+(b+c)
abc=(ab)c
c) Distributiva: a (b + c) = ab + a c
a+(bc) = (a+b)(a+c)
b) Asociativa:

"..i

Op~racin

Suma

C)

F=a+b

Multiplicacin

= a' b

F = ab
F = a

Complementacin
o inversin

*b

0+0=0 a+O=a
O+ 1 = 1 a + 1 = 1
1+.1=1 a+a=a
a + = 1
0,0=0 a'O=O
0'1=0 a'l=a
1,1=1 a'a=a
a' = O

F=
= Q.b

1.7 Teoremas y leyes booleanas principales


Los teoremas de lgebra de Boole son demostrables, a diferencia de los del lgebra
convencional, por el mtodo de induccin completa. Este mtodo consiste en comprobar
que la relacin entre los elementos que el teorema defme se cumplen en todos los casos
posibles. Para poder realizar esto se emplean las llamadas tablas de verdad, que no son
otra cosa que representaciones grficas de todos los casos que pueden darse en una relacin
y de sus respectivos resultados.

www.monteroespinosa.com - Clases de EDIG - Tfnos 91 5445377 , 619 142355

T-1.7

Para comprender mejor lo anterior, demostremos la primera ley del lgebra de Boole,
llamada ley de absorcin; su expresin es la que sigue:
a+ab

=a

Su demostracin se encuentra en la tabla siguiente:

o O
O 1
1 O
1 1

0+00=0
0+01=0
1+10=1
1+1'1=1

O
O
1
1

Existen infinidad de teoremas en el lgebra de Boole, tantos como puedan ser demostrados
por el mtodo ya referido; sin embargo, hay una serie de ellos que, dada su utilidad, es
importante conocer. La tabla siguiente muestra los ms importantes.
Por otra parte, siempre que se cumple una ley o teorema en el lgebra de Boole, se cumple
tambin su llamada forma dual; es decir, se cumple tambin la expresin que se obtiene
cambiando solamente las operaciones de suma por las de producto y las de producto por
las de suma. Las formas duales de las leyes y teoremas bsicos tambin se indican en la
tabla siguiente.

: Hrrii~'~~'i~j~y, ," " , , ,:


Ley de absorcin
.,

,')Y~?~~~~~~,;""", :'f~~~:I~?;:~', ...'i;rL'~} . i~~#~~~irJ~


a

+ a.b

= a

a . (a

+ b)

= a

(1)

Teorema de De Morgan

(a+b+c+)-iilic

(abc)-ii+li+E+ ...

'(2)

Leyes de transposicin

a b+ii' c=(a+c)' (ii+b)


ii li+a' b=(ii+b) . (a+O)

(a+b) . (Hc)=a . c+ii b


(HO) : (a+b)=ii' b+a . li

(3)
(4)

Leyes varias

a+ii b=a+b
ii+a' b=ii+b
a b+a li c=a . b+a . c
a' b+ii' c+b . c=a' b+ii . c
a b+a 'li=a
a' b+a . c=a . (b+c)

a' (ii+b)=a . b
ii (a+b)=ii b
(a+b) (a+li+c)=(a+b)' (a+c)
~+~.~+~.~+~=~+~.~+~

(a+b) (a+O)=a
(a+b) . (a+c)=a+(b . c)

(5)
(6)

(7)

W
(9)
(10)

1.8 Formas cannicas de una funcin booleana


Las ecuaciones o expresiones booleanas pueden adoptar dos estructuras o formas tpicas,
denominadas formas cannicas. Dichas formas son:

Primera forma cannica - Ecuaciones con estructura minterms: Esta ecuacin


est estructurada como una suma de trminos en forma de producto de las
diferentes variables que intervienen en la ecuacin.
Ejemplo:

IMPORTANTE: Tanto
en una estructura como
en la otra, todos los
trminos han de
contener todas las
variables que
intervienen en la
ecuacin.

= abc+abc+abc

Segunda forma cannica - Ecuacin con estructura maxterms: Se dispone


como un producto de trminos en forma de suma de las diferentes variables que
intervienen en la ecuacin.
Ejemplo:

= (~+b+c ).( a+b+~).(~+b+~).( a+b+c)

www.monteroespinosa.com - Clases de EDIG - Tfnos 91 5445377 , 619 142355

T-1.8

(\
.

Esta forma cannica se


utiliza para implementar
una funcin empleando
slo puertas NANO.

Tercera forma cannica - Ecuacin con producto de productos: Se dispone


como un producto de trminos en forma de producto de las diferentes variables que
intervienen en la ecuacin.
Ejemplo:

z = abe abe abe

Esta forma cannica se


utiliza para implementar
una funcin empleando
slo puertas NOR.

Cuarta forma cannica - Ecuacin con suma de sumas: Se dispone como una
suma de trminos en forma de suma de las diferentes variables que intervienen en
la ecuacin.
Ejemplo:

w= (a+b+e

1.9

Con el ejercicio 1 de
clase comprenderemos
mejor estos mtodos.

)+( a+b+e )+( a+b+e )+( a+b+e)

Obtencin de la ecuacin de una funcin lgica partiendo de


su tabla de verdad.

Dada la tabla de verdad,que representa la respuesta binaria de una funcin lgica, existen
dos mtodos para obtener su ecuacin en primera y segunda forma cannica,
respectivamente. Estos mtodos estn expresados y resumidos en la tabla siguiente, en la
que tambin explicamos el mtodo para obtener a partir de estas, la tercera y la cuarta
forma cannica.
Tipo de ecuacin

Mtodo de obtencin

Convenio a aplicar

Ecuacin minterms

Primera forma
cannica

Obtener la suma de productos de variables


cuyas combinaciones hacen 1 la funcin

Ecuacin maxterms

Segunda forma
cannica

Obtener el producto de las sumas de


variables cuyas combinaciones hacen O la
funcin

Tercera forma
cannica

Negar dos veces la ecuacin en la primera


forma cannica

Cuarta forma
cannica

Negar dos veces la ecuacin en la segunda


forma cannica

variable negada
1 variable sin negar

variable sin negar


1 variable negada

1.10 Simplificacin de ecuaciones booleanas


Existen dos procedimientos bsicos a la hora de shnplificar las ecuaciones booleanas:

Mtodo de simplificacin algebraico: Se realiza aplicando las leyes y teoremas


del lgebra.

Mtodos tabulares y grficos: Destacamos entre estos, el mtodo de Karnaugh,


que estudiamos a continuacin.

www.monteroespinosa.com - Clases de EDIG - Tfnos 91 5445377 , 619 142355

T-1.9

1.10.1 Simplificacin utilizando el Mtodo de Karnaugh


Se han propuesto diversos mtodos para minimizar de modo sistemtico. Algunos son
numricos, y conducen a un algoritmo que puede programarse. Aqu veremos un mtodo
grfico que es el ms sencillo y tambin el ms conocido (aunque prcticamente deja de
tener utilidad para formas booleanas con ms de seis variables).
Una tabla de Karnaugh no es otra cosa que una presentacin alternativa de la misma
informacin contenida en una tabla de verdad. La tabla de Karnaugh es de doble entrada, y
tiene las asignaciones colocadas de tal modo que las que corresponden a productos
cannicos adyacentes estn fsicamente contiguas.
En la siguiente figura pueden verse las disposiciones de las tablas de Kamaugh para los
casos de tres, cuatro y cinco variables booleanas. Cada casilla corresponde a una lnea de la
tabla de verdad, y se pondr en ella un "O" un "1". En la figura hemos numerado las
casillas con los nmeros de fila correspondiente de la tabla de verdad.
00

01

11

10

00

01

11

10

,x.

x.;x4

IMPORTANTE: de una
casilla a otra adyacente
slo puede cambiar
una variable.

00 O

12

01

13

11

15

11

10 2

14

10
x,=1

Es por esto que, por


ejemplo,
representemos la
entrada X4 X 5 = 11 justo

x.;x3 00
x:;;:.

debajo de la casilla con


entrada X 4X 5 = 01

x.;x3

00

01

11

10

00

16

20 28

24

01

17

21

29

25

15

11

11

19

23 31

27

14

10

10

18

22 30

26

01

11

10

00 O

12

01

13

11

10 2

xxs

Una vez rellena la tabla, pasamos a agrupar trminos para obtener la forma cannica
simplificada que buscamos y despus expresar finalmente la funcin. Segn sea esta la
primera o la segunda, actuaremos de formas diferentes:

Primera forma cannica - Simplificacin por unos:

Las reglas para agrupar los "1" son las que se enuncian a continuacin:
Cada grupo debe tener 2n elementos (o sea, 1, 2, 4, 8, etc ... ).
Los grupos deben ser lo ms grandes posibles.
Los grupos siempre deben ser rectngulos o cuadrados.
Est permitido pasar los bordes del mapa (en vertical y horizontal).
Cada grupo debe tener al menos un elemento en exclusividad (que no pertenezca a
ningn otro grupo).
6) Todos los "1" deben pertenecer al menos a un grupo.
7) Hay que intentar agrupar todos los" 1" en el menor nmero posible de grupos.
8) No es obligatorio que estn superpuestos unos grupos con otros.

1)
2)
3)
4)
5)

www.monteroespinosa.com - Clases de EDIG - Tfnos 91 5445377 , 619 142355

T-1.10

Una vez agrupados todos los unos, pasamos a expresar la funcin buscada.
Obtendremos tantos trminos como grupos de unos (trminos que se sumarn entre

s)
Cada uno de los trminos se obtiene multiplicando las variables que quedan
constantes.
Complementamos las variables que valen O.

(---\1

Segunda forma cannica - Simplificacin por ceros:


Las reglas para agrupar los "O" son las que se enuncian a continuacin:

ObseNa que son las


mismas reglas que
para las agrupaciones
de unos, solo que
referidas a los ceros.

Cada grupo debe tener 2n elementos (o sea, 1,2,4,8, etc ... ).


Los grupos deben ser lo ms grandes posibles.
Los grupos siempre deben ser rectngulos o cuadrados.
Est permitido pasar los bordes del mapa (en vertical y horizontal).
Cada grupo debe tener al menos un elemento en exclusividad (que no pertenezca a
ningn otro grupo).
6) Todos los "O" deben pertenecer al menos a un grupo.
7) Hay que intentar agrupar todos los "O" en el menor nmero posible de grupos.
8) No es obligatorio que estn superpuestos unos grupos con otros.
1)
2)
3)
4)
5)

Una vez agrupados todos los ceros, pasamos a expresar la funcin buscada.
Obtendremos tantos trminos como grupos de ceros (trminos que se multiplicarn
entre s)
Cada uno de los trminos se obtiene sumando las variables que quedan constantes.
Complementamos las variables que valen 1.

www.monteroespinosa.com - Clases de EDIG - Tfnos 91 5445377 , 619 142355

T-1.11

TEMA 2: DISP. DE LGICA PROGRAMABLE (VHDL).


2.1 Descripcin de sistemas digitales complejos
La descripcin de los sistemas digitales complejos se puede realizar, tal y como se indica
en el esquema siguiente, de diferentes maneras segn tres parmetros caractersticos interrelacionados entre s:

El tipo de jerarqua.
La representacin del sistema.
La relacin con la realizacin fsica.

Horizontal
Segn el tipo de
jerarqua
{

Formas de
descripcin
de los sistemas
digitales
complejos
En ingls "structural
design".

{ . De abajo hacia arriba


Vertical

De arriba hacia abajo

Estructural
Segn la representacin
del sistema

(~)

Funcional o de comportamiento
{

Fsica O geomtrica

Independiente'
Segn la relacin con
la realizacinfisica
{ Dependiente
.

A pesar de que existen, tal y como hemos visto, tantas formas de describir un circuito, para
esta asignatura slo vamos a centrarnos en la segunda de las clasificaciones y ms concretamente, slo en las descripciones estructural y funcional.

2.1.1
2.1.1.1

Formas de descripcin segn la representacin del sistema


Descripcin estructural

La descripcin estructural consiste en especificar la totalidad de los elementos que componen el sistema digital y las interconexiones entre ellos. Inicialmente se realiz representando los elementos mediante smbolos e interconectndolos para dar lugar a un esquema.

Estas bibliotecas contienen componentes o


mdulos denominados
macros que pueden ser
de dos tipos: Macros
hardware ("hard macros') y Macros software ("soft macros").

Las dificultades que presenta la descripcin del esquema de un sistema digital complejo
mediante transistores o incluso mediante puertas lgicas hizo que a los programas de diseo de esquemas se les dotase de bibliotecas (en ingls "libraries").
La edicin de esquemas fue, hasta la dcada de 1980, la nica forma de realizar la descripcin estructural asistida por computador de los sistemas digitales. Pero la elevacin de su
complejidad propici el desarrollo de lenguajes orientados a la descripcin de sistemas
digitales, que reciben el nombre de BDL, uno de los cuales (VHDL) estudiaremos en apartados posteriores.

www.monteroespinosa.com - Clases de EDIG - Tfnos 91 5445377 , 619 142355

T-2.1

2.1.1.2

Descripcin funcional o de comportamiento

La descripcin funcional consiste en especificar el funcionamiento del sistema digital en


lugar de detallar los elementos que lo forman.
Los formatos habituales para describir el funcionamiento de los sistemas digitales sencillos
son las tablas de verdad, las ecuaciones lgicas y los grafos de estado. Para sistemas
ms complejos estos formatos habituales son el flujo de datos y los algoritmos de comportamiento.
Para potenciar esta forma de descripcin fue necesario desarrollar lenguajes de descripcin
como el que estudiamos a continuacin.

2.2 Introduccin a los lenguajes de descripcin

HDL "Hardware
Descripton Language".

Ejemplos de lenguajes
HDL no estructurados
son ABEL, CUPL y
PALASM.

Ejemplos de lenguajes
HDL estructurados son
RTLyVHDL.

Como se ha dicho, los fabricantes de circuitos integrados iniciaron durante la dcada de


1970 el desarrollo de lenguajes que permitiesen realizar la descripcin estructural y funcional de los sistemas digitales complejos. Estos lenguajes, que reciben el nombre genrico de
HDL, evolucionaron siguiendo dos caminos paralelos:

Algunos fabricantes de circuitos digitales configurables de equipos de instrumentacin electrnica desarrollaron lenguajes HDL sencillos, denominados no estructurados, ya que estn orientados a la realizacin de un nico circuito o mdulo por fichero.

Los fabricantes de circuitos integrado a medida desarrollaron lenguajes HDL complejos, denominados estructurados porque permiten defmir submdulos y enlazarlos
jerrquicamente en un nico fichero.
Estos lenguajes se caracterizan adems por el hecho de que las herramientas de CAD
asociadas con ellos permiten utilizar un fichero HDL como nivel superior de lajerarqua, lo que propicia la creacin de bibliotecas de circuitos y operadores frecuentemente
utilizados (puertas lgicas, bloques funcionales, operadores aritmticos ... ).

2.3 Lenguaje VHDL


2.3.1

C)

VHSIC - "Very High


Speed Integrated Circuits".

VHDL - "VHSIC Hardware Description Languaje".

Cabe resaltar que


VHDL es independiente
de la tecnologa empleada.

En esto radica que se


diga que VHDL es un
lenguaje estructurado.

Introduccin

VlIDL es un lenguaje de descripcin de sistemas digitales que fue desarrollado en el marco


del programa VHSIC del Departamento de Defensa de los Estados Unidos.
Se trata de un lenguaje complejo y estructurado que permite la descripcin de cualquier
circuito combinacional o secuencial. Por ser un lenguaje universal, permite la implementacin posterior del circuito descrito en cualquier tipo de circuito integrado disponible en la
actualidad, como los circuitos digitales configurables (pLDs y FPGAs). Actualmente, todas las herramientas de CAD para el diseo con PLDs y FPGAs incluyen una versin del
VHDL.
Adems, cabe destacar que el lenguaje VHDL permite la descripcin de un circuito de distintas formas, incluyendo las descripciones Estructural y Funcional, descritas en apartados
anteriores.
Para realizar la descripcin de un circuito o sistema digital en VHDL, debe incluirse sta en
un fichero de texto, que posteriormente ser compilado y sintetizado, obteniendo el cdigo
necesario para programar el circuito configurable elegido.
En un fichero escrito en VHDL se puede incluir la descripcin de un nico circuito o bloque funcional o la de varios, cuyas interconexiones se defmirn a su vez en el mismo fichero o en otro distinto.

www.monteroespinosa.com - Clases de EDIG - Tfnos 91 5445377 , 619 142355

T-2.2

2.3.2

Sintaxis del fichero VHDL

A continuacin se describe la sintaxis que debe presentar cualquier fichero fuente de


VHDL. El fichero debe constar de las siguientes secciones, que se muestran en el ejemplo
de la tabla siguiente (en negrita):
Sintaxis bsica del fichero VHDL
- Cabecera

library ieee
use ieee.std_logic_1164.all
use ieee.std_logic_arith.all
use ieee.std_logic_unsigned.all

- Declaraciones

entity BIESTABLED is
port

En este fichero se
describe un biestable
de tipo D activado por
flancos ascendentes.

-- Entradas
reloj : in std_logic
dato : in std_logic
-- Salidas
salida_ : out std_logic
) ;

end BIESTABLED

- Descripcin lgica

archi tecture ej emplo of BIESTABLED is


begin
process
begin
wai t until reloj' event and reloj
salida_ <= dato
end process
end ejemplo

'1'

- Fin del fichero

Si bien en sucesivos apartados de describen con ms detalle cada una de las secciones del
fichero, vamos a comentar algunas generalidades:

Cada instruccin debe terminar generalmente con punto y coma, pero no cada lnea,
puesto que algunas instrucciones ocupan varias lneas.

Los comentarios, que deben ir precedidos de dos guiones(--), deben situarse al fmal de
la lnea o bien Qcupar toda una lnea

2.3.3

Bibliotecas y paquetes

Una biblioteca ("library") es la agrupacin de un conjunto de componentes y elementos


descritos en VHDL. Las bibliotecas estn formadas por paquetes ("package") que contienen a su vez definiciones de tipos de datos, funciones, procedimientos, componentes (circuitos), etc, descritos en VHDL.
Existen dos tipos de bibliotecas:

En estos apuntes no
desarrollaremos la
definicin de bibliotecas
por el usuario

Predefinidas: suelen venir incorporadas en las herramientas de CAD para diseo de


circuitos con VHDL.

Definidas por el usuario: ste puede incluir en ellas los circuitos que vaya a utilizar
habitualmente en sus diseos.

www.monteroespinosa.com - Clases de EDIG - Tfnos 91 5445377 , 619 142355

T-2.3

En los ficheros VHDL de descripcin de circuitos, es habitual incluir en su cabecera la


utilizacin de bibliotecas y paquetes, que permiten utilizar en todo el fichero las defmiciones que incluyen.
La sintaxis para el uso de bibliotecas y paquetes es:
LIBRARY nombre_biblioteca;
USE nombre_biblioteca. nombre_paquete. elemento_paquete
Aqu se especifica el
uso de todos los componentes del paquete
"std_logic_1164
2 de la biblioteca "IEEE", Y el uso del componente "dff' del paquete "registros" de la
biblioteca
"mLbiblioteca".

Ejemplo:
LIBRARY IEEE;
USE IEEE.std_logic_1164.all
LIBRARY mi biblioteca;
USE mi_biblioteca.registros.dff

Algunos paquetes tpicos, disponibles en la biblioteca IEEE, existente en la mayora de las


herraimentas CAD, son: std_logic_1164. vhd (estndar), stdjogic_arith. vhd (aritmtica),
std_logic_unsigned. vhd (aritmtica sin signo), std_logic_components. vhd. ..

2.3.4

Entidad

Una entidad ("entity") en VHDL consiste en la defmicin del nombre del circuito y de sus
seales de entrada y salida (puertos), indicando el tipo de cada una de ellas.
Para cada circuito que
se utilice en VHDL, es
necesario definir un
bloque entidad.

La sintaxis es la siguiente
ENTITY nombre circuito is
PORT (nombre_entradas: IN tipo_entradas;
nombre salidas: OUT tipo_salidas);
END nombre_circuito;

Ms adelante explicaremos los tipos de


datos de VHDL.

Ejemplo:

En este ejemplo se
especifica la entidad
correspondiente a un
circuito sumador total
de dos nmeros de un
bit.

En la arquitectura
daremos la Descripcin del circuito, en
cualquiera de las
formas que hemos
visto del circuito.

El conjunto entidad arquitectura es la unidad mnima de diseo.

ENTITY sumador total is


PORT (a, b, cin: IN bit;
sum, cout: OUT bit);
END sumador_total;

2.3.5

Esos puertos pueden se de los siguientes


tipos:
IN -7 entrada
OUT -7 salida (que no se puede leer
desde el propio componente).
BUFFER -7 salida (que se puede leer
desde dentro)
INOUT -7 salida entrada

Arquitectura

Una arquitectura ("architecture") en VHDL es la definicin del funcionamiento de un circuito, de cualquiera de las formas permitidas en VHDL, descritas ya anteriormente.
Una arquitectura siempre debe asociarse con una entidad, aunque una entidad puede tener
varias arquitecturas, es decir, varias formas de realizacin o descripcin. Cuando posterionnente se utilice el circuito ser necesario indicar cul es la arquitectura que se utilizar.
Cada circuito en VHDL debe incluir una declaracin de entidad y al menos una declaracin
de arquitectura.
Un mismo fichero puede contener la declaracin de muchos circuitos, lo que permite disear un sistema digital complejo mediante un solo fichero VHDL, aunque tambin se pueda
utilizar un fichero distinto para cada circuito. Esto lo convierte en un lenguaje estructurado,
que permite realizar fcilmente la descripcin jerrquica de un sistema digital.

www.monteroespinosa.com - Clases de EDIG - Tfnos 91 5445377,619142355

T-2.4

La sintaxis para la descripcin de una arquitectura es la siguiente:


ARCHITECTURE nombre_arquitectura OF nombre entidad IS
-- Zona de declaraciones
BEGIN
-- Descripcin lgica del circuito [cuerpo("body")]
END nombre_arquitectura

Ejemplo:
ARCH1TECTURE comportamiento OF sumador total 1S
S1GNAL auxiliar: bit vector (1 DOWNTO O);
1BEG1N
auxiliar <= a+b+cin;
I-\s8
\"SB

Aqu se especifica una


posible arquitectura
correspondiente al
circuito sumador total
de dos nmeros de 1
bit, cuya entidad se ha
definido en el apartado
anterior.

sum <= auxiliar(O)


cout <= auxiliar(l)

END comportamiento

2.3.6

Descripcin lgica

Merecen especial mencin los Enumerados,


forma con la que podemos defmir nuestros propios tipos de datos. La sintaxis para hacerlo es:
TYPE nombre tipo IS (lista de elementos)

2.3.6.1
Los tipos de datos son
las diferentes representaciones de informacin
que vamos a manejar
con circuitos lgicos.

Tipos de datos

Como en otros lenguajes, podramos hacer una clasificacin muy amplia de los tipos d~.
datos existentes en VHDL. No obstante, slo diremos que los tipos que posteriormente
vamos a ver se pueden catalogar en: Enumerados (conjunto de literales separados por comas), Numricos (incluye los tipos natural, entero, real...) y Compuestos (conjuntos
homogneos o heterogneos de elementos.
Obviando esta clasificacin, podemos decir que los tipos de datos ms importantes para
la descripcin de circuitos son:

Un bit_vector se puede entender como un


nmero binario de
varios bits.

Bi t
Puede tomar los valores 'O' y '1'.
Bi t vector Conjunto de seales (o variables) de tipo bit.
Std_logic Puede tomar los valores:

-'O' ........ 0 fuerte.


-'1' ........ 1 fuerte.
'X' ....... desconocido fuerte.
'Z' ....... alta impedancia.
'-' ....... .indiferente.
....'D' ....... no inicializado.
'L' ....... 0 dbil.
'H' ....... 1 dbil.
'w' ...... desconocido dbil

No se debe confundir el
smbolo utilizado para
un valor desconocido
fuerte ("X") con el
smbolo de la indirefencia ("-").

Std_logic_vector

2.3.6.2
Los tipos de objetos se
refieren al tratamiento
que va a tener la informacin manejada.

~ i~~e('
~ un~~~ne.

Conjunto de seales (o variables) de tipo std_logic.

Tipos de objetos

Constantes: mantienen siempre el mismo valor.

La sintaxis para declarar


seales es:

Ejemplo:

SIGNAL nombre: tipo;

CONSTANT ciclos: integer:=3;

Variables: se puede cambiar su valor.


El uso de variables est
restringido a las estructuras secuenciales
(dentro de procesos y
subprogramas). Sin
embargo, el uso de
seales NO est restringido.

Ejemplo:

VARIABLE registro:

ivalen a una conexin fsica,


Seales: su valor puede cambiar a lo largo del tiempo
ripcin de circuitos
por lo que es el tipo de datos ms utilizado para la
Ejemplo:

SIGNAL entrada: bit;

www.monteroespinosa.com - Clases de EDIG - Tfnos 91 5445377 , 619 142355

'1

"~

T-2.5

2.3.6.3

(\

IMPORTANTE: los
espacios caracteres
de subrayado u_" no
son tenidos en cuenta y
slo sirven para aumentar la legibilidad del
nmero.

Notacin

2,8, 10, 16 ............... binario, octal, decimal o hexadecimal, respectivamente.


La base debe preceder al valor, dispuesto entre caracteres #, para tipos numricos.
Ejemplo:

2#1100 0010#

B, X, O ..................... binario, hexadecimal u octal, respectivamente.


Este smbolo debe preceder al valor de tipos "bit vector" o "bit string literal s" (literales
de cadenas de bits).
Por defecto, la base es binaria.
Ejemplo:

2.3.6.4

X"2E"

Operadores

Operadores Lgicos
and

or
xor
xnor
not

f~

\.

nand

nor
sll
srl
&

La concatenacin con
& permite unir varios
operandos del mismo
tipo

funcin Y lgica
funcin O lgica
funcin O-exclusiva
funcin O-exclusiva negada
negacin
funcin Y lgica negada
funcin O lgica negada
desplazamiento lgico a izquierda
desplazamiento lgico a derecha
concatenacin

Operadores de asignacin
.=

t=d

Operadores aritmticos
+

*
/
mod

**
sla
sra

suma aritmtica
- resta ritmtica (dos operandos)
- signo negativo (un operando)
multiplicacin
divisin
mdulo (resto de la divisin entera)
exponenciacin
desplazamiento aritmtico a izda.
desplazamiento aritmtico a dcha.

Operadores de relacin

- asignacin de valores a constan- ')


tes y variables.
/=
- asignacin de valor inicial a se<
ales
asignacin a seales
>

G
>=

igual

COY>'\.

pcu-o.- t~\Aa.\ o-d

distinto
menor que
mayor que
menor o igual que
mayor o igual que

\~

www.monteroespinosa.com - Clases de EDIG - Tfnos 91 544 53 77 , 619 142 355

T-2.6

Vamos a distinguir
entre dos tipos de
sentencias de descripcin: las concurrentes y
las secuenciales.
Las sentencias concurrentes son las que
distinguen al VHDL de
los lenguajes de programacin y son las
que permiten modelar
el comportamiento real
de los circuitos.
MUY IMPORTANTE:
los procesos se utilizan
para modelar el comportamiento de cualquier circuito ante el
cambio en seales de
entrada, cuando este
comportamiento requiere una reaccin secuencial. Esto es,
aunque se trata de un
bloque que en conjunto
funciona de forma
combinacional (su
relacin con otros
procesos no es secuencial, e incluso
puede ser simultneo
con otros), un proceso
est compuesto por
sentencias secuenciales, que s dependen
del orden de aparicin.
Es por esto que los
procesos sirven para
describir circu itos
secuenciales.
Cuando necesitemos
sentencias secuenciales, tendrn que ir
dentro de un proceso.

En el ejemplo se especifica un proceso que


describe una puerta
lgica AND de dos
entradas.

2.3.6.5

Sentencias concurrentes

Las sentencias concurrentes son aquellas que se ejecutan de forma simultnea a otras sentenciasconcurrentes, independientemente del orden en que estn escritas en el fichero
VHDL. Se puede decir que las sentencias concurrentes modelan un comportamiento combinacional.
a) Process
Los procesos siempre se ejecutan una vez durante la inicializacin, pero posteriormente
slo se ejecutan cuando se produce un "evento" (cambio) en alguna de las seales indicadas en el proceso.
Existen dos formas de indicar las seales cuyos eventos producen la activacin de un proceso.
Mediante una lista de "sensibilidad", que enumera entre parntesis y separados por
comas, todas las seales cuyos eventos deben activar el proceso.
La sintaxis de esta forma es:
PROCESS (lista de seales)
BEGIN
Sentencias secuenciales;
END PROCESS

Ejemplo:
PROCESS (a,b)
BEGIN
Salida <= a AND b;
END PROCESS

Mediante una sentencia ''wait'', que obliga al proceso a esperar a que se cumpla una
determinada condicin para activarse. La condicin puede ser de tipo booleano, un
evento, o una condicin temporal.
,

La sintaxis de esta forma es:

")
Importante: slo usamos uno de los tipos de
sentencia WAIT aqu
presentadas (por eso
comentamos con --o el
final de esas sentencias).

PROCESS
BEGIN
WAIT ON seal; --o
WAIT UNTIL expresin; --o
WAIT FOR expresin temporal;
Sentencias secuenciales;
END PROCESS

Ejemplo:
PROCESS
BEGIN

Aqu se especifica un
proceso que describe
un biestable de tipo D
activado por flancos.

Espera flanco ascendente de reloj


WAIT UNTIL reloj'event and reloj = '1';
Salida <= entrada;
END PROCESS

www.monteroespinosa.com - Clases de EDIG - Tfnos 91 5445377 , 619 142355

T-2.7

Esta sentencia concurrente es anloga a la


sentencia secuencial
condicional case, que
explicaremos ms
adelante.
MUY IMPORTANTE:
esta sentencia slo se
utiliza para describir
comportamientos combinacionales.

b) With ... select


Se utiliza nonnalmente para las expresiones en las que intervienen varias seales. Se deben
cubrir todos los posibles valores de la expresin, de fonna excluyente.
.
1I).SO'\o ~lGlV'o. e.V\ ~U."",OVl ~~ ~C)(" '"e LLV\.U
La sintaxis es la siguiente:
Q..\C.prQ;;,.~n ~
\
_ \
.$'10

<G\~\{e.

va,,\,orf5 ~ u..Vla. ger'la...\

o va.rl&.

WITH jexpresinLsELECT
seal <= nuevo valor WHEN valor expresin

,,-...~

UNAFFECTED WHEN OTHERS;


Observa que se trata de una
sentencia de asignacin, slo,

Ejemplo:
Aqu se especifica el
comportamiento de un
circuito combinacional
cuya salida es una
combinacin de 3 bits
(resultado) y cuya
entrada es un vector de
2 bits (operandos)

( \ Esta es otra sentencia


" ) concurrente anloga a
la sentencia secuencial
condicional
1f...Then ... Else
MUY IMPORTANTE:
esta sentencia slo se
utiliza para describir
comportamientos combinacionales.

Las sentencias se.


cuenciales se compor(-- ') tan como las de cual~ quier lenguaje de programacin.

Esta sentencia pennite la asignacin condicional de valores a seales. Se utiliza nonnalmente para las condiciones en las que intervienen varias seales.'
La sintaxis es la siguiente:
Seal <= nuevo_valor_l WHEN expresin_l ELSE
nuevo valor 2 WHEN expres~n_2 ELSE
ELSE
UNAFFECTED;
a

~~ \)cZ.~ \L~.SK..~cc<cn

Resultado <= "100" WHEN (operandos


"010" WHEN (operandos
"000"

2.3.6.6

t'l.
',,"'-o..c.Q.. -,e.V\ ~\..lYlCl
o YJ

r5I

\lo...f'I.s\o\.es..

"00") ELSE
"01") ELSE

Sentencias secuenciales

Las sentencias secuenciales son aquellas que se ejecutan de fonna secuencial, es decir, en
el orden en que se han escrito en el fichero VHDL.
Las sentencias secuenciales slo pueden aparecer dentro de procesos ("process") y subprogramas (funciones y procedimientos).

l ~~

~ '\~ .-' ~ ,~.. .;J.-;; (1.,o--\b.")

Se utiliza generalmente para aquellas condiciones de transicin que dependen de una sola
expresin o, a lo sumo, dos. Las expresiones no tienen por qu ser excluyentes, pero si al
evaluar una, sta es verdadera, las dems no se comprueban.

La sintaxis es la siguiente:
MUY IMPORTANTE:
esta sentencia slo se
utiliza para describir
comportamientos secuenciales.

<;:..Q.

")e.. l.1f\O. ..Q....l( ~ lCIi ~\..ea.irJO,. COr7l.~


~ So\o sic-~ ~I"'c. a.S~'aVlal"" 'Ve-\.CXi?> a..~t.t.\.~

a) If...then ... else


Esta sentencia secuencial es anloga a la
sentencia concurrente
when ... else

"1<::,,

c) When ... else

Ejemplo:

Aqu se especifica el
comportamiento del
mismo circuito combinacional anterior.

~(\m{\ Wh"n

WITH operandos SELECT


resultado <= "100" WHEN "00"
"010" WHEN "01
"000" WHEN OTHERS;

'be...
IF expresin_l THEN
Sentencias secuenciales;
ELSIF expresin_2 THEN
Sentencias secuenciales;
ELSE
Sentencias secuenciales;
END IF

'"

"'lA..~\.Qcc. \0\1 ~ ~ce

A.

en.. ~CJ.V1C(&]
LLn ~ eJc~'.Qs\"O~/boo~OtVIa..

COW\ ~~Q \0..

~ \be...mCl? ~CLc..a.\ m~ ~
ill'''I~\e oS..~VK)-C~{)~.

www.monteroespinosa.com - Clases de EDIG - Tfnos 91 5445377 ,619142355

T-2.8

LV'lc..

Ejemplo:
Aqu se especifica el
comportamiento de un
contador ascendente
con carga en paralelo y
seal de puesta en
estado inicial.

IF RESET = '1' THEN


Ctr <= "0000";
ELSIF (c1k'EVENT AND clk
IF LOAD = '1' THEN
Ctr <= entrada;
ELSE
Ctr <= Ctr + 1;
END IF
END IF

'1') THEN

b) Case...when
Esta sentencia secuencial es anloga a la
sentencia concurrente
with ...select

Se utiliza generalmente para las expresiones en las que intervienen varias variables o seales y debe cubrir todos los posibles valores de la expresin, de forma excluyente.

MUY IMPORTANTE:

La sintaxis es la siguiente:

esta sentencia slo se


utiliza para describir
comportamientos secuenciales.

El smbolo 1 representa
la funcin "o bien".

CASE \e~_resin S
WHENlvalor expresinllvalor expresin21 '"
Sentencias secuenciales;

WHEN OTHERS => NULL;


END CASE;

Ejemplo:
CASE seleccion IS
WHEN "0000"1"0001" =>
y <= 'O';
WHEN "0010"1"0011" =>
Y <= '1';
WHEN OTHERS => y <= 'O';
END CASE;

\o.~C::~h ~ 1.0-ce

~(..UI\C;{l e. Una.

Vc:L("' 'la\ol.e o

~~ ~(" mu.c\,o

5.0\0
'/Mas

Q...V\

seY>a.\ .
~

~\. s\m\)\e. O-..'St.cy'lo-c.~n .

e) For
Desde aqu comenzamos las sentencias de
bucle.

Permite repetir la ejecucin de las sentencias incluidas en el bucle mientras el ndice del
bucle se encuentre en el rango predefinido.
La sintaxis es la siguiente:
FOR i IN rango_ndice LOOP
Sentencias secuenciales;
END LOOP;

Ejemplo:
Aqu se especifica un
bucle que calcula el bit
de paridad par de una
combinacin x(i) de 16
bits.

Bit_paridad_par <= 'O';


FOR i IN O TO 15 LOOP
IF x(i)='l' THEN
Bit_paridad_par <= NOT bit_paridad_par;
END IF;
END LOOP;

www.monteroespinosa.com - Clases de EDIG - Tfnos 91 5445377 619 142355


I

T-2.9

d) While
Pennite repetir la ejecucin de las sentencias incluidas en el bucle mientras se cumpla la
condicin defmida
.
.. \

La sintaxis es la siguiente:
WHILE expresion LOOP
Sentencias secuenciales;
END LOOP;

Ejemplo:

Aqu se especifica un
bucle que multiplica
dos nmeros "p" y "q"
mediante el mtodo de
Isumas sucesivas.

1:: ")\G\~(\\o)e

producto <=~
WHILE (q~ LOOP
producto <= producto + p;
q <= q - 1;
END LOOP;

C)

,---.-j

2.3.7

Ejemplos de circuitos combinacionales

----------------~------~--~-----------------------------------------------------------

www.monteroespinosa.com - Clases de EDIG - Tfnos 91 5445377 , 619 142355

T-2.10

2.3.7.1

Decodificador 3 a 8 74xx138

AO
A1
A2

1
2

E1

YO
Y1
Y2

14

Y3

12.

Y4
Y5
Y6

11

Y7

15

13

;0
9

MNA370

lHPUTS

t,

Et

H
X

X
H

X
L
L
L
L
L
L
L
L

X
L
L
L.
L
L
L
L
L

X
L
H
ti
ti
ti
H
H
H
Ji

Por,
X
X
X

L
H

L
H

L
ti
l
ti

Ot1TPUTS

A,

Ao

y.

Y,

y~

Vi!

y.

Y,

'i't

Y1

)(

X
X

L
H
H
H
H

H
H
H
H
H

H
H
H
H
l
H
H
H

H
H

l.
l.
l.

H
H
H
H
L
H
Ji
Ji
H
H
H

Jo;

H
H
H

H
H
H
H
ti
ti
ti
L
H
H
ti

H
H
H
H
H
H
H
H
L
H
H

H
H
H
H
H
ti
H
H
H
l
ti

H
ti
ti
H
H
H
H
ti
ti
H
L

X
X

L
L
H
H
L
L
H
H

i..

H
H

ti:
ti
ti

L
H
H
ti

Cj

library IEEE;
use IEEE.std-'ogic_1164.all;
entity V74x138 is
port (G1, G2A_L, G2B_L: in STD_LOGIC; -- enable inputs
A: in STD_LOGIC_VECTOR (2 downto O); -- select inputs
Y_L: out STD_LOGIC_VECTOR (O to 7)); -- decoded outputs
end V74x138;
architecture V74x138_a of V74x138 is
signal Y_LJ STD_LOGIC_VECTOR (O to 7);
begin
with A select Y_LJ <=
~QCO).:l~~C~Or. '"?:.a.Sl cpV\
"01111111" when "000",
~~os.. a.c\\VdS. a..
~Q..'p /
"10111111"when "001",
"11011111"when "010",
Col' Q.~\fdcsa..S be..
~~
"11101111" when "011",
"11110111" when "100",
.se. a...<;;t~o.. 4 ~~o.. o... Y_ L
"11111011"when "101",
c..ll..Y\\o
cump\o..: (,t.\.'Zl\_\. -b.ZB_\.::.\
"111111 Di" when "110"
"11111110"when "111":
~~ V\e,se. c.'-\fl\~le( ~}_o... q.a...\td~
"11111111" when others;
se.CLS\~V'la.. \\ \1 (/ \1'.
Y_L <= Y LJ when (G1 and not G2A_L and not G2B_L)='1' else
"11111111 ";
end V74x138_a;

",,\te.\.

eVta..\o\e ':

se

2.3.7.2

Multiplexor de 4 entradas de 8 bits

www.monteroespinosa.com - Clases de EDIG - Tfnos 91 544 53 77 , 619 142 355

T-2.11

Iibrary IEEE;
use IEEE.stdJogic_1164.all;

./-----,'

entity mux4in8b is
port (
S: in STD_LOGIC_VEeTOR (1 downto O); -- Select inputs, 0-3 ==> A-D
A, B, e, D: in STD_LOGle_VEeTOR (1 to 8); -- Data bus input
Y: out STD_LOGIC_VEeTOR (1 to 8) -- Data bus output
);
end mux4in8b;

architecture mux4in8b of mux4in8b is

B~I
~
'Y
begin
with S select Y <=
. CO
Awhen "00",
B when "01",
C when "10",
D when "11",
(others => 'U') when others; -- this creates an 8-bit vector of 'U'
enamux4in8b;
l.
\
k
..
~

t!.-i/\ ~o c..a...:;o

~net'\'tos

\ ."-

~\.GO..

o- no'lrt i-(Gt\i~a.c,

2.3.7.3

Multiplexor especializado 4 entradas de 3 bits

Iibrary IEEE;
use IEEE.stdJogic_1164.all;
entity mux4in3b is
port (
S: in STD_LOGle_VEeTOR (2 downto O); -- Select inputs , 0-7 ==> ABAeADAB
A, B, e, D: in STD_LOGle_VEeTOR (1 to 18); -- Data bus inputs
Y: out STD_LOGle_VEeTOR (1 to 18) -- Data bus output
);
end mux4in3b;
Sl SI '50
Y
6 o G
A..
architecture mux4in3p of mux4in3b is
6 o \
begin
Js
process(S, A, B, e, D)
61 o
A
\farible i' II\ITEGERr
-D... \ \
begin
G\ () o
A
case S is

l
~
when "000" I "010" I "100" I "110" => Y <= A;
\ t 'O
A
when "001" I "111" => Y <= B;

..!S
I
when "011" => Y <= e;
when "101" => Y <= D;
when others => Y <= (others => 'U'); -- 18-bit vector of 'U'
end case;
end process;
end mux4in3p;

2.3.7.4

Comparador de 8 bits

www.monteroespinosa.com - Clases de EDIG - Tfnos 91 5445377 619 142355


I

T-2.12

Iibrary IEEE;
use IEEE.stdJogic_1164.all;

(J

entity vcompare is
port (
A, B: in STD_LOGIC_VECTOR (7 downto D);
EQ, NE, GT, GE, LT, LE: out STD_LOGIC
);
end vcompare;
architecture vcompare_arch of vcompare is
begin
process (A, B)
begin
EQ <= 'D'; NE <= 'D'; GT <= 'D'; GE <= 'D'; LT <= 'O'; LE <= 'O';
if A = B then EQ <= '1'; end if;
if A 1= B then NE <= '1 '; end if;
if A > B then GT <= '1'; end if;
if A >= B then GE <= '1'; end if;
if A < B then LT <= '1'; end if;
if A <= B then LE <= '1 '; end if;
end process;
end vcompare_arch

2.3.7.5

Comparador de 8 bits (alternativo)

library IEEE;
use IEEE.stdJogic_1164.all;
use IEEE.stdJogic_unsigned.all;
entity camp8 is
part ( A, B: in STD_LOGIC_VECTOR (7 downto D);
EQ, GT: out STD_LOGIC);
end comp8;
architecture camp8_arch of comp8 is
begin
EQ <= '1' when A = B else 'O';
GT <= '1' when A > B el se 'O';
end comp8_arch;

2..3.7.6

\.,-)

Barrel shifter de.16 bits con desplazamiento circular a la izquierda

www.monteroespinosa.com - Clases de EDIG - Tfnos 91 5445377 , 619 142355

T-2.13

library IEEE;
use IEEE.std-'ogic_1164.all;
entitY rol16 is
port (
DIN: in STD_LOGIC_VECTOR(15 downto O); -- Data inputs
S: in STD_LOGIC_VECTOR (3 downto O); -- Shift amount, 0-15
DOUT: out STD_LOGIC_VECTOR(15 downto O) -- Data bus output
);
end ro116;
architecture rol16_arch of rol16 is
begin
process(DIN, S)
variable X, Y, Z: STD_LOGIC_VECTOR(15 downto O);
begin
if S(0)='1' then X:= DIN(14 downto O) & DIN(15); else X:= DIN; end if;
if S(1)='1' then Y:= X(13 downto O) & X(15 downto 14); else Y:= X; end if;
if S(2)='1' then Z:= Y(11 downto O) & Y(15 downto 12); else Z:= Y; end if;
if S(3)='1' then DOUT <= Z(7 downto O) & Z(15 dbwnto 8); else DOUT <= Z; end if;
end process;
end roI16_arch;

2.3.8

Ejemplos de circuitos secuenciales

www.monteroespinosa.com - Clases de EDIG - Tfnos 91 5445377 , 619 142355

T-2.14

2.3.8.1

Bscula R-S

library IEEE;
use IEEE.stdJogic_1164.all;

entity Vsrlatch is
port (S, R: in STD_LOGIC;
Q, QN : buffer STD_LOGIC );
end Vsrlatch;
architecture Vsrlatch_arch of Vsrlatch is
begin
QN <= S nor Q;
Q <= R norQN;
end Vsrlatch_arch;

2.3.8.2

Biestable D con flanco positivo

library IEEE;
use IEEE.stdJogic_1 164.all ;

()

entity Vdff is
port (D, CLK: in STD_LOGIC;
Q: out STD_LOGIC );
end Vdff;
architecture Vdff_b of Vdff is
begin
__ \..4. Je
hdo.. : e.\ f>-rocess ~ ~c\.>t:x. c\p.ndo oo.rn b'l Oprocess(CLK)
l:>ero1 <::'Lk
begin
if (CLK'event and CLK='1') then Q <= D;
c:.~ verp. un flo.na:::> de teL~ ~ ~o.. ck subcb..
end if;
end process ;
end Vdff_b;

2.3.8.3

Lo..

Biestable D con Preset y Clear 74xx74

library IEEE;
use IEEE.std_logic_1164.all;
entity Vdff7 4 is
port (D, CLK, PR_L, CLR_L: in STD_LOG IC;
Q, QN : out STD_LOGIC );
end Vdff74 ;
r architecture Vdff74 b of Vdff74 is
signal PR, CLR: STD_LOGIC; '"'-'> -::,eal~ oJ...))<.\ L\o..~-oo
beg in
r el pNc.er.:o ~ ru::b vo.. c.o n lj CJ:f:,0J) /
process(CLR_L, CLR, PR_L, PR, CLK)
eo el 'doj.
begin
~ toen. lotos
PR <= not PR L' CLR <= not CLR L'
<= '0" ,\
if (CLR and PR) ~ '1 ' then Q <= 'D"-Q'N
'
~tp os~nc.rono
elsif CLR = '1' then Q <= 'O'; QN <= '1';
COtnfO~\.U.rolen
elsif PR = '1' then Q <= '1'; QN <= 'O';
elsif (CLK'event and CLK='1') then Q <= D; QN <= not D;
end if;
end process;
_ end Vdff74_b;

~ So "LQ

\J (\O..

re

2.3.8.4

,)

Contador binari,o de cuatro bits 74xx163

www.monteroespinosa.com - Clases de EDIG - Tfnos 91 5445377,619142355

T-2.15

10
7
2

PE
CET
15

CE?
BINARY
COUNTER

CP

MR

MNA901

14

12

11

INf'UTS

CiPERATING mOE
re.et (deat}

parame.!tlad

OUTPUTS

CET
x

x
x

X
X

l'
I

1
h

Jm

13

CP'

t
t

CE?

'PE

eoxmt

ti

ti

ilcId

lo
b

X
X

h
h

{do nolhirt;}

a..

D;

Te

L
L

1.

ti)

X
X

C>'Xlm

(~

q,.

CIII

~t

library IEEE;
use IEEE.stdJogic_1164.all;
use IEEE.stdJogic_arith.all;
entity V74x163 is
port (CLK, CLR_L, LD_L, ENP, ENT: in STD_LOGIC;
D: in UNSIGNED (3 downto O);
Q: out UNSIGNED (3 downto O);
RCO: out STD_LOGIC );
end V74x163;
architecture V74x163_arch ofV74x163 is
signal IQ: UNSIGNED (3 downto O);
begin
process (CLK, ENT,IQ)
begn
if (CLK'event and CLK='1') then
f CLR_L='O' then IQ <= (others => 'O');
elsif LD_L='O' then IQ <= D;
elsif (ENT and ENP)='1' then IQ <= IQ + 1;
end if;
end if;
if (IQ=15) and (ENT='1') then RCO <= '1';
else RCO <= 'O';
end if;
Q<=IQ;
end process;
end V74x163_arch;

'~

2.3.8.5

Ejemplo de mquina de estados

www.monteroespinosa.com - Clases de EDIG - Tfnos 91 5445377 , 619142355

T-2.16

library IEEE;
use IEEE.std_logic_1164.all;
entity smexamp is
port ( CLOCK, A, B: in STD_LOGIC;
Z: out STD_LOGIC );
end;

(=-)

architecture smexamp_arch of smexamp is


type Sreg_type is (INIT, AO, A1, OKO, OK1);
signal Sreg: Sreg_type;
begin

process (CLOCK) -- state-machine states and transitions


begin
if CLOCK'event and CLOCK = '1' then
case Sreg is
when INIT => if A='O' then Sreg <= AO;
elsif A='1' then Sreg <= A 1; end if;
when AO => if A='O' then Sreg <= OKO;
elsif A='1' then Sreg <= A 1; end if;
when A 1 => if A='O' then Sreg <= AO;
elsif A='1' then Sreg <= OK1; end if;
when OKO => if A='O' then Sreg <= OKO;
elsif A='1' and B='O' then Sreg <= A 1;
elsif A='1' and B='1' then Sreg <= OK1; end if;
when OK1 => if A='O' and B='O' then Sreg <= AO;
elsif A='O' and B='1' then Sreg <= OKO;
elsif A='1' then Sreg <= OK1 ;
end if;
when others => Sreg <= INIT;
end case;
end if;
end process;

with Sreg select -- output values based on state


Z <= 'O' when INIT I AO I A1,
'1' when OKO I OK1,
'O' when others;

end smexamp_arch;

2.3.8.6

Mquina de estados: intermitente de Tbunderbird

www.monteroespinosa.com - Clases de EDIG - Tfnos 91 5445377 , 619 142355

'--

T-2.17

/~
r

'

entity Vtbird is
port ( CLOCK, RESET, LEFT, RIGHT, HAZ: in STD_LOGIC;
L1GHTS: buffer STD_LOGIC_VECTOR (1 to 6) );
end;
architecture Vtbird_arch of Vtbird is
constant IDLE: STD_LOGIC_VECTOR (1 to 6) := "000000";
constant L3 : STD_LOGIC_VECTOR (1 to 6) := "111000";
constant L2 : STD_LOGIC_VECTOR (1 to 6):= "110000";
constant L 1 : STD_LOGIC_VECTOR (1 to 6):= "100000";
constant R1 : STD_LOGIC_VECTOR (1 to 6):= "000001";
constant R2 : STD_LOGIC_VECTOR (1 to 6):= "000011";
constant R3 : STD_LOGIC_VECTOR (1 to 6):= "000111";
constant LR3 : STD_LOGIC_VECTOR (1 to 6) := "111111";

()

begin
process (CLOCK)
begin
if CLOCK'event and CLOCK = '1' then
if RESET = '1' then LlGHTS <= IDLE; else
case LlGHTS is
when IDLE => if HAZ='1' or (LEFT='1' and RIGHT='1') then LlGHTS <= LR3;
elsif LEFT='1' then LlGHTS <= L 1;
elsif RIGHT='1' then LlGHTS <= R1;
else LlGHTS <= IOLE;
end if;
when L 1 => if HAZ='1' then LlGHTS <= LR3; el se LlGHTS <= L2; end if;
when L2 => if HAZ=' 1, then LlGHTS <= LR3; el se LlGHTS <= L3; end if;
when L3 => LlGHTS <= IOLE;
when R1 => if HAZ=' 1, then LlGHTS <= LR3; else LlGHTS <= R2; end if;
. when R2 => if HAZ=' 1, then LlGHTS <= LR3; else LlGHTS <= R3; end if;
when R3 => LlGHTS <= IOLE;
when LR3 => LlGHTS <= IOLE;
when others => null;
end case;
end if;
end if;
end process;
end Vtbird_arch;

www.monteroespinosa.com - Clases de EOIG - Tfnos 91 5445377 , 619 142355

T-2.18

TEMA 3: CIRCUITOS COMBINACIONALES


3.1 Definiciones bsicas
Un ciclo de
retroalimentacin es
la trayectoria de una
seal en un circuito que
permite que la salida de
una puerta se propague
de regreso hacia la
entrada de esa misma
puerta. Un ciclo de esta
naturaleza
generalmente genera
un comportamiento
secuencial en un
circuito.

3.1.1

Circuitos combinacionales y circuitos secuenciales

Los circuitos lgicos se clasifican en dos tipos, "combinacional" y "secuencial". Un


circuito lgico combinacional es aquel cuyas salidas dependen solamente de sus entradas
de corriente. Por el contrario, las salidas de un circuito lgico secuencial dependen no slo
de las entradas de corriente sino tambin de la secuencia anterior de las entradas,
posiblemente arbitrarias, que sucedieron en el pasado.
Un circuito combinacional puede contener una cantidad arbitraria de puertas lgicas e
inversores, pero NO ciclos de retroalimentacin.

3.1.2

Anlisis VS Sntesis

En el anlisis de un circuito combinacional comenzamos con un diagrama lgico y


procedemos hasta una descripcin formal de la funcin que realiza el circuito, tal como una
tabla de verdad o una expresin lgica.
En la sntesis hacemos lo contrario, comenzamos con una descripcin formal y procedemos
hasta un diagrama lgico.

3.2 Multiplexores
Son circuitos combinacionales que poseen las siguientes entradas y salidas:

N entradas de informacin o canales de datos.


n entradas de seleccin o control.
Una salida de informacin
Una entrada de autorizacin.

Los canales de entrada estn relacionados con las entradas de seleccin por la siguiente
ecuacin:
nmero de canales =

2nmero de entradas de seleccin

2n

/)

Multiplexor

211 entradas
dedato$

1
I

salida

r-A--.

1111

n bits

de seleccin

www.monteroespinosa.com - Clases de EDIG - Tfnos 91 5445377,619 142355

T-3.1

En los esquema representativos de estos circuitos se suele denominar a dichas entradas y


salidas con los smbolos que se exponen a continuacin:

Do o lo a DN o IN a las entradas de informacin.


So a Sn a las entradas de direccionamiento.

E a la entrada de autorizacin o enable.


Wo Z a la salida del circuito.

Ejemplo de esquema de un multiplexor:


S
Pin Names

!{la

El componente aqu
descrito es el
74AC157, multiplexor
de dos entradas de
datos (de 4 bits cada
una).

Source o Data nputs

Ifa

'o~

Za

Ite

Ita-1td

Source 1 Data. tnputs

Ze

Enable Input

'oc!

Sefect Input

Za...za

Outputs

10b

12

Ilb

11

2b

10 lld
9

3.2.1

Descnption

lOa-1M

ZIt

Funcionamiento de un multiplexor

El principio de funcionamiento del multiplexor es el siguiente: cuando una combinacin


binaria aparece en las entradas de seleccin, la informacin de entrada presente en el canal
por ella defmido aparece en la salida.
Por tanto, se puede considerar a un multiplexor como un conmutador de mltiples entradas
cuya nica salida se controla electrnicamente mediante las entradas de seleccin.
La estructura interna de estos circuitos puede llegar a ser relativamente compleja, y como,
por otra parte, nosotros los vamos a encontrar en el mercado bajo la forma de chips
integrados, no realizaremos su estudio interno.

Multiplexor 2 x 1

3.2.2
MUX

lo

11

Esta es la tabla de verdad de un multiplexor de 2


canales de entrada (lo e 11 ) con 1 entrada de
control ( Ca)

C)

Ca

lo
11

y esta es la funcin que implementa:

Co

Z
Z

3.2.3

Co lo + Ca 11
(Ca + lo) (Ca + 11 )

(la forma cannica)

(2 a forma cannica)

Multiplexor 4 x 2

La tabla de verdad de un multiplexor de 4 canales de entrada (10 ,11 ,12 e 13 ) con 2


entradas de control (Ca Y C I ) es la siguiente:

lo
11
12
h

MUX

00
01

10

II

Cl

CI

Ca

O
O
1
1

O
1
O
1

Z
lo
11
1?
13

Co

www.monteroespinosa.com - Clases de EDIG - Tfnos 91 544 53 77 , 619 142 355

T-3.2

y esta es la funcin que implementa:


Z
Z

3.2.4

= CI Colo + CI CO 11 + CI CO 12 + el Co13
= (el +Co+lo)(CI +Co+11)(CI +Co+12 )(CI +Co+13)

(la forma cannica)

(2a forma'cannica)

Multiplexor 8 x 3

La tabla de verdad de un multiplexor de 8 canales de entrada (10 ,11 ,12 ,13, 14 ,15 ,16 e 17 )
con 3 entradas de control ( Co , CI y C2 ) es la siguiente:
1 0 - 000
! l - 001
l l - 010
h - Oll
1 , - lOO
I s - 101
1 6 - 110
1 7 - 111

MUX

III

C, Cl Co

C2
O

CI
O

eo

lo
11

O
O
1
1
1
1

1
1
O
O
1
1

O
1
O
1
O
1

17
13
14
l'i
lF,
17

rj
'--~

y esta es la funcin que implementa:

Z=~G~~+~G~I+~G~~+~G~~+~G~~+~G~~+
+~GCoI6 +~GCoI7
Anlogamente se pueden deducir las tablas de verdad y la forma cannica de multiplexores
de mayor nmero de canales y entradas de control.

3.2.5

Realizacin de funciones lgicas con multiplexores

La circuitera interna que posee un multiplexor permite la implementacin de funciones


lgicas mediante su adecuado conexionado externo. Existen dos mtodos de emplear
multiplexores cuando se trata de implementar funciones lgicas:
a) Implementacin de funciones booleanas de n variables con un multiplexor de n
entradas de control
En este caso basta con escribir la tabla de verdad de la funcin booleana y asignar
cada una de las lneas de esa tabla a uno de los canales de datos. Las n entradas de
control se reservan para las n variables de la funcin.
Veremos este mtodo
en la prctica en el
ejercicio 1 de clase, de
este tema, apartado a,

Recuerda que un
multiplexor 4x2 tiene 4
canales de entrada

(lo ,JI,J2

13 )

con

Una opcin ms mecnica es escribir la 1~ forma cannica estandar de una funcin


a la salida de un multiplexor, e identificar cada trmino (teniendo en cuenta que
las entradas de control las identificamos directamente con las variables de la
funcin. Por lo tanto, slo nos queda saber qu valores, '1' 'O', ponemos en las
entradas de datos).
Vamos a detallar la explicacin para la realizacin de una funcin F de dos
variables (X e Y) con un multiplexor 4x2:
Para este multiplexor, la forma desarrollada de su funcin de salida es:

2 entradas de control

(eo y CI )
www.monteroespinosa.com - Clases de EDIG - Tfnos 91 5445377 619 142355
J

T-3.3

'\,j

Sobre esta funcin de salida, identificamos ya las entradas de control con las
variables, y Z con F, la funcin que queremos implementar:

En este momento
empezamos ya a
completar el dibujo de
nuestro circuito con el
/~ multiplexor.

F=XY~+XY~+XY~+XY~

As, por ejemplo, si en


la funcin del
enunciado no aparece

segn aparezca o no el trmino en cuestin en la funcin del enunciado.

XY ,

el trmino
entonces

Donde slo queda ya sustituir cada entrada de datos 10 ,11 ,12 e 13 por' 1' 'O'

ID

tiene que

valer 'O'.

Veremos este mtodo


en la prctica en el
ejercicio 1 de clase, de
este tema, apartado b.

O
-

b) Implementacin de funciones booleanas de n + 1 variables con un multiplexor de


n entradas de control y un negador
En este caso una de las variables de la funcin booleana ser enchufada al multiplexor
por las entradas de datos mientras que las otras n - 1 variables se siguen enchufando
en las entradas de control.
Para poder implementar la funcin vamos a seguir el segundo de los mtodos del
apartado a), pero realizando unos pasos previos.

Nuevamente vamos a
seguir'la explicacin a
partir de un multiplexor
4x2, slo que ahora la
funcinF que
queremos implementar
es de tres variables, X,
Yy W.

Lo primero que debemos hacer es elegir qu dos variables van a estar conectadas a
las entradas de control. Vamos a suponer que en nuestro caso van a ser X e Y.
Acto seguido tenemos que transformar la expresin que nos den de la funcin,
para que en cada trmino de la misma aparezcan SIEMPRE estas dos variables
elegidas. Para ello, cuando en algn trmino falte alguna, multiplicaremos dicho

Recuerda dos
propiedades
importantes:

trmino por

la+a=ll

(X + X) (y + y) ,segn cul sea la variable que falta.

Una vez expresadas estas multiplicaciones, deshacemos los parntesis aplicando la


propiedad distributiva, simplificamos cuando se pueda, y reordenamos la
expresin.

la.l =al

De esta forma, podremos ya escribir nuestra salida estandar (en la 1a forma


cannica) de un multiplexor de estas caractersticas:

Para despus identificar:


F=XY~+XY~+XY~+XY~

Donde la nica diferencia ser que las entradas 10 ,11 ,12 e 13 no quedarn slo
identificadas con' l' 'O', sino tambin por W W, la tercera de las variables
de la funcin.

Nota:
Veremos un ejemplo de
este tipo en el ejercicio
1 de clase, de este
tema, apartado c.

Tambin es posible, en algunas ocasiones, implementar funciones con n + 2 variables o


ms mediante un mltiplexor de n entradas de control pero para ello el problema debe estar
preparado.

www.monteroespinosa.com - Clases de EDIG - Tfnos 91 5445377 , 619142355

T-3.4

3.3 Decodificadores
Genricamente, un decodificador es un circuito lgico con varias entradas y salidas que
convierte las entradas codificadas en salidas codificadas, donde los cdigos de entrada y de
salida son diferentes.
En ocasiones un cdigo
El cdigo de entrada que se utiliza con mayor frecuencia es un cdigo binario de n bits,
binario de n bits es
donde una palabra de n bits representa uno de 2n diferentes valores codificados,
truncado para
normalmente los enteros de Ohasta 2n - l.
representar menos de
n
2 valores. Es el caso

El cdigo de salida que se utiliza con mayor frecuencia es un cdigo 1 fuera de m, que
del cdigo BCD, en el
contiene m bits, donde un solo bit se activa en un determinado momento.
que las combinaciones
0000 hasta 1001
representan los dgitos Son circuitos combinacionales provistos de n entradas y un nmero de salidas menor o
decimales O a 9, pero
igual 2n
las combinaciones
1010 hasta 1111no se
usan.

3.3.1

Efectivamente, son
decodificadores
provistos de n
entradas y un nmero
de salidas menor o
igual 2'.

No todos los
decodificadores poseen
la misma asignacin de
estados lgicos.; de
hecho, hay muchos que
trabajan tomando un
nivel alto (1) como nivel
activo.

El circuito decodificador ms comn es un decodificador de n a 2n decodificador


binario. Un decodificador de esta clase tiene un cdigo de entrada binario de n bits y un
cdigo de salida 1 fuera de 2n .
Se utiliza un decodificador binario cuando se necesita activar exactamente una de las 2n
salidas basado en un valor de entrada de n bits. Dicho de otra forma, funcionan de manera
que, al aparecer una combinacin binaria en sus entradas, se activa una sola de sus salidas.
Normalmente, la salida activada presenta un 0, mientras que las dems permanecen a 1.
Los decodificadores se emplean en los sistemas digitales para convertir las informaciones
binarias, con las cuales trabajan, otros tipos de informaciones digitalizadas, pero no
binarias, empleadas por otros dispositivos, por ejemplo, los visualizadores alfanumricos.
A continuacin presentamos algunos ejemplos de circuitos de estas caractersticas.

3.3.2
Un ejemplo real de
decodificador (un
integrado con esta
funcionalidad) es el
74AC179, solo que
tanto sus salidas como
su entrada enable son
activas a nivel bajo.

Decodificaror binario: funcionamiento

Decodificador binario 2 a 4

Describimos aqu un decodificador de 2 a 4 lneas con entrada de inhibicin que activa la


salida en nivel bajo.
La descripcin completa de sus entradas y salidas es:

10 e 11 son las dos entradas.

a 1; son las cuatro salidas. Una de ellas se activar en funcin del nmero
binario representado a la entrada.
EN es la entrada de autorizacin o enable. Observa que se activa a nivel alto, esto
es, el decodificador funcionar cuando esta entrada est a 1.

Yo

Su tabla de verdad es la siguiente:


a tabla de verdad del
decodificador binario
introduce una notacin
"sin importancia" para
combinaciones de
entrada. Si uno o ms
valores de entrada no
afectan a los valores de
salida para alguna
combinacin de las
entradas restantes, se
marcan con una X para
esa combinacin de
entrada.

Inputs

Outputs

Y3

Y2

O
1
O
1

O
O
O
1

EN

11

lo

1
1
1
1

O
1
1

YI

Yo

O
O
1
O

O
1
O
O

1
O
O
O

www.monteroespinosa.com - Clases de EDIG - Tfnos 91 5445377 , 619 142355

T-3.5

Su esquema y su circuito equivalente (implementado con puertas) son:


Es importante entender
que en el nmero
binario que pongamos

!~

en

l/o, 11 es el bit

ms significativo. Aun
as, mira SIEMPRE la
tabla de verdad de
cada circuito integrado,
para conocer con
certeza estas
cuestiones.

2-to-4
decoder

10
11

YO
Y1
Y2

EN

Y3

En el circuito
equivalente, observa
que cada salida
consiste
en un minterrn de
las variables de
entrada

3.3.3

Decodificador 3 a 8

Otro ejemplo de decodificador es el de 3 a 8 lneas.


El que presentamos tiene las siguientes entradas y salidas:

Eo a E2 son las tres entradas.

So a S7 son las ocho salidas. Una de ellas se activar en funcin del nmero
binario representado a la entrada.
EN es la entrada de autorizacin o enable.

Su tabla de verdad es la siguiente:


EN
O
1
1
1
1
1
1
1
1

E2
X
O
O
O
O
1
1
1
1

El
X
O
O
1
1
O
O
1
1

Eo
X
O
1
O
1
O
1
O
1

So
O
1
O
O
O
O
O
O
O

SI
O
O
1
O
O
O
O
O
O

S2
O
O
O
1
O
O
O
O
O

S3
O
O
O
O
1
O
O
O
O

S4
O
O
O
O
O
1
O

O
O

S5
O
O
O
O
O
O
1
O
O

S6
O
O
O
O
O
O
O
1
O

S7
O
O
O
O
O
O
O
O
1

y su esquema:

decodificador

3a8

So

SI

S2
S3
En este caso,

E2

S4

es el

Ss

bit ms significativo de
la entrada

EN

S6
S7

\~

www.monteroespinosa.com - Clases de EDIG - Tfnos 91 5445377 , 619 142355

T-3.6

3.3.4

Funciones de un decodificador

La funcin que ms nos interesa de un decodificador es la de implementar funciones


lgicas. La forma de hacerlo es muy sencilla:
Necesitamos la tabla de verdad de la funcin.
Basta con unir en una puerta OR aquellas salidas del decodificador donde la
funcin valga uno.

Observa que as es
como formamos los
minterms a la salida.

Un decodificador es lo
mismo que un
demultiplexor si cumple
que:
-

Otra posibilidad es unir justo las contrarias (donde la funcin vale O) con una
puerta NOR.

Otras funciones importantes de un decodificador son la de hacer de decodificador


estricto (que, en principio, es para lo que se inventaron) y la de hacer de demultiplexor
(si se cumplen las caractersticas antes enunciadas en el margen).

Tiene 2" salidas.


Tiene entrada de
validacin.

3.4 Comparadores binarios


El comparador ms
sencillo que podemos
encontrar es el de
igualdad entre dos bits,
que es implementado
simplemente por una
puerta XOR.

Los circuitos comparadores son circuitos combinacionales que indican la relacin de


igualdad o desigualdad existente entre dos nmeros binarios A y B de n bits cada uno.
Adems suelen disponer de una serie de entradas de acoplamiento en cascada para poder
comparar con mayor nmero de bits que los permitidos por el comparador que usamos.

Ejemplo:
En la figura se muestra el diagrama esquemtico de un comparador del tipo 74x85:

Entradas de cascada

Su tabla de funcionamiento la siguiente.

A3> 83
A3 <-83
A3= 83
A3 = 83
A3 = 83
A3 = 83
A3 = 83
A3= 83
A3= 83
A3= 83
A3 = 83
A3 = 83
A3 = 83
A3 = 83

X
X
X
X

X
X
A2>82
A2< 82
A2= 82
A2 = 82
A2 = 82
A2 = 82
A2 = 82
A2 = 82
A2 = 82
A2= 82
A2= 82
A2 = 82

A1
A1
A1
A1
A1
A1
A1
A1
A1
A1

>
<
=
=
=
=
=
=
=
=

81
81
81
81
81
81
81
81
81
81

X
X
X
X
X
X
AO> 80
AO< 80
AO= 80
AO=80
AO= 80
AO= 80
AO = 80
AO = 80

X
X
X
X
X
X
X
X

X
X
X
X
X
X
X
X

X
X
X
X
X
X
X
X

1
O
O

O
1
O

O
O

.o

-_~l
O
O

www.monteroespinosa.com - Clases de EDIG - Tfnos 91 5445377 , 619142355

1
O
1
O
1
O
1
O
1
O
O
O
O
1

O
1
O
1
O
1
O
1
O
1
O
O
O
1

O
O
O
O
O
O
O
O
O
O
'1
1
O
O

T-3.7

3.5 Sumadores - Full Adder


El bloque elemental de los sumadores es el sumador completo o "full adder", con
tratamiento de acarreos de entrada (CIN) y salida (COUT). A continuacin se muestra su
esquema y su tabla de verdad.
Al full adder lo
abreviaremos FA

COUT

GIN

El FA slo suma dos


bits ms el acarreo de
entrada

Cin

O
O

Cout

S
O

1
O

1
1

1
1

o
El circuito internp del sumador completo se muestra a continuacin:
\ '.~
\c-'

,AO'

Ql' .

~.

y
Para ms detalles
ver el ejercicio 1 de
clase de este tema

--+-lJ---l'-l

CIN --I--I--+-----....J.

COUT

A partir del bloque elemental se pueden construir sumadores de ms bits (n bits),


Estos sumadores de
dos palabras de n bits,
formados por fulladders, se suelen
denominar sumadores
de rizo.

Solo necesitamos una cascada de n etapas de sumadores completos, si cada una de las
cuales maneja un bit.
Por ejemplo, aqu mostramos un sumador de cuatro bits construido a partir de cuatro
sumadores de un bit:

\~

En este tipo de
sumadores la velocidad
de clculo est limitada
por el camino del
acarreo. Si este se
propaga en toda la
cuenta, ralentiza la
operacin

Y3

Ver febrero 2000- ej2

..

Y2

Yo

Y1

Xl

y
CIN

col.

Camino
crtico ~

( s

COUT

CIN

:r--

COUT

COUT

ClN

,
I

S3

S2

s,

www.monteroespinosa.com - Clases de EDIG - Tfnos 91 5445377 , 619 142355

So

T-3.8

3.6 Memorias ROM


matriz =memoria
fila

=palabra

Nota: La longitud b de
la palabra puede ser
cualquiera, independientemente del
nmero de filas

Podemos entender una memoria ROM (Read Only Memory) como una matriz de
dimensin 2n x b, es decir una matriz de 2n filas y b columnas. A las filas de esta 'matriz las
vamos a llamar palabras y diremos que cada palabra est compuesta de b bits. Por tanto
tenemos que mirar siempre esta matriz por filas (nunca por columnas).
Para acceder a cada fila de la matriz tenemos una direccin que no es ms que un nmero
binario que identifica cada fila. Por tanto si nuestra matriz tiene 2n filas necesitaremos un
direccin de n bits. A su vez cada fila alberga una informacin de b bits (que son las
columnas que tiene la matriz).
El esquema genrico de. una memoria ROM de 2n x b es el siguiente:

2n xbROM

AO
Al
A2
address

, inputs

DO
D1

An-2
An-1

Db-1

data

outputs

(-)

Resumen

En la memoria caben 2n palabras de b bits, o sea, en total 2n x b bits.


Consta de n entradas (llamadas Bus de direcciones) y b salidas (llamadas Bus de datos)
Por cada combinacin binaria de las entradas (2 n ) existe un dato de longitud b bits
t'\ i,.yM.p('c:>

3.6.1

'i ')(>

~<

pa\.a..brO-~

ti' (\ll~S ~ ~\a.loo. :: ...\-a-"Vla.vt~ ~

bl-tS ~e :1~.

Memoria ROM de 4 x 5

Recuerda que b es
2
totalmente indepenEn este caso nuestra memoria tiene 2 = 4 palabras (es
~.e. diente de n
, direcciones para referirnos a cada palabra tendrn 2 bits.
\{ecc't;V\
...."'==---:--::-~r--_~.-

"G

decir, una matriz con 4 filas), las


En concreto las direcciones de las
cuatro palabras de la memoria sern 00, 01, 10, 11. Cada una de estas palabras tendr una
informacin de 5 bits.

3.6.2

Memoria ROM de 'x 2

En este caso nuestra memoria tiene 23 = 8 palabras (es decir, una matriz con 8 filas) las
direcciones para referirnos a cada palabra tendrn 3 bits. En concreto las direcciones de las
ocho palabras de la memoria sern 000, 001, 010, 011, 100, 101, 110, 111. Cada una de
estas palabras tendr una informacin de 2 bits.

3.6.3

Funcionamiento de las memorias.

El mtodo de funcionamiento de una memoria es la siguiente: para elegir una fila de la


memoria debo introducir por las entradas (bus de direcciones o address inputs) el cdigo de
esa fila. La memoria "va" a esa fila, extrae la informacin que hay en ella y la "saca" por
las salidas (bus de datos o data outputs).

www.m.tnteroespinosa.com - Clases de EDIG - Tfnos 91 5445377 619 142355


J

T-3.9

~1-1

A. 3

DA

b.., . - ~~

iz --

1\0

~
t 1l

8 '

es.

Aa

-- kl
~~

3.6.4

Uso de las memorias ROM

Una Memoria ROM puede implementar cualquier funcin lgica combinacional.


/\

Para ello basta con hacer los siguiente:


Las entradas de la funcin se conectan al bus de direcciones
Las salidas de la funcin se conectan al bus de datos

Ejemplo de implementacin de una funcin lgica en una ROM:


Sea el circuito combinacional siguiente, .

lo

Yo

(Aa)

(Do)

Y1
(Dl }

11
{Ai}

Y2
CDZ}

Y3
(D3}
POL
(A2)

Podemos implementarlo mediante una memoria ROM de 8 x 4 :

Outputs

Inputs

8x4ROM

C:

!O

Aa

11
POL

A1
A2

00
01
02
D3

YO
Y1
Y2
Y3

A2

Ar

AO

D3

D2

0'1

Do

(}

1
1

ti
1
1

o
o

()

1
O
1

(}

1. J1'l ~~eVl~O--c \c(11 ~ e.. ~ li.vz. c.. ~ov'les


Vi

<01eafYl~

fA ~\Cl-n1 cG t~
~ M.emon~

01~d 'la v1 -k

o
o

~)..{:

vot"ld.o\es. ,,-\ btAG k 6lre ccio", es.


lCL~~ ~ ~ ~,kJ

\e- ~

~W'lc~ en

R6~

www.monteroespinosa.com - Clases de EDIG - Tfnos 91 5445377,619142355

T-3.10

Recuerda lo explicado
en el tema 3 sobre la
diferencia entre
circuitos
combinacionales y
secuenciales:

TEMA 4: CIRCUITOS SECUENCIALES

(J

4.1 Introduccin

Un circuito lgico
combinacional es
aquel cuyas salidas
dependen
solamente de sus
entradas.

Los circuitos secuenciales se caracterizan por su capacidad para memorizar informacin; en


consecuencia, los valores de las salidas, en un determinado momento, no dependen exclusivamente de los valores de las entradas en ese instante, sino que dependen tambin de los
que tuvieran presentes con anterioridad.

Un circuito lgico
secuencial es aquel
cuyas salidas
dependen no slo
de sus entradas
actuales, sino
tambin de la
secuencia pasada
de entradas,
posiblemente
retrasada en el
tiempo de manera
arbitraria.

Definiremos el estado actual de un circuito secuencial como una coleccin de "variables de


estado" cuyos valores en cualquier tiempo contienen toda la informacin acerca del pasado
necesario para explicar el comportamiento futuro del circuito.
Dicho de otra forma, vamos a llamar "variables de estado" a las variables que guardan toda
la informacin sobre la historia del circuito y permiten predecir la salida actual en base a su
contenido y al de las seales de entrada actuales.
Las variables de estado se guardan en uno o ms bits de informacin.
Considerando como entradas las entradas del circuito y las variables de estado, el
diseo de un circuito secuencial es igual al de uno combinacional.

Tan grande como


parezca, 2n siempre
ser finito, nunca
infinito, de modo que
los circuitos
secuenciales en
ocasiones se conocen
como mquinas de
estado finito.

En un circuito de lgica digital, las variables de estado son valores binarios,


correspondientes a ciertas seales lgicas en el circuito, como veremos en secciones
posteriores. Un circuito con n variables de estado binarias tiene 2n estados posibles.

4.1.1

Seales de reloj

Los cambios de estado en la mayora de los circuitos secuenciales se presentan en tiempos


especificados por una seal de reloj de funcionamiento libre. En la siguiente figura
presentamos los diagramas de temporizacin y nomenclatura para seales de reloj tpicas.
.

los cambios de estado


ocurren aqu

"

~LK -.-1 . . . .'H"~.,\.--...t.L. .~r


.,;.' . ~.l. -----,\~.
1:
:'r--.,.

____

..

_ _ __

'<peroPD ;= t per
frecue'neia ;: 1ft par

.1..

11

- . , o. . ;' t per .

Ciclo de trabajo::: tH tpar

<

,o,y

r"

~L~-L'l'

lo~cambiosdeest?d9S~ ~
presentan aqu~.. ~

." r.

t-

--o tL -I~ t R -:

'. l.
Los sistemas digitales
tpicos, desde relojes
digitales hasta
supercomputadoras,
utilizan un oscilador de
cristal de cuarzo para
generar una seal de
reloj de funcionamiento
libre.

, tper

' '

\r

, . e.clo de trabajo

=t L J tper

Por convencin, una seal de reloj es de estado activo alto si los cambios de estado se
presentan en el flanco de subida del reloj o cuando el reloj est en ALTO, y de estado
activo bajo en el caso complementario.
El periodo del reloj es el tiempo entre transiciones sucesivas en la misma direccin.
La frecuencia del reloj es el inverso del periodo.
El primer flanco o pulso en un periodo de reloj (o en ocasiones el periodo mismo) se
denomina una ~ ( "tic") de reloj.
El ciclo de trabajo (duty eycle) es el porcentaje de tiempo que la seal de reloj se
encuentra en su nivel asertivo.

www.monteroespinosa.com - Clases de EDIG - Tfnos 91 544 53 77 , 619 142 355

\ . _../
"
T-4.1

4.2 Biestables
El circuito secuencial ms sencillo consiste en un par de inversores que forman un ciclo de
retroalimentacin, como se muestra en la siguiente figura:

>Cf-----1''--- Q

Como puedes ver, no


tiene entradas y tiene
dos salidas, Q y Q_L

Este circuito se denomina con frecuencia biestable, puesto que en un anlisis estrictamente
digital tiene dos estados estables:
Si Q es ALTO, entonces el inversor inferior tiene una entrada en ALTO y una salida en
BAJO, lo que fuerza un nivel ALTO a la salida del inversor superior, como supusimos
en primer lugar.
Pero si Q est en BAJO, entonces el inversor inferior tiene una entrada en BAJO y una
salida en ALTO, lo que fuerza Q a BAJO, otra situacin estable.

Podramos por tanto utilizar una variable de estado simple, el estado de la seal Q, para
describir el estado del circuito. As, existen dos estados posibles: Q = OY Q = l.
Un biestable tiene
mucho ms que
mostrar si
consideramos su
funcionamiento desde
el punto de vista
analgico, estudiando
conceptos de
meta estabilidad, que se
escapan del temario de
EDIG.

Este elemento es tan simple que no tiene entradas y as no hay manera de controlar o
modificar su estado. Cuando se aplica primero la energa al circuito, llega aleatoriamente a
un estado o al otro y se mantiene ah permanentemente.
Por supuesto, este elemento biestable que presentamos en un comienzo, evoluciona a otras
formas, controlables mediante entradas, que exponemos a continuacin.

4.2.1

Cerrojos y flip-flops: generalidades

Los cerrojos y flip-flops son circuitos secuenciales constituidos por puertas lgicas,
capaces de almacenar un bit, la informacin binaria ms elemental. Son los bloques de
construccin bsicos de la mayora de los dems circuitos secuenciales.
Estos circuitos pueden ser sncronos o asncronos:

()

Se dice que los flipflops son dispositivos


sncronos.

Esto significa que, aun-que cambie el valor de alguna de las entradas, la salida no
cambia hasta un determinado momento marcado por el reloj. Normalmente esta
activacin sevproduce en el flanco de subida o bajada de la seal de reloj.

Se dice que los


cerrojos son
dispositivos
asncronos.

'~

Es importante saber
que algunos textos y
diseadores digitales
pueden emplear
(incorrectamente) el
nombre "flip-flop" para
un dispositivo que en
realidad es un cerrojo.

Todos los diseadores digiales utilizan el nombre de flip-flop para un dispositivo


secuencial que necesita una seal de reloj (CLK) para ser activado.

Por otra parte, la mayora de los diseadores digitales utilizan el nombre de cerrojo
(latch) para un dispositivo secuencial que no necesitan una seal de reloj.
Esto es, la salida cambia cada vez que cambia una de las entradas.

La clasificacin de los biestables, desde el punto de vista de su constitucin y del nmero


de entradas puede resumirse en: biestable R-S, biestable J-K, biestable T y biestable D.

www.monteroespinosa.com - Clases de EDIG - Tfnos 91 544 53 77 , 619 142 355

T-4.2

En EDIG a los cerrojos


les llamamos bsculas.

4.2.2

Bscula R-S

Una bscula R-S tiene como smbolo lgico es cualquiera de los siguientes:
Encontrars tambin
estas bsculas con el
nombre de "Bscula SE" (set- reset, de
establecimiento restablecimiento)

r--

Q -

QN

r--

()

O-

El circuito tiene dos entradas, S y R, y dos salidas, etiquetadas como Q y QN, donde
normalmente QN es el complemento de Q. La seal QN se representa en ocasiones como
Un poco ms adelante
comprobaremos que
esta definicin de QN
no es completamente
exacta.

_L

Se trata de un biestable asncrono (no est monitoreado por un reloj) . Su tabla de


transiciones entre dos estados es la siguiente:

representa la salida
O en un detenminado
instante t.
Ot

Q, representa la salida
Qen undetenminado
instante

t.

Ot+1 representa la
salida O en el siguiente
instante, t+1.

O
O
O
O
1
1
1

O
O
1
1
O
O
1

Qt
O
1
O
1
O
1
O

Q
1
O
1
O
1
O
O

Qt+1
O
1
1
1
O
O

-~)

Como se puede observar en la tabla si tanto S como R son O, el circuito se comporta como
el elemento biestable: tendremos un ciclo de retroalimentacin que retiene uno o dos
estados lgicos, Q = O Q = 1. Pero tanto S como R pueden ser asertivas (ponerse al)
para forzar al ciclo de retroalimentacin a un estado deseado:

S establece la salida Q a 1.
Recuerda que cuando
decimos "elemento
biestable" nos
referimos al biestable
bsico, sin entradas,
presentado en el
comienzo de este punto

R restablece o limpia la salida Q a O.


Despus de que la entrada S R es negada de nuevo, la bscula permanece en el estado al
cual fue forzado.

5.2

Toda esta informacin queda resumida en la tabla de transicin siguiente, ms concisa:


R
O
O
1
1

S
O
1
O
1.

)
0t+1

Qt
1
O

Inestabilidades:
Con esta observacin
queda patente que en
un caso detenminado,
Q no es el
complemento de
la salida de una
bscula R-S.

O, en

La metaestabilidad no
es objeto de esta
asignatura.

Cuando ambas entradas, S y R, estn a 1, ambas salidas son forzadas a cero. Una vez que
negamos cualquiera de las entradas, las salidas regresan a la operacin complementaria
como es habitual.
Sin embargo, si negamos ambas entradas de manera simultnea, la bscula se encamina a
un estado siguiente impredecible y de hecho puede oscilar o entrar a un estado conocido
como metaestable.
La metaestabilidad tambin puede presentarse se un pulso 1 que sea demasiado breve se
aplica a S R.

www.monteroespinosa.com - Clases de EDIG - Tfnos 91 5445377 ,619142355

T-4.3

4.2.2.1

Implementacin de una bscula R-S con puertas NOR


R---~

Para este circuito valen


todas las explicaciones
de la pgina anterior,
dado que esta es justo
su implementacin

8------1

4.2.2.2

>--....---Q

Ji. - S

Observa que las


puertas OR con las
entradas negadas son,
en realidad, puertas
NAND:

x+y=xy

)---....--QN

Implementacin de una bscula R-S con puertas NAND

La bscula resultante
de esta implementacin
suele recibir el nombre
de Bscula

X)---....--Q

}------QN

El resultado de esta implementacin es una bscula con entradas de establecimiento y


restablecimiento a nivel bajo.

A continuacin tenemos su smbolo y su tabla de verdad:


8_L R_L
O

o
1

QN

o
lastQ [astQN

El funcionamiento de esta bscula R - S es semejante al de la R - S, con dos


diferencias principales:

Ry S

Las entradas de nivel.


bajo se indican
claramente en el
smbolo lgico de este
circuito.

son de nivel activo bajo, de modo que el cerrojo recuerda su estado

anterior cuando

R = S =1 .

Cuando tanto R como S son afirmadas de manera simultnea, ambas salidas de la


bscula se van al, no a O como en la bscula R - S.

4.2.2.3

Bscula R-S con "enable"


5---1
}---'!>--- Q

e permite o impide que


olas entradas R y S
lleguen a la bscula

e
QN

R----1

Este circuito se comporta como una bscula R - S


cuando C = 1, Y retiene su estado anterior cuando C = O.

Nota:

Esto es, el estado


siguiente es
impredecible y la salida
puede llegar a ser
metaestable

Si tanto S como R son 1 cuando C cambia de 1 a O, el


circuito se comporta como una bscula R - S en la cual S
y R son negadas simultneamente.

S R

o o
o
1 o
1

QN

[ast Q lastQN

1 1

x x

[ast Q lastaN

~/

www.monteroespinosa.com - Clases de EDIG - Tfnos 91 5445377 , 619 142355

T-4.4

Los cerrojos tipo O son


tiles en aplicaciones
de control, donde con
frecuencia pensamos
en trminos de
establecer una marca
en respuesta a alguna
condicin y
restablecerla cuando
cambian las
condiciones.
Con frecuencia
necesitamos cerrojos
simplemente para
almacenar bits de
informacin: cada bit es
presentado en una
lnea de seal, y nos
gustara almacenarlo
en alguna parte.
Un cerrojo O puede
emplearse en una
aplicacin de esta
naturaleza.

4.2.3

Latch D

La figura muestra un cerrojo D. Su diagrama lgico se reconoce como el de una bscula RS con habilitacin (enable), con un inversor agregado para generar entradas S y R a partir
de la entrada simple D (de datos).
Esto elimina la situacin problemtica en los cerrojos R-S, donde R y S pueden afirmarse
de manera simultnea.
D

QN

La entrada de control de un cerrojo D, etiquetada C, se llama en ocasiones ENABLE, CLK,


G.
La tabla de verdad de un latch D es la siguiente:

El circuito se denomina
con frecuencia un
"cerrojo transparente"
por esta razn.

Cuando C es afirmada, la salida Q sigue la entrada D.


En esta situacin se dice que el cerrojo est abierto y la
trayectoria desde la entrada D a la salida Q es
transparente.

QN

(-)

lasta lastQN

Cuando la entrada C es negada, el cerrojo se cierra y la salida Q retiene su ltimo valor


y ya no cambia en respuesta a D, mientras que C permanezca negada.

4.2.4
El primer cerrojo de la
figura se conoce con el
nombre de maestro; se
abre y sigue la entrada
cuando CLK es O.
Cuando CLK sube a 1,
el cerrojo maestro se
cierra y su salida se
transfiere al segundo
cerrojo, conocido como
esclavo. ste se
encuentra abierto todo
el tiempo que CLK es
1, pero solamente
cambia al principio de
este intervalo, porque
el maestro est cerrado
y sin modificaciones
durante el resto del
intervalo.

El tringulo en la
entrada CLK de los f1ipflops O (en su smbolo
lgico) indica un
comportamiento de
disparo por flanco, y se
denomina indicador de
entrada dinmica.

Flip-flop D disparado por flanco

Un flip-flop D disparado por flanco positivo combina un par de cerrojos D como se ilustra
en la siguiente figura:

Do------I D

QM

=8
CLK

CLK

\)

As tenemos un circuito que muestrea su entrada D y cambia sus salidas Q y QN slo para
el flanco ascendente de la seal CLK de control.
Su tabla de verdad es la siguiente:
D

ClK

QN

x:

lasta ast QN

x:

lastQ las! QN

www.monteroespinosa.com - Clases de EDIG - Tfnos 91 5445377 , 619 142355

T-4.5

Podemos entender mejor el comportamiento de este biestable con la tabla de transiciones


del circuito:

(,
A las cuatro primeras
filas se les llama modo
retencin y las cuatro
ltimas modo transparente

O
O
O
O

O
O

1
1
1
1

O
O

Qt
O
1
O
1
O
1
O
1

1
1

1
1

Qt+!
O
1
O
1
O
O
1
1

La ecuacin
caracterstica de
un biestable Des:

Qt+! =D

Observaciones:

Un flip-flop D disparado por flanco negativo simplemente invierte la entrada de reloj,


de modo que toda la accin se desarrolla sobre el flanco descendente de una entrada
CLK L.
Algunos flip-flops D tienen entradas asncronas que se pueden utilizar para llevar al
flip-flop a un estado particular, independientemente de las entradas CLK y D. Estas
entradas, generalmente se identifican como PR (preset, prestablecimiento) y CLR
(c1ear, borrado), se comportan como las entradas de establecimiento y restablecimiento
de una bscula R-S.

4.2.5
El problema de qu
hacer cuando en una
bscula R-S, las
entradas R y S se
afirman de manera
simultnea, se resuelve
en un flip-flop J-K.

Flip-flop J-K

Se trata de un biestable sncrono, con la siguiente configuracin:

J
Q

Observa que este


circuito utiliza un flipflop O disparado por
flanco.

CJ

QN

GLK

CLK

Su tabla de verdad es:

Por supuesto, recuerda


que la bscula RS es
un circuito asncrono.

K CLK

x:
x:

x:
x:

I
I
I
I

QN

lastQ lastQN

lastQ lastQN
las Q lastQN
O

lastQN lastQ

Las entradas J y K son anlogas a S y R (de la bscula R-S).


La novedad es que en este circuito, si J y K se afinnan de manera simultnea, el flipflop se ir al valor opuesto de su estado actual.

www.monteroespinosa.com - Clases de EDIG - Tfnos 91 5445377 619 142355


I

T-4.6

As, su tabla de transiciones es la siguiente:


J

O
O
O
O
1
1
1
1

K
O
O
1
1
O
O
1
1

Qt
O
1
O
1
O
1
O
1

La ecuacin
caracterstica de
un biestable J-K
es:

Qt+l
O
1
O
O
1
1
1
O

Esta informacin se puede expresar de manera ms concisa en la siguiente tabla:

K
O
1
O
1

O
O
1
1
La aplicacin ms
comn de los flip-flops
J-K se encuentra en las
mquinas de estado
sncronas temporizadas

Qt+l
Qt
O
1

o.

De la anterior tabla de transiciones se puede extraer la siguiente tabla que es de gran


utilidad para los ejercicios de autmatas:

Qt
O
O
1
1

En esta tabla se interpreta que:

Qt+l
O
1
O
1

O
1
X
X

K
X
X
1
O

x=O1

4.2.6
El circuito que aqu
presentamos es en
realidad un flip-flop T
con habilitacin
(ENABLE).

Flip-flop T

Se trata de un biestable J-K al que se han cortocircuitado las entradas:


EN

EN

T
QN

Este circuito es muy


importante para realizar
contadores.

Construido con un flip-flop D, el circuito queda:


En el ejercicio 1 de
clase veremos otra
modalidad de biestable
T, muy parecida a esta.

QN

T viene de "toggle",
conmutacin

La tabla de la derecha
muestra la misma
informacin pero de
forma ms concisa.

Un flip-flop T cambia de estado con cada pulso de T, siempre y cuando la entrada de


habilitacin EN est activa. Dicho de otra forma, se puede entender un biestable T como un
circuito con la siguiente tabla de transicin:
T
O
O
1
1

Qt
O
1
O
1

Qt+l
O
1
1
O

Qt+l

Qt

Qt

www.monteroespinosa.com - Clases de EDIG - Tfnos 91 5445377 ,619 142355

La ecuacin
caracterstica de
un biestable Tes:

T-4.7

4.3 Temporizacin de circuitos lgicos


En ocasiones puede suceder que aunque un circuito est bien diseado a nivel lgico
despus no funciona como se espera en la prctica. Esto normalmente es debido al retardo
de cada uno de los componentes del circuito .
Se trata de estudiar en este apartado el perodo mnimo o, lo que es lo mismo, la
frecuencia mxima, que puede tener la seal de reloj para que un circuito funcione
correctamente teniendo en cuenta los retardos de los componentes implicados.

4.3.1

Parmetros caractersticos de las puertas lgicas

Las puertas son dispositivos asncronos. Esto significa que la salida cambia en el momento
que cambia alguna de sus entradas (si suponemos que su tiempo de propagacin es nulo),
sin esperar a ninguna seal de reloj.

Tiempo de propagacin (td~ -7 Tiempo que tarda una puerta en cambiar su salida
desde que cambia alguna de sus entradas. El tiempo de propagacin es un parmetro
dado por el fabricante.

4.3.2

El flanco activo puede


ser el de.subida o el de
bajada

El tiempo de hold no es
un parmetro que
intervenga en el clculo
de la frecuencia
mxima del reloj de un
circuito.

Parmetros caractersticos de los biestables

Los biestables son dispositivos sncronos. Esto significa que su salida solo cambia cuando
se produce un flanco activo de reloj (si suponemos que su tiempo de propagacin es nulo).

Tiempo de propagacin (tFF)I-7 Tiempo que tarda un biestable en cambiar la salida


desde que recoge las entradas en el flanco activo del reloj.

ITiempo de establecimiento (set up time, tsetup~ -7 Tiempo antes del instante de flanco
activo en el cual las entradas del biestable no deben cambiar.

ITiempo de hold (hold time, thold)l-7 Tiempo despus del flanco activo en el cual las
entradas del biestable no deben cambiar.

Observacin:
El tiempo de propagacin, el tiempo de setup y el tiempo de hold son parmetros dados
por el fabricante. Es decir, en los ejercicios son dato.

Todos estos
parmetros del reloj
quedan completamente
ilustrados en la figura
de la pgina 5.1

4.3.3

Habitualmente se mide
en Mhz

En porcentaje, %

Parmetros caractersticos del reloj

IPeriodo del reloj (1)1-7 Tiempo entre transiciones sucesivas en la misma direccin.
Esto es, el tiempo que transcurre entre un flanco de subida y el siguiente flanco de
subida, por ejemplo.
IFrecuencia de reloj (f)I-7 Inversa del Perodo.

ICiclo de trabajol-7 es el porcentaje de tiempo que la seal de reloj se encuentra en su


nivel ALTO.
Lo usual es que el ciclo de trabajo sea del 50% lo que significa que el reloj tiene los
dos semiciclos alto y bajo de igual duracin. En este caso tambin se dice que el reloj
es simtrico.

www.monteroespinosa.com - Clases de EDIG - Tfnos 91 5445377 , 619 142355

T-4.8

Estos son dos clculos


tpicos en ejercicios de
examen.

4.3.4

Clculos de temporizacin

4.3.4.1

Los puntos 5.3.4.1 y


5.3.4.2 explican cmo
debemos actuar con
ante circuitos con un
nico biestable
(adems de puertas
lgicas).

Periodo mnimo ( frecuencia mxima) del reloj del circuito.

Para hallar este valor, calcularemos cunto tarda en "volver" (por el camino ms largo)
una seal, desde la salida de un biestable hasta una de sus entradas. Este camino incluye:

Tiempo de propagacin del biestable, tFF.


Tiempos de propagacin td de todas las puertas que se encuentre a su paso.
Tiempo de setup del biestable, t setup , necesario para que el biestable "se prepare" para
su actuacin en el siguiente flanco activo del reloj.

Observa que no
interviene el tiempo de
hold .

4.3.4.2

Mximo tiempo de hold de un biestable.

Para calcular el mximo tiempo de hold de un biestable, calcularemos cunto tarda en


"volver" (por el camino ms corto) una seal, desde la salida del biestable hasta una de
sus entradas.
Este ser el tiempo real que van a tardar en cambiar sus entradas despus del flanco
activo, y por lo tanto este es el tiempo mximo que debe necesitar de hold el
biestable. Si necesitase ms, nuestro circuito no funcionara con la topologa actual.
Este camino incluye:

Tiempo de propagacin del biestable, tFF.


Tiempos de propagacin td de todas las puertas que se encuentre a su paso.

Observa que no
interviene el tiempo de
setup.

Observaciones para circuitos con ms de un biestable:

Para circuitos con ms de un biestable, los caminos que buscaremos sern desde la
salida de cualquier biestable, hasta la entrada de cualquier biestable. Por supuesto,
podemos llegar al mismo biestable del que partimos.

Lo importante es que exploremos TODOS los caminos posibles y elijamos:

es\..e.

\.kJs '\W\~na..VV\~ \.
Q...ie~ ~\o l.U'l ~ \e.s\o.~\e
(l.c.\~~ \j e e-I/\ ~\.an CO e
I

1'., '\
<1\.~( \.e.e el

S \)..'-o\.O~ .

IOl~~le

www.monteroespinosa.com - Clases de EDIG - Tfnos 91 5445377 , 619 142355

T-4 .9

4.4 Contadores
Los contadores son circuitos secuenciales sncronos implementados internamente mediante
biestables. Si bien su funcin vara segn su topologa, se puede decir en general que estos
circuitos realizan una cuenta binaria, que podremos programar para forzar su inicio, su
final, y su sentido de cuenta.

4.4.1

Implementacin mediante flip-flops T


Vcc

'L-

CLK

QO

Ql

Q2

Q3

CLK

T
>--

>CLK

....- 1> CLK

T
'----

4.4.2

1> CLK

Implementacin mediante flip-flops D.

4,

,"'

~/

QO

Ql

Q2

Q3

CLK

CLK

I ---1l' "

I>CLK

~/

.....- I>CLK

--k->I---;r,

I>CLK

.~

--------------~----------------------~---------------------------------------------

www.monteroespinosa.com - Clases de EDIG - Tfnos 91 5445377 , 619 142355

T-4.10

4.4.3

Contadores comerciales

En el caso de los contadores comerciales (como cualquier integrado comercial) el


fabricante siempre proporciona una hoja de especificaciones donde aparece un esquema del
patillaje y un cronograma (Timing Diagram). Este cronograma proporciona normalmente \
toda la informacin necesaria para conocer el funcionamiento del contador.

Contador 74LS169

4.4.3.1
El resto de contadores
comerciales tienen funcionamientos similares

A modo de ejemplo, vamos a estudiar con detalle un modelo determinado, el 74LS169,


cuyo esquema y cronograma mostramos a continuacin.
Dual-In-Line Package

~::;
A la izquierda
mostramos el patillaje
del integrado, tal y
como se comercializa.
A la derecha, su
smbolo lgico.

Vcc

1,6

OUT

,...-_O_UT_P_UT_S_ - - "

OA

15

Os

14

Oe

13

T
11

12

4
5

LOAD

10

9....

:>

,-

Observa que en el
smbolo lgico se
dibujan las entradas a
la izquierda y las
salidas a la derecha

ENABLE

OD

----r---

10 ....
7":..
---..,..
2

UfO CLOCK

la

14

CA

A
S

13
12

as

e
o

OC

11

QD ....j5

Reo

CLK
LOAD
U/D
ENT
ENP
74L$169

ENASLE GND

DATA INPUTS

Timing Diagram
LS169A Binary Counters
Typical Load, Count, and Inhibit Sequences

LOAD~

.-

Las lneas a trozos de


las entradas A BCD
significan que pueden
tomar el valor "O" "1"
indistintamente.

DATA
INPUTS

----+-'

L_

PANDl'

--.,

Os __ _

QD __

RIPPLE CARRY
OUTPUT -

---1

--,..--+-1-----.
_-.J

I 13

14

15

II--COUNTUP---t--INHIBIT--I

15

14

13

I----COUNT DOWN - - -

LOAD

www.monteroespinosa.com - Clases de EDIG - Tfnos 91 5445377 , 619 142 355

T-4.11

Descripcin del patillaje del 74LS169

Entradas A BCD
I~
D' = decimal
B' binario

En estas entradas podemos poner el nmero que nosotros queramos en binario desde el
D' 0=BOOOO hasta el D' 15=B' 1111. siempre teniendo en cuenta que A es el bit menos
significativo y D es el ms significativo.
Este nmero slo pasa a las salidas QA QB Qc QD cuando se activa el LOAD.
EntradaCLK
Es la entrada del reloj. El contador slo "funciona", es decir, solo lee las entradas y saca las
salidas, cuando se produce el flanco activo del reloj (que en nuestro caso, es el de subida).
El resto del tiempo el contador no hace nada.
Entrada LOAD

La bolita que hay en


esta entrada seala
que es activa a nivel
bajo. Esto quiere decir
que el.LOAD solo se
activa cuando ponemos
un "O" en esta entrada.

Cuando el LOAD se activa el valor de las entradas A BCD es transferido a las salidas QA
QB Qc QD de forma inmediata y con independencia de lo que hubiese en las salidas
anteriormente.
Mientras LOAD permanezca a "1" las entradas A BCD no se utilizan para nada.
Entrada VID (Up / Down)
Indica al contador si tiene que contar hacia arriba o hacia abajo. Si ponemos un "1" en esta
entrada entonces el contador, en cada flanco activo del reloj, aumentar en una unidad el
valor anterior de las salidas. Sin embargo si ponemos un "O" el contador disminuir en una
unidad el valor anterior de las salidas.
Entradas ENT Y ENP
Estas son las entradas de ENABLE y las activaremos o desactivaremos Siempre
conjuntamente (es decir, las dos a "1" o las dos a "O").

La bolita significa que


son activas a nivel bajo.

Mientras ambas valen "O" el contador funciona correctamente pero si las dos valen "1"
entonces el contador se inhibe (inhibit) y la salida ya no cambia ms (se queda fija) en los
sucesivos flancos del reloj; esto equivale a "apagar" el contador.
Salidas Q~--r2
En estas salidas veremos aparecer, en cada flanco del reloj, un nmero entre el D'O=BOOOO
hasta el D' 15=B'1111.
Si el contador est inhibido (ENT=ENP="1") aparecer siempre el mismo nmero y si no
10 est ese nmero ir cambiando siguiendo la secuencia que hayamos programado.
La salida de un contador puede servir, por ejemplo, para iluminar un display de siete
segmentos como el de un reloj digital.
Salida RCO (Ripple Carry Output)
Esta salida avisa de cundo el contador ha llegado al tope. En nuestro caso avisa si el
contador llega a D'15=B'1111 si est subiendo o avisa si el contador llega a D'O=B'OOOO
si el contador est bajando.

La bolita significa que


es activo a nivel bajo.

Por ser activo a nivel bajo, saldr un "1" mientras la cuenta no haya llegado al tope y sale
un "O" si llega al tope (es decir, 15 si est subiendo o Osi est bajando).

www.monteroespinosa.com - Clases de EDIG - Tfnos 91 5445377 , 619 142355

T-4.12

Estos circuitos tambin


reciben el nombre de
"Registros de
corrimiento".

4.5 Registros de desplazamiento


Un registo de desplazamiento es un registro de n bits con una disposicin para recorrer sus
datos almacenados por una posicin de bit en cada tic del reloj. Al igual que los contadores
los registros son circuitos secuenciales sncronos implementados internamente mediante
biestables.

4.5.1

n
\

Registros de desplazamiento de entrada serie y salida serie

La figura siguiente ilustra la figura de un registro de estas caractersticas:


SER IN

CLOCK

~CK

OC--

Lo

Un registro de
desplazamiento de n
bits de entrada serie y
salida serie puede
emplearse para
retardar una seal en n
tics del reloj.

Oc--

)CK

I
01----- SEROUT

'------1) CK

La entrada serie SERIN especifica un nuevo bit que ser desplazado en un extremo
para cada tic del reloj.
Este bit aparece en la salida serie, SEROUT, despus de n tics del reloj, y se pierde un
tic ms tarde.

4.5.2

Registros de desplazamiento de entrada serie y salida paralelo

La figura siguiente ilustra la figura de un registro de estas caractersticas:

SERIN

1Q
\

~CK

CLOCK

2Q

)CK
Un registro as puede
utilizarse para efectuar
la conversin serie a
paralelo, muy utilizada
en electrnica digital.

Qt----NQ
CK

Como se puede observar, tiene salidas para todos sus bits almacenados, hacindolos quedar
disponibles para otros circuitos.

www.monteroespinosa.com - Clases de EDIG - Tfnos 91 5445377 ,619 142355

T-4.13

4.5.3

Registros de desplazamiento de entrada paralelo y salida serie

Este circuito funciona a la inversa que el anterior, como se puede observar en la figura
siguiente:
CLOCK--------------------------------~

LOAD/SHIFT -------tJ--{j(
SERfN ---+--------+----j
Q

'---'--'O

1D

Un registro as puede
utilizarse para efectuar
la conversin paralelo a
serie.

CK

CK

2D ----+--------+-----1

O
NO----r---------~

SEROUT

CK

Para cada tic del reloj el registro carga nuevos datos de las entradas ID - ND, recorre su
contenido actual, dependiendo del valor de la entrada de control LOAD/SHIFT.

4.5.4

Registros de desplazamiento de entrada paralelo y salida paralelo

Al proporcionar salidas para todos los bits almacenados en un registro de desplazamiento


de entrada en paralelo, obtenemos el registro de desplazamiento de entrada paralelo y
salida paralelo de la siguiente figura:
CLOCK
LOAD/SHIFT
SERIN

C~~

10

20

NO

CK

10

D
CK

2D

NO

CK

'~

www.monteroespinosa.com - Clases de EDIG - Tfnos 91 5445377 , 619 142355

T-4.14

4.5.5

Registros comerciales

La siguiente figura muestra los smbolos lgicos para tres populares registros de
desplazamiento de 8 bits integrados:
74x,166

74xl64
8

CLK
CLR
SERA
SERS

3.

:2

QS
OC .5
6
QD
QE

OF
QG
OH

Los integrados '164 y


'166 son registros de
desplazamiento
unidireccionales, dado
que efectan el
desplazamiento en una
sola direccin.

4:
5

11

11

12

12

1"
,,-!:

14

CLK

SER
A

si

SO

UN

O
:lO
E

OH

13

OB
15
QA

12
14

1:3

QD
QC

'4

G'

74x194
11

QI;.

4.5.5.1

CLK
'CLKINH

RiN

Registro 74x164
(~)

Es un dispositivo de entrada serie y salida paralelo con una entrada de borrado asncrona
(CLR_L). Tiene dos entradas serie que se operan con AND de manera interna, es decir,
tanto SERA como SERB deben ser 1 para ser recorridos en el primer bit del registro.

4.5.5.2

"-._---:

Registro 74x166

Es un registro de desplazamiento de entrada paralelo y salida serie, tambin con entrada


asncrona de borrado. El dispositivo efecta el desplazamiento cuando SHlLD es 1 y de
otro modo carga nuevos datos.
Los diseadores del
'166 lo destinaron para
que CLK sea colocada
a un reloj de sistema de
carrera libre y para que
CLKINH sea asertiva
para inhibir CLK.

El '166 tiene un arreglo de temporizacin


poco habitual llamado "reloj de
compuerta": tiene dos entradas de reloj
conectadas a los flip-flops internos como
se muestra en la figura de la derecha:

4.5.5.3

Cl..,K
CLKINH

;::~ClK :~
to other
f1!p-l!ops

Registro 74x194

A modo de ejemplo, nosotros vamos a estudiar con ms detalle detalle un modelo


determinado, el 74LS194. Se trata de un registro de desplazamiento bidireccional de
entrada en paralelo y salida en paralelo de 4 bits.

\
"--)
-

A continuacin, mostramos su function tab1e y cronograma:

Function Table
Inputs
El '194 es un registro
de desplazamiento
bidireccional porque su
contenido puede ser
desplazado en
cualquiera de dos
direcciones,
dependiendo de una
entrada de control.

Mode
Clear

L
H
H
H
H
H
H
H

S1 SO

Clock

X X
X X

H H
L H
L H
H L
H L
L L

t
t
t
t
t

Outputs

Serial

Parallel

Left Right ABCO

X
X
X
X
X
H
L

OA OB Oc 00

X XXXX L
X XXXX OAO
X a bcd a
H XXXX H
L
XXXX L
X XXXX OBn
X XXXX OBn
X XXXX OAO

OBO OCO ODO

b
OAn
OAn
OCn
OCn
OBO

OBn OCn
OBn OCn
ODn H
ODn L
OCO ODO

\......J

www.monteroespinosa.com - Clases de EDIG - Tfnos 91 5445377 , 619 142355

T-4.15

CLOCK

so

MODE
CONTROL
INPUTS Sl

CLEAR
SERIAL! R
DATA
INPUTS L

PARALLEL{:
DATA
INPUTS C
D
OA :

O OUTPUTS

B -

-+-_+_---4

{ OC:

00

:-+--+----i

CLEAR LOAD

(J

_r---INHIBlT
CLEAR

Descripcin del patillaje del 74LS194

Entradas A BCD

D' decimal
B' = binario

En estas entradas podemos poner el nmero que nosotros queramos en binario desde el
D'O=BOOOO hasta el D'15=B'1111. Este nmero solo pasa a las salidas QA QB Qc QD
cuando se activa S 1=" 1" , S0=" 1" .
EntradaCLK
Es la entrada del reloj. El registro solo "funciona", cuando se produce el flanco activo del
reloj (que en nuestro caso, es el de subida). El resto del tiempo el registro no hace nada.
Entrada CLEAR
Si ponemos esta patilla a "1" no hace nada ysi la ponemos a "O" ponemos todas las salidas
a cero Esta entrada es asncrona, esto quiere decir que las salidas se ponen a "O" en el
mismo instante en que poenemos un "O" en la entrada CLEAR sin necesidad de esperar al
flanco activo.

Entradas SO SI
Vemos las cuatro combinaciones posibles:
Se comporta como el
LOAD de un contador

Se comporta como el
ENABLE de un contador

SI = "1" SO = "1"
Cuando llega el flanco activo el valor de las entradas A BCD es transferido a las
salidas QA QB Qc QD con independencia de lo que hubiese en las salidas anteriormente.
SI = "0" SO = "0"
En este caso el registro se inhibe (inhibit) y las salidas ya no cambian ms (se quedan
fijas) en los sucesivos flancos del reloj; esto equivale a "apagar" el registro.

(~

www.monteroespinosa.com - Clases de EDIG - Tfnos 91 5445377 , 619 142355

T-4.16

SI = "1" SO = "0"
En la Function Table al
valor anterior de las
salidas los llaman

QAn, QBn, QCn, QDn

Cada vez que llega el flanco activo pone el valor de Serial_Left en la salida QD,
traslada el anterior valor de QD a la salida Qc, el anterior valor de Qc a QB y .el anterior
valor de QB a QA. Es decir, desplaza las salidas hacia la izquierda (o hacia arriba, segn
se mire). Importante: El valor anterior de QA se pierde.

t)
"----

SI = "0" SO = "1 "


Es anlogo al caso
anterior pero en el otro
sentido

Cada vez que llega el flanco activo pone el valor de Serial_Right en la salida QA,
traslada el anterior valor de QA a la salida QB, el anterior valor de QB a Qc y el anterior
valor de Qc a QD. Es decir, desplaza las salidas hacia la hacia la derecha (o hacia abajo,
segn se mire). Importante: El valor anterior de QD se pierde.
Entrada Serial Left
En esta entrada podemos poner el valor que nosotros queramos (O 1) que solo se utilizar
en el caso en que tengamos Sl="l", SO="O" (desplazamiento hacia la derecha}; En ese
caso el valor de Serial_Left ser transferido a QD.
Entrada Serial Right
En esta entrada podemos poner el valor que nosotros queramos (O 1) que solo se utilizar
en el caso en que tengamos Sl="O", SO="l" (desplazamiento hacia la ), en ese caso el
valor de Serial_Right ser transferido a QA.
(~)
Salidas Q&-~~
En estas salidas veremos aparecer, en cada flanco del reloj, un valor entre el D'O=BOOOO
hasta el D'15=B' 1111.

~I

So

~,-----QL-----______
~
Ger------_
~"t_---__.

www.monteroespinosa.com - Clases de EDIG - Tfnos 91 5445377 , 619 142355

T-4.17

Bscula R-S

Latch O
~~ 6\\-,-o

~'f\Crof\o

I~

Flip-Flop O

~
c.

":!~ ~
~\

<lt

J>

'\)~''O<:..Cor)

a\'i~'

j~
~~
<:.\1(

So'\oe~e:
o.t:.
c-'t..kG'-\.
.J

el

"

c.c...o... \}e..~~ ~
lo '~e'( iA ~t

E~6,e

j,

PAlZZ>

Qt

Qt+1

.:{
,1)
:1(

fi
~'
dI<

o o o~ f-b
o o 1 - t-~ I
o 1 0-!-bo
o 1 1-~\
o. . o 1"'0
1
1
o 1 "0
1
o '"':bl

Qt

~t

Qt+1

o"'" o -"0
o. . . 1 "'loO
1
o
v~
-

",
~\

Qt+1

Qt+1

o
o

CQr

Q~

e
1

1 __

1
'----

____

L......

Qt

o o
o o
o 1
o 1
1
o
1
o

0- ~c
1-,s. ..

<9

'"~

.Q

o~

\Ji;

Qt

Qt+i

o
o

o
1

,o

03

@- ~t

_g)~CJ

IQ~=DJ

Qt+1

EN

Qt+1

Qt:,.

T
X

Qt+1

o
o

Q.t

Cft:.

'Sobre

\0'60

se

.$O..

.e..Vl Q..U~orno..las

, Qt

J
O

Qt+1

o
o

Clases de EDIG

Xl
I

)(
-

www.monteroespinosa.com

Qt+1

Qt+1

J.

./
K

1 f'i-I

F")FIOP T

~
~

1'~

Q.
__

Biestable T asncrono

5~YIC(@l1o

~~

;)eJ

Flip-Flop ~~)

~:\.\'\cron.o

1"---./

klV\CXOt\O

-~.

'*

VI
-

Tfnos 91 5445377 619 142355


I

lo

TEMA 5: AUTMATAS
As pues, desde ahora
usaremos el trmino de
mquina de estado o
autmata
indistintamente.

En este tema vamos a estudiar el funcionamiento de autmatas, que son mquinas de


estado sncronas temporizadas.
"Mquina de estado" es un nombre genrico dado a estos circuitos secuenciales.
"Temporizada" hace referencia al hecho de que sus elementos de almacenamiento
(flip-flops) emplean una entrada de reloj.
"Sncrona" significa que todos los flip-flops utilizan la misma seal de reloj. Como ya
hemos estudiado, una mquina de estado de esta naturaleza cambia de estado
solamente cuando se presenta un flanco de disparo o "pulso" en la seal de reloj.
Formalmente, se puede decir que un autmata es una quntupla formada por:
Un conjunto E fmito de entradas
Un conjunto S finito de salidas
Un conjunto Q de estados
Una funcin de transicin (tambin llamada "de estado siguiente):

f:ExQ~Q

cJ

Una funcin de salida: f: E xQ ~ S

Si el conjunto de estados Q es fmito entonces decimos que es un autmata finito. Nosotros


estudiaremos solamente autmatas fmitos.
A lo largo de los siguientes apuntes nos referiremos continuamente a dos de estas
mquinas, que aprenderemos a analizar y disear: la mquina de Mealy y la de Moore.

Mquina de Mealy
En la mquina de Mealy la salida depende del estado en que se encuentra la mquina y de
las entradas, por tanto la salida no es sncrona con el reloj.

Se puede decir que en


una mquina de Mealy
las salidas estn
asociadas a las
transiciones, no a los
estados.

entradas -~

Lgica
de estado
siguiente

'"-==>

---">
excitacin

estado actual

Memoria
de estado 1--

--,1

Lgica
de salida

-y

salidas

entrada
de reloj

Maquina de Moore
En la mquina de Moore la salida depende exclusivamente del estado en que se encuentra
la mquina.
Se puede decir que en
la mquina de Moore
las salidas estn
asociadas a los
estados, o lo que es lo
mismo, todas las
transiciones que
conducen a un mismo
estado tienen asociada
la misma salida.

entradas
t_ o'

>
--'>

Lgica
de estado
Siguiente

excitacin

Memoria
de estado

estado aclual

entrada
de. reloj

www.monteroespinosa.com - Clases de EDIG - Tfnos 91 5445377 619 142355


I

Lgica
de salida

salidas

T-5.1

5.1 Anlisis de autmatas


5.1.1

Estructura de una mquina de estado

En las figuras de la pgina anterior ilustramos la estructura general de una mquina de


estado sncrona temporizada. La memoria de estado es un conjunto de n flip-flops que
almacenan el estado actual de la mquina, y tiene 2n estados distintos. Los flip-flops se
encuentran todos conectados a una seal de reloj comn que ocasiona que cambien de
estado en cada pulso del reloj.
En la mquina de Mealy:
El estado siguiente est determinado por la lgica de estado siguiente F, como una
funcin de la entrada y estado actuales.
Tanto F como G son
estrictamente circuitos
lgicos
combinacionales.

La lgica de salida G determina la salida como una funcin de la entrada y el estado


actuales.
Estado siguiente = F(estado actual, entrada)
Salida = G(estado actual, entrada)

Mquina de Mealy

En la mquina de Moore:
El estado siguiente est determinado por la lgica de estado siguiente F, como una
funcin de la entrada y estado actuales.
La lgica de salida G determina la salida como una funcin de la slo del estado
actual.
Estado siguiente = F(estado actual, entrada)
Salida = G( estado actual)

Mquina de Moare

Obviamente, la nica diferencia entre los dos modelos de mquina de estado se encuentran
en cmo son generadas las salidas. En la prctica, muchas mquinas de estado deber ser
categorizadas como mquinas de Mealy, porque tienen una ms salidas del tipo Mealy
que dependen de la entrada as como tambin del estado. Sin embargo, muchas de estas
mquinas tambin tienen una ms salidas de tipo Moore que dependen solamente del
estado.

Observacin
Las mquinas de estado suelen emplear flip-flops D disparados por flanco positivo para su
memoria de estado, aunque tambin es posible hacer uso de flip-flops D disparados por
flanco negativo, cerrojos D flip-flops J-K.

5.1.2

Ecuaciones caractersticas

Como ya vimos en el tema 5, el comportamiento funcional de un cerrojo o flip-flop puede


describirse formalmente mediante una ecuacin caracterstica que especifica el siguiente
estado del flip-flop como una funcin de su estado y entradas actuales

www.monteroespinosa.com - Clases de EDIG - Tfnos 91 544 5377 , 619 142 355

T-5.2

Las ecuaciones caractersticas de los flip-flap s del tema 5 se enumeran a continuacin:

Tipo de dispositivo

Ecuacin caracterstica

Latch D

Ql+l = D

Flip-flop D disparado por flanco

Qt+l =D

Flip-flop J-K

Q+l =S+RQ
Ql+l = JQt +K Qt

Flip-flop T con habilitacin (teora)

Qt+l =TQt +T Qt

Bscula R-S

Flip-flop T (problemas)

5.1.3

Qt+l =Qt

Anlisis de mquinas de estado con flip-flops D

El objetivo del anlisis de circuito secuencial es determinar las funciones de salida y estado
siguiente de modo que pueda predecirse el comportamiento de un circuito.
El anlisis de una mquina de estado sncrona temporizada tiene siete pasos bsicos:

Para biestables D,
recordemos que en el
flanco ascendente de la
seal de reloj, cada f1ipflop D muestrea su
entrada D y transfiere
este valor a su salida
Q. Por lo tanto, para
determinar el siguiente
valor de Q (es
decir, Ql+l)' primero
deberemos determinar
el valor actual de D.

1. Determinar las ecuaciones de excitacin para las entradas de control del flip-flop, que
son ecuaciones lgicas que expresan las seales de excitacin como funciones del
estado y entrada actuales. Estas ecuaciones pueden obtenerse del diagrama del circuito.
2.

Sustituir las ecuaciones de excitacin en las ecuaciones caractersticas del flip-flap para
obtener las ecuaciones de transicin. Estas ecuaciones expresan el valor siguiente de
las variables de estado como una funcin del estado y entrada actuales.

3. Hacer uso de las ecuaciones de transicin para construir una tabla de transicin. Para
ello, evaluamos dichas ecuaciones para cada posible combinacin de estado/entrada.
Tradicionalmente, una tabla de transin enumera los estados en la izquierda y las
Qombinaciones de entrada en la parte superior de la tabla.
4. Determinar las ecuaciones de salida.
5. Agregar los valores de salida a la tabla de transiCin para cada combinacin de estado
(Moare) o de estado/entrada (Mealy) y crear una tabla de transicin/salida.
6. Nombrar los estados y sustituir nombres de estado por combinaciones de variables de
estado en la tabla de transicin/salida para obtener una tabla de estado/salida.
7. Dibujar un diagrama de estado correspondiente a la tabla de estado/salida.

Este apartado sptimo


es opcional.

Un diagrama de estado presenta la informacin de la tabla de estado/salida en formato


grfico.

"'-~

Tiene un crculo ( nodo) por cada estado, y una flecha ( arco dirigido) para cada
transicin.
La letra dentro de cada crculo es un nombre de estado. Cada flecha que abandona
un estado dado apunta al siguiente estado para una combinacin de entrada dada.
Tambin muestra el valor de salida producido en el estado dado para esa
combinacin de entrada (si la mquina es de Mealy) puede mostrar los valores de
salida dentro de cada crculo de estado (si la mquina es de Moare, puesto que son
funciones de estado solamente).

Observacin
En una mquina con n entradas, tendramos 2n flechas dejando cada estado. Esto es
complicado si n es grande. Por convencin, solamente usaremos una flecha para cada
distinto estado siguiente.
I

www.monteroespinosa.com - Clases de EDIG - Tfnos 91 5445377 , 619 142355

T-5.3

5.1.4

Anlisis de mquinas de estado con flip-flops J-K

Las mquinas de estado sncronas temporizadas que se construyen a partir de flip-flops J-K
tambin se pueden analizar aplicando el procedimiento bsico que se indic en el captulo
anterior. La nica diferencia es que existen dos ecuaciones de excitacin para cada flipflop: una para J y otra para K.

(\

Para obtener las ecuaciones de transicin, ambas deben sustituirse en la ecuacin


caracterstica del biestable J-K, descrita en la tabla de la pgina anterior.

5.2 Diseo de autmatas


Los pasos de diseo de circuitos secuenciales, comenzando a partir de una especificacin o
descripcin en palabras, son justamente el inverso de los pasos de anlisis que describimos
en el captulo 6.1:

1. Pasar las especificaciones verbales a un diagrama de estados.


Algunos textos
recomiendan que el
primer paso sea la
construccin de la tabla
estado/salida

2. Asignar cdigos a los estados.


3. Construir la tabla de transiciones entre estados.
Si la mquina es Mealy hace falta adems incluir las salidas asociadas a cada
transicin.

Si la mquina es de Moore se puede hacer una tabla auxiliar con las salidas
asociadas a cada estado en vez de incluirlas en la tabla de transiciones.

4. Seleccionar los elementos de memoria (biestables J-K, D, oo.). Esto lo dicen en el


examen.
5. Obtener las tablas de excitacin que muestren los valores de excitacin requeridos
para obtener el siguiente estado deseado para cada combinacin de estado/entrada.
Slo asimilaremos bien
estos pasos cuando los
abordemos
directamente en
ejercicios.

6. Simplificar las ecuaciones de excitacin, a partir de la tabla de excitacin.


7.

hu 1
l"
p ementar e CIrCUItO.

www.monteroespinosa.com - Clases de EDIG - Tfnos 91 5445377 , 619 142355

T-5.4

Abajo puedes encontrar


ejemplos de
componentes
comerciales que
contienen estas puertas
lgicas:

APNDICE 1: PUERTAS LGICAS

PuertaAND

74HC08

Puerta OR

O
O
1
1

O
1
O
1

y
O
1
O
1

O
O
1
1

74HC32

X AND Y
O
O

O
1
XOR y

O
1
1
1

PuertaNOT

NOT X
1
O

74HC04

PuertaNAND

Y
O
1
O
1

XNAND y

XNOR y

1
1

Y
O
1
O
1

X
O
O

Y
O
1

XXOR y
O

1
1

X
O
O

Y
O
1
O
1

X
O
O

74HCOO

1
1

X
O
O

PuertaNOR
74HC02

NOTA: Las puertas


NANO y NOR son
tpicamente ms
baratas y fciles de
fabricar.

74HC86

PuertaXOR

=Dy'

~Y'-:' ~

74HC86

--

1
1
1
O

1
O
O
O

1
1
O

y {. >,y

PuertaXNOR

~ eP

(j

1
1

XXNOR y

1
O
O
1

Y ::: X y +-.,v

www.monteroespinosa.com - Clases de EDIG - Tfnos 91 54453 77 , 619 142 355

T-A1.1

APNDICE 2: METAESTABILIDAD,
NORMAS DE DISEO SNCRONO
Bases del funcionamiento sncrono

Las salidas de los circuitos secuenciales slo pueden cambiar de estado en los flancos
activos de reloj.

El rgimen transitorio de los circuitos finaliza cuando ha transcurrido el tiempo de


propagacin mximo del circuito desde el ltimo flanco activo de reloj.

"---t----!r.

tPLC

Cambio de estado

:'"

t:<

,-+--,
PLC

~~

'~/'

~'----.... ~

P~

Pff

Fn del Rgimen Transitorio

Para que las salidas de los circuitos combinacionales (conectadas a la entrada de


biestables) puedan registrarse correctamente debern ser estables un tiempo antes del
flanco activo de reloj, el tiempo de set-up de los flip-flops.

----!I

tpff 1

..

tPLC
tsu
>*-_.... _ .._-_._-----_..;.

:1041

:: T
:
J...J:.lk:

::

Por tanto: Tclk>

tpff

+ tpLC + tsu

La frecuencia mxima de la seal de reloj en un circuito secuencial sncrono viene


dada por la expresin:

fCLKmax

= --------tpffmax +tpLCmax +tsumin

Donde

t pLCmax

es el tiempo de propagacin del bloque combinacional ms lento de los

existentes en el circuito.

Normas de diseo sncrono


Un circuito digital sncrono funcionando con una frecuencia de reloj menor o igual a la
dada por la expresin anterior funcionar correctamente si:

Ver el apartado:
"sincronizacin de
~J entradas asncronas".

No se activan, durante la operacin normal del sistema, las entradas asncronas de los
flip-flops.

Las entradas sncronas de los flip-flops no estn alimentadas por seales asncronas.

Las entradas asncronas de los flip-flops no estn alimentadas por seales sncronas.

No existe lgica combinacional realimentada.

Todas las entradas de los circuitos combinacionales, incluso las externas al sistema,
estn registradas.

www.monteroespinosa.com - Clases de EDIG - Tfnos 91 544 5377 , 619 142 355

T-A2.1

Se emplean flip-flops activos en el mismo tipo de flanco como elementos de memoria


del sistema.

A todos los flip-flops les llega de manera simultnea la seal de reloj del circuito.

Esto, en general, no es posible que se verifique de manera estricta; el reloj llegar con
cierto desfase a las entradas de los flip-flops debido a las distintas longitudes de las
pistas y a las distintas cargas que soportan los buffers del rbol de reloj.

El desfase en la llegada del reloj a los flip-flops de un circuito se denomina skew del
reloj. Un circuito sncrono puede admitir un valor mximo de skew en la seal de reloj.
Vamos a verlo con ms detenimiento:
IN

Q1

Q 1-------1 D

Q2

CLOCKD

En la figura, el skew: es la
diferencia de tiempo entre los
flancos de CLOCK y
CLOCKD

FF2
CLOCK - - - - i l - - -____

Clculo del "skew"


No hay problemas en un circuito si se cumple que:
Itp-ff(min) +tcomb(min) - tho1d -tskew(max)

> 01

Los dos primeros trminos son el mnimo tiempo despus del flanco de reloj tras el
cual el valor a la entrada de un biestable cambia.
El tiempo de "hold" es el mnimo tiempo en que la entrada puede cambiar
El "skew" se sustrae del margen existente en el tiempo de "hold"

Compesacin del "skew"


Para solventar este problema, podemos acudir a varias tcnicas, como lo son:
Usar biestables con mayor tiempo de propagacin.
Realizar un ajuste especfico de los retardos combinacionales.
Usar biestables con menor tiempo de hold.

Las normas de diseo sncrono son una buena gua para la realizacin de diseos con un
funcionamiento seguro. En su aplicacin prctica es frecuente que se den casos en los que
resulta inevitable vulnerarlas: en el interfaz con buses asncronos o con memorias
sncronas, por ejemplo, o en el de la sincronizacin de entradas asncronas. Cuando esto
ocurra es aconsejable aislar los mdulos de interfaz con sistemas asncronos y disear el
resto del sistema atenindose a las reglas enunciadas.
En el diseo de circuito es aconsejable utilizar flip-flops tipo D, puesto que son los de
funcionamiento ms simple y facilitan la interpretacin del modo de operacin del circuito.
Adems, con los flip-flops tipo D resulta muy sencilla la incorporacin de entradas
sncronas de reset, preset y habilitacin de reloj. Las entradas asncronas de los flip-flops
slo deben utilizarse, si se desea, para la inicializacin del circuito, pero nunca durante la
operacin normal del mismo.

www.monteroespinosa.com - Clases de EDIG - Tfnos 91 5445377 , 619 142355

T-A2.2

Metaesta bilidad
~

Recuerda que en la
\ bscula R-S, al poner
sus entradas a 1,
podemos originar
tambin un estado
metaestable.

Cuando se violan los tiempos de set-up o de hold en un flip-flop, su salida puede pasar a un
nivel intennedio; al cabo de un tiempo indetenninado tomar aleatoriamente el valor O l.
La probabilidad de que un flip-flop entre en estado metaestable, as como el tiempo de
pennanencia en dicho estado, dependen del proceso tecnolgico y de las condiciones
ambientales de funcionamiento, aunque se puede generalizar que los flip-flops pasan
rpidamente a un estado estable.
El problema es que si la salida del flip-flop es muestreada en el estado metaestable, se
propagar un valor indefinido a la lgica a la que est conectado.

Sincronizacin de entradas asncronas


A menudo existen entradas al circuito que son asncronas respecto a su reloj y deben ser
sincronizadas antes de poder ser usadas en el mismo.

La sincronizacin consiste en registrar la entrada en un flip-flop conectado al reloj del


circuito. Durante esta operacin puede ocurrir que se violen los tiempos de set-up o de hold
del flip-flop. Como consecuencia, el flip-flop puede registrar o no el evento de entrada o, lo
que es peor, entrar en un estado metaestable. Para evitar esto hay muchas topologas de
circuitos de sincronizacin.
El circuito de la figura siguiente muestra el esquema circuital tpico para sincronizar
entradas asncronas, abordando el problema de metaestabilidad explicado anterionnente:

Cabe reiterar que,


segn el tipo de
entrada que deseemos
sincronizar, el circuito
de sincronizacin ser
distinto. El mostrado es
un ejemplo muy tpico.

C)

Asncrona

-----ID

CLK

CLK

D
Q
CLK

Sncrona

Reloj

Este circuito provee un tiempo para que desaparezca la metaestabilidad antes de usar la
seal en el circuito. A cambio, nuestro sistema tendr un mayor tiempo de respuesta.
Veamos el cronograma de la situacin:

Reloj
Asncrona
Sncrona

www.monteroespinosa.com - Clases de EDIG - Tfnos 91 5445377 , 619 142355

T-A2.3

APNDICE 3: PUERTAS NANO Y NOR


La importancia de estas
puertas, NAND y NOR,
radica en que son
tipicamente ms
baratas y fciles de
fabricar.

En este apndice vamos a dedicarnos a la implementacin, mediante puertas NAND y


NOR, de todas las dems funciones lgicas sencillas, vistas en el tema 3. As mismo,
describiremos la funcin lgica que implementan, (NAND y NOR lgico), usando puertas
"normales", si bien esta labor ser de menor inters.

IPuertas NANDI
1. NAND mediante AND + NOT
NOT('X' AND 'Y')=XY='X' NAND 'Y'

2. NAND mediante OR + NOT


(NOT 'X') OR (NOT 'Y')=X +Y=XY='X' NAND 'Y'

3. Implementacin del resto de funciones mediante NAND

NOT

'X' NAND 'X'=XX=X=NOT 'X'

NOT('X' NAND 'Y')=XY=XY='X' AND 'Y'

La negacin podemos hacerla


mediante NANO.

~
~

AND

OR

(NOT 'X')NAND(NOT 'y')=xY=x +Y=X +Y='X' OR 'Y'

Las negaciones podemos


hacerlas mediante NANO.

IPuertas NOij
1. NOR mediante OR + NOT
NOT('X' OR 'Y')=X +Y='X' NOR 'Y'

2. NOR mediante AND + NOT

:~J

(NOT 'X') AND (NOT ,y,)=xy=x +Y='X' NOR 'Y'

3. Implementacin del resto de funciones mediante NOR

NOT

'X' NOR 'X'=X +X=X=NOT 'X'

(NOT 'X')NOR(NOT 'Y')=X +Y=xY=xY='X' AND 'Y'

Las negaciones podemos


hacerlas mediante NOR.

La negacin podemos hacerla


mediante NOR .

AND

OR

NOT('X' NOR 'Y')=X +Y=X +Y='X' OR 'Y'

www.monteroespinosa.com - Clases de EDIG - Tfnos 91 5445377 , 619 142355

T-A3.1

APNDICE 4:0PERACIONES ARITMTICAS


Los sistemas digitales realizan operaciones sobre seales expresadas mediante secuencias
de nmeros. Estas operaciones pueden ser de muy diversa ndole, pero en este tema vamos
a centrarnos slo en la realizacin de algunas operaciones aritmticas (comparacin, suma
y resta).

A4.1. Comparacin
Este procedimiento,
conocido como
algoritmo de
comparacin, supone
que los dos operandos
se expresan
empleando el mismo
nmero de cifras. Si no
es as, previamente
habr que extender
aquel nmero que
emplee menos cifras en
su representacin

La comparacin es la operacin de determinar, dados dos argumentos X e y, si es

X>Y, X=Y X <Y.


El procedimiento normalmente efectuado para ello es bien conocido: se comparan las cifras
individuales (x e y) de las dos cantidades comenzando por las ms significativas, hasta
encontrar dos que sean distintas. En este momento si x > y entonces X > Y , Y si x < y
entonces X < Y . Por supuesto, si no se encuentra ningn par de cifras de igual peso tal que
x y , entonces X = Y .

"*

Este algoritmo funciona para cualquier sistema de numeracin (binario, octal, decimal,
hexadecimal) estudiado anteriormente.

A4.1.1. Comparacin de operandos en Complemento a 2 (C2)


En el caso de que los operandos estn expresados en complemento a 2 el mtodo de
comparacin es ligeramente distinto:
Si los dos operandos son positivos, o los dos son negativos, el procedimiento expuesto
es vlido.
Pero si un operando es positivo y el otro negativo, directamente el mayor es el positivo.

Ejemplo:
Si X

= 1101 0110C2

e Y

= 1101 n 10C2 , puesto que los dos operandos son negativos

se procede a compararlos normalmente y se obtiene que X < Y.

C)

Con X = 0101 011O C2 e Y


tambin.
En cambio, con X

= 01011110 C2 , los dos operandos son positivos, y

= O1O1 O11 OC2

e y

X <Y

=110 1 1110C2 ' puesto que X es positivo e Yes

negativo, se obtiene directamente que el mayor es el positivo: X > Y

A4.2. Suma
El mecanismo usualmente empleado para sumar,
trabajando en distintos sistemas posicionales
naturales, es similiar en todo momento al empleado
normalmente para sumar nmeros en decimal. Este
mecanismo est presentado en la figura de la
derecha.

1+

lA-l+

3
l..-i

.-1

8
-.y
5

Jt

-.y. .,+,
3
4

'+'
9

El algoritmo clsico de suma consiste en sumar las cifras de igual peso de los dos
sumandos, comenzando por las cifras menos significativas. Cada una de estas sumas
parciales da lugar a cada una de las cifras del resultado.
i~

El proceso continua hasta haber sumado todas las cifras de los sumandos.
www.monteroespinosa.com - Clases de EDIG - Tfnos 91 5445377 , 619 142 355

T-A4.1

A4.2.1. Acarreo
Con frecuencia se
emplea el trmino
ingls carry, la letra
e, para designar al
acarreo.

Puede ocurrir que alguna de estas sumas parciales no se exprese en una nica cifra, sino
con dos. En este caso la cifra menos significativa de la suma parcial formar parte del
resultado final, y la cifra ms significativa se acarrea a la siguiente suma parcial. De esta
manera, en la siguiente suma parcial se procede a sumar las cifras correspondientes, ms el
acarreo previo para obtener la siguiente cifra del resultado.

n
"'-.

En la siguiente figura presentamos la misma suma detallando ms los acarreos intermedios.

o ~ Acarreos
+
4

93

A4.2.2. Desbordamiento
Aunque trabajando con
lpiz y papel el nmero
de cifras es flexible
(siempre se puede
escribir una cifra ms),
no ocurre lo mismo con
los sistemas que
proceesan informacin.
Usualmente estos se
disean de modo que
slo son capaces de
trabajar con un nmero
de cifras determinado,
por eso el
desbordamiento es un
punto importante sobre
el que se debe prestar
atencin.

Al trabajar con n cifras se puede producir una situacin como la dada en la siguiente figura,
en la que n = 6. Como se ve, al sumar las ltimas cifras de los sumandos junto con su
acarreo se produce un nuevo acarreo. Este acarreo formara parte, directamente, del
resultado fmal, pero, puesto que se trabaja slo con seis cifras, no puede ser as. En este
caso, si no podemos incluir esa ltima cifra, el resultado mostrado ser claramente
incorrecto.

.'--_____-.:....y~--_._.,1

Resultado
El desbordamiento
suele recibir el nombre
de overflow (del
ingls)

Por tanto, cuando se trabaja con un nmero de cifras n fijo, puede ocurrir que el resultado
de la operacin necesite un nmero mayor de cifras para expresarse. En este caso el
resultado obtenido de la operacin con n cifras es incorrecto, y se dice que se ha producido

un desbordamiento.

'

A4.2.3. Suma en Binario Natural


El algoritmo recin presentado es de aplicacin para cualquier sistema de numeracin
posicional natural, y particularmente cuando se trabaja en binario natural. De hecho, la
suma en binario es ms sencilla que en decimal, puesto que las cifras a sumar slo pueden
tomar dos valores.
Las siguientes figuras ilustran este mecanismo.

www.monteroespinosa.com - Clases de EDIG - Tfnos 91 5445377 , 619142355

T-A4.2

lB~Y=23

('\

te

1
\,

.1

1.-

lB~Y=23

lB;;

t
e

5=29

1
\,

O
V

lB

5=17

El resultado final de la primera suma es X + Y = 1110 1B = 29 D Y no hay acarreo (e = 1 )


final ni desbordamiento.
En el segundo caso, el acarreo final es 1 (e = 1) y, evidentemente, se ha producido
desbordamiento.

A4.2.4. Suma en Complemento a 2


El algoritmo anterior tambin es vlido para sumar nmeros expresados segn el criterio
del complemento a 2.
La figura siguiente muestra cmo sumar dos cantidades expresadas en C2 con cinco bits,
X=11000 C2 =-8 e Y=O 1101C2 =+13.

\ ...

"V

1 .

5=+5

El resultado es S= O O1OlC2 = +5, se genera acarreo final y no hay desbordamiento.


Este problema
introduce la necesidad
de detectar
desbordamiento en un
sistema que realice
operaciones
aritmticas.

Ahora, la siguiente figura realiza otra suma de cantidades expresadas en complemento a 2


con cinco bits, X=11001 c2 =-7 e Y=l 001lc2 =-13.

te

10

0(2

\..~--~y------'---::/

5=+12

Vemos como mediante la aplicacin directa del algoritmo descrito se obtiene


S = O 1100C2 = +12 (muy diferente del resultado que cabra esperar, -20), se genera
acarreo final (

e =1 ) y hay desbordamiento.

A4.2.5. Deteccin de desbordamiento en la suma


Recuerda que estamos
hablando siempre en
base 2, el proceso para
detectar y tratar el
desbordamiento en
otras bases no es
objeto de nuestro
.~. estudio.

Como ya se ha visto, es clave detectar cundo se est produciendo desbordamiento y, si es


posible, realizar las correcciones oportunas al resultado de la operacin realizada.
Existe un mecanismo sencillo que pennite detectar la condicin de desbordamiento:

www.monteroespinosa.com - Clases de EDIG - Tfnos 91 5445377 , 619 142355

T-A4.3

Sumando nmeros sin signo se produce desbordamiento si el acarreo final vale 1.


Sumando nmeros con signo (en complemento a 2) se produce desbordamiento si los
dos operandos tienen el mismo signo y el resultado tiene el signo contrario.
En este caso tambin hay otro mtodo: habr desbordamiento si los dos ltimos f \
acarreos son distintos.
"--)
En caso de desbordamiento, trabajando en binario, deberemos aadir el acarreo fmal a la
izquierda, obteniendo la representacin correcta del resultado con n + 1 cifras.

A4.2.6. Suma en BCD


La suma de cantidades expresadas en BCD tambin se efecta mediante el algoritmo de
suma ya descrito. Sin embargo, su aplicacin es ms complicada que trabajando en binario
natural decimal, puesto que, ahora, se trabaja en un sistema en base diez, pero las cifras
individuales se expresan en base dos.
Para nuestros ejercicios, el mecanismo ms rpido para operar en BCD ser pasar los
operandos a decimal, realizar la cuenta, y expresar el resultado en BCD, prestando
atencin, en la operacin decimal, a los fenmenos de acarreo y desbordamiento.

CJ

A4.3. Resta
A4.3.1. Algoritmo clsico de resta
Aunque se trata de un algoritmo conocido (y asimilado, en decimal) por todos, en este
apartado no vamos a desarrollarlo, porque no ser nuestra manera de operar a la hora de
hacer una resta.
As, slo vamos a presentar una imagen recordatoria del procedimiento clsico de resta:
Este es el algoritmo
preferido para realizar
restas en sistemas
digitales, y el ms
aconsejable.

3+1

t2

14

t<8

i5

i6

3
2

i1

A4.3.2. Algoritmo de resta por complementacin


Simplemente consiste en complementar el sustraendo (hacer su complemento a 2) y
realizar la suma tal y como hemos aprendido. Adems, vale todo lo dicho en lo que se
refiere a la deteccin de desbordamiento en la suma. Teniendo bien en cuenta este
desbordamiento en caso de producirse, el resultado de nuestra resta ser directamente el de
esta suma (expresado en C2).
.

A4.3.3. Deteccin de desbordamiento en la resta


Para detectar el desbordamiento en una resta de dos cantidades expresadas en complemento
a dos, podemos actuar de dos formas:

Emplear el algoritmo de resta por complementacin: esto es, en vez de restar, sumamos
al minuendo el opuesto del sustraendo (obtenido complementando este a dos, es decir,
complementando y sumando 1). En este caso, (cuando ya tenemos el minuendo
complementado a dos) cuando nos disponemos a hacer la suma, valen las reglas
. descritas en el punto 2.6.2.5 acerca del desbordamiento.

www.monteroespinosa.com - Clases de EDIG - Tfnos 91 5445377 , 619 142355

T-A4.4

Observar directamente las cantidades del minuendo y sustraendo (sin complementar)


as como de la diferencia (obtenida por el mtodo que queramos), y aplicar:
Restando nmeros con signo (en complemento a 2) se produce desbordamiento si
los dos operandos tienen distinto signo y el resultado tiene el signo contrario al
minuendo.

Ejemplo 1:

Vamos a relizar la resta:

(-7)-( -2) =-5


Esto es, vamos a hacer X-Y, donde X

= 1001c2

e Y

= 1110c2 .

Para ello, complementamos Y, obteniendo -y =0010


Y sumamos ambas cantidades, con el algoritmo clsico de la suma, obteniendo:

X +(-Y)=1001+001O=1011C2

Donde vemos que no se ha producido desbordamiento, y que el resultado final es:

S = 1011C2 = -5 D
Ejemplo 2:
Observa como, por
producirse
desbordamiento, el
resultado final necesita
de una cifra ms para
representarse

Vamos a relizar la resta:

(-7)-3=-10
Esto es, vamos a hacer X - Y , donde X = 100 lC2 e Y = 00 11C2 .
Para ello, complementamos Y, obteniendo -y = 11 O1
Y sumamos ambas cantidades, con el algoritmo clsico de la suma, obteniendo:

X + (-y) = 1001+ 1101 =lQ110 c2

C)

Donde vemos que se ha producido desbordamiento (teniendo el mismo signo


minuendo y sustraendo, la cifra correspondiente del resultado no coincide con
este), y que el resultado final es:
Estas y otras
operaciones surgirn
en enunciados verbales
que tendremos que
pasar a una tabla de
verdad.

A4.4. Otras operaciones (multiplicacin, divisin, potencias ... )


Para esta asignatura, y teniendo en cuenta las preguntas de examen a las que nos vamos a
enfrentar, la forma ms rpida de efectuar otras operaciones aqu no descritas, como la
multiplicacin, divisin y potenciacin ser "pensando en decimal" y expresando el
resultado en el sistema que se nos pida.

www.monteroespinosa.com - Clases de EDIG - Tfnos 91 5445377 , 619 142355

T-A4.5

APNDICE 5: PRINCIPIOS BSICOS. CMOS


Existen muchas maneras para disear un circuito lgico electrnico. Un buen r es.um.en de la
evolucin de la tecno1oga emp1eada en este diseo, a 10 largo del tiempo, es e1 slgmente:

1930s, Bell Labs: primer circuitos lgicos usando rels


1940s, usando tubos de vaco; ENIAC: 18000 tubos, 31mx3mx1m
1950s, invencin del transistor bipolar: ordenadores ms rpidos
1960s, invencin del circuito integrado: diodos+transistores+otros componentes en un
solo chip
1960s: lgica de transistor-transistor (TTL) basada en bipolares
1960s. tambin demostracin de circuitos lgicos con MOSFETs
1980s: desarrollo de la tecnologa MOS: comp1ementary-MOS (CMOS)
Hoy en da CMOS usado casi nicamente en todos los circuitos integrados:
o mayor velocidad, menor consumo que TTL
o las tensiones de alimentacin han venido decreciendo en los ltimos aos:
desde los 5 V de TTL -> 3.3 -> 2.5 -> 1.8 V
La lgica CMOS es la tecnologa de lgica digital comercial con mayor capacidad y la ms
fcil de comprender, y es la que vamos a estudiar en este tema.

CJ

A5.1. Lgica CMOS


El comportamiento funcional de un circuito lgico CMOS es muy fcil de comprender, ya
que los nicos bloques bsicos de construccin van a ser transistores CMOS.

AS.l.l. Niveles lgicos CMOS


Los elementos lgicos abstractos procesan dgitos binarios, Oy 1. Sin embargo los circuitos
lgicos reales procesan seales elctricas tales como niveles de voltaje. En cualquier
circuito lgico existe un intervalo de voltajes que se interpreta como un O lgico y otro
intervalo que se interpreta como un 1.
Un circuito lgico CMOS tpico funciona a partir de una fuente de alimentacin de 5
voltios. Un circuito de esta clase interpretar cualquier voltaje que est entre Oy 1.5 voltios
como un Olgico, e interpretar a cualquier voltaje que est entre 3.5 y 5 voltios como un 1 ',,)
lgico.
Los voltajes que estn
en el intervalo
intermedio slo
aparecern durante las
transiciones de seal,
por tanto producirn
valores lgicos
indefinidos.

5.0V
Logic 1 (HIGH)

3.5 V
-

undefined
logic level

1.5 V
Logic O (LOW)

o.ov
AS.l.2. Transistores MOS
Se trata de un dispositivo de tres terminales que acta como una
resistencia controlada por voltaje. El voltaje de entrada que se
aplica en un terminal controla la resistencia entre las dos
terminales restantes.

vIN [J------I

')

\~~

www.monteroespinosa.com - Clases de EDIG - Tfnos 91 5445377 , 619 142 355

T-A5.1

Los nombres de los dos


tipos de transistores se
refieren al tipo de
material semiconductor
que se utiliza en las
terminales cuya
resistencia est
controlada.

Un aumento de la
tensin V disminuye

En aplicaciones de lgica digital, un transistor MOS opera de modo que su resistencia


siempre sea muy elevada (el transistor se encuentra apagado "OFF"), muy baja (el
transistor se encuentra encendido "ON)".
Existen dos tipos de transistores MOS, de canal-n y de canal-p.

A5.1.3. Transistores NMOS


En la siguiente figura vemos el smbolo esquemtico de un transistor MOS de canal-n
(NMOS).

gs

la resistencia entre
drenador y fuente,

gate

drain

Rds
source
Como se observa en el
circuito, el drenador se
encuentra normalmente
a un voltaje ms alto
que la fuente.

Las terminales se denominan compuerta (gate), fuente (source) y drenador (drain).


El voltaje de la compuerta a la fuente (Vgs ) en un transistor NMOS es normalmente cero
positivo. Segn ste el transistor se comportar de dos formas muy sencillas:
Si Vgs

= O el

transistor se comportar como un circuito abierto entre drenador y

fuente (transistor "OFF").


A medida que incrementamos Vgs el transistor se comportar cada vez ms como un
corto circuito entre drenador y fuente (transistor "ON").

A5.1.4. Transistores PMOS


En la siguiente figura vemos el smbolo esquemtico de un transistor MOS de canal-p
(PMOS).

v~
I

, gs

+(

CJ

gate

source
drain

Su funcionamiento es anlogo al de un transistor NMOS, excepto porque la fuente se


encuentra normalmente a un voltaje mayor que el drenador, y por lo general el voltaje de la
compuerta a la fuente (Vgs ) es negativo cero.

Observaciones:
El voltaje de compuerta
crea un campo elctrico
que refuerza o retarda
el flujo de corriente
entre las terminales de
fuente y drenador. Este
es el "efecto de campo"
en el trmino MOSFET.

L"

La compuerta de un transistor MOS tiene una impedancia muy elevada. Es decir, esta
compuerta est separada de la fuente y el drenador por un material aislante que tiene
una resistencia muy elevada, con lo que la intensidad que corre entre la compuerta y las
otras terminales del transistor es despreciable.

Los transistores NMOS y PMOS se utilizan en forma complementaria para formar la


lgica CMOS.

www.monteroespinosa.com - Clases de EDIG - Tfnos 91 5445377 , 619 142355

T-A5.2

AS.loS. Circuito del inversor bsico CMOS - Modelo de interruptores


El circuito CMOS ms sencillo, un inversor lgico, requiere solamente uno de cada tipo de
transistor, conectados como se muestra a continuacin:

VDD =+5.0V

Normalmente el voltaje
de alimentacin

VDD

se encuentra en el
intervalo de 2 a 6
voltios y con mucha
frecuencia se establece
5V para tener
compatibilidad con los
circuitos TIL.

En trminos ideales, el comportamiento


funcional de este circuito puede
caracterizarse como aparece en esta tabla:

Cuando VENT

VIN

Ql

Q2

Vour

0.0 (L)
5.0 (H)

off
on

on
off

5.0 (H)
0.0 (L)

= O, Ql est apagado porque su Vgs

es O, pero Q2 est encendido porque

su Vgs es un valor negativo muy grande (-5.0 V). En estas condiciones VOUT

Cuando VENT

()

= 1, Ql est encendido porque su Vgs

= 5 V.

es un valor positivo grande (5.0

V), Y Q2 est apagado porque su Vgs es O. En estas condiciones VOUT = OV .


Una manera de ver este comportamiento, tal y como haremos en los ejercicios, ser usando
interruptores.
VDD =+5.0V

El modelo del transistor


de canal-n corresponde
a un interruptor
normalmente abierto
(cuando le ponemos un
1 lgico en la puerta), y
el transistor de canal-p
corresponde a un
interruptor
normalmente cerrado.

El modelo del
interruptor nos lleva a
una manera de dibujar
circuitos CMOS que
nos facilitar mucho su
comprensin.

VDD =+5.0V

VOUT

=H

VOUT

VDD

=L

= +5.0 V

Como se muestra en la figura de la derecha, se


emplean smbolos diferentes para los transistores de
canal-n y de canal-p, a fin de reflejar su
comportamiento lgico.

El transistor de canal-n (01) se encuentra


activado cuando se aplica voltaje ALTO a su
compuerta.
El transistor de canal-p (02) tiene el
comportamiento opuesto: se encuentra activado
(, _)'
______________~~~c=u=an==do==s=e=ap=l=ic=a=v=o=l=ta=je==B=A=J=O~.__________________________~____________

www.monteroespinosa.com - Clases de EDIG - Tfnos 91 544 53 77 , 619 142 355

T-A5.3

AS.1.6. Anlisis de circuitos CMOS para obtener la funcin lgica que realizan
Para hallar la funcin booleana que implementa un circuito CMOS, podemos actuar de dos
maneras:

Para entender bien


estas reglas, ve a los
ejercicios de examen.

a) Estudiar el circuito equivalente ideal (con modelo de interruptores) para cada


combinacin de las variables. Al fInal obtendremos la tabla de verdad de la funcin y
slo tendremos que expresar la funcin que representa.
b) Analticamente: Nos plantearemos, viendo el circuito, con lgica proposicional, qu
transistores necesitamos "encendidos" y cules "apagados", para que la funcin
buscada valga O 1 (a nuestra eleccin).
Despus, en la expresin obtenida cambiamos las condiciones referidas a cada
transistor ("encendido" "apagado") por otras, referidas al valor que deben tomar sus
entradas para que se produzca ese funcionamiento en cada uno. Recuerda que:
En transistores NMOS:

ON

-7 tensin de puerta = '1'

OFF -7

En transistores PMOS:

ON

-7

OFF -7

tensin de puerta = 'O'


tensin de puerta = 'O'
tensin de puerta = '1 '

Slo faltar complementar, en la expresin, aquellas variables que estn negadas


(complementando por tanto tambin su valor) para despus cambiar la expresin con
lgica proposicional a una funcin booleana. Los cambios que debemos aplicar son:

-7 . (AND)
V
-7 + (OR)
variable igualada a '1' -7 variable sin negar.
variable igualada a 'O' -7 variable negada.
/\

AS.1. 7. Implementacin de funciones mediante circuitos CMOS


Implementaremos nuestra funcin siempre formando dos bloques, en cuya unin
obtendremos la funcin booleana deseada.

C)

El primer bloque, conectado en su extremo superior a Vcc ' constar de transistores


PMOS (uno por cada trmino de la expresin de la funcin), realizando las siguientes
......
.
reglas:
o Cada (AND) lo sustituiremos por una conexin SERIE.
o Cada + (OR) lo sustituiremos por una conexin
PARALELO.
o Pondremos las variables en his puertas de los transistores,
NEGADAS con respecto a como aparecen en la funcin
booleana.

rMO;~

I---F

El segundo bloque, conectado en su extremo inferior a tierra, constar de transistores


NMOS (uno por cada trmino de la expresin de la funcin), realizando las siguientes
reglas:
o Cada . (AND) lo sustituiremos por una conexin
PARALELO.
o Cada + (OR) lo sustituiremos por una conexin SERIE.
o Pondremos las variables en las puertas de los transistores,
.. ,
NEGADAS con respecto a como aparecen en la funcin
booleana.

~,~
'

www.monteroespinosa.com - Clases de EDIG - Tfnos 91 5445377 , 619 142355

T-A5.4

AS.2. Comportamiento dinmico de los dispositivos CMOS


Dentro del estudio del comportamiento elctrico de un circuito eMOS, en eEDG se le da
especial importancia al estudio del comportamiento dinmico del mismo, es decir, de cmo
tanto la velocidad como el consumo de energa depende en gran medida de las
caractersticas dinmicas ( de CA) del dispositivo y su carga, es decir, lo que sucede
cuando la salida cambia entre dos estados lgicos.

Nosotros nos vamos a centrar slo en el estudio de la velocidad, que depende de dos
caractersticas importantes: el tiempo de transicin y el retardo de propagacin.

AS.2.1. Tiempo de transicin


Es la cantidad de tiempo que requiere la salida de un circuito lgico para cambiar de un
estado a otro. Vamos a entender el concepto con la figura siguiente:

(a)

(b)

Observa que la parte


inicial de una transicin
no se incluye en el
valor del tiempo de
ascenso de cada,
sino que contribuye al
valor del retardo de
propagacin, que
estudiaremos en el
punto siguiente.

Las salidas no pueden


cambiar
simultneamente,
porque necesitan
tiempo para cargar la
capacidad parsita del
cableado y otros
componentes que
controlan.

(e)

HIGH

/'
--------~----------------'*\--------------VIHmm

LOW ----~~~-----------------+~i'------------V~m~
./

tr

-- --

--

a) Esta figura muestra la situacin ideal para el cambio de estado en las salidas: en tiempo
cero.
b) En este caso se muestra una visin ms realista de la salida de un circuito: una salida
necesita una cierta cantidad de tiempo, denominado tiempo de ascenso (t r) para
cambiar de BAJO a ALTO, y un tiempo posiblemente diferente, denominado tiempo
de cada (ti) para cambiar de ALTO a BAJO.
c) Incluso la figura B no es bastante precisa, porque la razn del cambio del voltaje de
salida no cambia instantneamente. En su .lugar, el comienzo y el final de una
transicin son suaves, como se ve en la figura e.
En la figura e, los tiempos de ascenso y cada indican cunto tiempo tarda un voltaje
de salida en pasar a travs de la regin indefinida entre BAJO y ALTO.

AS.2.2. Anlisis de tiempos de ascenso y cada de una salida CMOS


Los tiempos de ascenso y cada de una salida de eMOS dependen principalmente de dos
factores, la resistencia del transistor "encendido" y la capacidad de carga. Una capacidad
grande incrementa los tiempos de transicin, por 10 que ser raro que conectemos a
propsito un condensador en la salida del circuito lgico. Sin embarlo, las capacidades
parsitas estn presentes en cualquier circuito, provenientes de tres fuentes: los circuitos de
salida, el cableado que conecta la salida con otras entradas, y los circuitos de entrada.
www.monteroespinosa.com - Clases de EDIG - Tfnos 91 5445377 , 619142355

T-A5.5

La capacidad parsita
se conoce en
ocasiones como carga
capacitiva o carga de
~ CA.

Se pueden analizar los tiempos de acceso y cada de una salida CMOS utilizando el circuito
equivalente que se muestra a continuacin:
Vcc =+5.0 V

Equivalent load for


transition-time analysis

eMOS
in verter

Observa que en el
ejemplo estudiamos un
inversor CMOS como el
que hemos visto en
estos apuntes.

Los transistores de canal-p y canal-n estn modelados por las resistencias Rp y Rn ,


respectivamente. En operacin normal, una resistencia es alta y otra baja, dependiendo
de estado de salida.

La carga de salida se modela mediante un circuito de carga equivalente con tres


componentes:

RL , VL : Ambos componentes representan la carga de contnua (CD): determinan los


voltajes que se establecen cuando la salida se estabiliza en un nivel ALTO o BAJO. La
carga de CD no tiene demasiado efecto sobre los tiempos de transicin cuando la salida
cambia de estado.

eL: esta capacidad representa la carga de CA: determina los voltajes y corrientes que
estn presentes cuando cambia la salida de un estado a otro.

(j

Cuando una salida CMOS controla slo entradas CMOS, la carga CD es despreciable. Para
simplificar las cosas, analizaremos solamente este caso, con RL = 00 y ~ = O en el resto
de estos apuntes.
Vamos a estudiar el anlisis mediante un ejemplo:

Ejemplo:
Vamos a analizar los tiempos de transicin de una salIda CMOS, para el circuito anterior,
con eL = 100 pF (carga capacitiva) y con Rp =200 Q Y Rn = 100 Q (resistencias "de
encendido" de los transistores)
Los tiempos de ascenso y de cada dependen del tiempo que se necesita para cargar y
descargar la carga capacitiva eL

Primero observamos el tiempo de cada:


La figura siguiente muestra las condiciones elctricas en el circuito cuando la salida se
encuentra en un estado estable ALTO:

www.monteroespinosa.com - Clases de EDIG - Tfnos 91 5445377 , 619 142355

T-A5.6

Vcc =+5.0V

AC load
VOUT =5.0V

VIN

Iour=O

En este ejemplo
suponemos que
cuando los transistores
CMOS cambian entre
"encendido" y
"apagado", lo hacen de
forma instantnea.

Vamos a suponer que al tiempo t = O la salida CMOS cambia al estado BAJO, generando
as la situacin que planteamos a continuacin:
Vcc =+5.0V

AC load
Vour

Recuerda que el voltaje


en un condensador no
puede cambiar de
forma instantnea

Cuando t = O, VOUT todava es 5.0 V. En el tiempo t =

00

el condensador tiene que estar

completamente descargado, y VOUT debe ser OV.


Entre los dos momentos, como sabemos, el valor de VOUT est gobernado por una ley
exponencial:

Esta ley exponencial es


resultado de resolver
una Ecuacin
Diferencial, tal y como
veremos en algn
problema de examen.

El factor ~CL tiene


unidades de tiempo
(segundos) y se conoce
como constante de
tiempo Re. Como
hemos visto, en este
ejemplo la constante de
tiempo Re para las
transiciones ALTO a
BAJO es de 10 ns.

VOUT

Re
L L

= y DD e
TT

= 5.O. e

100.100.10-

t
12

5.0. e

10.10-

La figura siguiente muestra una grfica de VOUT en funcin del tiempo:

200Q
>lMQ

>lMQi
lOOQ

~.-----------------------------------

5V -j--.,

Vour

oV4--,4--+----=======--------------time
0 ___
tf

www.monteroespinosa.com - Clases de EDIG - Tfnos 91 5445377 619 142355


I

T-A5.7

Para calcular el tiempo


de cada recordamos
que 1.5 V Y 3.5 V son
las fronteras que
definimos para los
niveles BAJO y ALTO.

Para obtener el tiempo de cada, debemos resolver la ecuacin anterior para VOUT = 3.5 y

VOUT

= 1.5 . As:
VOUT
10 . 109 .
InVOUT
eL ln--=-

t=-R

VDD

5.0

Obteniendo:

t35 =3.57ns}
.
El tiempo de cada
t1.5 = 12.04 ns

t f es la diferencia entre ambos nmeros, 8.47 ns.

Tiempo de ascenso:
El tiempo de ascenso puede calcularse con un mtodo semejante. La figura (a) muestra las
condiciones en el circuito cuando la salida se encuentra en un estado estable BAJO. Si al
tiempo t = O la salida CMOS cambia al estado ALTO, resulta la situacin descrita en (b).
Vcc =+5.0V

Vcc =+5.0V

(b)

(al

o
VIN

Una vez ms, VOUT no puede cambiar de forma instantnea, pero al tiempo t

Cf)

el

capacitor estar completamente cargado y VOUT ser 5V.


De nuevo, el valor de VOUT est determinado por una ley exponencial:
Tambin sabemos
deducir esta ley a partir
de la resolucin de una
ecuacin diferencial.

>lMn
>lMn

loon

En este caso la
constante de tiempo
RCes 20 ns.

I
--.-J

5V

Vour

oV - 1 - - - + - - + - - - - 1 - - - - - - - - - - - - - time
o

www.monteroespinosa.com - Clases de EDIG - Tfnos 91 5445377 ,619142355

T-A5.8

Resolviendo la ecuacin anterior (despejamos el tiempo), obtenemos:

t = -Re In VDD - VOUT = -20 .10-9 .In 5.0 - VOUT


VDD

5.0

En donde sustituimos los tiempos de frontera, para obtener:


-

tI 5

. _

- t3 .5

7.13 ns }
El tiempo de ascenso t r es la diferencia entre ambos nmeros, 16.95 ns
24.08 ns

Observaciones:
Se dira aqu que la
capacidad de
excitacin de la salida
es "asimtrica".

Este truco no es vlido


para resolver ejercicios
de examen, pero s
para verificar,
aproximadamente, si
nuestros resultados son
correctos.

Adems, en algunas
familias lgicas (como
TTL) los umbrales no
son simtricos en torno
a un punto medio de
voltaje

En el ejemplo anterior se supone que el transistor de canal-p tiene dos veces la


resistencia del transistor de canal-n, y como resultado el tiempo de ascenso es el doble
que el de cada.

Un incremento en la capacidad de carga ocasionar un aumento en la constante de


tiempo RC y el correspondiente incremento en los tiempos de transicin.

Una regla sencilla y prctica para estimar los tiempos de transicin es que stos son
aproximadamente igual a la constante de tiempo RC del circuito, cuando se est
cargando o descargando. Slo tienes que fijarte como, efectivamente, en el ejemplo
resuelto de estos apuntes este "truco" es vlido.

Los tiempos de transicin calculados son bastante sensibles a la seleccin de los


niveles lgicos: en el ejemplo resuelto, si usamos 2.0 V Y 3.0 V en vez de 1.5 y 3.5 V
como los umbrales para BAJO y ALTO, nos saldran tiempos de transicin ms cortos.
Por otro lado, si empleramos 0.0 y 5.5, j los tiempos de transicin calculados seran
infinitos!

A5.2.3. Retardo de propagacin


Una trayectoria de seal es la ruta elctrica de una seal particular de entrada hacia una
seal particular de salida, en un elemento lgico.
Los tiempos de
ascenso y de cada
slo describen de
forma parcial el
comportamiento
dinmico de un
elemento lgico; se
necesitan parmetros
adicionales para
relacionar la
temporizacin de salida
con la temporizacin de
entrada.

El retardp de propagacin tp de una trayectoria de seal es la cantidad de tiempo que


requiere la seal de entrada para producir un cambio en la seal de salida.
Un elemento lgico complejo con varias entradas y salidas puede especificar un valor
diferente de tp para cada trayectoria diferente de seal.
Sin tener en cuenta los tiempos de ascenso y cada, la siguiente figura muestra los
diferentes retardos de propagacin para la trayectoria de seal de entrada a salida de un
inversor CMOS, dependiendo de la direccin del cambio en la salida:
VIN

Vour

t pHL

1-

I-

tpuI--1I
(

"-/

www.monteroespinosa.com - Clases de EDIG - Tfnos 91 5445377,619 142355

T-A5.9

Donde:

t pHL es el tiempo entre un cambio de entrada y el correspondiente cambio" de salida,

cuando la salida est cambiando de ALTO a BAJO.


t pLH es el tiempo entre un cambio de entrada y el correspondiente cambio de salida,
cuando la salida est cambiando de BAJO a ALTO.

Entre los muchos factores que influyen en el retardo de propagacin tenemos que destacar
los tiempos de ascenso y cada, lo que hace que especifiquemos los tiempos de retardo de
propagacin como la distancia temporal entre los puntos medios de las transiciones de
entrada y salida, como se ilustra en la figura siguiente:

- tpLH - -

- - tPHL -

Esto nos da una definicin ya formal de los tiempos de retardo de propagacin:

Tiempo de propagacin de ALTO a BAJO t pHL


Vi(t)
Vcc

Es el tiempo que transcurre entre que la


entrada llega a una tensin del 50% del valor
de alimentacin (independientemente de si la
transicin es de H a L o de L a H) y que la
salida alcanza dicho valor cuando pasa de H a
L.

O,5Vcc

fO~)!

'

Vcc
O,5*Vcc

--&==

Tiempo de propagacin de BAJO a ALTO t pLH


Vi(t)

Es el tiempo que transcurre entre que la


entrada llega a una tensin del 50% del
valor de alimentacin
(independientemente de si la transicin es
de H a L o de L a H) y que la salida
alcanza dicho valor cuando pasa de L a H.

Vcc

.....1

O,5Vcc

Vcc
O,5*Vcc

i ...... J

'

.., t

1 I
+---+I7P:-----.
Vo(t)

www.monteroespinosa.com - Clases de EDIG - Tfnos 91 5445377 , 619 142355

T-A5.10

FEBRERO 2005

Problema 2
Se desea disear un circuito de sumar y restar dos nmeros de un bit AO y BO con acarreo de entrada C i- 1
mediante una seal de control M. El resultado se compone de tres bits [S2,SO] expresado en complemento a dos.
La operacin, en funcin de M es la siguiente:
"O"

[S2,SO]

= AO + BO + C

M = "1"

[S2,SO]

j _1

AO - (BO + Ci - 1)

2.1 Rellene la tabla de verdad, Tabla 2, y obtenga justificadamente la funcin lgica simplificada para SO.

O
O
O
O
O
O
O
O
1
1
1
1
i
1
1
1

AO
O
O
O
O
1
1
1
1
O
O
O
O
1
1
1
1

BO
O
O
1
1
O
O
1
1
O
O
1
1
O
O
1
1

Ci-1
O
1
O
1
O
1
O
1
O
1
O
1
O
1
O
1

S2

o
G

S1

SO

"

o
1
t

t:J

e;

-o

Cf)

-o

L
1

P
ll>

(fj

\
\
t
o

()

<2:>

AUX
tJ
1
\
O
\
1
'Z
O
1
(.
O
Z
1
"3O
()
O
-1
O
\
O
'2
O
\
1
o
O
(:)
1
-1
O

--

2.2 Implemente la funcin AUX de la Tabla 2 con el mnimo nmero de puertas NOR de dos entradas.
Nota: Slo se dispone de las entradas M, AO, BO y C i- 1 y no de sus complementarias.

2.3 Implemente la funcin F = M . + A . + A . B . M utilizando nicamente dos multiplexores de 4


entradas de datos. Nota: Slo se dispone de las entradas M, A, By C y no de sus complementarias.

www.monteroespinosa.com - Clases de CEDG - Tfnos 91 54831 78

619142355

SEPTIEMBRE 2006
PROBLEMA 1
-

La lectura de la temperatura de una cman~ frigorfica, en grados centgrados, se obtiene con cuatro bits
(T3, T2, TI, TO) codificada en complemento a 2, siendo TO el bit menos significativo. Se necesitan dos
salidas (LR y LV) que activen un led rojo (LR) y un led verde (LV) respectivamente (ambos activos a
nivel alto). Para ello, se quiere implementar un circuito que active elled verde cuando la temperatura
de la cmara eS,t entre -3 y +4 oC, ambas incluidas, y elled rojo en el resto de los casos.

1.1 Complete la tabla de verdad siguiente (Tabla 1). (5 puntos)

-r" (deci M" e )

o
LV

z.
3"i
5'

6
1

u\

-I?
-1

-6
-5
-"1
-3

-2

-{

T3
O
O
O
O
O
O
O
O
1
1
1
1
1
1
1
1

T2
O
O
O
O

1
1
1
1
O
O
O
O
1
1
1
1

TI
O
.0

1
1
O
O
1

1
O
O
1
1
O
O
1
1

TO
O

1
O
1
O
1
O
1
O
1
O
1
O
1
O
1

LR

o
o
o

o
(>

i
i

LV
i
1
1
1
1
o

.1

o
o

1-

1
1

.1
i
o
o
o

1
1
1

1.2 Obtenga la funcin lgica simplificada para la salida LV. Para dIo utilice un mapa de Karnaugh. (5
puntos)
,
1.3 Implemente la salida LV utilizando el mnimo nmero necesario de multiplexores de cuatro y de
dos entradas de datos. (la puntos)

www.monteroespinosa.es - Clases de CEDG,.. Tfnos 91 5445377 , 619142355

I~

00

01

11

10

00

fr

--))

O/

'1~

"

o
o

Vi

o
o
o

TITO

1)

10

Hvx

Tel'1(I"t o l,

Z Xi

--\

e.;"'pe~",r

PNCo.

v",,;,;. bll:)

L(

Nu X

A~ ~, ltA.u .....c1 ~ue

Q.p~re

r3 z

LV -

i'c....VI

e\ ~... l

Ti To

Ve.. r:c..

e"

l,e'J

(iZ t Ti)

t3 rz. ro

.:..

fr""'~ 1'10

C4. d c..

c\e

el;. f o.J1'Ict.'"

T3TZT,1

r1 To + T'3T2 Tb + T3
-t'3TZT1TO
- - + t3 rz l To + ti) (iy~)
~

...
n
r z 1. ro t Ts T T t t:()
r> fZ ,

-T3 r2
- T~

.:::;:.

+ 3 rz f:1

To
1-

+ T3

2 e.. ~. i:o,,~r~

Co>1

TZ

TZ T

1.

Z (

","

L'

';,.

'.

. .-

!1u)C

'1 k

T3
/ TZ

l :

I
Mv.x l

~ "

. .'

"

.
. 'T1. To

f?I

TiTO

I~

To t T1

, '.,'

,1

....

.;.,

= ro Ti+T1)

.'

==

ri To

+ Ti

Ti T o
,

.. ,

.. '... .,

"

....

J. + Ti fo . o ., Ti

f r1 (ro t

To t

O..

ro .o

ro)

ti ro . o

='

TiTo t T.;1 lo ,-

r -:1 Te . j

+ Ti ro

-1- Ti ro i

nTo

i
o

y ..... . . - - - -

C>

el

C';

Io

Ir

_ _.......... I,

_ _ _ _I

LV

.Il

Ti To

r)
el c.

Ir

r ..

y ....._.----J

i
I,
, ' 1 ' ;.I1,

NOTA

e<t~

~;rt.J.....-.t,..~;"Job;:('

il"lp{.-.(".f...r

'.,

""

.'

, .",

-4

4"( tt>'\eMoJ

be &..

c.. ....

OI-~v1, e...,

Mux

"

..

..

'

..

,.

To

-t-

t1

l.- .

Iy =

t Ti

ro (Ti" Ti)

Ti . To

--

TI-To

{r

ea.. la. he::..

d(

/er"'>

,'"",pl?t,...e-,r6. r 14,.,.eC."'-~((1

MlJX 2

<?",

Ce.XII

!, )

= ti TCd ti.ro

ji

j1(~)

Ti

+ T1.

(;DI t TLl]
Xo>

A.s;~""".1

e." el H.tJX Z

ntal: ~6. c\,

r,

TOiT1

[ri

~cpl

r.

NOtA:
To
o

t. "e

0
;1

..

(oLo t

r')

:r',

Io

~I

2)(1 :

re..

e", ec..~.J ~"lc..

e.JrA....l d( Cb..~) def M.u,X 'i X

pu~tJe,.." ,... p& - ... ~... .- e..,...,

Jt.

Ti

("1

'-f x2,

f.. J v",r;",,6et j c.,.....o e..., ir...

fYltr

~('oe I y ~ p:.-

S,,""''l ""

po,'... ",

f{Jx .

Z V"-r;", ~er"

s.;G. hc.r "I~(,

J... l d~

;'"

--" 2 e ... ~r .cl.,j de c.,,,,

ti lo
As{

y To + Ti se

Ti To

guY1c;o",e

ro,

evc~o

sc.

l1C6

I"7l,;e
_

l1e~A ~
I

\k..r;t:(.lA

~d",,'," ~c.. ...e.,l(, Si

M,}c..r\

Ji ,.().)cc)-,~..>\ I

J,t I&tt.J

Vj ....

'

Le.,

,)""'C1d''''l
)

Tiro ehl,e1'10j '""'I~C~,,~e.


tot\to

e..,

t.. 'oe. ti> f:G;o.e :

NOVIEMBRE 2011

PROBLEMA 2 (30 PUNTOS)


(~

Implemente un conversor de cdigo BCD de dos dgitos (B para las decenas y A para las unidades)
a cdigo binario de 7 bits (S6 ... SO) utilizando exclusivamente dos sumadores de 4 bits con acaneos
de entrada y salida como los de la Figura. Justifique adecuadamente su solucin.

~0\e-wloS

t:h Q;c. \)

yo-

e.Y)

e-\

u-Y)lcdCes (A)/ WI"l

\? nCU"'lo ~S

Ltv.Co

Co-Y?

f0(,o'o\ema.

~ ~ a..)es '6e. 6ecena.s ~)

'be. ~ es~r'\ se.~r~S ~

\>a.ro- ~(Y'O-r
~\:L(' de. e..\la..s -.o.. COU"L\;L'nO CVl \o lV1o..rt.o 0-0
-tenevnO'5 ~ tVY\~e.(YleJ1\:o..r .ko(>e-l~Y\\",,~lOS * ~J
<X..

"l

m'

~~

~~

--+

~z.
~2

~l

<G

G'\.

B3

Wz.

\31

'O

\31
\33~'j

rO

B>~

gt.

~?\-~l

S~

'00
'6Z.+B:::>

b.."3
~\-~\-~

S3

\3.0
O

'\

l(

BZ

B3

~l

f:\z

\30

'Al

\3r\Jt?; R::.*(}.\

Sz.

S(

g,~

-O

1\

1\0
~

()

www.monteroespinosa.com - Clases de EDIG - Tfnos 91 5445377 , 619142355

\.0\0

NOVIEMBRE 2012

PROBLEMA 1 (35 PUNTOS)


Dados dos nmeros representados en binario sin signo, A y B, de 2 bits cada uno (Al AO y BI BO,
siendo Al y BI los bits ms signifIcativos)

1.1 Rellene la Tabla de verdad de la funcin lgica F = A> B. Para este apartado, los nmeros A y
B slo pueden tomar los valores decimales de 1,2 3 (es decir, nunca valdrn O). (5 puntos)

A1
O
O
O
O
O
O
O
O
1

1
1
1
1
1
1
1

()

AO
O
O
O
O
1
1
1
1
O
O
O
O
1

1
1
1

81
O
O
1
1
O
O
1
1
O
O
1
1
O
O
1
1

80
O
1
O
1
O

1
O
1
O

Y
Y

O
1

)(

X
o

O
O
O

X
X
X
X
1
1
X

1
O
1
O
1
O
1

O
'O
)(
(

1.2. Obtenga la expresin lgica simplificada (al mximo) de la nl11cin G, dada en la Tabla de
Verdad, utilizando un n~apa de Kamaugh. (lO puntos)
1.3 Implemente la funcin G utilizando exclusivamente dos multiplexores de 4 entradas de datos,
como los de la Figura. Para ello, NO se dispone de las seila1es negadas. Justifique adecuadamente
su solucin. (J Opuntos)

tOO

01-------'

el

lo
11

Al

12

13

www.monteroespinosa.com - Clases de EDIG - Tfnos 91 5445377

619142355

b- ::- A.o ~

(Al\-~) +

Ao~A<l> :::.

::; A,g-, + Ao~ ~()

_ ~'~l (Ao~ I\o)lr


-

1 (,..' ~

1\0 ti ~l

A'O A,f; .t

-::.

Ao~! }\\J. AC>~J \So

-=

~J ~, A ~ Aa \SI (A l \-\50')

Ai

-t

~o

'":::

1:\, l~o.1.;~ ') ~ ~U~q4- Al ') -=

_ A 1 Be + Ao-+-= ;, ~ + J\ \ fSo

-l.

>-0?

Al 15

4-lSo f

': :

'

1.4 Implemente la fi.11lcin G utilizando exclusivamente los siguientes componentes: un


decodificador 3-a-8, un decodificador 2-a-4 y una puelia lgica de su eleccin
Para ello, NO se dispone de las seiiales negadas. Justifique adecuadamente su solucin. (10 plintos)

o:::

lo

11
12

-o

LL

l..L.l

00
01
o~

03
04
O"

06
07

00

o:::

Col

cto

P;..~6

00
01

U
-LL
o-

O2

101

03

110

0\1

00

11.1

lo

)?,

11

4:)<:;

4'1
lb

11

l..L.l

ltt

. (e)

www.monteroespinosa.com - Clases de EDIG - Tfnos 91 5445377 , 619142355

'--

~.J':);

NOVIEMBRE 2012

PROBLEMA 2 (35 PUNTOS)


2.1 Implemente un 'Sumador completo (f'ull-Adder) mediante el uso NICAMENTE de dos
medios-sumadores (Half-Adder) y la lgica combinacional necesaria. Justifique adecuadamente el
circuito empleado. (15 plintos)
Nota. Recuerde que un medio-sumador (Half-adder) es aquel que slo tiene dos entradas de un bit cada una (los dos
sumandos, A y B) Y dos salidas de un bit cada una (la suma, S, y el acan-eo de salida, C our ), mientras que el sumador
.
completo (FlIll-Adder) dispone de una entrada adicional de un bit para el acan'eo de entrada (Ciu ).

~~.\'O ~~t'I'IG>S ~

Y\

kI

(j

Half-adder

c,"'

"1

C\(CUt\'o

.l

Wte.'(o.~

. ,

!
A

A ~

Half-adder

Cout

Sl.tvn C<.

ti A.+\3, -..v\
VY\6c:; Civ

U~'/ ~ s-...

resu \

Sl<.vY)<V')

\020

A \.\ Az

L."
~ ....
./1
v~ c;.... c:a..rreb

U..-Z

\,-a.\or~

Ii
e....V\ t\~\

CLCa\'eo .vH..\

1-1

2.2 Siendo A la representacin en binario de un nmero (con 3 bits sin signo, A2 Al AO, Y siendo
A2 el bit ms significativo), se quiere obtener el valor en binario (sin signo), representado en F,
que resulta ele la siguiente expresin aritmtica:
F

()

= (A x 3) + 8

Determine el nmero de bits que deber tener F para evitar el desbordamiento. Justifique su
respuesta.
(5 puntos)
~
,,_._"\.. e.,
\ v\'ltANlefo "
i -' ...
_~I'
-le.'\emoS 6iMC'
\
".
\
\,
<""\..('0-, ~ ....\Oe""
ele. '().. <; he~~\lO so o '
-~ e..~. ~.~..l(llo...f' e...
co..S:'-C ~~-;

Fj~=7 -;::?-3.\.~ -==

ZC\.o

~ \'f"g. -:: ,\ \ 01

~s \oQ'S~

\0\0\
100<:>

I i I C) e

www.monteroespirfSa.con.j,Clas'~de EDIG - Tfnos 91 5445377 , 619142355

,-\V\

\-res. lo As.

c.lrC';l\O~

de. Z <2vI. L

COYlSt,-u.lr

'S \o\\.c:;.

CO"",

\='A .

-\",

At\ l A,
\11
eoJ

SI:

\:;~

Atl

_1

S-z....

Ao
,

1 A.,
~

CAl\:

c\_ ~o

~ll.A.1

A-z ~ \

,~

Liv\

....!!

~,

e,'",

Vn.~

Az

40

A. r\-l\-c

SI

\S~

FEBRERO 2003
PROBLEMAS (15 PUNTOS)
1. Obtenga razonadamente la frecuencia mxima de reloj CLK a la que puede funcionar el circuito de la figura
suponiendo que el inversor tiene un retardo tdinv = 1ns y los biestables (FF 1 Y FF2) un tiempo de propagacin
tdff = 2ns y un tiempo setup setup = 3ns. Justifique la respuesta dibujando en un cronograma los tiempos pertinentes involucrados y raznela en funcin de dicha figura. NOTA: Corno retriccin adicional, suponga que la anchura mnima de los pulsos de la seal de reloj (tanto el de nivel alto corno el de nivel bajo) es de 1 ns, y tenga
en cuenta que la seal de reloj no tiene por qu tener un ciclo de trabajo del 50%.
FFl

x-

JI

Q,

[>o

FF7

Jz
"..
~

K,

Q1 loo-

Q2

1.>

K2

Q2

CLK -

+-.______~P~e~;~i~od~(~)_=~T______~__~.

2. Calcule razonadamente el tiempo de hold mximo tholdmax que podr tener el biestable FF2, para que el
circuito funcione correctamente. Asuma las mismas restricciones que las descritas en la nota del apartado
anterior y justifique su respuestaa partir del cronograma que ha realizado en el apartado anterior.

www.monteroespinosa.com - Clases de CEDG - Tfnos 91 54831 78,619142355

FEBRERO 2004

PROBLEMA 2
Se pretende disear un dispositivo luminoso consistente en una hilera de luces (Figura 1), tipo
LED, de las cuales slo una se encuentra encendida en cada momento dado .

..

Figura 1: Hilera de luces

100000.01

El objetivo es realizar un dibujo de efecto hipnti~ocon las luces para atraer la atencin de las
personas que 10 contemplan. Para ello se realizar un movimiento oscilatorio cuya secuencia
peridica representamos en la Figura 2, Ydonde t = 9 es iITal a t = 1.

. Figura 1: Muestra del Dibujo con los LED

(J

1000. 000

1=1

10000.001

1=2

100000.01

1=3

10000.001

1=4

1000'.0001

1=5

100.00001

1=6

10.000001

1=7

100.00001

t=8 .

1000..0001

1=9

La estructura del dispositivo luminoso es la de la Figura 3:

CIRCUITO
DE

ACTIVACIN

--;...
7

O
O

()

O
O

BloqueA

--...t.~

BANCO
DE'
LEDS

Bloque B

Figura 3: Diagrama de Bloques del Dispositivo Luminoso

El banco de LED tiene siete entradas, una por diodo [1610] activas a nivel alto, de forma que si
tienen un "1" el LED correspondiente se ilumina. El circuito de activacin (bloque A) se encarga de
generar las seales [16 10]. Para relizar el diseo se utilizar como ncleo un registro de
desplazamiento bidireccionaJ de 8 bits (Figura 4).
A
-B

-C

Figura 4: Registro de de!;plazamiento

-D
E
-F
-G
-H
SeriaCLefl
Seri.l_ Right

so
SI
CLEAR
-CLK

www.monteroespinosa.com -

- Tfnos 91 54831 78,619142355

~e.~

~---------~--------"\

,r

W. c..\\<:

'& <:..~

CCVIec~o.

o..

.~_, ~c.1K-""Z * mWl'lio..

CDr1G-\C1"Co o..

i i

~ ~l

i,

\,

(\

C.\~A-R

~ c..ieAR.Z ~ vV\"'~o

*'

<;;0\

~ SOz

S' \

~q 'Z. ~w('ae

, Re~ _\ <;;e. e-t'\ Co-Ct:::f" ~.

~ ~~ '2.

Qa;

o.l'illt'l

\.\0

b~\s

e ,f)cCt.(~~ ~e ~ ~\k

"'-/

La salida QA del registro ir conectada al LED ubicado en el extremo izquierdo del dispositivo,
mientras que QG se conectar al LED del extremo derecho (Figur.a 5),

Figura 5: Conexin de las salidas del,Registro de DesplZIImientoa los LED (en ,el instante representlldoc QF'= 1,
con Jo que su LEDasocilldo est encendido)
,

2.1 Construya e.I registro de desplazamiento de' la Figura 4 a partir de dos registros de
desplazamiento bidireccionales 74LS194, a los que llamaremos REG_l y REG~2 Y cuya hoja de:
caractersticas puede verse en el apndice. Para ello complete el circuito de la Fig;ra 6. (10puntDs)

REG 1

, - - - - - - - - - - =1 A

Q.A

~-------I B '

- - - -- ---.--1 e

----- -1 D
__"---1

QB :---~~
Qc r----

.....'

Qo:--r-

Serial_Left

.----1----1 Serial_Right
r+--t--t----:I------I

SO

.--+--+--r--=--l S1

- + --f--r-t---t---i CLEAR
H--- i --,CLK

"--------- QA

'-.

QB

'---_ _- -Qc
~------QD
r------------\\~
QE

--t-rtt=--U-+- + ---j

AREG_2
QA

~--t\+""""-==l:~-\--t---I B

---=r---\4I:::l~-4I--.-:::r-T--1 C
U-~-*~-~---ID

QB

Serial_Rigbt

L...--jr------- J

so

--t::==::;--~

SI

'""--1

rF
~~~

'

'J 1
QD~------~

Qc

' 1 - - --1:----.-1 Serial_Lcft


L----.----j

J-

CLEAR

t--:--~I CLK

Figura 6

. QH

)-~\ So

\..

\J1>

Fulk.'tv

'

Oe:;.~

-o

Ci

<-OY't?::l~:
el.

a eOfi, o.

~ e:;;.~ C\.

'\,Iv..

LeAb

~,moS "",\~Va( cr.~ of<><~ en "'''I\.Ll() _",e.\~ ( ... v~,'

\,,~ ~ ~er ~o o- tf &\!>~ ~ Q"" L!;t>s\ w=1\P- -o


... ~l -Aois. ek e\.e ",r COhGo\,.:;)" .. %S '-...\~~ l '* aft'O-n 1/"
"k ~1 'o.. teo,.bk ~'<lIo,esl.1Je \:>
(

II

Gol'\.

Q.c-

c:::Mek 'lc/n

\lo <;;. 'o o c:;.


~,e~~.

~-ene.--

k- l'\,.a.\COt la.f
,

Co(\<;e~LL\'v.to s

. UY\OS

heLes~~ pqro.

~.

UDn

LoAt:: I

~~ecLa.(' ~(.L a;t(~

~-

A continuacin se conectar el registro de desplazamiento de la Figura 4 al resto de componentes


para obtener el circuito de activacin completo, cuyo funcionamiento es el siguiente:

Ant~s de iniciarse el movimiento, se activa la seal LOAD conectada al biestable tipo D.


Corno consecuencia, se deber cargar en el registro el valor "O 1000000" (el ltimo bit no se
usa, pero es necesario cargarlo). Nta: La seal LOAD es activa a nivel alto y se mantiene
activa como mnimo un ciclo de reloj OK.
Cuando la sal LOAD se desactiva, el LED iluminado se desplaza con cada pulso de reloj
en un sentido u otro (izquierda o derecha) hasta que la luz llega a uno de los extremos del
movimiento (QB QF encendidos).
Cada vez que se llega a un extremo (QB QF encendidos), se cambia el. sentido del
movimiento.

2.2 Complete las conexiones necesarias que faltan en el esquema de la Figura 7. (20 puntos)

Ir
o

.------,~-I: @-o1<

,.-

[ -

a0-

E
F

0 --

0 -

CLK

EO
MUX

CK -l

f-,.....-

\ EfV

QG~--4------~--~~--~

QH ~

~(' o...'\M-l ~Q.

'\' nvlco 'oCL~

ti __ Serial_Left

co.l'I1'o ,Ot ~'Oe<;;.\,

O -

o...'ru:\.c:. 'SI" rz

ScriaJ_Right

Sft-=' ,'

Q# f.---J

e\

Figura 7

~o ~co. ~e(a{

Sc

ue,1c ( '0 .

"

11'

(C' l~

~ ~\ ~s.\o.c e<;'f>\o. "CaYiOo ~ ~~"'a.s LI;L"e ~ e.'\br ~


o
Ji \

re

s_~ po...~ ~ 'Vb C\...p~~'C.a.t'l


11

1\

1,

'

,\

LFD; C\I..\.Nn.\'60'S

V\lk..e\lOS

o.:.\~dc s,.
I /

1\

sc0.

un uno (i.AQ.Il '


~rO-t1'1cS
Co~'o~ o-

...--.-..- CLK

'-

forCA.d....U.'
~-

e..c;.~\o.t.o..f
o.... i.~doS

0 -':':" CLEAR

8 .poVlevYlo~

1.Id~ L

QE r--:--- j f - -- - - - . . . . l
QF r~-I-------9"-'-

..---~'--i SI

r-

0000

o o '" o

_ _V~'----l SO

QA
Qj f---..- - - -Io---:--'
o ---, C Q c 1--- -+------'--'
0- D
Q[jl--_ _+-_ _ _ _..J

() -

LOAD-D

( r,

SEPTIEMBRE 2004

PROBLEMA 5
U1A

En1

__-'--1
U1A

En2 :--~----------------L-

__~

74HCOB

U1A

74HCOB

CLK

__

__________________

~-

______________

t dAND = 1 ns
t dff = 2ns
tsetup = 2 ns

U2A

Q
Q 2

CLK
R

14

VOD
4013

Figura 8

5.1 Obtenga la mxima frecuencia de funcionamiento el ~ircuito de la Figura 8 suponiendo los


valores de temporizacin que aparecen en el lateral de dlcha figura. (5 puntos)
5.2 Obtenga justificadamente el mximo tiempo de hold
funcionamiento del circuito. (5 puntos)

(llOldmax)

del biestable para un correcto

5.3 Obtenga justificadamente la probabilidad de que el circuito de la Figura 8 no funcione


con-ectamente si utilizamos una frecuencia de reloj CLK de 125 MHz, suponiendo que las
entradas En1 y En2 pueden cambiar aleatoriamente en el tiempo con una distribucin
unifonne. Indique claramente los motivos de fallo sobre un cronograma. (15 puntos)

~'

+min

~ ~M ~

t=

~.

.~~~

'Z

\W\;')::

\. Q

~ ~.lA.o-l

-lse'htp '::.

~ ~ ~_; ~..L. 2"'31tug


T\>\it'\

7",~

-:c

L
www.monteroespinosa.com - Clases de CEDG - Tfnos 91 54831 78 - 619142355

z-\-~.\- L.. =.:{t1'S,

FEBRERO 2005

Problema 1
,~

En el circuito de la figura los biestables tipo D, U6A y U7A, tienen distintos tiempos de propagacin (tp ) Y de setup
(tsetup). Considere as mismo que las entradas de PRESET (PRE) y CLEAR (CLR) estn desactivadas en todo
momento.
4

U6A

"---"P~RE=-----.
En~~_da_ ..._ _ _ _ _ _--,2:..;D
o 5

---. 3
r
cu<

.ll<

Q 6

CLR
l'

7.474

.
tp

setup

Biestable U6A

1 ns

1 ns

Biestable U7A

2ns

2 ns

PuertaAND

5 ns

1.1 Utilizando los valores de la tabla obtenga justificadamente, dibujando un cronograma, la mxima frecuencia
del reloj (fCLK11IIlX) del circuito que asegure un correcto funcionamiento del mismo.
1.2 Determinar justificadamente, tambin sobre un cronograma, el mximo tiempo de hold (tho/d11lllX) que el
biestable U7A puede tener para que el circuito funcione correctamente.

L
www.monteroespinosa.com - Clases de CEDG - Tfnos 91 54831 78,619142355

FEBRERO 2008
PROBLEMA 5
Considere el siguiente circuito y los datos que se indican alIado.

02 Q

--+------ID
03

tD

01 Q

Biestable DI
Biestable D2
Biestable D3
Biestable J-K
PuertaAND
Puerta OR
PuertaXOR

I ns
2ns
2ns
2 ns
1.5 ns
I ns
1.5 ns

setuD

I ns
1.5 ns
0.5 ns
I ns

Q t - - -.....

CLK

Figura 5
5.1 Utilizando los valores de la tabla obtenga justificadamente, dibujando un cronograma, la
mxima frecuencia del reloj (JCLKmax) del circuito de la figura 5 que asegure un correcto
funcionamiento del mismo. Exprese claramente los tiempos de todos los caminos que considere.
(5 puntos)

CLK

5.2. Determinar justificadamente, sobre un cronograma, el mximo tiempo de hold (tholdmax) que
puede tener el biestable DI y el J-K para que el circuito de la figura 5 funcione correctamente (5
puntos)

~..

www.monteroespinosa.es - Clases de CEDG - Tfnos 91 5445377 , 619142355

FEBRERO 2009

(\

PROBLEMA 3 (15 PUNTOS)

FF1
J

Q1

Biestables
FFl yFF2

ell<

CK
B

XOR
NAND

t nron
lns

tsetun
2ns

3ns
2ns
Tabla 1

--+---------1

Q 1 - - -........- - Q2

L-..-------O>Clk

-----------1 K

FF2
Figura 5
3.1 Utilizando lo valores de la Tabla 1 obtenga justificadamente, dibujando un cronograma, la
mxima frecuencia del reloj (JCKmox) del circuito de la Figura 5 que asegure un correcto
funcionamiento del mismo si: (a) se utiliza un reloj con ciclo de trabajo igual a 50%, y (b) se utiliza
un reloj con ciclo de trabajo diferente al 50%, indicndose en este caso el ciclo de trabajo necesario.
(lO puntos)
3.2 Determinar justificadamente, tambin sobre un cronograma, el mximo tiempo de hold
(tholdmax) que el biestable FFI puede tener para que el circuito funcione correctamente. (5 puntos)

(~)

www.monteroespinosa.es - Clases de CEDG - Tfnos 91 5445377

619142355

FEBRERO 2006

PROBLEMA 2 (20 PUNTOS)


El sistema de apertura de una caja fuerte dispone de dos pulsadores: Pulsador BLANCO y pulsador
NEGRO, que definen sendas seales BLANCO y NEGRO activas a nivel alto. La caja fuerte se
abre mediante la generacin de una seal de apertura OP, activa a nivel alto, que abre la puerta de
la caja. Dicha apertura se produce si y solo si se efecta una secuencia correcta de los pulsadores,
que es: BLANCO-BLANCO-NEGRO; es decir pulsando BLANCO dos veces consecutivas y luego
NEGRO.
El sistema tambin genera una seal de alarma, AL (activa a nivel alto), que se activa al finaliZar la
introduccin de una secuencia de tres pulsaciones, si esta secuencia no fuera la correcta.
La operatividad del sistema es la siguiente:

C)

El sistema se encuentra inicialmel)lte en un estado de reposo, con la puerta de la caja fuerte


cerrada y ambas seales OP y AL desactivadas.
Una vez introducida la secuencia correcta (BLANCO-BLANCO-NEGRO) se activa la seal
OP (OP=l), la caja se abre y permanece abierta hasta que se cierra manualmente.
El sistema se RESETEA, volviendo al estado inicial de reposo, pulsando los dos pulsadores
a la vez (BLANCO y NEGRO). Esta accin slo se realiza al finalizar una secuencia de 3
pulsaciones (correcta-6 no). No se considera que se puedan pulsar los dos pulsadores a la
vez en ningn otro momento.
La seal de alarma se debe activar (AL=l) si la secuencia introducida de pulsadores no es la
correcta, pero cuidado: dicha activacin se debe producir al finalizar de introducir el-cdiw
de 3 pulsaciones. Esta decisin de diseo sirve para evitar dar pistas de cual de las tres
pulsaciones ha sido la errnea.
A la hora de dibujar el diagrama de estados tenga en cuenta:
o que todas las pulsaciones duran varios ciclos de reloj,
o que entre pulsacin y pulsacin' pasan varios ciclos de reloj sin tener ningn pulsador
pulsado,
o que ara c siderar activo el pulsar BLANCO NEGRO, hace falta pulsar die o

~2.1 Dibuje el diagrama de estados de dicho sistema de apertura. Indique CLARAMENTE el tipo
de Mquina utilizada en su diagrama (Moore o Mealy), los estados, las entradas y las salidas. (20
puntos)

~ ~ ~ )Q., ret'0so tAL:::o/ O~~O)

www.monteroespinosa.com - Clases de CEDG - Tfnos 91 5445377 , 619142355

<tq ?

\JPnro
~
<:)

\ "
\).'-'5QClo

i
\
e.V1 Za. ~\.SCLClo~
i\1C04"ec\o..

Cu.o..\.~a. ~\~

.QYl

-z.Q..

.(:)ul.sa...C.LO'\

(A-L':" <:)

,O~::o)

e,.n CctJ'V1'/t10

ya. e...~t\.eO .

.e...'C:WI.( o.

<t l \

=-

~lA~C.O ~~~
(1

(~o..

e,Y\ SQ.
\\

\\

~~~~~
l \

e...rrY'leo., (k.-=-o,
~ Camlrt-o

yo..

( AL-=-o t OP

'!;;.

ti).

0\>':'0)

Q.,((5l1.eO.

(--)
\

FEBRERO 2007

J,"9 0

PROBLEMA 4 (30 PUNTOS)

et

e.. *"",. le

De c- fo ....... t.. J ,

re;fo res ...eefo.

Se desea realizar un juego de luces de navidad. El juego consta de 3 bombillas que se encienden
secuencialmente una tras otra, siguiendo la secuencia dibujada en la figura 6 en la que crculo negro
implica bombilla encendida, y crculo blanco indica bombilla apagada. El tiempo que la bombilla se
mantiene encendida ser valiable segn el modo de funcionamiento, y se explica ms abajo. En el
ejemplo de la Figura 6 se muestra un modo de funcionamiento en el que cada bombilla se mantiene
encendida durante 1 segundo.

t =O S
t =1 S
t =2 S
t =3 S
t =4 S
t =5 S

8G
8 G
88
8G
8 G
80
Figura 6

El circuito tiene cuatro entradas de control A, B C y D, todas activa a nivel alto y una nica sefial de
CLK. El sistema tiene varios modos de funcionamiento, explicados a continuacin:

relc~.i

Cuando la sefial A est activada, todas las bombillas penllanecen apagadas.


Cuando la sefial B est activada, cada bombilla se mantiene encendida durante un intervalo de
tiempo de 0.25 segundos.
Cuando la sefal C est activada, cada bombilla se mantiene encendida durante un intervalo de
tiempo de 0.50 segundos.
Cuando la sefal D est activada, cada bombilla se mantiene encendida durante un intervalo de
tiempo de 1 segundo. Este compOliarnento es el que se muestra como ejemplo en la Figura 6.
Cuando ninguna de las sefales de control est activada, todas las bombillas permanecen
apagadas.

Notas:
NUNCA se dar el caso de que haya ms de una sefial de control activada a la vez.
Siempre que est activada una seal de control, y pase a activarse otra diferente, todas las
bombillas se apagarn durante un ciclo de reloj y despus pasan al modo que les corresponda,
segn la entrada de control que se haya activado.
.
4.1 Dibl~iar el diagrama de transiciones de estados de una mquina de Moore que realice el circuito
descrito. Explique detalladamente el significado de cada una de las entradas, de cada uno de los estados
y de cada una de las salidas. Indique en el diagrama los valores lgicos de las entradas, de la salidas y
de los estados. Diga tambin qu pedodo tendr el reloj CLK que utilice. (15 puntos)
4.2 Supongamos que tenemos ahora los siguientes componentes: 1 contador mdulo 4, 3 contadores
mdulo 3, 3 descodificadores de 2 a 4 (Tabla de verdad en el Anexo del examen), un codificador de 4 a
2 (Tabla de verdad en el Anexo del examen), y un multiplexor de 4 entradas de datos de 4 bits cada una.
Dibuje las conexiones necesarias en la figura para realizar el circuito del apartado anterior. Se dispone
de una sefal de reloj CLK de peliodo 0.25 segundos. (15 puntos)
www.monteroespinosa.es - Clases de CEDG - Tfnos 91 544 53 77

619142355

/3IJ
T=
,1

Ce... ....

;..,DJ

D'

l5 S (

tI

fJCt.l~tII.,)O ~

v1'10.....

<:>

1,-0 (~c..c\..

o' Z 5 S)

I~ J~ ~ TI

0'5

,;zr
~~oie...,c'>o

eH/re Cc..~CA.

..... "., ..

d>e

e.J,~.f&JJ;C";c..eu "

Cu/lJC'j ....,"".. J

er'-f:

e..

~,

0001

Tabla de verdad del Descodificador 2 a 4


2-to-4
decoder

10

YO

11

Y1

Y2
EN

Y3

Outputs

Inputs

EN

10

Y3

Y2

Y1

YO

o
o
o

o
o

11

o
o
o

o
I

o
o
o

Tabla de verdad del Codificador 4 a 2

Entradas

13

O
O
O
O
1

12

O
O
O
1
O

11
O
O
1

O
O

10

O
1
O
O
O

Salidas
Y1
YO

O
O
O
1
1

O
O
1
O
1

10

'"...
11

(;

YO

"ro

<J

12

Y1

()

13

www.monteroespinosa.es- Clases de CEDG - Tfnos 91 544 53 77 , 619142355

...____________

o'Z5J
-"II~[> Contador x 4

01

00

o'5)

....__.---1[>

Contador x 3

i..s

~[>

Contador x 3

0'5

r--[>

Contador x 3

01
:.....

E~11

CLK

la

Y3 Y2 Y1 YO

-*

----. ~

E~11

-.>f

[1
o

I
Ho- 10
...

A= i
13= i

=i

~=

11

'-

.-

"C

ro

--..

12

13

YO

o
""
'5
o

Y1

E~11

ca

Y3 Y2 Y1 YO
~

13
is

12

C1
Y
MJ~

/~ , r:::.. LS 5

..--

--

(0'5 J)

.I3

Ud}

10

'Z'~ j

Multiplexor 4 entradas de datos

-,

"

.IZ

rfff

11
o

,: c'SJ

r4>
I.1

10

Descodificador 2-4

, ~

(o/uu)

10

Descodificador 2-4

Y3 Y2 Y1 YO

C -1 >-

dI

Descodificador 2-4

00

cb
.

",'

.'

"

l'

www.monteroespinosa.es - Clases de CEDG - Tfnos 91 5445377 ,.619 142

i'~

2'

35~

,t

..

.'0:'

...

..
~ "'C:ck..

Ii

---">

.Le

~a. c\c...

c.\.'" ~

11

1/

I""!>

e ..... ,...],;

0'5

11

"

Ir

O' Z.S SC'S ....,.,d Oj

.seJ ... ...,

fe = 1{
ID:: "1 I

Jo)

>e<3~'" t:>c.

"

c;p,.;.,..
co,~-.plM~:
.....,/. ~
_.
".)1
,......

f'L

113= 1

0<'

~.

(fo- e;ie'~~'p~/

11-.1' CdP"
'",
r-'
oc J,' Veo.

L"

..

'..J

'Ji

L."
~ ..
~C.r,
.~.~

r'
...

,.A -=.i
. I e(

Ce

o; )'~'"
~'A

>A ce...

;; ...
-. -

00

sel1c;ee.1

V&A-~J

fr'

pc...r/--r ~

ce..

~~)

'f

pt>~

lee.:.>.

CJt.

c.",e..fro

(.I.Jb.I")~O

de

c..,.... f.... ~ .. ,-

V4

o' z5;1I

e) ,
ter,>
o'"

Yl?~L)e.

oleJ

01

o'~

I
J

,dT I

t!J

"
O

"

v.... ,...., o)

"o

.<

C\.

4 5

~p';pe:c.e..,.

1:1.)

,jI'

=1s

,-

I
4i\

O
4r.

cI

C\.

1\

"'

'f

( cUf",fc... ;t.

CLK

Se"'c.e

U,II"

=.

1.00 ~ DiO

~ OOi

DO __

fe..

oi

~.10

SEPTIEMBRE 2007
PROBLEMA 4 (20 PUNTOS)
Se desea proteger los datos enviados por una lnea serie midosa, LS, mediante la insercin de un
cdigo de seguridad de 2 bits al fmal de cada palabra de 4 bits de datos enviados. Este cdigo de
seguridad se compondr atendiendo a las siguientes reglas:
Los 2 bits del cdigo de seguridad, SI SO, codificarn el nmero de '1' que a al'ecen en la ~-_ _
palabra de 4 bits de datos enviada.
EN e) VOl ... c..lr.. c\. c-t
La palabra de datos nunca ser el 1111. Ih...'1C... h.. h..( "1 "''''0)
,",CMe ~ A' "".... r.
El sistema dispone tambin de una sefal de habilitacin, EN, que es S111 rona con e re 0.1 y que
se activa a nivel alto cuando est listo el primer bit de la palabra de datos a enviar por la lnea
serie LS, indicando el inicio del proceso de generacin del cdigo de seguridad. En estado de
reposo, la sefal EN est a cero.
El cdigo de seguridad (SI SO) slo es vlido una vez que se han recibido los 4 bits completos.
Los bits SI SO tendrn una duracin equivalente al perodo de reloj y son sncronos con l.
Al tenninar de recibirse los cuatro bits, se debe generar una sefal activa a nivel alto llamada
. "Cdigo de seguridad vlido", CSV, que tendr la duracin de un ciclo de reloj.
Una vez que se ha generado el cdigo de seguridad y la sefal CSV, se vuelve a atender a la
sefal de entrada EN por lo que si EN est activada, se vuelve a proceSal' una nueva palabra de 4
bits yen caso contrario el sistema vuelve al estado de reposo.

4.1 Determine qu entradas y salidas tiene el sistema. (2 puntos)


4.2 Dibuje en un diagrama de tiempos, la fonna temporal de las entradas y las salidas para la palabra de
datos de 4 bits '0010'. (3 punros)
4.3 Dibuje una mquina de estados de Moare que genere el cdigo de seguridad, SI SO, Y la sellal CSV
_
e identifique cuntos estados tiene y cul es el significado de cada estado. (15 puntos)

lLt t

ENTI?.ADIH :

EN

S.

So

LS

L. J:

por 4.'1v{

'j '-"'p) de

GS'

Ci..iI\

Se.

EN:

E:'rv

)Lf. 2{

eL ..{

.,

1~ 1~ 1~ l .," l ~" l ~ l l
1 lXl><l><J
I

EN

LS

1-

1
I

www.monteroespinos~;es::.

(tlO

e... Cfer

),c.cc

e.J

'-{

t/j

c'-'e-Yle\"

J. . eh.. pOo..... 1"7"))

-",

-",

, t
,

cS'v

e,., In.,,, e... se,-.'t,

'-1 b: b

e..... pe r ..... I"toJ


=1

e>-

si

f'

ve. . .

,-

Clases de CEDG - Tfnos 91 5445377 , 619142355

C.$V:

fb'~ "'I.~,,( Sc..Cc u,,",

Ocl f~c) i>e

rc.e,;~;p e( "lO~;

f.

I~
l~

C\J~" ~'!>

1 bd

re ,;

vr?o}

6'-01>

Z b; ,~

re,: b,'c)IlJ

3 '!';h

re ,; b;boJ

,troj

Q{>

:
:

Oz

==

Ut1

oJ
\

Os

cp

he~

..

!c..,:C'.., ~t)

Vc..\ko,1

O, -

Q3

cp
\

Q6 =

u.-1
I

1 y ... .., ~'

UYJ

Q'1

==

'1'

vOJ
\

C>oJ \~ y ""1 '1'

Q1=

cl>oJ

~ ObJ

cJ> y

Ul1

Oi == trel 1
4 b; 1>

ttc.; b:~!.I

Qcr

c.vt.. ~fl)
I

Q1Z. ==

"''1 cp

, I

\ I

t>

01.0=
i/C.j

""el (/J Y

UI'!

I~ ,

QI/=

M Po,RtANJ':

Ac)t~l,

).,a.y

cp

' I

l'
CCJArRO

00)

~ eJP..~o 1~'I;e..,..e

cl!

repQJo,

ece

'1 f #

'1\0(

yI...,

Jc..e:~

TorAL:

p..f re,; 1,:,.

heo~'"

e..

,R:t...e..o'",

c. '"'f p (ek..

uf" ~o ,

G~ (J~II ,I",c.t.,..:r) to~ !~ X

e"..

~I >0

FEBRERO 2008
PROBLEMA 4 (20 PUNTOS)
Se pretende implementar una mquina de estados que controle el funcionamiento de dos semforos
en la salida de un aparcamiento pblico, segn el esquema de la Figura 4.

Seal A
(semforo
verde si A'="1",
rojo si A="O")

Sensor 1
(51)

SealB
(semforo
verde si 8="1",
rojo si 8="0")

Sensor 2
(82)
Figura 4

Para ello se dispone de:

e.tc..

ho.ce.

~r"l(

x..fk

po.r... 11"'-6....

!..(

una se'al de reloj (CLK) con un periodo de 15 segundos.


dos sensores de presencia/estacionamiento, entenados en el suelo, que detectan cuando un
coche est parado encima de ellos, activando dos seales activas a nivel alto; SI y S2 (si el
coche est en movimiento, el detector no detecta nada). Dichos sensores estn situados a
una distancia equivalente a la longitud de 3 coches por detrs de la lnea del semforo, y
tienen una superficie mayor gue la de un coche.
dos seales A y B que controlan las luces de dos semforos. Cuando cualquiera de ellas est
activa (a nivel alto) enciende la luz verde del semforo correspondiente.

El autmata debe funcionar de la siguiente manera:

,t

En condicin nonnal, de poco trfico, los semforos estn en verde durante 1 minuto cada uno,
alternndose. Este modo de funcionamiento cambia si en una de las dos salidas se acumulan coches
mientras est dicho semforo en rojo. En el momento que la cola de coches parados llegue hasta la
posicin donde se encuentra el sensor de presencia/estacionamiento, el semforo de dicha salida se
pondr en verde en el prximo f1anco de subida de la se'al de reloj (CLK).
Tenga en cuenta 10 siguientes matices:

Cualquiera de los dos semforos estar verde durante un tiempo mnimo de 30 segundos y
un tiempo mximo de 1 minuto.
Los dos semforos nunca podrn estar en verde o en rojo simultneamente.

4.1 Dibuje el diagrama de estados de dicho sistema de control utilizando una mquina tipo Moore.
Indique CLARAMENTE los estados, las entradas y las salidas. (20 puntos)
www.monteroespinosa.es - Clases de CEDG - Tfnos 91 544 53 77 , 619142355

5'1 ....... ", A.


S2 ........... ~

.i 5s

e", vtrcX!

eo.\"; ).:..

pe",Sc..""Ol
M(

c .. c:"~

c>.... ;'j....(

ftAJ ... ,....)

e., 'l'l

i:e

WI

,Se"";,J.. r.
y~

f'<J{

C4.

off"o

f"'o", I'-'1"';" e_

/-',c"l( '1" I!ll",(

't "" q";

"t(~

A,

c"'~ se"''$o,-o). A ,...,.};r ~)

t!'J ~c-..,).,

C!kc., h."'t'"

k :

Vq.""J

"Su, ... er

~"

ce ol,/) sc:,,u,

fDtu,'.. ~Co/,(r

e..

~}e.,l~"c.

Es f/).VI;)~
d Al

e.

(o ....

~1

B,

('" 4'(

Af1

E"

4-.).

ec..~A.. )
30

Le re.. ~CL

ver.':t

13 I Ile4(

el fui

ef. ofr. .se"".,"

tlCl

!e..,er

yvtt:

11o,!

Cotl

ee

ee
o..e

olro)

'.(

CDJI

Je,'""" il.) e.

'3D

"1,,.

o/ro e" Sor CH.';",... c)" ( c)( c.t

sel'7';:Joo~

e ..

Cc..,-;'",,~

e ..

~\

Q3

"1,( p...j (

11

Me 6.,. I.,~,P

C~,.

pc..)(

.s '(

VI..

e.etoA

C'J

fc...~o

pCII. ..... 'ja..rl4."" J; ~co. r

Q~

"''''

Cc.v,

Q"1 ll

,., ,''''' ,.........

i}e

ve.r~e

OLf

S"e,...,;;.Jo."o A e"
11

QT

,,,,

v(r.lt

ef pr.,..er

Qo

leA..!" ,"

fe.... J~,... eo.......

""1 e.> k

pr;,o..er e!lf.. ~ ixJ.e o/ro

el .. ~il>

vtr~(

",t

;<j-..t

r(

po,) (

1'.:>.'

vtrh

II

Ver~('

Os

ojD

Q6

Q.,

S"e .....:'J..,'\>

"

A
f>

e.-, rOJ'o

"

"er.)f

FEBRERO 2009
PROBLEMA 4 (25 PUNTOS)
Se quiere realizar el mecanismo de control de puertas de entrada y salida de una nave espacial. En
la Figura 6 est representado un esquema del mismo. Entre el interior de la nave y el exterior, existe
una cmara intermedia de compensacin de presin con dos puertas, controladas por seales lgicas
Al y A2, que separan el interior de la nave del exterior. Al activar a nivel alto cualquiera de estas
dos seales, la puerta correspondiente se abre en un tiempo despreciable. Cuando se desactivan
estas seales, la puerta correspondiente se cierra en un tiempo despreciable. Existen tambin dos
pulsadores, el pulsador A, accesible desde dentro de la nave y desde la cmara intermedia, y el
pulsador B accesible desde dentro de la cmara intermedia y desde fuera de la nave. Tambin
existen un extractor de aire, controlada por una seal lgica E, cuya misin es extraer el aire de la
cmara de compensacin (cuando se activa E a nivel alto) y un impulsor de aire, controlada por
una seal lgica 1 cuya misin es insuflar aire a la cmara de compensacin (cuando se activa 1 a
nivel alto). La presin dentro de la nave es P >0 y la presin fuera de la nave es P=O. Asimismo en
el interior de la cmara de compensacin tenemos un sensor de presin SI SO que tiene tres posibles
salidas: Si SI SO vale 00 la presin en la cmara es O, si vale 01 la presin en la cmara est entre
Oy P y si vale 11, la presin en la cmara es igual a P.

sensor de
presin

(51

SO)-----I~

A1

interior
nave
espacial

exterior
(espacio)

cmara
compensacin

1
i~p~lsor/

ae aire

Figura 6
El sistema debe funcionar de la siguiente manera:

1. En el estado de reposo las dos puertas Al y A2 se encuentran cerradas (Al=O y A2=0).


2. Cuando un astronauta que se encuentra dentro de la nave quiera salir al exterior, primero
debe pulsar el botn A. - La pulsacin de A ser de duracin suficiente para que sea
registrada correctamente en el siguiente flanco de reloj. En ese instante el impulsor de aire
empezar a llenar la cmara de compensacin con aire hasta que la presin interna dentro de
la misma sea P.
3. Cuando la presin en la cmara de compensacin sea P, se abrir la puerta Al y se
mantendr abierta durante 5 segundos, cerrndose a continuacin. Durante esos 5 segundos,
se supone que el astronauta puede entrar en la cmara de compensacin.
4. A continuacin el astronauta puede pulsar B. La pulsacin de B ser de duracin suficiente
para que sea registrada correctamente en el siguiente flanco de reloj. En ese instante el
extractor de aire empieza a actuar hasta que la presin en la cmara sea O. Si durante este
tiempo, el astronauta pulsa A, se pasar a la situacin del punto 2.

www.monteroespinosa.es - Clases de CEDG - Tfnos 91 5445377 , 619142355

5. Cuando la presin dentro de la cmara de compensacin se iguala a 0, se abrir la puerta A2


y se mantendr abierta durante 5 segundos, cerrndose a continuacin. Durante esos 5
segundos, se supone que el astronauta sale de la cmara de compensacin hacia el espacio
exterior.
Alternativamente, si el astronauta est fuera de la nave y quiere volver al interior de la misma:
Primero deber pulsar el botn B, que se encuentra fuera de la nave. La pulsacin de B ser
de duracin suficiente para que sea registrada correctamente en el siguiente flanco de reloj.
En ese instante el extractor de aire empieza a actuar hasta que la presin en la cmara de
compensacin sea O.
Cuando la presin en la cmara de compensacn sea 0, se abrir la puerta Al y se
mantendr abierta durante 5 segundos, cerrndose a continuacin. Durante esos 5 segundos,
se supone que el astronauta puede entrar en la cmara de compensacin.
8. A continuacin, el astronauta deber pulsar el botn A repitindose 10 apuntado en los
i acin del unto 6.
puntos 2 y 3. En caso de ue ulsase
y se
9. Cuando la preSlOn en a cmara de compensacin sea .P, se abrir la puerta
mantendr abierta durante 5 segundos, cerrndose a continuacin. Durante esos 5 segundos,
se supone que el astrona:uta puede volver a entrar en. la nave.

Para implementar este sistema se dispone de una seal de reloj de 5 segundos de periodo.
Nota. Nunca pueden pulsarse simultneamente los pulsadores A y B.

4.1 Indique CLARAMENTE cules son las entradas y las salidas de la mquina de Moare que
controla el funcionamiento de este sistema. (2 puntos)
4.2 Dibujar el diagrama de transiciones de estados de una mquina de Moare que realice el circuito
descrito. Explique CLARAMENTE el significado de cada una de las entradas, de cada uno de los
estados y de cada una de las salidas. (15 puntos)

4.3 Suponga ahora que las puertas Al y Al no se abren ni cierran en un tiempo despreciable SL'10
que tardan 10 segundos en abrirse cerrarse. En este apartado, mientras se est abriendo o cerrando
alguna de las puertas, el sistema ignora cualquier pulsacin de A B. Dibuje ahora el nuevo
diagrama de estados de la mquina de Moore. Para cada estado explique 10 que significa el mismo y
la salida que se obtiene. (8 puntos)

www.monteroespinosa.es - Clases de CEDG - Tfnos 91 5445377

619142355

Ai,l\t/~/I

L ., .--. :

xxxx
io

07-Xi

~=;)0 p-'" ilt

0).( '\1..(. ,,.


IL

r-L"

e><fr,er v..>k DO

)<

01 xx

~~ ,..tI..

6, SilVA<:'" @

Oy.....)

XOII

OXoo

,,'" r....eJ ..r A

Q~ _

p..ort... A{ e..~; e.. t.. I 5 se.:t"""~~

Q~

e"h-.. ye..,&>,

o..I\-r

k.J~"

"fo.(

l! c.:.. f.:.)
P=o

""~~1l
Y

'1<1

pn:,;"o'"

l'

,( ;x r-.7<

bXX1.

10xx

OixX

Oxoo

>,CM>'

;xxxx

FEBRERO 2005

Problema 5

A continuacin se describe un componente en lenguaje VHDL.

b~~ ""t'CY"O\"()
~ ~ec.utct. en

library IEEE;
use IEEE.stdJogic_1164.ali;
use IEEE.stdJogic_arlth.all;
entity V74xxxx is
port (CLK, CLR_L, LO_L, ENP, ENT: in STO_LOGIC;
O: in UNSIGNED (3 downto O);
O: out UNSIGNEO (3 downto O);
RCO: out STOJOGIC );
end V7 4xxxx;
architecture V74xxx_arch ofV74xxxx is
signallO: UNSIGNEO (3 downto O);
begin
- \
process (,9 L15, ENT, I ~ en T~I do.d no ~nd,Cl....
begin
~ if (CLK'event and CLK='1') then
2 if CLR_L='Q' then 19 <= I'(o';:
+ th':"::e:':":r~
s -=->-:-'o-::')"";/ __
';> Sisnirlco.. ::'U"e. ponemos
s elsif LO_L='Q' then 10 <- O; ~
l t::t:QO'2:. lo~ bit::, de m o.. CG\..O,
l elsif (ENT and ENP)='1' thenlO <= 10 + 1;
L. C.LRsnc~no o.c!::iVQ Q n'lve.1 ~
5 end'f If;
.
pOne.. Lo...
do- Q. ~
I
b en d 1;
LD sncrono a.cDvo oif (IQ=15) and (ENT='1') then Reo <= '1';
else RCO <='0';
(llve.L , Q.O.v;p- DenLo.w..lich
end ir
cuent o.. OJ::lCen ~ n te c.lo..oclo
r~ O <= 10; - -, co.cn.. \Q en Lo. m..lIdct.
EN' = ENP= ~

<

9-lcLY'C..() t

to.

d
l\jodefBnde.

\~C. meV1~<-,--+\--,----t

de 014<: perod.e~ndede

I Q.. ~ I Q d~ CLk...
Qca oca \.O o.. T"live,Lt S\.lle.

i ~ d.1l ,p '(\0..). ck <:\lc:nto.


li) I-\QIo, Li ta..c1o pe-< El-JT

u -

t::

O-\)

~l:

"

end process;
'- end V74xxx_arch;

Nota: El tipo UNSIGNED es equivalente al tipo STD_ LOGIC_VECTOR que permite la funcin adicional "+"
que es la funcin "suma de nmeros naturales".

5.1 Sobre el bloque de la Figura 5, dibuje las entradas y salidas del componente y explique detalladamente su
funcionamiento.
Nota: Las entradas se dibujan a la izquierda y las salidas a la derecha del bloque.

5.2 Modifique el cdigo VHDL para que:


a) El reloj se active con el flanco de bajada.
b) La seal RCO sea activa a nivel bajo.
c) Funcione en mdulo 10. En este caso, la seal RCO debe ser activa cuando el componente est en su ltimo
estado.

Stlt

----'
71

es

U(\

(ot\~)c.{

(-SC

e(~e.hl. vYl~ u.\o U~((\J ev,l.o.. d-e.

, GIl(

'

.4

, CLR-L

aa~ .
<So

t.l"

u
www.monteroespinosa.com - Clases de CEDG - Tfnos 91 54831 78 , 619 142 355

[ C\

lS)

,
\..l ('\

Rco <=--=

,
1;

q '" --\~el'\
'-(,\

\~ ~ ~= ~ -\he",

\. e

\.se. Te; c:=~ (t':J t~rS

I'Q,-:-&!\-'

\'0' ) ;

4 ..5

fl"} \ \;
S e'\a 'i.~;

'1 ,~

\1 Q ~ q) cu~

(.t-;:. \ l.')

~'-"ev ~o ::: \ \'

FEBRERO 2006

( \ PROBLEMA 5 (10 PUNTOS)

Muy

Jc;(,

pWr.Qr?p(Pr.r

VI-lPl

(Cc>"",b;..,c.c:o~

.:Le) )'ut) DI. 12je,.., I't:., d,( dc..J'C.

Consideremos el siguiente fragmento de un mdulo hardware descrito en VHDL.


library ieee;
use ieee.std_logic_1164.all;
use ieee.std logic arith.all;
use ieee.std=logic=unsigned.all;
entity XXXXX is
port (

AA:
BB:
CC:
DD:

in std_logic_vector(5 downto O);


in std logic vector(5 downto O);
out stct logi-;;
out std_logic_vector(5 downto O)

) ;

end XXXXX;
architecture behv of XXXX~ is
signal result:

pt<!'}""t.... 53 . (h!o\l"jU ro-

std_lOgiC_vector~ownto

v>1

6'0'" eoft.sl!)

O);

begin
resul t <= (' O" & AA) + ( , o'
DD <= result(5 downto O);
ce <= result(6);

&

BB);

end behv;

Tener en cuenta que el operador '&' pennite la concatenacin de cadenas de bits.


(por ejemplo, '1' & '0011 '= '10011 ').

5.1 Dibujar en el bloque de la Figura 6la interfaz del mdulo hardware (puertos de entrada y
salida), colocando las entradas a fa izquierda y las salidas a la derecha. (1 punto)

ce
AA~

DH

Bl5

Figura 6
i~.'

www.monteroespinosa.com - Clases de EDIG - Tfnos 91 544 53 77 , 619 142355

5.2 Cul es la funcin que realiza el circuito? Es decir, qu mdulo hardware estamos definiendo?
(1 punto)

5.3 Cul debiera ser el valor de 'N' en el tamao de la seal result? (Justificar la respuesta). (2
puntos)

W debe.

6,

Vea.eer

C0r"10

V-(!t"7OJ

e..

eJ~o, J.~ .et...mrj

ce
A~~),

..

At"'IhJ

lit'..

reJ ..fI

c....

s... ,..,..

VI'!

()e

"j ~I.,),. el

re.J...e fc.Oo k

)c-pkf."oo 1; ~ ext.-o..

6 b; h

M;',

&l.C&A

fe. Sul"7c\.

ek d.t

t cp J. AA, \ 4>' g
I

ni>('1fI\)J

J3 B). A4

e(!

q~(~...

b b Ij I

lo",c.1-e ~

d .. 'b 'i,t

kl't! . .

D)

rre o .

Despus de la fase de sntesis, la implementacin con puelias lgicas de otro mdulo hardware es el
representado en la Figura 7.

""r
......kri .., .If!

no.~

AA

--~------------~----~ A

ce

BB

:z

Figura 7

www.monteroespinosa.com - Clases de EDIG - Tfnos 91 5445377 , 619142355

Ce;,

ef

i _)

$ALiM

.s

'l'l.

5.4 Complete, rellenando las casillas necesarias que aparecen en trazo discontinuo, el siguiente
fragmento de cdigo VHDL de fOUlla que defina el esquemtico de la figura 7. (3 puntos).

(\

library ieee;
use ieee.std_logic 1164.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;
entity XXXXX is
port (

AA:

BB:

ee:

in std_logic
in std_logic
out std_logic

end XXXXX
architecture syn of XXXXX is
1

component NAND2
port( A, B : in std_logic
end component i

component INV
port( A : in std_logic
6 end component

Z: 'out std_logic)

S
q
10

1\
IL

component OR2
port( A, B
end component
component AND3
port( A, B,
end component

out std_logic)

in std_logic

out std_logic)

in std_logici

out std_logic)

declaracin de seales
11

r'

"0':' ";ij:;:!l'i~"""""" ............... :


L.:!~~~~ .. !-..:. !.1~:: f~\~, __ ", __ "" __ ., ____ , ____ ,. j
L,!~~~~.. X.: ..~!~"e~!l~~ __ .,. __ ., __ ,. __ ...... ____ .. j
~i~~~f

~-----------------._-------------------------------~

l'i
1~

begin

/!

It

'i";' 'AND2-- p;';;t"

ffi"ap:-- '(::;--, AA' --';' :'B~>--i3'i ----~ --;'2;:':;-- --q.--. --, --);':"""""""""

-____________________________________

__ o

'C)s

U2: INV port map


U3: OR2 port map

____________________

: (A=>
. (A=>

__________________ l ______________________

13B

, : Z=>

) :

JI.

"

R
B=> AA

"

~"" _
________ ______________

------------------------------------t----------------- ---7------------------T----------------------~-------- -------.-------

I'l

Z=> S

) ,

"".', ' j;' 'ND"3' 'p' ort' roa'p'-- '!'--(A;;; --.~-- -- --, '~'B~>' S' --,. ----t'C:':;-- SR----"" --;' z':;; ,'ce' --,."

lo

........................................... '" ................................................. .! ........................................... ......'_ .. "! ....................................... !

.... !. ....................

.)':--

"10 ..... ................ .... ' .......1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

! ... ..

end syn;

:al

5.5 Indicar qu modificaciones deberan realizarse en el cdigo anterior para obtener la versin
negada de la salida en lugar de la versin implementada. (3 puntos)
i[

r?;:/
f2l

)"Jf.lo;r

'0

eL

A.;",o; ....... , ..ul HOT ( J,.~

ANB por NANj)J :

cC"'p.t1I!~

NAND3

~-)-II-y-ll-i-j
....-e-,s;-,,., ....

15L;J

2.e

2o~iJ

'1'( "'... ..,1.;..,

ec,,(Clo..
,i:}"J T: sl.Ll?..,it
\.I

\,

AND3

LJS: ;f,J\!

www.monteroespinosa.com - Clases de EDIG - Tfnos 91 5445377

o..

ee Gb,.,,cttt",rt,
L pe"ti s'

Ut; ...,td:a.,,~ .......

1'<.( ...

619142355

.lI!';,,(

"M-,

lJ5

o,,,,.e..
'

,Pc<~""'r iA.=?Q( 13~)5, e =:1513,

r... f "'Ar \A =) T, t

,.

o."'..o.r

=~ ce)

e =) T)

NoY;EI1~ItE

(\

101 I

PROBLEMA 3 (30'PUNTOS)
Consideremos el siguiente circuito electrnico.

salida(6)

.......
ro

1J)
I~

ro

"'C

ca

<1)

"'O

FPGA

:"Q

ro

ca

CJ)

-ro

, sa.lida(O)

<1)

~
ro

ro

ro

ro
<1)

<1)

salida(3)

lJ.

..

En la FPGA se"sintetiia "l 'siguIente fragmento de un mdulo hardware descrito en VHDL,


compuesto de dos submdulos:
COrt'l

P. i

Esh. ,.,.. c1..R..

library IEEE;
use IEEE.STD LOGIC_1164.ALL;

leo""

A,''ji ~~

entity comp1 is
port (
input : in std logic vector(3 downto O);

"J

de.

W4 ,c.Aj:, ... dc. r Je 8(. D c.. i .s'1~,,,tD)

err-or)

Ioutput , out std_logic_vector(6 downto ~~~r~I"I~I"I-'I'I'f'l


end comp1;

_______

scJ';,\p.~,)

sc.t.l.. to)

architecture Behavioral of comP1-is

, ._

begin
with

input select output <=

1_ _ 1 ~)

f~ .=(

::~ii~~~~:: :~:~ ::~~~~:::~


..
VJ /./
,f~-.)J. .1-:
_1

""h

"1101101" when "0010"

::~~~~~~~:: :~:~ ::~~~~>~ ,_., ~:~.J

"1011011"
"1011111"
"1110000"
"1111111"
"1111011"
"1001111 ff
"0000000"
end Behavioral;

when
when
when
when
when
when
when

"0101":~'

"0110ff,~--""
"0111" ,_
,1;
"1000",e_j'
(
"1001",~

,-

:1

I-,I_i

"1111" 1'._ ~i
others; t -

i-=:'
-

.1;,; f .!.t

erro;

,"r~ e~

L!" frA<:!L

1~ ~

COME 2.

library IEEE;
use IEEE.STO_LOGIC_1164.ALL;
entity f2!!lp.2 is
port(
C:
A,B:

Y:
);

I,r:

Es~e ~;c.ho

e~

kt.) cIt t.

bi b

2)<

''''1 Y"\of Ji" ft)Cor

t:o.a..

111'\ ..

, el, d ..) , e..~r.... J"'J

, ""'c.. e-.Ir..~ ~ 'o",~",f ~

,..,

),}, '1

()

,,'

I.J"'' ' s...e;cl.. c.e 4 bib

"--,'

in STO LOGIC; - f ; L1 fCA.I, el.{ >, ~r( ~ ~ b;~


in STD- LOGIC- VECTOR (3 downto O);~ 2
out STO- LOGIC- VECTOR (3 downto O)~ :1
,-

i!4

h. . d.,

ell 'f

Ff;<t. d,

b; 1, coJ. "......

----

'-( b;I,

end comp2;
architecture comp] _ beh of comPl is

f1I.,,.. l).\

"

I?...-A' Y

begin

1
with C select Y <=
A when ' O' ,
B when '1' ,
(others =>' O') when others
end comp2_beh;

e. t.bc .:I,

I
llbrary IEEE;
use IEEE.STO LOGIC_1164.ALL;

vtrcU dt. "" Hu" 2 X 1

15

e.f,.A.)

()
,
,

ec:l;~

in STO LOGIC_VECTOR(3 downto O);


s:
in STO_LOGIC;
salida: out STO LOGIC'VECTOR (6 downto O)

) ;

Co ... pt

end edig;

t2

'"

"1-

.Q

d.

~
~

of edig is

S.;. ....
".,.,-

signal aux: STO_LOGIC_VECTOR (3 downto O);

,,;t"'"

to~,<~v-

Cot?pi

/4J'/.

~g ~

'f ,'b , .....

~
O

entity edig is
port(
da.to:'

archi tecture

~o~T" e,.

ft'J'

C. ....pi

'Y c.,,.,,~

:;,

'~

"-

::.
O

I component compl

port(
input
in std logic vector (3 downtoD); I
:
output
out std_logic_vector (6 downto O));:
I end component;
j
- - - - - - - - - - - - - - --component comp1.
port(
in STO LOGIC;
C:
A,B: in STO LOGIC VECTOR (3 downto O);
({:
out STD_LOGIe_VECTOR (3 downto O));
(
I-.:n~ c~mponent; _
I
I

------

-----,

begin
Ul: comp2 port map(s,dato,"llll",aux);
U2: compl port map(aux,salida);

3.1 Explique razonadamente la funcionalidad del los mdulos compl y comp2, indicando en un
esquema de bloques las entradas y salidas de cada mdulo. (10 puntos)
Nota. Dispone de una copia (reducida en 2 pginas en una) del cdigo VHDL de este problema en la ltima
pgina de este examen, a modo de Anexo, que puede arrancar para poder trabajar ms cmodamente con l.
(

3.2 Explique razonadamente la funcionalidad' del circuito completo. (10 puntos)


3.3 Modifique el circuito para que incorpore una seal de reset (activa a nivel alto) que ponga todas
las salidas a 'l' cuando se active. (10 puntos)

,,-,

3.1 Explique razonadamente la funcionalidad del los mdulos compl y comp2, indicand en un
esquema de bloques las entradas y salidas de cada mdulo. (10 puntos)
Nota. Dispone de una copia (reducida en 2 pginas en una) del cdigo VHDL de este problema en la ltima
pgina de este examen, a modo de Anexo, que puede arrancar para poder trabajar ms cmodamente con l.

El mdulo compl es un decodificador BCD - 7 segmentos con un cdigo especial de error


para la entrada "1111" que muestra en el display la letra "E".

El mdulo comp2 es un multiplexor de dos entrada de datos de 4 bits cada una, una entrada
de control y una salida de datos de 4 bits.
3.2 Explique razonadamente la funcionalidad del circuito completo. (10 puntos)

El circuito digital controla el display de 7 segmentos. Segn en valor de la entrada de control


muestra el cdigo BCD de la entrada en el display (entrada de controlO) o bien muestra la
letra "E" (entrada de controll).

3.3 Modifique el circuito para que incorpore una seal de reset (activa a nivel alto) que ponga todas
las salidas a '1' cuando se active. (10 puntos)

Una posible solucin, aunque no la nica, sera la siguiente:

ce..J! (dt

entity comp.l is
port (
input: in std logic vector(3 downto O);
rst: in std_logic;
output : out std_logic_vector(6 downto O)

c.;:cl: 1" pro'(edoelo

e... t<. p; c. . tr... ( y e,

) ;

end com~l;
~
~~~'~~.~~~~~~~~~--archl tecture J:lehaVlOral or comp lS
Ario.d:f'N)~o.... e.J.... ~ re..Jd
begin
(
if (rst = '1') then
tl:
C.l>ir-(d,~ I3,cD -.1 75.,,.,,
output <= "1111111";
~ "'/"( poflf. ''"P r.l.:cl
I
A
... '1
a.'~;"""'J(
end if;

",e

entity edig is
porte
dato: in STO_LOGrC VECTOR(3 downto O);
s: in STO_LOGrC;
reset: in STD_LOGIC;
salida: out STO LOGrC VECTOR (6 downto O)
) ;

end edig;
component compl port (input: in std logic vector(3 downto O);rst: in
std_logic_vector; output : out std~logic_vector(6 downto O));end component;
U2: compl port map(aux,reset,salida);

61'1 /Y2. 355

CEDO - Septiembre 2011

(\

Pgina 9 de 10

PROBLEMA 5 (15 PUNTOS)


5.1. Razone cul de las dos opciones Ca b) consigue intercambiar los valores iniciales de los
objetos codigol y codigo2. Por qu? (5 puntos)
Opcin a:
process
variable codigol : integer := 57;
variable codigo2 : integer := 92;
begin
codigol := codigo2;
codigo2 := codigol;
wait;
end process;

Opcin b:

Signal codigol: integer := 57;


signal codigo2 : integer := 92;
process (codigol, codigo2)
begin
codigol <= codigo2
codigo2 <= codigol;
end process;

Las variables se asignan de manera inmediata mientras que la


seales se asignan simultneamente al finalizar el proceso
concurrente (process).
Por lo tanto, para intercambiar los valores iniciales de los
objetos se utilizar la opcin b. En la opcin a los objetos
siempre toman el mismo valor.

CEDG - Septiembre 2011

Pgina 10 de 10

5.2. Describa razonadamente la funcionalidad del siguiente circuito, indicando claramente la


funcionalidad de todas las entradas y salidas: (10 puntos)
library ieee;
use ieee.std_logic_1164.all;
entity cedg is
port(clk, input: in std_logic;
linput: in std_logic_ vector (7 dO'tmto O);
len: in std logic;
sr: in std_Iogici
output : out std_logic);
end cedg;
architecture archi of cedg is
signal tmp: std_logic_vector(7 dOvlDto O);
begin
process (clk,srl
begin
if sr ='1' then
tmp <= (others => 'O');
elsif len = '1' then
tmp <= linput
elsif clk'event and clk='l' then
tmp <= tmp(6 downto O) & input;
end if;
end processi
output <= tmp(7);
end archi

El circuito descrito es un registro de desplazamiento de 8 bits,


con entrada/salida serie y carga en paralelo y reset asncrono.
Funcionalidad de las entradas y salidas:
clk: entrada de reloj
input: entrada al registro de desplazamiento serie
linput: carga de 8 bits en paralelo del registro. La carga se
.produce cuando len est activo de manera sncrona.
len: activacin de la carga en paralelo, se produce de manera
sncrona.
sr: reset asncrono. Inicializa el registro a "00000000"
ouput: salida serie del registro de desplazamiento (bit ms
significativo)

ENERO 2012

{\:

PROBLEMA 1 (20 PUNTOS)


1.1 En un sistema que trabaja con aritmtica de 4 bits, se dispone de dos nmeros A y B de 4 bits
expresados en complemento a dos ([A3 .. AO] y [B3 .. BO]) y de dos bits de control SO y SI. Se quiere
constmir un circuito que realice las siguientes operaciones en funcin de los bits de control:

SO

SI

OPERA.CIN

A+B

-A-B

B-A

A-B

Se dispone para ello exclusivamente de los sumadores completos de la figura y puertas XOR.
Implemente, de manera justificada, el circuito que lleva a cabo las operaciones deseadas.
(15 puntos)

:(

" ((.ut

(U)

'(
;

,<:.:.ut

(in
S.

L
www.monteroespinosa.com - Clases de EDIG - Tfnos 91 5445377 , 619142355

('

1.2 Explique cul o cuales de los siguientes cdigos de VHDL sintetizan el circuito descrito en el
primer apartado. Justifique razonadamente su respuesta. (5 puntos)

~~~::Qi:e,f

use ieee.std logic 1164.all;


use ieee.std=logic=unsigned.all:

entitv adders 1 is
o~rt (A, B :- in std logic vector (3 downto O);
s: in sta logic vector (1 ao\mto O);
Q: out integer);
end. adders 1;

entity adders 2 is
port (11., B : in std logie vctor (3 do'tmto O);
s: in st.d logic vector(1. downto O);
Q: out integeri;
end adders 2;

architectur; arehi or adders 1 is


I sl.gnal t~IP; integer; I -

architecture archi oI adders - 2 is


Ivariable tmp: inteaer; I
begin

regin

~~~a~:Qi~e"V

use i.eee.sta logie 1164.0.11;


use ieee.std=logic=unsigned.all;

PROCESS(A,B,S)
BEGIN
CASE S 18
W'HEN
vlH.EN

noon
ffOl n

=>
=>

"10" =>
"11" =>
OJEEN O'1'HERS =>
END CASE;
END PROCESS;
WHEN
WHEN

bnp

tmp
tmp
tmp
tmp

<= A + B;
<= -A-B;
<= B-A;

<= A-E;

tiREN

"11"

=>

tmp.- A + B;

=>

tmp:=

=>
=>

tmp:= E-A;

WHEN O'I'HERS =>


END CASE;

<= O;
Q

t.mp.-

A-B;

tmp.

O;

<= tmp;

end archi;

CDlGOC

><

library ieee;
use ieee.sta logic 1164.all;
use ieee.std=logc::::uIlsigned.a11;
entity adders 3 is
port{A,B: in std_logic_vector(3 downto O);
s: in std_logic_vector{l downto O);
Q : out integer);
na adders 3;

FP6A

"00"

-mEN "01"
WHEN "lO"
WHEN "11"
WHEN OTHERS
F..ND CASE;
END PROCESS;

Q <= tmp;

=>
=>
=>
=>

=>

tmp
tmp
bnp
tmp
tmp

c.;~i":),:)

cu-.G";erA dt

el

:1 PROCESS (lt,B)
BEGIN
CASE S 15

Ef.

tlo. fe~e

.s:c-.,; ,.;e:c.cl I plr e. '1 ....

arch.itecture archi of adders 3 is


signa1 tmp: int.eger;
begin

\~H.EN

-~lt-B:

END PROCESS;

<= bnp;

end archi;

'0

.-

,-

VARiA$L

PROCESS(A,B,S)
BEGIN
CASE S I5
WHEN "OO'f
WHEN "01'1
WHEN 1' l0 n

o PE 1U\c. i rJ

<= B-A;

110 GlJ

CD;r;Q

e.

fr~a.'tt:..

oSt

e.. e:l fe.

c.:..rob: o e.,

c--I-r",~

e.J r~J

h':'Jlt. 10(

el

el~f

v,,",

c&""r:"'~,,- ~A~;"'~'"

c;rc.. ;to

r'Atb. ... ~

Por

<= A + B;
<= -A-B;

S e""

N'O

~t

vd.... k

le"i,)o er. cc.>'\t.... :

() 'fra. cio....
V" ' ....

Mb."

RfAl.;'l'/t

L.,q

q \,( ~~l-.

A B

&)

lEO Uf; Rf:tI ~

<= A-E;

<= O;

Lo) ei'Ji1") A '1 8 cc>r~c..

f... ()pcrcoc: ..~ ,.... 1'" tt!1"Ml"

end archi;

"".... be->

C.)

e(

ulo

j-..rd.r ~l tc).f~... Oo

"""

C)

h ID bec. Mo.., ~

CI)~'" e~h"t

(JI.. ",,;&..

v_,..-~~ o

kMpon..f. t-.

tc ... l':l.......

LA.

SeHd

(JI..J; j"'Go~S1

po.lt

clt

v.. i."~~J sr. },.. c.t i4M&d:.:o.h.r-.lt t'1'c..p..) 9" (... "'>S';' ....b
k .re;",eeJ se. },l-~ .. Cj....c ..Ir! P"'<5='J ( P'~ Y:e..~ e(",~
L")h. *' A)d... J.. Cbrn:d'!:! $""':o"",,,.,:e-.fo der e:,.,v:to,
'
www.monteroespinosa.com - Clases de EDIG - Tfnos 91 544 53 77 , 619 142355

NOVIEMBRE 2012

PROBLEMA 3 (30 PUNTOS)


El siguiente mdulo est descrito en VHDL y sintetizado en una FPGA.
1ibrary IEEE;
use IEEE.STD LOGIC_1164.ALLi

entitl; comp1 is
in STD
port ( A :
se1: in STD
E:
in STD
Y: out STD
end comp1

LOGIC_VECTOR (3 do"mto O)
LOGIC- VECTOR (1 downto O) ;
LOGIC
LOGIC) ;

architecture beh_comp1 of comp1 is


signa1 aux1: STD_LOGIC
begin
with se1 se1ect aux1 <=
A(O) when "00",
A(l) when "01",
A(2) when "la",
A(3) when "11",
'O' when othersi
y

E"

~,

10

CY

scl"l. y
)(

'"

A,,-

lb

k~

<= aux1 AND E

end beh_compl;
'-"-

""

y----

entity comp2 is port

(A :
8e1:
E:
Y:

in STD_LOGIC_VECTOR(3 downto O);


in STD_LOGIC_VECTOR(l downto O)
in STD LOGIC;
out STD_LOGIC);

end comp2
architecture beh_comp2 of comp2 is

()
! .

''-=- ~\. seto Ao-4 ~ 5e\o .A. \-\


-\-(.e.\.40 Az 4sl \Qo A-:,
se1(1)) OR
I

begin

Y <= E AND ( A(O) AND (NOT 8e1(0)) AND (NOT

A(l) AND se1(0) AND (NOT se1(1)) OR


A(2) AND NOT(se1(0)) AND se1(1)
OR
A(3) AND se1(0) AND se1(1)) i
end beh_comp2

- K -----)( - - entity comp3 is


port (11,12 :in STD_LOGIC
Y: out STD_LOGIC)
end comp3
architecture beh_comp3 of cornp3 is
begin
(

Y <= I1 OR I2

\..----/

www.monteroespinosa.com - Clases de EDIG - Tfnos 91 5445377

619142355

entity

(---

comp4 is

-----=~-=-por,- (1 :in STD_LOG1C

Y: out STD_LOG1C)
end comp4;
architecture beh_comp4 of comp4 is
begin
y <= NOT 1;

end beh_ comp4;

entity noviembre is
Port ( data : in STD_LOG1C_VECTOR (7 downto O);
STD LOG1C VECTOR (2 downto O);
sel : in
f: out STD_LOG1C) ;
end noviembre;

(l
i --

architecture Behaviora1 of noviembre is


signal auxl, aux2, aux3: STD_LOG1C;
component compl port (A :in STD_LOG1C_VECTOR (3 do . . mto O);
se1: in STD LOG1C VECTOR (1 downto O);
E: in STD_LOG1C;
Y: out STD_LOG1C)
end component;

component comp2 port(A :in STD_LOG1C_VECTOR (3 downto O);


se1: in STD LOG1C VECTOR (1 downto O);
E: in STD LOG1C;
Y: out STD_LOG1C);
end component;

()

component comp3 port(1l,12 :in STD_LOG1C;


Y:out STD_LOG1C)
end component;

component comp4 port(I :in STD_LOG1C;


Y: out STD_LOG1C);
end component

begin
Ul:
U2:
U3:
U4:

comp1
comp2
comp3
comp4

port
port
port
port

map
map
map
map

(data(3 downto 0),3e1(1 downto O) ,auxl,aux2)


(data(7 downto 4),3e1(1 do . . mto O), 3el (2), aux3)
(aux2, aux3, f)
(3e1(2), auxl)

end Behavioral

www.monteroespinosa.com - Clases de EDIG - Tfnos 91 5445377 , 619142355

('

3.1 Dibuje un esquema de bloques de cada uno de los mdulos (compl, comp2, comp3 y comp4)
identificando claramente sus entradas y sus salidas y explique razonadamente la funcionalidad de
cada uno de los mdulos (15 puntos)
Nota. Dispone de una hoja"alleXO al final del examen con el cdigo VHDL comprimido en una nica hoja, que puede anancar para
trabajar con l ms fcilmente.

Esquema de Bloques de cada uno de los mdulos.


comp 1

comp 2

--It:

.
"'-z
- "'A.-...
'1

~ ~~
_ A,

:::l ".

-'1:

'1 r--

A.-s

t-

.E

~'seL.
\l

~) ~'l

l I
comp 4

comp 3

J-

~T.

=JFuncionalidad de cada uno de los mdulos.


comp 1

Ter'\er'l1o.s ut1 yY1u)( lh'Z ( l.( e.r1~a. S ~ ).o-los Z e..,I\~('o..y..!l.<;;;.


~e GOVl\..va ) (O" ENABLE,,~.:... lt.i'\ ~.\\ o..c\-\.JG a.. ",,' \ v~ 0.\\0.
J

comp 2

comp 3

J...-\IlX lt)( L (~.-i\~-Cldo.~ 'ce ~ -\OS I

do s. de.-

\\0\)

Le

v,

Uvl

E~I\t>LE /~C-U~1 hr\.O-c\..\VO ClAve.\ ~\\o i /1'l1:S;"Y1D ce rr/l)bY\6.Ae. ~


CotY\p \ '00..'60..... su. de sc.t"\ Dlrt
UV\ e LOV\o..\.
~u...Q..'\:c1.. o~ "de.. {j()<;. {LV\\rc\.do. OS ,' '1 - '1: \- '\
'1
-'Z.. /' ':I~
1:-

'

comp 4

Cb""

\>u"Q..\o lt'\ \/12..(<;bn:)..

, y -::: ':1: . 1'._j:::.o-'1


/-

www.monteroespinosa.com - Clases de EDIG - Tfnos 91 5445377

619142355

'2.

(1

3.2 Dibuje un esqllema con todas las conexiones entre los diferentes bloques, indicando claramente
las entradas y salidas del circuito completo. (10 puntos)

~~oo

~f>\

n.a

~;"\o.'

~
(h..

'6~-z . i>o-\&.?;

l ~\

-b.. ......
1]7

'i

A~

a.ll.x

';t.\o

A.~"1

(;;,mP:S
"}:.

-) '7

"J"z

~\o.'t
~\a.S
)0.\0- G

eo\o--:.
~"t
>Q.\ i

....

<0 .... (> 7.

Irz

'/

A~

r~

SQ\~

--

~. ~e

"

C\..\.l\l~

.-

3.3 Explique razonadamente la funcionalidad del circuito completo (entity "noviembre").


(5 puntos)

~~

6'.-

CID/)

\.l.VI

WlU\

\\~(k.Of Bx~ (~e t

\.n~)\ ) ~ccrr'o,<0

v,no..

(>0'-

\-cCJ..()as

d~ 1Y\.c..L\\.. .l~~k:ort?<;

l<X'Z.

~e.,h ()~-

Se.ilzJ .e.-5.. L ~O-..


Q...\ d.,t0 .
I

u
www.monteroespinosa.com - Clases de EDIG - Tfnos 91 544 53 77

a.e

619 142 355

~_

cl ~\.cs ~ ~

J LAVlCl

*'-es;.

~It? -h fJO\

Pgina 9 de 11

CEDG - Febrero 2012

PROBLEMA 6 (15 PUNTOS)


Consideremos el siguiente circuito electrnico.

salida(6J
,tI
ro

:!2

FPGA

ro

salida(O

i
VI

"'O

ro

""ro

Vl

N--I
O

ro

VI

:!2
ro

VI

1U - -..

"'O

En la FPGA se sintetiza el siguiente fragmento de un mdulo hardware descrito en VHDL,


compuesto de dos submdulos:
library ieee
use ieee.std_logic_1164.al1
use ieee.std_logic_unsigned.all;
entity compl is
port(A,B
SAL GE
SAL LT
end compl

in std_logic_vector(3 downto O);


out std;....logic;
out std_logic);

architecture archi of compl is


begin
SAL GE <= '1' when A >= B else 'O';
SAL LT <= '1' when A < B el se 'O';
end archi;
library ieee;
use ieee.std_logic_1164.all;
entity comp2 is
port (e, D : in std logic vector(6 downto O);
in std logic S
O : out std_logic_vector(6 downto O);
end comp2;
architecture archi of comp2 is
begin
with S select O <=
e when 'O' I
D when ' 1 ' I
e when others;
end archi;
library IEEE;
use IEEE.STD LOGIe_1164.ALL
use IEEE.STD_LOGIe_ARITH.ALL;

Pgina 10 de 11

CEDG - Febrero 2012

entity edig is
port( datol: in STO LOGIC VECTOR(3 downto O):
dat02: in STD-LOGIC-VECTOR(3 downto O);
salida: out STO LOGrC VECTOR (6 downto O;
end edig:
architecture edig_beh of edig is
signal aux1: std logic:
signa1 aux2: std=logic:
component comp1 port (A,B
in std logic vector(3 downto O):
SAL GE : out ;td_logic:
SAL LT: out std_1ogic)
end component
component comp2 port(C, O
S
O
end component;

in std_1ogic_vector(6 downto O):


instd 10gic;
out std_logic_vector(6 downto O:

begin
01: compl port map(dato1,dat02,auxl,aux2);
02: comp2 port map("llll110", "0110000",auxl,sa1idal
end edig_beh

6.1 Explique razonadamente la funcionalidad del los mdulos compl y comp2, indicando en un
esquema de bloques las entradas y salidas de cada mdulo. (5 puntos)
Nota. Dispone de una copia del cdigo VHDL de este problema en la ltima pgina de este examen, a modo de
Anexo, que puede arrancar para poder trabajar ms cmodamente con l.

El mdulo comp 1 es un comparador de dos entradas de datos de 4 bits cada una. Tiene dos salidas,
una que se activa (nivel alto) cuando A es mayor o igual a B (SAL_ GE) Y otra que se activa (nivel
alto) cuando A es menor que B (SAL_LT).

compl
B

El mdulo comp2 es un multiplexor de dos entradas de datos de 7 bits cada una y una entrada de
control, que selecciona la entrada e en el caso de ser Oy la D en el caso de ser 1.

e
comp2
D

CEDG - Febrero 2012

Pgina 11 de 11

6.2 Explique razonadamente la funcionalidad del circuito completo. (5 puntos)


El circuito completo es un comparador con salida grfica a travs del display de 7 segmentos. Si
dato! es mayor o igual que dat02 aparecer un 1 en el display. En caso contrario aparecer un Oen
el display.

6.3 Modifique el circuito para que incorpore una seal de reset (activa a nivel alto) que ponga todas
las salidas a 'O' cuando se active. (5 puntos)

Una posible solucin, que no la nica, puede ser:

entity edig is
porte dato1: in STD LOGIe VECTOR(3 downto O);
dato2: in STD-LOGIC-VECTOR(3 downto O);
reset: in STD-LOGIe;
salida: out STD LOGIC VECTOR (6 downto O});
end edig
begin
if (reset = '1') then
salida <= "OOOOooe u
elsif
U1: comp1 port map(dato1,dato2,aux1,aux2)
U2: comp2 port map(n1111110","0110000",aux1,salida)
end if;
end edig_beh

EDIG
Problemas de
examen

www.monteroespinosa.es

Clases de EDIG

Tfnos 91 5445377 , 619142355

FEBRERO 2001
2. Se desea realizar un sumador/restador de dos nmeros A y B de 5 bits cada uno, representados en
complemento a 2. De esta forma; cuando la seal de control M sea igual a O deber realizarse la suma A + B,
mientras que si M es igual a 1 se efectuar la resta A - B. Por otra parte, se desea evitar problemas de
desbordamiento, para lo cual el resultado de salida deber tener el nmero de bits suficiente para poder
representar todos los posibles resultados de las operaciones.
Para realizar el diseo se dispone de puertas XOR de 2 entradas y de dos sumadores ripple carry de 4 bits como
los que se muestran en la figura 4(advierta que uno de los sumadores carece de acarreo de entrada).
Complete la figura 4 para realizar el sumador/restador utilizando el menor nmero de puertas XOR adicionales.
Indique cul es el mnimo nmero de bits de salida que garantiza la ausencia de desbordamiento en las
operaciones y seale claramente qu terminales escogera como resultado de salida.

()
Yl Yi. Y, Yil
---~

Cout

.:-

'Y'-

.Cout .

L.J.

~-

C~)

www.monteroespinosa.com - Clases de CEDG - Tfnos 91 54831 78,619142355

FEBRERO 2002
2. La funcin mayora, MAY(xo, Xl> , Xn-l), recibe un nmero impar de bits XQ, Xl> . , Xn-l e indica si existe una
mayora de unos o no. Por ejemplo, dos casos concretos de funcin mayora de 3 bits seran:
.
MAY(1,l,O) = 1 (pues hay ms unos que ceros)
MAY(1,O,O) =
(pues no hay ms unos que ceros)

2.1. Construya una funcin mayora de tres bits,


datos de la figura.

utilizando nicamente el multiplexor de 4 entradas de

. . _- . .
=fJ
XQ, Xl

X2

MUX

.. Jo

r;

1.

1~1
~-'

1)

2.2. Complete la siguiente figura para construir una funcin mayora de 7 bits, XQ, , x;, utilizando:
El diseo del apartado 2.1. para generar una funcin mayora de 3 bits por medio de un multiplexor de 4
entradas de datos. NOTA: En caso de no haber resuelto el apartado 2.1, suponga que dispone de una caja
negra que implemente la funcin mayora de 3 bits y utilcela donde lo precise.
e
Un multiplexor de 16 entradas de datos.
Todas las puertas. NAND de 2 entradas que necesite. Se valorar utilizar el menor nmero de puertas
NAND posible.

MUX

f'.HJX

CJ

tI L"

I 11 'f".
.

C',

e, e,

C"

I I I

LJ

2.3. Se desea implementar una funcin mayora de 3 bits empleando esta vez una memoria ROM. Dimensione el
tamao mnimo que habran de tener los buses de direccin y de datos e indique el contenido de cada una de las
palabras de la memoria. Justifique su respuesta.
www.monteroespinosa.es - Clases de CEDG - Tfnos 91 5445377 , 619142355

e
o

l
\

::rz

c:.

o
'/..z .

:Jo

-rl y

~AX

:3 (,
VI

")

~:
,y,

Ole

'1(0

lO'

HAX
no
11 ,

flSr

O-$-tl

>G.~

~t ~~~~~ o

u...w')

b
Jo
_----4I~II

000 o

. - -__~I :t'1

DO II

CJ2.f O

000 \

_ _ ~ ht-:::()-:-)(:-z~
x,7.'i:o---1:_---....-i :rz o o ~ 'O
t l -1--- --04 ]" '"

~\-i~fW3
.'.:::'-'_-l~t--""::~'J::5>
' - - -1IIJ-1 4
1.7

00

o 1o I
~

\t o

D\ll

"1 1'2,

'eoo

.---."""-........ :te:

\ oC) I

__-

.......-\.- --

.., 'I1t>

3"

L--- ....--t'Z

0\0

lo 1/
\ \06

'1:.\3 \\0 I
3\"t II to
TI5 \\tI

!
\

, ,

FEBRERO 2002

" Problema4
Se desea que el circut de la figura 8 funcione a una frecuenca de reloj de 25MHz.
Teniendo en cuenta los siguientes parmetros temporales:

tsu= 8ns
thold""

7ns

tITIJPPF'" 100$
t-propNOR ""6ns

t pmpNAND,,;:4ns
detennine los instantes de tiempo mximo (!mM) y mnimo(tmin) relativos al flanco de
subida del reloj entre Tos cuales la seal E2 podra varia:r~ permitiendo un correcto
funcionamiento del circuito. Justifique su respuesta mediante un cronograma. (10
puntos).
El
fF 1
} -- - - - - j'

Q
fF~

.82

eLK

Figura 8

www.monteroespinosa.com - Clases de CEDG - Tfnos 91 54831 78 , 619 142355

SEPTIEMBRE 2002
1. El circuito de la figura 1 utiliza un multiplexor 74x 151 (tabla de verdad en la figura 1) y un inversor para realizar
la funcin lgica combinacional F de cuatro variables (A, B, e y D).
Inputs

EN_L

Outputs

Y_L

_V

74x 151

EN

00

DO'

o
o

o
o

o
o

Dl

Di '

o
o
o

.'

DO
D1

02

02"

03

03'

D3
D4

04

04'

Ds

os'

06

OS'

07

07'

D2

.F

D5

L[> ,' ''''

06
07

. Figura 1

1.1. Funcin lgica


Rellene el mapq de Kamaugh de dicha funcin lgica F. No olvide etiquetar convenientemente las filas y columnas
de la tabla (valores de las variables de entrada.
1.2. Implementacin
Implemente la funcin F utilizando nica y exclusivamente tres puertas lgicas y justifique la solucin que ha
empleado.

ITTl

'7 o

"1 .. c.o

ADo ~ e.A

,D I ;+

e & Ii Dz..\ G BAC>~4

GBA-1)~o\ c...BAOS 4 CBAO e +CaAj)~

(\?~5\-~Ab ~~6\-\SA~) '\- c.l~~ ~~~{3~S) \-\3A) -

- [rs (~~~t\-t

\-

\S(~-\A~)1~CL~(A-D~A~)~B(A\)~l\f>\)

(~~~ c..~1+ CLf3.(At)") -\- ~(A~\t)~ ~


~ t - ( fs~ D>1 \- c. [ B4I (A ~ l> ) J ==

LtB

- c. ~

eg6)\.AG>O)):-

www.monteroespinosa.com

Clases de CEDG

C~~~A~D
~

Tfnos 91 54831 78 , 619 142355

-;

FEBRERO 2003
3. Queremos realizar un visualizador de nmeros romanos (encontrar la tabla de nmeros romanos al final de este
examen) comprendidos entre ell y ell5 a partir de una palabra binaria de cuatro bits (D3D2DIDO), siendo D3 el
ms significativo entendiendo que el valor de cero tiene como equivalente el visualizador apagado.
Para ello dispondremos de cuatro elementos C4, C3, C2 y C I como los de la figura 4 que formarn la cifra romana.
En cada uno de ellos colocaremos tres neones, uno para cada smbolo romano"I", "V" Y "X" que se controlarn
con tres seales activas a nivel alto Ii, Vi Y Xi, respectivamente (por ejemplo, si 12 ="1", se encender el nen
correspondiente a la cifra romana "1" del elemento C2, y as sucesivamente. La cifra romana completa se alienar ala derecha, dejando en blanco los elementos no usados en la parte izquierda del visualizador.

()
Para gobernar el visualizador deberemos realizar un decodificador de binario (D3D2DIDo) a las seales que atacan a
dicho visualizador (~, V 4, 4, X 3, V3, 13, X 2, V 2, 12, XI, VI, 11).
1. Obtenga la tabla de verdad correspondiente a 12, rellenando la tabla

(1
~j

D3
O
O
O
O
O
O
O
O
1
1
1
1
1
1
1
1

D2
O
O
O
O
1
1
1
1
O
O
O
O
1
1
1
1

Dl
O
O
1
1
O
O
1
1
O
O
1
1
O
O
1
1

Do
O
1
O
1
O
1
O
1
O
1
O
1
O
1
O
1

12

2. Obtenga la expresin simplificada de h uSando el mtodo de Karnaugh. Realice la simplificacin por


"unos" grficamente y por "ceros". Escrib~ a continuacin las expresiones correspondientes.

www.monteroespinosa.com - Clases de CEDG - Tfnos 91 54831 78,619142355

,n

3. Utilizando el decodificador de cuatro entradas de la figura (cuya tabla de verdad se encuentra junto a la
misma), la lgica adicional que crea conveniente y las conexiones necesarias, obtenga razonadamente la
funcin F = (D/D2 'DDo) + (D3 'D/'D"Do') + (D3D2D'Do). Considere que representamos una seal
S negada como S':

DECODlF1CAJ)OR

EN

00

01

O2

o)

04

O;
lo
J,

06
07

- 11
1)

08
09

Oui
0 1,
0,2

o,)

0'4
OIS

o
_..

EN 13
O
1
1
1

1
1
1
1

1
1

X
O
O
O
O
O
O
O
O

12 11 -lo 0 0
X
O
O
O
O
1
1
1
1
O
O
O
O

1
1
1
I
1
1
1
1
-1--- . 1 - 1
1
1
1

X- X

O
O
1
1
O
O
1
1
O
O
1

1
O
O
1

O
1
O
1
O
1
O
1
O
1

O
1
O
- 1
O
L1

O
1
O
O
O
O
O
O
O
O
O
O
O

O
O
O
O

_.

0 1-:- O2
O
O
1
O
O
O
O
O
O
O
O
O
O
O
O
O
O

O
O
1
O
O
O
O
O
O
O
O
O

O
O
O
O

--

03
O
O
O
O
1
O
O
O
O
O
O
O
O
O
O
O
O

- 6~- Os
O
O
O
O
O
1
O

O
O
O
O
O
O
O
O
O

O
O
O
O
O
O
1
O
O

06

O
O
O
O
O
O
O
1
O
O
O
O
O
O
O
O
O
.
O
~
O
O
O
O
O
O

_. -

---

0 7 08 0 9
O
O
O
O
O
O
O
O
1
O
O
O
O
O
O
O
O

O
O
O
O
O
O
O
O
O1
O
O
O
O

O
O
O

010

O
O
O
O
O
O
O

O
O
O
O
O
O
O
O
O
O
1
O
O
O
O
O
O

O
O
O
O
1
O
O
O
O
O

bl!
O

O
O
O

O
O

O
O
O
O
O
O
1
O
O
O
O

012

0]3

0 14

015

O
O
O
O

O
O

O
O
O
O
OO
O
O
O

O
O

O
O
O
O

O
O
O
O
O
O
O

O
O
O

www.monteroespinosa.com - Clases de CEDG - Tfnos 91 54831 78 619 142355


I

o
O

O
O
O
O
O
O
O
1
O
O

O
O
O
O
O
O
O
O ~
O
O
O
O
O
O
O
O
1
O
O
1

/~
(

4. Utilizando el multiplexor de 8 a 1 en la figura (cuya tabla de verdad se encuentra junto a la misma) y las
conexiones necesarias, obtenga razonadamente la funcin G = (D/"D2"DI'"Do') + (D3'"D2"D I'"Do) +
(D3"D2"DI"Do') + (D3"D2"D"Do). Para ello slo dispone de las seales D3 aDo afirmadas (no las negadas) y
no se puede utilizar ninguna puerta lgica adicional. Considere que representamos na seal S negada
como S'"
MULTIPLEXOR

EN

EN C2
O X
1
O
1
O
1
O
1
O

1
1
1

1
1

(~')"""

Cl

X
O
O
1

CO y
X O
O
1

1
O
1
O

O
O

10
I1
I2
13
I4
I5
16
17

5. Indique qu seales de entre las que atacan al visualizador de nmeros romanos (X4, V4, 4, X 3, V 3, 13, X2,
V 2, I2, XI, V , II) son implementadas por las funciones F y G de los apartados 3 y 4 respectivamente"

(~

www.monteroespinosa.com - Clases de CEDG - Tfnos 91 54831 78,619142355

FEBRERO 2003

(\,

PROBLEMA 4 (25 PUNTOS)


l. Se desea disear un contador binario que permita obtener la secuencia de cuenta 255, 254,
253, . ,2, 1, 0,255, 254, ... , a partir de una sealde reloj CLK. Sobre el esquema de la
figura 7 realice todas las conexiones necesarias para ello, utilizando dos contadores
74XX169 (cuyo cronograma de funcionamiento se encuentra al final de este examen). El
valor de la cuenta se representar con una palabra de 8 bits: 07,06,0 5 ,04 ,03, 0z, 01 Y 0 0 ,
siendo 0 7 el bit ms significativo. Indique tambin sobre el esquema estas seales y, por
favor, sea limpio en el dibujo. (5 puntos)
o.'

R
A

l!

Qu

e
ti

CLOCK

Qc
Qo

Reo

l,OAD

uro

Figura 7
2. A partir de las seales 0 7 a 00 del apartarlo anterior, queremos construir dos bloques
detectores que generen sendas seales V16 y V64, que se activen cuando el valor de la
cuenta &'ea 16 y 64, respectivamente. Para ello, dispone de dos comparadores de magnitud
cuya tabla de verdad se encueni.raal fmi.lde este examen. Realice sobre la figura 8 las
conexiones necesarias para obtener dichos detectores y las seales deseadas. Por favor, sea
limpio en el esquema. (5 puntos)
DETECTORV 64

DETlOCTRV6
o,

-.

'-~"

."., .. , ................. '" o"

_ ~ - ., _ ....... " , ...... <............. _ .................... - ............,

............. ".,. ............ -',

COMPARAJ)OR

COMPARADOR

,C)

-~-----I Po
PI
-';'-...;....,-----1 P2
-.;....------1 P3

-+------1 Po

--'------1

-.;..-.-----1 PI
.....,-+------1 P2
_ . i . -_ _ _........ P

-.;--'------1 P4
- . ; - - - - - - 1 P5

-+------1 P4

-+------1 P s
-;..------1 1\

- o i - - - - - - - I 1'6
-~-----I p-,

Qu
-QI

-;.__-"'-----4

P=Q

V16

---.. -

P=Q

Qo
Q1

-(b
-

P7

Q2
Q~

QJ
Q4

Q4

Qs
Q6
Q7

Q6
Q7

Qs

Figura 8
...............................

www.monteroespinosa.com - Clases de CEDG - Tfnos 91 54831 78 619 142355


l

Cronogratna del funcionamiento de los contadores 74XX169 (problen1a 4):

..
cJDJ"

Ci..OCKLJ
I

--r---+r----------------~L--_ _I--_ _----"-_ _ _--"-'.

U/D __ ..1

~~T~~--H-------____~
o ... ---,
___
J

==-=1

- -- r--I----.,

L-------+-------i-+----'

Oc ___ J.

_IZ __
0

- - - r-"-+--..,......---'
'------t-:------:.-t---'"'-+--.,--.;..-I.
- - _J
---.+,.---.
~

~~~_-_l
1.

iJ<

14

lISO

2:

II----,-COUNTt"

2:;Z

_T

--1

,..
o
.....---.. COONr o o ' ; ' H - - 11

'lO

, ..

Tabla de ve[dad del cornparador de la figura 8 (problerna 4):


Estado
PEQQ
entradas
P=Q _.
1 --_.
P:;Q
O

Tabla de verdad dellTIultiplexor de la figura 9 (problelua 4):


SEL

T[7:0]
R(7:0]

S[7:0J

Arranque esta pgina del examen

3. Ahora se desea disear un contador que, a partir de una seal de reloj CLK, pennita obtener
la secuenca de cuenta:

0,1,2, 3, ... ; 14. 15~ 16, 96, 95~ ... ,65,64,0, 1,2,3, ... , 14, 15, 16,96,95, ... ,65,64, O, ...

Disponiendo de los detectores V16 y V64del apartado anterior, de un multiplexor de dos


entradas de 8 bits (cuya tabla de verdad se encuentra al final de este examen) y de las puertas
lgicas que considere necesarias, realice todas las conexiones pertinentes sobre la figura 9
para que el circuito funcione como se desea. Por favor, sea limpio en el esquema. (15
puntos)
CONTADOR

T[3:0]

QA

O[D:A]

Os
Oc
CLOCK

Qo

RCO
LOAD

U/O

()

T
P

DETECTORV64
MULTIPLEXOR

OA

Po

Pj
Pz

Oc
00

P3

V64

P4
Ps

Pa
P7

.Oa
Oc

00

DETECTORV16

OA

Po
P1
P2

P3
P4
Ps
Ps

V16

C~)

P7

CONl"ADOR

QA
Os

Oc
CLOCK

00

ReO
LOAD

UfO
T

A.

OB
OC
Ou

Q[D:A]

FEBRERO 2003
PROBLEMAS (15 PUNTOS)
1. Obtenga razonadamente la frecuencia mxima de reloj CLK a la que puede funcionar el circuito de la figura
suponiendo que el inversor tiene un retardo tdinv = 1ns y los biestables (FF 1 Y FF2) un tiempo de propagacin
tdff = 2ns y un tiempo setup setup = 3ns. Justifique la respuesta dibujando en un cronograma los tiempos pertinentes involucrados y raznela en funcin de dicha figura. NOTA: Corno retriccin adicional, suponga que la anchura mnima de los pulsos de la seal de reloj (tanto el de nivel alto corno el de nivel bajo) es de 1 ns, y tenga
en cuenta que la seal de reloj no tiene por qu tener un ciclo de trabajo del 50%.
FFl

x-

JI

Q,

[>o

FF7

Jz
"..
~

K,

Q1 loo-

Q2

1.>

K2

Q2

CLK -

+-.______~P~e~;~i~od~(~)_=~T______~__~.

2. Calcule razonadamente el tiempo de hold mximo tholdmax que podr tener el biestable FF2, para que el
circuito funcione correctamente. Asuma las mismas restricciones que las descritas en la nota del apartado
anterior y justifique su respuestaa partir del cronograma que ha realizado en el apartado anterior.

www.monteroespinosa.com - Clases de CEDG - Tfnos 91 54831 78,619142355

JUNIO 2003
3. El circuito del multiplexor de la figura 4, cuya tabla de verdad encontrar junto a la figura 4, implementa una
funcin lgica F de cuatro variables:

.,-.-----f I I
. . . - - - - - . . , 12
....- - - - - 1 13
r------I 14
. - - - - 1 15
t---..,16
h

w x y z

e2 el co y
o x X x o.
1
o o o 10
1 o o 1 n
1
o 1 o 12,
1
o 1 1 B

EN

r - - - - - - o f lo

"

1
1
1
1

1
1
1
1

o o

o
1
1

o
1

14
I5.'

16
17

Figurl! 4
3.1. Escriba la expresin lgica de la funcin F.
3.2. Obtenga la expresin simplificada de F usando el mtodo de Karnaugh. Realice la simplificacin por "unos"
grficamente sobre la tabla 2 y por "ceros" sobre la tabla 3. Escriba a continuacin las expresiones
correspondientes.

www.monteroespinosa.com - Clases de CEDG - Tfnos 91 54831 78,619142355

JUNIO 2003
3. El circuito del multiplexor de la figura 4, cuya tabla de verdad encontrar junto a la figura 4, implementa una
. (!2( funcin lg.~ca F de cuatro variables:
.

Vc

EN
11

o x

12

(J

1
1
1
1
1

13
14
Is
16
.1,

C2 el Co

"='"

el

\.BN

lo

w x

FJUFO: 4. , .

r't-q; 3.1. Escriba la expresin lgica de la funcin F..

..

CeQ' y

v
.J....

o
o

o
:0
1
:1
1
1

l'
1

el

..

b JO

1
1
O

11
12

1
O

14

1.

1
1

:.10

17

1:3-

15-

..

r}3.~. Obtenga la expresin simplificada deF usando el mtodo de. Karnaug~. Re~~ice la simpl~cacinpor "unos"
..

eL-l.

graficamente sobre la tabla 2 y por "ceros" sobre la tabla 3. Escoba a contmuaClOn las expresIOnes

correspondientes.

NI) rA

~_l

AJ ~ Jl
'
.

I~

Y = e zc, (/> ro + LzC.CoI,

~ XyiwfXn

T;)e,J:fc .. ,... ..} ----"

.. LzC,Co Iz

+ C:c.c.l") t C: z e. ~ r"

XH WtXy?W't)<Ylw
LT>

"Le

~e'"'.J

..

obJe..,;dO .s~"

c.l.(u J.s H:z(,(.I, .f lz c.(~


xYlW+XYlWfXH

,...,:"k ........

,S

.1;
~

r';".- e)

u.,,~

e.

L.. ~e.

F ( W/ x. YI t ).

---

--

F= wXYt t Vv XYt t w;''I1 rWXY?

t W;XYl

_ w ( xY"f ~ XYt + Xy(" + X't"{ ) + ~ (x Yi

,..Ix}'?

1-)( Yt
...

-.'-.~.

.~:-.

",

.......--.

17(.

'1!' ..... u

t WXy~ -

+ x)'"2)

~:.-

\?,.J...,)

Ij .. c.f t.

--

I'7cJo"

w x y t
o
o

()

1:>

o o
o

o
O

l<c..,~>? .....:J'~ (for

5,'n p (:!:C4. ..... ""J for

~
y~

.00

01

1I

00

0 1

11

lb

([

"-"

./

~\

F::: w)( y

+ WXc + vv'~

5:...., pl:J:cc..-, ..; ro'" K~r"'''~.J 4

O
O

(ro,-

')

o;

o
O

C>

10

I~
\_J

C>

r~).
,

'.~

r~~)
'----j

SEPTIEMBRE 2003
2. Se pretende disear un sistema de llen~do de un depsito de agua, cuyo esquema es el de la Figura 3, y donde:
,1

B
~

(';'

::::Q9
J

11

-N2

N1

c/o--c*-\vas
(~.

CIz;lVl U

11

o \
"

l(

o
A Y B son dos seales, activas a nivel alto, que controlan
dos electrovlvulas que permiten el llenado del depsito,
abriendo las entradas de agua correspondientes.
(p7

Uf\

D es una seal que controla una electrovlvula que


permite el vaciado del depsito, a travs del desage
correspondiente.

-No, NI, N2 son detectores de nivel de agua que se

NO

activan generando un nivel alto de tensin "1" al entrar


en contacto con el agua.
AL es una seal de alarma que se activa en ciertos cas6s
(ver ms abajo).

o
El funcionamiento del cirC\lito a disear es el siguiente:

Si el agua descienqy por deblijo de NO, se deben de activar las dos electrovlvulas simultneamente A y B,
permitiendo el llenado del tanque a travs de las dos entradas.
Si el agua alcanza NO, solo se activar A, desactivndose B.
Si el agua alcanza NO y NI, se desactivarn las dos seales A y B.
Si el agua alcanza NO, NI Y N2, se desactivarn A y B Y se activar D.
Cualquier otra situacin anmala de N[O,I,2] activar la alarma y provocar la parada la parada de A y B,
as como la desactivacin de D.

NOTA: Se considera una situacin anmala cualquiera de los casos no contemplados anteriormente, por ejemplo,
el que se activen N2 y NI Y no active NO.
2.1 Realice el mapa de Karnaugh para las salidas D y AL respecto a las entradas NO, NI Y N2 e implemente el
circuito completo de ambas seales tras la simplificacin. (10 puntos)

2.2 Implemente el circuito completo correspondiente a las salidas A y B utilizando exclusivamente los siguientes
multiplexores: (15 puntos)
Seal A - Un multiplexor de cuatro entradas
Seal B - Tres multiplexores de dos entradas

~2

tJ,

f\)e-

(S)

(9

$1

,\

'1 )

,-,

,,

6
o

01

1
1

1
o
\
<::)

<o

~
o

ti>
o
o

CJO

0-\

(3

<5

,)

b
I

b
o

(")

A-L~

()

., e,

.;::
\

~"Z.
)

\I

~,

I I

eto

D\ It

o o

le

\11

o
<S

1) ';:' ~~\ kl ~
www.monteroespinosa.com - Clases de CEDG - Tfnos 91 54831 78,619142355

-L
f<.l\

\)
----....------,,-----

FEBRERO 2004
1. Se desea disear un circuito capaz de dividir dos nmeros naturales de dos bits cada uno [Al, AO] entre [B1, BO]
para obtener el cociente [el, eo] y el resto [R1, RO]. En el caso en los que el divisor [B1, BO] sea cero, el cociente
y el resto sern iguales al dividendo [Al, AO] y se activar una seal de error E.
1.1 Rellene la tabla de verdad Tabla 1 y obtenga justificadamente las funciones lgicas simplificadas para R1, RO
Y E. (5 puntos)

(:1

Al
O
O
O
O
O
O
O
O
1
1
1
1
1
1
1
1

AO
O
O
O
O
1
1
1
1
O
O
O
O
1
1
1
1

B1
O
O
1
1
O
O
1
1
O
O
1
1
O
O
1
1

BO
O
1
O
1
O
1
O
1
O
1
O
1
O
1
O
1

C1

CO

R1

RO

AUX
O
O
O
O

1
O
1
1
O
O
O
O
1
O
1
O

1.2 Implemente la funcin AUX de la Tabla 1 con el mnimo nmero de puertas NAND de dos entradas. Nota:
Slo se dispone de las entradas Al, AO, B1 y BO y no de sus complementarios. (5 puntos)
1.3 Implemente la funcin AUX de la Tabla 1 con dos multiplexores de 4 entradas de datos. Nota: Slo se
dispone de las entradas Al, AO, B1 y BO y no de sus comp1ementarios.(l0 puntos)
1.4 Implemente la funcin AUX de la Tabla 1 en tecnologa eMOS utilizando el mnimo nmero de transistores.
En este caso supondremos que se dispone de las entradas Al, AO, B1 y BO negadas y sin negar. (lO puntos)

www.monteroespinosa.com - Clases de CEDG - Tfnos 91 54831 78,619142355

FEBRERO 2004

PROBLEMA 2
Se pretende disear un dispositivo luminoso consistente en una hilera de luces (Figura 1), tipo
LED, de las cuales slo una se encuentra encendida en cada momento dado .

..

Figura 1: Hilera de luces

100000.01

El objetivo es realizar un dibujo de efecto hipnti~ocon las luces para atraer la atencin de las
personas que 10 contemplan. Para ello se realizar un movimiento oscilatorio cuya secuencia
peridica representamos en la Figura 2, Ydonde t = 9 es iITal a t = 1.

. Figura 1: Muestra del Dibujo con los LED

(J

1000. 000

1=1

10000.001

1=2

100000.01

1=3

10000.001

1=4

1000'.0001

1=5

100.00001

1=6

10.000001

1=7

100.00001

t=8 .

1000..0001

1=9

La estructura del dispositivo luminoso es la de la Figura 3:

CIRCUITO
DE

ACTIVACIN

--;...
7

O
O

()

O
O

BloqueA

--...t.~

BANCO
DE'
LEDS

Bloque B

Figura 3: Diagrama de Bloques del Dispositivo Luminoso

El banco de LED tiene siete entradas, una por diodo [1610] activas a nivel alto, de forma que si
tienen un "1" el LED correspondiente se ilumina. El circuito de activacin (bloque A) se encarga de
generar las seales [16 10]. Para relizar el diseo se utilizar como ncleo un registro de
desplazamiento bidireccionaJ de 8 bits (Figura 4).
A
-B

-C

Figura 4: Registro de de!;plazamiento

-D
E
-F
-G
-H
SeriaCLefl
Seri.l_ Right

so
SI
CLEAR
-CLK

www.monteroespinosa.com -

- Tfnos 91 54831 78,619142355

~e.~

~---------~--------"\

,r

W. c..\\<:

'& <:..~

CCVIec~o.

o..

.~_, ~c.1K-""Z * mWl'lio..

CDr1G-\C1"Co o..

i i

~ ~l

i,

\,

(\

C.\~A-R

~ c..ieAR.Z ~ vV\"'~o

*'

<;;0\

~ SOz

S' \

~q 'Z. ~w('ae

, Re~ _\ <;;e. e-t'\ Co-Ct:::f" ~.

~ ~~ '2.

Qa;

o.l'illt'l

\.\0

b~\s

e ,f)cCt.(~~ ~e ~ ~\k

"'-/

La salida QA del registro ir conectada al LED ubicado en el extremo izquierdo del dispositivo,
mientras que QG se conectar al LED del extremo derecho (Figur.a 5),

Figura 5: Conexin de las salidas del,Registro de DesplZIImientoa los LED (en ,el instante representlldoc QF'= 1,
con Jo que su LEDasocilldo est encendido)
,

2.1 Construya e.I registro de desplazamiento de' la Figura 4 a partir de dos registros de
desplazamiento bidireccionales 74LS194, a los que llamaremos REG_l y REG~2 Y cuya hoja de:
caractersticas puede verse en el apndice. Para ello complete el circuito de la Fig;ra 6. (10puntDs)

REG 1

, - - - - - - - - - - =1 A

Q.A

~-------I B '

- - - -- ---.--1 e

----- -1 D
__"---1

QB :---~~
Qc r----

.....'

Qo:--r-

Serial_Left

.----1----1 Serial_Right
r+--t--t----:I------I

SO

.--+--+--r--=--l S1

- + --f--r-t---t---i CLEAR
H--- i --,CLK

"--------- QA

'-.

QB

'---_ _- -Qc
~------QD
r------------\\~
QE

--t-rtt=--U-+- + ---j

AREG_2
QA

~--t\+""""-==l:~-\--t---I B

---=r---\4I:::l~-4I--.-:::r-T--1 C
U-~-*~-~---ID

QB

Serial_Rigbt

L...--jr------- J

so

--t::==::;--~

SI

'""--1

rF
~~~

'

'J 1
QD~------~

Qc

' 1 - - --1:----.-1 Serial_Lcft


L----.----j

J-

CLEAR

t--:--~I CLK

Figura 6

. QH

)-~\ So

\..

\J1>

Fulk.'tv

'

Oe:;.~

-o

Ci

<-OY't?::l~:
el.

a eOfi, o.

~ e:;;.~ C\.

'\,Iv..

LeAb

~,moS "",\~Va( cr.~ of<><~ en "'''I\.Ll() _",e.\~ ( ... v~,'

\,,~ ~ ~er ~o o- tf &\!>~ ~ Q"" L!;t>s\ w=1\P- -o


... ~l -Aois. ek e\.e ",r COhGo\,.:;)" .. %S '-...\~~ l '* aft'O-n 1/"
"k ~1 'o.. teo,.bk ~'<lIo,esl.1Je \:>
(

II

Gol'\.

Q.c-

c:::Mek 'lc/n

\lo <;;. 'o o c:;.


~,e~~.

~-ene.--

k- l'\,.a.\COt la.f
,

Co(\<;e~LL\'v.to s

. UY\OS

heLes~~ pqro.

~.

UDn

LoAt:: I

~~ecLa.(' ~(.L a;t(~

~-

A continuacin se conectar el registro de desplazamiento de la Figura 4 al resto de componentes


para obtener el circuito de activacin completo, cuyo funcionamiento es el siguiente:

Ant~s de iniciarse el movimiento, se activa la seal LOAD conectada al biestable tipo D.


Corno consecuencia, se deber cargar en el registro el valor "O 1000000" (el ltimo bit no se
usa, pero es necesario cargarlo). Nta: La seal LOAD es activa a nivel alto y se mantiene
activa como mnimo un ciclo de reloj OK.
Cuando la sal LOAD se desactiva, el LED iluminado se desplaza con cada pulso de reloj
en un sentido u otro (izquierda o derecha) hasta que la luz llega a uno de los extremos del
movimiento (QB QF encendidos).
Cada vez que se llega a un extremo (QB QF encendidos), se cambia el. sentido del
movimiento.

2.2 Complete las conexiones necesarias que faltan en el esquema de la Figura 7. (20 puntos)

Ir
o

.------,~-I: @-o1<

,.-

[ -

a0-

E
F

0 --

0 -

CLK

EO
MUX

CK -l

f-,.....-

\ EfV

QG~--4------~--~~--~

QH ~

~(' o...'\M-l ~Q.

'\' nvlco 'oCL~

ti __ Serial_Left

co.l'I1'o ,Ot ~'Oe<;;.\,

O -

o...'ru:\.c:. 'SI" rz

ScriaJ_Right

Sft-=' ,'

Q# f.---J

e\

Figura 7

~o ~co. ~e(a{

Sc

ue,1c ( '0 .

"

11'

(C' l~

~ ~\ ~s.\o.c e<;'f>\o. "CaYiOo ~ ~~"'a.s LI;L"e ~ e.'\br ~


o
Ji \

re

s_~ po...~ ~ 'Vb C\...p~~'C.a.t'l


11

1\

1,

'

,\

LFD; C\I..\.Nn.\'60'S

V\lk..e\lOS

o.:.\~dc s,.
I /

1\

sc0.

un uno (i.AQ.Il '


~rO-t1'1cS
Co~'o~ o-

...--.-..- CLK

'-

forCA.d....U.'
~-

e..c;.~\o.t.o..f
o.... i.~doS

0 -':':" CLEAR

8 .poVlevYlo~

1.Id~ L

QE r--:--- j f - -- - - - . . . . l
QF r~-I-------9"-'-

..---~'--i SI

r-

0000

o o '" o

_ _V~'----l SO

QA
Qj f---..- - - -Io---:--'
o ---, C Q c 1--- -+------'--'
0- D
Q[jl--_ _+-_ _ _ _..J

() -

LOAD-D

( r,

FEBRERO 2004

PROBLEMA 3
3.1 Implemente un biestable tipo D con "ENABLE" usando un biestable tipo T y la lgica
combinacional que crea necesaria. Se valorar el grado de simplicidad. (5 puntos)

n
3.2 Obtenga justificadamente la mxima frecuencia del reloj CLK del circuito de la Figura 8 que
asegure un correcto funcionamiento del mismo. Suponga que el ciclo de trabajo del reloj CLK es
del 50%. (10 puntos)

115A,
,---""
,

El

" 3'

2 U2i\ '

,Q

U1

PRE
J,

'LK:...

,
,
..;::....--40. _ _ _ _+-..:....1 K.

'

3A,
,,\ '

,Qtt'--~

1j,

;/'

14 J,
3

~LI<,

7408,
,2

Figura 8

Nota: Considere que las seales CLR* y PRE* estn desactivadas.


Parmetros: '-tdp~crtas == T 11S '
- .
tdFF= 3 ns
tsetup =

2 ns

www.monteroespinosa.com - Clases de CEDG - Tfnos 91 54831 78,619 142355

t.:!

12

Apndice
74LS194 Bidirectional Universal Shifi Register
(Extracto de la Hoja de Caractersticas)

so

Function Table
Moe

elear

61

so

X
X
H
H
H
L
L
L

L
H
H
H
H

X
H
L
L
H
H
L

H
H

CIDck

H ~ HigII Lovel (!OOIIdy 811110). L

X
L

t
t
t
t

Inwts
Berial

Outputs
ParaUl
A

X
a

X
X

X
X

X
X

X
X
X

Lefl

Rlght

X
X

H
L
X
X
X

X
X
X
X

x
X

X
= Low Leva! (SluadV slalo),

X
X

X
X

D
X
X
d
X
X

OA.

Os

Oc

OD

L
000

OAO

aso
b

Ceo
e

OAn
OAn
OCn

OSn
aBn
ann

X OSn
X OSn
X -aAO

Oen

asa

aDn
Ceo

c;I
OCn

Qen
I'i
L

000

= Oon', COte (any input, including trIlnsfliorls)

TlanSltian lrom-Iow 10 hlgh '''''01

n. b, o. d ., TOOlovol 01 stoady 1IUIlo inpul al Inuna A. B. e Of O, lOapocliVoly.

afIO- Oso. Oco. Doo ~ Tho lovol oIOA. De. 0001 00' 19.pOCtNe!y, bolOl'Hh9 indioalod steady Slato-input conditlonswOfo <lStablishod.
0An' Os . 0eno- OOn = TM /ove' el CA, 0B' 00 I88pOClively, b<lforu tha mosl.locont i "anSilion 01 Iho dock.

Timing Diagram
TyplclIl Clear. Lolld, RlghtShlft,L..ft-Shlft. Jnhiblt.:and Clelll' Sequences

()

CLOCK

CONTROL

linDE

Iso

IM'lITS

SI

ClEAR
SERIAL

DATA
IIfPUTS

PARALLEL

DATA

IHPUTS

e
o

oo,J:~++-I
Lo:
INHIBIT

---1
CLEAA

SEPTIEMBRE 2004

PROBLEMA 2
Disee un sumador de dos nmeros A y B (8= A + B) de-cuatro bits en complemento a dos
utilizando el mnimo nmero de componentes. Dibuje el esquema resultante. Para ello dispone de
restadores de dos nmeros A y B (R = A - B) de cuatro bits en complemento a dos (Figura 2) y de
inversores: (15 puntos)

A3

A2
Al

R3

AO

R2

83

R1

62

RO

61

60

www.monteroespinosa.com - Clases de CEDG - Tfnos 91 54831 78,619142355

SEPTIEMBRE 2004

PROBLEMA 3
(~

Se desea implementar un generador de nmeros seudo-aleatorios utilizando un registro de


desplazamiento de 3 bits basado en biestables de tipo D, segn la Figura 3.
La secuencia a generar ser la siguiente, codificada en binario como "ABe" donde e es el bit
menos significativo:
0,4, 6, 7,3, 1, O, 4,6, 7,3, 1, ...

'---

B
C

()

Lgica
combinacional

---

A.a.

'I

1
:>

A'O

CLOCK

:>

Figura 3

3.1

Rellene la tabla de verdad de la seal Z en funcin de A, B YC. (J Opuntos)

e
o

1
1

o
1
1
1

o
1

1
1

o
o
1

o
o
x

3.2

Dibuje el mapa de Kamaugh y utilice dicha simplificacin para determinar la expresin


lgica de Z. Nota: En caso de no haber respondido el primer apaliado utilice la tabla de
verdad de la seal W. (5 puntos)

3.3

Implemente la lgica combinacional para generar Z utilizando nicamente multiplexores de 4


entradas (Figura 4). Nota: En caso de no haber respondido el primer apartado utilice la tabla
de verdad de la seal W. (5 p u n t o s ) '

www.monteroespinosa.com - Clases de CEDG - Tfnos 91 54831 78 - 619142355

SEPTIEMBRE 2004

PROBLEMA 5
U1A

En1

__-'--1
U1A

En2 :--~----------------L-

__~

74HCOB

U1A

74HCOB

CLK

__

__________________

~-

______________

t dAND = 1 ns
t dff = 2ns
tsetup = 2 ns

U2A

Q
Q 2

CLK
R

14

VOD
4013

Figura 8

5.1 Obtenga la mxima frecuencia de funcionamiento el ~ircuito de la Figura 8 suponiendo los


valores de temporizacin que aparecen en el lateral de dlcha figura. (5 puntos)
5.2 Obtenga justificadamente el mximo tiempo de hold
funcionamiento del circuito. (5 puntos)

(llOldmax)

del biestable para un correcto

5.3 Obtenga justificadamente la probabilidad de que el circuito de la Figura 8 no funcione


con-ectamente si utilizamos una frecuencia de reloj CLK de 125 MHz, suponiendo que las
entradas En1 y En2 pueden cambiar aleatoriamente en el tiempo con una distribucin
unifonne. Indique claramente los motivos de fallo sobre un cronograma. (15 puntos)

~'

+min

~ ~M ~

t=

~.

.~~~

'Z

\W\;')::

\. Q

~ ~.lA.o-l

-lse'htp '::.

~ ~ ~_; ~..L. 2"'31tug


T\>\it'\

7",~

-:c

L
www.monteroespinosa.com - Clases de CEDG - Tfnos 91 54831 78 - 619142355

z-\-~.\- L.. =.:{t1'S,

FEBRERO 2005

Problema 1
,~

En el circuito de la figura los biestables tipo D, U6A y U7A, tienen distintos tiempos de propagacin (tp ) Y de setup
(tsetup). Considere as mismo que las entradas de PRESET (PRE) y CLEAR (CLR) estn desactivadas en todo
momento.
4

U6A

"---"P~RE=-----.
En~~_da_ ..._ _ _ _ _ _--,2:..;D
o 5

---. 3
r
cu<

.ll<

Q 6

CLR
l'

7.474

.
tp

setup

Biestable U6A

1 ns

1 ns

Biestable U7A

2ns

2 ns

PuertaAND

5 ns

1.1 Utilizando los valores de la tabla obtenga justificadamente, dibujando un cronograma, la mxima frecuencia
del reloj (fCLK11IIlX) del circuito que asegure un correcto funcionamiento del mismo.
1.2 Determinar justificadamente, tambin sobre un cronograma, el mximo tiempo de hold (tho/d11lllX) que el
biestable U7A puede tener para que el circuito funcione correctamente.

L
www.monteroespinosa.com - Clases de CEDG - Tfnos 91 54831 78,619142355

FEBRERO 2005

Problema 2
Se desea disear un circuito de sumar y restar dos nmeros de un bit AO y BO con acarreo de entrada C i- 1
mediante una seal de control M. El resultado se compone de tres bits [S2,SO] expresado en complemento a dos.
La operacin, en funcin de M es la siguiente:
"O"

[S2,SO]

= AO + BO + C

M = "1"

[S2,SO]

j _1

AO - (BO + Ci - 1)

2.1 Rellene la tabla de verdad, Tabla 2, y obtenga justificadamente la funcin lgica simplificada para SO.

O
O
O
O
O
O
O
O
1
1
1
1
i
1
1
1

AO
O
O
O
O
1
1
1
1
O
O
O
O
1
1
1
1

BO
O
O
1
1
O
O
1
1
O
O
1
1
O
O
1
1

Ci-1
O
1
O
1
O
1
O
1
O
1
O
1
O
1
O
1

S2

o
G

S1

SO

"

o
1
t

t:J

e;

-o

Cf)

-o

L
1

P
ll>

(fj

\
\
t
o

()

<2:>

AUX
tJ
1
\
O
\
1
'Z
O
1
(.
O
Z
1
"3O
()
O
-1
O
\
O
'2
O
\
1
o
O
(:)
1
-1
O

--

2.2 Implemente la funcin AUX de la Tabla 2 con el mnimo nmero de puertas NOR de dos entradas.
Nota: Slo se dispone de las entradas M, AO, BO y C i- 1 y no de sus complementarias.

2.3 Implemente la funcin F = M . + A . + A . B . M utilizando nicamente dos multiplexores de 4


entradas de datos. Nota: Slo se dispone de las entradas M, A, By C y no de sus complementarias.

www.monteroespinosa.com - Clases de CEDG - Tfnos 91 54831 78

619142355

FEBRERO 2005

PROBLEMA 4
Se dispone de una lnea serie de datos por la cual se transmiten tramas de 8 bits de infol1nacin
[D7 .. DO] con una cabecera de 4 bits. El funcionamiento del sistema es el siguiente:

La lnea de datos en reposo se encuentra estado alto (" 1").


Cada vez que se quiere transmitir una nueva trama, primero se transmite una cabecera de 4
bits predeterminados, seguidos de los 8 bits de datos.
Los 4 bits de cabecera tienen el cdigo 0110.
Al detectarse la cabecera se generar una seal INICIO de duracin un ciclo de reloj.
Una vez registrado el octavo bit de infol111acin (D7), se generar una seal FIN de duracin
"
un ciclo ele reloj.
.
. ~ _ ~ ,~ e-\..w ~~s

~C(.~
Y)o~r~~
.
. ,.(.~
<..V\

.:

..........,5

......as , .. tl_~o.. ~~ ~tawc:>.


oe. '-"L '-~":'li

'P7

Un ejemplo ele cronograma de transmisin se puede ver en la Figllra 2.

Unea de

,- "1" I"1"
"O"

datos

"O" DO 01

. .

02 03 04 05 06 07

,,,
,,

..

dato
!'

:
CLK
,

,,,

INICIO
:

FIN

---'T"---'

_1..____._.'. ._ . __
i
i
1

1__-"-"r:__L_
'
,--- ........__--:-_
..!

-----_ ..---1'------------t----+-

,1 _ _ _ .: .. _____

.... _.,: .. _._ .....

::
I

1,

~.-_.

Figllra 2

4.1 Utilizando un nico registro de desplazamiento 74HC164, un comparador de 8 bits 74HC682 y


las pue11as inversoras necesarias, implemente el circuito que genere la seal Il\lCIO sobre el
esquema de la Figura 3. Dibuje todas las conexiones necesarias para un funcionamiento correcto.
Dibuje tambin la sefal de reloj (CLK) en la Figllra 2. (10 puntos)
Nota. El registro de desplazamiento 74HC164 eST formado por biestables tipo D con tiempos de set-lIp no
despreciables. En el anexo del examen se enC/lenT/"CI11 las camctersticas del 74HC164 y del 74HC681. lJtiltce la
info1711acil1 de dichas hojas.

www.monteroespinosa.es - Clases de CEDG - Tfnos 91544 53 77 . 619142355

FEBRERO 2007

J,"9 0

PROBLEMA 4 (30 PUNTOS)

et

e.. *"",. le

De c- fo ....... t.. J ,

re;fo res ...eefo.

Se desea realizar un juego de luces de navidad. El juego consta de 3 bombillas que se encienden
secuencialmente una tras otra, siguiendo la secuencia dibujada en la figura 6 en la que crculo negro
implica bombilla encendida, y crculo blanco indica bombilla apagada. El tiempo que la bombilla se
mantiene encendida ser valiable segn el modo de funcionamiento, y se explica ms abajo. En el
ejemplo de la Figura 6 se muestra un modo de funcionamiento en el que cada bombilla se mantiene
encendida durante 1 segundo.

t =O S
t =1 S
t =2 S
t =3 S
t =4 S
t =5 S

8G
8 G
88
8G
8 G
80
Figura 6

El circuito tiene cuatro entradas de control A, B C y D, todas activa a nivel alto y una nica sefial de
CLK. El sistema tiene varios modos de funcionamiento, explicados a continuacin:

relc~.i

Cuando la sefial A est activada, todas las bombillas penllanecen apagadas.


Cuando la sefial B est activada, cada bombilla se mantiene encendida durante un intervalo de
tiempo de 0.25 segundos.
Cuando la sefal C est activada, cada bombilla se mantiene encendida durante un intervalo de
tiempo de 0.50 segundos.
Cuando la sefal D est activada, cada bombilla se mantiene encendida durante un intervalo de
tiempo de 1 segundo. Este compOliarnento es el que se muestra como ejemplo en la Figura 6.
Cuando ninguna de las sefales de control est activada, todas las bombillas permanecen
apagadas.

Notas:
NUNCA se dar el caso de que haya ms de una sefial de control activada a la vez.
Siempre que est activada una seal de control, y pase a activarse otra diferente, todas las
bombillas se apagarn durante un ciclo de reloj y despus pasan al modo que les corresponda,
segn la entrada de control que se haya activado.
.
4.1 Dibl~iar el diagrama de transiciones de estados de una mquina de Moore que realice el circuito
descrito. Explique detalladamente el significado de cada una de las entradas, de cada uno de los estados
y de cada una de las salidas. Indique en el diagrama los valores lgicos de las entradas, de la salidas y
de los estados. Diga tambin qu pedodo tendr el reloj CLK que utilice. (15 puntos)
4.2 Supongamos que tenemos ahora los siguientes componentes: 1 contador mdulo 4, 3 contadores
mdulo 3, 3 descodificadores de 2 a 4 (Tabla de verdad en el Anexo del examen), un codificador de 4 a
2 (Tabla de verdad en el Anexo del examen), y un multiplexor de 4 entradas de datos de 4 bits cada una.
Dibuje las conexiones necesarias en la figura para realizar el circuito del apartado anterior. Se dispone
de una sefal de reloj CLK de peliodo 0.25 segundos. (15 puntos)
www.monteroespinosa.es - Clases de CEDG - Tfnos 91 544 53 77

619142355

/3IJ
T=
,1

Ce... ....

;..,DJ

D'

l5 S (

tI

fJCt.l~tII.,)O ~

v1'10.....

<:>

1,-0 (~c..c\..

o' Z 5 S)

I~ J~ ~ TI

0'5

,;zr
~~oie...,c'>o

eH/re Cc..~CA.

..... "., ..

d>e

e.J,~.f&JJ;C";c..eu "

Cu/lJC'j ....,"".. J

er'-f:

e..

~,

0001

Tabla de verdad del Descodificador 2 a 4


2-to-4
decoder

10

YO

11

Y1

Y2
EN

Y3

Outputs

Inputs

EN

10

Y3

Y2

Y1

YO

o
o
o

o
o

11

o
o
o

o
I

o
o
o

Tabla de verdad del Codificador 4 a 2

Entradas

13

O
O
O
O
1

12

O
O
O
1
O

11
O
O
1

O
O

10

O
1
O
O
O

Salidas
Y1
YO

O
O
O
1
1

O
O
1
O
1

10

'"...
11

(;

YO

"ro

<J

12

Y1

()

13

www.monteroespinosa.es- Clases de CEDG - Tfnos 91 544 53 77 , 619142355

...____________

o'Z5J
-"II~[> Contador x 4

01

00

o'5)

....__.---1[>

Contador x 3

i..s

~[>

Contador x 3

0'5

r--[>

Contador x 3

01
:.....

E~11

CLK

la

Y3 Y2 Y1 YO

-*

----. ~

E~11

-.>f

[1
o

I
Ho- 10
...

A= i
13= i

=i

~=

11

'-

.-

"C

ro

--..

12

13

YO

o
""
'5
o

Y1

E~11

ca

Y3 Y2 Y1 YO
~

13
is

12

C1
Y
MJ~

/~ , r:::.. LS 5

..--

--

(0'5 J)

.I3

Ud}

10

'Z'~ j

Multiplexor 4 entradas de datos

-,

"

.IZ

rfff

11
o

,: c'SJ

r4>
I.1

10

Descodificador 2-4

, ~

(o/uu)

10

Descodificador 2-4

Y3 Y2 Y1 YO

C -1 >-

dI

Descodificador 2-4

00

cb
.

",'

.'

"

l'

www.monteroespinosa.es - Clases de CEDG - Tfnos 91 5445377 ,.619 142

i'~

2'

35~

,t

..

.'0:'

...

..
~ "'C:ck..

Ii

---">

.Le

~a. c\c...

c.\.'" ~

11

1/

I""!>

e ..... ,...],;

0'5

11

"

Ir

O' Z.S SC'S ....,.,d Oj

.seJ ... ...,

fe = 1{
ID:: "1 I

Jo)

>e<3~'" t:>c.

"

c;p,.;.,..
co,~-.plM~:
.....,/. ~
_.
".)1
,......

f'L

113= 1

0<'

~.

(fo- e;ie'~~'p~/

11-.1' CdP"
'",
r-'
oc J,' Veo.

L"

..

'..J

'Ji

L."
~ ..
~C.r,
.~.~

r'
...

,.A -=.i
. I e(

Ce

o; )'~'"
~'A

>A ce...

;; ...
-. -

00

sel1c;ee.1

V&A-~J

fr'

pc...r/--r ~

ce..

~~)

'f

pt>~

lee.:.>.

CJt.

c.",e..fro

(.I.Jb.I")~O

de

c..,.... f.... ~ .. ,-

V4

o' z5;1I

e) ,
ter,>
o'"

Yl?~L)e.

oleJ

01

o'~

I
J

,dT I

t!J

"
O

"

v.... ,...., o)

"o

.<

C\.

4 5

~p';pe:c.e..,.

1:1.)

,jI'

=1s

,-

I
4i\

O
4r.

cI

C\.

1\

"'

'f

( cUf",fc... ;t.

CLK

Se"'c.e

U,II"

=.

1.00 ~ DiO

~ OOi

DO __

fe..

oi

~.10

FEBRERO 2008
PROBLEMA 4 (20 PUNTOS)
Se pretende implementar una mquina de estados que controle el funcionamiento de dos semforos
en la salida de un aparcamiento pblico, segn el esquema de la Figura 4.

Seal A
(semforo
verde si A'="1",
rojo si A="O")

Sensor 1
(51)

SealB
(semforo
verde si 8="1",
rojo si 8="0")

Sensor 2
(82)
Figura 4

Para ello se dispone de:

e.tc..

ho.ce.

~r"l(

x..fk

po.r... 11"'-6....

!..(

una se'al de reloj (CLK) con un periodo de 15 segundos.


dos sensores de presencia/estacionamiento, entenados en el suelo, que detectan cuando un
coche est parado encima de ellos, activando dos seales activas a nivel alto; SI y S2 (si el
coche est en movimiento, el detector no detecta nada). Dichos sensores estn situados a
una distancia equivalente a la longitud de 3 coches por detrs de la lnea del semforo, y
tienen una superficie mayor gue la de un coche.
dos seales A y B que controlan las luces de dos semforos. Cuando cualquiera de ellas est
activa (a nivel alto) enciende la luz verde del semforo correspondiente.

El autmata debe funcionar de la siguiente manera:

,t

En condicin nonnal, de poco trfico, los semforos estn en verde durante 1 minuto cada uno,
alternndose. Este modo de funcionamiento cambia si en una de las dos salidas se acumulan coches
mientras est dicho semforo en rojo. En el momento que la cola de coches parados llegue hasta la
posicin donde se encuentra el sensor de presencia/estacionamiento, el semforo de dicha salida se
pondr en verde en el prximo f1anco de subida de la se'al de reloj (CLK).
Tenga en cuenta 10 siguientes matices:

Cualquiera de los dos semforos estar verde durante un tiempo mnimo de 30 segundos y
un tiempo mximo de 1 minuto.
Los dos semforos nunca podrn estar en verde o en rojo simultneamente.

4.1 Dibuje el diagrama de estados de dicho sistema de control utilizando una mquina tipo Moore.
Indique CLARAMENTE los estados, las entradas y las salidas. (20 puntos)
www.monteroespinosa.es - Clases de CEDG - Tfnos 91 544 53 77 , 619142355

5'1 ....... ", A.


S2 ........... ~

.i 5s

e", vtrcX!

eo.\"; ).:..

pe",Sc..""Ol
M(

c .. c:"~

c>.... ;'j....(

ftAJ ... ,....)

e., 'l'l

i:e

WI

,Se"";,J.. r.
y~

f'<J{

C4.

off"o

f"'o", I'-'1"';" e_

/-',c"l( '1" I!ll",(

't "" q";

"t(~

A,

c"'~ se"''$o,-o). A ,...,.};r ~)

t!'J ~c-..,).,

C!kc., h."'t'"

k :

Vq.""J

"Su, ... er

~"

ce ol,/) sc:,,u,

fDtu,'.. ~Co/,(r

e..

~}e.,l~"c.

Es f/).VI;)~
d Al

e.

(o ....

~1

B,

('" 4'(

Af1

E"

4-.).

ec..~A.. )
30

Le re.. ~CL

ver.':t

13 I Ile4(

el fui

ef. ofr. .se"".,"

tlCl

!e..,er

yvtt:

11o,!

Cotl

ee

ee
o..e

olro)

'.(

CDJI

Je,'""" il.) e.

'3D

"1,,.

o/ro e" Sor CH.';",... c)" ( c)( c.t

sel'7';:Joo~

e ..

Cc..,-;'",,~

e ..

~\

Q3

"1,( p...j (

11

Me 6.,. I.,~,P

C~,.

pc..)(

.s '(

VI..

e.etoA

C'J

fc...~o

pCII. ..... 'ja..rl4."" J; ~co. r

Q~

"''''

Cc.v,

Q"1 ll

,., ,''''' ,.........

i}e

ve.r~e

OLf

S"e,...,;;.Jo."o A e"
11

QT

,,,,

v(r.lt

ef pr.,..er

Qo

leA..!" ,"

fe.... J~,... eo.......

""1 e.> k

pr;,o..er e!lf.. ~ ixJ.e o/ro

el .. ~il>

vtr~(

",t

;<j-..t

r(

po,) (

1'.:>.'

vtrh

II

Ver~('

Os

ojD

Q6

Q.,

S"e .....:'J..,'\>

"

A
f>

e.-, rOJ'o

"

"er.)f

FEBRERO 2009
PROBLEMA 4 (25 PUNTOS)
Se quiere realizar el mecanismo de control de puertas de entrada y salida de una nave espacial. En
la Figura 6 est representado un esquema del mismo. Entre el interior de la nave y el exterior, existe
una cmara intermedia de compensacin de presin con dos puertas, controladas por seales lgicas
Al y A2, que separan el interior de la nave del exterior. Al activar a nivel alto cualquiera de estas
dos seales, la puerta correspondiente se abre en un tiempo despreciable. Cuando se desactivan
estas seales, la puerta correspondiente se cierra en un tiempo despreciable. Existen tambin dos
pulsadores, el pulsador A, accesible desde dentro de la nave y desde la cmara intermedia, y el
pulsador B accesible desde dentro de la cmara intermedia y desde fuera de la nave. Tambin
existen un extractor de aire, controlada por una seal lgica E, cuya misin es extraer el aire de la
cmara de compensacin (cuando se activa E a nivel alto) y un impulsor de aire, controlada por
una seal lgica 1 cuya misin es insuflar aire a la cmara de compensacin (cuando se activa 1 a
nivel alto). La presin dentro de la nave es P >0 y la presin fuera de la nave es P=O. Asimismo en
el interior de la cmara de compensacin tenemos un sensor de presin SI SO que tiene tres posibles
salidas: Si SI SO vale 00 la presin en la cmara es O, si vale 01 la presin en la cmara est entre
Oy P y si vale 11, la presin en la cmara es igual a P.

sensor de
presin

(51

SO)-----I~

A1

interior
nave
espacial

exterior
(espacio)

cmara
compensacin

1
i~p~lsor/

ae aire

Figura 6
El sistema debe funcionar de la siguiente manera:

1. En el estado de reposo las dos puertas Al y A2 se encuentran cerradas (Al=O y A2=0).


2. Cuando un astronauta que se encuentra dentro de la nave quiera salir al exterior, primero
debe pulsar el botn A. - La pulsacin de A ser de duracin suficiente para que sea
registrada correctamente en el siguiente flanco de reloj. En ese instante el impulsor de aire
empezar a llenar la cmara de compensacin con aire hasta que la presin interna dentro de
la misma sea P.
3. Cuando la presin en la cmara de compensacin sea P, se abrir la puerta Al y se
mantendr abierta durante 5 segundos, cerrndose a continuacin. Durante esos 5 segundos,
se supone que el astronauta puede entrar en la cmara de compensacin.
4. A continuacin el astronauta puede pulsar B. La pulsacin de B ser de duracin suficiente
para que sea registrada correctamente en el siguiente flanco de reloj. En ese instante el
extractor de aire empieza a actuar hasta que la presin en la cmara sea O. Si durante este
tiempo, el astronauta pulsa A, se pasar a la situacin del punto 2.

www.monteroespinosa.es - Clases de CEDG - Tfnos 91 5445377 , 619142355

Ai,l\t/~/I

L ., .--. :

xxxx
io

07-Xi

~=;)0 p-'" ilt

0).( '\1..(. ,,.


IL

r-L"

e><fr,er v..>k DO

)<

01 xx

~~ ,..tI..

6, SilVA<:'" @

Oy.....)

XOII

OXoo

,,'" r....eJ ..r A

Q~ _

p..ort... A{ e..~; e.. t.. I 5 se.:t"""~~

Q~

e"h-.. ye..,&>,

o..I\-r

k.J~"

"fo.(

l! c.:.. f.:.)
P=o

""~~1l
Y

'1<1

pn:,;"o'"

l'

5. Cuando la presin dentro de la cmara de compensacin se iguala a 0, se abrir la puerta A2


y se mantendr abierta durante 5 segundos, cerrndose a continuacin. Durante esos 5
segundos, se supone que el astronauta sale de la cmara de compensacin hacia el espacio
exterior.
Alternativamente, si el astronauta est fuera de la nave y quiere volver al interior de la misma:
Primero deber pulsar el botn B, que se encuentra fuera de la nave. La pulsacin de B ser
de duracin suficiente para que sea registrada correctamente en el siguiente flanco de reloj.
En ese instante el extractor de aire empieza a actuar hasta que la presin en la cmara de
compensacin sea O.
Cuando la presin en la cmara de compensacn sea 0, se abrir la puerta Al y se
mantendr abierta durante 5 segundos, cerrndose a continuacin. Durante esos 5 segundos,
se supone que el astronauta puede entrar en la cmara de compensacin.
8. A continuacin, el astronauta deber pulsar el botn A repitindose 10 apuntado en los
i acin del unto 6.
puntos 2 y 3. En caso de ue ulsase
y se
9. Cuando la preSlOn en a cmara de compensacin sea .P, se abrir la puerta
mantendr abierta durante 5 segundos, cerrndose a continuacin. Durante esos 5 segundos,
se supone que el astrona:uta puede volver a entrar en. la nave.

Para implementar este sistema se dispone de una seal de reloj de 5 segundos de periodo.
Nota. Nunca pueden pulsarse simultneamente los pulsadores A y B.

4.1 Indique CLARAMENTE cules son las entradas y las salidas de la mquina de Moare que
controla el funcionamiento de este sistema. (2 puntos)
4.2 Dibujar el diagrama de transiciones de estados de una mquina de Moare que realice el circuito
descrito. Explique CLARAMENTE el significado de cada una de las entradas, de cada uno de los
estados y de cada una de las salidas. (15 puntos)

4.3 Suponga ahora que las puertas Al y Al no se abren ni cierran en un tiempo despreciable SL'10
que tardan 10 segundos en abrirse cerrarse. En este apartado, mientras se est abriendo o cerrando
alguna de las puertas, el sistema ignora cualquier pulsacin de A B. Dibuje ahora el nuevo
diagrama de estados de la mquina de Moore. Para cada estado explique 10 que significa el mismo y
la salida que se obtiene. (8 puntos)

www.monteroespinosa.es - Clases de CEDG - Tfnos 91 5445377

619142355

,( ;x r-.7<

bXX1.

10xx

OixX

Oxoo

>,CM>'

;xxxx

SEPTIEMBRE 2007
PROBLEMA 4 (20 PUNTOS)
Se desea proteger los datos enviados por una lnea serie midosa, LS, mediante la insercin de un
cdigo de seguridad de 2 bits al fmal de cada palabra de 4 bits de datos enviados. Este cdigo de
seguridad se compondr atendiendo a las siguientes reglas:
Los 2 bits del cdigo de seguridad, SI SO, codificarn el nmero de '1' que a al'ecen en la ~-_ _
palabra de 4 bits de datos enviada.
EN e) VOl ... c..lr.. c\. c-t
La palabra de datos nunca ser el 1111. Ih...'1C... h.. h..( "1 "''''0)
,",CMe ~ A' "".... r.
El sistema dispone tambin de una sefal de habilitacin, EN, que es S111 rona con e re 0.1 y que
se activa a nivel alto cuando est listo el primer bit de la palabra de datos a enviar por la lnea
serie LS, indicando el inicio del proceso de generacin del cdigo de seguridad. En estado de
reposo, la sefal EN est a cero.
El cdigo de seguridad (SI SO) slo es vlido una vez que se han recibido los 4 bits completos.
Los bits SI SO tendrn una duracin equivalente al perodo de reloj y son sncronos con l.
Al tenninar de recibirse los cuatro bits, se debe generar una sefal activa a nivel alto llamada
. "Cdigo de seguridad vlido", CSV, que tendr la duracin de un ciclo de reloj.
Una vez que se ha generado el cdigo de seguridad y la sefal CSV, se vuelve a atender a la
sefal de entrada EN por lo que si EN est activada, se vuelve a proceSal' una nueva palabra de 4
bits yen caso contrario el sistema vuelve al estado de reposo.

4.1 Determine qu entradas y salidas tiene el sistema. (2 puntos)


4.2 Dibuje en un diagrama de tiempos, la fonna temporal de las entradas y las salidas para la palabra de
datos de 4 bits '0010'. (3 punros)
4.3 Dibuje una mquina de estados de Moare que genere el cdigo de seguridad, SI SO, Y la sellal CSV
_
e identifique cuntos estados tiene y cul es el significado de cada estado. (15 puntos)

lLt t

ENTI?.ADIH :

EN

S.

So

LS

L. J:

por 4.'1v{

'j '-"'p) de

GS'

Ci..iI\

Se.

EN:

E:'rv

)Lf. 2{

eL ..{

.,

1~ 1~ 1~ l .," l ~" l ~ l l
1 lXl><l><J
I

EN

LS

1-

1
I

www.monteroespinos~;es::.

(tlO

e... Cfer

),c.cc

e.J

'-{

t/j

c'-'e-Yle\"

J. . eh.. pOo..... 1"7"))

-",

-",

, t
,

cS'v

e,., In.,,, e... se,-.'t,

'-1 b: b

e..... pe r ..... I"toJ


=1

e>-

si

f'

ve. . .

,-

Clases de CEDG - Tfnos 91 5445377 , 619142355

C.$V:

fb'~ "'I.~,,( Sc..Cc u,,",

Ocl f~c) i>e

rc.e,;~;p e( "lO~;

f.

I~
l~

C\J~" ~'!>

1 bd

re ,;

vr?o}

6'-01>

Z b; ,~

re,: b,'c)IlJ

3 '!';h

re ,; b;boJ

,troj

Q{>

:
:

Oz

==

Ut1

oJ
\

Os

cp

he~

..

!c..,:C'.., ~t)

Vc..\ko,1

O, -

Q3

cp
\

Q6 =

u.-1
I

1 y ... .., ~'

UYJ

Q'1

==

'1'

vOJ
\

C>oJ \~ y ""1 '1'

Q1=

cl>oJ

~ ObJ

cJ> y

Ul1

Oi == trel 1
4 b; 1>

ttc.; b:~!.I

Qcr

c.vt.. ~fl)
I

Q1Z. ==

"''1 cp

, I

\ I

t>

01.0=
i/C.j

""el (/J Y

UI'!

I~ ,

QI/=

M Po,RtANJ':

Ac)t~l,

).,a.y

cp

' I

l'
CCJArRO

00)

~ eJP..~o 1~'I;e..,..e

cl!

repQJo,

ece

'1 f #

'1\0(

yI...,

Jc..e:~

TorAL:

p..f re,; 1,:,.

heo~'"

e..

,R:t...e..o'",

c. '"'f p (ek..

uf" ~o ,

G~ (J~II ,I",c.t.,..:r) to~ !~ X

e"..

~I >0

(~

Lnea de
datos

-~

el\<
74x682

Crear

~ PO
3

Le

A
B

74HC164

Crack

00
I~ P1

,<o..

..--- 01
5

I~ P2
7
. - - Q2

QA QB Qc Qo QE QF QGQH

'-

T:l~

~~
12

JJ~
14

\ --=-

16

CJ

P3
03
P4
04
P5
OS
P6

PEOO

PGTO

h. 19

........_

.....

Q6

'O~ P7
~ 18

07

lo \l 1i t O Il 1fI , 11 J
~

Figura 3

4.2 Utilizando un contador binario 74HCl63 (infonnacin en el anexo), una bscula Set-Reset, las
puertas inversoras necesarias, y paItiendo de la sefal Il\1JCIO implemente el circuito que genere la
sefal FIN sobre el esquema de la Figura 4. Dibuje todas las conexiones necesa11as para un
funcionamiento correcto. Se valorar el grado de simplifIcacin. (10 puntos)

INICIO
el'"
74x163
2
.

CLK

,--,\

L/

QN

ENP
ENT
(}

()

o
t:>

3
4

5
6

CA

B
C

OB
OC
00
RCO

Figura 4

www.monteroespinosa.es - Clases de CEDG - Tfnos 91 5445377 , 619142355

14
13
12
11
15

VltJ

FEBRERO 2005

Problema 5

A continuacin se describe un componente en lenguaje VHDL.

b~~ ""t'CY"O\"()
~ ~ec.utct. en

library IEEE;
use IEEE.stdJogic_1164.ali;
use IEEE.stdJogic_arlth.all;
entity V74xxxx is
port (CLK, CLR_L, LO_L, ENP, ENT: in STO_LOGIC;
O: in UNSIGNED (3 downto O);
O: out UNSIGNEO (3 downto O);
RCO: out STOJOGIC );
end V7 4xxxx;
architecture V74xxx_arch ofV74xxxx is
signallO: UNSIGNEO (3 downto O);
begin
- \
process (,9 L15, ENT, I ~ en T~I do.d no ~nd,Cl....
begin
~ if (CLK'event and CLK='1') then
2 if CLR_L='Q' then 19 <= I'(o';:
+ th':"::e:':":r~
s -=->-:-'o-::')"";/ __
';> Sisnirlco.. ::'U"e. ponemos
s elsif LO_L='Q' then 10 <- O; ~
l t::t:QO'2:. lo~ bit::, de m o.. CG\..O,
l elsif (ENT and ENP)='1' thenlO <= 10 + 1;
L. C.LRsnc~no o.c!::iVQ Q n'lve.1 ~
5 end'f If;
.
pOne.. Lo...
do- Q. ~
I
b en d 1;
LD sncrono a.cDvo oif (IQ=15) and (ENT='1') then Reo <= '1';
else RCO <='0';
(llve.L , Q.O.v;p- DenLo.w..lich
end ir
cuent o.. OJ::lCen ~ n te c.lo..oclo
r~ O <= 10; - -, co.cn.. \Q en Lo. m..lIdct.
EN' = ENP= ~

<

9-lcLY'C..() t

to.

d
l\jodefBnde.

\~C. meV1~<-,--+\--,----t

de 014<: perod.e~ndede

I Q.. ~ I Q d~ CLk...
Qca oca \.O o.. T"live,Lt S\.lle.

i ~ d.1l ,p '(\0..). ck <:\lc:nto.


li) I-\QIo, Li ta..c1o pe-< El-JT

u -

t::

O-\)

~l:

"

end process;
'- end V74xxx_arch;

Nota: El tipo UNSIGNED es equivalente al tipo STD_ LOGIC_VECTOR que permite la funcin adicional "+"
que es la funcin "suma de nmeros naturales".

5.1 Sobre el bloque de la Figura 5, dibuje las entradas y salidas del componente y explique detalladamente su
funcionamiento.
Nota: Las entradas se dibujan a la izquierda y las salidas a la derecha del bloque.

5.2 Modifique el cdigo VHDL para que:


a) El reloj se active con el flanco de bajada.
b) La seal RCO sea activa a nivel bajo.
c) Funcione en mdulo 10. En este caso, la seal RCO debe ser activa cuando el componente est en su ltimo
estado.

Stlt

----'
71

es

U(\

(ot\~)c.{

(-SC

e(~e.hl. vYl~ u.\o U~((\J ev,l.o.. d-e.

, GIl(

'

.4

, CLR-L

aa~ .
<So

t.l"

u
www.monteroespinosa.com - Clases de CEDG - Tfnos 91 54831 78 , 619 142 355

[ C\

lS)

,
\..l ('\

Rco <=--=

,
1;

q '" --\~el'\
'-(,\

\~ ~ ~= ~ -\he",

\. e

\.se. Te; c:=~ (t':J t~rS

I'Q,-:-&!\-'

\'0' ) ;

4 ..5

fl"} \ \;
S e'\a 'i.~;

'1 ,~

\1 Q ~ q) cu~

(.t-;:. \ l.')

~'-"ev ~o ::: \ \'

tflNational Semiconductor

MM54HC164/MM74HC164
8-Bit Serial-in/Parallel-out Shift Register
General Description
The MM54HC164/MM74HC164 utilizes advanced silicongate CMOS technology. It has the high noise immunity and
low consumption of standard CMOS integrated circuits. It
al so offers speeds comparable to low power Schottky devices.

OUTPUTS

This 8-Bit shift register has gated serial inputs and CLEAR.
Each register bit is a D-type master/si ave flip flop. Inputs A
& B permit complete control over the incoming data. A low
at either or both inputs inhibits entry of new data and resets
the first flip flop to the low level at the next clock pulse. A
high level on one input enables the other input which will
then determine the state of the first flip flop. Data at the
serial inputs may be changed while the clock is high or low,
but only information meeting the setup and hold time requirements will be entered. Data is serially shifted in and out
of the 8-Bit register during the positive going transition of
the clock pulse. Clear is independent of the clock and accomplished by a low level at the CLEAR input.

14

13

12

10

11

<

1
A

2
B

SERIAL INPl,lT$

as

17

Oc

00,

GNO

OI,lTPVTS

Truth Table
Inputs

Outputs

...

aH

Clear

Clock

QA

QB

L
H
H
H
H

X
X

X
X
H
X
L

OAO

OBO

OHO

H
L
L

OAn

OGn

OAn

OGn

OAn

OGn

i
i
i

H
L

= High Level (steady state), L = Low Level (steady state)

X = Irrelevant (any input, including transitions)

= Transition from low to high level.

OAO, OBO, OHO = the level of OA, OB, or OH, respectively, before the
indicated steady state input conditions were established.
OAn. OGn = The level o OA or OG before the most recent
the clock; indicated a one-bit shift.

CEDG

transition of

Pgina 10 de 11

16 de Febrero de 2005

SN54HC682, SN74HC682
8-BITMAGNITUDE COMPARATORS

(~

Compare Two S-Bit Words

FUNCTION TABLE

100-kQ Pullup Resistors Are on the


Q Inputs

DATA
INPUTS

Package Options Inelude Plastie


Small-Outline (DW) and Ceramie Flat (W)
Paekages, Ceramie Chip Carriers (FK), and
Standard Plastie (N) and Ceramie (J)
300-mil DIPs

P,Q

p;-Q P>Q

P=Q

P>Q

P<Q

The P < Q function can be


generated by applying 'P"";Q
and P"'>'Q to a 2-input NANO
gateo

description
These
magnitude
comparators
perform
comparisons of two 8-bit binary or BCD words.
The 'HC682 feature 100-kQ pullup termination
resistors on the Q inputs for analog or switch data.

OUTPUTS

MM54HC163/MM74HC163 Synchronous
Binary Counter with Synchronous Clear
These counters may be preset using the LOAD input. Presettng of all tour flip-f/ops is synchronous to the rising edge
of CLOCK. When LOAD is held low counting is disabled and
the data on the A, B. C, and D inputs is loaded into the
counter on the rising edge of CLOCK. If the load input is
taken l1igh before the positive edge ot CLOCK the count
" ODeration will be unaffected.

L-f'1,

CLEAR ----,"
163
LOAD

L _____________ _

CLOCK

163
ENABLE P _ - - t - - + '
ENABLE T - - - t - - + '

H ~ l1igl1 level, L = low level


X ~" dont care, t = low \0 high transi\ion

'HC1621HC163
OUTPUTS

CLK

CLR

ENP

ENT

Load

Function

X
H

H
L
X
H

X
H
H
H
L
H

Clear
Count & RC disabled
Count disabled
Count & RC disabled
Load
Increment Counter

H
H
H

i
i

H
H

CEDG

L
X
H

U,.--------------r--------------

======- =~ - -~ ~ ~ . .:.
INDpAuTTAs{c:====:~~~:r
,...----t---r-------------D--1r---;--"T~==== ====-=== =...:..

Al! of these counters may be cleared by utilizing the CLEAR


input. The clear functon on the MM54HC162/MM74HC162
and MM54HC163/MM74HC163 counters are synchronous
to the clock. That is. the counters are cleared on the positive edge of CLOCK while the clear input is held low.

X
X
X

(SVNCHRONOUS)

OA==
=
=
-+-t--+---'
{
Oa _ _

OC _ _

0o __

RIPPLE CARRY ---t---r-::;12----r.1:;"'37::14--7,


OUTPUT
sequence:
(1)
(2)
(3)
(4)

2
- - - j O. . .~-INHlaIT-

CLEAR PRESET

Clear outputs to zero


Preset to binary twelve
Count to thirteen, fourteen, fifteen. zero. one and two
Inhibit

Pgina 11 de 11

16 de Febrero de 2005

SEPTIEMBRE 2005
PROBLEMA 3 (25 PUNTOS)
Se desea diselar un contador binario libre de 3 bits, (B2 Bl BO), que permita contar hacia aniba
cuando una selal de control VID es '1', o hacia abajo cuando vale 'O'.

3.1 Dibuje el diagrama de estados del contador utilizando una mquina de Moore con OCHO
estados, cada lillO de ellos CODIFICADO con su valor en binario. Indique CLARAMENTE las
entradas, las salidas, los estados y su codificacin. (5 puntos)
Ejemplo: Nmero 3 = estado (Oll) = salida (Oll).
3.2 Complete la siguiente tabla de transiciones y excitaciones en base al diagrama de estados del
contador obtenido en el apartado 3.1 utilizando biestables tipo D. (5 puntos).
(Q2 Ql QO) = estado actual
(Q2* Ql * QO*) = nuevo estado
(D2 DI DO) = entradas de los biestables tipo D
(B2 Bl BO) = Salidas del contador

VID Q2 Ql
O
O
O
"
O
O
O
O
1
1
O
O
O
1
O
1
O
O
O
1
1
1
1
O
O
O
1
1
O
O
1
1
O
O
1
1
O
1
1
1
1
O
1
1
1
1
1
1

QO Q2*
O
1
O
1
O
1
O
1
O
1
O
1
O
1
O
1

Ql* QO*

D2 DI DO B2 Bl BO

3.3 Obtenga las expresiones simplificadas por Kamaugh para las entradas de los tres biestables,
...
(D2 DI DO), Y para las salidas del contador, (B2 BI BO). (5 puntos)
3.4 Dibuje la implementacin final del circuito necesario para obtener DO y DI con el mnimo
nmero de puelias XOR, AND y/o OR de dos entradas .. Disponemos de la selal U/D y de su
complementmia. (5 puntos). Nota: Se valorar la claridad.
3.5 Asumiendo que la frecuencia del reloj que usamos es fija, modifique el diagrama de estados del
apmiado 3.1 para que el contador cuente a la mitad de velocidad. Suponga que la selal UlD
permanece invariable. (5 puntos).

www.monteroespinosa.es - Clases de CEDG - Tfnos 91 5445377 619142355

~ .S ~a 'u.~\~ c.a., .~ *("'lO~ ~. t-~~ ~\O ~~(\e iYl S ~


o-..Q\~ ~n \\~S~~ e 'o~~~r ...e.-~ce...c~~ 'dos. ef..~ib5
el

O\\~{)a.\e~ L~ eso<;. \\ s~ )e ~~f( eLct. Set..\:...~ no


CaMbi.o. te'S~eG\o .'e Jlo. o..n \.erl;" ).

SEPTIEMBRE 2005

'~

Problema 4

4.1 Para la siguiente Mquina de Estados codificada en VHDL, obtenga el diagrama de estados indicando
CLARAMENTE los estados, entradas y salidas.

LIBRARY eee;
USE ieee.stdJogic_1164.al!;
ENTITY Automata 1 IS
PORT (Clock, Resetn :IN STO_LOmC;
w
:IN STO_Lomc;
z
:OUT STD-,-LOGIC);
END Automata 1;

ARCHITECTURE Behavior OF Automatal 18


TYPE State_type IS (A,B);
SIGNAL y : State_lype;
BEGIN
PROCESS (Resetn, Clock)
BEGrN
IF Resetn = 'O' THEN
y<=A;
ELsrF (Clock'EVENT AND Clock = 'l')THEN
CASE Y r8
WHEN A=>
IF w = 'O' THEN
y<=A;
z<='O';
ELSE
y<=B;
z<=w;
END IF;
WHEN B=>
IF w =~iO' THEN
y<=A;
z <='0';
ELSE
y<=B;
z<="W;

ENO rF;
ENDCASE;
ENDIF;
END PROCESS;

END

Behavior~

www.monteroespinosa.com - Clases de CEDG - Tfnos 91 54831 78 , 619142355

4.2 Para la siguiente Mquina de Estados codificada en VHDL, obtenga el diagrama de estados indicando
CLARAMENTE los estados, entradas y salidas.

UBRARY ieee;
USE ieee.stdJogic_1164.all;
ENTITY Automata2 rs
PORT (Clock, Resetn :IN STD_LOGIC;
w
:JN STD_LOGIC;
z
:OUT STD_LOGrC);
END Automata;
ARCHITECTURE Behavior OF Automata2 IS
TYPE State_type IS (A,H);
SIGNAL y: State_type;
BEGIN

PROCESS (Reseln, Clock)


BEGIN
Ir: Resetn -= 'O' THEN
y<=A;
ELSrF (Clock'EVENT AND Clock = '')THEN
CASE Y IS
WHEN A=>
IF w '" 'O' THEN
y<=A;
ELSE
y<=B;
END IF;
WHEN B=>
IF w = 'O' THEN
y<=A;
ELSE
y <= B;
ENDIF;
END CASE;
ENDIF;
END PROCESS;
PROCESS (y, w)
BEGIN
CASE Y IS
WI-lEN A =-,>
z<= 'O';
WHEN B~>
END CASE;

END PROCESS;
END Bchavior;

www.monteroespinosa.com - Clases de CEDG - Tfnos 91 54831 78 , 619142355

FEBRERO 2006

PROBLEMA 2 (20 PUNTOS)


El sistema de apertura de una caja fuerte dispone de dos pulsadores: Pulsador BLANCO y pulsador
NEGRO, que definen sendas seales BLANCO y NEGRO activas a nivel alto. La caja fuerte se
abre mediante la generacin de una seal de apertura OP, activa a nivel alto, que abre la puerta de
la caja. Dicha apertura se produce si y solo si se efecta una secuencia correcta de los pulsadores,
que es: BLANCO-BLANCO-NEGRO; es decir pulsando BLANCO dos veces consecutivas y luego
NEGRO.
El sistema tambin genera una seal de alarma, AL (activa a nivel alto), que se activa al finaliZar la
introduccin de una secuencia de tres pulsaciones, si esta secuencia no fuera la correcta.
La operatividad del sistema es la siguiente:

C)

El sistema se encuentra inicialmel)lte en un estado de reposo, con la puerta de la caja fuerte


cerrada y ambas seales OP y AL desactivadas.
Una vez introducida la secuencia correcta (BLANCO-BLANCO-NEGRO) se activa la seal
OP (OP=l), la caja se abre y permanece abierta hasta que se cierra manualmente.
El sistema se RESETEA, volviendo al estado inicial de reposo, pulsando los dos pulsadores
a la vez (BLANCO y NEGRO). Esta accin slo se realiza al finalizar una secuencia de 3
pulsaciones (correcta-6 no). No se considera que se puedan pulsar los dos pulsadores a la
vez en ningn otro momento.
La seal de alarma se debe activar (AL=l) si la secuencia introducida de pulsadores no es la
correcta, pero cuidado: dicha activacin se debe producir al finalizar de introducir el-cdiw
de 3 pulsaciones. Esta decisin de diseo sirve para evitar dar pistas de cual de las tres
pulsaciones ha sido la errnea.
A la hora de dibujar el diagrama de estados tenga en cuenta:
o que todas las pulsaciones duran varios ciclos de reloj,
o que entre pulsacin y pulsacin' pasan varios ciclos de reloj sin tener ningn pulsador
pulsado,
o que ara c siderar activo el pulsar BLANCO NEGRO, hace falta pulsar die o

~2.1 Dibuje el diagrama de estados de dicho sistema de apertura. Indique CLARAMENTE el tipo
de Mquina utilizada en su diagrama (Moore o Mealy), los estados, las entradas y las salidas. (20
puntos)

~ ~ ~ )Q., ret'0so tAL:::o/ O~~O)

www.monteroespinosa.com - Clases de CEDG - Tfnos 91 5445377 , 619142355

<tq ?

\JPnro
~
<:)

\ "
\).'-'5QClo

i
\
e.V1 Za. ~\.SCLClo~
i\1C04"ec\o..

Cu.o..\.~a. ~\~

.QYl

-z.Q..

.(:)ul.sa...C.LO'\

(A-L':" <:)

,O~::o)

e,.n CctJ'V1'/t10

ya. e...~t\.eO .

.e...'C:WI.( o.

<t l \

=-

~lA~C.O ~~~
(1

(~o..

e,Y\ SQ.
\\

\\

~~~~~
l \

e...rrY'leo., (k.-=-o,
~ Camlrt-o

yo..

( AL-=-o t OP

'!;;.

ti).

0\>':'0)

Q.,((5l1.eO.

(--)
\

FEBRERO 2006

( \ PROBLEMA 5 (10 PUNTOS)

Muy

Jc;(,

pWr.Qr?p(Pr.r

VI-lPl

(Cc>"",b;..,c.c:o~

.:Le) )'ut) DI. 12je,.., I't:., d,( dc..J'C.

Consideremos el siguiente fragmento de un mdulo hardware descrito en VHDL.


library ieee;
use ieee.std_logic_1164.all;
use ieee.std logic arith.all;
use ieee.std=logic=unsigned.all;
entity XXXXX is
port (

AA:
BB:
CC:
DD:

in std_logic_vector(5 downto O);


in std logic vector(5 downto O);
out stct logi-;;
out std_logic_vector(5 downto O)

) ;

end XXXXX;
architecture behv of XXXX~ is
signal result:

pt<!'}""t.... 53 . (h!o\l"jU ro-

std_lOgiC_vector~ownto

v>1

6'0'" eoft.sl!)

O);

begin
resul t <= (' O" & AA) + ( , o'
DD <= result(5 downto O);
ce <= result(6);

&

BB);

end behv;

Tener en cuenta que el operador '&' pennite la concatenacin de cadenas de bits.


(por ejemplo, '1' & '0011 '= '10011 ').

5.1 Dibujar en el bloque de la Figura 6la interfaz del mdulo hardware (puertos de entrada y
salida), colocando las entradas a fa izquierda y las salidas a la derecha. (1 punto)

ce
AA~

DH

Bl5

Figura 6
i~.'

www.monteroespinosa.com - Clases de EDIG - Tfnos 91 544 53 77 , 619 142355

5.2 Cul es la funcin que realiza el circuito? Es decir, qu mdulo hardware estamos definiendo?
(1 punto)

5.3 Cul debiera ser el valor de 'N' en el tamao de la seal result? (Justificar la respuesta). (2
puntos)

W debe.

6,

Vea.eer

C0r"10

V-(!t"7OJ

e..

eJ~o, J.~ .et...mrj

ce
A~~),

..

At"'IhJ

lit'..

reJ ..fI

c....

s... ,..,..

VI'!

()e

"j ~I.,),. el

re.J...e fc.Oo k

)c-pkf."oo 1; ~ ext.-o..

6 b; h

M;',

&l.C&A

fe. Sul"7c\.

ek d.t

t cp J. AA, \ 4>' g
I

ni>('1fI\)J

J3 B). A4

e(!

q~(~...

b b Ij I

lo",c.1-e ~

d .. 'b 'i,t

kl't! . .

D)

rre o .

Despus de la fase de sntesis, la implementacin con puelias lgicas de otro mdulo hardware es el
representado en la Figura 7.

""r
......kri .., .If!

no.~

AA

--~------------~----~ A

ce

BB

:z

Figura 7

www.monteroespinosa.com - Clases de EDIG - Tfnos 91 5445377 , 619142355

Ce;,

ef

i _)

$ALiM

.s

'l'l.

5.4 Complete, rellenando las casillas necesarias que aparecen en trazo discontinuo, el siguiente
fragmento de cdigo VHDL de fOUlla que defina el esquemtico de la figura 7. (3 puntos).

(\

library ieee;
use ieee.std_logic 1164.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;
entity XXXXX is
port (

AA:

BB:

ee:

in std_logic
in std_logic
out std_logic

end XXXXX
architecture syn of XXXXX is
1

component NAND2
port( A, B : in std_logic
end component i

component INV
port( A : in std_logic
6 end component

Z: 'out std_logic)

S
q
10

1\
IL

component OR2
port( A, B
end component
component AND3
port( A, B,
end component

out std_logic)

in std_logic

out std_logic)

in std_logici

out std_logic)

declaracin de seales
11

r'

"0':' ";ij:;:!l'i~"""""" ............... :


L.:!~~~~ .. !-..:. !.1~:: f~\~, __ ", __ "" __ ., ____ , ____ ,. j
L,!~~~~.. X.: ..~!~"e~!l~~ __ .,. __ ., __ ,. __ ...... ____ .. j
~i~~~f

~-----------------._-------------------------------~

l'i
1~

begin

/!

It

'i";' 'AND2-- p;';;t"

ffi"ap:-- '(::;--, AA' --';' :'B~>--i3'i ----~ --;'2;:':;-- --q.--. --, --);':"""""""""

-____________________________________

__ o

'C)s

U2: INV port map


U3: OR2 port map

____________________

: (A=>
. (A=>

__________________ l ______________________

13B

, : Z=>

) :

JI.

"

R
B=> AA

"

~"" _
________ ______________

------------------------------------t----------------- ---7------------------T----------------------~-------- -------.-------

I'l

Z=> S

) ,

"".', ' j;' 'ND"3' 'p' ort' roa'p'-- '!'--(A;;; --.~-- -- --, '~'B~>' S' --,. ----t'C:':;-- SR----"" --;' z':;; ,'ce' --,."

lo

........................................... '" ................................................. .! ........................................... ......'_ .. "! ....................................... !

.... !. ....................

.)':--

"10 ..... ................ .... ' .......1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

! ... ..

end syn;

:al

5.5 Indicar qu modificaciones deberan realizarse en el cdigo anterior para obtener la versin
negada de la salida en lugar de la versin implementada. (3 puntos)
i[

r?;:/
f2l

)"Jf.lo;r

'0

eL

A.;",o; ....... , ..ul HOT ( J,.~

ANB por NANj)J :

cC"'p.t1I!~

NAND3

~-)-II-y-ll-i-j
....-e-,s;-,,., ....

15L;J

2.e

2o~iJ

'1'( "'... ..,1.;..,

ec,,(Clo..
,i:}"J T: sl.Ll?..,it
\.I

\,

AND3

LJS: ;f,J\!

www.monteroespinosa.com - Clases de EDIG - Tfnos 91 5445377

o..

ee Gb,.,,cttt",rt,
L pe"ti s'

Ut; ...,td:a.,,~ .......

1'<.( ...

619142355

.lI!';,,(

"M-,

lJ5

o,,,,.e..
'

,Pc<~""'r iA.=?Q( 13~)5, e =:1513,

r... f "'Ar \A =) T, t

,.

o."'..o.r

=~ ce)

e =) T)

SEPTIEMBRE 2006
PROBLEMA 1
La lectura de la temperatura de una cmara frigorfica, en grados centgrados, se obtiene con cuatro bits
(T3, T2, TI, TO) codificada en complemento a 2, siendo TO el bit menos significativo. Se necesitan dos
salidas (LR y LV) que activen un led rojo (LR) y un led verde (LV) respectivamente (ambos activos a
nivel alto). Para ello, se quiere implementar un circuito que active elled verde cuando la temperatura
de la cmara est entre -3 y +4 oC, ambas incluidas, y elled rojo en el resto de los casos.

1.1 Complete la tabla de verdad siguiente (Tabla 1). (5 puntos)

T3

T2

TI

TO

O
O
O
O
O
O
O
O
1

O
O
O
O
1
1
1
1
O
O
O
O
1
1
1
1

O
O
1
1
O
O
1
1
O
O
1
1
O
O
1
1

O
1
O
1
O
1
O
1
O
1
O
1
O
1
O
1

1
1
1
1
1
1

LR

LV

1.2 Obtenga la funcin lgica simplificada para la salida LV. Para dIo utilice un mapa de Karnaugh. (5
puntos)
1.3 Implemente la salida LV utilizando el mnimo nmero necesario de multiplexores de cuatro y de
dos entradas de datos. (JO puntos)

C)

www.monteroespinosa.es - Clases de CEDG - Tfnos 91 5445377

619 142355

SEPTIEMBRE 2006
PROBLEMA 1
-

La lectura de la temperatura de una cman~ frigorfica, en grados centgrados, se obtiene con cuatro bits
(T3, T2, TI, TO) codificada en complemento a 2, siendo TO el bit menos significativo. Se necesitan dos
salidas (LR y LV) que activen un led rojo (LR) y un led verde (LV) respectivamente (ambos activos a
nivel alto). Para ello, se quiere implementar un circuito que active elled verde cuando la temperatura
de la cmara eS,t entre -3 y +4 oC, ambas incluidas, y elled rojo en el resto de los casos.

1.1 Complete la tabla de verdad siguiente (Tabla 1). (5 puntos)

-r" (deci M" e )

o
LV

z.
3"i
5'

6
1

u\

-I?
-1

-6
-5
-"1
-3

-2

-{

T3
O
O
O
O
O
O
O
O
1
1
1
1
1
1
1
1

T2
O
O
O
O

1
1
1
1
O
O
O
O
1
1
1
1

TI
O
.0

1
1
O
O
1

1
O
O
1
1
O
O
1
1

TO
O

1
O
1
O
1
O
1
O
1
O
1
O
1
O
1

LR

o
o
o

o
(>

i
i

LV
i
1
1
1
1
o

.1

o
o

1-

1
1

.1
i
o
o
o

1
1
1

1.2 Obtenga la funcin lgica simplificada para la salida LV. Para dIo utilice un mapa de Karnaugh. (5
puntos)
,
1.3 Implemente la salida LV utilizando el mnimo nmero necesario de multiplexores de cuatro y de
dos entradas de datos. (la puntos)

www.monteroespinosa.es - Clases de CEDG,.. Tfnos 91 5445377 , 619142355

I~

00

01

11

10

00

fr

--))

O/

'1~

"

o
o

Vi

o
o
o

TITO

1)

10

Hvx

Tel'1(I"t o l,

Z Xi

--\

e.;"'pe~",r

PNCo.

v",,;,;. bll:)

L(

Nu X

A~ ~, ltA.u .....c1 ~ue

Q.p~re

r3 z

LV -

i'c....VI

e\ ~... l

Ti To

Ve.. r:c..

e"

l,e'J

(iZ t Ti)

t3 rz. ro

.:..

fr""'~ 1'10

C4. d c..

c\e

el;. f o.J1'Ict.'"

T3TZT,1

r1 To + T'3T2 Tb + T3
-t'3TZT1TO
- - + t3 rz l To + ti) (iy~)
~

...
n
r z 1. ro t Ts T T t t:()
r> fZ ,

-T3 r2
- T~

.:::;:.

+ 3 rz f:1

To
1-

+ T3

2 e.. ~. i:o,,~r~

Co>1

TZ

TZ T

1.

Z (

","

L'

';,.

'.

. .-

!1u)C

'1 k

T3
/ TZ

l :

I
Mv.x l

~ "

. .'

"

.
. 'T1. To

f?I

TiTO

I~

To t T1

, '.,'

,1

....

.;.,

= ro Ti+T1)

.'

==

ri To

+ Ti

Ti T o
,

.. ,

.. '... .,

"

....

J. + Ti fo . o ., Ti

f r1 (ro t

To t

O..

ro .o

ro)

ti ro . o

='

TiTo t T.;1 lo ,-

r -:1 Te . j

+ Ti ro

-1- Ti ro i

nTo

i
o

y ..... . . - - - -

C>

el

C';

Io

Ir

_ _.......... I,

_ _ _ _I

LV

.Il

Ti To

r)
el c.

Ir

r ..

y ....._.----J

i
I,
, ' 1 ' ;.I1,

NOTA

e<t~

~;rt.J.....-.t,..~;"Job;:('

il"lp{.-.(".f...r

'.,

""

.'

, .",

-4

4"( tt>'\eMoJ

be &..

c.. ....

OI-~v1, e...,

Mux

"

..

..

'

..

,.

To

-t-

t1

l.- .

Iy =

t Ti

ro (Ti" Ti)

Ti . To

--

TI-To

{r

ea.. la. he::..

d(

/er"'>

,'"",pl?t,...e-,r6. r 14,.,.eC."'-~((1

MlJX 2

<?",

Ce.XII

!, )

= ti TCd ti.ro

ji

j1(~)

Ti

+ T1.

(;DI t TLl]
Xo>

A.s;~""".1

e." el H.tJX Z

ntal: ~6. c\,

r,

TOiT1

[ri

~cpl

r.

NOtA:
To
o

t. "e

0
;1

..

(oLo t

r')

:r',

Io

~I

2)(1 :

re..

e", ec..~.J ~"lc..

e.JrA....l d( Cb..~) def M.u,X 'i X

pu~tJe,.." ,... p& - ... ~... .- e..,...,

Jt.

Ti

("1

'-f x2,

f.. J v",r;",,6et j c.,.....o e..., ir...

fYltr

~('oe I y ~ p:.-

S,,""''l ""

po,'... ",

f{Jx .

Z V"-r;", ~er"

s.;G. hc.r "I~(,

J... l d~

;'"

--" 2 e ... ~r .cl.,j de c.,,,,

ti lo
As{

y To + Ti se

Ti To

guY1c;o",e

ro,

evc~o

sc.

l1C6

I"7l,;e
_

l1e~A ~
I

\k..r;t:(.lA

~d",,'," ~c.. ...e.,l(, Si

M,}c..r\

Ji ,.().)cc)-,~..>\ I

J,t I&tt.J

Vj ....

'

Le.,

,)""'C1d''''l
)

Tiro ehl,e1'10j '""'I~C~,,~e.


tot\to

e..,

t.. 'oe. ti> f:G;o.e :

SEPTIEMBRE 2006
PROBLEMA 3
El circuito de la figura 2 funciona con una seal de reloj CLK con periodo T = 30 ns y ciclo de trabajo
variable.
tp

D Q

n-_~D Q
FF2

FF1

CLK------L------------~

Biestable FFl
Biestable FF2
PuertaAND
PuertaNAND

7ns
8 ns
3 ns
2ns

t setup

1 ns
2 ns

Parmetros de temporizacin de los


componentes del circuito

Figura 2

3.1 Si definimos como TI y TO los tiempos durante los cuales las seal del reloj CLK toma los valores
lgicos de 1 y O respectivamente, dentro de un periodo T, determinar justificadamente, sobre el dibujo
de este apartado, los mnimos valores que pueden adquirir TI y TO para un correcto funcionamiento del
circuito. Obtenga tambin la mxima frecuencia del reloj CLK que garantiza el correcto
funcionamiento del circuito para los casos: (a) ciclo de trabajo del reloj del 50 %; (b) ciclo de trabajo
del reloj diferente del 50%. (10 puntos)

..
1-

.J

T
TI

-1-

TO

---1

3.2 Con los valores obtenidos en el primer apartado, determine el rango del ciclo de trabajo de la seal
de reloj CLK que garantiza un correcto funcionamiento del circuito. Si no ha realizado el primer
apartado considere los valores de Tlmin= 14 ns y TOmin= 12 ns. (5 puntos)

3.3 Determine justificadamente, sobre un cronograma, el mximo tiempo de hold que pueden tener los
biestables FFl y FF2 del circuito de la Figura 2 para garantizar un correcto funcionamiento. Considere
para este apartado un ciclo de trabajo para la seal de reloj CLK del 50 %. (5 puntos)

www.monteroespinosa.es - Clases de CEDG - Tfnos 91 5445377 619142355

SEPTIEMBRE 2006
PROBLEMA 4 (20 PUNTOS)

r-'\
.

Disponemos de un sistema con:

~'EGRO,

Dos pulsadores que controlan las seilales de entrada BLANCO y


alto al ser pulsados.
Una seal de salida, OUT.
Una seal de reloj, CK, con un periodo de 10 ns.

activndolas a nivel

Se desea implementar una mquina de estados que realice la siguiente operacin:


Al activar la seal BLANCO, el sistema emite por su salida OUT una seal de frecuencia 50 MHz.
Al activar la seal NEGRO, el sistema emite por su salida OUT una seal de frecuencia 33,3 MHz
. Si no se pulsa ningn pulsador, el sistema emite por su salida OUT una seal constante e igual a
cero.
Nota. No se considera la activacin simultnea de las dos entradas:
NEGRO a la vez.

NO

se puede pulsar BLANCO y

4.1 DiseJ.lar el diagrama de estados de dicha mquina, indicando claramente qu representa cada estado.
(10 puntos)
4.2 Complete la Tabla 2 de transiciones y excitaciones en base al diagrama de estados de la Figura 3,
utilizando biestables tipo D (para la variable de estado QO) y tipo J-K (para la variable de estado Q1).
(10 puntos)
00/ O
01/ O

Codificacin de estados:
(Ql,QO)

qo = (0,0)
. ql = (0,1)
'l2 = (1,1)
'b = (1,0)

00/0

Leyenda en las transiciones:


00/0

01/1
01/1

A,B = entradas;

e=

salida;

Figura 3
(Ql QO)

o
1
1
1
1

www.monteroespinosa~es

o o
o o
o 1
o 1
1 o
1 o

o
1

o
1

o
1

,1

-'(1

o o
o o

1
1

1
1

1
1

1
1

)(

"o

,
.

'O

1
1
1

(")

){

,
(")

'X

')(

O
O
\
l

e
'0
(!)
(J_
I(t)

\
X

><

DO

Kl
'i

.'X

JI

\:..... 1--

(Ql * QO*)

estado actual;

A B Ql QO Ql* QO*

o
o
o
o
o
o
o

AB/C

{)
)t!'

,
~

o
\

'\

(;)

1)

'"O

E)

X.

><.

x
x

)(

nuevo estado;

0-

1<

)t.

v.. o

t)

x
X'
X

I
)

'><

<:)

rc>--

)(

)r'

- Clases de CEDG - Tfnos 91 5445377 619 142355

Tabla 2

T
Gh<

leo ,al~
6b

()

Yill"'l

~~t:l

'W~tt~e;

\.'.

~\

'1

'.~

D 1t I
"

",

C).
0\
\~. . ~

ltl

tXo
(

JO I

lo
01

EB~@

t,Cd
I

i!f
lO

C)

FEBRERO 2007
PROBLEMA 2
(~.

Se quiere construir un circuito que proporcione los bits (S7 ... SO) de la funcin aritmtica S =2n+ 14,
siendo n un nmero de 4 bits expresado en complemento a 1 [N3 N2 NI NO]. El resultado debe
expresarse mediante dos dgitos en cdigo BCD (cada uno de ellos de 4 bits).
2.1 Ignore la columna F y complete la tabla de verdad siguiente correspondiente a dicho circuito (5
puntos)
C..,
K' t3C...~

~
N3 N2 NI NO

o
\

Z.

3
Ll

?
6

--:

O
O
O
O
O
O
O
O

1
-{,
1
-S 1
-~ 1
-"3 1
-2- 1
1
o 1

-'

O
O
O
O

1
1
1
1
O
O
O

O
1
1
1
1

'"""

O
O

1
1
O
O

1
1
O
O
1
1
O
O

1
1

O
1

Dgito BCD
ms
si ,.ificativo
~

1 (!)
O O
1 b

(:;J

1 O

(2;>

6
O O O
O O O

Dgito BCD
menos
si ,.ificativo
O
<b
(9

I(

(5

()

C)

\.

C5 O

C>

'O

C0

o o

C>

l 'O

o O
6

l <:::::>

l O
\. t
t. o O
tD O O

O o o o
1 6 o (':) "C
O o O a
1
1 <9 o 6
1

O
l

O O O O O
1 O b O O

O
O
~

a
o
o

<O o
o o
{

([)

1
1 \
O \
O
1 "2
1 2
O

O Z
1
1
X
X
O
O
O 1
O \

2.2 Simplifique la seal F mediante Karnaugh en funcin de las variables NO, NI, N2 Y N3 de tal modo
que pueda realizarse con el menor nmero de puertas lgicas. Implemente dicha funcin utilizando
solamente una puerta AND y otra OR de dos entradas cada una. Nota: Se dispone tanto de las variables
como de sus negadas. (5 puntos)
.
2.3 Implemente la salida F utilizando el mnimo nmero necesario de multiplexores de cuatro entradas
de datos. Nota: En este caso NO se dispone de las variables negadas. (5 puntos)

2.4 Se quiere ahora construir un circuito que implemente la funcin S = 2n + 14 del apartado 2.1
utilizando sumadores. Para ello se dispone de dos cadenas de sumadores (Figura 4). En este caso
queremos que la salida S est codificada en binario (S4 S3 S2 SI SO) en lugar de en BCD. Tenga en
cuenta lo siguiente:

En primer lugar, siendo n la representacin de un nmero en complemento a 1, si ste fuera


negativo es necesario convertirlo primero a complemento a dos. Utilice para ello la primera
cadena de sumadores.

En segundo lugar tenga en cuenta que multiplicar por 2 un nmero binario implica aadir un "O"
a la derecha del bit menos significativo.

Por ltimo utilice la segunda cadena de sumadores para implementar 2n + 14. (JO puntos)

www.monteroespinosa.es - Clases de CEDG - Tfnos 91 5445377 , 619142355

;"V' .(h.,...G~

o
"

o
A

be..

'"e. \o"\-s meMo~


<~a l ~LcaJ...~\IO<;
1'\ ~ ctCO("t"'

e..r\ .\.ca.ba.

eJ

)s

S ~ 3 .::;..

. l'b. S \

~~

l..en~ ~ S

l I

=-0

kV10P

(J..Vv1O..<""'

~ Su...Wla.("

+e e..wo5 q-ue ~u.VI'ldc

~~

\'0-\0-

<5\ V\e.ces \o..m6s

e..-~eYYl0-0 ~ ~ Ocu.'re

\l3 ~Z ~\ !-lo

-~

e\ 4\\UVO

CoV!.

t..)3_

O-Co.rreo

(..0 :

\ \ ,

-t

~(ff:J

lc-elAeYnc6

~ $UvVl o . .'(

~ wt~\ ~,\>\LCo.(" fb\ G

\~

\V'leYYlcG

'1C-.

o t \ lo

~ ~S~"bO-' o.... 0.0..

l--ed-C\:.

-keos c&

h\\.c;, Ce ~ \)\t"wtero-.. ~Lla. 'leGL.lW"::t~QS I ~clVfa..d 'L( u...V'\ ? o- ~ exec\;,ct. ..

()
\~\ao
\,,\v-o-,i..O,1

Qb~\~~

www.monteroespinosa.es - Clases de CEDG - Tfnos 91 5445377 , 619 142355

e..sLd~05 1 {D\'
I

FEBRERO 2007
PROBLEMA 3
El circuito de la figura 5 funciona con una seal de reloj CLK con ciclo de trabajo del 50 %.

tD

A---I'

J---.-------I J

Biestable D
Biestable J-K
PuertaAND
PuertaNAND
PuertaXOR

B _ _ _ _-+-_ _---J

7 ns
8 ns
3 ns
2ns
3 ns

t SetuD

1 ns
2ns

Parmetros de temponzacln de los


componentes del circuito

CLK-------~------------------~

Figura 5

3.1 Utilizando los valores de la tabla obtenga justificadamente, dibujando un cronograma, la mxima
frecuencia del reloj (fCLKmax) del circuito de la Figura 5 que asegure un correcto funcionamiento del
mismo. (7 puntos)
3.2 Determinar justificadamente, sobre un cronograma, el mximo tiempo de hold (tholdmax) que
pueden tener cada uno de los biestables (el tipo D y el tipo J-K) para que el circuito de la Figura 5
funcione correctamente. (8 puntos)

www.monteroespinosa.es - Clases de CEDG - Tfnos 915445377

619142355

FEBRERO 2007
PROBLEMA 4 (30 PUNTOS)
Se desea realizar un juego de luces de navidad. El juego consta de 3 bombillas que se encienden
secuenciahnente una tras otra, siguiendo la secuencia dibujada ella figura 6 en la que crculo negro
implica bombilla encendida, y crculo blanco indica bombilla apagada. El tiempo que la bombilla se
mantiene encendida ser variable segn el modo de funcionamiento, y se explica ms abajo. En el
ejemplo de la Figura 6 se muestra un modo de funcionamiento en el que cada bombilla se mantiene
encendida durante 1 segundo.

t = OS
t=1S
t=2s
t=3S
t=4S

t=5S

8G
8 G
88
8G
8 G
80
Figura 6

El circuito tiene cuatro entradas de control A, B C y D, todas activa a nivel alto y una nica seal de
rel(~.i CLK. El sistema tiene varios modos de funcionamiento, explicados a continuacin:

C)

Cuando la seal A est activada, todas las bombillas permanecen apagadas.


Cuando la seal B est activada, cada bombilla se mantiene encendida durante un intervalo de
tiempo de 0.25 segundos.
Cuando la seal C est activada, cada bombilla se mantiene encendida durante un intervalo de
tiempo de 0.50 segundos.
Cuando la seal D est activada, cada bombilla se mantiene encendida durante un intervalo de
tiempo de 1 segundo. Este comportamiento es el que se muestra como ejemplo en la Figura 6.
Cuando ninguna de las seales de control est activada, todas las bombillas permanecen
apagadas.

Notas:
NUNCA se dar el caso de que haya ms de una seal de control activada a la vez.
Siempre que est activada una seal de control, y pase a activarse otra diferente, todas las
bombillas se apagarn durante un ciclo de reloj y despus pasan al modo que les corresponda,
segn la entrada de control que se haya activado.
4.1 Dibujar el diagrama de transiciones de estados de una mquina de Moore que realice el circuito
descrito. Explique detalladamente el significado de cada una de las entradas, de cada uno de los estados
y de cada una de las salidas. Indique en el diagrama los valores lgicos de las entradas, de la salidas y
de los estados. Diga tambin qu perodo tendr el reloj CLK que utilice. (15 puntos)
4.2 Supongamos que tenemos ahora los siguientes componentes: 1 contador mdulo 4, 3 contadores
mdulo 3, 3 descodiicadores de 2 a 4 (Tabla de verdad en el Anexo del examen), un codificador de 4 a
2 (Tabla de verdad en el Anexo del examen), y un multiplexor de 4 entradas de datos de 4 bits cada una.
Dibuje las conexiones necesarias en la figura para realizar el circuito del apatiado anterior. Se dispone
de una seal de reloj CLK de periodo 0.25 segundos. (15 puntos)
www.monteroespinosa.es - Clases de CEDG - Tfnos 91 5445377 , 619142355

~
<~

()

OO\C

() 0 1

COlO

~ ~ltl ~Zl
C{

lr~ve-n c.t. ~
et <h ~.JrcJ~
~SOc'l~ X xkO

0001

---~

'.s

/~
,
I

Contador x 4

Contador x 3
Contador x 3

Contador x 3

(~)

CLK-

Descodificador 2-4

11

EN

A-

10

Descodificador 2-4

EN

B-

10

Descodificador 2-4

CD-

13

'O

11

10
N

11

..1'-

YO

Multiplexor 4 entradas d~ datos

..,o

'5
o

11

C1

"O
ti!

12

ca

12

Y1

13

888
www.monteroespinosa.es - Clases de CEDG - Tfnos 91 5445377 , 619142355

10

Tabla de verdad del Descodificador 2 a 4


2-to-4
decoder

(',

10

11

EN

YO
Y1
Y2
Y3

Inputs

EN

11

Outputs

10

Y3

Y2

Y1

YO

o
o
o
o

o
o

o
o

o
o
o

o
o

O
Tabla de verdad del Codificador 4 a 2

13
O
O
O
O
1

Entradas
11
12

O
O
O
1
O

O
O
1
O
O

10

O
1
O
O
O

Salidas
Y1
YO

O
O
O
1
1

O
O
1
O
1

10
N

11

.... YO
5

-c
ro

12

-="
'O
o

Y1

13

,~~.------------~------------------~--------------------------------------www.monteroespinosa.es - Clases de CEDG - Tfnos 91 5445377 , 619142355

SEPTIEMBRE 2007

(~

PROBLEMA3

Considere el siguiente circuito y los datos que se indican debajo:

FF2

ENABLE - - - - 1 - - - - - - - - 1
CLOCK

tn

Biestable tipo-D
Puerta AND 2 entradas
Puerta AND 3 entradas

2ns
1 ns
1,5 ns

tsetup

1 ns

3.1 Utilizando los valores de la tabla obtenga justificadamente, dibujando un cronograma, la mxima
frecuencia del reloj (fCLKmax) del circuito de la figura que asegure un correcto funcionamiento del
mismo. (5 puntos)
3.2 Determinar justificadamente, sobre un cronograma, el mximo tiempo de hold (tholdmax) que puede
tener el biestable FFl para que el circuito de la figura funcione correctamente. (5 puntos)

3.3 Determinar justificadamente, sobre un cronograma, el mximo tiempo de hold (tholdmax) que puede
tener el biestable FF2 para que el circuito de la figura funcione correctamente. (5 puntos)

www.monteroespinosa.es - Clases de CEDG - Tfnos 91 5445377 , 619142355

SEPTIEMBRE 2007
PROBLEMA 4 (20 PUNTOS)
Se desea proteger los datos enviados por una lnea serie ruidosa, LS, mediante la insercin de un
cdigo de seguridad de 2 bits al tInal de cada palabra de 4 bits de datos enviados. Este cdigo de
seguridad se compondr atendiendo a las siguientes reglas:

Los 2 bits del cdigo de seguridad, SI SO, codificarn el nmero de '1' que aparecen en la
palabra de 4 bits de datos enviada.
La palabra de datos nunca ser elllll.
El sistema dispone tambin de una seal de habilitacin, EN, que es sncrona con el reloj y que
se activa a nivel alto cuando est listo el primer bit de la palabra de datos a enviar por la lnea
serie LS, indicando el inicio del proceso de generacin del cdigo de seguridad. En estado de
reposo, la seal EN est a cero.
El cdigo de seguridad (SI SO) slo es vlido una vez que se han recibido los 4 bits completos.
Los bits SI SO tendrn una duracin equivalente al peliodo de reloj y son sncronos con l.
Al terminar de recibirse los cuatro bits, se debe generar una seal activa a nivel alto llamada
"Cdigo de seguridad vlido", CSV, que tendr la duracin de un ciclo de reloj.
Una vez que se ha generado el cdigo de seguridad y la seal CSV, se vuelve a atender a la
seal de entrada EN por 10 que si EN est activada, se vuelve a procesar una nueva palabra de 4
bits y en caso contrario el sistema vuelve al estado de reposo.

4.1 Determine qu entradas y salidas tiene el sistema. (2 puntos)


4.2 Dibuje en un diagrama de tiempos, la forma temporal de las entradas y las salidas para la palabra de
datos de 4 bits '0010'. (3 puntos)
4.3 Dibuje una mquina de estados de Moore que genere el cdigo de seguridad, SI SO, Y la seal CSV
e identifique cuntos estados tiene y cul es el significado de cada estado. (15 puntos)

www.monteroespinosa.es - Clases de CEDG - Tfnos 91 5445377 , 619142355

SEPTIEMBRE 2007
PROBLEMA 5 (10 PUNTOS)

Disponemos del siguiente diagrama de estados de un autmata. Se desea implementar el mismo con los
biestables JK que sean necesarios.
lXXIOl

OXO 100

100/00

XX1101

Leyenda

Ea E1 E2 /

S1 S2

on, 10
101' 10
110/10
111/00

5.1 Represente la tabla de verdad de las entradas, estado actual, estado siguiente, excitaciones de los
biestables y salidas. Codifique las entradas como E o, El, E 2 , Y las salidas como Sl y S2. (5 puntos)
5.2 Simplifique por Kamaugh e implemente con la menor cantidad de puedas posibles (de cualquier
tipo) el circuito de excitacin de la entrada J del primer biestable y el circuito de generacin de la
salida S2 . (5 puntos)

www.monteroespinosa.es- Clases de CEDG - Tfnos 91 5445377

619142355

FEBRERO 2008

PROBLEMA 1
1.1 Sea un nmero binario de 6 bits sin signo, AS A4 A3 2 Al AO, siendo AO el bit menos
significativo. Implementar un conversor de este nmero a formato BCD. Para ello se dispone de
bloques sumadores de 2 dgitos BCD, con acarreo de entrada y acarreo de salida tal como se
presenta en el anexo 1, y el mnimo nmero de puertas lgicas adicionales que necesite. (15 puntos)
Bloque sumador de dos dgitos BCD con
acarreos de entrada y de salida.
Bit de acarreo
de entrada

Dgito en
BCD

Dgito Suma
en BCD

Dgito en
BCD

Bit de acarreo
de salida

www.monteroespinosa.es - Clases de CEDG - Tfnos 91 5445377 , 619142355

FEBRERO 2008
PROBLEMA 3 (15 PUNTOS)
3.1 Complete la Tabla 1 de transiciones y excitaciones, utilizando el nmero de columnas que
considere necesario, en base al diagrama de estados de la Figura 3, utilizando biestables tipo D.
(7 puntos)

Codificacin de estados:

qo=
q =
q2 =
<h =

Q1
O
O
1

QO
O
1
1

Leyenda en las transiciones:

AB/C

Figura 3

A,B

CJ

entradas;

e=
A
O
O
O
O
O
O
O
O
1
1
1
1
1
1
1
1

salida,

B Ql
O O
O O
O 1
O 1
1 O
1 O
1 1
1 1
O O
O O
O 1
O 1
1 O
1 O
1 1
1 1

(Ql QO)

estado actual;

(Ql * QO*) = nuevo estado

QO
O
1
O
1
O
1
O
1
O
1
O
1
O
1
O
1
Tabla 1

~
www.monteroespinosa.es - Clases de CEDG - Tfnos 91 544 53 77 , 619 142 355

3.2 Detemne las nmciones lgicas que excitan las entradas de los biestables tipo D del autmata
descrito por el diagrama de estados de la Figura 3. (4 punto.~)

3.3 Detennine la nmcin lgica que genera la salida e del autmata descrito por el diagrama de
estados de la Figura 3, e implemente dicha nmcin utilizando nicamente un multiplexor de 4
entradas de datos. Slo se dispone de las entradas, y no de sus seales complementadas. (4 puntos)

www.monteroespinosa.es - Clases de CEDG - Tfnos 91 5445377 , 619142355

FEBRERO 2008
PROBLEMA 3 (15 PUNTOS)
3.1 Complete la Tabla 1 de transiciones y excitaciones, utilizando el nmero de columnas que
considere necesario, en base al diagrama de estados de la Figura 3, utilizando biestables tipo D.
(7 puntos)

Codificacin ,de estados:

01 OO.
qo= O O
ql = O 1
~= 1
1
'h = 1 O
Leyenda en las transiciones:

AB/C

o
Figura 3

A ,B = entradas',

e = salida;
e.d"J
A
O
O
O
O
O
O
O
O
1
:1
1
1
1
1
, L.

(Ql QO) = estado actual;


--

~.1

B Ql QO
O O
O
O O
1
O 1
O
O 1
1
O
1 O
1 O
1
O
1 1
.
1
1 1
O O . O
O O .; 1
O
O 1
1
O 1
O
1 O
1
1 O
O
1 1
' 1 1
1

ti) =

bcl>

c::::

o 1/,// //

,!)1

o
o

><

<:>

O
X

)C

So

(1

6
o

<:>

i
i

t.

.C>

..x

!1.

o
X
i

:1

1
1

o
1

:><
1

<:::>

!Qtf (fH)

J Q:1 (-1

vo..r:c..htr.j (/
Q1 u1 QcI>.f:+I
o
o

(Ql * QO*) = nuevo estado

~------------~,,~--~~,
e>cC fG..c:o'l eJ

Tabla 1

www.monteroespinosa.es - Clases de CEDG - Tfnos 91 544 53 77 , 619 142 355

1)1 J

::: Do

~//, I//.

/// //L
' // ///

/// / / /
/ // / /
/// / /
// / / /
/ / /~
~// C;
// //
// /
// /,
// /~
/ 'l/
1/// /~
/ / '/0

yE~t"'J

oO)

coe.......",c.J
hQ.C{

f""e

;?

3.2 Determine las funciones lgicas que excitan las entradas de los biestables tipo D del autmata
descrito por el diagrama de es~dos de la Figura 3. (4 puntos)

S'l'?pe;~;c:c:..c:~1"I

00

00

fx

01

1(

>< (1

A6

C>

(!;)

01

'o

lo

i,
o

(i
jJ

11

lo

C>,

00

Ob

1/

GI~o

~.

QIQ."

10

Keo. .. I'7c.."-"J1.t:

pur

f)<-

C)

1~

1...}

1}

c>

C>

3.3 Determine la funcin lgica que genei'a la salida e del autmata descrito por el diagrama de .
estados de la Figura 3, e implemente dicha funcin utilizando nicamente un multiplexor de 4
entradas de datos. Slo se dispone de las entradas, y no de sus seales complementadas. (4 puntos)

Lo

p. . :MeIb,

r"'It'oic.....,tc!

~
G'~+

(>0

01
I

ee . . .i't:>ilo

(B

C.

14.r"'''-vc:Jk

00

O(

I(

o
o

x
o

C>

X
o

c:>

&(,(

p,-,uJe. 5e,. I

A~{, e{c,;.-tsj

Lo

fe""(. "'~J

,'.-

J>or&(\( n ...

A '>,~

Nu,x 4x~ I v.-1~

"'.....

o.

y 1---

c=Al3cH,

o (1\
o \;J

oe be

e~J v~,~:c...hfLJ
"'0

~u ... cio',.,

.,

Aho!""",. p....eJb

oe

e.....

s;"..,pe:~;c:c...M5j

e...)

e.., '.-c..c)..J Dt D.... feo) -

;;i.Jpo~"""oJ

;f!.

e:.. f-,-c..c)"'J

;~

6)"'0

A8

~).
cC>l"Ilrz>f

c:. = A 8 D

A B . o 4 A'!3 . Qs

S.s.~o I, t S,So I
www.monteroespinosa.es - Clases de CEDG - Tfnos 91 5445377 , 619142355

AB' o

z t S,I ______./3

FEBRERO 2008
PROBLEMA 4 (20 PUNTOS)

Se pretende implementar una mquina de estados que controle el funcionamiento de dos semforos
en la salida de un aparcamiento pblico, segn el esquema de la Figura 4.

Seal A
(semforo
verde si A'="1",
rojo si A="O")

SealB
(semforo
verde si 8="1 ",
rojo si 8="0")

o
Sensor 1
(51)

Sensor 2
(52)
Figura 4

Para ello se dispone de:

()

una seal de reloj (CLK) con un periodo de 15 segundos.


dos sensores de presencia/estacionamiento, entelTados en el suelo, que detectan cuando un
coche est parado encima de ellos, activando dos seales activas a nivel alto; SI y S2 (si el
coche est en movimiento, el detector no detecta nada). Dichos sensores estn situados a
una distancia equivalente a la longitud de 3 coches por detrs de la lnea del semforo, y
tienen una superficie mayor que la de un coche.
dos seales A y B que controlan las luces de dos semforos. Cuando cualquiera de ellas est
activa (a nivel alto) enciende la luz verde del semforo correspondiente.

El autmata debe funcionar de la siguiente manera:


En condicin nOl1nal, de poco trfico, los semforos estn en verde durante 1 minuto cada uno,
alternndose. Este modo de funcionamiento cambia si en Ulla de. las dos salidas se acumulan coches
mientras est dicho semforo en rojo. En el momento que la cola de coches parados llegue hasta la
posicin donde se encuentra el sensor de presencia/estacionamiento, el semforo de dicha salida se
pondr en verde en el prximo nanco de subida de la seal de reloj (CLK).
Tenga en cuenta lo siguientes matices:

Cualquiera de los dos semforos estar verde durante un tiempo mnimo de 30 segundos y
un tiempo mximo de 1 minuto.
Los dos semforos nunca podrn estar en verde o en rojo simultneamente.

4.1 Dibuje el diagrama de estados de dicho sistema de control utilizando una mquina tipo Moore.
Indique CLARAMENTE los estados, las entradas y las salidas. (20 puntos)
www.monteroespinosa.es - Clases de CEDG - Tfnos 91 5445377

619142355

FEBRERO 2008
PROBLEMA 5
Considere el siguiente circuito y los datos que se indican alIado.

02 Q

--+------ID
03

tD

01 Q

Biestable DI
Biestable D2
Biestable D3
Biestable J-K
PuertaAND
Puerta OR
PuertaXOR

I ns
2ns
2ns
2 ns
1.5 ns
I ns
1.5 ns

setuD

I ns
1.5 ns
0.5 ns
I ns

Q t - - -.....

CLK

Figura 5
5.1 Utilizando los valores de la tabla obtenga justificadamente, dibujando un cronograma, la
mxima frecuencia del reloj (JCLKmax) del circuito de la figura 5 que asegure un correcto
funcionamiento del mismo. Exprese claramente los tiempos de todos los caminos que considere.
(5 puntos)

CLK

5.2. Determinar justificadamente, sobre un cronograma, el mximo tiempo de hold (tholdmax) que
puede tener el biestable DI y el J-K para que el circuito de la figura 5 funcione correctamente (5
puntos)

~..

www.monteroespinosa.es - Clases de CEDG - Tfnos 91 5445377 , 619142355

SEPTIEMBRE 2008

PROBLEMA 2 (18 PUNTOS)


En binario natural (base 2) el complemento a 1 se genera simplemente invirtiendo todos los bits. Lo
equivalente en el sistema decimal (base 10) es el complemento a 9 y se genera obteniendo la
diferencia a 9 de cada cifra decimal. AS, el complemento a 9 del nmero 248 ser 751. En este
problema se trata de disear un circuito comp1ementador a 9 de un nmero expresado en cdigo
BCD (A3 A2 Al AO, siendo AO el bit menos significativo).

2.1 Escriba la tabla de verdad de las funciones C3, C2, CI y CO (bits que representan el
complemento a 9 de A3 A2 Al AO, ambos expresados en cdigo BCD). (3 puntos)

A3

A2

Al

AO

O
O
O
O
O
O
O
O

O
O
O
O

O
O

1
1

1
1
1
1

O
O

1
1

O
O
O
O
1

O
O
1

1
1
1
1
1
1
1
1

1
1
1

1
O
O

1
1

C3

C2

CI

CO

1
1
1
1
1
O
1
O
1
~

O
1

2.2 Determine las funciones lgicas simplificadas de las cuatro funciones C3-CO. Para ello haga
uso de ias herramientas necesarias (mapas de Kamaugh, etc.). Justifique c1aramente sus respuestas.
(5 puntos).

2.3 Implemente dichas funciones, C3-CO, utilizando nicamente puelias NAND de 2 y 3 entradas.
(5 lnintos).
2.4 Implemente las funciones C3-CO utilizando multiplexores de 4 entradas de datos y los
l1versores necesarios. (5 pZlntos).

SEPTIEMBRE 2008
PROBLEMA 2 (18 PUNTOS)
En binario natural (base 2) el complemento a 1 se genera simplemente invirtiendo todos los bits. Lo
equivalente en el sistema decimal (base 10) es el complemento a 9 y se genera obteniendo la
diferencia a 9 de cada cifra decimal. As, el complemento a 9 del nmero 248 ser 751. En este
problema se trata de disear un circuito complementador a 9 de un nmero expresado en cdigo
BCD (A3 A2 Al AO, siendo AO el bit menos significativo).

2.1 Escriba la tabla de verdad de las funciones C3, C2, Cl y CO (bits que representan el
complemento a 9 de A3 A2 Al AO, ambos expresados en cdigo BCD). (3 puntos)

A2

Al

AO

C3

C2

Cl

O
O
O
O
O
O
O
O
1

O
O
O
O

O
O
1
1
O
O

O
1
O
1
O

9. -o

'= ~

c>

C)

"'t-i

.... g

1
1

O
1
O

1
1
1
1.

O
O

O
O

yI",

jZ
~}

1
v//

~~ /ft/ l/v
1i V~> /~ ~/ V~
~o

e~h~

I)G.l)

1:5
~'1

15

CO

A3

VV

V //VA

C>

O
o

'-(

"3

t.

t:>

><

.x

X
X

)//VV VV/ /}//


~ vy /// V)1/ . x..
-"/
~~ //v :X
X

/r

"1

><

)C

)(

)<

)(

)<

.x.

><

)f

C ... l
_..

)U>

"",\"el, t..l

()c

O)

>1>'\
r'\~

/0

r ....<t'"'

fU"" """

~C.

r,

} . -.l j .....,,.o'lCJ

; 1"'1

]'& l'1e~ 1-'

,,,..~or\-.....

'o
"''')

.. - e.l tf~ I )Q;e"'l.

2.2 Determine las funciones lgicas simplificadas de las cuatro funciones C3-CO. Para ello haga
uso de las herramientas necesarias (mapas de Kamaugh, etc.). Justifique claram;;,nte sus respuestas.
(5 puntos).
2.3 Implemente dichas funciones, C3-CO, utilizando nicamente pueltas NAND de 2 y 3 entradas.
(5 puntos).
2.4 Implemente las funciones C3-CO utilizando multiplexores de 4 entradas de datos y los
inversores necesarios. (5 puntos).

/U]

D b.serv"o'\~"

e..

t.. )f... ,

el.

di re, ~o.. v-te ....

f.c :

le" 11 Ie
-==

AIA4
~
00
()/

"

(o

www.monteroespinosa.es - Clases de C

",

o,
o

/.}

t:>

.)<

C>

(J

00

fnos 91 5445377 , 619142355

-. 11

"

)<

.t\i
lo

e>
o
X
)<.

I-lo .... ~rt

. _

A\-----C1
~

el ==

At-AI .f- Al-Al

- Al-

AZ-AI.

Al Al

Al

e2,

--

t>---I-~

Al

Al

Al

.se.

r,

r,

c..

S<>1;~

,pero.

el

'4

'f

1,,4 = A~

c.. c.

~o

x,

Ir
rl

(>

Ji

c.l

e,

JII
IC1 =A~ (j I

..

a...

C:o../I .. l-r

fi/

r ..

Ai

Xl

e., trc..i.. ,,~-...

"u.~

Ic>

o
o

i?}e.

C. 3

e.

P.,..~ .... I

A;

1> p"" "" c.j,.d!., d.

AlAI

01

.r1

~
-

IC~

==

Xl .A

'(A-3J

Io

Gl

r,

'1

I)

Cc4

Az Al

Io

I.

r~

A3

I.

'1

C>

./D+
AZ-. AI
'-

ro

()

T,

,l'Z

Ai

cc.;rt

A~

A.i

FEBRERO 2009

PROBLEMA 2 (20 PUNTOS)


La apertura y cierre de una puerta deslizante vertical de un almacn (Figura 4) se controla mediante
2 conmutadores: uno situado en el interior del almacn (y que determina el valor de la seal lgica
A) y el otro en el exterior (y que detennina el valor de la seal lgica B). Se considera que
inicialmente (en reposo) la puerta est cerrada y ambos conmutadores en la posicin O (ie. A=O,
B=O). La inversin de uno de los conmutadores provoca la apertura de la puerta y otra inversin de
cualquiera de ellos el cierre. Adems se requiere un sistema de seguridad, de manera que la puerta
no se cierre cuando exista un objeto debajo de ella. La presencia de objetos se detecta mediante una
clula fotoelctrica que genera una seal e, de manera que cuando NO hay ningn objeto entre la
puerta y el suelo dicha seal vale O, valiendo 1 cuando existe algn objeto ..
El movimiento de ascenso o descenso de la puerta se realiza mediante un cilindro neumtico segn
el valor de una seal lgica de control M, de manera que cuando M vale Oprovoca el descenso de
la puerta y cuando vale 1 provoca el ascenso de la misma.
Se trata de disear el circuito lgico que regula el valor de M.

M
Circuito
Lgica
Combinacional

Exterior del
almacn

C)

Interior del
'almacn

Figura 4

www.monteroespinosa.es - Clases de CEDG - Tfnos 91 5445377

619142355

2.1 Obtenga la Tabla de verdad de la seal M. (5 puntos)


A

o
o
o
o
1
1
1
1

e
o

1
1

o
o

o
o
1
1

1
1

1
1
1
1

o
1

2.2 Utilice un mapa de Kamaugh para obtener la funcin lgica simplificada de M. En caso de no
haber respondido el primer apartado, simplifique la funcin Z. (5 puntos)
2.3 Implemente la funcin M utilizando exclusivamente puertas NAND de dos entradas. En caso de
no haber respondido el primer apartado, implemente la funcin Z. (5 puntos)

C)
'

2.4 -Implemente la funcin M utilizando un multiplexor de 4 entradas de datos. En caso de no haber


respondido el primer apartado, implemente la funcin Z. Justifique su respuesta. (5 puntos)

10
11
Y
12
13
S1 SO

II

.~~-----------------------------------------------------------www.monteroespinosa.es - Clases de CEDG - Tfnos 91 5445377 , 619142355

FEBRERO 2009

(
\
\

PROBLEMA 2 (20 PUNTOS)


La apertura y cierre de una puerta deslizante vertical de un ahnacn (Figura 4) se controla mediante
2 conmutadores: uno situado en el interior del ahnacn (y que determina el valor de la seal lgica
A) y el otro en el exterior (y que determina el valor de la seal lgica B). Se considera que
iniciahnente (en reposo) la puerta est cerrada y ambos conmutadores en la posicin O (ie. A=O,
B=O). La inversin de uno de los conmutadores provoca la apertura de la puerta y otra inversin de
cualquiera de ellos el cierre. Adems se requiere un sistema de seguridad, de manera que la puerta
no se cierre cuando exista un objeto debajo de ella. La presencia de objetos se detecta mediante una
clula fotoelctrica que genera una seal e, de manera que cuando NO hay ningn objeto entre la
puerta y el suelo dicha seal vale O, valiendo 1 cuando existe algn objeto ..
El movimiento de ascenso o descenso de la puerta se realiza mediante un cilindro neumtico segn
el valor de una seal lgica de control M, de manera que cuando M vale Oprovoca el descenso de
la puerta y cuando vale 1 provoca el ascenso de la misma.

ri

"
..

Se trata de disear el circuito lgico que regula el valor de M.

M
Circuito
Lgica
Combinacional

Interior del
"almacn

Exterior del
almacn
.
"

Figura 4

www.monteroespinosa.es - Clases de CEDG - Tfnos 91 5445377 , 619142355

I~

H-=

13

!3

A8

A8 .A~

IIil
::

)'

~-

ABC.tBc::tABC1A~+AB~

~ AB L.

.f-

A9

f A 8 ... A Be.

AB::

ABe +AI3(C+1)tAB"(C.H.}+ABC.=

lA:: ~ 1

13::

oS

\::)1

.le.

~ t-- .... cI"

-1.. ..,

~ .~ t.:

'-"1 ,,(_>
... , ..J...

---

2.1 Obtenga la Tabla de verdad de la seal M. (5 puntos)


l"oUI"oJ,'eJ

o
o
o
o
1
1
1
1

o
o
1
1

e
o

o
o

o 1

1
1

o
1

z
o

C"''''v'I~Q_

1
1

iJ

Co"" Tol..

...v?o

l.

l.

o
1
1
1
1

1
1

O<.Jc.c

hV40i:> I

}'

c.... .... e p..f J... do r


l'

"

,-

l'

(C"'" -obje.lo) e .. f..

'> 1'1 -:.

C.=1

el.. ca:.. e~

>1 ...

d ..

'y

ee

O~fb "o I

"

"

e.,

a..

clerft...,

2.3 Implemente la funcin M utilizando exclusivamente puertas NAND de dos entradas. En caso de
no haber respondido el primer apartado, implemente la funcin Z. (5 puntos)
2.4 'Implemente la funcin M utilizando un multiplexor de 4 entradas de datos. En caso de no haber
respondido el primer apartado, implemente la funcin Z. Justifique su respuesta. (5 puntos)

1
, S'

10
11

Y
12
13
S1 SO

()

II

www.monteroespinosa.es - Clases de CEDG - Tfnos 91 5445377

619 142355

1rt /

2.2 Utilice un mapa de Karnaugh para obtener la funcin lgica simplificada de M. En caso de no
haber respondido el primer apartado, simplifique la funcin Z. (5 puntos)

ce-e~, I'..er~.. ",b~",-

=D

fiei
H

::.o~

FEBRERO 2009

(\

PROBLEMA 3 (15 PUNTOS)

FF1
J

Q1

Biestables
FFl yFF2

ell<

CK
B

XOR
NAND

t nron
lns

tsetun
2ns

3ns
2ns
Tabla 1

--+---------1

Q 1 - - -........- - Q2

L-..-------O>Clk

-----------1 K

FF2
Figura 5
3.1 Utilizando lo valores de la Tabla 1 obtenga justificadamente, dibujando un cronograma, la
mxima frecuencia del reloj (JCKmox) del circuito de la Figura 5 que asegure un correcto
funcionamiento del mismo si: (a) se utiliza un reloj con ciclo de trabajo igual a 50%, y (b) se utiliza
un reloj con ciclo de trabajo diferente al 50%, indicndose en este caso el ciclo de trabajo necesario.
(lO puntos)
3.2 Determinar justificadamente, tambin sobre un cronograma, el mximo tiempo de hold
(tholdmax) que el biestable FFI puede tener para que el circuito funcione correctamente. (5 puntos)

(~)

www.monteroespinosa.es - Clases de CEDG - Tfnos 91 5445377

619142355

FEBRERO 2009
PROBLEMA 4 (25 PUNTOS)
Se quiere realizar el mecanismo de control de puertas de entrada y salida de una nave espacial. En
la Figura 6 est representado un esquema del mismo. Entre el interior de la nave y el exterior, existe
una cmara intermedia de compensacin de presin con dos puertas, controladas por seales lgicas
Al y A2, que separan el interior de la nave del exterior. Al activar a nivel alto cualquiera de estas
dos seales, la puerta correspondiente se abre en un tiempo despreciable. Cuando se desactivan
estas seales, la puerta correspondiente se cierra en un tiempo despreciable. Existen tambin dos
pulsadores, el pulsador A, accesible desde dentro de la nave y desde la cmara intermedia, y el
pulsador B accesible desde dentro de la cmara intermedia y desde fuera de la nave. Tambin
existen un extractor de aire, controlada por una seal lgica E, cuya misin es extraer el aire de la
cmara de compensacin (cuando se activa E a nivel alto) y un impulsor de aire, controlada por
una seal lgica 1 cuya misin es insuflar aire a la cmara de compensacin (cuando se activa 1 a
nivel alto). La presin dentro de la nave es P >0 y la presin fuera de la nave es P=O. Asimismo en
el interior de la cmara de compensacin tenemos un sensor de presin Sl SO que tiene tres posibles
salidas: Si SI SO vale 00 la presin en la cmara es O, si vale 01 la presin en la cmara est entre
Oy P y si vale 11, la presin en la cmara es igual a P.

sensor de
presin

exterior
(espacio)
cmara
compensacin

interior
nave
espacial

A2

1
impulsor /
de aire

Figura 6
El sistema debe funcionar de la siguiente manera:
1. En el estado de reposo las dos puertas Al y A2 se encuentran cerradas (Al=O y A2=0).
2. Cuando un astronauta que se encuentra dentro de la nave quiera salir al exterior, primero
debe pulsar el botn A. La pulsacin de A ser de duracin suficiente para que sea
registrada correctamente en el siguiente flanco de reloj. En ese instante el impulsor de aire
empezar a llenar la cmara de compensacin con aire hasta que la presin interna dentro de
la misma sea P.
3. Cuando la presin en la cmara de compensacin sea P, se abrir la puerta Al y se
mantendr abierta durante 5 segundos, cerrndose a continuacin. Durante esos 5 segundos,
se supone que el astronauta puede entrar en la cmara de compensacin.
4. A continuacin el astronauta puede pulsar B. La pulsacin de B ser de duracin suficiente
para que sea registrada correctamente en el siguiente flanco de reloj. En ese instante el
extractor de aire empieza a actuar hasta que la presin en la cmara sea O. Si durante este
tiempo, el astronauta pulsa A, se pasar a la situacin del punto 2.

L
www.monteroespinosa.es - Clases de CEDG - Tfnos 91 5445377 , 619 142355

5. Cuando la presin dentro de la cmara de compensacin se iguala a 0, se abrir la puerta A2


y se mantendr abierta durante 5 segundos, cerrndose a continuacin. Durante esos 5
segundos, se supone que el astronauta sale de la cmara de compensacin hacia el espacio
exterior.
Alternativamente, si el astronauta est fuera de la nave y quiere volver al interior de la misma:
6. Primero deber pulsar el botn B, que se encuentra fuera de la nave. La pulsacin de B ser
de duracin suficiente para que sea registrada correctamente en el siguiente flanco de reloj.
En ese instante el extractor de aire empieza a actuar hasta que la presin en la cmara de
compensacin sea o.
7. Cuando la presin en la cmara de compensacin sea 0, se abrir la puerta A2 y se
mantendr abierta durante 5 segundos, cerrndose a continuacin. Durante esos 5 segundos,
se supone que el astronauta puede entrar en la cmara de compensacin.
8. A continuacin, el astronauta deber pulsar el botn A repitindose lo apuntado en los
puntos 2 y 3. En caso de que pulsase B, se pasara de nuevo a la situacin del punto 6.
9. Cuando la presin en la cmara de compensacin sea P, se abrir la puerta Al y se
mantendr abierta durante 5 segundos, cerrndose a continuacin. Durante esos 5 segundos,
se supone que el astronauta puede volver a entrar en la nave.

Para implementar este sistema se dispone de una seal de reloj de 5 segundos de periodo.
Nota. Nunca pueden pulsarse simultneamente los pulsadores A y B.

4.1 Indique CLARAMENTE cules son las entradas y las salidas de la mquina de Moore que
controla el funcionamiento de este sistema. (2 puntos)
4.2 Dibujar el diagrama de transiciones de estados de una mquina de Moore que realice el circuito
descrito. Explique CLARAMENTE el significado de cada una de las entradas, de cada uno de los
estados y de cada una de las salidas. (15 puntos)

-\
C

4.3 Suponga ahora que las puertas Al y A2 no se abren ni cierran en un tiempo despreciable sino
que tardan 10 segundos en abrirse cerrarse. En este apartado, mientras se est abriendo o cerrando
alguna de las puertas, el sistema ignora cualquier pulsacin de A B. Dibuje ahora el nuevo
diagrama de estados de la mquina de Moore. Para cada estado explique lo que significa el mismo y
la salida que se obtiene. (8 puntos)

L
www.monteroespinosa.es - Clases de CEDG - Tfnos 91 5445377 , 619 142355

SEPTIEMBRE 2009

6.1 Describa dwr~m~!fite la funcionalidad del componente VHDL que a contia.'1uacin se adjunta,
indicando d~iI"ammfJllte el significado y funcionfu'TIiento de las sef..ales de entrad y salida del IDlsmo,
(5 puntos)
UBRARY IEEE; .
USE IEEE,STD_LOG1C_1164,ALL;
.ENTITY Septiembrs_2009 iS

PORT(
SI:

IN STO_LOGiC;
IN STD_LOG/e;

b:
e:
d:
e:

IN STD_LOGIC_VECTOR(7 DOWNTO O);


OUT STD_LOGIC.:..,VeCTOR(1 DOWNTO O);
OUT STD_LOGIC_VECTOR{7 DOWNTO O);
OUT STD_LOGtC_VECTOR(7 DOWNTO O);
OUT STD_LOGIC_VECTOR(7 DOWNTO O)

f:

g:
);
ENO Septembre_2009;

ARCHITECTURE arch OF Septiembre_2009 IS


SUBTYPE sr_width 18 STD_I..OGIC_VECTOR(7 DOWNTO O);
TYPE srJengt lB ARRAY (63 DOWNTO O) OF sr_width;
SIGNAL sr: sf_length;
BEGIN

PROCESS (a)
do. es une.. se<:l.\ -e c-A<oi'~ l. ~
BEGIN
.
IF (a'EVENT and a = '1') THEN .

IF (b = '1') THEI;.J

b e.ktb\e ~ ~ l.

sr(63 DOWNTO 1) <= sr(62 DOWNTO O);


5r(0) <= e;
END IF;

ENDIF;
END PROCESS;

d <= sr(15);
e <= sr(31);
f <= sr(47);
9 <;:; 5r(63);
END arch;

6.2 Suponiendo b ="1", c="01010101" y que a ha cambiado de valor en 84 ocasiones, indique


justifIcadamente los valores de d, e; f y g. (5 puntos)

(
'--./

www.monteroespinosa.com - Clases de EDIG - Tfnos 91 5445377 , 619 142355

lM Sl\b~V~ e~

u.n

~iPD de otro

(1

~~

c.~Q..Aos ~rurYl.+tvS.

\lvVlt\'.."\

~t'l'1C1S c{e~
Cv..'JO-":>

l\.Vl

V\ u.effC

su.\c, \

~ (X)

"L

vc~r~CL\o\.e.s ~"'r~i1 c\'\'~Cl\i(C:d1\el"\\e

~= ~\\tW,\}\l!ll!llll ~\l \IIiD 1."

\11\

~\~_\.cG-t" - vK'6\:t
g,

~,\s .

11I111\lIllld~~r:

S(-Qen~t~

~1111 \I\\II m11\1 \ \1111]I\\~IIIlIIIII\ IlIT ~II \\\1 mm l1j 1:01 \I!l~
g,

{\..L-Yl~O

\\ecS:,.GL

e\. ~CU'l CO

de.~Qea.i'I1iel1~od,Q
~\.Q\.eyY\.eYl~U
D

n-k-c'- tA

(?

e.1 Qo

'0s

" e

()

~~~:\'d~ ~ ~

S e'.-1o.\

CA.. I

~. f\CuCc2 e\

~eVl"\.er1\o<;, 'ir~ ~\c0:i L\jf')ClFS\ci6~

pa:6lC.~o-;,

Gs

SoL'

ple.d-~I'.yr')~n~ro<;. ~

~1\e(\~o ~~ ~ a:. Qc:.<. Q.J'~

eLG.

~(\ ~c::do

12 '"
Yl

c:t.

~\..

kG\.(2Jet,
pos"c',:;

OWlet1~o

.~ (O()le(l~ ~~ \e~\S\\D e ~-es~\ocafl1l ~rAo -es\.' (y)p(l~(Q-i'1:Qd'() ~- Q..CJ-S


<S.~\:\'ca.<;.. G ,e I~I ~ ~ Vl1lie.s.~(tn las fo5\C \ Ot1 e~ \~, 3'J41{,,~" '3

e~l?' ec \, vcun ef\le .


D_

._0

'-

~5\-to

'-

~ "d (;'1 ~,c.io""-,, II \, i \5 C~ U V\o.l (0"


~-

6<- Cie:5'\':I\CA.tc.Lrr'\ len o aL-

Q.J\l,..\~'" S<?\i.~-

b.Z ,,1\
d'::
O\oloie>\

e. :::

/1

\\

I(

0\.0 \OlO\

CEDa - Febrero 2010

PR'OBLEMA 6 (15 PUNTOS)


(:Q:rr~ide:remos

el siguiente fragmento de un mdulo bat.cL'';vare descrltoen VHDL qu~gobiema d


fUncionamlento oe unaTr1qtlna expendedora deefresco~
.

~.-

!Ylquina expepdedora: den~fresGos.

librar'y lEE,E;;
use. IEEE,qtd_og.ic,....1l64, ..J.,1.;

'entity vend is
port (
:::l.]ctirt_lUQney, ::-eset; in STD L{)GICj
i,n: .$elect; in STD....:LOGIC,-.yECTOR (7 d9wnt. {ij ;
iri_dispatched: in STD .LOGre;
outddnk : out STD_LOGre....:VECTOR;
ri.dvep.d;

ar9hitecture vend areho verd is

typa vend state type is {s .wait .;r6rm

l.

s_w~it_pshls;..put drinki i

sign,al statevend:' ven__ state.,...tYpebegin

El: prOCSS (cl.k.r reset 1


.begin

if reset:;:li i tben
state vend<=s wait t'or m ;
but....:d;:in.k <=107 ; : .elsif (el.k;:! i' and clk'evqnt)then
case st'ate_~Tend 15
whens wa.it tor ro
out 'dri:nk<= O"";" j

,0

=>

if Inmoney ==':0 ' then


state_'\TD:d<= s~wait '!'or_J1li
Esestate v'end<=s '\.y;it p1,lSh; ,end ifr
=;,~
.
Qutjirink::=i O1 ;
f in select ==. "00000000" then

when S. . wai t tlSh

'state,vend<= s vait pU$h

else state. vend<;;;;s,outcirink;


when s out, d;::ifk => ~
.
out ~ drink<= i l 'i
i f in_dispatched=' O' ther).
s.t.ate _ vt:;nd<= s_out_ dr.:L.:p)(j'

end if

else sta,t_vE:>nd<=$_,,?q.it_f9r~miend if;


'when, others ==> s.tate_vend<==s_wait_for_m;
Md case ; en,Ctif;
.
end process;
end vend_arch

Salida; :d'$l sstern:Si~


cu'uirrk
b/OjX,K
l,~,x;x.

vez. obteuidct ~1 efr,escq, se aQtive un pulsee!): ].ll1a"


seaimusic_Oltl que' teproduz~ una meloda. (5Pit)'itoS)

6.2. Ji1:cll1y:a, d, ccdigo necesarl{)' parque \lITa

libra:rv IEEE;:,

~$,e IBEE. std....:loglc~11.64 .611;


ent,i ty vend is,

por;:t (

clk"in ,rttoney,
in,-,~el;cti i.n

in STD, LOGre;
ST;LO(;IC VEC1'O:R
io'-.d,ispat:c:ne<:i: in S'rO_LOGIC;'
'out cir:l.nk:, ,<?ut. STDLQC;IC VECT'ORi,
musIc bn: out ST:O_LOGIC_VEC'l'ORi .
eTI:d

x; e s,et,,;

yena:

downto X)) ;

architecture voend aren o vend' s


type vend state type is
(s:.-.walt_foi-=:'ml's_wait push/,s .out ,drink1 sIllu.s:i.C)
signalstate_vend=' vend_rt'at6_type;-

begin
Pl: pr9gess olie; reset)
hegin

J,;ft,eset="],

then.

\
.o1.1t ~dr:i.):1k<=' G1 ;
musc_ Cp.,<:;=1 O';
elsi.f .~ ~=.1 1 ~ "an.p.

el

el l< t.eY~nt.) then

case s'tate _'llene is

=>.

,wr!-"n $. wai t, fo.!:' .ret


,o "'l"d:r-",k<=,[)I.
v 1.
",4""',;;..-

.~.

-'_

musc~Cin<=' {l' ;,

in.~_.rr1;qney ~.tb'f

'tnen
vend<;= s wai,t ,o'r_In;
else :state_vend<=

i'f

SL,at

whens_~lait_p):lsh

=>;~iM_i@-~}

out~drihk<='0

T'l

lll~si.~on<=.P91

J.

end Ji;

, .~

i,f i,n...;select ;= "DODDOODO,cthen

CJ

g,tatevend<= s "1t 'C>ush;


e1,::;e st~te vend<;';sout"drink end i.f;
wl';te,tl s -,-out ct";ink
-ot;t t .-:dr in k<;=-' 1 Ti
music_on<=:{ b:'

:ti

in~dlspa:tched='DJ

sfate:....v'e'nd<;=

then

c\lt _p:r in k;

,5_

1::se st t_v e nd<;= s_mu s ic; end

=:>'
out~ink<=' l '

whn .s 'musc'

mu,s:ic_ on<=' :3:" ;

sta te"-vend<=s_wai t;...for...:~:;


when o't;tlers => state venq<d$ wait Ior.-;m;
"Z:
nd case, ,;end ~i.;
;pd proces$
elld vencLarch

.
.. .r
'

, .
CEDO -Septiemyre 2005

PROBLEMA 4 (20 PVt;JTOS):


4.1 Para la siguiente Mquina de Estidos cOc1ificadaen VHPL,obt~nga el diagramas de estados
ndicando CLAR.AMENTE los estados, entradas y salidas, (l O pW1to.s);
LIBRARYieee;

A:,

USE eee.std~)ogc..." 1164,al1~

.Y= A ~ \\Es\.;.~ 12(\ e\ Q~)c


. \.,. '6 '1
Y=1;:.; \,{;"..,\O~ RJ\ ~ 6-\0.."'60 ..

EN.TITY AutoIDataJ 18
PORT(Clock, Resetn:IN STD___LOGIC;
..
w : I N STD_LODIC;
z
:OU.T STD.-;LOGtc);
.END,Au,tomataJ:
ARqf:lITECTUREBl:!avi~r
TYJ?E State~tYpe

OFAutomiitallS:

JS (A,B);

~m::NALy : St~teJype;

BEGIN

.~oA
yLo-:. A-.:;: h..e. vc~ f\-\'- e.s.'
.,
Y<=~::: \te \I~ ~\ ~~o "6 ..

F-.;.\a.V\. .o e(\ 1\ VV"e \\e.~Q. !tI')


\'he. ~~= e t1 A ~cx:o Un J.

PROCE8,S (Re.setn, Clock)


BEOIN
IF l~ese~n-"'' TrIEN
......
y<=;

A ~g

ELSIF(Clock'EVENTAND 'c:IQ~k "" '1')THEN


CASEy

R~il' ~ .~

WHENA=>
Tfw = iOiYHEN
y<=A;
z <=;.0\
Y<'~

.HA~Q\;t. tk. fte~ . t:tJAildGt.


rWt~W 4 ~i~J.e (tx:;'K

B;

.Z<.=w;
ENDTF;:

WHENB=:>

ti. .M"N
-j~ 1_ "l<11~.(,.~'.' .J$. A
.Ux
.
'.' ...
u.,..~~J. ...t. f~~ Ad:v4.

fF w= ,'O THEN
Y <=A;,

A/'M'vd:&-1f~

ELSB

C)

y <==B;

Z..<;:;w;.

ll
. 14'\. '.
.~,

ENDIF;

BNPCASE;'

END!f'.;
ENDPROCESS;

END Behavior;

;t.K/,x.

d.rJ/,Y
I

~.

GQiC

w/u
.

7.

___.. _. __._Io._._____ _____...._....._._ .._..._.........


~_.

CEnG -SeptiemQr~ 2005

Pgina9de~

(',
I

4;2 Para la sigp.iente. Mquina. de Estadoscodificad.a en VHDL, obtenga el d.iagrf!n1as de flstads


indicando CLARAMENTE Jo.s .estado$,eilttada:sy sal1das;;{l O puntos)
Ul?RARY: jeee;
tJSEjeee.s1d,.,.lg'ic....;114.all;
ENTfTYMtomat~rs

PORT (GJoCk, Resem :fN STD_Lomc;


w
,:IN' ST'~LdGrG;
i
:OUT STD~LOG!C);

ARCHITECTURE SelJavior OF Automata2 JS


. rYPE State_type IS (A,B);

BEGl'N

SIGNALy.: State_t}pe;

PROCESS (Resetn; CIoGK) .


BEGlN

A,J 5

fF Resetn "" 'o' 'TREN


y<=A;
ELSIF (Clock'EVENT ANbfbck=11'jTH~N

ld~

EeSE

Y<"';:

)' <"FB}

ENl)JFi
Wl-lEN )3=>
'

l1-r:m' A H.~~ ~d'I/~J~


~ e~ ~j<. ,Ji.

c4k

tl i-iI~~

lFW='~Q;THEN

y<=A;
ELSE

y<=B;
ENOJE;
END'CASE;

'

ENOJE;.
END J'l~DQ,E.~,S;
PRQCESS (y, w)
BEGIN
CASEyJS

WHENA==>
i <= '0
WHENB=>

ENDCASE;
ENo PROCESS;

END Behavf;

1
;

CASEyIS
WHENA=>

ni w ='O'TI-IEN

th\,
A

~A

/j.,..V;J4f"
ll~/}\11/.r/ ~

FEBRERO 2010

PROBLEMA 2 (15 PUNTOS)


Queremos disear un circuito que convierta un nmero en cdigo binario sin signo de 4 bits (A3 A2
Al AO, siendo A3 el bit ms significativo) en su equivalente en cdigo BCD representado con 2
cifras (unidades [U3 U2 Ul UO] y decenas [D3 D2 DI DO], siendo D3 y U3 los bits ms
significativos).
2.1 Rellene la siguiente tabla de verdad para que el circuito realice la citada conversin. Para este
apartado ignore las funciones F,G y H. (3 puntos)
ENTRADAS

SALIDAS

Nmero binario

Decenas BCD

Unidades BCD

A3 A2 Al AO

D3 D2 DI DO

U3 U2 UI UO

(o

'

e;,

<O

<5

(5

()

O
O

O
O

el

f)

C>

<:!)

l
1

(;)

C>

()

(?;J

<0 O

\6

([;)

~~

.1

,~

\C\

"1

z.o

l.l

10

\
1

I 'O
l 1

<D O
C> O

11

e>

I
I

12

13

ro

'O

14

C>

-o

eJ

15

I
I

l
1~

t)

~\:.I..~S el

~~~

~~~rno.c

~ 'U.Llt1e("o o(";g~
(.)\) ~o. a..>f eon3:
fY\cl.\

BCl)

le\. c~ Reo
c<D<n-edcx.

2.2 Simplifique por Karnaugh las funciones F, G Y H, en funcin de A3 A2 Al Y AO (emplee las tablas
que se adjuntan). (7 puntos)
A1AO
A3A 2

A1AO

A1AO

()

(6

<:>

<:':>

<:)

C>

A3A 2

O O

A3A2

t
O

(1

C?

(!:)

l
l

(]

<.':J

~,----------------------------------------------------------------

www.monteroespinosa.es - Clases de CEDG - Tfnos 91 5445377

619 142355

2.3 Realice ahora la misma conversin binario-BCD utilizando para ello 2 sumadores de 4 bits y las
puertas lgicas que necesite. Dibuje las conexiones y puertas necesarias sobre el esquema
siguiente. (5 puntos)

~Co
~

A '"' tJ,/~ 1'\0

kewtC'5~

A3 A2 Al AO

r-dHS=-

(kevte-Wl05 ~ ~~(
h",~61\.e ~ca.J'1\lN

V\.a..oo-

0000/

1
')

lo I~n:o- ~ \.aWl 'o.en k ~~se.t1~


L(oV!

\3Ct>.

(~ Pt~~I,GJ~oS~
GUW1-("' G (.0 'l~ ~ do \en.e("
~ L~ ~(O...

SUMADOR
(S=m+n)

\:o..

1 - - C out

Co("ct2C

J
i

t If

'

SUMADOR
(S=m+n)

.......

S3 S2

s]

So

III~
D3 D2 DI DO

U3 U2 VI UO

Q ~ Go\lYlc:;, \e",-\'\~~com:>5 <V\

~b t\<DllS~?

\temas ~ A.- ~/r;1 <S~ se.CU-tY\p\e~:


- A~:: I " \.AZ~ I v Al:: i')
~
~
A3 (1-\ "Z.~ -A \) = \
(1'flI1)\

(;,~)

C2 t>a.ro..... Co-1'5e.~tr ~ C<J..cv1~ po..'S:o-- e.-So. :::e S;UYne 4.1-1 6


A3A"ZA \ Ao 50\0 ~ se CQI'\. ~mOl-\ LL0.v\.~ ~ CSo-\. \.6C\.. ~ ~
e?>..

www.monteroespinosa.es - Clases de CEDG - Tfnos 91 5445377 , 619142355

fvt

~(dO

.se:1..S CO-3vS

(VI

~S

"Su.rV'CUVlO'V

olla SleVl1pr-e ~\JccQ.

C-i

6e5>\:P~(01\-o. leth105 ~ ~~,o\lec~o.r v')\vl'\c.e...<:::> e-\ Q..Ccl..\"\~ ~e..


5o-.\3:Oa... b\. SuvY\o...do ~'('o.. ~ ert e:&Js. &S:::lS ~ u.n
\" e..V\. \X) L e..", ~'=:> o\.<bS ~ VIo ~ oes6,kwtev'tL I -lX'r ~ ~
.e.sL O-Co-\(eo .se-<:o::. <...\...Vl ef> ~ len d\.n'l D~ CoqeG~O-"Y\.6'1\e el\ \)cP)

Cj

FEBRERO 2010
(\,

PROBLEMA 3 (15 PUNTOS)

Se dispone del circuito de la Figura 3, que incluye dos contadores de dcadas 74HC160 (tabla de
verdad en el Anexo), dos biestables tipo D, puertas lgicas, una seal de reloj (CLK) y un pulsador
.
para activar la seal E.
CLK

Vee

T..!..==(''-*---1 D

Q !----I D

Figura 3
CLK

I
I
I
I
I
I
I
I

I
I
I
I

I
I

I
I

I
I

I
I

I
I

I
I

I
I

I
I

I
I

I
I

I
I

I
I

I
I

I
I

I
I

I
I

I
I

I
I

I
I

--1"--------T------,-~-

..r_-......_-,-__----r----_l---r..

I
I
I
I
I
I

I
I
I

I
I
. ___ ~ __ .. _

_-_ -__-r--__.,.___-_,~-__--r-_---_-

....-..

I
I

!_.__._._..~ ____..__....._ ..!.___......____ .~ ___......_..._._.!..._.....__.__..!___.__....__!...___..._.._.._:.._. __...._ .......__._.._ ..~. __.......___"_'0._....

.... _ ......

Figura 4
3.1 En el cronograma de la Figura 4, representar la formade onda de la seal Z que resulta de la
evolucin temporal de las seales CLK y E. (5 puntos)
3.2 Explicar justificadamente, la funcin que realiza el circuito de la Figura 3. (5 puntos)

L-------------------------www.monteroespinosa.es - Clases de CEDG - Tfnos 91 5445377 , 619142355

3.3 Se quiere realizar un circuito digital para mostrar la calificacin final de un examen realizado
por los alumnos de una clase. Dicho examen consta de 3 partes, de manera que la calificacin de
cada parte nicamente puede ser Aprobado (1) o Suspendido (O). Adems, las 3 partes son
excluyentes, de manera que para poder aprobar la segunda parte el alumno debe haber aprobado la
primera, y para aprobar la tercera, debe haber aprobado las 2 primeras. De esta manera, las nicas
combinaciones posibles de notas, representadas en binario, y la calificacin final correspondiente
sera:
2 aparte (P2)
O
O
1
1

1 aparte (PI)
O
1
1
1

3 aparte (P3)
O
O
O
1

Calificacin Final
Suspenso
Aprobado
Notable
Sobresaliente

Los datos de las notas de las tres partes son enviados junto con el nmero de orden del alumno (3
bits, D2 DI y DO, siendo D2 el bit ms significativo) por una lnea de datos en serie, y de manera
sncrona con una seal de reloj (CLK). A continuacin se muestra un cronograma ejemplo
suponiendo 2 alumnos en la clase (alumnos A y B):

,,

Lnea de
datos

02 01 DO P1 P2 P3 02 01 DO P1 P2 P3

:4

,
' ....._

Nm~ro orden
: alumno A:
I

: :

_....L....._.:.:
:
Nry,ero prden:

~I.

..
: ..

Nptas ~el
al,umnrl.'1' A
f

: alumno B
I

: : : :

Nbtas del
al~mnol 8

CLK

Figura 5
Para mostrar los datos se dispone de un display de 7 segmentos para mostrar el nmero de orden del
alumno y de 4 LEDs para indicar la calificacin final (suspenso, aprobado, notable y sobresaliente),
iluminndose el correspondiente LED. (ver Figura 6)
N ote que en la lnea de datos, no hay separacin entre los datos de un alumno y el siguiente. Los
datos de esta manera llegan en paquetes de 6 bits, los 3 primeros indican el nmero de orden y los
tres ltimos las calificaciones de cada parte del examen. La seal de reloj, CLK, est sincronizada
con los bits de datos y tiene su primer flanco de subida al llegar el primero de ellos (D2) por la lnea
de datos, como se muestra en la Figura 5.
La clase tiene 7 alumnos (nmeros de orden del 1 al 7 en decimal). El nmero de orden O no
representa ningn illumno.
Realice las conexiones a los componentes de la Figura 6 (tablas de verdad/caractersticas en el
Anexo), aadiendo puertas lgicas si es necesario, para que el circuito funcione correctamente.
Puede asumir que las salidas del contador 74HC163 se encuentran a cero (reseteado) al principio
del funcionamiento del sistema. (5 puntos)

L
www.monteroespinosa.es - Clases de CEDG - Tfnos 91 5445377 , 619142355

;'

~CLK
~

Lnea--de datos
QA
QS
QC
QD

A
S

74HC164

Clock

D
CLK

-CLR

RCO

ENP
ENT

LOAD

74HC163

0CJ)0CJ10.j:>.0W0 N0 0 0
o

"'-1

-->.

74HC377
0CJ)0CJ10 0 W0 N0 0 o0

"'-1

.j:>.

.....>.

()
83 82 81 80
Descodificador
BCD a 7-segmentos

8
Figura 6

www.monteroespinosa.es - Clases de CEDG - Tfnos 91 5445377 , 619 142355

FEBRERO 2010

(~

PROBLEMA 4 (15 PUNTOS)


4.1 Utilizando lo valores de la Tabla 1, Y teniendo en cuenta el circuito interno del sumador (Figura
8), obtenga justificadamente, dibujando un cronograma, la mxima frecuencia del reloj (fCLKmax)
del circuito de la F:igura 7 que asegure un correcto funcionamiento del mismo. (10 puntos)

,...

\.--...L

=t>-

O
CLK
-A:

Q
CLK

Q
'---

Q-

C out

Q t-CLK
A'

el K

Q
CLK

C in

Figura 7

x-...---\-\
s

y -+--<t---H
CIN -+--<~------'

YL

Biestables

XOR
AND
COUT

OR

t pTOP

tsetup

lns
3ns
2ns
2ns

2ns

Tabla 1

Figura 8

4.2 Determinar justificadamente, tambin sobre un cronograma, el maXlmo tiempo de hold


(tholdmax) que los biestables pueden tener para que el circuito funcione correctamente. (5 puntos)

L--------'----------------------,---www.monteroespinosa.es - Clases de CEDG - Tfnos 91 5445377

619142355

FEBRERO 2010

PROBLEMA 5 (20 PUNTOS)


La fbrica Ford quiere hacer un nuevo coche basado en el diseo 1965 Ford Thunderbird que se
muestra en la Figura 9. Vosotros sois los encargados de disear el sistema de control de los
intermitentes. Los intermitentes tienen 3 luces en cada lado. Cuando se acciona la palanca de
intermitencia a izquierda o derecha las luces se iluminan siguiendo toda la secuencia (entera)
correspondiente mostrada en la Figura 10. Adems, cuando se acciona el pulsador de emergencia
las 6 luces deben parpadear al unsono. El sistema no hace caso a la palanca de intermitencia
durante la realizacin de una secuencia de iluminacin, sin embargo, siempre se responder al
pulsador de emergencia. Asuma la existencia de una seal de reloj de periodo igual al tiempo entre
intermitencia de las luces deseada.
Le

LB

LA

[UJ

[]]

(]]

.J...>

..1....

,1.j-

tiempo

rn rn -~
{j.
rn :00:!- JI(
-{)O'
~-<;..
j:]Q JID: rn
<.,7
~;"..

...~;...

"-..7

[llJ
Le

LB

LA

RA

RB

Re

rn

C[J

'f'm

<lil)..,

J..)r

{..J..

J-"'- .

fJTI{

:cn,

CD
..t. ~
CD

J~7

J-.. ,.,':.

oo:t....~.

rn

:~
.(,\.

< ,

~v

uu

RB

(]]

,.J"),,

~l

RA

J.....,...!".

rn~

'.

~)-

CiD UD CD

[[J

Re

Figura 9

Figura 10

5.1 Dibujar el diagrama de transiciones de estados de una mquina de Moore que realice el circuito.
Explique CLARAMENTE el significado de cada una de las entradas, de cada uno de los estados y
de cada una de las salidas. (10 puntos)
5.2 Suponiendo el diagrama de estados siguiente
o

Codificacin de
A
B
C

estados
00
01
11

Implemente el circuito utilizando biestabl~s J-K y la l&~a adicional necesaria. (10 puntos)
~~\
__~ ~e,,l.-'~l'''t

/'

(!;)l

~\

O
1

O
X.

6
O

<t)

Qe

e
(

O
I

@1

. \:a.
~o",ec;.
'-- <2.>t.C.l

~., -.,e..'<

'3.,

O
O

O
O

\'
O

()

()

1,(

)(

><.
0l

\-(\
k:
X

-So

)(

@.~

-\

'><
x

k"

~l

)(

'><' .

)i

'l(

()

X
)(

'X

WlIlJw.monteroespinosa,es - Clases de CEDG - Tfnos 91 5445377 , 619142355

e>

)(

.e'
><
'O
'x'

--.,

k~~u ~ e\
Wd-t"Vli.I1.~ e..Mp\.e.ce ~ cero
o

~V2 eY2c.en~ch..o (<t7-) tpo(C;


e..v'\ esq,g.
\ ""OPS

OSCL\o.rC\

POS

CLOMes .'

EL

tI k

lS<>

i n1(>o6 '\al.e /

~i s(CcLl"I'1 eAl.e

e"5

pano

DWlo

S'l'a\e ~ i.<c.uCJ.\

Vlo

es' impo-

e$~( ~ -

Cct.('lo '

q~;. e..s.Wo' l~ t.c't: 'b.e ..cJ... cud-~.m. e.. ~os ,os. 1.0 \e~C)S'CJ.
l t-L
~Y -ro '\\I..U'ni. ~o e,Yl fL.\ -G:\.\ C-lc\O ~e \V1\Q('vrl,A.e(lc.~ o.. \.~ct
~\-=~tn
e.('"

't.:.,
1'S::

&>-{!'~Yl60
~-rc12-r

<3.'-l;: \'" 'Vn C


~~ =- 5 e.~l.l..00
~:: Je.rce.r

C),7 s ~') os ~os

'1

1,

1,

'1

1,

1 \

I(

\\

tI

1/

"

'1

11

It

/1'

\1

1.

"

"

\(

1\

1)

'I

11

1\

11

!1

11

11

I f

I t

"

!1

)1

ti

\)

11

tI

eme~e vI e

\. o.. .

11

11

11

\1

11

t,

I J

~ecLa..
{f

"

FEBRERO 2010

PROBLEMA 5 (20 PUNTOS)


La fbrica F ord quiere hacer un nuevo coche basado en el diseo 1965 F ord Thunderbird que se
muestra en la Figura 9. Vosotros sois los encargados de disear el sistema de control de los
intermitentes. Los intermitentes tienen 3 luces en cada laqo. Cuando se acciona la palanca de
intermitencia a izquierda o derecha las luces se iluminan siguiendo toda la secuencia (entera)
correspondiente mostrada en la Figura 10. Adems, cuando se acciona el pulsador de emergencia
las 6 luces deben parpadear al unsono. El sistema no hace caso a la palanca de intermitencia
durante la realizacin de una secuencia de iluminacin, sin embargo, siempre se responder al
pulsador de emergencia. Asuma la existencia de una seal de reloj de periodo igual al tiempo entre
intermitencia de las luces deseada.
Le

[[J

-!.}.

00

-l-\..

.J..)-

~.

.J...7

m
.
..J.

-'

'vl,.

,>

:rn:
.J.J.

(1)

(IIJ

Le

LB

LA

RA

RB

Re

rn m
. .~u,..,.. 'u.

[TI

;JEl,

rn

[TI

..!,.).

)n.

(]J

~m
/-l-I,.'

bl{

~t)

:orQ
:00:
.. .....;..

j:llii, ,'f2lEi

RB

RA

tiempo

m m

[[]
[[)

LA

LB

,,. ";.

',J.?

" ,!>-

)JL(
<1....-'-

(]J

~L'

~l.>-

-.J..).

[U rn

Re

Figura 9

Figura 10

5.1 Dibujar el diagrama de transiciones de estados de una mquina de Moore que realice el circuito.
Expliqu: CLARAMENTE el significado de cada una de las entradas, de cada uno de los estados y
' ; .
de cada un~,ee las salidas. (10 puntos)

_.

(.

5.2 Suponiend'el digrama de estados siguiente


o
.~

-c)

Qf Of;t,

'1

Codificacin de estados
,00
A
, ,H
01
C
11

X
o

;'''X.

Implemente el circuito utilj~~do biestables J-K y la lgica adicional necesaria. (10 puntos)

Ql
o

C>

I
I

o
o

~//./# v/v/;
I

ti.""
o

Q"
.. _Gio

o
I
o
y/~c
,,~#/~ ~/~~
o
I
I
,

'".

~///; ????~

o
o

,
I

..

[
i
f;;7~h ~/~ v/~
I

'l

_5

~.1

t(l

o',

t:J

,X

)<.

X.

o
-

'

,ff:;
www.monteroespinosa.es - Clases de CEDG - Tfnos 91 5445377 , 619142355
..:..-~)

X
";x

...

/<

1
X

)<

. ~.'

)<.

(>

'

..

lC.'

;X

O
O
~

~
.

..

o
;X

m 15 ~

ail

jl~
@

~
~

Ke

s~

El
S",ef..

I 3q> .: I
t

4,- .

~.
E.

e....

. e.

c,~

Ql

1.1""

,.,1-0

Sof.

~ MCIt; t:~J,;~" ",


'., r

de"

e....

e..

e. .t,

o)

c:.~b:'-.

e~) ln.. . .(__ /J.

FEBRERO 2010

PROBLEMA 6 (15 PUNTOS)


Consideremos el siguiente fragmento de un mdulo hardware descrito en VHDL que gobierna el
funcionamiento de una mquina expendedora de refrescos

-- Mquina expendedora de refrescos


library IEEE;
use IEEE.std_logic_1164.all;

entity vend is
port (
clk,in_ffioney, reset: in STO LOGIC;
in select: in STO_LOGIC_VECTOR (7 downto O);
in_dispatched: in STO_LOGIC;
out drink: out STO LOGIC VECTOR;
end vend;
architecture vend arch of vend is
type vend state type is (s wait for ffi , s_wait_push,s_out_drink);
signal state vend: vend_state_type;-

begin
Pl:process (clk,reset)
begin
if reset='l' then
state vend<=s wait for ffi ;
out drink<='O';
elsif (clk='l' and clk'event) then
case state vend is
when s wait for ffi =>
out drink<=' O ' ;
if in_ffioney ='0' then
state vend<= s wait for_ffi;
else state_vend<=s_wait_push; end if; ,
when s_wait_push =>
out drink<='O';
if in select = "00000000" then
state_vend<= s_wait_push;
else state vend<=s out drink; end if;
when s out drink => out drink<=' l' ;
if in_dispatched ='0' then
state_vend<= s_out_drink;
else state vend<=s wait for ffi; end if;
when others => state_vend<=s_wait for_ffi;
end case ;end if;
end process;
end vend_arch;

6.1 Dibujar el diagrama de transiciones de estados de la mquina definida en el cdigo. (10 puntos)
6.2 Incluya el cdigo necesario para que una vez obtenido el refresco se active un pulso en una
seal music_on que reproduzca una meloda. (5 puntos)

www.monteroespinosa.es - Clases de CEDG - Tfnos 91 5445377

619142355

ANEXO
Tabla de verdad del contador de dcadas
74HC160 con clear asncrono
Connection Diagram

OUTPUTS
RIPPLE
CARRY _.- - - - - ' ' - -.....' ENA!lLE

(la

VCCOUTPUT OA

Ilf;

14

1$

Oc

00

/12

13
"

LOAD

110

11

Truth Tables
'HC 160/HC161

a Oc

RIPPLEQA

CARRY

00 ENA8LE
T

OUTPUT

re

CK

CLEAR CLOCK A

o
5

L
H
H
H
H
H

t
1

la

1)

CLR

X
X

ENAD!..E
p

o-

LOAD

CI.EAR

CLK

X
H
L

X
L
H
L

Load

Function

X
H
H
H
L
H

Clear
Count & RC disabled
Count disabled
Count & RC disabled
Load
lncrem en! Counter

H "" hgh level, L '" low leve I


.= low lO hgil !ransfion
X '" don'l <::are,

1> ENABLE GND

DATA INPUTS

ENP ENT

TUF/5-:r.JB

Order Number MM54HC161/162/163


or MM74HC160/161/162/163

Tabla de verdad del contador binario 74HC163 con


clear sncrono
r

'\
;

RIPPLE

CARRY

OUTPUTS

"

Os

VCCOUTPUl OA

lU

14

15

RIPPLE QA

CARflY

Oc

13

Oa

MM74HC163
, ENA8LE
T
LOAO
00

11

Oc

00 ENABLE:

OUTPUT
-C :ClEAR
Cl<

LOAD
A

eLE.AH CLOCX A

p-

ENABL.t:
p
D

10

_ _ _ _ _ _~~_ _
...~J

la

CLK CLR

ENP

ENT

Load

Function

Cfear

Count & Re dlsab[ed

GountdJsabled

l'

Count & Re cllsabled


Load

lncrement Counter

H = HIGH"lQvef
L = LO'W' Level
X = Don't Care
j = lOlV-to-HIGH Transitim

ENASLE. GNO

DATA I'NPUTS

www.monteroespinosa.es - Clases de CEDG - Tfnos 91 5445377 , 619142355

tfJNational Semiconductor

MM54HC164/MM74HC164
S-Bit Serial-in/Parallel-out Shift Register
Truth Table

General Description
The MM54HC164/MM74HC164 utilizes advanced ~;j!jcon
gate CMOS technology. It has the high noise immunity and
low consumption of standard CMOS ntegrated clrcuits. II
also offers speeds comparable lo low power Schottky devices.

f)
~-

Outputs

Inputs

This 8-Bit shift register has gated serial inputs and CLEAR.
Each register bit s a D-type master/slave flip flop. Inputs A
& B permt complete control over the ncoming data. A low
al eilher or both inputs inhbils entry of new data and resets
the firsl flip flop to the low level at the next clock pulse. A
high level on one input enables the other input which will
then determine the state 01 the frst flp flop. Data at the
serial nputs may be changed while the dock 1s h1gh or low,
bu! only information meeting the setup and hold time requirements will be entered. Data is serially shifted in and out
of the 8-Bit reglster during the posltive going transition of
the clock pulse. Crear Is independent of the dock and accomplished by a low level at Ihe CLEAR input.

Clock

OA

X
X

X
X

OAO
H

Oso
OAn

OHO
OGn

L
L

An
OAn

OGn
OGn

i
i
i

H
H

j = Transilion Irom lw to high level,


0AO. Oso, QHO = the level 01 0A. OS, or OH. respectiltoly. befare the
indicale sloady stale input conclitions were established.

0An, OGn = The Jevel of OA or OG befare the mas! reccmt


lile clock; indica!ed a one-bit shft.

Product specification

INPUTS

OUTPUTS

CP

DII

Qn

"1"

l'

loacl "O"

l'

I
I

l'

no change
no change

load

holel (do nothing)

Notes
1.

74HC/HCT377

GENERAL DESCRIPTION

OPERATING
MODES

H = HIGH vollage level


h = HIGH voltage level one set-up time
prior to tlle LOVV-to-HIGH CP transition
L ::: LOW voltage level
I ::: LOVV voltage level one set-lIp time
prior to lile LOVV-to-HIGH CP transition
i ::: LOW-to-HIGH CP transiton
X = don't ca re

OH

H ~ High level (steady state), l = Low level (steady stale)

Octal D-type flip-flop with data enable;


positive-edge trigger

(j

Os

X = Irrelevanl (any inpul, including transitions)

Philips Semiconductors

FUNCTION TABLE

...

Clear

The 74HC/HCT377 are high-speed Si-gate eMOS devices


and are pin compatible with low power Schottky TIL
(LSTTL). They are specified In compliance with JEDEe
standard no. 7A.
The 74He/HeT377 have eight edge-triggered, D-type
flip-flops with individual D inputs and O olltputS. A common
clock (ep) input loads all flip"flops simultaneously when
the data enable (E) is LOW. The state of each D input, one
set~up time before Ihe LOW-to-HIGH clock transtion, is
transferred to Ihe corresponding output (On) of the f1ip-flop.
The E input must be stable only one set-lIp time prior to the
LOW-Io-HIGH transilion tor predictable operation.

t'I

...

el

ID

1P

... a

el

.",

ti

... ...

1P

t'!

In

o 'o '

In

...
o

f"I

"It

<:>

"-

tO

4.
U

.-'"..

......

al,

!:!

....

www.monteroespinosa.es - Clases de CEDG - Tfnos 91 5445377 , 619142355

t;

..

G'.I,

transition 01

SEPTIEMBRE 2010
PROBLEMA 2 (20 PUNTOS)
(\
\

En la Figura 2a, los bloques MI y M2 representan sumadores completos de dos bits, con acarreo de
entrada y salida (seglm Figura 2b).

x
M1

M2

O
Zs

C in

C out

Z2

Z1

Zo

Figura 2a

Figura 2b

2.1 Explique razonadamente la funcin que realiza el circuito de la Figura 2a. (5 puntos)
2.2

Suponiendo que las seales de entrada al sumador aparecen sincronizadas, calcule el retardo de
las seales S y C out respecto a las seales X, Y Y C in del sumador de la Figura 2b, en nmcin de
la unidad temporal t. Puede implementar el sumador de la manera que usted desee, valorndose
el que el retardo sea el mnimo. Para ello se conocen los sig1entes retardos de las diferentes
puertas lgicas:
las puertas AND de 2 entradas tienen 1Ul retardo de 3 1midades temporales (3t)
las puertas OR de 2 entradas tienen 1Ul retardo de 21midades temporales (2t) y
las puertas OR exclusivo de 2 entradas tienen un retardo de 4 mlidades temporales (4t).
(lO puntos)

2.3 Suponiendo que las seales A o, Al ,Bo y Bl de la Figura 2a aparecen a la vez, calcule de manera
justificada el retardo de las seales de salida Zo, Zl, Z2, y Z3 respecto a las anteriores. (5 puntos)

www.monteroespinosa.es - Clases de CEDG - Tfnos 91 5445377

619 142355

NOVIEMBRE 2011
PROBLEMA 1 (40 PUNTOS)
(~

Se desea implementar las funciones lgicas K, F Y H, que dependen de X, Y Y Z, segn la


siguiente Tabla de Verdad:

O
O
O
O

O
O

1
1

1
1
1
1

O
O

1
1
1
1
1

1
1

F
1
1
O
1
O
O
1
O

H
1
O
1
O
O
1
O
1

1.1 Obtenga la expresin lgica simplificada de K utilizando un mapa de Karnaugh, e


implemntela con el menor nmero de puelias lgicas posibles de 2 entradas. (10 puntos)

Simplificando por UNOS

Simplificando por CEROS

1.2. Implemente la funcin K utilizando exclusivamente un multiplexor de 4 entradas de datos,


como el de la Figura. Para ello, NO se dispone de las seales negadas. Justifique adecuadamente
su solucin. (15 puntos)
1.3 Finalmente, implemente las dos funciones, F y H, utilizando exclusivamente un decodificador
2 a 4 como el de la Figura (con enable y salidas activas a nivel alto) y las siguientes puertas
lgicas:

3 puelias OR de 2 entradas.

2 puelias XOR de 2 entradas.

Note que los valores de F y H para una combinacin dada de Y y Z tiene valores complementarios
dependiendo del valor de X. (15 puntos)

Enable

00

.)
/

10
11

01
O2

03

k -= ')(. 't 4k~

) Y~"2- ~

~t9y 4- ~';

www.monteroespinosa.com - Clases de EDIG - Tfnos 91 544 5377 , 619 142355

'X

Y
b

--f--.,r----t--'T-

_--+-r-rt-r--

y + ';t y +-=l ~ ,-y...y } ~ '>lY i-Y'Y+ \y.~ -+ x Y't.... -=.


/-:;: ~9 ~-\- ;Z Yl +-~) \- )(- 9= '1- 'T~ 4-)C Y +- ')lV
oLe. - -

....

-=. )(

{-\

"--->

! ~<"110'S

O := ~ SoTo ""

\(

')c

e.. Y C~"lO e-I\~'O-(jl.5 e cDf1lro\,

~6:cl:

1-\

5..50 \:.~ -\ S~oL~


/~-.,

t:.o-=--Z
)t

1: \ -::. \
1:. '2. ::: l

1:"3.-:.D

\':3.

\.a.W1o~ a.. ~f>\emef\\or Ls ~u.v",C~t1.e~ T \~ \J ~ (~ ~e~i'\~f)

sbLo

be y\~~/) m elov'l\e ~ 'o-e.eo6 -l ~~c060\ ~


~

__

I COc\l..Ve:>
.....-.r-~

."I,v.e\

o..\.a')

.u

e. Q,~_ _~~

q-~o

Y -><

\J6( ~

01

p-r

Dl.

X-~~~----

~~ \

\b-'o. V\.-~( Q.cA~\i.VClJ1<1e.r1le


'O ~ u.no.. Vo.\~a..\o\e. , (\e..c..e.s l\ames

\:A
J O
o
J.
3..

'\5
1?1

o
I

A~~\
ti

t
I

C.t-\.a~d O
(~oo

\..\.v\

,e.Su.\

0...V'o..

~~ a

V)

~u..e\\.o. \(0<-,

1\-- ~- o '--'7 A.~\3;;: ~


A -::. \ -.:::') A-~ = ts

~u..{I ClOV

NOVIEMBRE 2011

PROBLEMA 2 (30 PUNTOS)


(~

Implemente un conversor de cdigo BCD de dos dgitos (B para las decenas y A para las unidades)
a cdigo binario de 7 bits (S6 ... SO) utilizando exclusivamente dos sumadores de 4 bits con acaneos
de entrada y salida como los de la Figura. Justifique adecuadamente su solucin.

~0\e-wloS

t:h Q;c. \)

yo-

e.Y)

e-\

u-Y)lcdCes (A)/ WI"l

\? nCU"'lo ~S

Ltv.Co

Co-Y?

f0(,o'o\ema.

~ ~ a..)es '6e. 6ecena.s ~)

'be. ~ es~r'\ se.~r~S ~

\>a.ro- ~(Y'O-r
~\:L(' de. e..\la..s -.o.. COU"L\;L'nO CVl \o lV1o..rt.o 0-0
-tenevnO'5 ~ tVY\~e.(YleJ1\:o..r .ko(>e-l~Y\\",,~lOS * ~J
<X..

"l

m'

~~

~~

--+

~z.
~2

~l

<G

G'\.

B3

Wz.

\31

'O

\31
\33~'j

rO

B>~

gt.

~?\-~l

S~

'00
'6Z.+B:::>

b.."3
~\-~\-~

S3

\3.0
O

'\

l(

BZ

B3

~l

f:\z

\30

'Al

\3r\Jt?; R::.*(}.\

Sz.

S(

g,~

-O

1\

1\0
~

()

www.monteroespinosa.com - Clases de EDIG - Tfnos 91 5445377 , 619142355

\.0\0

NoY;EI1~ItE

(\

101 I

PROBLEMA 3 (30'PUNTOS)
Consideremos el siguiente circuito electrnico.

salida(6)

.......
ro

1J)
I~

ro

"'C

ca

<1)

"'O

FPGA

:"Q

ro

ca

CJ)

-ro

, sa.lida(O)

<1)

~
ro

ro

ro

ro
<1)

<1)

salida(3)

lJ.

..

En la FPGA se"sintetiia "l 'siguIente fragmento de un mdulo hardware descrito en VHDL,


compuesto de dos submdulos:
COrt'l

P. i

Esh. ,.,.. c1..R..

library IEEE;
use IEEE.STD LOGIC_1164.ALL;

leo""

A,''ji ~~

entity comp1 is
port (
input : in std logic vector(3 downto O);

"J

de.

W4 ,c.Aj:, ... dc. r Je 8(. D c.. i .s'1~,,,tD)

err-or)

Ioutput , out std_logic_vector(6 downto ~~~r~I"I~I"I-'I'I'f'l


end comp1;

_______

scJ';,\p.~,)

sc.t.l.. to)

architecture Behavioral of comP1-is

, ._

begin
with

input select output <=

1_ _ 1 ~)

f~ .=(

::~ii~~~~:: :~:~ ::~~~~:::~


..
VJ /./
,f~-.)J. .1-:
_1

""h

"1101101" when "0010"

::~~~~~~~:: :~:~ ::~~~~>~ ,_., ~:~.J

"1011011"
"1011111"
"1110000"
"1111111"
"1111011"
"1001111 ff
"0000000"
end Behavioral;

when
when
when
when
when
when
when

"0101":~'

"0110ff,~--""
"0111" ,_
,1;
"1000",e_j'
(
"1001",~

,-

:1

I-,I_i

"1111" 1'._ ~i
others; t -

i-=:'
-

.1;,; f .!.t

erro;

,"r~ e~

L!" frA<:!L

1~ ~

COME 2.

library IEEE;
use IEEE.STO_LOGIC_1164.ALL;
entity f2!!lp.2 is
port(
C:
A,B:

Y:
);

I,r:

Es~e ~;c.ho

e~

kt.) cIt t.

bi b

2)<

''''1 Y"\of Ji" ft)Cor

t:o.a..

111'\ ..

, el, d ..) , e..~r.... J"'J

, ""'c.. e-.Ir..~ ~ 'o",~",f ~

,..,

),}, '1

()

,,'

I.J"'' ' s...e;cl.. c.e 4 bib

"--,'

in STO LOGIC; - f ; L1 fCA.I, el.{ >, ~r( ~ ~ b;~


in STD- LOGIC- VECTOR (3 downto O);~ 2
out STO- LOGIC- VECTOR (3 downto O)~ :1
,-

i!4

h. . d.,

ell 'f

Ff;<t. d,

b; 1, coJ. "......

----

'-( b;I,

end comp2;
architecture comp] _ beh of comPl is

f1I.,,.. l).\

"

I?...-A' Y

begin

1
with C select Y <=
A when ' O' ,
B when '1' ,
(others =>' O') when others
end comp2_beh;

e. t.bc .:I,

I
llbrary IEEE;
use IEEE.STO LOGIC_1164.ALL;

vtrcU dt. "" Hu" 2 X 1

15

e.f,.A.)

()
,
,

ec:l;~

in STO LOGIC_VECTOR(3 downto O);


s:
in STO_LOGIC;
salida: out STO LOGIC'VECTOR (6 downto O)

) ;

Co ... pt

end edig;

t2

'"

"1-

.Q

d.

~
~

of edig is

S.;. ....
".,.,-

signal aux: STO_LOGIC_VECTOR (3 downto O);

,,;t"'"

to~,<~v-

Cot?pi

/4J'/.

~g ~

'f ,'b , .....

~
O

entity edig is
port(
da.to:'

archi tecture

~o~T" e,.

ft'J'

C. ....pi

'Y c.,,.,,~

:;,

'~

"-

::.
O

I component compl

port(
input
in std logic vector (3 downtoD); I
:
output
out std_logic_vector (6 downto O));:
I end component;
j
- - - - - - - - - - - - - - --component comp1.
port(
in STO LOGIC;
C:
A,B: in STO LOGIC VECTOR (3 downto O);
({:
out STD_LOGIe_VECTOR (3 downto O));
(
I-.:n~ c~mponent; _
I
I

------

-----,

begin
Ul: comp2 port map(s,dato,"llll",aux);
U2: compl port map(aux,salida);

3.1 Explique razonadamente la funcionalidad del los mdulos compl y comp2, indicando en un
esquema de bloques las entradas y salidas de cada mdulo. (10 puntos)
Nota. Dispone de una copia (reducida en 2 pginas en una) del cdigo VHDL de este problema en la ltima
pgina de este examen, a modo de Anexo, que puede arrancar para poder trabajar ms cmodamente con l.
(

3.2 Explique razonadamente la funcionalidad' del circuito completo. (10 puntos)


3.3 Modifique el circuito para que incorpore una seal de reset (activa a nivel alto) que ponga todas
las salidas a 'l' cuando se active. (10 puntos)

,,-,

3.1 Explique razonadamente la funcionalidad del los mdulos compl y comp2, indicand en un
esquema de bloques las entradas y salidas de cada mdulo. (10 puntos)
Nota. Dispone de una copia (reducida en 2 pginas en una) del cdigo VHDL de este problema en la ltima
pgina de este examen, a modo de Anexo, que puede arrancar para poder trabajar ms cmodamente con l.

El mdulo compl es un decodificador BCD - 7 segmentos con un cdigo especial de error


para la entrada "1111" que muestra en el display la letra "E".

El mdulo comp2 es un multiplexor de dos entrada de datos de 4 bits cada una, una entrada
de control y una salida de datos de 4 bits.
3.2 Explique razonadamente la funcionalidad del circuito completo. (10 puntos)

El circuito digital controla el display de 7 segmentos. Segn en valor de la entrada de control


muestra el cdigo BCD de la entrada en el display (entrada de controlO) o bien muestra la
letra "E" (entrada de controll).

3.3 Modifique el circuito para que incorpore una seal de reset (activa a nivel alto) que ponga todas
las salidas a '1' cuando se active. (10 puntos)

Una posible solucin, aunque no la nica, sera la siguiente:

ce..J! (dt

entity comp.l is
port (
input: in std logic vector(3 downto O);
rst: in std_logic;
output : out std_logic_vector(6 downto O)

c.;:cl: 1" pro'(edoelo

e... t<. p; c. . tr... ( y e,

) ;

end com~l;
~
~~~'~~.~~~~~~~~~--archl tecture J:lehaVlOral or comp lS
Ario.d:f'N)~o.... e.J.... ~ re..Jd
begin
(
if (rst = '1') then
tl:
C.l>ir-(d,~ I3,cD -.1 75.,,.,,
output <= "1111111";
~ "'/"( poflf. ''"P r.l.:cl
I
A
... '1
a.'~;"""'J(
end if;

",e

entity edig is
porte
dato: in STO_LOGrC VECTOR(3 downto O);
s: in STO_LOGrC;
reset: in STD_LOGIC;
salida: out STO LOGrC VECTOR (6 downto O)
) ;

end edig;
component compl port (input: in std logic vector(3 downto O);rst: in
std_logic_vector; output : out std~logic_vector(6 downto O));end component;
U2: compl port map(aux,reset,salida);

61'1 /Y2. 355

CEDO - Septiembre 2011

(\

Pgina 9 de 10

PROBLEMA 5 (15 PUNTOS)


5.1. Razone cul de las dos opciones Ca b) consigue intercambiar los valores iniciales de los
objetos codigol y codigo2. Por qu? (5 puntos)
Opcin a:
process
variable codigol : integer := 57;
variable codigo2 : integer := 92;
begin
codigol := codigo2;
codigo2 := codigol;
wait;
end process;

Opcin b:

Signal codigol: integer := 57;


signal codigo2 : integer := 92;
process (codigol, codigo2)
begin
codigol <= codigo2
codigo2 <= codigol;
end process;

Las variables se asignan de manera inmediata mientras que la


seales se asignan simultneamente al finalizar el proceso
concurrente (process).
Por lo tanto, para intercambiar los valores iniciales de los
objetos se utilizar la opcin b. En la opcin a los objetos
siempre toman el mismo valor.

CEDG - Septiembre 2011

Pgina 10 de 10

5.2. Describa razonadamente la funcionalidad del siguiente circuito, indicando claramente la


funcionalidad de todas las entradas y salidas: (10 puntos)
library ieee;
use ieee.std_logic_1164.all;
entity cedg is
port(clk, input: in std_logic;
linput: in std_logic_ vector (7 dO'tmto O);
len: in std logic;
sr: in std_Iogici
output : out std_logic);
end cedg;
architecture archi of cedg is
signal tmp: std_logic_vector(7 dOvlDto O);
begin
process (clk,srl
begin
if sr ='1' then
tmp <= (others => 'O');
elsif len = '1' then
tmp <= linput
elsif clk'event and clk='l' then
tmp <= tmp(6 downto O) & input;
end if;
end processi
output <= tmp(7);
end archi

El circuito descrito es un registro de desplazamiento de 8 bits,


con entrada/salida serie y carga en paralelo y reset asncrono.
Funcionalidad de las entradas y salidas:
clk: entrada de reloj
input: entrada al registro de desplazamiento serie
linput: carga de 8 bits en paralelo del registro. La carga se
.produce cuando len est activo de manera sncrona.
len: activacin de la carga en paralelo, se produce de manera
sncrona.
sr: reset asncrono. Inicializa el registro a "00000000"
ouput: salida serie del registro de desplazamiento (bit ms
significativo)

Pgina 9 de 11

CEDG - Febrero 2012

PROBLEMA 6 (15 PUNTOS)


Consideremos el siguiente circuito electrnico.

salida(6J
,tI
ro

:!2

FPGA

ro

salida(O

i
VI

"'O

ro

""ro

Vl

N--I
O

ro

VI

:!2
ro

VI

1U - -..

"'O

En la FPGA se sintetiza el siguiente fragmento de un mdulo hardware descrito en VHDL,


compuesto de dos submdulos:
library ieee
use ieee.std_logic_1164.al1
use ieee.std_logic_unsigned.all;
entity compl is
port(A,B
SAL GE
SAL LT
end compl

in std_logic_vector(3 downto O);


out std;....logic;
out std_logic);

architecture archi of compl is


begin
SAL GE <= '1' when A >= B else 'O';
SAL LT <= '1' when A < B el se 'O';
end archi;
library ieee;
use ieee.std_logic_1164.all;
entity comp2 is
port (e, D : in std logic vector(6 downto O);
in std logic S
O : out std_logic_vector(6 downto O);
end comp2;
architecture archi of comp2 is
begin
with S select O <=
e when 'O' I
D when ' 1 ' I
e when others;
end archi;
library IEEE;
use IEEE.STD LOGIe_1164.ALL
use IEEE.STD_LOGIe_ARITH.ALL;

Pgina 10 de 11

CEDG - Febrero 2012

entity edig is
port( datol: in STO LOGIC VECTOR(3 downto O):
dat02: in STD-LOGIC-VECTOR(3 downto O);
salida: out STO LOGrC VECTOR (6 downto O;
end edig:
architecture edig_beh of edig is
signal aux1: std logic:
signa1 aux2: std=logic:
component comp1 port (A,B
in std logic vector(3 downto O):
SAL GE : out ;td_logic:
SAL LT: out std_1ogic)
end component
component comp2 port(C, O
S
O
end component;

in std_1ogic_vector(6 downto O):


instd 10gic;
out std_logic_vector(6 downto O:

begin
01: compl port map(dato1,dat02,auxl,aux2);
02: comp2 port map("llll110", "0110000",auxl,sa1idal
end edig_beh

6.1 Explique razonadamente la funcionalidad del los mdulos compl y comp2, indicando en un
esquema de bloques las entradas y salidas de cada mdulo. (5 puntos)
Nota. Dispone de una copia del cdigo VHDL de este problema en la ltima pgina de este examen, a modo de
Anexo, que puede arrancar para poder trabajar ms cmodamente con l.

El mdulo comp 1 es un comparador de dos entradas de datos de 4 bits cada una. Tiene dos salidas,
una que se activa (nivel alto) cuando A es mayor o igual a B (SAL_ GE) Y otra que se activa (nivel
alto) cuando A es menor que B (SAL_LT).

compl
B

El mdulo comp2 es un multiplexor de dos entradas de datos de 7 bits cada una y una entrada de
control, que selecciona la entrada e en el caso de ser Oy la D en el caso de ser 1.

e
comp2
D

CEDG - Febrero 2012

Pgina 11 de 11

6.2 Explique razonadamente la funcionalidad del circuito completo. (5 puntos)


El circuito completo es un comparador con salida grfica a travs del display de 7 segmentos. Si
dato! es mayor o igual que dat02 aparecer un 1 en el display. En caso contrario aparecer un Oen
el display.

6.3 Modifique el circuito para que incorpore una seal de reset (activa a nivel alto) que ponga todas
las salidas a 'O' cuando se active. (5 puntos)

Una posible solucin, que no la nica, puede ser:

entity edig is
porte dato1: in STD LOGIe VECTOR(3 downto O);
dato2: in STD-LOGIC-VECTOR(3 downto O);
reset: in STD-LOGIe;
salida: out STD LOGIC VECTOR (6 downto O});
end edig
begin
if (reset = '1') then
salida <= "OOOOooe u
elsif
U1: comp1 port map(dato1,dato2,aux1,aux2)
U2: comp2 port map(n1111110","0110000",aux1,salida)
end if;
end edig_beh

ENERO 2012 - ANEXO

74AC163 74ACT163
Synchronous Presettable Binary Counter
General Description

Fea,tures

The AC1ACT1133 a~ hgh-spead synchnmous modulo-16


bnary rounters. They are synchronously presettable for
app!it:alion in programmable ividers and hava two types
of Count Ena!>le inputs plus a Terminai Count output fur
versatility in forming synchronous multstage counters. The
AClACTiB3 has a Synchtooous Rase! input that overrides
countlng an paralfa! loadlng an aUows the outputs te be
simultaneously ~t on the sing edge of the dock..

Ice reducad by 00%


Synchronoos coonting and loadlng
High.spee;d synchronnus expanskln

TypicaJ rount rate oI 125 MHz


O!.dptlts sourcefslnk 24 mA
ACT1133 ha.s ffi-compatJble inputs

Truth Tabfe
Pin Assrgnment

TC74HC163A

Outpurs
Function

Inputs

CLRl

16

VC~

CK 2

15

eo

A3

ENT

X
X

Reset to '0"

13 QS

e s

12 QC

D6

11 QO

NoChange

B 4

EN? "1
GND 8

C)

14 QA

ENP

10 ENT

loAD

Count Up

NoChange

Count

NoCoum

X: Don't cara

A, B, e, D: Logic leval of data inputs

Siendo QA el bit luenos significativo de la salida

www.monteroespinosa.com - Clases de EDIG - Tfnos 91 544 53 77 , 619 142355

(.
November 1995

tflNational Semiconductor

MM54HC194lMM74HC194
4-Bit Bidirectional Universal Shift Register
General Description
TIlis 4-bit high spero bidlrectional shift register utllizes advanead silicon-gate CMOS taotmoklgy to acrueve the. low
power consumption ami hgh
immunily of standard
CMOS integrated crcuits. along v.il; the ability 10 drive 11)
LS-TTL loads. ihis deYioe aparates al speeds simila.rtothe
equivalent low power Schoti:Ky part,

nrnse

This bidirectonal shift register IS designOO to iooorporate


virtualty aH of toe fsaturase: sys1em designer may want in a
shift reglster. It features parallel lnputs, parallef outputs,
rig01 sh1lt ami IBit shift serial npllts. operating mode controi
inputs, ami a direct overriding c1ear fine. The register has
four distlnc modas of operaron: PARALLEL (broadside)
LOAD; SHfFT RrGHi (in the direction QA toward Qo};
SHIFT LEFT; rNHIBfT CLOCK (dI). nothlng).
Synchronous paraHe! loading la accomplishro by applying
the four bits of data and taking both mode control inputs. SO
ami Si, high. The data are 100000 into their respective flip
flops
appear al the outputs aftar tlle positive transition
of the CLOCK input, During foadng, serial data ffow is inotJ.,
ited. Shifi 'ight 1s aomplished syndlronous1y wfJl the ris~
hg roge of toe c!oc!{ pulse when SO is high ami S1 is fow.

ano

Serial daia for this. mode ls entered at the SH!Fi RIGHT


data hput When SO is Iow ami Sl ia /11gh. data shlfts eft
synchronousfy andnew data is enterad at the SHIFi LEFi
serial input. Glocl<ing of the flip flops s inhibited wOOn both
mods control inputs are Iow. Too mode control inputs
should be changro onl)' when 1he CLOCK input Is hgh,
Toe 54HC/74HC logle fami!y Is functional!y as weU as pir.
out compalble v.ith toe standard 54LSI74LS logic famity,
AH inputs are protectOO from damage dLIe to static dis
charga by interna! diade cfamps to Vcc, and ground

Features
Typical operating frequency. 4$ MHz
Typical propagation dalay: ns (clock to Q)
Wide operating supply vofage ranga: 2-6V
Low input current 1 p.A maximum
Low quiescent suppfy Ctlrrent: 100 p.A maximum
(74HC Series}
Fanout of 10 lS-TTL loads

Function Table
I

C~~)

--

51 52
A
B

-e

-D
-- 5R5L

"'-J
.,J:::.

te

OA 1OB 1Oc 1OD 1-

.,J:::.

aw.

Outputs

Inputs

Moda
Serial
ParaUel
C1ear Sl S2 Clock Left Right A BCD QA Os Oc Qn

L
H
H

X X
X X
H H

H
H
H
H
H

L
L
H
H
L

H
H
L
L
L

X
L

X
X

X
X
X

XXXX L L L L
X X X X OAO ASO Oco aro
aocd a
bcd

X
X
X
X
X

i
i
i
i

.X

H
X
LX
X

X
X
X
X
X

X
X
X
X
X

X
X
X
X
X

H OAn aBo 0en


L 0An Q& Oen
Qso Oen QDo H
0& OCn Opn L
QAO ASO Oco aro

C~CK
H "' n$,ilh level !$Iedy state)
L = Iow le'lel (stearly slalej
X = irrelev?nt {arrtlr1llil:; includin!l tral\$1tions)

i = trarn;lfiot1 lrom low lo h1Sh lwel


a, b, e, ti = Ina level o siaady-state irlPut al ini'uts A,

e, e, or D.

respectival}'.

0Alh C!s;;r 0( 00& ",lhe level o 01<, Os. Oc' or 00, resoo!lveJy,
beore ina indicaled steady-srate input conditions were establlst\ed.
0""" Oen. Ocr. Con = lhe level 01 Q., Os. Oc, respeclively, befare
the mosHecent i tJ1;lnsltloo 01 lhe dock.

www.monteroespinosa.com - Clases de EDIG - Tfnos 91 544 53 77 , 619 142355

ENERO 2012

{\:

PROBLEMA 1 (20 PUNTOS)


1.1 En un sistema que trabaja con aritmtica de 4 bits, se dispone de dos nmeros A y B de 4 bits
expresados en complemento a dos ([A3 .. AO] y [B3 .. BO]) y de dos bits de control SO y SI. Se quiere
constmir un circuito que realice las siguientes operaciones en funcin de los bits de control:

SO

SI

OPERA.CIN

A+B

-A-B

B-A

A-B

Se dispone para ello exclusivamente de los sumadores completos de la figura y puertas XOR.
Implemente, de manera justificada, el circuito que lleva a cabo las operaciones deseadas.
(15 puntos)

:(

" ((.ut

(U)

'(
;

,<:.:.ut

(in
S.

L
www.monteroespinosa.com - Clases de EDIG - Tfnos 91 5445377 , 619142355

1.2 Explique cul o cuales de los sibruientes cdigos de VHDL sintetizan el circuito descrito en el
primer apartado. Justifique razonadamente su respuesta. (5 puntos)

CDIGO A

CDIGO B

llbrary ieee;
usa ieee.std 100ic 1164.al1;
u.se ieee .. std=logic=unsigned. l.ll;

library ieee;
use ieee.std logic 1164.al1;
use ieee.std=:logic=:unsigned.all:

entity adders_l is

end adders_l;

entity adders 2 15
port(A,B :- in std 10gic vector(3 dO':lBt.O O);
5: in std logic vector (1 downto O);
Q: cut integer);
and adders 2;

architect.ure archi o aaders 1 ls


signal tn~: integer;
begin

architecture archi o adders 2 is


varit.,.ble tmp: integer;
begin

PROCESS(A,B,S)
BEGIN
CASE S 15
WHEN "00"
}'JHEN nOlft
\oJHEN tilO"
WHEN "11"
~~HEN OTHERS
END CASE;
END PROCESS;

PROCESS(A,BrS)
BEGIN
CASE S IS
WHEN "00"
WHEN "Ol

Dort(A,B : in std 10gic vector(3 downto O);


.
s: in std l;:.;;ic vector (1 downto O);
Q: out integ"';'r);

=>

tmp

=>
=>
=>

tmp
tmp
tmp
tmp

<= A + B'
<= -A-E;
<= E-A;
~,

<=

A-El;

<= O;

lf

=>

=>

=>
=>
WHEN OTHERS =>
END CASE;
tiREN

ft10n

tvl1.EN

11 ff

tmp := A + B;
tmp := -A-B:
tmp := E-1>,;
tmp .= A-B;
tmp := O;

END PROCESS;

Q <= tmp;

Q <= tmp;

end arch;

end archi;

COIGOC
library ieee;
use ieee.std logic 1164.a11;
use ieee. std::)ogic::: uIL'oigned. all;
entity addars 3 i5
port (A,B :- in st.d logic vector (3 downto O);

C)

s:

in std_1ogic_vector(1 downto O);


int.eger);

Q : out

end adders_3

architecture archi o adders 3 is


signa1 tmp: integer;
begi.n
PROCESS (1)., E)
BEGIN
CASE S 18
liJHEN
\iJHEN

"Don
"01 tI
"10"
"11"

=>
=>

=>
WHEH
WHEN
=>
WHEN OTHERS =>
END CASE;

tmp <= A + B;
tmp <= -A-B;
t.mp

<= E-A;

tmp <= A-E


tmp <= O;

END PROCESS;

Q <= tmp;
end archi;

L
www.monteroespinosa.com - Clases de EDIG - Tfnos 91 544 53 77 , 619 142355

('

1.2 Explique cul o cuales de los siguientes cdigos de VHDL sintetizan el circuito descrito en el
primer apartado. Justifique razonadamente su respuesta. (5 puntos)

~~~::Qi:e,f

use ieee.std logic 1164.all;


use ieee.std=logic=unsigned.all:

entitv adders 1 is
o~rt (A, B :- in std logic vector (3 downto O);
s: in sta logic vector (1 ao\mto O);
Q: out integer);
end. adders 1;

entity adders 2 is
port (11., B : in std logie vctor (3 do'tmto O);
s: in st.d logic vector(1. downto O);
Q: out integeri;
end adders 2;

architectur; arehi or adders 1 is


I sl.gnal t~IP; integer; I -

architecture archi oI adders - 2 is


Ivariable tmp: inteaer; I
begin

regin

~~~a~:Qi~e"V

use i.eee.sta logie 1164.0.11;


use ieee.std=logic=unsigned.all;

PROCESS(A,B,S)
BEGIN
CASE S 18
W'HEN
vlH.EN

noon
ffOl n

=>
=>

"10" =>
"11" =>
OJEEN O'1'HERS =>
END CASE;
END PROCESS;
WHEN
WHEN

bnp

tmp
tmp
tmp
tmp

<= A + B;
<= -A-B;
<= B-A;

<= A-E;

tiREN

"11"

=>

tmp.- A + B;

=>

tmp:=

=>
=>

tmp:= E-A;

WHEN O'I'HERS =>


END CASE;

<= O;
Q

t.mp.-

A-B;

tmp.

O;

<= tmp;

end archi;

CDlGOC

><

library ieee;
use ieee.sta logic 1164.all;
use ieee.std=logc::::uIlsigned.a11;
entity adders 3 is
port{A,B: in std_logic_vector(3 downto O);
s: in std_logic_vector{l downto O);
Q : out integer);
na adders 3;

FP6A

"00"

-mEN "01"
WHEN "lO"
WHEN "11"
WHEN OTHERS
F..ND CASE;
END PROCESS;

Q <= tmp;

=>
=>
=>
=>

=>

tmp
tmp
bnp
tmp
tmp

c.;~i":),:)

cu-.G";erA dt

el

:1 PROCESS (lt,B)
BEGIN
CASE S 15

Ef.

tlo. fe~e

.s:c-.,; ,.;e:c.cl I plr e. '1 ....

arch.itecture archi of adders 3 is


signa1 tmp: int.eger;
begin

\~H.EN

-~lt-B:

END PROCESS;

<= bnp;

end archi;

'0

.-

,-

VARiA$L

PROCESS(A,B,S)
BEGIN
CASE S I5
WHEN "OO'f
WHEN "01'1
WHEN 1' l0 n

o PE 1U\c. i rJ

<= B-A;

110 GlJ

CD;r;Q

e.

fr~a.'tt:..

oSt

e.. e:l fe.

c.:..rob: o e.,

c--I-r",~

e.J r~J

h':'Jlt. 10(

el

el~f

v,,",

c&""r:"'~,,- ~A~;"'~'"

c;rc.. ;to

r'Atb. ... ~

Por

<= A + B;
<= -A-B;

S e""

N'O

~t

vd.... k

le"i,)o er. cc.>'\t.... :

() 'fra. cio....
V" ' ....

Mb."

RfAl.;'l'/t

L.,q

q \,( ~~l-.

A B

&)

lEO Uf; Rf:tI ~

<= A-E;

<= O;

Lo) ei'Ji1") A '1 8 cc>r~c..

f... ()pcrcoc: ..~ ,.... 1'" tt!1"Ml"

end archi;

"".... be->

C.)

e(

ulo

j-..rd.r ~l tc).f~... Oo

"""

C)

h ID bec. Mo.., ~

CI)~'" e~h"t

(JI.. ",,;&..

v_,..-~~ o

kMpon..f. t-.

tc ... l':l.......

LA.

SeHd

(JI..J; j"'Go~S1

po.lt

clt

v.. i."~~J sr. },.. c.t i4M&d:.:o.h.r-.lt t'1'c..p..) 9" (... "'>S';' ....b
k .re;",eeJ se. },l-~ .. Cj....c ..Ir! P"'<5='J ( P'~ Y:e..~ e(",~
L")h. *' A)d... J.. Cbrn:d'!:! $""':o"",,,.,:e-.fo der e:,.,v:to,
'
www.monteroespinosa.com - Clases de EDIG - Tfnos 91 544 53 77 , 619 142355

ENERO 2012

PROBLEMA 1 (20 PUNTOS)


1.1 En un sistema que trabaja con aritmtica de 4 bits, se dispone de dos nmeros A y B de 4 bits
expresados en complemento a dos ([ A3 .. AO] y [B3 .. BO]) y de dos bits de control SO y SI. Se quiere
constmir un circuito que realice las siguientes operaciones en funcin de los bits de control:

SO

SI

OPERACIN

A+B

-A-B

B-A

A-B

Se dispone para ello exclusivamente de los sumadores cOlnpletos de la figura y puertas XOR
Implemente, de manera justificada, el circuito que lleva a cabo las operaciones deseadas.
(15 puntos)

'(

Cm

(lut

C.,.ut

"

'(

'.:-ut

Cm
S

C.:;.ut

(in
S

(In,
S

(.;.ut

(in

-(
C.,.l.It

www.monteroespinosa.com - Clases de EDIG - Tfnos 91 5445377 , 619 142355

y
(in
S

1.2 Explique cul o cuales de los siguientes cdigos de VHDL sintetizan el circuito descrito en el
primcr apaltado. Justifiquc razonadamente su respuesta. (5 puntos)

CDIGO A

CDIGOS

lbrary ieee;
use ieee.std loqic 1164.a11;
use ieee.std:=logic:=uDsigned.all;

library ieee;
use ieee.std_logic_1164.all;
use ieee.stdc..logic_unsigned.all:

entity adders_l is
Dort (A, B : in std logic vector (3 do\<:nto O);
.
S: in std logio vect.or (l dmmt.o O);
Q: out integerl;
end adders_l;

entity adders 2 is
port(A,B -: in std logic vector(3 do.mto O);
s: in std logic vector (1 downto O);
Q: out integer);
end adders 2;

architecture arcbi o adders 1 is


signal tmp: integer;
begin

architecture archi o adders 2 is


variable t-.mp: integer;
begi.n

PROCESS(A,B,S)
BEG1N
CASE S 1S
WHEN "00"

PROCESS(A,E,S)
EEGIN

WHEN

nOl

tl

CF.SE S IS

=>
='>

"lO" =>
"11" =>
?JHEN OTHERS =>
END CASE;
WHEN
'ilHEN

tmp <= A + B;

WHEN

"00"

=>

tmp <= -A-B;


tmp <= B-A;
tmp <= A-B;
tmp <= O;

WHEN

"Ol l f

=>

t-lEEN
WHEN

"lO"
"11"

=>

=>
WEEN OTHERS =>

Q <= tmp;

END CASE;
END PROCESS;
Q <= tmp;

end archi;

end archi:

END PROCESS;

tmp := A + B;
tmp := -A-E;

tmp ;= B-A;
tmp .= A-B;
tmp .- O;

COIGOC
library ieee;
use ieee.std_logic_1164.all;
use ieee. std_.log-ic_uIl.signed.all

entity adders 3 is
port(A,E -: in st.d_logic_vect.or(3 downto O);
s: in std logic vector(l dovmto O);
Q : out irrt.eger);
end adders 3;
archi tecture .rchi of adders 3 is

signal tmp: integer;


begin
PP.OCESS {l'., El
BEGIN
CASE S 1S
!fJHEN

"00"

=>

ifJHEN
WHEN

"01"
"10"

=>
=>

=>
WHEN OTHERS =>
END CASE;
END,PROCESS;
Q <= tmp;
'lEEN

""

..

tmp
tmp
tmp
tmp

<= A + B;
<= -.'l.-E;
<= B-A;
<= A-B;

tmp <=

o;

endarchi;

www.monteroespinosa.com - Clases de EDIG - Tfnos 91 5445377 , 619142355

ENERO 2012
PROBLEMA 2 (25 PUNTOS)
Sea el circuito de la Figura l. (Al frnal del examen se encuentran hojas caractersticas de los
integrados utilizados)
.

la Cc;1~'Ocf ~ i.( b'l \.s , aGCertder\.\'l

.. GL.;A~ <;;.\'4 cU)l\o


,,\-O~i)

eLe \.:lVO

QA

Q.

e \,

lFI'J"t~~t.\p)

.6 .\ 1.5&

\vio(aiJ

Vl '-"

'O~ o. v\ lue\

'"

-CLEA R

0 -

0 -

"-.J

Qs

Oc

n
1-'
en
w

D
CLK

QD

Av

r>

Al

""-

A2
A3

-CLEAR

I
::o .-

,.,

..\

'<D~

\le,,~

o..

So\o se ~-oo~ce.
u.t'l

cr.u~hlll k.

"G.ffec:k,.~ e Yl

.
~ c..oO::t

's..

, I I I

s~

A BCD

!:2-

;:;- /'1

J1

-l

'\

~V\. C. \OY\ e~-

\' ~"",;lit;;o1~ ,

~t> a. cec.\..,ct!;
p

o
I

,. 'L 't.d-as:

L.o>..~

I I I I

A B

D
~I-

iGl- J'J1"

Ot..Os~QD

~2tID2'E2
V> V>

'lPmu2rl~"

Ot.QB~Oo

74HC194

'"

t'&S '-

\lee ~

0- \ o.. Qo-9l;;.,.\

8
.

~ Fif,Tura 1

I I I I

A B

D
~I-''O"
tll- "lit

74HC194

Cl.f.AR

I't(V~

!:21-

~l ~11D11El
' " t.n
::or-

<'>

;:;1-

QA Os~QD

ClEAR

LD CLR

RE SET

l1o.lO:t>..~ c:u:l,--"."

eo

74HC194

--

1I1~}

' " U>


::o~

.....,,{c:

B
o- C

0 -

6d'co.-

QA

A B

!Bo '.Co'.Do'.Ea

;..e,Aa..de ~ :-lS
ENT
ENP

I I I I

74HC194

"
R

"1 JI--[

el'L-

::or

~<JOa.IIlve\ \.o..::p ~)

S,IX~

~ o~ Il."lb"c O-S e.~"9le


GL~O

"ttv'\

Ct.

A~t's\rt> e 4. bl\~

\'

Ot.Qs ~Oo

!B3 '.e

l.

l.

3 D3 E3

~ recils~~ ec,~r. 2.c.<;;\=>\Qt:,c:mdCJ


&rec\"as \0 c;p-ce. e~l'(O.. ~ S'~.
l..o;..

2.1 Rellene el diagrmna de tiempos (Figura 2). Al objeto de simplifcar el diagrama, considere las
seales A3A:2AAo, B3B:2B IBO, etc ... como un valor en binario y exprese en el diagrama su valor en
decimaL Considere que todas las salidas tienen un valor lndeterminado (X) .mtes del primer fhUlCO
de reloj. (5 puntos)

www.monteroespinosa.com - Clases de EDIG - Tfnos 91 5445377 , 619 142355

o...

- .:. :_----_...:-. ----- --=----- --- -- --

3.3 Se desea ahora incOIporar la funcin START/STOP sncrona con el reloj y de duracin un ciclo
delms1110 cuya funcin es anancar parar el contador. La primera vez que pasa a 1 dicha seal
comienza la cuenta del contador y la siguiente se para el mismo, congelando tambin los valores
de las seales Bx Cx Dx Y Ex. En el tercer paso a 1 de la seal, el contador sigue contando y en el
siguiente se para, etc. Para ello dispone de un biestable tipo T con entrada de cIear asncrono,
activa a nivel bajo, y la lgica combinacional que necesite. Realice las conexiones necesarias en
el circuito de la Figura 3 para que pueda cumplir dicha funcin. (10 puntas)

ClK
CLK
~-~

U
\

Loru

REm..

PRE

CLR

START/STOP

Fioura
3
b

www.monteroespinosa.com - Clases de EDIG - Tfnos 91 5445377 , 619 142355

3.4 Rellene el nuevo diagrama de tiempos (Figura 4) teniendo en cuenta el circuito obtenido en la
Figura 3. (5 puntos).

eLK
RESET

..
-+----r"i---:--!---!----....-----.-----t----:----;.-----.;'----t--- -r-----r----~

--~;------~:--~!----~: !l---~;-------+------4-------~----~:-------+------~I-------+,------~,------~------~------~----1

START/STOP

l
I

::
i
,

t
I

::
I
I

I
I

I
f

1
1

1
I

1
I

-+-----r--!---:-~--_:----_+----..;..----.'
----i------:----~----i---~ir----'----.....,f----'""'---I
I
I
I
I
I
I
I
I
I

PRE

l'
I

I
I

I
I

I
l

I
1

I
1

I
I
f

..

' 1

..---I

--7----~-~-_t--r_-~----~--~~--~------~---+'----'~--~------~'~-'-----~'~--:
:!:!:
:
:
:
:
- i --- -:- -! ---:- -f---:--- -- ---- i ----.-- --r- --- -:-- - -""'! - ---""!"- - -- ~_.- --!-._- - -1-----+ ---1

A -IJAA
3<'2 1 Q

l'
I
I

1
1

J )

1;

J
J
J

j I '

j '

I
I

f
,

I
I

I
I

I
I

I
I

! :
:
:
!
:
!
!
:
--I-----l--i---!--i---I-----+----+----f-----:------:-----{----+----f-----t-----I-----+---:
:
!:
!:
}
:t
:t
!J
:
:
~
:
:
:
:
f!
"
I

B:3B2B 1Bo :
I

j:
I

i
t

I
I

1
1

I
(

I
I

I
:

:
1

l i t

( t

1
i

------r-~---:-_!--~---------7----T----~----:-----t----t---- t-----i-----i,----4, ----

C3C2 C1CO

i
I

l
t

!i

:t

l i t

!
:i
i
i

Figura 4

www.monteroespinosa.com - Clases de EDIG - Tfnos 91 5445377 , 619142355

1 f t

:
,

ENERO 2012

PROBLEMA 3 (20 PUNTOS)


Queremos implementar el circuito de control de un sistema de alerta de sueo para avisar al
conductor que est al volante de un vehculo.
Para ello vamos a monitorizar los prpados del conductor y el sensor encargado de esta
monitorizacin va a entregar una seal "OJOS" que valdr "1" cuando los prpados estn abieltos
y "O" cuando estn cen"ados. La respuesta del sistema de control ser una seal "ALERTA" que
valdr "O" cuando no haya peligro y "1" cuando se detecte sonUlolencia, activando un pitido de
advertencia al conductor que se mantendr activo hasta que ste abra los ojos, volviendo en ese
momento a su estado de no peligro.

En condiciones nOl1nales de no somnolencia consideraremos que los ojos pennanecen abiertos ms


de 2 segundos y que un parpadeo supone celTar los ojos menos de 0,2 segundos. La situacin de
peligro, que deber activar la seal de ALERTA", se producir cuando el ojo permanezca cenado
ms de 0,4 segundos.
El circuito de control estar basado en 1ma mquina de estados en la que los biestables estn
atacados por un reloj con una frecuencia de 10Hz.

3.1 Dibuje el diagrama de estados correspondiente a una mquina de Moore con tUl nmero mnimo
de estados y justifique las decisiones de diseo que haya tomado. (10 puntos)

3.2 Dibuje el diagrama de estados correspondiente a una mquina de Mealy con un nmero mnimo
de estados y justifique las decisiones de diseo que haya tomado. (5 puntos)

www.monteroespinosa.com - Clases de EDIG - Tfnos 91 5445377 , 619 142 355

(',

3.3 Tomando el diagrama de estados que se presenta en la figura adjunta, complete la tabla de
verdad de la Salida S y obtenga su funcin lgica simplificada por Karnaugh. (5 puntos)
%

1/1

c0c:)~

l/O

;/ \1

.~

o/o

~~

o/o

P3

U ______ UJ~
1/1

Notacin: Entrada/Salida (E/S)

Entradas

E
O
O

O
O
O
O
O
O
1
1
1
1
1
1
1

Q2(t)

Ql(t)

QO(t)

O
O
O

O
O

O
1
O

1
1

1
1
O
O
O
O
1
1
1
1

1
1

O
1
O

1
O

1
O
1
O
1
O
1

1
1
O
O
1
1

Q2

Q1

QO

PO
Pi
P2
P3
P4
P5

O
O
O
O

O
O
1
1
O
O

Salida
S

O
O
1

Estado

O
1

www.monteroespinosa.com - Clases de EDIG - Tfnos 91 544 53 77 , 619 142355

1
1

1
O
1
O
1

ENERO 2012

(\

PROBLEMA 4 (15 PUNTOS)


4.1 Utilizando los datos de la Tabla, y teniendo en cuenta el circuito de la Figura, obtenga
justificadamente la mxima frecuencia del reloj ifCLKTlftu) que asegure un correcto
funcionamiento del mismo. Para ello muestre en un cronograma todos los posibles caminos a
considerar. (10 puntos)

DGm!Q

FF1
CLR

FF2

FF3

cv~Q

ClRQ

CLK

FF1 y FF3
FF2
XOR

ANO
OR

NANO

tpropagacn

setup

2ns
3 ns
2.5 ns
2ns
1.5 ns
1 ns

3 ns
2 ns

4.2 Detem1ne justificadamente el mximo tiempo de hold que pueden tener cada uno de los

biestables FFl, FF2 YFF3. (5 punto:5~.

L
www.monteroespinosa.com - Clases de EOIG - Tfnos 91 5445377 , 619142355

ENERO 2012

PROBLEMA 5 (20 PUNTOS)


Consideremos el siguiente fi'agmento de un mdulo hardware descrito en VHDL que gobierna el
funcionamiento de una alanna de un coche.
libra.ry IEEE;
use IEEE.STD LOGIe l164.ALL;

ENTEY edig feb2012 15


PORr (clk, rst, remete, sensors: IN std_legic;
:'11.1:en: OUT std_legic);
END edig_feb2012;
ARCE1TECTURE Behavioral. OF edi9_feb2012 15
TYPE alarrn state 15 (disarmed, armed, intrL1sion);
SIGNAL pr state, nx st.ate: alarm state;
SIGNAL flag: std_logic;
begin

PROCESS (remete, rst}


begin
(rst='I') TREN
flag <= '0
EI,SIF (remote' event ll.ND remete=' O') THEN
flag <= NOT flag;
END IF;
1F

END PROCESS;
PROCESS (clk, xst)
BEGIN
IF (rst='I') TEEN
pr_state <= disarmed;
El,S1F (elk' event AND elk=' 1 ') TREN
px_state <= nx_state;
END IF;
END PROCESS;
PROCESS (pr_state, flag, remote, sensors)

BEGIN

CASE pr_state 15
tiREN disarmed =.>
siren <=' O' ;
IF (remote='I' AND flag='O') TREN
nx stat.e <= armed;
EL5E
nx state <= disarmed;
END 1F;
llHEN armed

=>

sren <= 'Ot;

1F (sensors='l.') TREN
nx_state <= in.trnsion;
ELS1F (remote='I' AND flag='l') THEN
nx state <= disarmed;
EL5E
nx state <= armed;
END 1F;
liHEN

intrusion =>
sir:en <='11;

IF (remote='I' AND flag='l') TREN


nx stat.e

<= disa.rmed;

ELSE
nx state <= in.tru:Jion;
END 1F;

END

~ASE;

END PHOCESS;
END Behavioral;

www.monteroespinosa.com - Clases de EDIG - Tfnos 91 5445377 , 619142355

5.1 Dibujar el diagrama de transiciones de estados de la mquina definida en el cdigo e indique


claramente de qu tipo de mquina de estados se trata. (5 puntos)

5.2 Para qu se utilza la seal flag? (5 puntos)

5.3 J\1odifique el circuito para que la entra de reset sea sncrona con la seal de reloj. (5 puntos)

()

5.4 Modifique el circuito para que lUla vez se detecte lUla intrusin el sistema penl1anezca en ese
estado indefinidamente. (5 punto5~

www.monteroespinosa.com - Clases de EDIG - Tfnos 91 5445377 , 619142355

NOVIEMBRE 2012

PROBLEMA 1 (35 PUNTOS)


Dados dos nmeros representados en binario sin signo, A y B, de 2 bits cada uno (Al AO y BI BO,
siendo Al y BI los bits ms signifIcativos)

1.1 Rellene la Tabla de verdad de la funcin lgica F = A> B. Para este apartado, los nmeros A y
B slo pueden tomar los valores decimales de 1,2 3 (es decir, nunca valdrn O). (5 puntos)

A1
O
O
O
O
O
O
O
O
1

1
1
1
1
1
1
1

()

AO
O
O
O
O
1
1
1
1
O
O
O
O
1

1
1
1

81
O
O
1
1
O
O
1
1
O
O
1
1
O
O
1
1

80
O
1
O
1
O

1
O
1
O

Y
Y

O
1

)(

X
o

O
O
O

X
X
X
X
1
1
X

1
O
1
O
1
O
1

O
'O
)(
(

1.2. Obtenga la expresin lgica simplificada (al mximo) de la nl11cin G, dada en la Tabla de
Verdad, utilizando un n~apa de Kamaugh. (lO puntos)
1.3 Implemente la funcin G utilizando exclusivamente dos multiplexores de 4 entradas de datos,
como los de la Figura. Para ello, NO se dispone de las seila1es negadas. Justifique adecuadamente
su solucin. (J Opuntos)

tOO

01-------'

el

lo
11

Al

12

13

www.monteroespinosa.com - Clases de EDIG - Tfnos 91 5445377

619142355

b- ::- A.o ~

(Al\-~) +

Ao~A<l> :::.

::; A,g-, + Ao~ ~()

_ ~'~l (Ao~ I\o)lr


-

1 (,..' ~

1\0 ti ~l

A'O A,f; .t

-::.

Ao~! }\\J. AC>~J \So

-=

~J ~, A ~ Aa \SI (A l \-\50')

Ai

-t

~o

'":::

1:\, l~o.1.;~ ') ~ ~U~q4- Al ') -=

_ A 1 Be + Ao-+-= ;, ~ + J\ \ fSo

-l.

>-0?

Al 15

4-lSo f

': :

'

1.4 Implemente la fi.11lcin G utilizando exclusivamente los siguientes componentes: un


decodificador 3-a-8, un decodificador 2-a-4 y una puelia lgica de su eleccin
Para ello, NO se dispone de las seiiales negadas. Justifique adecuadamente su solucin. (10 plintos)

o:::

lo

11
12

-o

LL

l..L.l

00
01
o~

03
04
O"

06
07

00

o:::

Col

cto

P;..~6

00
01

U
-LL
o-

O2

101

03

110

0\1

00

11.1

lo

)?,

11

4:)<:;

4'1
lb

11

l..L.l

ltt

. (e)

www.monteroespinosa.com - Clases de EDIG - Tfnos 91 5445377 , 619142355

'--

~.J':);

NOVIEMBRE 2012

PROBLEMA 2 (35 PUNTOS)


2.1 Implemente un 'Sumador completo (f'ull-Adder) mediante el uso NICAMENTE de dos
medios-sumadores (Half-Adder) y la lgica combinacional necesaria. Justifique adecuadamente el
circuito empleado. (15 plintos)
Nota. Recuerde que un medio-sumador (Half-adder) es aquel que slo tiene dos entradas de un bit cada una (los dos
sumandos, A y B) Y dos salidas de un bit cada una (la suma, S, y el acan-eo de salida, C our ), mientras que el sumador
.
completo (FlIll-Adder) dispone de una entrada adicional de un bit para el acan'eo de entrada (Ciu ).

~~.\'O ~~t'I'IG>S ~

Y\

kI

(j

Half-adder

c,"'

"1

C\(CUt\'o

.l

Wte.'(o.~

. ,

!
A

A ~

Half-adder

Cout

Sl.tvn C<.

ti A.+\3, -..v\
VY\6c:; Civ

U~'/ ~ s-...

resu \

Sl<.vY)<V')

\020

A \.\ Az

L."
~ ....
./1
v~ c;.... c:a..rreb

U..-Z

\,-a.\or~

Ii
e....V\ t\~\

CLCa\'eo .vH..\

1-1

2.2 Siendo A la representacin en binario de un nmero (con 3 bits sin signo, A2 Al AO, Y siendo
A2 el bit ms significativo), se quiere obtener el valor en binario (sin signo), representado en F,
que resulta ele la siguiente expresin aritmtica:
F

()

= (A x 3) + 8

Determine el nmero de bits que deber tener F para evitar el desbordamiento. Justifique su
respuesta.
(5 puntos)
~
,,_._"\.. e.,
\ v\'ltANlefo "
i -' ...
_~I'
-le.'\emoS 6iMC'
\
".
\
\,
<""\..('0-, ~ ....\Oe""
ele. '().. <; he~~\lO so o '
-~ e..~. ~.~..l(llo...f' e...
co..S:'-C ~~-;

Fj~=7 -;::?-3.\.~ -==

ZC\.o

~ \'f"g. -:: ,\ \ 01

~s \oQ'S~

\0\0\
100<:>

I i I C) e

www.monteroespirfSa.con.j,Clas'~de EDIG - Tfnos 91 5445377 , 619142355

,-\V\

\-res. lo As.

c.lrC';l\O~

de. Z <2vI. L

COYlSt,-u.lr

'S \o\\.c:;.

CO"",

\='A .

-\",

At\ l A,
\11
eoJ

SI:

\:;~

Atl

_1

S-z....

Ao
,

1 A.,
~

CAl\:

c\_ ~o

~ll.A.1

A-z ~ \

,~

Liv\

....!!

~,

e,'",

Vn.~

Az

40

A. r\-l\-c

SI

\S~

NOVIEMBRE 2012

PROBLEMA 3 (30 PUNTOS)


El siguiente mdulo est descrito en VHDL y sintetizado en una FPGA.
1ibrary IEEE;
use IEEE.STD LOGIC_1164.ALLi

entitl; comp1 is
in STD
port ( A :
se1: in STD
E:
in STD
Y: out STD
end comp1

LOGIC_VECTOR (3 do"mto O)
LOGIC- VECTOR (1 downto O) ;
LOGIC
LOGIC) ;

architecture beh_comp1 of comp1 is


signa1 aux1: STD_LOGIC
begin
with se1 se1ect aux1 <=
A(O) when "00",
A(l) when "01",
A(2) when "la",
A(3) when "11",
'O' when othersi
y

E"

~,

10

CY

scl"l. y
)(

'"

A,,-

lb

k~

<= aux1 AND E

end beh_compl;
'-"-

""

y----

entity comp2 is port

(A :
8e1:
E:
Y:

in STD_LOGIC_VECTOR(3 downto O);


in STD_LOGIC_VECTOR(l downto O)
in STD LOGIC;
out STD_LOGIC);

end comp2
architecture beh_comp2 of comp2 is

()
! .

''-=- ~\. seto Ao-4 ~ 5e\o .A. \-\


-\-(.e.\.40 Az 4sl \Qo A-:,
se1(1)) OR
I

begin

Y <= E AND ( A(O) AND (NOT 8e1(0)) AND (NOT

A(l) AND se1(0) AND (NOT se1(1)) OR


A(2) AND NOT(se1(0)) AND se1(1)
OR
A(3) AND se1(0) AND se1(1)) i
end beh_comp2

- K -----)( - - entity comp3 is


port (11,12 :in STD_LOGIC
Y: out STD_LOGIC)
end comp3
architecture beh_comp3 of cornp3 is
begin
(

Y <= I1 OR I2

\..----/

www.monteroespinosa.com - Clases de EDIG - Tfnos 91 5445377

619142355

entity

(---

comp4 is

-----=~-=-por,- (1 :in STD_LOG1C

Y: out STD_LOG1C)
end comp4;
architecture beh_comp4 of comp4 is
begin
y <= NOT 1;

end beh_ comp4;

entity noviembre is
Port ( data : in STD_LOG1C_VECTOR (7 downto O);
STD LOG1C VECTOR (2 downto O);
sel : in
f: out STD_LOG1C) ;
end noviembre;

(l
i --

architecture Behaviora1 of noviembre is


signal auxl, aux2, aux3: STD_LOG1C;
component compl port (A :in STD_LOG1C_VECTOR (3 do . . mto O);
se1: in STD LOG1C VECTOR (1 downto O);
E: in STD_LOG1C;
Y: out STD_LOG1C)
end component;

component comp2 port(A :in STD_LOG1C_VECTOR (3 downto O);


se1: in STD LOG1C VECTOR (1 downto O);
E: in STD LOG1C;
Y: out STD_LOG1C);
end component;

()

component comp3 port(1l,12 :in STD_LOG1C;


Y:out STD_LOG1C)
end component;

component comp4 port(I :in STD_LOG1C;


Y: out STD_LOG1C);
end component

begin
Ul:
U2:
U3:
U4:

comp1
comp2
comp3
comp4

port
port
port
port

map
map
map
map

(data(3 downto 0),3e1(1 downto O) ,auxl,aux2)


(data(7 downto 4),3e1(1 do . . mto O), 3el (2), aux3)
(aux2, aux3, f)
(3e1(2), auxl)

end Behavioral

www.monteroespinosa.com - Clases de EDIG - Tfnos 91 5445377 , 619142355

('

3.1 Dibuje un esquema de bloques de cada uno de los mdulos (compl, comp2, comp3 y comp4)
identificando claramente sus entradas y sus salidas y explique razonadamente la funcionalidad de
cada uno de los mdulos (15 puntos)
Nota. Dispone de una hoja"alleXO al final del examen con el cdigo VHDL comprimido en una nica hoja, que puede anancar para
trabajar con l ms fcilmente.

Esquema de Bloques de cada uno de los mdulos.


comp 1

comp 2

--It:

.
"'-z
- "'A.-...
'1

~ ~~
_ A,

:::l ".

-'1:

'1 r--

A.-s

t-

.E

~'seL.
\l

~) ~'l

l I
comp 4

comp 3

J-

~T.

=JFuncionalidad de cada uno de los mdulos.


comp 1

Ter'\er'l1o.s ut1 yY1u)( lh'Z ( l.( e.r1~a. S ~ ).o-los Z e..,I\~('o..y..!l.<;;;.


~e GOVl\..va ) (O" ENABLE,,~.:... lt.i'\ ~.\\ o..c\-\.JG a.. ",,' \ v~ 0.\\0.
J

comp 2

comp 3

J...-\IlX lt)( L (~.-i\~-Cldo.~ 'ce ~ -\OS I

do s. de.-

\\0\)

Le

v,

Uvl

E~I\t>LE /~C-U~1 hr\.O-c\..\VO ClAve.\ ~\\o i /1'l1:S;"Y1D ce rr/l)bY\6.Ae. ~


CotY\p \ '00..'60..... su. de sc.t"\ Dlrt
UV\ e LOV\o..\.
~u...Q..'\:c1.. o~ "de.. {j()<;. {LV\\rc\.do. OS ,' '1 - '1: \- '\
'1
-'Z.. /' ':I~
1:-

'

comp 4

Cb""

\>u"Q..\o lt'\ \/12..(<;bn:)..

, y -::: ':1: . 1'._j:::.o-'1


/-

www.monteroespinosa.com - Clases de EDIG - Tfnos 91 5445377

619142355

'2.

(1

3.2 Dibuje un esqllema con todas las conexiones entre los diferentes bloques, indicando claramente
las entradas y salidas del circuito completo. (10 puntos)

~~oo

~f>\

n.a

~;"\o.'

~
(h..

'6~-z . i>o-\&.?;

l ~\

-b.. ......
1]7

'i

A~

a.ll.x

';t.\o

A.~"1

(;;,mP:S
"}:.

-) '7

"J"z

~\o.'t
~\a.S
)0.\0- G

eo\o--:.
~"t
>Q.\ i

....

<0 .... (> 7.

Irz

'/

A~

r~

SQ\~

--

~. ~e

"

C\..\.l\l~

.-

3.3 Explique razonadamente la funcionalidad del circuito completo (entity "noviembre").


(5 puntos)

~~

6'.-

CID/)

\.l.VI

WlU\

\\~(k.Of Bx~ (~e t

\.n~)\ ) ~ccrr'o,<0

v,no..

(>0'-

\-cCJ..()as

d~ 1Y\.c..L\\.. .l~~k:ort?<;

l<X'Z.

~e.,h ()~-

Se.ilzJ .e.-5.. L ~O-..


Q...\ d.,t0 .
I

u
www.monteroespinosa.com - Clases de EDIG - Tfnos 91 544 53 77

a.e

619 142 355

~_

cl ~\.cs ~ ~

J LAVlCl

*'-es;.

~It? -h fJO\

ENERO 2013 - ANEXO


MOO'E SELECT- FlINCTIONTABLE FOR 'HC161 ANO 'HCT161
OUTPUTS

INPOTS

MR

CP

.PE

TE

SPE

Pn

Qn

Te

Reset {CTear}

Paralla! Ltlad

X.

(Note 1)

Count

l'

ti (NOle3)

Quni

(Note 1)

Inhibit

I (Note 2)

h{Nol:e 3)

qn

{Note 1)

1(Not .2)

h(NOl3)

X.

(ln

OPERATING MO!>E

H"" High volta.ge levelsteady state; L", L6W \faltase level sleady state; ti "" Hgh \foltage level (me setup lime prorto the Low-lo-High dock
lransition; I ::: Low voltage leve.! one selup time prior to Ihe Low-Io-High clack transition; X '" 0011'1.Care; q "" LOWr case letlers lodcate lhs
stal; 01 thc; referenced Qu!put prior lo lhe Low-to-High c10ck Iransiton; t == Low-lo-Hgh locl< lransit.iol'J.
N OTES~

1. TOO Te ouipul la High when TE is High and the counter is al Terminal Counl (HHHH tor HCIHCT161 ano 'HClHCT163).
2.. The Hgh-to-Low transitiorlof PE or TE on lhe 'HClHCT161 aod Ihe 'fiClHCT163 should only occur while CP is HIGH for conventionsl
optlration.
3_ The Low-to... High transition of SPE on he'HCIHCT151 and SPE or MR en the 'HCIHCTl63 should ooly occur whileCP is HIGH lor
conventenal operation.

Tming Diagram

LJ

MASTER RESET(1 51}

{ASYNCHRONOUS)

PRESET

DATA
INPUTS

N-O.U.S.)--------------------------------------

~~~-{S-YN-CH~-RO.

MASTER RESET (163)

Um

~------~------------------------------------------ - - - - -__
_________________________________________________
~

P2..J

P3 ..

CP(1S1)
CP{163.)

COUNT
ENABLES

{:.=----_. . _:;.:1., ---------H'

oo . _.__ ____..,,,_-!
01
OUTPUTS

. ---.. -..;' -------p.......

1
...__......11

I
03

_---t~
1

1:

TC ______~~--------~r--1~

4
RESET

.12
PRESET

______________________
- _! 1....,........_ _ _ _ _ _ _.........

l..~3'---1-4-1-S~-O--1.
COUNT

www.monteroespinosa.com ... Clases de EDIG ... Tfnos 91 5445377 , 619142355

'lNHIBIT

ENERO 2013

PROBLEMA 1 (40 PUNTOS)


La DGT quiere colocar un radar en una autopista de un nico carril y sentido con el fin de controlar
por exceso y por defecto la velocidad de los coches que pasan por dicha va. Para ello cuentan con
un sistema basado en utilizar dos sensores en forma de bandas que se colocan en el suelo a lo ancho
de la va, de tal forma que cuando un coche pasa por la primera banda el sistema activa una seal A
a "1", sincronizada con una seal de reloj del sistema y de duracin un ciclo de reloj. A partir de ese
momento el sistema deber contar los flancos de reloj que tranSCUlTen hasta que el coche pasa por la
segunda banda, momento en el que se activa otra seal B a 'T' (tambin sincronizada con el reloj y
de duracin un ciclo de reloj).
La DGT ha establecido que sancionar con una multa si se dan los siguientes casos:

(a) EXCESO de velocidad. Si el nmero de flancos de reloj contados es menor de 4, indicando


que el coche supera la velocidad reglamentaria,
(b) DEFECTO de velocidad. Si el nmero de flancos de reloj contados es igual o supelior a 6,
indic~ll1do que el coche va demasiado despacio.
Para detectar si se ha producido una infraccin, el sistema tambin dispone de una seal, S,
compuesta por dos bits (SI y SO), que en el estado de reposo vale 00". Dichas seales tomarn los
siguientes valores segn el caso: "00" si no hay infraccin, "01" si se ha cometido la infraccin por
exceso de velocidad y "10" si se ha cometido por defecto. El valor "11" 110 se contempla. En caso de
que haya infraccin, el sistema activar dicha seal S durante un ciclo de reloj.
Zona de medida

A
Al pasar el coche por la
primera banda se activa
la seal A (A="l t ,)

B
Al pasar el coche por la
segun-da banda se activa
la seal B (B="l/1)

1.1 Dibuje el diagrama de estados para un autmata de l\1oOl'e que permta realizar la funcin
establecida por la DGT, definiendo claramente los estados, salidas y entradas del sistema.
Considere las siguientes restricciones del sistema:
a) que nunca pasan dos coches a la vez, y
b) que los coches siempre salen de la zona de medida antes de que acceda otro coche.
(15 puntos)

www.monteroespinosa.com - Clases de EDIG - Tfnos 91 5445377 , 619142355

('\.

1.2 A continuacin se dispone del siguiente diagrama de estados de un autmata de Mealy cuya
implementacin se har empleando un Flip-Flop tipo J-K para la variable QI y un Flip-Flop tipo T
para la variable Qo. Rellena la tabla de transiciones y luego detennine la expresin lgica de la
salda (S) utilizando un mapa de Kamaugh. (10 puntos)

Levenda:
AB/S
.,
Ql

EO
El
E2

OX/D

1X/O

Ql

Qo

o
o

1
1

o
1

o
o

o
o
o
o
o
o
o
o

1
1

o
o

1
1

()

1
1

o
1

1
1
1
1
1
1
1
1

Ql*

Qo*

o
o

Qo

o
1

.0

o
o
1
1

1
1

o
o
()

o
1

1
1
1

s=

1.3 En la pgina siguiente, se le proporciona, aunque de f0TI11a incompleta, el cdigo VHDL que
implement'l el autmata del apmiado anterior. Complete adecuadamente los espacios en el cdigo
indicados en negrita. (5 puntos)

L
www.monteroespinosa.com - Clases de EDIG - Tfnos 91 5445377 , 619142355

lbrary IEEE;
use IEEE.STD_ LOGrC_ 1164.ALL:
entity autom.ata_examen is
Port ( clk : in STD_ LOGrC;
AAA.t\.A;
salida: out STDJOGIC);
end automata_examen;

AAA AAA=
BBB BBB=

eee eee=

architecture Behavioral of automata examen is

DDD DDD=
type BBBBB is (CCCCC);
signal estado_siguiente: estados := EO;
signal estado_actual: estados := EO;
begin

C)

pi: process (DDDDD)


begin
case estado actual is
wllenEO =>
ifA='O' then
estado_siguiente <= EO;
salida <= '1 ';
else
estado_siguiente <=El;
salida <= 'O';
end if;
when El =>
if EEEEE then
estado_siguiente <= El;
salida <= 'O';
else
estado_siguiente <=E2;
salida <= 'O';
end if;
whcn E2 =>
if A='O' then
estado_siguiente <= El;
salida<='l';
e1sifA='l' ,md B='O') or (A=' 1, and B='l')) fuen
estado_siguiente <=EO;
salida <= 'O';
end if;
when others =>
estado_sigllente <= EO;
salida <= '1';
end case;
end process;

1.4 Modifique el circuito para que incluya una seal de


RESET asncrona, activa a nivel bajo, de manera que
cuando se active, lleve al autmata al estado EO y la
salida se ponga a cero. (10 puntos)

p2: process (clk)


begin
if (clk='l' and c1k'cvellt) thcn
estado_ adual <= estado_siguiente:
end if;
end process;
cnd BchavioraJ;

www.monteroespinosa.com - Clases de EDIG - Tfnos 91 5445377 , 619142355

ENERO 2013

PROBLEMA 2 (20 PUNTOS)

0,

2.1 En base al contador 74HC161 (cuya tabla de verdad y cronograma pueden verse en el Anexo X)
y una seal de reloj, CLK, se desea realizar un contador con la siguiente secuencia:

0, 1,2, ... 5,6, 7, 8,0, 1,2, ... 5,6, 7,8, O, 1,2, ....
Utilizando el menor nmero de puerta~ lgicas, realice todas las conexiones necesarias sobre el
circuito de la figura para que realice la cuenta indicada. Justifique las decisiones que tome.
(lO puntos)

CLK

<O
~

1CP

~)

Qo
Q1
Q2
Q3

-.....

--_/

TC

2.2 Utilizando ahora dos contadores 74HC161 y una seal de reloj CLK, se desea realizar un
contador con la siguiente cuenta modificada:
23,24,25,26,27, ...... 62,63,64,23,24,25,26,27, ... .

Utilizando el menor nmero de puertas lgicas, realice todas las conexiones necesarias sobre el
circuito de la figura para que realice la cuenta indicada. Justifique las decisiones que tome.
(lO puntos)

c'
Te
CLK

(.

www.monteroespinosa.com - Clases de EDIG - Tfnos 91 5445377 , 619142355

ENERO 2013

PROBLEMA 3 (40 PUNTOS)


Se dispone del siguiente circuito digital, realizado con biestables tipo-D (con entradas de CLEAR
sncronas activas a nivel alto) y lgica combinacional.

.-- >FF1
Ct.R

RESET

-0

r---

t>

FF2

1 1--

GtR

r--

-O

t>

FF3

2 l--

-0

GtR

FFl y FF3
FF2
AND
OR

t prop

tset-up

2 ns
4 ns
2 ns
3 ns

1 ns
1 ns

'--

CLK
(~

\J

3.1 Marque sobre el circuito de la figura de arriba los diferentes camnos a tener en cuenta para
poder detel111inar la mxima frecuencia de la seal de reloj que garantice IDI funcionamiento
correcto. Utilizando los valores de temporizacin dados en la tabla anexa, marque sobre el siguiente
cronograma y calcule los tiempos correspondientes a los diferentes caminos y obtenga
justificadamente la mxima frecuencia de funcionamiento del reloj CLK. (15 puntos)

CLK

3.2 Determinar, de manera justificada, el mximo tiempo de 1101d que pueden tener cada uno de los
tres biestables (FF1, FF2 YFF3). (la puntos)
3.3 Teniendo en cuenta los parmetros de temporizacin de los componentes yel valor de la seal de
RESET mostrado en el siguiente cronograma, rellene adecuadamente las fOTInas de onda de las
salidas negadas de cada biestable. El periodo del reloj CLK en este apartado es de 20 11S. (15 puntos)

()
1 ~

1:
1:, , , , ,
, , , ,i :,
,,, i ,I i , :
, \ ,, 1, 1 1
, :,
f f
,,
I

elK

, .
.
J

1
1

,,

,,

. . . .
.. .

,1,
,, ,, : , , , , , i ,, , . , , . : , , 1 , , , , 1 ! ,
,,, , ,, ,, ,, ,, , : ,I , : , , , ,, , ! : i , , . ,, , ,,
, ,,,,
,,,, ,
,
,,
:,
: ,I
:, : ,, ! ,: ! ,: , ! ! , :,, :, ! :, : , i , i :, ,1 ,[ , ,[ 1 , : ,I , i 1 ! , , , i : i 1 ! i

I : \ , 11:
,, ,
: , 1 ,
, , ,, , ,, ,, , : , 1 : , ,\ 1, , :: :, 1,, ! 1, :1 1 \ 1, 1,, I, 1i ,
: 1, 1 i : ,
1 1I f i
,
, , , . , , , .f . , , , , . , , 1, , 1, , , , , , , ! , 1, ! , , , , . , i , , , . , .1 . ! , . , , ....

"
l'

I
I

.
I

I
I

J
I
I

J
J

.
t

J
J

.
I

..................!.l ...L.l..l..l ...L!..l...L.!..!..l.j..l ...i...L.J...L.:....!. L.l..l..l..l..l..l..l..l.u:..i ..l.. l..i..l..iul..lul...:... LJ...:... L.l.J.J...L.L.!..t ..LJ...!...L.L.L.L.L..:...L.i...L.~..J...L.;...!...L. )
1:: 1:: 1 f: : . : : :! 1 t: J::: I: ~: 1 ~ 1: [~: ~: 11 1: 1 ~: 11:: 1 :: 1 11: ~ } 11:: 1 ~::: I
I t : I : : f : : : t: : 1 : : : f : : : ! : 1 : : : : : I : f : ~ : ~ 1 : : 1 ! r i : 1 1 : : 1 1: : : ~ f : : : 1 tI: 1 : : : 1
Q2 :1.i :1:i iI !! il !i !i i :J'i ! l ! i i ! i i :!
i J ! lt !! ! : ,{:!,:
~ : i ! ! : ! ~ ! i i ! i i i ! : f i i ! ! i : i i : i i ! i i \1 i t
1!!
1
l
t ! ! ! ,! I I
l!
1!! 1 f! 1 !
t

~!}:

t,

~!:

>

>

www.monteroespinosa.com - Clases de EDIG - Tfnos 91 544 53 77 , 619 142355

JULIO 2012

PROBLEMA 1 (20 PUNTOS)


1.1 Se dispone de una cmara frigorfica con un termmetro digital que mide la temperatura dentro
de dicha cmara. El valor de la temperatura est codificado en complemento a dos mediante 4 bits
[A3 ..AO] siendo A3 el bit ms significativo. Se desea generar una seilal digital AL que activar una
alarma cuando la temperatura de la cmara est por debajo de -2C por encima de +3C. Rellene
la tabla de verdad de la funcin AL cOlTespondiente en ftmci6n de los valores de [A3 ..AO].
(5 puntos)

()

A3

A2

Al

AO

AL

1.2 Utilizando un mapa de Karnaugh, obtenga la expresin simplficada de la funcin lgica F


definida por la siguiente suma cannica: (5 puntos)

F = )O,2,3,8,9,lO,l1,12,13)
XYWZ

xv

wz
I

F=

www.monteroespinosa.com - Clases de EDIG - Tfnos 91 5445377

619142355

1.3 Implemente la lhncin lgica F del apartado 1.2 utilizando exclusivamente puertas NAND de
2 entradas. Se valorar el uso del menor nmero de puertas posibles. Justifique su respuesta.
(5 puntos)
1.4 Implemente la flll1cin lgica F del apartado 1.2 utilizando exclusivamente 2 multiplexores de
4 entradas de datos cada uno. Justifique su respuesta. (5 punto:,)

{.

www.monteroespinosa.com - Clases de EDIG - Tfnos 91 5445377

619 142355

JULIO 2012

PROBLEMA 2 (25 PUNTOS)


2.1 Se dispone del siguiente circuito con los datos de la Tabla. Teniendo en cuenta que el circuito
debe funcionm- con una seal de reloj, CLK, de frecuencia 50 MHz y que todos los biestables
tienen elmislllo tiempo de set-up, calcule el valor mximo de dicho tiempo de set-up que garantiza
un correcto funcionamiento del circuito en los siguientes casos: (a) reloj con ciclo de ll'abajo del
50%, (b) reloj con ciclo de trabajo diferente al 50%. Justifique su respuesta. (15 puntos)

EN

FF1

(')
,
/

FF2

-Q

FF3

torooaoacin

FF1 YFF3
FF2
NOR
NANO
INV

3 ns
2 ns
5ns
4 ns
2 ns

CLK

2.2 Determine justificadamente el mximo tiempo de ho1d que pueden tener cada uno de los
biestables (FFI, FF2 Y FF3) suponiendo que la seal de entrada EN tiene la fOll11a temporal de la
Figura, con respecto a la seilal de reloj CLK, y que es peridica. Para este apartado considere una
seal de reloj de 50 MHz Y ciclo de trabajo del 50% . (10 puntos).

1 ns

1 ns

~I+

-... f'IIf-

CLK

jJ

EN

I I

I
I

www.monteroespinosa.com - Clases de EDIG - Tfnos 91 5445377 , 619142355

I
I

JULIO 2012

(',

PROBLEMA 3 (20 PUNTOS)


Un servicio de METRO posee trenes que circulan en ambos sentidos por vas separadas. Sin
embargo existe una estacin donde solamente hay un andn que ambos trenes tienen que compartir.
Para regular el acceso se dispone de 4 sensores (51, 52, 53 Y 54) que detectan la llegada y salida
de un tren generando un "1". Tambin dos semforos controlados por dos seales (5MI y 5MD)
que pueden ponerse en rojo o verde mediante lUla seal "O" y "1" respectivamente. Por ltimo
existen dos cambios de aguja (CI, CD) que pelmiten desviar los trenes con una seal digital, segn
la direccin que se indica en la figura.
Se pretende disear un autmata que controle los semforos y los cambios de agujas.
Los trenes circulan siempre por la derecha.
Solo puede acceder un tren al andn en un momento dado. Luego l1lmca podrn salir dos trenes
simultneamente. La activacin de 51 y 54 a la vez es imposible.
En el caso de que lleguen 2 trenes a la vez, uno por la derecha y otro por la izquierda, tendr
prioridad en entrar al andn el tren que llega por la izquierda.
Los sensores de salida (51 y 54) se encuentran suficientemente separados del desvo de taImado
que el tren es detectado cuando ha pasado ya completamente a travs delmis1110.
Los cambios de aguja deben controlarse para que estn en la posiCin conecta tanto si un tren
circula en un sentido como si circula en sentido contrario.

_ - - 51

I
--------~~~~~~~~~~~~=~~~-----==
(1)

J;.

el

Sensores

~S3

(O)

r.l Rojo {O}


I..!J Verde (1)
Semforo

SMI

www.monteroespinosa.com - Clases de EDIG - Tfnos 91 5445377 , 619 142355

(-)
"

';

(\

3.1 Teniendo en cuenta que las entradas del autmata son los 4 sensores (51,52,53 Y 54), rellene
la siguiente tabla identificando la situacin del andn y/o trenes en cada combinacin. Se indican ya
en la tabla las dos primeras combinaciones as como aquellas situaciones que son imposibles. Sea
conciso y claro en la explicacin. Utilice excJusivamente el e~pacio provisto en la tabla.
(5 puntos)

5ituacin

51

52 53 54

No llega ningn tren. Estado de espera

Se va el tren que lleg desde la izquierda / Esperando llegada de otro tren

IlVIPOSIBLE. Se van dos trenes simultneamente. Solo UllO de eHos puede acceder al andn

IMPOSIBLE. Se van dos trenes simultneamente. Solo uno de ellos puede acceder al andn

IMPOSIBLE. Se van dos trenes simultneamente. Solo uno de ellos puede acceder al andn

IMPOSIBLE. Se van dos trenes simultneamente. Solo uno de ellos puede acceder al andn

3.2 Realice el diagrama de estados de una mquina de MOORE que contIole dicho sistema. Sea
claro en la elaboracin de la solucin.
Para indicar las transiciones entre estados utilice la notacin

entradas: 51 52 5354

(15 puntos)

L
www.monteroespinosa.com - Clases de EDIG - Tfnos 91 5445377 , 619 142355

l.

L
www.monteroespinosa.com - Clases de EDIG - Tfnos 91 5445377 , 619142355

You might also like