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

Hecho por el Prof Pedro Landaeta.

Prof Jubilado de la UPT de Aragua y Aspirante a MSc en la


UCV - Venezuela. Material Introductorio de FPGA, Noviembre 2018

Estudio de los Registros usando FPGA

Introducción
La siguiente investigación se realiza con el fin de seguir reforzando el proyecto de trabajo de grado
de maestría construcción de módulo de enseñanza de electrónica digital usando FPGA. El tema que
toca ahora es Registros de Desplazamiento o Shift Register y fue seleccionado después de una
preselección de temas hechos en base a la secuencia lógica que debería proseguir.

Diagrama que esboza todos los posibles temas a estudiar

Después de haber desarrollado el tema de los Flip – Flops y el de CONTADORES se eligió el de


Registros para continuar con la secuencia lógica de la investigación. Como este material se piensa sea
didáctico se habla de todos los aspectos relacionados con el tema, aunque al final se termine teniendo
una serie de líneas de código que pareciera que no dicen nada pero, si entendemos lo básico seguro se
llega a entender más rápido la codificación. Por ejemplo, estar claros que un Registro es síncrono y
necesita un reloj (clk  de Clock, reloj en Inglés) sirve para entender la codificación del clock en
VHDL if (clock = ‘1’ and clock ‘event) then y también la del proceso en la descripción VHDL, ésta
se hace así process(clk, reset, shift_load) lo que quiere decir que cualquier cambio en estas palabras
claves ocurre una acción en la descripción. Estas líneas de comando se encuentran en todas las
descripciones de VHDL correspondiente a Registros Digitales.
En base a lo anterior, esta investigación arranca con el concepto de Registros digitales, luego se
coloca el circuito integrado (IC) comercial TTL o CMOS con el que se construye dicho registro, luego
vienen las descripciones en VHDL, su RTL y la simulación en QUARTUS II.
Hecho por el Prof Pedro Landaeta. Prof Jubilado de la UPT de Aragua y Aspirante a MSc en la
UCV - Venezuela. Material Introductorio de FPGA, Noviembre 2018

La siguiente figura resalta todos los aspectos que serán tocados en la investigación. Les informo
que a partir de ahora en los siguientes trabajos las simulaciones de electrónica digital se harán en

Diagrama que esboza los temas relacionados a Registros digitales

investigaciones separadas debido a la especialización y profundidad que se puede llegar a tener con los
softwares actuales. Por ejemplo LOGISIM y el Simulador de Construcción de Circuitos Digitales, son
muy completos y vale la pena dedicar más espacio a estos desarrollos. Un punto importante a partir de
ahora es que se comienza a mencionar y se trabajará con más profundidad para las siguientes
investigaciones son los llamados Diagramas de Estados. Como se ve, llegar a lo que parece lo más
importante como FPGA – VHDL lleva su tiempo y hay obligatoriamente que tocar muchos puntos y
aclarar muchos aspectos antes de establecer la codificación en VHDL.
Después de hablar lo básico de Registros y mostrar los aspectos más relevantes viene la codificación
del registro en VHDL. A cada codificación le sigue la síntesis y el RTL, que es el hardware producto
del proceso de síntesis, dado por el software Quartus II. El siguiente diagrama muestra los aspectos de
interés obtenidos con el Quartus II

Diagrama que esboza las cosas que se pueden hacer con el software Quartus II

Se cierra la investigación con las conclusiones y las referencias de Internet.

Pedro Landaeta
Landaeta Pedro
Prof Jubilado de la uPT de aragua “fbf”
2463

NOVIEMbre 2018
Hecho por el Prof Pedro Landaeta. Prof Jubilado de la UPT de Aragua y Aspirante a MSc en la
UCV - Venezuela. Material Introductorio de FPGA, Noviembre 2018

Concepto de Registros Digitales


