Sei sulla pagina 1di 80

Circuitos Secuenciales

Construcción de bloques de circuitos Secuenciales

Universidad Nacional de San Agustin


UNSA - AREQUIPA

Integrantes :
Mamani Huanca, Jhoel Rene
Mendoza Cari, Ivan Marcos
Vilcapaza Goyzueta, Denilson
Yanapa Ccoarite, Rony Miguel

08 Julio, 2020

Grupo 03 - Microelectrónica GB-17 Exposición 03 08 Julio, 2020 1 / 79


Contenido

Introducción

Process en Vhdl y Registros

Registros

Contadores

Registros de desplazamientos

Constantes en VHDL

Tipos de diseño en VHDL

Generalizaciones

Ejercicios de practica

REGISTROS!

Grupo 03 - Microelectrónica GB-17 Exposición 03 08 Julio, 2020 2 / 79


Introducción

I Circuitos Secuenciales
I Importancia
I Circuitos Secuenciales en VHDL
I Maquinas de Estado

Grupo 03 - Microelectrónica GB-17 Exposición 03 08 Julio, 2020 3 / 79


Estilos Descripción en VHDL

I DATAFLOW
I ESTRUCTURAL
I BEHAVIORAL

Grupo 03 - Microelectrónica GB-17 Exposición 03 08 Julio, 2020 4 / 79


Process en VHDL

”Se puede considerar como una caja negra cuyo comportamiento se


describe mediante declaraciones secuenciales”
I Un proceso VHDL contiene una serie de declaraciones secuenciales.
I Variedad de construcciones. (flexible - versátil)
I Circuito más eficiente.
I No todos los procesos pueden sintetizarse.

Grupo 03 - Microelectrónica GB-17 Exposición 03 08 Julio, 2020 5 / 79


Process en VHDL (cont.)

ANATOMIA PROCESS.

Grupo 03 - Microelectrónica GB-17 Exposición 03 08 Julio, 2020 6 / 79


Problemas de diseño Process

Propiedad 1.- En una estructura process solo se ejecutan las


instrucciones internas en el instante 0 de simulacion y cuando varia
alguna de las señales de su lista de sensibilidad.
I Problema.- El resultado de la simulacion del circuito puede ser
inesperada debido al efecto maligno de la lista de sensibilidad.
I Solucion.- En la lista de sensibilidad han de incluirse al menos
todas las señales que se lean dentro del process (señal escritura igual
a señal lectura).

Grupo 03 - Microelectrónica GB-17 Exposición 03 08 Julio, 2020 7 / 79


Problemas de diseño Process (cont.)

Propiedad 2.- Las asignaciones a señales que se realizan dentro de un


process tienen memoria.
I Problema.- Si en un paso de simulacion se entra dentro del process
y debido a las sentencias internas se modifica el valor de la señal C,
y en otro paso de simulacion posterior se entra dentro del process
pero no se modifica C, la señal C conservara el valor asignado con
anterioridad. El resultado de la simulacion del circuito puede ser
inesperado debido al efecto maligno de la memoria del process.
I Solucion.- Siempre que se escriba una sentencia condicional es
obligatorio asegurar el valor que deben tener todas las señales en
cada rama del arbol condicional. Ademas, excepto si la definicion del
diseño nos lo prohibe toda condición debe tener su rama else.

Grupo 03 - Microelectrónica GB-17 Exposición 03 08 Julio, 2020 8 / 79


Equivalente de un Process

Figure 2: Diagrama Process

I Todas las señales que aparecen a la izquierda de la instrucción de


asignacion de señal (<=) son salidas, y, z.
I Todas las señales que aparecen en la lista de sensibilidad son
entradas, clk.
I Todas las señales que aparecen a la derecha de la instruccion de
asignacion de señal (<=) o en expresiones logicas son entradas, w,
a, b, c.
I Tener en cuenta que no todas las entradas deben incluirse en la lista
de sensibilidad.

Grupo 03 - Microelectrónica GB-17 Exposición 03 08 Julio, 2020 9 / 79


D LATCH en VHDL

Figure 3: Diagrama D LATCH

Grupo 03 - Microelectrónica GB-17 Exposición 03 08 Julio, 2020 10 / 79


D LATCH en VHDL (cont.)

Descripción VHDL:
LIBRARY i e e e ;
USE i e e e . s t d l o g i c 1 1 6 4 . a l l ;

ENTITY l a t c h I S
PORT ( D, C l o c k : IN STD LOGIC ;
Q : OUT STD LOGIC ) ;
END l a t c h ;

