Вы находитесь на странице: 1из 18

DISEÑO SECUENCIAL

En los circuitos combinacionales estudiados anteriormente, sus salidas obedecían


inmediatamente a los cambios de los datos en sus entradas, en los circuitos secuenciales
esto no sucede.

En un circuito secuencial, el valor de la salida ya no depende únicamente de los valores


de entrada sino también del “estado” en que se encuentra la unidad de memoria.

En la figura 5.1. se muestra un diagrama de bloque de un circuito secuencial. Consiste


de un circuito combinacional y elementos de memoria que son capaces de almacenar
información binaria.

ENTRADAS CIRCUITO SALIDAS


COMBINACIONAL

ELEMENTOS
DE MEMORIA

Diagrama de Bloque de un Circuito Secuencial

Esta información binaria almacenada en los elementos de memoria en cualquier instante


definen el "estado" del circuito secuencial. La información binaria en las entradas
externas y el estado presente de los elementos de memoria determinarán el valor de la ó
las salidas. Las entradas también determinarán las condiciones para el cambio del
"estado" de los elementos de memoria. Las salidas del circuito secuencial son una
función de las entradas y del "estado" presente de los elementos de memoria. El
próximo estado de los elementos de memoria también es función de las entradas y del
estado presente. En resumen, el comportamiento de un circuito secuencial se determina
por la secuencia en el tiempo de entradas, salidas y estados internos, que lo harán pasar
por un numero finito de estados.

1
Los elementos de memoria en un circuito secuencial se denominan flip-flops. Un flip
flop posee dos salidas, una para el valor normal y otro para el valor complementado
(negado) almacenado en él.

TIPOS DE CIRCUITOS SECUENCIALES


Existen por diseños dos tipos de circuitos, los cuales son:
5.1.1. Circuitos Secuenciales Sincronos: Son aquellos circuitos que para su
funcionamiento necesitan de una señal externa denominada señal de reloj. Con la
presencia de esta señal las salidas cambiarán de estado solamente en los tiempos en que
el reloj cambie ya sea en los flancos de subida o en los flancos de bajada.
Su diseño de estos circuitos secuenciales síncronos son de relativa dificultad pero en
cambio, son de mayor estabilidad e inmunes a posibles cambios indeseados ya que están
sincronizadas las salidas con los pulsos del reloj.
5.1.2. Circuitos Secuenciales Asíncronos: Son aquellos que su funcionamiento no
depende de una señal externa pudiendo cambiar sus salidas en cualquier momento que
sus entradas cambien.
El diseño del circuito secuencial asíncrono son fáciles pero tienen el problema de la
estabilidad ya que cualquier perturbación externa pueden cambiar su estado en cualquier
momento.
LOS FLIP-FLOPS
Un flip-flop puede con struirse a partir de dos compuertas NAND o dos compuertas
NOR. Estos flip-flops se muestran en la figura 5.2. Cada flip-flop posee dos salidas, Q
y Q, y dos entradas, set y reset. Este tipo de flip-flop se denomina flip-flop SR o latch
SR.
Tabla de Verdad
S
Q
S R Q Q

1 0 1 0
0 0 1 0
0 1 0 1
0 0 0 1 Q
1 1 0 0 R

2
Flip-Flop con compuertas NOR
Tabla de Verdad

S R Q Q
S
1 0 0 1 Q
1 1 0 1
0 1 1 0
1 1 1 0
0 0 1 1 Q
R

Flip-Flop con compuertas NAND

Figura N° 5.2

Representación General
S Q

R Q

5.2.1. Estados del Flip- Flop


Se denominará Qt al estado presente o actual, y Q(t+1) al estado futuro.
Cuando se aplica un 1 en ambas entradas en el flip-flop, tanto la salida Q como la Q va

a 0. Esta condición viola el hecho que las salidas sean complementarias. Esta condición
viola el hecho de que las salidas sean una la negación de la otra. En la operación normal
esta condición debe evitarse, asegurándose que no se aplique simultáneamente un 1 en
ambas entradas.

Tabla Característica

3
S R Q(t+1)
0 0 Qt
0 1 0
1 0 1
1 1 Indeterminado

Para la descripción del funcionamiento de un FF se utilizan tablas de verdad, tablas


características, ecuaciones características y tablas de excitación.