Son dispositivos digitales donde se obtiene almacenamiento temporal. Dado que la memoria y el
desplazamiento de información son sus características básicas, los registros son circuitos secuenciales
constituidos por Flip-Flops (FF), donde cada uno de ellos maneja un bit de la palabra binaria. Muchos
registros usan FF tipo D aunque también es común el uso de FF JK. Son muy populares los de 8 bits,
ya que en los computadores con frecuencia manipulan bytes de información

Registros de Desplazamiento
Un registro de desplazamiento o corrimiento es un conjunto de FF conectados de tal forma que los
números binarios almacenados en él son desplazados de un FF al siguiente con cada pulso de reloj
aplicado. En la figura 1 se muestran todas las posibilidades existentes para construir registros de
corrimiento. En la figura se observa que los datos se mueven hacia la derecha, pero también existen
registros de desplazamiento que mueven sus datos hacia la izquierda y, también existen los
bidireccionales.

Figura 1.- Figura que refleja todos los tipos de registros de desplazamiento existentes

En la figura 2. Se observa la forma de conectar 4 FF tipo D para construir un registro. Note como la
salida de un FF se conecta a la entrada de otro adyacente.

Figura 2.- Construcción de Registro básico


Hecho por el Prof Pedro Landaeta. Prof Jubilado de la UPT de Aragua y Aspirante a MSc en la
UCV - Venezuela. Material Introductorio de FPGA, Noviembre 2018

Comentando la figura 2 se puede decir que corresponde a un registro de desplazamiento donde los
datos se cargan en Serie y tienen la salida en Paralelo. Se conocen como Registros SIPO……de Serial
Input – Parallel Output.
Hay otros casos en que

los datos se pueden cargar en serie y tener la salida también en serie, existen entonces los registros
SISO. Así también se tienen los registros PISO y los PIPO. Todos ellos pueden desplazar sus datos a
la derecha, izquierda o ser bidireccionales. La cantidad de bits lo dará la cantidad de Flip – Flops que
pueda tener en su interior el Circuito Integrado (IC). Si los registros se construyen con FPGA
prácticamente no hay límites en la cantidad de bits que posea el registro ya que las FPGA poseen
normalmente miles de Flips – Flops (FF) en su interior. Por ejemplo la que se está usando en esta
investigación posee 4068 FF.

Registros digitales en circuito Integrado (IC)


Aquí se muestran los Registros TTL y los CMOS, una pequeña muestra.
En el mercado existen actualmente varios circuitos integrados que desempeñan su función como
registros, en esta sección se mencionarán algunos de estos registros disponibles en lógica TTL y
CMOS.
Circuito Integrado 74HC373
Este integrado contiene en su interior 8 Cerrojos o
Latches tipo D con salidas triestado. En la figura 3 se
observa el PINOUT. La descripción de sus entradas y
salidas es la siguiente:
 D0...D7: Entrada paralelo
 Q0...Q7: Salida paralelo
 LE: Latch Enable
 OE: Output Enable

Circuito Integrado 74HC374


Este integrado contiene 8 Flip-Flops (FF)
tipo D con salidas triestado sensibles al
flanco de subida de la señal del Reloj. En la
figura 4 se observa el PINOUT de este
registro y su diferencia con el anterior
Circuito Integrado es que este contiene FF.

Ya que lo más común en un registro de


desplazamiento es que existan en cascada una serie de FFD, el IC 74HC374 es ideal porque posee 8
FFD en su interior. Su aplicación en registros y en la construcción de memorias es rápida y sencilla. EL
IC 74HC373 es exactamente igual con la diferencia de que en su interior posee LATCHES. Entonces
uno se habilita por flanco de CK y el otro por nivel.
Hecho por el Prof Pedro Landaeta. Prof Jubilado de la UPT de Aragua y Aspirante a MSc en la
UCV - Venezuela. Material Introductorio de FPGA, Noviembre 2018