ARCHITECTURE b e h a v i o r a l OF l a t c h I S
BEGIN
PROCESS ( D, C l o c k )
BEGIN
I F C l o c k = ’ 1 ’ THEN
Q <= D ;
END I F ;
END PROCESS ;
END b e h a v i o r a l ;

Grupo 03 - Microelectrónica GB-17 Exposición 03 08 Julio, 2020 11 / 79


Flip Flop D en VHDL

Figure 4: Flip Flop D

Grupo 03 - Microelectrónica GB-17 Exposición 03 08 Julio, 2020 12 / 79


Flip Flop D en VHDL (cont.)

Descripción VHDL:
LIBRARY i e e e ;
USE i e e e . s t d l o g i c 1 1 6 4 . a l l ;

ENTITY f l i p f l o p I S
PORT ( D, C l o c k : IN STD LOGIC ;
Q : OUT STD LOGIC ) ;
END f l i p f l o p ;

ARCHITECTURE b e h a v i o r a l OF f l i p f l o p I S
BEGIN
PROCESS ( C l o c k )
BEGIN
I F r i s i n g e d g e ( C l o c k ) THEN
Q <= D ;
END I F ;
END PROCESS ;
END b e h a v i o r a l ;

Grupo 03 - Microelectrónica GB-17 Exposición 03 08 Julio, 2020 13 / 79


Flip Flop D en VHDL (cont.)

Otra forma de configurar es:


LIBRARY i e e e ;
USE i e e e . s t d l o g i c 1 1 6 4 . a l l ;

ENTITY f l i p f l o p I S
PORT ( D, C l o c k : IN STD LOGIC ;
Q : OUT STD LOGIC ) ;
END f l i p f l o p ;

ARCHITECTURE b e h a v i o r a l 2 OF f l i p f l o p I S
BEGIN
PROCESS ( C l o c k )
BEGIN
I F C l o c k ’EVENT AND C l o c k = ’ 1 ’ THEN
Q <= D ;
END I F ;
END PROCESS ;
END b e h a v i o r a l 2 ;

Grupo 03 - Microelectrónica GB-17 Exposición 03 08 Julio, 2020 14 / 79


D FLIP FLOP CON REINICIO ASÍNCRONO

Figure 5: D FLIP FLOP CON REINICIO ASÍNCRONO

Grupo 03 - Microelectrónica GB-17 Exposición 03 08 Julio, 2020 15 / 79


D FLIP FLOP CON REINICIO ASÍNCRONO (cont.)

Descripción VHDL:
LIBRARY i e e e ;
USE i e e e . s t d l o g i c 1 1 6 4 . a l l ;

ENTITY f l i p f l o p a r I S
PORT ( D, R e s e t , C l o c k : IN STD LOGIC ;
Q : OUT STD LOGIC ) ;
END f l i p f l o p a r ;

ARCHITECTURE b e h a v i o r a l OF f l i p f l o p a r I S
BEGIN
PROCESS ( R e s e t , C l o c k )
BEGIN
I F R e s e t = ’ 1 ’ THEN
Q <= ’ 0 ’ ;
ELSIF r i s i n g e d g e ( C l o c k ) THEN
Q <= D ;
END I F ;
END PROCESS ;
END b e h a v i o r a l ;

Grupo 03 - Microelectrónica GB-17 Exposición 03 08 Julio, 2020 16 / 79


D FLIP FLOP CON REINICIO SÍNCRONO

Figure 6: D FLIP FLOP CON REINICIO SÍNCRONO

Grupo 03 - Microelectrónica GB-17 Exposición 03 08 Julio, 2020 17 / 79


D FLIP FLOP CON REINICIO SÍNCRONO (cont.)

Descripción VHDL:
LIBRARY i e e e ;
USE i e e e . s t d l o g i c 1 1 6 4 . a l l ;

ENTITY f l i p f l o p s r I S
PORT ( D, R e s e t , C l o c k : IN STD LOGIC ;
Q : OUT STD LOGIC ) ;
END f l i p f l o p s r ;

ARCHITECTURE b e h a v i o r a l OF f l i p f l o p s r I S
BEGIN
PROCESS( C l o c k )
BEGIN
I F r i s i n g e d g e ( C l o c k ) THEN
I F R e s e t = ’ 1 ’ THEN
Q <= ’ 0 ’ ;
ELSE
Q <= D ;
END I F ;
END I F ;
END PROCESS ;
END b e h a v i o r a l ;

Grupo 03 - Microelectrónica GB-17 Exposición 03 08 Julio, 2020 18 / 79


Registro de 8 bits con reinicio asincrono

Figure 7: Registro de 8 bits con reinicio asincrono

