PDF de programación - Bloque 3: Sistemas secuenciales - Tema 9: Módulos secuenciales básicos

Imágen de pdf Bloque 3: Sistemas secuenciales - Tema 9: Módulos secuenciales básicos

Bloque 3: Sistemas secuenciales - Tema 9: Módulos secuenciales básicosgráfica de visualizaciones

Publicado el 25 de Agosto del 2019
710 visualizaciones desde el 25 de Agosto del 2019
358,5 KB
36 paginas
Creado hace 11a (16/01/2013)
Titulación: Ingeniería Informática
Asignatura: Fundamentos de

Computadores

Bloque 3: Sistemas
secuenciales
Tema 9: Módulos secuenciales
básicos

Pablo Huerta Pellitero
Luis Rincón Córcoles

ÍNDICE

Módulos secuenciales básicos

 Carga paralela
 Registros de desplazamiento

• Contadores

• Bibliografía
• Registros

 Contadores síncronos
 Contadores asíncronos

• Banco de registros

2

BIBLIOGRAFÍA

Módulos secuenciales básicos

• Román Hermida, Ana Mº del Corral, Enric Pastor, Fermín

Sánchez
“Fundamentos de Computadores” , cap 5
Editorial Síntesis
• Thomas L. Floyd

“Fundamentos de Sistemas Digitales”, cap 8,9
Editorial Prentice Hall

• Daniel D. Gajski

“Principios de Diseño Digital”, cap 7
Editorial Prentice Hall

• M. Morris Mano

“Diseño Digital”, cap 7
Editorial Prentice Hall

3

Módulos secuenciales básicos

REGISTROS
Se denomina registro a un conjunto de biestables (típicamente flip-flops)
que funcionan al unísono, compartiendo las señales de control (reloj, reset,
etc).
Las entradas y la salidas de datos del registro pueden ser en paralelo o en
serie.





• Algunas de las entradas de control que pueden tener los registros son:

 Habilitación/inhabilitación del reloj: se utiliza para controlar el

funcionamiento del registro. Si el reloj está inhabilitado, el registro no
cambiará su valor cuando llegue un flanco de reloj.

 Habilitación de entrada: hace que la entrada llegue a los flip-flops, o
que no llegue y por tanto mantengan su valor anterior. El efecto que
tiene es equivalente a la habilitación/inhabilitación del reloj.

 Clear o reset: entrada asíncrona común a todos los biestables que hace

 Preset o set: entrada asíncrona común a todos los biestables que hace

que todos pongan su salida a ‘0’.

que todos pongan su salida a ‘1’.

 Habilitación de salida: conecta/desconecta la salida del registro.

4

ÍNDICE

Módulos secuenciales básicos

 Carga paralela
 Registros de desplazamiento

• Contadores

• Bibliografía
• Registros

 Contadores síncronos
 Contadores asíncronos

• Banco de registros

5

REGISTROS CON CARGA PARALELA

Módulos secuenciales básicos

• Son los más comunes, y se utilizan para almacenamiento
de datos. Tienen ‘n’ bits de entrada de datos y ‘n’ bits de
salida de datos. Internamente hay ‘n’ flip-flops, y cada uno
de ellos almacena uno de los bits del registro.
• Ejemplo: registro de 4 bits con carga paralela.

Símbolo

Tabla de
funcionamiento

6

REGISTROS CON CARGA PARALELA

Módulos secuenciales básicos

• Registro con carga paralela:

7

REGISTRO CON CARGA PARALELA:
HABILITACIÓN DE RELOJ

Módulos secuenciales básicos

• El registro con carga paralela puede tener una entrada de
habilitación de reloj CE (Clock Enable). Si CE = ‘0’, el reloj
que llega a los biestables siempre vale ‘0’. Si CE = ‘1’ a los
biestables les llega la entrada de reloj Clk.
• Esta forma de controlar el reloj se conoce como “clock
gating”. Puede dar problemas de sesgo (“skew”) en el reloj
del sistema, por lo que es preferible utilizar habilitación de
entrada.

