Anda di halaman 1dari 56

Departamento de Tecnologa Electrnica Universidad de Sevilla

Tema 8. Subsistemas secuenciales


Tema 8. Subsistemas secuenciales
Circuitos Electrnicos Digitales
E.T.S.I. Informtica
Universidad de Sevilla
21!"2!1!
Jorge Juan <jjchico@dte.us.es> 2010
Usted es libre de copiar, distribuir y comunicar pblicamente la obra y de hacer obras deriadas siempre !ue se
cite la "uente y se respeten las condiciones de la licencia #ttribution$%hare ali&e de 'reatie 'ommons.
(uede consultar el te)to completo de la licencia en*
http*++creatiecommons.org+licenses+by$sa+,.0+es
http*++creatiecommons.org+licenses+by$sa+,.0 -original en ingl.s/
Departamento de Tecnologa Electrnica Universidad de Sevilla
Contenidos
Contenidos

Introduccin

#egistros

Contadores

Dise$o con subsistemas secuenciales


Departamento de Tecnologa Electrnica Universidad de Sevilla
Introduccin
Introduccin

Subsistema secuencial

Circuito formado %or n biestables &n bits' (ue o%eran de


forma con)unta %ara la reali*acin de una tarea o tareas
determinadas.

Su o%eracin se inter%reta en base al dato de n bits (ue


almacenan + no en base a cada bit %or se%arado.

Su funcionalidad es lo bastante general %ar encontrar


a%licacin en una diversidad de %roblemas de dise$o de
circuitos secuenciales.

Ti%os bsicos de subsistemas secuenciales

#egistros, almacenan un dato %ara su uso %osterior

Contadores, %ro%orcionan una secuencia de n-meros


consecutivos &cuenta'
Departamento de Tecnologa Electrnica Universidad de Sevilla
Introduccin
Introduccin
entradas de datos &carga'
salidas de datos
entradas de control
relo)
1 ! ! 1 ! 1 1 !
salidas de estado
Departamento de Tecnologa Electrnica Universidad de Sevilla
Introduccin
Introduccin

Se$ales de control

.as se$ales de control determinan la o%eracin a reali*ar.

/ueden ser s0ncronas, alteran el dato en el flanco activo de


la se$al de relo)

/ueden ser as0ncronas, alteran el dato de forma inmediata


tras la activacin de la se$al de control

Se$ales de control gen1ricas, %uesta a cero &clear 2C.2'3


in4ibicin &I56'3 carga de un dato &load 2.D2'.

Entradas de datos

/ro%orcionan el dato a cargar en el subsistema

Salidas de datos

/ermiten obtener &observar' el dato almacenado

Salidas de estado

Indican informacin sobre el contenido del subsistema, si es