Grupo 03 - Microelectrónica GB-17 Exposición 03 08 Julio, 2020 19 / 79


Registro de 8 bits con reinicio asincrono (cont.)

Descripción VHDL:
LIBRARY i e e e ;
USE i e e e . s t d l o g i c 1 1 6 4 . a l l ;

ENTITY r e g 8 I S
PORT ( D : IN STD LOGIC VECTOR( 7 DOWNTO 0 ) ;
R e s e t , C l o c k : IN STD LOGIC ;
Q : OUT STD LOGIC VECTOR( 7 DOWNTO 0 ) ) ;
END r e g 8 ;

ARCHITECTURE b e h a v i o r a l OF r e g 8 I S
BEGIN
PROCESS ( R e s e t , C l o c k )
BEGIN
I F R e s e t = ’ 1 ’ THEN
Q <= ” 00000000 ” ;
ELSIF r i s i n g e d g e ( C l o c k ) THEN
Q <= D ;
END I F ;
END PROCESS ;
END b e h a v i o r a l ; ‘

Grupo 03 - Microelectrónica GB-17 Exposición 03 08 Julio, 2020 20 / 79


El uso de ”OTHERS”

I Q <=00 0000000100 se puede escribir como

Q <= (0 =>0 10 , OTHERS =>0 00 )

I Q <=00 0001111000 puede ser escrito como

Q <= (4downto1 =>0 10 , OTHERS =>0 00 )

I Q <=00 1000000100 puede ser escrito como

Q <= (7I 0 =>0 10 , OTHERS =>0 00 )

Grupo 03 - Microelectrónica GB-17 Exposición 03 08 Julio, 2020 21 / 79


Registro de N bits con Habilitacion

Figure 8: Registro de N bits con Habilitacion

Grupo 03 - Microelectrónica GB-17 Exposición 03 08 Julio, 2020 22 / 79


Registro de N bits con Habilitacion (cont.)

Descripción VHDL:
LIBRARY i e e e ;
USE i e e e . s t d l o g i c 1 1 6 4 . a l l ;

ENTITY r e g n e I S
GENERIC ( N : INTEGER := 8 ) ;
PORT ( D : IN STD LOGIC VECTOR (N 1 DOWNTO 0 ) ; =
E n a b l e , C l o c k : IN STD LOGIC ;
Q : OUT STD LOGIC VECTOR (N 1 DOWNTO 0 ) ) ; =
END r e g n e ;

ARCHITECTURE b e h a v i o r a l OF r e g n e I S
BEGIN
PROCESS ( C l o c k )
BEGIN
I F r i s i n g e d g e ( C l o c k ) THEN
I F E n a b l e = ’ 1 ’ THEN
Q <= D ;
END I F ;
END I F ;
END PROCESS ;
END b e h a v i o r a l ;

Grupo 03 - Microelectrónica GB-17 Exposición 03 08 Julio, 2020 23 / 79


Implementacion de 2 registros en 1 solo process

Figure 9: 2 registros

Grupo 03 - Microelectrónica GB-17 Exposición 03 08 Julio, 2020 24 / 79


Implementacion de 2 registros en 1 solo process
(cont.)

Descripción VHDL:
PROCESS ( C l k , R e s e t )
BEGIN
I F Reset= ’ 1 ’ THEN
Cout <= ’ 0 ’ ;
V <= ’ 0 ’ ;
ELSIF r i s i n g e d g e ( C l k ) THEN
I F En f = ’ 1 ’ THEN
Cout <= Cout tmp ;
V <= V tmp ;
END I F ;
END I F ;
END PROCESS ;

Grupo 03 - Microelectrónica GB-17 Exposición 03 08 Julio, 2020 25 / 79


CONTENIDO - parte 2

I Contadores con reinicio sincrono y asincrono


I Registros de desplazamientos
I Constantes en VHDL
I Tipos de diseño en VHDL

Grupo 03 - Microelectrónica GB-17 Exposición 03 08 Julio, 2020 26 / 79


Contador ascendente de 2 bits con reinicio sincrono

Figure 10: Diagrama del contador de 2 bits

Grupo 03 - Microelectrónica GB-17 Exposición 03 08 Julio, 2020 27 / 79


Contador ascendente de 2 bits con reinicio sincrono
(cont.)
Descripción VHDL:
LIBRARY i e e e ;
USE i e e e . s t d l o g i c 1 1 6 4 . a l l ;
USE i e e e . n u m e r i c s t d . a l l ;
ENTITY u p c o u n t I S
PORT ( C l e a r , C l o c k : IN STD LOGIC ;
Q : OUT STD LOGIC VECTOR( 1 DOWNTO 0 ) ) ;
END u p c o u n t ;