Tabla de verdad: muestra el comportamiento del estado futuro en función de las


entradas y el estado presente. Se utiliza para obtener la ecuación característica.

Tabla Característica: también muestra el comportamiento del estado futuro pero de


una manera mas compacta que la tabla de verdad.

Ecuación característica: es otra forma de describir el comportamiento del estado


futuro, pero a menudo más útil durante el análisis de circuito porque puede ser utilizada
como par de una expresión booleana.

Tabla de excitación: se obtiene de la ecuación característica. Muestra las entradas que


se necesitan para pasar de un estado a otro. Se utilizan en la síntesis de circuitos
secuenciales.

La ecuación característica se obtiene de la tabla de verdad y será: Q(t+1)= S + R Qt


Hay que recordar que la condición S=R=1 es prohibida, por lo que la ecuación
característica será valida siempre que S·R=0

La tabla de excitación, que nos da el valor de las entradas para pasar de un estado a otro
y se obtiene de la ecuación característica.

Tabla de Excitación

Qt Q(t+1) S R
0 0 0 X

4
0 1 1 0
1 0 0 1
1 1 X 0

Flip-Flop maestro-esclavo
Un flip flop maestro-esclavo se construye con dos FF, uno sirve de maestro y otro de
esclavo. Durante la subida del pulso de reloj se habilita el maestro y se deshabilita el
esclavo. La información de entrada es transmitida hacia el FF maestro. Cuando el pulso
baja nuevamente a cero se deshabilita el maestro lo cual evita que lo afecten las entradas
externas y se habilita el esclavo. Entonces el esclavo pasa al mismo estado del maestro.
El comportamiento del flip-flop maestro-esclavo que acaba de describirse hace que los
cambios de estado coincidan con la transición del flanco negativo del pulso.

maestro esclavo
J Jm Q Je Q Q

clk clk

K Km Q Ke Q Q

CLK

Flip-Flop JK Maestro-Esclavo

FLIP FLOP ACTIVADOS POR RELOJ

Se utiliza cuando se desea que las salidas de los sistemas varíen en forma precisa, lo que
se obtiene por medio de una señal de disparo o cambio, llamada señal de reloj.
Los Flip Flops son sensibles a los cambios de nivel de señales, pudiendo ser transición
con flanco de subida o con flanco de bajada.

5
FLANCO DE BAJADA
FLANCO DE SUBIDA

CK CK

J Q J Q
clk
clk

K Q K Q

FLIP FLOP DISPARADO POR FLIP FLOP DISPARADO POR


FLANCO POSITIVO FLANCO NEGATIVO

TIEMPO DE ESTABLECIMIENTO (ts)


Es el intervalo que precede inmediatamente a la transición activa de la señal de CK,
durante la cual la entrada sincrona tiene que mantenerse en el nivel indicado. Es dato
de fabricante, si no se cumple este requisito, quizás el flip flops no responda de manera
confiable cuando ocurra la transición de reloj.

Algunos FF cambian de estado en la subida del pulso de reloj, y otros en el flanco de


bajada. Los primeros se denominaran Flip flop disparados por flanco positivo y los
segundos Flip flops disparados por flanco negativo. La distinción entre unos y otros se
indicará con la presencia o ausencia de una negación en la entrada de reloj como se
muestra en la figura.

6
PARÁMETROS DE LOS FLIP-FLOPS
Además de los parámetros característicos de la familia lógica a que pertenecen, como
son niveles lógicos, fan-out., etc. Cabe destacar una serie de parámetros, más o menos
normalizados, relativos a la temporización de las diferentes señales que intervienen en
la conmutación de los flip-flops. De ellos cabe destacar los siguientes:

1. Tiempo de establecimiento (SET UP TIME). Es el tiempo anterior al


flanco activo de toma de datos durante el cual las entradas no deben
cambiar.
2. Tiempo de mantenimiento (HOLD TIME). Es el tiempo posterior al
flanco activo de toma de datos durante el cual las entradas no deben
cambiar.
3. Frecuencia máxima de reloj. Es la frecuencia máxima admisible de la
señal de reloj que garantiza el fabricante.
4. Duración del tiempo alto de reloj. Es el tiempo mínimo que debe durar
la parte alta del impulso de reloj.
5. Duración del tiempo bajo de reloj. Es el tiempo mínimo que debe durar
la parte baja del impulso de reloj.
6. Tiempo bajo de PRESET Y RESET. Es el tiempo mínimo que debe
activarse las entradas asíncronas para garantizar su funcionamiento.
7. Tiempo de retardo o propagación. Es el tiempo que transcurre desde el
flanco activo del reloj que produce la conmutación y el momento en que
ésta tiene lugar.