Símbolo

Tabla de
funcionamiento

8

REGISTROS CON CARGA PARALELA:
HABILITACIÓN DE RELOJ

• Registro con carga en paralelo y habilitación de reloj:

Módulos secuenciales básicos

9

Módulos secuenciales básicos

REGISTROS CON CARGA PARALELA:
HABILITACIÓN DE ENTRADA

• La habilitación de entrada se puede hacer utilizando
multiplexores a la entrada de los flip-flops. Estos
multiplexores hacen que al flip-flop llegue o bien la
entrada del registro o el valor que ya había
almacenado en el flip-flop.

Símbolo

Tabla de
funcionamiento

10

REGISTROS CON CARGA PARALELA:
HABILITACIÓN DE ENTRADA

• Registro con carga paralela y habilitación de entrada:

Módulos secuenciales básicos

11

REGISTROS CON CARGA PARALELA:
HABILITACIÓN DE SALIDA

Módulos secuenciales básicos

• La habilitación de salida permite, mediante un señal de
control (OE, Output Enable), que el registro coloque en la
salida el valor que tiene almacenado en los flip-flops, o que
deje la salida en alta impedancia.

• Se implementa utilizando buffers triestado.

Símbolo

Tabla de funcionamiento: escritura

Tabla de funcionamiento: lectura

12

Módulos secuenciales básicos

REGISTROS CON CARGA PARALELA:
HABILITACIÓN DE SALIDA

• Registro con carga paralela, habilitación de entrada, y

habilitación de salida:

13

REGISTRO CON CARGA PARALELA

Módulos secuenciales básicos

• Ejemplo: modelo funcional en VHDL de un registro con

carga paralela, habilitación de entrada, y habilitación de
salida.

library ieee;
use ieee.std_logic_1164.all;
entity reg_load_oe is
generic(width: integer);
port(clk, rst, load, oe: in std_logic;
I: in std_logic_vector(width-1 downto 0);
Q: out std_logic_vector(width-1 downto 0));
end reg_load_oe;

14

REGISTRO CON CARGA PARALELA

Módulos secuenciales básicos

• Ejemplo (continuación): arquitectura.

architecture funcional of reg_load_oe is
signal Q_interno: std_logic_vector(width-1 downto 0);
begin
--Escritura:
process(clk,rst)
begin
if rst = '1' then
Q_interno <= (others => '0');
elsif (rising_edge(clk) and load = '1') then
Q_interno <= I;
end if;
end process;
--Lectura
process(Q_interno, oe)
begin
if oe = '1' then Q <= Q_interno;
else Q <= (others => 'Z');
end if;
end process;
end funcional;

15

REGISTRO CON CARGA PARALELA

Módulos secuenciales básicos

• Ejemplo (continuación): test-bench de un registro de 4 bits.
library ieee;
use ieee.std_logic_1164.all;
entity test_reg_load_oe is
end test_reg_load_oe;
architecture test of test_reg_load_oe is
signal clk: std_logic := '0';
signal rst, load, oe: std_logic;
signal I, Q: std_logic_vector(3 downto 0);
begin
clk <= not clk after 5 ns;
rst <= '0', '1' after 20 ns, '0' after 22 ns;
load <= '0', '1' after 50 ns,'0' after 60 ns, '1' after 100 ns,
'0' after 110 ns;
oe <= '0', '1' after 70 ns;
I <= "0110", "1001" after 40 ns, "1111" after 80 ns;
inst: entity work.reg_load_oe generic map(4) port map(clk,rst,load,oe,I,Q);

end test;

16

REGISTRO CON CARGA PARALELA

Módulos secuenciales básicos

• Ejemplo (continuación): resultado de la simulación.

17

ÍNDICE

Módulos secuenciales básicos

 Carga paralela
 Registros de desplazamiento

• Contadores

• Bibliografía
• Registros

 Contadores síncronos
 Contadores asíncronos