ARCHITECTURE b e h a v i o r a l OF u p c o u n t I S
SIGNAL Count : u n s i g n e d ( 1 DOWNTO 0 ) ;
BEGIN
u p c o u n t : PROCESS ( C l o c k )
BEGIN
I F r i s i n g e d g e ( C l o c k ) THEN
I F C l e a r = ’ 1 ’ THEN
Count <= ” 00 ” ;
ELSE
Count <= Count + 1 ;
END I F ;
END I F ;
END PROCESS ;
Q <= s t d l o g i c v e c t o r ( Count ) ;
END b e h a v i o r a l ;

Grupo 03 - Microelectrónica GB-17 Exposición 03 08 Julio, 2020 28 / 79


Contador ascendente de 4 bits con reinicio asincrono (1)

LIBRARY i e e e ;
USE i e e e . s t d l o g i c 1 1 6 4 . a l l ;
USE i e e e . n u m e r i c s t d . a l l ;

ENTITY u p c o u n t a r I S
PORT ( C l o c k , R e s e t n , E n a b l e : IN STD LOGIC ;
Q : OUT STD LOGIC VECTOR ( 3 DOWNTO 0 ) ) ;
END u p c o u n t a r ;

Grupo 03 - Microelectrónica GB-17 Exposición 03 08 Julio, 2020 29 / 79


Contador ascendente de 4 bits con reinicio asincrono (2)

ARCHITECTURE b e h a v i o r a l OF u p c o u n t a r I S
SIGNAL Count : UNSIGNED ( 3 DOWNTO 0 ) ;
BEGIN
PROCESS ( C l o c k , R e s e t n )
BEGIN
I F R e s e t n = ’ 0 ’ THEN
Count <= ” 0000 ” ;
ELSIF r i s i n g e d g e ( C l o c k ) THEN
I F E n a b l e = ’ 1 ’ THEN
Count <= Count + 1 ;
END I F ;
END I F ;
END PROCESS ;
Q <= s t d l o g i c v e c t o r ( Count ) ;
END b e h a v i o r a l ;

Grupo 03 - Microelectrónica GB-17 Exposición 03 08 Julio, 2020 30 / 79


Registros de desplazamientos

Registro de desplazamiento - estructura interna

Grupo 03 - Microelectrónica GB-17 Exposición 03 08 Julio, 2020 31 / 79


Registro de desplazamiento con carga paralela

Grupo 03 - Microelectrónica GB-17 Exposición 03 08 Julio, 2020 32 / 79


Registro de desplazamiento de 4 bits con carga paralela(1)

LIBRARY i e e e ;
USE i e e e . s t d l o g i c 1 1 6 4 . a l l ;

ENTITY s h i f t 4 I S
PORT ( D : IN STD LOGIC VECTOR( 3 DOWNTO 0 ) ;
Enable : IN STD LOGIC ;
Load : IN STD LOGIC ;
Sin : IN STD LOGIC ;
Clock : IN STD LOGIC ;
Q : OUT STD LOGIC VECTOR( 3 DOWNTO 0 ) ) ;
END s h i f t 4 ;

Grupo 03 - Microelectrónica GB-17 Exposición 03 08 Julio, 2020 33 / 79


Registro de desplazamiento de 4 bits con carga paralela(2)

ARCHITECTURE b e h a v i o r a l OF s h i f t 4 I S
SIGNAL Qt : STD LOGIC VECTOR( 3 DOWNTO 0 ) ;
BEGIN
PROCESS ( C l o c k )
BEGIN
I F r i s i n g e d g e ( C l o c k ) THEN
I F E n a b l e = ’ 1 ’ THEN
I F Load = ’ 1 ’ THEN
Qt <= D ;
ELSE
Qt <= S i n & Qt ( 3 downto 1 ) ;
END I F ;
END I F ;
END PROCESS ;
Q <= Qt ;
END b e h a v i o r a l ;

Grupo 03 - Microelectrónica GB-17 Exposición 03 08 Julio, 2020 34 / 79


Registro de desplazamiento de N bits con carga paralela
(1)
LIBRARY i e e e ;
USE i e e e . s t d l o g i c 1 1 6 4 . a l l ;

ENTITY s h i f t n I S
GENERIC ( N : INTEGER := 8 ) ;
PORT ( D : IN STD LOGIC VECTOR (N 1 DOWNTO 0 ) ; =
E n a b l e : IN STD LOGIC ;
Load : IN STD LOGIC ;
S i n : IN STD LOGIC ;
C l o c k : IN STD LOGIC ;
Q : OUT STD LOGIC VECTOR (N 1 DOWNTO 0 ) ) ; =
END s h i f t n ;