FLIP FLOP TIPO RS

Símbolo Tabla Característica Ecuación Característica

S Q
S R Q(t+1)
0 0 Qt
clk Q(t+1) = S + R Qt
0 1 0
R Q 1 0 1
1 1 ?

7
FLIP FLOP TIPO J K
La operación de un FF tipo J K es muy similar a la de un FF S R. La única diferencia es
que no tiene un estado inválido.

Para la condición J=K=1 el FF complementa el estado presente.


La tabla característica resume el comportamiento del FF tipo J K disparado por flanco
negativo.

Símbolo Tabla Característica Ecuación Característica

J K Qt+1
J Q 0 0 Qt
0 1 0
clk Q(t+1) = J On + K Qt
1 0 1
K Q
1 1 Qt

FLIP FLOP TIPO D


La operación de un FF tipo D es mucho mas simple. Solo posee una entrada además de
la del reloj. Se le denomina "data" y es muy útil cuando queremos almacenar un dato de
un bit (0 o 1). Si hay un 1 en la entrada D cuando se aplica el pulso de reloj la salida Q
toma el valor de 1 (SET) y lo almacena. Si hay un 0 en la entrada D, cuando se aplica el
pulso de reloj la salida toma el valor de 0 (RESET) y lo almacena. El cambio en la
salida del FF se efectúa en el flanco de bajada del reloj.
La tabla característica resume el comportamiento del FF tipo D disparado por flanco
negativo.

Símbolo Tabla Característica Ecuación Característica

D Q D Q(t+1)
clk 0 0
Q(t+1)= D
1 1
Q

FLIP FLOP TIPO T

8
Solo posee una entrada además de la del reloj. Se le denomina "toggle".
Si hay un 0 en la entrada T, cuando se aplica el pulso de reloj la salida mantiene el valor
del estado presente. Si hay un 1 se complementa
La tabla característica resume el comportamiento del FF tipo T disparado por flanco
negativo.
Símbolo Tabla Característica Ecuación Característica

T Q T Q(t+1)
clk 0 Qt
Q(t+1) = T Qt + T Qt
1 Qn
Q

FLIP FLOP TIPO J K: FLIP FLOP UNIVERSAL


El FF JK puede considerarse como el flip flop de tipo universal puesto que puede
configurarse para obtener los demás flip-flops estudiados en el cuadro a continuación se
muestra el equivalente de cada uno de lo tipos de flip flop en función del J K.

Flip Flop tipo S R Flip Flop tipo D Flip Flop tipo T

J Q D J Q T J Q

clk
TABLAS CARACTERÍSTICAS clk clk

K Q K Q K Q
J K Q(t+1)

J Q 0 0 Q(t)
S Q
0 1 0

K 1 0 1
R
1 1 Q (t)

9
T Q(t+1)
D Q T Q
0 Q(t)
1 Q (t)

TABLAS DE EXCITACIÓN

Q(t) Q(t+1) D
0 0 0
0 1 1
1 0 0
1 1 1

Q(t) Q(t+1) T
0 0 0
0 1 1
1 0 1
1 1 0

DISEÑO CON FLIP FLOP

10
5.3.1. Diseño de Contadores

Un contador es un circuito secuencial que pasa por una secuencia prescrita de estados.
La secuencia puede seguir un conteo binario o cualquier otra secuencia de estados.
Los contadores se encuentran en casi todo sistema digital. Se utiliza para contar el
número de ocurrencias de un evento o para generar secuencias de temporizado para
controlar operaciones en un sistema digital.
De las diversas secuencias que puede seguir un contador, la secuencia binaria directa es
la mas simple y la mas directa. Un contador que sigue la secuencia binaria se denomina
contador binario n bits, consta de n flip-flops y puede contar en binario desde 0 hasta 2n-
1.

Un contador con n flip-flops no necesariamente debe contar 2n números. Puede