A diferencia de los dos IC anteriores los fabricantes ofrecen circuitos integrados específicos para ser
registros de desplazamiento. El que se estudiará a continuación es un registro de desplazamiento
universal. El símbolo lógico para el registro de desplazamiento /universal de 4 bits, TTL 74194 se
muestra en la figura 5.
Este registro tiene 10 entradas y 4 salidas; estas últimas están conectadas a las salidas normales (Q) de
cada Flip Flop en el circuito integrado.

Figura 5.- Registro de desplazamiento TTL 74194

El 74194 es un registro universal de desplazamiento bidireccional de 4 bits con una muy alta velocidad
de operación y un bajo consumo de energía, cuenta con cuatro entradas paralelas (A,B,C y D) y cuatro
salidas en paralelo (Q1, Q2, Q3 y Q4), una entrada serial para desplazamientos hacia la derecha y otra
hacia la izquierda, un nivel bajo activa la entrada para borrado (clear), entrada de señal de reloj y dos
entradas (S0 y S1) para seleccionar uno de los cuatro modos diferentes de operación del integrado, es
decir si se desea operar como registro de desplazamiento PIPO, PISO (Entrada Paralelo-Salida Serie),
SISO (Entrada Serie-Salida Serie) con desplazamiento hacia la
izquierda, SISO (Entrada Serie-Salida Serie) con desplazamiento
hacia la derecha o SIPO (Entrada Serie-Salida Paralelo).

Los fabricantes de circuitos integrados disponen de gran variedad


de registros de desplazamiento CMOS.
El que se estudiará a continuación es el IC 74HC164 es un
registro de desplazamiento de 8 bits entrada serie salida paralelo.
El diagrama en bloques para el registro de desplazamiento CMOS
74HC164 se muestra en la figura 6, este IC viene encapsulado en
forma de DIP de 14 patillas, trabaja con una fuente de
alimentación de +5V DC y opera disparado con flanco de reloj y solo permite la entrada de datos serie.

Contenido tomado de las siguientes direcciones web:


https://es.scribd.com/doc/125964598/74194
http://www.ladelec.com/teoria/electronica-digital/395-registros-de-desplazamiento-ttl-y-cmos
https://electrouni.files.wordpress.com/2010/08/registros.pdf
Hecho por el Prof Pedro Landaeta. Prof Jubilado de la UPT de Aragua y Aspirante a MSc en la
UCV - Venezuela. Material Introductorio de FPGA, Noviembre 2018

Aplicación de los Registros Digitales


a) Retardo de tiempo
b) Memorias
c) Computadoras
d) Microprocesadores

Otros Circuitos de Registros Digitales


Contadores Digitales que se basan en Registros de desplazamiento
El primero es un contador en anillo llamado contador Johnson, el cual tiene un funcionamiento
similar al contador en anillo, con la diferencia que el estado del último biestable se realimenta al
primero a través de un inversor. En al siguiente figura se observa el diagrama lógico de este contador.

Figura 7.- Contador Johnson de 4 bits

Aplicación del Contador Johnson

Esta aplicación demuestra el uso de este


contador ya que la flecha de la figura 8 se estará
desplazando todo el tiempo mientras el circuito
este alimentado. Importante para señalizaciones o
para adornos.
En ésta dirección se encuentra el video
https://www.youtube.com/watch?v=b0vf-8SZ0lI

Figura 8.-Aplicación del Contador Johnson


Hecho por el Prof Pedro Landaeta. Prof Jubilado de la UPT de Aragua y Aspirante a MSc en la
UCV - Venezuela. Material Introductorio de FPGA, Noviembre 2018

https://www.ecured.cu/Contador_en_anillo
https://allaboutfpga.com/vhdl-code-4-bit-ring-johnson-counter/

Contador de Anillo Constituye un registro de desplazamiento en el cual la entrada del 1er FF