Grupo 03 - Microelectrónica GB-17 Exposición 03 08 Julio, 2020 35 / 79


Registro de desplazamiento de N bits con carga paralela
(2)

ARCHITECTURE b e h a v i o r a l OF s h i f t n I S
=
SIGNAL Qt : STD LOGIC VECTOR (N 1 DOWNTO 0 ) ;
BEGIN
PROCESS ( C l o c k )
BEGIN
I F r i s i n g e d g e ( C l o c k ) THEN
I F E n a b l e = ’ 1 ’ THEN
I F Load = ’ 1 ’ THEN
Qt <= D ;
ELSE
=
Qt <= S i n & Qt (N 1 downto 1 ) ;
END I F ;
END I F ;
END PROCESS ;
Q <= Qt ;
END b e h a v i o r a l ;

Grupo 03 - Microelectrónica GB-17 Exposición 03 08 Julio, 2020 36 / 79


SINTAXSIS

CONSTANT name : type := value;


Ejemplos:
I
CONSTANT i n i t v a l u e : STD LOGIC VECTOR( 3 downto 0 ) := ” 0100 ” ;

I
CONSTANT ANDA EXT : STD LOGIC VECTOR( 7 downto 0 ) := X”B4” ;

I
CONSTANT c o u n t e r w i d t h : INTEGER := 1 6 ;

I
CONSTANT b u f f e r a d d r e s s : INTEGER := 16#FFFE#;

I
CONSTANT c l k p e r i o d : TIME := 20 n s ;

I
CONSTANT s t r o b e p e r i o d : TIME := 3 3 3 . 3 3 3 ms ;

Grupo 03 - Microelectrónica GB-17 Exposición 03 08 Julio, 2020 37 / 79


Tipos de diseño en VHDL

I ESTRUCTURAL: En forma similar a las herramientas de diseño


que trabajan con lenguajes de NETLIST, VHDL puede ser utilizado
para diseñar ó simular un sistema digital, especificando por un lado
sus componentes y por el otro sus interconexiones.
I POR COMPORTAMIENTO (ó FUNCIONAL): VHDL puede ser
usado para diseñar un sistema digital, describiendo el
comportamiento del mismo a través de dos formas diferentes:
”algoritmica” y por ”flujo de datos”. Esta modalidad es muy
utilizada en procesos de simulación ya que permite simular un
sistema sin necesidad de conocer su estructura interna.

Grupo 03 - Microelectrónica GB-17 Exposición 03 08 Julio, 2020 38 / 79


Multiplexor 2 a 1

Un multiplexor 2x1 se corresponderia con el siguiente módulo visto


desde afuera.

Grupo 03 - Microelectrónica GB-17 Exposición 03 08 Julio, 2020 39 / 79


Multiplexor 2 a 1

...por lo que su entidad corresponderia :


La descripción de lo que hace internamente se puede realizar de varias
maneras, asi pues un multiplexor es un modulo que hace:
S O
0 D0
1 D1

Grupo 03 - Microelectrónica GB-17 Exposición 03 08 Julio, 2020 40 / 79


Diseño Estructural

I Una de las caracteristicas mas potentes del lenguaje VHDL, es la


posibilidad de utilizar los modulos que hemos desarrollado para
construir módulos mas grandes
I Un módulo VHDL puede convertirse en componente de otro modulo,
de esta forma reutilizamos o aprovechamos módulos ya diseñados
con anterioridad, o podemos dividir un diseño complejo en varios
diseños más simples.
I Utilizar modulos VHDL para construir otros módulos se denomina
diseño estructural, que difiere del diseño por comportamiento que
hemos utilizado hasta este momento.

Grupo 03 - Microelectrónica GB-17 Exposición 03 08 Julio, 2020 41 / 79


Diseño Estructural (cont.)

e n t i t y mux2 i s
p o r t ( D0, D1, S0 : i n s t d l o g i c ;
O: out s t d l o g i c ) ;
end mux2 ;

a r c h i t e c t u r e s t r u c t u r a l o f mux2 i s
component AND2 i s
p o r t ( I 0 , I 1 : i n s t d l o g i c ; O: ou t s t d l o g i c ) ;
end component ;
component OR2 i s
p o r t ( I 0 , I 1 : i n s t d l o g i c ; O: ou t s t d l o g i c ) ;
end component ;
component INV i s
p o r t ( I 0 : i n s t d l o g i c ; O: ou t s t d l o g i c ) ;
end ;