truncarse la secuencia para contar un numero menor de estados. Por ejemplo un
contador BCD (contador del 0 al 9) cuenta la secuencia binaria desde 0000 hasta 1001 y
regresa a 0000 para repetir la secuencia. Otros contadores pueden seguir una secuencia
arbitraria que es posible no sea la secuencia binaria directa. En cualquier caso, el
procedimiento de diseño será el mismo.
Existe una clasificación básica de los contadores, que se divide en asíncronos y
síncronos, en función de la señal de reloj que dispara simultáneamente a todos los flip-
flops (síncrono) o no (asíncrono). Además, los contadores pueden clasificarse
atendiendo al tipo de secuencia que generan o al número de estados por el que pasan
(módulo).

5.3.2. Contadores Asíncronos


En los sistemas asíncronos los FF no están conectados al mismo reloj, por lo que no
cambian simultáneamente. La señal de reloj sólo ataca al flip-flop que representa al bit
menos significativo. Los otros FF se conectan en cascada sirviendo su salida de reloj
para el siguiente, hasta llegar al bit mas significativo.
Contador binario ascendente tipo ripple

Q0
1 1
Q1 Q0
J0 Q0 J1 Q1

clk
FF0
FF1 11
0 1 2 3 0
En la figura se muestra un contador asincrono de 2 bits.

Está constituida con dos flip flop J K con ambas entradas conectadas a 1, por lo que
cambiarán de estado en el flanco de bajada de su entrada de reloj. El reloj externo se
conecta solamente a la entrada de reloj del primer flip flop (FF0). Este cambiará de
estado en cada flanco de bajada del reloj. El siguiente flip flop(FF1), tiene como entrada
de reloj la salida de FF0 por lo que cambiará de estado cada vez que la salida Q 0 cambie
de 1 a 0.
Debido a que cada flip flop responde con cierto retardo, los flip flop no son disparados
simultáneamente, por lo que operan de forma asíncrona. De hecho, la salida Q0 se
producirá un tiempo después de que baje el reloj, y como esta es la entrada de reloj de
FF1, la salida Q1 se producirá un tiempo después de que Q0 cambie de 1 a 0. De esta
forma el retardo se irá propagando a medida que se vayan agregando flip flops, como
las olas en el agua, de aquí que estos contadores se denominan tipo "ripple"
Note que por simplicidad, en el diagrama de tiempo no se toma en cuenta este retardo, y
se muestra como si las transiciones ocurrieran simultáneamente.
Usualmente todas las entradas de CELAR se conectan juntas, de manera que un pulso
pueda poner todos los FF en cero antes de comenzar la cuenta.
Como se mostró anteriormente este contador de 2 bit tipo ripple pasa por 4 estados
diferentes, dependiendo del valor de la cuenta (00,01,10,11). De igual forma, un
contador con n flip flops, pasará por 2 n estados diferentes. El numero de estados
diferentes por lo que pasa un contador se denomina modulo. El contador de 2 bits se
denomina entonces contador modulo 4.
Un contador mod-n (modulo n) puede denominarse también contador divisor por n
(divide-by-n counter) . Esto porqué el FF correspondiente al bit mas significativo ( el
mas lejos desde el que está conectado al pulso de reloj original) produce un pulso de
reloj por cada n pulsos del reloj de entrada del FF correspondiente al bit menos
significativo ( el FF disparado por el reloj principal)

12
El contador mod-4 analizado anteriormente puede llamarse también contador divisor
por 4 (divide-by-4 counter).
El siguiente es un contador asíncrono de 3 bits. Trabaja exactamente como el de dos
bits, solo que ahora, debido al tercer FF se contarán 8 estados.
Q0

Q1
1 1 1
Q2
J0 SET Q0 J1 SET
Q1 J2 SET
Q2

clk
FF0 FF1 FF2

clk

Q0 0 1 0 1 0 1 0 1 0

Q1 0 0 1 1 0 0 1 1 0

Q2 0 0 0 0 1 1 1 1 0

cuenta 0 1 2 3 4 5 6 7 0

5.3.3. Contador Ascendente BCD Asincrono