está condicionada por la salida del ultimo, constituyendo así una cadena cerrada.
La información introducida inicialmente circula permanentemente por los biestables sin perderse. En
vez de ello la información rota debido a que los biestables de los extremos se encuentran
interconectados, de tal forma que los datos se desplazan en forma de anillo.
Hecho por el Prof Pedro Landaeta. Prof Jubilado de la UPT de Aragua y Aspirante a MSc en la
UCV - Venezuela. Material Introductorio de FPGA, Noviembre 2018

A continuación se presenta el código VHDL (VHDL code) para el contador de Anillo


(Ring Counter)

https://www.ecured.cu/Contador_en_anillo
https://allaboutfpga.com/vhdl-code-4-bit-ring-johnson-counter/
Hecho por el Prof Pedro Landaeta. Prof Jubilado de la UPT de Aragua y Aspirante a MSc en la
UCV - Venezuela. Material Introductorio de FPGA, Noviembre 2018

Código de los diferentes Registros usando VHDL


Descripciones en VHDL
A continuación se muestra el listado de contadores hechos usando VHDL. Los ejemplos serán
tomados de varias fuentes, entre los cuales está 1) El Texto: Introducción a los sistemas digitales.
Un enfoque usando lenguajes de descripción de hardware. Autor: José Daniel Muñoz Frías
Esta obra está bajo una licencia de Reconocimiento – No comercial – Compartir bajo la misma licencia
2.5 España de Creative Commons.
https://openlibra.com/es/book/introduccion-a-los-sistemas-digitales
La siguiente dirección tiene un universo de posibilidades para conseguir libros con licencias libres
https://openlibra.com/es/

2) Otra fuente son los videos del Prof Carlos Fajardo. Universidad Industrial de Santander –
Colombia. La siguiente dirección web los llevará al video de Registros y Contadores digitales
https://www.youtube.com/watch?v=vTmBuR-JgvM
Nota: Reconocimiento al prof Carlos Fajardo de la Universidad Industrial de Santander. Ya que con sus
videos he aprendido muchos detalles y técnicas para trabajar con VHDL.

Figura 9.- Estructura de un circuito secuencial síncrono

Primer ejemplo
Registro de 1 bit

Figura 10.- Diagrama del hardware que se desea describir en HDL


Hecho por el Prof Pedro Landaeta. Prof Jubilado de la UPT de Aragua y Aspirante a MSc en la
UCV - Venezuela. Material Introductorio de FPGA, Noviembre 2018

Figura 11.- Descripción en VHDL del hardware del Primer Ejemplo

Figura 12: Resultado de la síntesis del circuito.

Figura 13.- Señales de salida para el registro básico


Hecho por el Prof Pedro Landaeta. Prof Jubilado de la UPT de Aragua y Aspirante a MSc en la
UCV - Venezuela. Material Introductorio de FPGA, Noviembre 2018

Segundo ejemplo
Registro de corrimiento entrada paralelo y salida en paralelo

Figura 14.- Diagrama del hardware que se desea describir en HDL

Figura 15.- Descripción en VHDL del hardware del segundo Ejemplo

Figura 16.- Resultado de la síntesis del circuito Registro Entrada y salida Paralelo
Hecho por el Prof Pedro Landaeta. Prof Jubilado de la UPT de Aragua y Aspirante a MSc en la
UCV - Venezuela. Material Introductorio de FPGA, Noviembre 2018

Figura 17.- Señales de salida para cada bit del Registro


Hecho por el Prof Pedro Landaeta. Prof Jubilado de la UPT de Aragua y Aspirante a MSc en la
UCV - Venezuela. Material Introductorio de FPGA, Noviembre 2018

Tercer ejemplo
Registro de corrimiento entrada serie y salida en paralelo

Figura 18.- Diagrama del hardware que se desea describir en HDL

Figura 19.- Descripción en VHDL del hardware del Tercer Ejemplo


Hecho por el Prof Pedro Landaeta. Prof Jubilado de la UPT de Aragua y Aspirante a MSc en la
UCV - Venezuela. Material Introductorio de FPGA, Noviembre 2018

Figura 20.- Síntesis del circuito Registro Entrada Serie y salida Paralelo