s i g n a l S1,S2,S3 : s t d l o g i c ;

begin
U1 : INV p o r t map ( S 0 , S 1 ) ;
U2 : AND2 p o r t map ( D 0 , S 1 , S 2 ) ;
U3 : AND2 p o r t map ( S 0 , D 1 , S 3 ) ;
U4 : OR2 p o r t map ( S 2 , S 3 , O ) ;
end s t r u c t u r a l ;

Grupo 03 - Microelectrónica GB-17 Exposición 03 08 Julio, 2020 42 / 79


Diseño algoritmico

Otra forma de describir la funcionalidad de un dispositivo es la de hacerlo


algoritmicamente dentro de una sentencia ”PROCESS”. La sentencia
PROCESS consta de una serie de partes:
I La primera es la lista de sensibilidad.
I La segunda la declarativa
I La tercera es la de statement. Comienza en ”BEGIN”.

Grupo 03 - Microelectrónica GB-17 Exposición 03 08 Julio, 2020 43 / 79


Diseño algoritmico (cont.)

e n t i t y mux2 i s
p o r t ( D0, D1, S0 : i n s t d l o g i c ;
O: out s t d l o g i c ) ;
end mux2 ;

a r c h i t e c t u r e b e h a v i o r a l 2 o f mux2 i s
begin
m u l t i p l e x o r : p r o c e s s ( D0,D1,S0 )
i f ( S0= ’ 1 ’ ) t h e n
0 <= D1 ;
else
O <= D0 ;
end i f ;
end p r o c e s s ;
end b e h a v i o r a l 2 ;

Grupo 03 - Microelectrónica GB-17 Exposición 03 08 Julio, 2020 44 / 79


Diseño por flujo de datos

VHDL es un lenguaje concurrente, como consecuencia no se seguirá el


orden en que están escritas las instrucciones a la hora de ejecutar el
código. De hecho, si hay dos instrucciones, no tiene porqué ejecutarse
una antes que otra, pueden ejecutarse a la vez.
Sentencias Concurrentes
La instrucción basica de la ejecucion concurrente es la asignacion entre
señales a traves del simbolo ¡=. Para facilitar la asignación de las señales
VHDL incluye elementos de alto nivel como son instrucciones
condicionales, de seleccion, etc, que se verán a continuación.

Grupo 03 - Microelectrónica GB-17 Exposición 03 08 Julio, 2020 45 / 79


Diseño por flujo de datos (cont.)

e n t i t y mux2 i s

p o r t ( D0, D1, S0 : i n s t d l o g i c ;
O: out s t d l o g i c ) ;

end mux2 ;

a r c h i t e c t u r e mixed o f mux2 i s
s i g n a l S1,S2 : s t d l o g i c ;

begin
S1 <= D0 and not S0 ;
S2 <= D1 and S0 ;
O <= S1 and S2 ;

end mixed ;

Grupo 03 - Microelectrónica GB-17 Exposición 03 08 Julio, 2020 46 / 79


Sumador de dos bits estructural

Grupo 03 - Microelectrónica GB-17 Exposición 03 08 Julio, 2020 47 / 79


Circuitos secuenciales, Latches, flip-flops, Registros,. -
parte 3

I Introducción
I Clasificacion de los flip flop
I Ejercicios de practica
I REGISTROS

Grupo 03 - Microelectrónica GB-17 Exposición 03 08 Julio, 2020 48 / 79


Circuitos secuenciales

Propiedad- Se mantiene el valor anterior en ausencia de los valores de


entrada .
I Las salidas dependen de las entradas y de valores anteriores de
determinadas salidas(flip-flops, registros, contadores, y memorias)

Figure 11: Sistema combinacional y secuencial

Grupo 03 - Microelectrónica GB-17 Exposición 03 08 Julio, 2020 49 / 79


Circuitos secuenciales

nota- Los circuitos secuenciales pueden ser:


I Asincronos: : No dependen de ninguna señal de reloj
I Sincronos: Dependen de un reloj

Figure 12

Grupo 03 - Microelectrónica GB-17 Exposición 03 08 Julio, 2020 50 / 79


Circuitos asincronos: Latches

LATCH- Latches SR
I SIMBOLO

Figure 13

I representacion - caja

Grupo 03 - Microelectrónica GB-17 Exposición 03 08 Julio, 2020 51 / 79


Circuitos asincronos: Latches (cont.)

Figure 14

I tabla de verdad

Figure 15

Grupo 03 - Microelectrónica GB-17 Exposición 03 08 Julio, 2020 52 / 79


SR LATCH Habilitador :