Los contadores analizados anteriormente cuentan 2n estados diferentes, donde n es el
numero de FF. Realmente con n flip flop se puede tener en la secuencia HASTA 2 n
estados diferentes, por lo que podríamos contar un menor numero de estados y
tendríamos una secuencia truncada. Esto se hace forzando a reciclar los FF antes de que
pase por todos sus estados normales. Un ejemplo común se tiene con un contador de
década. Si quisiéramos realizar un contador modulo 10 (de 0 a 9) se necesitarían 4 flip
flops. Con 4 FF de la forma indicada anteriormente podríamos contar hasta 16 estados
diferentes (de 0 a 15), por lo que al llegar a 9 si queremos volver a 0 lo que hacemos es
poner en cero todos los FF utilizando las entradas de RESET. Para hacer esto
necesitamos decodificar el estado de numeración siguiente al mas alto con un circuito
combinatorio adicional que haga que los FF, en lugar de mostrar un 10 (1010) muestren

13
un cero (0000) haciendo un RESET en todos los FF. Esto se hace con la compuerta
NAND que se muestra en el circuito. Se utiliza una compuerta NAND porque la entrada
de RESET está negada. Esto quiere decir que los FF se resetean con un cero.
El siguiente es un contador de década, contador de 0 a 9 o contador BCD:
Q0

Q1

Q2
1 1 1 1

SET SET J2 SET


Q2 J3 SET
Q3
Q3
J0 Q0 J1 Q1

clk
K0 CLR Q0 K1 CLR Q1 K2 CLR Q2 K3 CLR Q3

Debe ser evidente la manera de obtener la función del circuito que resetea a cero.

Contadores Síncronos
Muchas veces se desea tener contadores que sigan secuencias de conteo que no sea la
binaria, en ese caso ya no se dispondrá de circuitos integrados que contengan el
contador, sino que debemos diseñarlo. Al ser el contador un circuito secuencial para
diseñarlo se utilizarán las técnicas de diseño de circuitos secuenciales. No es objeto de
este curso un análisis profundo de los procedimientos de síntesis de circuitos
secuenciales en general. Solo se analizará el procedimiento para el caso de los
contadores, lo que implica una gran simplificación del procedimiento.
Antes de proceder al método de síntesis para el diseño de contadores se darán algunas
definiciones.

5.3.5. Diagrama de Estados


Describe gráficamente el circuito secuencial, el contador en este caso, indicando cual es
el estado siguiente en función del estado actual y de las entradas, que para el caso de
contadores no existen.
En este diagrama, un estado se representa por un circulo, y la transición se indica con
líneas o arcos que conectan los círculos.
Dentro de cada circulo se escribe un numero binario que representa el estado.
La figura muestra el diagrama de estados de un contador de 3 bits.

14
000

001 111

010 110

011 101

100

5.3.6. Tabla de Transiciones


La tabla de estados consiste de tres columnas denominadas estado presente, estado
futuro y entradas de los flip flops.

· El estado presente denota el estado de los flip flops antes de la ocurrencia de un pulso
de reloj.
· El estado futuro muestra el estado de los flip flops después del pulso de reloj.
· Las entradas de los flip flops muestran que valores deben recibir las entradas de los
flip flops para pasar del estado presente al estado futuro después del pulso de reloj.
Es importante recordar las tablas de excitación de los flip flop ya que la función de
entrada se obtiene a partir de estas. De hecho el procedimiento consiste en determinar
que entrada necesitan los flip flops para pasar del estado presente al estrado futuro.
Como se mencionó en el resumen de flip flops, las tablas de excitación son las
siguientes.

15
Flip Flop tipo J K Flip Flop tipo T Flip Flop tipo D
Qt Q(t+1) J K Qt Q(t+1) T Qt Q(t+1) D
0 0 0 X 0 0 0 0 0 0
0 1 1 X 0 1 1 0 1 1
1 0 X 1 1 0 1 1 0 0
1 1 X 0 1 1 0 1 1 1

PROCEDIMIENTO DE DISEÑO
1. Realizar el diagrama de estado. Del numero de estados diferentes se obtiene el
numero de flip flops.
2. Realizar la tabla de transiciones. De la tabla se obtienen las funciones de entradas
de los flip flops. Se selecciona el tipo de flip flop para el diseño (JK, T, D)
3. Minimización de las funciones de entradas utilizando mapas de Karnaugh.
4. Dibujar el diagrama circuital

Ejemplo de diseño: contador binario ascendente de 3 bits.


