Title | Registros UNLa M v2 |
---|---|
Author | Alan Blanco |
Course | Técnicas Digitales |
Institution | Universidad Nacional de La Matanza |
Pages | 98 |
File Size | 6.5 MB |
File Type | |
Total Downloads | 63 |
Total Views | 136 |
Apuntes de lo que se dio en toda la cursada y los temas que entran en el parcial en total 7...
Registros
Debo agradecer los textos e imágenes que fueron tomadas del libro Técnicas Digitales, Dispositivos, Circuitos, Diseño y Aplicaciones del Ing. Jorge Sinderman, del libro Fundamentos de Sistemas Digitales de T. Floyd 9na. ed. Y Sistemas Digitales Principios y Aplicaciones de R. J. Tocci Ing. Daniel Acerbi – Noviembre 2020_v3
Indice
Generalidades Clasificación Registros PIPO – Construidos con Latch – Construido con Flip Flops Memorias RAM Estáticas Registros de Desplazamiento – Registro SISO – Registro SIPO – Registro PISO Sincrónico Asincrónico Trasmisión entre Registros Contadores en anillo Generadores de Secuencias Pseudoaleatorios Ejemplos de uso de registros
Ing. Daniel Acerbi - 2020_v3
2
Generalidades
Los Registros son dispositivos electrónicos que permiten el almacenamiento temporal de información. Un ejemplo de uso puede ser los registros internos de un procesador, usados para almacenar los datos del procesamiento de la información, por ejemplo Registro de Estado, Acumuladores, Contador de programa, etc. Otro enfoque, del uso de Registros es para el teniendo en cuenta el manejo de información, en este caso un Registro se puede utilizar para convertir información serie en paralelo y viceversa. Para guardar un bit en un registro es necesario 1 Flip Flop. Generalmente los registros son construidos con Flip Flop D.
Ing. Daniel Acerbi - 2020_v3
3
Clasificación según el tipo PIPO (Ent. Paralelo- Sal. Paralelo)
Paralelos
SIPO (Ent. Serie- Sal. Paralelo) Registros
Serie o de Desplazamiento
SISO (Ent. Serie- Sal. Serie)
Sincro.
PISO (Ent. Paralelo- Sal. Serie) Asincro.
Ing. Daniel Acerbi - 2020_v3
4
Registro PIPO
Este Registro maneja información Paralela . El registro PIPO carga los datos de forma paralela y los saca de la misma manera . Puede ser construido con : – Latch D – Flip Flop D
Ing. Daniel Acerbi - 2020_v3
5
Registro PIPO construido con Latch
Ejemplo de un registro de 4 bits, construido con Latch D. D0
D
Q
Q0
Q
Q1
•El Registro almacenará un dato cuando la señal PL valga 1 y si vale 0 lo retendrá .
Q2
•El tiempo de demora en cargar un dato es igual a la demora de un latch
Q3
PL = Paralell load, carga paralelo
LE
D1
D LE
D2
D
Q
LE
PL
D3
D
Q
LE
Ing. Daniel Acerbi - 2020_v3
6
74HC373 – Óctuple Registro, construido con Latch D transparentes y salidas 3-estados
Vcc = 2 - 6 V
Ing. Daniel Acerbi - 2020_v3
7
Registro PIPO construido con FF D
Ejemplo de un registro de 4 bits, construido con FF D .
D0
D
Q
Q0
CLK
D1
D
Q
Q1
CLK
D2
D
Q
Q2
CLK
CLK
D3
D
Q
Q3
•El Registro almacenará un dato cuando la señal de reloj pase de 1 0 y en el resto del ciclo de reloj lo retendrá . •EL tiempo de demora en cargar un dato es igual a la demora de un Flip Flop . •El inconveniente que presenta este circuito es que con cada transición de la señal del reloj de 1 0 reemplaza el dato almacenado. Habrá que modificar el circuito para que pueda retener un dato durante varios ciclos de la señal del reloj. •Tampoco este circuito es apto para conectarlo a un bus de datos .
CLK Ing. Daniel Acerbi - 2020_v3
8
Habilitación de la señal de reloj en un Registro PIPO
Para lograr que el Registro retenga un dato, deberíamos cortar la señal de reloj, mediante la señal CE ( clock enable ). Debe cuidarse que la señal CE no pase a 1 cuando la señal del reloj esta en ese estado (1), el Registro se cargaría a destiempo. El reloj se atrasa con relación al que reciben otros flip-flops sincronizados por el mismo reloj (problemas de desalineamiento del reloj o clock skew) . No es la mejor solución, aunque es la mas económica.
CE
X
CE = 0 – Retiene el dato CE = 1 – Carga dato
Ing. Daniel Acerbi - 2020_v3
Los pulsos parciales no son convenientes en ctos. Secuenciales Sincrónicos
9
Registro PIPO - Cargar y Recircular
Utilizando un Mux, puedo hacer que : – Se carga un dato en el Registro, si PE=0 – La salida recircula si PE=1, o sea reinyecto a través del mux la salida Q en la entrada D, para que la información almacenada no cambie . El circuito presenta la ventaja que la señal de reloj, no se interrumpe .
1
D0
0
1
D1
0
1
D2
0
1
PE = Paralell enable, habilitación paralelo PE
D3
0
1 M
u 0x
D
1 M
D
u 0x
1 M
u 0x
1 M
u 0x
Q
Q0
Q
Q1
CLK
CLK
D
Q
Este circuito se suele utilizar para demorar datos n pulsos de la señal de reloj
Q2
CLK
D
Q
Q3
CLK
CLK Ing. Daniel Acerbi - 2020_v3
10
Registro PIPO - Salida 3-Estados 1
Para conectar nuestro registro a un BUS, necesitamos que las salidas sean 3-Estados, por lo tanto agregaremos un buffer de ese tipo a cada una de las salidas . Si OE=0; las salidas presentan alta impedancia (Z) Si OE=1; las salidas de los FFs alcanzan las 4 salidas del circuito .
D0
1
D1
0
1
D2
0
1
D3 PE
0
0
1 M
u 0x
1 M
u 0x
1 M
u 0x
1 M
u 0x
Q0 D
Q
CLK
Q1 D
Q
CLK
D
Q
Q2
CLK
Q3 D
Q
CLK Buffer 3-estados
CLK
OE
Ing. Daniel Acerbi - 2020_v3
11
MC14076 – Cuádruple Registro PIPO con FF D, reloj común y activado por flanco ascendente; permite recircular el dato, posee salida 3-estados
12
Descripción en VHDL del Reg. PIPO
Describo el registro PIPO genérico, asignándole un tamaño de 4 bits (4 FFs). Recordar: PE : ‘0’; carga dato PE : ‘1’; recircula OE: ‘0’, Salida Z∞ OE: ‘1’, Salida Habilitada
La instrucción: QQ '0') Se utiliza para asignarle un valor a todo el vector. Ese valor puede ser ‘0’; ‘1’; ‘X’ o ‘Z’
13
Descripción en VHDL del Reg. PIPO
Diagrama temporal
Recordar: Alta impedancia
PE : ‘0’; carga dato PE : ‘1’; recircula OE: ‘0’, Salida Z∞ OE: ‘1’, Salida Habilitada Ing. Daniel Acerbi - 2020_v3
14
Descripción en VHDL del Reg. PIPO
Diagrama temporal Sobre la salida, Q se puede observar un “glich” ocasionado por la demora temporal en obtener Q(3) y Q(2)
7.7 ns
Ing. Daniel Acerbi - 2020_v3
15
Comunicación entre 2 Registros
Se muestran registros PIPO tipo latch, pero los circuitos correspondientes a los registros sincrónicos son similares. El circuito (a) sólo permite transferir de uno de los circuitos al otro y lo hace mediante un bus unidireccional. El circuito (b) permite transferir de cualquiera de ellos al otro, e incorporar más registros a la comunicación con sólo conectarlos al mismo bus. Origina bus bidireccionales.
Bus unidireccional
Bus bidireccional 16
Comunicación entre Registros
Los contenidos de cualquiera de los registros (operativos) pueden sumarse, y el resultado ser guardado en otro registro (o en el registro cuyo contenido se transfirió al registro auxiliar).
Registros operativos
Ing. Daniel Acerbi - 2020_v3
17
Memoria RAM
Son memorias en las que se puede leer y escribir un dato en tiempos de accesos similares. Son volátiles (las PROM no lo son); si corto la alimentación la memoria RAM pierde los datos. Su nombre proviene de Random Access Memory, por oposición a las Sequential Access Memories como las cintas magnéticas, DVD, etc. El término RAM se usa como opuesto a ROM, pero las PROM son también RAM (excepto las Flash NAND). Más correcto sería denominarlas Memorias de lectura y escritura. Se las clasifica en : – - Dinámicas (DRAM) (ya hemos visto su principio de funcionamiento). – - Estáticas (SRAM) – vamos a enunciar sus características en esta parte de la guía. Ing. Daniel Acerbi - 2020_v3
18
Clasificación de las Memorias RAM
Las memorias RAM se clasifican, según el siguiente cuadro: Celda Básica Celda Básica
El estudio de las memorias dinámicas y las SRAM sincrónicas corresponden a Técnicas Digitales II y III. Se observa que la memoria dinámica ocupa menos espacio en el silicio y también consume menos energía frente a la ASRAM (RAM estática asincrónica). Ing. Daniel Acerbi - 2020_v3
19
Matriz Básica de SRAM
El Bus de salida de datos es tipicamente bidireccional y 3-estados
Utilizando BUS direccionales en la entrada y salida de datos, se disminuye el numero de pines de la memoria. Todas las salidas son 3-estados 20
Memorias RAM Estáticas - SRAM
Son bancos grandes de registros realizados con latches transparentes o FFs para las mas modernas. Poseen un terminal de control que permite escribir o leer dicha memoria (WE). Poseen una o varias entradas de Selector de chip (CS) y de habilitación de salida (OE) Estructura básica de un banco de registros:
21
Banco de Registros ( node pad ) - 4 X 3
WE = Write Enable. WE = 0, Escritura Inhabilitada WE = 1, Escribe
Ing. Daniel Acerbi - 2020_v3
22
SRAM Estándar
Hay una gran oferta de tamaños y velocidades. Los tiempos de acceso, para lectura y escritura están por debajo de los 10 ns .
23
Registros de Desplazamiento
Ing. Daniel Acerbi - 2020_v3
24
Registro de Desplazamiento - SISO
Entrada Serie ( SI ), Salida Serie ( SO) También se los denomina Shift Register
Entrada
Salida Cargo un dato con 4 pulsos de reloj . Descargo un dato con 3 pulsos de reloj 25
Descripción en VHDL de un Registro SISO
Realizamos la descripción utilizando un Process y una concatenación de un vector. SI
Q3
Q3
Ing. Daniel Acerbi - 2020_v3
Q1
Q2
Q2
S0
Q1
Q0
26
Diagramas temporales
Simulación temporal
Reset
Carga y desplazamiento del registro
Reset
Ing. Daniel Acerbi - 2020_v3
27
Diagramas temporales
Tiempo de demora
Tiempo de demora = 608,4 ns TCLK = 200 ns
28
Registro Bimodo Retener y Desplazar
El circuito anterior, presenta la dificultad que no permite retener un datos, en el registro, ya que con cada pulso de reloj que llegue el dato se desplazará . Para solucionar esto utilizo un MUX, para realizar un circuito que me permita recircular un bit en cada FF, esta función la comando con una señal M .
M=0, Desplazo el dato M=1, Retengo ( el dato que se encuentra en la salida Q del FF, lo vuelvo a colocar en su entrada ), puedo usar esta forma para demorar un dato Ing. Daniel Acerbi - 2020_v3
29
Registro Bidireccional
Este registro me permite mover datos de izquierda a derecha o viceversa, una señal M controla la dirección del dato .
M=0, Desplazo el dato de izquierda a derecha ( In=SIR; Out=SOR ) M=1, Desplazo el dato de derecha a izquierda ( In=SIL; Out=SOL )
Ing. Daniel Acerbi - 2020_v3
30
Registro SIPO
En este registro los datos entran en serie (SI) y salen en paralelo (PO) . Se lo puede considerar bimodo, dependiendo de donde tome las salidas, es SIPO y SISO ( si tomo por salida Q3 ) Se los puede utilizar para : – Convertir información de serie a paralelo – Detector de secuencia o de palabras; se logra con el agregado de escasa lógica adicional .
Entrada
Salidas
Descripción de un registro SIPO
Ing. Daniel Acerbi - 2020_v3
32
Detector de secuencia con Registro SIPO
Implementar un detector de secuencias utilizando un registro SIPO. La secuencia a detectar es 10111, el primer bit en ingresar al circuito es el menos significativo, los datos de la secuencia entran sincronizados con el pulso de clock. b) Implementarlo con un 74HC164 y escasa lógica adicional. 74HC164
Ing. Daniel Acerbi - 2020_v3
33
Solución IN CLK Vcc
Reset
Z
El CI 74LS164 es un registro con doble funcionalidad puede ser un registro SISO y SIPO (uso dado en este ejemplo) Ing. Daniel Acerbi - 2020_v3
34
Descripción de un detector de secuencia utilizando registro SIPO
La secuencia a detectar es 10111, entrando el menos significativo primero. Utilizo para el disparo flanco descendente (CLK'event and CLK = '0’).
También se podría haber descripto mediante el diagrama de estados y transiciones. Este último método es mas apropiado. 35
Descripción de un detector de secuencia utilizando registro SIPO
Descripción temporal:
Secuencia
Bit compartido por 2 secuencias
Secuencia
Secuencia
Actúa el Reset asincrónico (CL)
Ing. Daniel Acerbi - 2020_v3
36
Registros PISO
Los registros PISO, cargan los datos de forma paralela (PI) y lo descargan en serie (SO) . Se los utilizan para convertir información de Paralelo a Serie . Los registros los podemos caracterizar por como carga los datos. Hay 2 tipos de registros PISO : – De carga sincrónica – De carga asincrónica
Ing. Daniel Acerbi - 2020_v3
37
Registro PISO de carga sincrónica paralelo
La señal PE (carga paralelo), permite cargar un dato sincrónicamente o desplazarlo . Este registro es también bimodo, tiene tanto entrada serie como entrada paralelo. Tiene salida serie y para tener salida paralelo, sólo le falta que desde el exterior se tenga acceso a todos los Q
PE= 0 desplaza los datos hacia la derecha PE= 1 carga datos sincrónicamente ( D0; D1; D2; D3 ) Ing. Daniel Acerbi - 2020_v3
38
Descripción en VHDL de un Registro PISO Sincrónico
La señal de “carga paralelo” (PE) permite cargar un dato paralelo “D” (PE=1) y sacarlo por la salida Q si PE=‘0’. Conversor Paralelo / Serie
39
Diagramas temporales del Reg. PISO Sinc.
Simulación temporal:
PE=‘1’ carga dato (1000); PE=‘0’ desplaza
PE=‘1’ carga dato (1100); PE=‘0’ desplaza
PE=‘1’ carga dato (1110); PE=‘0’ desplaza
Ing. Daniel Acerbi - 2020_v3
Reset asincrónico
40
MC14035 - Registro Sincrónico PISO, PIPO, SIPO (4 bits) Si J y K se conectan juntos , el 1er. flip flop se convierte en D T/C = '0' > Salidas invertidas. T/C = '1' > Salidas no invertidas T/C = Entrada asincrónica P/S = '0' > Modo serie P/S = '1' > Carga Paralelo Dp (0:3) = Entradas Paralelo Q (3:0) = Saludas Paralelos Q3 = Salida Serie /MR = Reset VDD = 3 a 15 V; fmax = 10 MHz, VDD 15 V
41
MC14035 - Como Registro Bidireccional
Se pueden ver en el esquema como se conecta este registro para que se comporte como un Registro Bidireccional.
'0' Ing. Daniel Acerbi - 2020_v3
42
Registro PISO con carga asincrónica
Módulo que me va a permitir cargar un dato en forma asincrónica . El dato entra por las entradas de fuerza . Existirá un módulo por cada Flip Flop del Registro .
Habilitación
D0
Dato a cargar
PS
Flip Flop siguiente
E
Flip Flop anterior
Q
D
E=0 No carga - Desplaza E=1 Carga Dato
CL
Ing. Daniel Acerbi - 2020_v3
43
Registro PISO carga paralelo asincrónica – 74HC165
Es un registro de 8 bits con carga paralelo de datos asincrónica o entrada serie sincrónica con salida serie complementaria (QH y QH). VDD = 2 a 6 V fmax = 29 MHz, 6 V fmax = 5 MHz, 2 V
Ing. Daniel Acerbi - 2020_v3
44
74HC165 – Diagrama lógico Salida Serie
Este circuito tiene la particularidad de poseer una entrada que anula la señal del reloj
La carga paralela de datos es asincrónica, reg. PISO (A:H) Por la entrada de “SER” entran datos en serie, registro SISO Ing. Daniel Acerbi - 2020_v3
45
Ejemplo de diagrama temporal del 74HC165
Ing. Daniel Acerbi - 2020_v3
46
Registro Universal - MC14194
Es aquél que tiene entrada y salida serie, salida paralelo (la que incluye la salida serie), y 4 modos de operación sincrónicos – Desplazamiento a derecha – Desplazamiento a izquierda – Retención – Entrada (carga) paralelo Analizaremos el MC14194 Tecnología CMOS; VDD 3 a 15 V Reloj responde a Flanco Ascendente
Ing. Daniel Acerbi - 2020_v3
47
MC14194; 4-bit Universal Shift Register - CMOS Entradas serie: DSR, DSL Entradas paralelo: Dp (0:3) Salidas Paralelo: Q0, Q1, Q2, Q3 Entradas de Control : S0, S1
Utilizo esta entrada para realizar el reset asincrónico (/R), pone a 0 a todos los QX, en el encendido
Clock: Flanco Ascendente Ing. Daniel Acerbi - 2020_v3
48
Circuito interno - MC14194
49
Descripción en VHDL
Modo => S1S0
Ing. Daniel Acerbi - 2020_v3
50
Diagramas temporales
S1 S0 = 00 >> Retengo dato S1 S0 = 01 >> Desplazo derecha
Cargo dato (11)
S1 S0 = 10 >> Desplazo izquierda
Desplazo derecha (01)
Desplazo izquierda (10)
Retengo (00)
Cargo dato (11)
S1 S0 = 11 >> Cargo dato // (Rp0:3) Ing. Daniel Acerbi - 202...