Nota- Los circuitos latches pueden ser:

Figure 16

Grupo 03 - Microelectrónica GB-17 Exposición 03 08 Julio, 2020 53 / 79


D LATCH con Habilitador (enable):

Nota- Esto es esencialmente un SR Latch, donde


I R= NOT(D) , S = D

Figure 17

Grupo 03 - Microelectrónica GB-17 Exposición 03 08 Julio, 2020 54 / 79


Circuitos sincronos:

FLIP FLOPS
I Las FLIP FLOPS estan hechos de: Un latch (Biestables asincronos o
sincronizados por nivel) con una entrada de habilitacion. Un circuito
disparado de flanco (de subida o de bajada).
I La figura muestra un Latch SR, donde la habilitacion esta conectada
a la salida de un circuito detector de flancos. La entrada al detector
de flancos es una señal llamada reloj. una señal de reloj es una onda
cuadrada con una frecuencia fija.

Grupo 03 - Microelectrónica GB-17 Exposición 03 08 Julio, 2020 55 / 79


circuito detector de flancos :

circuito detector de flancos :

Figure 18

Grupo 03 - Microelectrónica GB-17 Exposición 03 08 Julio, 2020 56 / 79


circuito detector de flancos :

circuito detector de flancos :


I El circuito detector de flancos genera pulsos de corta duracion
durante los flancos ascendentes (o descendentes). Estos pulsos
actuan como habilitadores de latch.
I El comportamiento de los flip flops puede describirse como el de un
Latch que solo esta habilitado durante los flancos ascendentes (o
descendentes).

Figure 19

Grupo 03 - Microelectrónica GB-17 Exposición 03 08 Julio, 2020 57 / 79


Clasificacion de los flip flop

circuito detector de flancos :


I Flip Flop activado por flanco positivo: El circuito detector de flanco
genera pulsos durante los flancos ascendentes.
I Flip Flop activado por flanco negativo: El circuito detector de
flancos genera pulsos durante los flancos que descienden (bajada).

Figure 20

Grupo 03 - Microelectrónica GB-17 Exposición 03 08 Julio, 2020 58 / 79


Flip flop sincronos

Flip flop sincronos D

Figure 21

Grupo 03 - Microelectrónica GB-17 Exposición 03 08 Julio, 2020 59 / 79


Entradas sincronas / asincronas

Entradas sincronas / asincronas


I Las salidas generalmente cambian debido a un cambio en las
entradas. Estas entradas se conocen como entradas sincronas, ya
que el estado de las entradas solo se verifica en los flancos
ascendentes (o descendentes).
I Sin embargo, en muchos casos, es util tener entradas que fuercen las
salidas a un valor inmediatamente, sin tener en cuenta los bordes
ascendentes (o descendentes). Estas entradas se conocen como
entradas asincronicas. .
I En el ejemplo, vemos un Flip Flop D con dos entradas asincronas:
I prn: Preset (activo bajo). Cuando prn = 0, la salida q se convierte
en 1.
I clrn: Clear (activo bajo). Cuando clrn = 0, la salida q se convierte
en 0.

Grupo 03 - Microelectrónica GB-17 Exposición 03 08 Julio, 2020 60 / 79


Entradas sincronas / asincronas (cont.)

Figure 22: package with Entradas sincronas / asincronas

Grupo 03 - Microelectrónica GB-17 Exposición 03 08 Julio, 2020 61 / 79


Flip flop sincronos

Entradas de reloj - CK, CLK, CLOCK ...

Figure 23

Grupo 03 - Microelectrónica GB-17 Exposición 03 08 Julio, 2020 62 / 79


Ejercicios de practica

completar ...

Figure 24

Grupo 03 - Microelectrónica GB-17 Exposición 03 08 Julio, 2020 63 / 79


Ejercicios de practica(SOLUCION)

completar ...

Figure 25: SOLUCION1

Grupo 03 - Microelectrónica GB-17 Exposición 03 08 Julio, 2020 64 / 79


Ejercicios de practica2

completar ...

Figure 26

Grupo 03 - Microelectrónica GB-17 Exposición 03 08 Julio, 2020 65 / 79


Ejercicios de practica2(SOLUCION)

completar ...

Figure 27

Grupo 03 - Microelectrónica GB-17 Exposición 03 08 Julio, 2020 66 / 79


Ejercicios de practica3

completar ...

Figure 28

Grupo 03 - Microelectrónica GB-17 Exposición 03 08 Julio, 2020 67 / 79


Ejercicios de practica3(SOLUCION)

completar ...

Figure 29