Para entender el procedimiento de diseño, sigamos los pasos para diseñar un contador
síncrono binario ascendente de 3 bits . La cuenta será 000, 001, 010, 011, 100, 101, 110,
111. y así de nuevo. (En decimal corresponde a la cuenta 0,1,2,3,4,5,6,7 y de nuevo a 0)

Paso 1: Diagrama de Estado


Describimos el contador mediante un diagrama de estado, que nos muestra la manera
como avanza la secuencia cada vez que se aplica un pulso de reloj.
El numero de estados por lo que pasa el contador es de 7 por lo que se necesitarán 3 FF
para diseñarlo.
En el diseño de circuitos secuenciales en general, el diagrama de estado es el primer
paso hacia la obtención del circuito. Para el caso de contadores por ser una secuencia
directa no es necesario el diagrama de estado ya que en la especificación de diseño está
suficientemente clara la secuencia de conteo, y de esta se puede obtener directamente el
numero de flip flops necesarios y la tabla de transiciones.
Paso 2: Tabla de Transiciones

16
El próximo paso es el de desarrollar la tabla de transiciones a partir del diagrama de
estado. En ella listaremos para cada uno de los estados presentes de la secuencia , cual
debe ser el valor de entrada de los flip flops para que al aplicarse un pulso de reloj se
pase al siguiente estado de la secuencia (estado futuro). Para ello nos ayudamos con la
tabla de excitación de los flip flop. Podemos diseñar el contador utilizando FF tipo JK,
T o D. En este ejemplo utilizaremos el Flip Flop tipo JK.

Si notan en la primera fila estamos en el estado 000 y el presente estado futuro de la


cuenta debe ser el 001. En las entradas de los flip flops deberemos poner los valores
necesarios para pasar del estado presente al estado futuro cuando baje el pulso de reloj.

TRANSICIONES DE ESTADO ENTRADAS DE LOS FLIP FLOPS


Estado Presente Estado Futuro
FF2 FF1 FF0
Q(t) Q(t+1)
Q2 Q1 Q0 Q2 Q1 Q0 J2 K2 J1 K1 J0 K0
0 0 0 0 0 1 0 X 0 X 1 X
0 0 1 0 1 0 0 X 1 X X 1
0 1 0 0 1 1 0 X X 0 1 X
0 1 1 1 0 0 1 X X 1 X 1
1 0 0 1 0 1 X 0 0 X 1 X
1 0 1 1 1 0 X 0 1 X X 1
1 1 0 1 1 1 X 0 X 0 1 X
1 1 1 0 0 0 X 1 X 1 X 1

Así, para el FF2 que genera Q2, el estado presente es 0 y el estado futuro es 0. Esto
sucede cuando J2=K2=0 o cuando J2 = 0 y K2 = 1. De este modo, J2 tiene que ser cero, y
K2 puede tener cualquier valor que indicaremos en la columna correspondiente a J2 con
un 0 y en la correspondiente a K2 con una X indicando la condición de "no importa". Así
vamos obteniendo las entradas para todos los FF y para todas las transiciones de estado.
Esta representación es una tabla de verdad de las entradas de los flip flop en función del
estado presente, por lo que podemos obtener las funciones mínimas de estas entradas
utilizando los Mapas de Karnaugh.

17
Paso 3: Minimización de Funciones de Entrada de los Flip Flops
De la tabla de transiciones para cada una de las entradas de los FF obtenemos los Mapas
de Karnaugh en función del estado presente, y simplificando obtenemos las funciones
de las entradas de cada flip flop.

K2 = Q1.Qo K1 = Qo Ko= 1
J2 = Q1.Qo J1 = Qo Jo= 1

Paso 4: Diagrama Circuital


El paso final es obtener el diagrama circuital. Para ello utilizamos las funciones de
entrada de los flip flops para dibujar la lógica cambinacional correspondiente a las
entradas de cada flip flop y formar así el contador.

Las funciones de entrada obtenidas de los Mapas de Karnaugh son:


J2 = K2 =Q1·Q0
J1 = K1 = Q0
J0 = K0 = 1

Note que el circuito obtenido corresponde al del contador de 3 bits analizado en la guía
de contadores síncronos.

Q0

Q1

Q2
1

J0 Q0 J1 Q1 J2 Q2

FF0 FF1 FF2

K0 Q0 K1 Q1 K2 Q2

clk

18

Вам также может понравиться