Figura 21.- Señales de salida para cada Flip Flop (FF) del registro
Hecho por el Prof Pedro Landaeta. Prof Jubilado de la UPT de Aragua y Aspirante a MSc en la
UCV - Venezuela. Material Introductorio de FPGA, Noviembre 2018

Cuarto ejemplo
Registro de desplazamiento entrada serie y salida serie

Figura 22.- Diagrama del hardware que se desea describir en HDL

Figura 23.- Descripción en VHDL del hardware del Cuarto Ejemplo


Hecho por el Prof Pedro Landaeta. Prof Jubilado de la UPT de Aragua y Aspirante a MSc en la
UCV - Venezuela. Material Introductorio de FPGA, Noviembre 2018

Figura 24.- Síntesis del circuito Registro Entrada Serie y salida Serie

Figura 25.- Señales de salida registro serie - serie

Figura 26.- Señales de salida del registro serie – serie con un nuevo T de entrada
Hecho por el Prof Pedro Landaeta. Prof Jubilado de la UPT de Aragua y Aspirante a MSc en la
UCV - Venezuela. Material Introductorio de FPGA, Noviembre 2018

Quinto ejemplo
Registro de desplazamiento entrada Paralelo y salida serie

Figura 27.-
Diagrama del hardware que
se desea describir en HDL

Figura 28.- Descripción en VHDL del hardware del registro PISO


Hecho por el Prof Pedro Landaeta. Prof Jubilado de la UPT de Aragua y Aspirante a MSc en la
UCV - Venezuela. Material Introductorio de FPGA, Noviembre 2018

Figura 29.- Síntesis del circuito Registro Entrada Paralelo y salida Serie

Figura 30.- Señales de salida del registro paralelo – serie (PISO)

Figura 31.- Salida del registro PISO con Variación del tiempo de Shift - Load
Hecho por el Prof Pedro Landaeta. Prof Jubilado de la UPT de Aragua y Aspirante a MSc en la
UCV - Venezuela. Material Introductorio de FPGA, Noviembre 2018

Figura 32.- Salida del registro PISO con Variación del tiempo de Shift - Load

Para después: Registros de desplazamiento bidireccionales


Hecho por el Prof Pedro Landaeta. Prof Jubilado de la UPT de Aragua y Aspirante a MSc en la
UCV - Venezuela. Material Introductorio de FPGA, Noviembre 2018

Diagrama de Estado: Este muestra la secuencia de estados por los que pasa bien un caso de uso,
un objeto a lo largo de su vida, o bien todo el sistema. Es una forma de representación gráfica más
intuitiva de los autómatas finitos basadas en dígrafos con arcos acotados llamados transiciones en los
cuales se ponen los símbolos de tránsito entre un vértice (estado) y otro y se identifican los estados de
partida y los de aceptación del resto. Los diagramas de estados finitos son también representaciones
más cómodas para su elaboración, legibilidad y comprensión de distintos tipos de abstracciones
computacionales de reconocimiento
como los autómatas de pila y las
máquinas de Turing.
Páginas web de referencias
https://www.ecured.cu/Diagrama_d
e_estado

https://es.slideshare.net/faurbano/di
seo-de-circuitos-secuenciales

La figura 33 se explica por sí


sola, y corresponde a un circuito
secuencial. No debe confundirse los
diagramas de estados que se quieren
estudiar en esta guía y en las
venideras con los diagramas de estado correspondiente a UML. Tienen el mismo nombre pero su
aplicación y forma tienen otro rumbo y finalidad.