Grupo 03 - Microelectrónica GB-17 Exposición 03 08 Julio, 2020 68 / 79


Registro N-bit:

I Esta es una coleccion de flip flops tipo n D, donde cada flip flop
almacena de forma independiente un bit. Los flip flop están
conectadas en paralelo.
I Tambien comparten las mismas señales de resetn y señal de reloj.

Figure 30

Grupo 03 - Microelectrónica GB-17 Exposición 03 08 Julio, 2020 69 / 79


Registro N-bit: (cont.)

Grupo 03 - Microelectrónica GB-17 Exposición 03 08 Julio, 2020 70 / 79


Registro de cambio N-bit:

I Esta es una coleccion de chanclas tipo n D, conectadas en serie. Las


flip flop comparten las mismas señales de reset y reloj.
I La entrada en serie se llama din, y la salida en serie se llama dout.
Las salidas de flip flop (tambien llamadas salida paralela) se
denominan Q . Dependiendo de como etiquetemos los bits, podemos
tener:
I Registro de desplazamiento a la derecha: el bit de entrada se mueve
del MSB al LSB, y Registro de desplazamiento a la izquierda: el bit
de entrada se mueve del LSB al MSB.

Grupo 03 - Microelectrónica GB-17 Exposición 03 08 Julio, 2020 71 / 79


Registro de cambio N-bit:

SHIFT REGISTER ...

Figure 31

Grupo 03 - Microelectrónica GB-17 Exposición 03 08 Julio, 2020 72 / 79


Registro de cambio N-bit:

TIMING DIAGRAM ...

Figure 32

Grupo 03 - Microelectrónica GB-17 Exposición 03 08 Julio, 2020 73 / 79


Contadores sincronos y maquinas de estado - parte 4

I Utilidad de los contadores sincronos


I Clases de contadores sincronos
I Emulador de memoria de acceso aleatorio
I Maquinas de estado finito
I Maquinas de estado Algoritmico(ASM)

Grupo 03 - Microelectrónica GB-17 Exposición 03 08 Julio, 2020 74 / 79


Utilidad de los contadores sincronos

I Contar el numero de ocurrencias de un evento determinado, generar


intervalos de tiempo para el control de tareas, realizar un
seguimiento del tiempo transcurrido entre dos eventos, etc. Los
contadores estan hechos de FLIP FLOP y logica combinacional.
Usualmente estan diseñado utilizando maquinas de estado finito
(FSM).
I Los contadores sincronos cambian su salida en el borde del reloj
(ascendente o descendente). Cada flip flop comparte la misma señal
de entrada del reloj. Si la cuenta inicial es cero, cada flip flop
comparte la señal de entrada resetn.

Grupo 03 - Microelectrónica GB-17 Exposición 03 08 Julio, 2020 75 / 79


Clases de contadores sincronos

Contador binario: Un contador binario de n - bit cuenta de 0 a 2n -


1.

Figure 33: Contador binario de 2 bits

Grupo 03 - Microelectrónica GB-17 Exposición 03 08 Julio, 2020 76 / 79


Clases de contadores sincronos

Contador de modulo: Un contador modulo - N cuenta de 0 a N-1.


Caso especial: contador BCD (o decada).

Figure 34: Contador BCD

Grupo 03 - Microelectrónica GB-17 Exposición 03 08 Julio, 2020 77 / 79


Clases de contadores sincronos

Contador ascendente / descendente: Cuenta tanto hacia arriba


como hacia abajo.
Contador de carga en paralelo: El contador puede recibir un valor
arbitrario. .
Contador con habilitador: Si enable = 0, la cuenta se detiene. Si
enable = 1, el contador cuenta. Esto generalmente se realiza conectando
las entradas de habilitacion de los flip flops a una sola habilitacion.

Grupo 03 - Microelectrónica GB-17 Exposición 03 08 Julio, 2020 78 / 79


Clases de contadores sincronos

Contador de Ring: Se puede construir usando un registro de


desplazamiento. La salida de la ultima etapa se realimenta a la entrada
de la primera etapa, lo que crea una estructura en forma de anillo. La
señal asincrona startn establece el recuento inicial en 100. . . 000 (primer
bit establecido en 1). Ejemplo (4 bits): 1000, 0100, 0010, 0001, 1000, ...
La siguiente figura muestra un contador de anillo n-bit.

Figure 35: Contador de anillo n-bit

Grupo 03 - Microelectrónica GB-17 Exposición 03 08 Julio, 2020 79 / 79


...

GRACIAS...

Grupo 03 - Microelectrónica GB-17 Exposición 03 08 Julio, 2020 80 / 79

Potrebbero piacerti anche