cero3 fin de estado de cuenta3 etc.
Departamento de Tecnologa Electrnica Universidad de Sevilla
Dise$o modular
Dise$o modular
eta%a
t0%ica
control
datos
estado
*
i
(
i
biest. C.C.
C.C.
control
datos
estado
*
i
(
i
i ... ! ... n21 ...
C.C.
salidas
de
estado
Departamento de Tecnologa Electrnica Universidad de Sevilla
Introduccin
Introduccin

Estructura modular

Todos los bits del subsistema o%eran de forma similar

.a funcin no de%ende del n-mero de bits3 salvo %or el


rango de valores del dato (ue %ueden mane)ar.

Dise$o de subsistemas secuenciales

Un subsistema secuencial %uede describirse como una


m(uina de estados finitos3 %ero no suele ser a%ro%iado,
%ueden tener gran n-mero de estados3 %ero todos ellos
similares.

Dise$o ms %rctico + eficiente con un enfo(ue modular,

Se dise$a una eta%a gen1rica asociada a un slo bit.

Se re%lica la eta%a %ara n bits

Se consideran los casos es%eciales en los bits e7tremos + las


se$ales globales.

.a com%le)idad del dise$o no de%ende del n-mero de bits.


Departamento de Tecnologa Electrnica Universidad de Sevilla
#egistros
#egistros

Introduccin

#egistros

Clasificacin

#egistro %aralelo%aralelo

#egistro de des%la*amiento

#egistro universal

Contadores

Dise$o con subsistemas secuenciales


Departamento de Tecnologa Electrnica Universidad de Sevilla
#egistros
#egistros
1 ! ! 1 ! 1 1 !

8lmac1n de datos de n bits &n biestables'

6abitualmente nos referimos al contenido %or el dato (ue


re%resenta + no %or los bits individuales.

9%eraciones bsicas,

Escritura &carga', modificacin del dato almacenado.

.ectura, acceso al contenido del registro.


Departamento de Tecnologa Electrnica Universidad de Sevilla
#egistros. Clasificacin
#egistros. Clasificacin

Entrada en %aralelo

Todos los bits %ueden cargarse a la ve* &en el mismo ciclo


de relo)'.

Una l0nea de entrada %ara cada bit.

Entrada serie

Se carga un bit en cada ciclo de relo).

Una -nica l0nea de entrada %ara todos los bits.

Salida en %aralelo

Todos los bits %ueden ser le0dos a la ve*.

Una l0nea de salida %ara cada bit.

Salida serie

Slo %uede leerse un bit en cada ciclo de relo).

Una -nica l0nea de salida %ara cada bit.


Departamento de Tecnologa Electrnica Universidad de Sevilla
#egistros. Clasificacin
#egistros. Clasificacin
1 ! ! 1 ! 1 1 !
%aralelo%aralelo
1 ! ! 1 ! 1 1 !
%araleloserie
1 ! ! 1 ! 1 1 !
serie%aralelo
1 ! ! 1 ! 1 1 !
serieserie
Departamento de Tecnologa Electrnica Universidad de Sevilla
#egistro entrada %aralelosalida
#egistro entrada %aralelosalida
%aralelo
%aralelo
#E:
CK
LD
CL
x
3
x
2
x
1
x
0
z
3
z
2
z
1
z
0
z
x
CL, LD Operacin Tipo
0x q 0 asnc.
11 q x snc.
10 q q snc.
Tabla de o%eracin
module reg(
input ck,
input cl,
input ld,
input [3:0] x,
output [3:0] z
);
reg [3:0] q;
always (posedge ck, negedge cl)
i! (cl "" 0)
q #" 0;
else i! (ld "" $)
q #" x;
assign z " q;
endmodule
Cdigo ;erilog
Departamento de Tecnologa Electrnica Universidad de Sevilla
#egistro entrada %aralelosalida
#egistro entrada %aralelosalida
%aralelo
%aralelo
C. 9%eracin Et. t0%ica E7cit.
! ( < ! =
i
> ! C.
i
> !
1 ( < ( =
i
> (
i
CL
i
= 1
biest. C.C.
C.C.
control
datos
estado
*
i
(
i
#E:
CK
LD
CL
x
3
x
2
x
1
x
0
z
3
z
2
z
1
z
0
q
i
D
i
CL
i
0
1
CL
LD
CK
x
i
q
i
z
i
.D 9%eracin Et. t0%ica E7cit.
1 ( < 7 =
i
> 7
i
D
i
> 7
i
! ( < ( =
i
> (
i
D
i
> (
i
Tabla de o%eracin as0ncrona
Tabla de o%eracin s0ncrona
Departamento de Tecnologa Electrnica Universidad de Sevilla
#egistro entrada %aralelosalida
#egistro entrada %aralelosalida
%aralelo
%aralelo
CL
LD
CK
x
3
z
3
q
3
D
3
CL
0
1
q
2
D
2
CL
0
1
q
1
D
1
CL
0
1
q
0
D
0
CL
0
1
x
2
x
1
x
0
z
2
z
1
z
0
#E:
CK
LD
CL
x
3
x
2
x
1
x
0
z
3
z
2
z
1
z
0
Departamento de Tecnologa Electrnica Universidad de Sevilla
#egistro de des%la*amiento
#egistro de des%la*amiento
#E:
CK
EN
CL
x
L
z
L
CL, EN Operacin Tipo
0x q 0 asncrona
11 q SHL(q) sncrona
10 q q sncrona
Tabla de o%eracin
module reg%s&l(
input ck,
input cl,
input en,
input xl,
output zl
);
reg [3:0] q;
always (posedge ck, negedge cl)
i! (cl "" 0)
q #" 0;
else i! (ld "" $)
q #" 'q[(:0], xl);
assign zl " q[3];
endmodule
Cdigo ;erilog
Departamento de Tecnologa Electrnica Universidad de Sevilla
#egistro de des%la*amiento
#egistro de des%la*amiento
E5 9%eracin Et. t0%ica Et. ! E7. t0%. E7. et. !
1 ( < S6.&(' =
i
> (
i21
=
!
> 7
.
D
i
> (
i21
D
!
> 7
.
! ( < ( =
i
> (
i
=
!
> (
!
D
i
> (
i
D
!
> (
!
biest. C.C.
C.C.
control
datos
estado
*
i
(
i
q
i
D
i
CL
i
0
1
CL
EN
CK
q
i-1
q
i
#E:
CK
EN
CL
x
L
z
L
Tabla de o%eracin s0ncrona
Departamento de Tecnologa Electrnica Universidad de Sevilla
#egistro de des%la*amiento
#egistro de des%la*amiento
#E:
CK
EN
CL
x
L
z
L
CL
EN
CK
x
L
q
0
D
0
CL
0
1
q
1
D
1
CL
0
1
q
2
D
2
CL
0
1
q
3
D
3
CL
0
1
z
L
Departamento de Tecnologa Electrnica Universidad de Sevilla
#egistro universal
#egistro universal
C.3.D3S6#3S6. 9%eracin Ti%o
!777 ( < ! as0nc.
1177 ( < 7 s0nc.
1!1! ( < S6#&(' s0nc.
1!!1 ( < S6.&(' s0nc.
1!!! ( < ( s0nc.
Tabla de o%eracin
module ureg(
input ck,
input cl,
input ld,
input s&r,
input s&l,
input [3:0] x,
output [3:0] z
);
reg [3:0] q;
always (posedge ck, negedge cl)
i! (cl "" 0)
q #" 0;
else i! (ld "" $)
q #" x;
else i! (s&r "" $)
q #" 'x[3], q[3:$]);
else i! (s&l "" $)
q #" 'q'(:0), x[0]);
assign z " q;
endmodule
Cdigo ;erilog
#E:
CK
LD
CL
x
3
x
2
x
1
x
0
z
3
z
2
z
1
z
0
SHL
SHR
x
R
z
L
z
R
x
L
Departamento de Tecnologa Electrnica Universidad de Sevilla
Contadores
Contadores

Introduccin

#egistros

Contadores

Contador binario ascendente mdulo 2


n

.0mite de estados de cuenta

Contador descendente

Contador reversible

Contadores no binarios

Dise$o con subsistemas secuenciales


Departamento de Tecnologa Electrnica Universidad de Sevilla
Contadores
Contadores

Similar al registro, a$ade o%eracin de cuenta.

Dise$o

Se a%lican los mismos %rinci%ios del dise$o modular

.a im%lementacin es ms sencilla con biestables ?@ o T


&sim%lifican la o%eracin de cuenta'

9%eraciones t0%icas

Cuenta ascendente

Cuenta descendente

/uesta a cero &clear'

Carga de estado de cuenta

Salidas t0%icas

Estado de cuenta

Ain de cuenta
Departamento de Tecnologa Electrnica Universidad de Sevilla
Contador binario mdulo 2
Contador binario mdulo 2
n n

Bdulo

5-mero de estados de cuenta del contador

Cinario

.os estados de cuenta re%resentan n-meros en base 2


consecutivos.

Bdulo 2
n

Cuenta de ! a 2
n
21 &n bits'

Cuenta c0clica

5ormalmente3 des%u1s del -ltimo estado de cuenta se %asa


al %rimero &desbordamiento'
Departamento de Tecnologa Electrnica Universidad de Sevilla
Contador binario mdulo 2
Contador binario mdulo 2
n n
C95T
CK
CL
z
3
z
2
z
1
z
0
C. 9%eracin Ti%o
1 ( < ! as0nc.
! ( < (D1E
mod 1F
s0nc.
Tabla de o%eracin
module count%mod$*(
input ck,
input cl,
output [3:0] z
);
reg [3:0] q;
always (posedge ck)
i! (cl "" $)
q #" 0;
else
q #" q + $;
assign z " q;
endmodule
Cdigo ;erilog
Departamento de Tecnologa Electrnica Universidad de Sevilla
Contador binario mdulo 2
Contador binario mdulo 2
n n
9%eracin de cuenta
9%eracin de cuenta
! 1 2 G H I F J 8 " 1! 11 12 1G 1H 1I 1F
C@
(
!
(
1
(
2
(
G

Cuenta ascendente
=i > (
i
si (
)
>13 )Ki
Si no3 =i > (
i
J
i
=K
i
=q
i1
q
i2
... q
0
Departamento de Tecnologa Electrnica Universidad de Sevilla
Contador binario mdulo 2
Contador binario mdulo 2
n n
C95T
CK
CL
z
3
z
2
z
1
z
0
9%eracin Et. t0%ica Et. !
( < (D1E
mod 1F
?
i
>@
i
>(
i21
... (
!
?
!
>@
!
>1
biest. C.C.
C.C.
control
datos
estado
*
i
(
i
Tabla de o%eracin s0ncrona
K
i
q
i
J
i
CL
i
q
i-1
q
0
CL
CK
Departamento de Tecnologa Electrnica Universidad de Sevilla
Contador binario mdulo 2
Contador binario mdulo 2
n n
. Circuito
. Circuito
K
0
q
0
J
0
CL
0
CL
CK
K
1
q
1
J
1
CL
1
K
2
q
2
J
2
CL
2
K
3
q
3
J
3
CL
3
1
z
0
z
1
z
2
z
3
K
1
q
1
J
1
CL
1
K
0
q
0
J
0
CL
0
CL
CK
K
1
q
1
J
1
CL
1
K
2
q
2
J
2
CL
2
K
3
q
3
J
3
CL
3
1
z
0
z
1
z
2
z
3
Departamento de Tecnologa Electrnica Universidad de Sevilla
Contador binario mdulo 2
Contador binario mdulo 2
n n
con
con
%uesta a cero + 4abilitacin
%uesta a cero + 4abilitacin
C95T
CK
EN
CL
z
3
z
2
z
1
z
0
C.3 E5 9%eracin Ti%o
17 ( < ! s0nc.
!1 ( < (D1E
mod 1F
s0nc.
!! ( < ( s0nc.
Tabla de o%eracin
module count%mod$*(
input ck,
input cl,
input en,
output [3:0] z
);
reg [3:0] q;
always (posedge ck)
i! (cl "" $)
q #" 0;
else i! (en "" $)
q #" q + $;
assign z " q;
endmodule
Cdigo ;erilog
Departamento de Tecnologa Electrnica Universidad de Sevilla
Contador binario mdulo 2
Contador binario mdulo 2
n n
con
con
%uesta a cero + 4abilitacin
%uesta a cero + 4abilitacin
C95T
CK
EN
CL
z
3
z
2
z
1
z
0
C.3 E5 9%eracin Et. t0%ica Et. !
17 ( < ! ?
i
>!3 @
i
>1 ?
!
>!3 @
!
>1
!1 ( < (D1E
mod 1F
?
i
>@
i
>(
i21
... (
!
?
!
>@
!
>1
!! ( < ( ?
i
>@
i
>! ?
!
>@
!
>!
biest. C.C.
C.C.
control
datos
estado
*
i
(
i
Tabla de o%eracin s0ncrona
K
i
q
i
J
i
q
i-1
q
0
CL
CK
0
1
2
3
0 1
0
1
2
3
0 1
EN
0
0
0
0
1
1
Departamento de Tecnologa Electrnica Universidad de Sevilla
Contador binario mdulo 2
Contador binario mdulo 2
n n
con
con
%uesta a cero + 4abilitacin. Circuito
%uesta a cero + 4abilitacin. Circuito

&4acer como e)ercicio'


Departamento de Tecnologa Electrnica Universidad de Sevilla
Salida de fin de cuenta
Salida de fin de cuenta
C=q
n1
q
n2
... q
0
q
n-1
q
n-2
q
0
C

Cuenta ascendente &acarreo L carr+'

C > 1 sii ( > 2


n
L 1
Departamento de Tecnologa Electrnica Universidad de Sevilla
Salida de fin de cuenta
Salida de fin de cuenta
C95T
CK
EN
CL
z
3
z
2
z
1
z
0
C
module count%mod$*(
input ck,
input cl,
input en,
output [3:0] z,
output c
);
reg [3:0] q;
always (posedge ck)
i! (cl "" $)
q #" 0;
else i! (en "" $)
q #" q + $;
assign z " q;
assign c " ,q;
endmodule
Cdigo ;erilog
Departamento de Tecnologa Electrnica Universidad de Sevilla
Unin de contadores
Unin de contadores

Combinar contadores %ara obtener un nuevo contador


con ma+or n-mero de estados de cuenta (ue los
originales.

Combinando dos contadores mdulo M + l se %uede


conseguir un nuevo contador mdulo MNl

E)em%lo, contador mdulo 2IF &8bits' a %artir de dos


contadores mdulo 1F &H bits'

.a combinacin de los contadores se %uede 4acer de


forma ms sim%le &con menos com%onentes adicionales'
si los contadores %oseen entradas de control + estado
adecuadas. E),

6abilitacin

Ain de cuenta
Departamento de Tecnologa Electrnica Universidad de Sevilla
Unin de contadores
Unin de contadores

&contador mod 2IF a %artir de mod 1F'

&contador mod H!"F a %artir de mod 1F'


Departamento de Tecnologa Electrnica Universidad de Sevilla
Contador binario mdulo 2
Contador binario mdulo 2
n n
con
con
%uesta a cero3 4abilitacin + carga
%uesta a cero3 4abilitacin + carga
C95T
CK
EN
LD
z
3
z
2
z
1
z
0
x
3
x
2
x
1
x
0
.D3 E5 9%eracin Ti%o
17 ( < 7 s0nc.
!1 ( < (D1E
mod 1F
s0nc.
!! ( < ( s0nc.
Tabla de o%eracin
module count%mod$*(
input ck,
input ld,
input en,
input [3:0] x,
output [3:0] z
);
reg [3:0] q;
always (posedge ck)
i! (ld "" $)
q #" x;
else i! (en "" $)
q #" q + $;
assign z " q;
endmodule
Cdigo ;erilog
Departamento de Tecnologa Electrnica Universidad de Sevilla
Contador binario mdulo 2
Contador binario mdulo 2
n n
con
con
%uesta a cero3 4abilitacin + carga
%uesta a cero3 4abilitacin + carga
.D3 E5 9%eracin Et. t0%ica Et. !
17 ( < 7 ?
i
>7
i
3 @
i
>7
i

0
=x, !
0
=x
!1 ( < (D1E
mod 1F
?
i
>@
i
>(
i21
... (
!
?
!
>@
!
>1
!! ( < ( ?
i
>@
i
>! ?
!
>@
!
>!
biest. C.C.
C.C.
control
datos
estado
*
i
(
i
Tabla de o%eracin s0ncrona
C95T
CK
EN
LD
z
3
z
2
z
1
z
0
x
3
x
2
x
1
x
0
K
i
q
i
J
i
q
i-1
q
0
LD
CK
0
1
2
3
0 1
0
1
2
3
0 1
EN
0
0
x
i
x
i
x
i
Departamento de Tecnologa Electrnica Universidad de Sevilla
Contador binario mdulo 2
Contador binario mdulo 2
n n
con
con
%uesta a cero3 4abilitacin + carga
%uesta a cero3 4abilitacin + carga

&Es(uema como e)ercicio'


Departamento de Tecnologa Electrnica Universidad de Sevilla
.0mite de estado de cuenta
.0mite de estado de cuenta

.os contadores mdulo K 2


n
se obtienen normalmente
limitando los estados de cuenta de un contador mdulo
2
n
.

Casos

.0mite su%erior, ! ... l3 lK2


n

.0mite inferior, M ... 2


n
3 M O !

.0mites inferior + su%erior, M ... l3 MO!3 lK2


n

Estrategia

Se detecta la llegada al estado de cuenta l + se activa una


o%eracin %ara volver a cero &C. o .D'3 o %ara volver a M
&.D'.

Si C..D son as0ncronos3 se 4a de detectar lD13 a%areciendo


un estado de cuenta transitorio a la salida.
Departamento de Tecnologa Electrnica Universidad de Sevilla
.0mite de estado de cuenta
.0mite de estado de cuenta
module count%mod$0(
input ck,
input cl,
input en,
output [3:0] z,
);
reg [3:0] q;
always (posedge ck)
i! (en "" $)
i! (q "" -)
q #" 0;
else
q #" q + $;
assign z " q;
endmodule
Cdigo ;erilog
C95T CCD
&!2"'
CK
EN
z
3
z
2
z
1
z
0
CL, EN Operacin Tipo
1x q 0 snc.
01 q q"1#
$o% 10
snc.
00 q q snc.
Tabla de o%eracin
Departamento de Tecnologa Electrnica Universidad de Sevilla
! !
! !
! !
! !
!1 !!
!!
!1
11
1!
2 !
2 1
2 2
2 2
1! 11
C. > *
G
*
!
*
1
*
!
*
G
*
2
C95T
CL
EN
z
3
z
2
z
1
z
0
C95T
CL
EN
z
3
z
2
z
1
z
0
z
3
z
2
z
1
z
0
EN
CK
C95T CCD
&!2"'
CK
EN
z
3
z
2
z
1
z
0
.0mite de estado de cuenta.
.0mite de estado de cuenta.
Contador CCD
Contador CCD
Departamento de Tecnologa Electrnica Universidad de Sevilla
Contador descendente mdulo 2
Contador descendente mdulo 2
n n
! 1 2 G H I F J 8 " 1! 11 12 1G 1H 1I 1F
C@
(
!
(
1
(
2
(
G

Cuenta descendente
=i > (
i
si (
)
>!3 )Ki
Si no3 =i > (
i
J
i
=K
i
=q
i1
q
i2
...q
0
J
i
=K
i
=q
i1
q
i2
...q
0
Departamento de Tecnologa Electrnica Universidad de Sevilla
Salida de fin de cuenta
Salida de fin de cuenta

Cuenta descendente &borroP'

C > 1 sii ( > !


B=q
n1
q
n2
...q
0
B=q
n1
q
n2
... q
0
q
n-1
q
n-2
q
0
B
Departamento de Tecnologa Electrnica Universidad de Sevilla
Contador binario descendente md.
Contador binario descendente md.
2
2
n n
con C.3 4abilit. + fin de cuenta
con C.3 4abilit. + fin de cuenta
C95T
CK
EN
CL
z
3
z
2
z
1
z
0
B
module count%mod$*(
input ck,
input cl,
input en,
output [3:0] z,
output c
);
reg [3:0] q;
always (posedge ck)
i! (cl "" $)
q #" 0;
else i! (en "" $)
q #" q + $;
assign z " q;
assign c " ,q;
endmodule
Cdigo ;erilog
module count%mod$*(
input ck,
input cl,
input en,
output [3:0] z,
output c
);
reg [3:0] q;
always (posedge ck)
i! (cl "" $)
q #" 0;
else i! (en "" $)
q #" q + $;
assign z " q;
assign c " ,q;
endmodule
module count%mod$*(
input ck,
input cl,
input en,
output [3:0] z,
output c
);
reg [3:0] q;
always (posedge ck)
i! (cl "" $)
q #" 0;
else i! (en "" $)
q #" q + $;
assign z " q;
assign c " ,q;
endmodule
Cdigo ;erilog
module count%mod$*(
input ck,
input cl,
input en,
output [3:0] z,
output c
);
reg [3:0] q;
always (posedge ck)
i! (cl "" $)
q #" 0;
else i! (en "" $)
q #" q + $;
assign z " q;
assign c " ,q;
endmodule
module count%mod$*(
input ck,
input cl,
input en,
output [3:0] z,
output c
);
reg [3:0] q;
always (posedge ck)
i! (cl "" $)
q #" 0;
else i! (en "" $)
q #" q + $;
assign z " q;
assign c " ,q;
endmodule
Cdigo ;erilog
module count%mod$*(
input ck,
input cl,
input en,
output [3:0] z,
output .
);
reg [3:0] q;
always (posedge ck)
i! (cl "" $)
q #" 0;
else i! (en "" $)
q #" q / $;
assign z " q;
assign . " 0(1q);
endmodule
Tabla de o%eracin
C.3 E5 9%eracin Ti%o
17 ( < ! s0nc.
!1 ( < (21E
mod 1F
s0nc.
!! ( < ( s0nc.
Departamento de Tecnologa Electrnica Universidad de Sevilla
Contador binario descendente md.
Contador binario descendente md.
2
2
n n
con C.3 4abilit. + fin de cuenta
con C.3 4abilit. + fin de cuenta
C.3 E5 9%eracin Et. t0%ica Et. !
17 ( < ! ?
i
>!3 @
i
>1 ?
!
>!3 @
!
>1
!1 ( < (21E
mod 1F
?
i
>@
i
>(
i21
... (
!
?
!
>@
!
>1
!! ( < ( ?
i
>@
i
>! ?
!
>@
!
>!
biest. C.C.
C.C.
control
datos
estado
*
i
(
i
Tabla de o%eracin s0ncrona
K
i
q
i
J
i
q
i
q
i-1
q
0
CL
CK
0
1
2
3
0 1
0
1
2
3
0 1
EN
0
0
0
0
1
1
C95T
CK
EN
CL
z
3
z
2
z
1
z
0
B
Departamento de Tecnologa Electrnica Universidad de Sevilla
Contador reversible
Contador reversible
C95T
CK
EN
CL
z
3
z
2
z
1
z
0
C
UD
Tabla de o%eracin
C.3 E53 UD
9%eracin Ti%o
177 ( < ! as0nc.
!!7 ( < ( s0nc.
!1! ( < (D1E
mod 1F
s0nc.
!11 ( < (21E
mod 1F
s0nc.
Departamento de Tecnologa Electrnica Universidad de Sevilla
Contador reversible
Contador reversible
module re2%counter$(
input ck,
input cl, input en, input ud,
output [3:0] z, output c
);
reg [3:0] q;
always (posedge ck, posedge cl)
.egin
i! (cl "" $)
q #" 0;
else i! (en "" $)
i! (ud "" 0)
q #" q + $;
else
q #" q / $;
end
assign z " q;
assign c " ud 3 0(1q) : ,q;
endmodule
Cdigo ;erilog
module re2%counter((
input ck,
input cl, input en, input ud,
output [3:0] z, output c
);
reg [3:0] q; reg c;
always (posedge ck, posedge cl)
.egin
i! (cl)
q #" 0;
else i! (en)
i! (!ud)
q #" q + $;
else
q #" q / $;
end
always @*
if (ud)
c = ~(|q);
else
c = &q;
assign z " q;
endmodule
Cdigo ;erilog
Departamento de Tecnologa Electrnica Universidad de Sevilla
Contador reversible
Contador reversible
E53 UD 9%eracin Et. t0%ica Et. !
!7 ( < ( ?
i
>@
i
>! ?
!
>@
!
>!
1! ( < (D1E
mod 1F
?
i
>@
i
>(
i21
... (
!
?
!
>@
!
>1
11 ( < (21E
mod 1F
?
i
>@
i
>(
i21
... (
!
?
!
>@
!
>1
biest. C.C.
C.C.
control
datos
estado
*
i
(
i
Tabla de o%eracin s0ncrona
C95T
CK
EN
CL
z
3
z
2
z
1
z
0
C
UD
K
i
q
i
J
i
q
i
q
i-1
q
0
EN
CK
0
1
2
3
0 1
0
1
2
3
0 1
UD
0
0
0
0
q
i-1
q
0
CL
CL
Departamento de Tecnologa Electrnica Universidad de Sevilla
Contadores no binarios
Contadores no binarios

Secuencia no binaria &e). :ra+'

5ativos

Bediante convertidor de cdigos

Contadores de des%la*amiento

Contador en anillo

Contador ?o4nson
Departamento de Tecnologa Electrnica Universidad de Sevilla
Contador :ra+ con convertidor de
Contador :ra+ con convertidor de
cdigo
cdigo
C95T
CK
z
3
z
2
z
1
z
0
CL
CI5:#8Q
module graycounter%mod$*(
input ck,
input cl,
output [3:0] z
);
reg [3:0] q;
always (posedge ck)
i! (cl "" $)
q #" 0;
else
q #" q + $;
assign z = q ^ (q >> 1);
endmodule
Cdigo ;erilog *
G
*
2
*
1
*
!
!!!!
!!!1
!!11
!!1!
!11!
!111
!1!1
!1!!
11!!
11!1
1111
111!
1!1!
1!11
1!!1
1!!!
Departamento de Tecnologa Electrnica Universidad de Sevilla
Contador en anillo
Contador en anillo
! ! 1 !
CK
q
3
D
3
PR
q
3
D
3
CL
q
3
D
3
CL
q
3
D
3
CL
CK
START
z
3
z
2
z
1
z
0
*
G
*
2
*
1
*
!
1!!!
!1!!
!!1!
!!!1
1!!!
...
Departamento de Tecnologa Electrnica Universidad de Sevilla
Dise$o con subsistemas secuenciales
Dise$o con subsistemas secuenciales

Introduccin

#egistros

Contadores

Dise$o con subsistemas secuenciales

Detectores + generadores de secuencia

E)em%los
Departamento de Tecnologa Electrnica Universidad de Sevilla
:enerador de secuencia
:enerador de secuencia

Con registro de des%la*amiento


1 1 ! !
CK
z
q
3
D
3
PR
q
3
D
3
PR
q
3
D
3
CL
q
3
D
3
CL
CK
START
z
Departamento de Tecnologa Electrnica Universidad de Sevilla
:enerador de secuencia
:enerador de secuencia

Con contador + CC
C95T
CK
z
START
C.C.
CL
CK
z
START
0
1
2
3
0 1
C95T
CL
q
1
q
0
0
0
1
1
module seq%gen(
input ck,
input start,
output z
);
reg [$:0] q; reg z;
always (posedge ck)
i! (start "" $)
q #" 0;
else
q #" q + $;
case (q)
(4&0: z " $4.0;
(4&$: z " $4.0;
(4&(: z " $4.$;
(4&3: z " $4.$;
endcase
endmodule
Cdigo ;erilog
Departamento de Tecnologa Electrnica Universidad de Sevilla
Detector de secuencia
Detector de secuencia
CK
z
1 ! 1 !
x
C.C.
det. sec.
CK
x
z
CK
z
x
S6#
RESET CL
module seq%det(
input ck, input reset,
input x,
output z
);
reg [3:0] q;
always (posedge ck)
i! (reset "" $)
q #" 0;
else
q #" 'x, q[3:$]);
assign z " ,q;
endmodule
Cdigo ;erilog
Departamento de Tecnologa Electrnica Universidad de Sevilla
E)em%lo
E)em%lo

Control de %uerta con cierre automtico

&a$adir sensor de seguridad'


Departamento de Tecnologa Electrnica Universidad de Sevilla
E)em%lo
E)em%lo

Ailtro de rebotes %ara %ulsadorinterru%tor


Departamento de Tecnologa Electrnica Universidad de Sevilla
E)em%lo, controlador JS
E)em%lo, controlador JS
A
B
C
D
E
F
G
A B C D E F
AN
G
D
G
D
2
D
1
D
!
JS 8CCDEA:
!!!! ! !!!!!!1
!!!1 1 1!!1111
!!11 2 !!1!!1!
!!1! G !!!!11!
!11! H 1!!11!!
!111 I !1!!1!!
!1!1 F !1!!!!!
!1!! J !!!1111
11!! 8 !!!!!!!
11!1 " !!!11!!
7
D3
D2
D1
D0
D
C
B
A
7S
G
F
E
BCD/7S
4
D
Departamento de Tecnologa Electrnica Universidad de Sevilla
E)em%lo, controlador JS
E)em%lo, controlador JS
4
7
CK
D3
D2
D1
D0
AN3
AN2
AN1
AN0
7S
C@, I!B6*
A. refresco, 1!!6* 2 1@6*
frec. refresco
AN3
AN2
AN1
AN0