En Conclusión
1) Hay varios tipos de Registros de desplazamiento, por la variedad de formas de cargar
los datos y su forma variante de poder obtener la salida ya sea en formato serie o
paralelo. Todos los registros son síncronos. Tienen como punto de partida los Flip –
Flops (FF). Los registros se pueden construir a base de FF, que vienen en IC o
comprarlos ya convertidos en IC comerciales más especializados.
2) A nivel de software se van a construir los Registros usando VHDL. Ese programa o
descripción que es la forma correcta de hablar en el mundo de las FPGAs se inserta en
el chip FPGA y se tiene un Registro construido a base de códigos.
3) A todos los Registros les hace falta un reloj para darle su sincronismo. Este reloj se
puede construir en base a IC 555 ó a cristales de cuarzo
4) Los registros que se pueden diseñar con FPGA puede ser de 32 bits, 64 bits ó mayor ya
que con las FPGAs se puede contar con una cantidad muy alta de Flip – Flops, la
CYCLONE II de INTEL FPGA cuenta internamente con 4068 FF, y esta es la de
menor capacidad.
Hecho por el Prof Pedro Landaeta. Prof Jubilado de la UPT de Aragua y Aspirante a MSc en la
UCV - Venezuela. Material Introductorio de FPGA, Noviembre 2018

COMENTARIO
Con respecto a las descripciones VHDL realizadas en cada tipo de registro de desplazamiento se
puede decir que está realizado cada ejemplo sin mayor explicaciones ya que como siempre digo en
cada una de las entregas anteriores que ya he hecho estoy en etapa de aprendizaje y solamente el hecho
de lograr la meta pautada en cada trabajo me es suficiente. Luego en otras investigaciones posteriores
se profundizará en cada tema.
Lo importante aquí es que cada ejemplo funciona correctamente y cada uno está bien sustentado.

Por ejemplo el libro de Pong Chu cuya imagen de la


portada se presenta a la izquierda es referencia vital para
entender la base del hardware de los sistemas secuenciales a
los que se les va a aplicar una descripción en VHDL.

Espero con este material haber aportado a los interesados en conocer el tema de FPGA y VHDL

Seguimos en contacto

landaetabiz@gmail.com Ing Pedro Landaeta

LinkedIn https://www.linkedin.com/in/pedro-landaeta-17a7bb60/ Prof Jubilado con más de 25 años de


servicio en la Universidad Politécnica Territorial del Estado Aragua “FBF”
Hecho por el Prof Pedro Landaeta. Prof Jubilado de la UPT de Aragua y Aspirante a MSc en la
UCV - Venezuela. Material Introductorio de FPGA, Noviembre 2018

REFERENCIAS DE Internet
Láminas de Power Point correspondientes a descripciones en VHDL de registros de Desplazamiento
https://vdocuments.mx/registros-de-desplazamiento-56cc365a75e91.html
Estas láminas fueron hechas en Universidad Industrial de Santander – Colombia. Colocado
en Internet en Febrero de 2016

Esta página pertenece al prof Miguel Angel Perez Solano. Prof del Tecnologico Nacional de México
http://solano.orgfree.com/

Libro: Introducción a la Programación en VHDL


https://eprints.ucm.es/26200/1/intro_VHDL.pdf
Licencia copyleft

Descripción en VHDL de los contadores Johnson y de Anillo


https://allaboutfpga.com/vhdl-code-4-bit-ring-johnson-counter/

Tutorial de circuitos secuenciales


https://www.electronics-tutorials.ws/sequential/seq_5.html

Registros
Trabajo sobre el registro de desplazamiento universal 74194
https://es.scribd.com/doc/125964598/74194

LADELEC – Empresa Colombiana dedicada a dictar cursos y asesoría en electrónica


http://www.ladelec.com/teoria/electronica-digital/395-registros-de-desplazamiento-ttl-y-cmos

Universidad Nacional de Ingeniería - Nicaragua


https://electrouni.files.wordpress.com/2010/08/registros.pdf

Dirección web que contiene un pdf muy bueno en su explicación de registros en IC


http://solano.orgfree.com/DISE%D1O%20DIGITAL%20CON%20VHDL/Registros.pdf

Teoría básica de los contadores Johnson y de Anillo


https://www.ecured.cu/Archivo:ConJJ.jpg

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