• Banco de registros

18

REGISTROS DE DESPLAZAMIENTO

Módulos secuenciales básicos

• Son registros que permiten realizar ciertas operaciones de
carga de datos y desplazamientos a izquierda, derecha,
rotaciones, etc.

• Pueden tener entradas y/o salidas de datos serie tanto por

el bit más significativo como por el bit menos significativo.

• También pueden tener entradas de datos para carga en

paralelo, y/o salidas en paralelo.

• En los registros de desplazamiento, su contenido se va
propagando (desplazando) de un biestable a otro en cada
flanco de reloj.

• Tipos de registros de desplazamiento:

 Conversión serie / serie.
 Conversión serie / paralelo.
 Conversión paralelo / serie.
 Registros de desplazamiento universales.

19

REGISTRO CONVERSOR SERIE/SERIE

Módulos secuenciales básicos

• Son registros que tienen una entrada de datos de 1 bit y

una salida de datos de 1 bit. Internamente tienen ‘n’
biestables. El dato de entrada se va propagando
(desplazando) de un biestable a otro en cada flanco de
reloj, hasta llegar a la salida.

• La salida es igual a la entrada retrasada ‘n’ ciclos de reloj.

Símbolo

20

REGISTRO CONVERSOR SERIE/SERIE

Módulos secuenciales básicos

• El registro serie/serie también puede incluir entradas de

habilitación de reloj, habilitación de entrada, habilitación de
salida, etc.

• Ejemplo: registro serie/serie con habilitación de entrada y

desplazamiento hacia la derecha:

21

Módulos secuenciales básicos

REGISTRO CONVERSOR SERIE/PARALELO
• Es un registro con una entrada de datos de 1 bit y una

salida de datos de ‘n’ bits. Internamente tiene ‘n’
biestables, y el dato de entrada se va propagando
(desplazando) de uno a otro en cada flanco de reloj.
Internamente es similar al registro serie/serie, pero todos
los biestables están conectados a la salida en paralelo.



• Ejemplo: registro serie/paralelo con habilitación de entrada

y desplazamiento hacia la derecha:

22

REGISTRO CONVERSOR PARALELO/SERIE

Módulos secuenciales básicos

• Es un registro con una entrada de datos de ‘n’ bits en

paralelo, y una salida de datos de 1 bit. Internamente tiene
‘n’ biestables, y el dato de entrada se va propagando
(desplazando) de uno a otro en cada flanco de reloj.

• Ejemplo: registro paralelo/serie con habilitación de entrada

y desplazamiento hacia la derecha:

23

Módulos secuenciales básicos

REGISTROS DE DESPLAZAMIENTO
UNIVERSALES
• Los registros de desplazamiento universales permiten
realizar varias operaciones en función de varias señales de
control:
 Carga en paralelo.
 Desplazamiento a la izquierda y/o a la derecha.
 Rotación.
Internamente están implementados utilizando multiplexores
que se conectan a las entradas de los biestables y que
permiten, mediante unas señales de control , escoger el
tipo de operación que tiene que realizar el registro.



• Ejemplo: registro de desplazamiento con la siguiente tabla

de operaciones:

24

REGISTROS DE DESPLAZAMIENTO
UNIVERSALES

Módulos secuenciales básicos

25

ÍNDICE

Módulos secuenciales básicos

 Carga paralela
 Conversión serie/serie
 Conversión serie/paralelo
 Registros de desplazamiento

• Contadores

• Bibliografía
• Registros

 Contadores síncronos
 Contadores asíncronos

• Banco de registros

26

CONTADORES

Módulos secuenciales básicos

• Un contador es un circuito secuencial con una salida de ‘n’ bits que puede

seguir una secuencia númerica concreta: 0, 1, 2, 3 .
  • Links de descarga
http://lwp-l.com/pdf16496

Comentarios de: Bloque 3: Sistemas secuenciales - Tema 9: Módulos secuenciales básicos (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad