Uploaded by Luis Castañeda

Manual de Diseño de Sistemas Digitales ed 2019

advertisement
MANUAL DE PRÁCTICAS
DE
DISEÑO DE SISTEMAS DIGITALES
Julio de 2019
Nombre
Brigada
Día
Nombre del instructor
Laboratorio de Diseño de Sistemas Digitales
Hora
UASLP-FI
Laboratorio de Diseño de Sistemas Digitales
ii
UASLP-FI
Primera edición
Julio de 2012
Dr. Homero Miranda Vidales
Ing. Alfredo Arriaga Contreras
Diego Abraham Marín Pachicano
Segunda edición
Noviembre de 2013
Dr. Homero Miranda Vidales
Ing. Alfredo Arriaga Contreras
Diego Abraham Marín Pachicano
Tercera edición
Julio de 2019
LE Efraín Agundis Flores
Laboratorio de Diseño de Sistemas Digitales
iii
FI, UASLP
Reglamento, funciones y procedimientos
Índice
Contenido
MANUAL DE PRÁCTICAS DE ...................................................................................... i
Índice ............................................................................................................................................... iv
REGLAMENTO, FUNCIONES Y PROCEDIMIENTOS ................................................. vi
NORMAS DE SEGURIDAD EN EL LABORATORIO DE MECATRÓNICA. ..................... x
COMPUERTAS LÓGICAS (DEM) ................................................................................. 1
Práctica 1 .......................................................................................................................................... 1
ENTRADAS/SALIDAS BÁSICAS EN EL FPGA (DEM) ................................................. 5
Práctica 2 ......................................................................................................................................... 5
FUNCIONES LÓGICAS EN VHDL (DEM) .................................................................. 9
Práctica 3 ......................................................................................................................................... 9
CONVERTIDORES DE CÓDIGOS (DEM) .................................................................. 15
Práctica 4 ....................................................................................................................................... 15
CONVERTIDOR DE CÓDIGO BCD A SIETE SEGMENTOS (DEM) .............................. 19
Práctica 5 ....................................................................................................................................... 19
MULTIPLEXOR Y DEMULTIPLEXOR EN VHDL (DEM) ........................................... 23
Práctica 6 ....................................................................................................................................... 23
UNIDAD LÓGICA ARITMÉTICA (DEM).................................................................... 27
Práctica 7 ....................................................................................................................................... 27
GENERADORES DE SEÑALES DE RELOJ Y FLIP-FLOPS (DEM)............................... 31
Práctica 8 ....................................................................................................................................... 31
DISEÑO DE UN CONTADOR SÍNCRONO MEDIANTE FLIP-FLOPS (DEM) ................35
Práctica 9 ....................................................................................................................................... 35
CONTADOR ASCENDENTE MÓDULO 10 (DEM) ...................................................... 39
Práctica 10...................................................................................................................................... 39
CONTADOR ASCENDENTE DESCENDENTE (DEM) ................................................. 43
Práctica 11 ...................................................................................................................................... 43
REGISTROS DE CORRIMIENTO EN VHDL (DEM) ....................................................47
Práctica 12 ...................................................................................................................................... 47
DISEÑO DE UNA MEMORIA RAM EN VHDL (DEM) ................................................. 51
Práctica 13 ...................................................................................................................................... 51
MÁQUINAS DE ESTADO FINITO (DEM) ..................................................................55
Práctica 14...................................................................................................................................... 55
CONTROL DE MÁQUINA EXPENDEDORA MEDIANTE FSM EN VHDL (DEM)........ 59
Laboratorio de Diseño de Sistemas Digitales
iv
FI, UASLP
Reglamento, funciones y procedimientos
Práctica 15 ...................................................................................................................................... 59
CONTROL DE UN MOTOR A PASOS MEDIANTE FSM EN VHDL (DEM) ................. 63
Práctica 16...................................................................................................................................... 63
ESPECIFICACIONES DE LA TARJETA DE DESARROLLO NEXYSTM 3 ...................... 69
Anexo A .......................................................................................................................................... 69
Compendio extraído de Nexys 3 Reference Manual
https://reference.digilentinc.com/reference/programmable-logic/nexys-3/reference-manual69
TUTORIAL VHDL ..................................................................................................... 75
Anexo B .......................................................................................................................................... 75
MULTIVIBRADORES BIESTABLES ......................................................................... 89
Anexo C...........................................................................................................................................89
Laboratorio de Diseño de Sistemas Digitales
v
FI, UASLP
Reglamento, funciones y procedimientos
REGLAMENTO, FUNCIONES Y
PROCEDIMIENTOS
FACULTAD DE INGENIERÍA
Laboratorio de Diseño de Diseño de Sistemas Digitales
REGLAMENTO INTERNO DEL LABORATORIO
1.
En toda práctica, realizada por el alumno en el Laboratorio, se debe
contestar lo que el manual marque, la calificación de la anterior será la
evaluación de la práctica. El resultado de la evaluación se expresará con
una calificación numérica que puede variar de cero a diez.
2.
La calificación mínima para que una práctica se considere aprobada es
de 6.0.
3.
El alumno podrá faltar cuando más a dos sesiones de laboratorio, si
acumula más faltas, se le dará de baja automáticamente y la calificación
será Laboratorio Reprobado (LR).
4.
En caso de inasistencia por parte del alumno, para fines de evaluación,
la calificación de la práctica será de cero.
5.
El Laboratorio se considera aprobado cuando el alumno obtiene como
promedio la calificación de 6.0. Dicha nota se expresará en la boleta de
calificaciones como Acreditado (AC). Si la calificación es menor a 6.0
su calificación será (LR).
6.
El criterio para evaluar al alumno será el siguiente:
Procedimiento
Participación
Comprensión
Conclusiones
Total
Laboratorio de Diseño de Sistemas Digitales
40 %
20 %
10 %
30 %
100 %
vi
FI, UASLP
Reglamento, funciones y procedimientos
7.
La entrada al Laboratorio será la indicada, teniendo el alumno 5
minutos de tolerancia, para llegar a tiempo, si llega pasado los 5
minutos se le permitirá la entrada anotándosele en la lista, que llegó con
retardo. Después de los 10 minutos, no se le permitirá la entrada a la
práctica. Cada dos retardos significan una falta.
8.
La duración de las prácticas de laboratorio podrá durar 1 o más
sesiones, dependiendo de la complejidad y lo elaborado de la misma,
quedando a criterio del encargado de Laboratorio la duración máxima
de las mismas.
FUNCIONES Y PROCEDIMIENTOS
1.
El Laboratorio es el lugar destinado a la realización de actividades
experimentales, tendientes a apoyar o demostrar el conocimiento
científico, buscando innovar la tecnología existente.
2.
Práctica de Laboratorio es aquella actividad de investigación básica que
consiste en realización de ensayos ya conocidos que apoye o demuestre
el conocimiento académico que se imparte en la Facultad.
3.
Es obligación de los alumnos del Laboratorio, conocer este reglamento,
junto con las normas de seguridad y los procedimientos de emergencia.
4.
El personal que trabaja para el laboratorio es el encargado de dar a
conocer y hacer cumplir este reglamento.
5.
Es obligación de los alumnos utilizar el equipo de seguridad que se
indique en el Laboratorio.
EL COMPORTAMIENTO DEL ALUMNO EN EL LABORATORIO
1.
Guardará consideración y respeto a su instructor, al personal que trabaja
en el laboratorio y a sus compañeros.
2.
Asistirá con puntualidad a las prácticas.
3.
Permanecerá en el área que le corresponda durante la práctica.
4.
Será responsable del buen uso de las instalaciones, equipo y material
Laboratorio de Diseño de Sistemas Digitales
vii
FI, UASLP
Reglamento, funciones y procedimientos
del Laboratorio y de todo lo que se le proporcione para su enseñanza.
5.
Si incurre en una falta de disciplina dentro del Laboratorio, de acuerdo
con la naturaleza y la gravedad de la falta, el instructor le pedirá que se
retire. Lo anterior sin menoscabo de las sanciones a que pudiera hacerse
acreedor por parte de las autoridades de nuestra Facultad.
6.
Avisará si el equipo o material se encuentra dañado o representa un
riesgo.
7.
Solamente podrá realizar prácticas a la hora y día que le corresponda.
8.
Se preparará para la sesión, estudiando previamente la práctica
correspondiente.
9.
Estudiará el procedimiento a efectuar y las medidas de seguridad
necesarias, antes de comenzar a trabajar. En caso de duda, preguntará a
su instructor.
10.
Comenzará a trabajar sin energizar aparato alguno, hasta recibir
autorización de su instructor.
11.
Tendrá prohibido jugar, hacer bromas y usar un vocabulario soez o
frases en doble sentido.
12.
Tendrá prohibido comer, beber, tirar basura o fumar dentro del
Laboratorio.
13.
No permitirá que alguien se lastime o cometa un error por su propia
inacción.
14.
Dejará limpio y ordenado el lugar y el equipo utilizado antes de salir
del Laboratorio.
15.
De realizar trato o convenio con el instructor, no será reconocido por el
Responsable del Laboratorio.
16.
Dejará la mochila en la gaveta que se encuentra en la entrada del
Laboratorio.
Laboratorio de Diseño de Sistemas Digitales
viii
FI, UASLP
Reglamento, funciones y procedimientos
REQUISITOS PARA CONTESTAR LA PRÁCTICA
1.
Se entregará en el instructivo de prácticas, contestando en los espacios
destinados para ese propósito.
2.
Será individual. En caso de demostrarse que se ha copiado, se dará de
baja automáticamente a los alumnos y su calificación será LR.
3.
Deberá contestarse y entregarse al término de la práctica para su
revisión.
4.
Las gráficas se realizarán, en los ejes coordenados que se encuentran en
el instructivo.
5.
Es responsabilidad del alumno el venir preparado para realizar la
práctica.
6.
El instructivo revisado se entregará al alumno dos días después de la
fecha de práctica, con el objetivo de que conozca su calificación y se
prepare para la siguiente sesión.
7.
Para un mejor control, en el reporte de la práctica deberá ponerse en la
esquina superior derecha, la fecha en que se efectuó.
8.
Al contestar la parte de la “Comprensión” es conveniente que repase,
antes de entrar a la práctica, los principios y fundamentos vistos en
clases referentes al tema de la práctica. No entregar un reporte en el que
no hizo su mejor esfuerzo como estudiante.
9.
Las conclusiones serán un razonamiento personal sobre lo realizado en
la práctica, a la luz de los conocimientos teóricos y de la experiencia
propia, no basta con decir “Me pareció muy bien” o que “Estuvo bien la
práctica” etc. Este punto es uno de los más importantes del reporte, ya
que, en él, demuestra su comprensión del tema y las aplicaciones
prácticas que pudiera dar a lo aprendido en su desempeño profesional.
10.
La evaluación del desempeño teórico y práctico es la calificación que
otorga el instructor a cada alumno, tomando en cuenta su participación,
puntualidad y comportamiento a lo largo de la sesión.
Laboratorio de Diseño de Sistemas Digitales
ix
FI, UASLP
Normas de Seguridad Básicas
NORMAS DE SEGURIDAD EN EL
LABORATORIO DE MECATRÓNICA.
LAS NORMAS BÁSICAS DE SEGURIDAD son un conjunto de medidas destinadas a
proteger la salud de todos, prevenir accidentes y promover el cuidado del material de los
laboratorios.
NORMAS BÁSICAS DE SEGURIDAD
1.
El personal del Laboratorio y los usuarios deberán conocer la ubicación
de los elementos de seguridad en el lugar de trabajo, tales como:
extintores, ruta de emergencia, puntos de reunión, accionamiento de
alarmas, teléfonos de emergencia, botiquín, etc.
2.
Trabajar siempre acompañado. Evitar trabajar solo.
3.
Ningún alumno estará autorizado para modificar, en manera alguna, la
práctica al menos que tenga autorización expresa de su profesor o
instructor.
4.
Evitar el uso de cadenas, collares, anillos y pulseras metálicas.
5.
Cuando se trabaje con voltajes superiores a 65 Volts, sólo se
permitirá el uso de zapatos de seguridad cerrados en su parte superior.
Otro tipo de calzado como las sandalias, que deje expuestas áreas de
piel, o los dedos de los pies, es inadmisible e inapropiado para el uso
dentro del laboratorio.
6.
Durante el desarrollo del trabajo de laboratorio, asegurarse de que las
manos estén secas.
7.
Mantener las mesas de trabajo limpias, ordenadas y libres de materiales
extraños.
Laboratorio de Diseño de Sistemas Digitales
x
FI, UASLP
Normas de Seguridad Básicas
8.
Verificar el armado correcto de un equipo o circuito antes de utilizarse.
9.
Colocar los residuos y desechos en los lugares destinados a tal fin.
10.
Retirar de las mesas y colocar en su sitio el material o equipos que ya
fueron utilizados.
11.
Colocar el material o instrumentos alejados de los bordes de las mesas.
12.
Antes de retirarse del laboratorio, si no queda nadie en él, se toman las
siguientes medidas:
13.
Apagar lámparas, ventiladores, etc.
14.
No dejar equipos operando sin autorización.
15.
Cerrar puertas y ventanas.
RIESGOS ELÉCTRICOS.
Uno de los riesgos presentes en este tipo de laboratorios es el riesgo eléctrico y éste es aquel
que es susceptible de ser producido por instalaciones eléctricas, partes de las mismas, y
cualquier dispositivo eléctrico bajo tensión, con potencial de daño suficiente para producir
fenómenos de electrocución, quemaduras, y muerte. El riesgo eléctrico puede presentarse en
cualquier tarea que implique manipulación o maniobra de instalaciones eléctricas de baja, media
y alta tensión, operaciones de mantenimiento de este tipo de instalaciones, reparación y uso de
aparatos eléctricos, utilización de equipo eléctrico en entornos para los cuales no ha sido
diseñado el dispositivo (ambientes húmedos y/o mojados) y mal mantenimiento, etc.
Recomendaciones generales
1.
Nunca deberá manipularse ningún elemento eléctrico con las manos
mojadas, en ambientes húmedos o mojados accidentalmente.
2.
Para trabajar en instalaciones eléctricas se deben tener en cuenta los
Laboratorio de Diseño de Sistemas Digitales
xi
FI, UASLP
Normas de Seguridad Básicas
siguientes principios:
 Abrir todas las fuentes de tensión.
 Enclavar o bloquear, si es posible, todos los dispositivos de corte.
 Comprobar la ausencia de tensión.
 Poner a tierra y en cortocircuito todas las posibles fuentes de tensión.
 Delimitar la zona de trabajo mediante señalización.
3.
No quitar nunca la puesta a tierra de los equipos e instalaciones.
4.
No realizar nunca operaciones en líneas eléctricas,
transformación o equipos
centros de
eléctricos si no se posee la formación y
equipo necesaria para ello.
5.
No retirar nunca los recubrimientos o aislamientos de las partes activas
de los sistemas.
6.
En el
caso
deberán
equipos
7.
de que sea imprescindible realizar trabajos en tensión
utilizarse los medios de protección adecuados y los
de protección individual apropiados.
Mantener el cableado
en buen
estado, evitando los empalmes
con cinta aislante. En todo caso sustituir los cables deteriorados.
8.
Evitar los arreglos provisionales confiar el mantenimiento al personal
competente.
9.
Avisar al
personal de laboratorio de cualquier anomalía que se
detecte en la instalación o equipos eléctricos.
10.
Evitar utilizar una sola toma de corriente para varias clavijas, ya
que
se
puede
producir un calentamiento de los cables y como
consecuencia un incendio de origen eléctrico.
Laboratorio de Diseño de Sistemas Digitales
xii
FI, UASLP
Normas de Seguridad Básicas
RIESGOS DE INCENDIO
Conocer que extintores se cuenta en el laboratorio y para qué tipo de fuego está
indicados, así como su utilización y ubicación.
En la tabla Tabla I.1 se recogen los principales Tipos de Fuego, características y prevención, y en
la tabla II.2 se muestran las distintas clases de fuego y los agentes extintores aplicables. (Norma
Mexicana NOM-002-STPS-2010 Tabla VII.1)
Tabla I.1 Tipos de incendio, características y prevención
Tipo de
incendio
Clase A
Clase B
Clase C
Clase D
Clase K
Características
Prevención
Es aquel que se presenta en material combustible
sólido, generalmente de naturaleza orgánica, y que su
combustión se realiza normalmente con formación de
brasas. Son fuegos que implican madera, tejidos,
goma, papel y algunos tipos de plástico o sintéticos.
Es aquel que se presenta en líquidos combustibles
e inflamables y gases inflamables. Por ejemplo
gasolina, aceites, pintura, gases y líquidos inflamables
y lubricantes. Se apagan eliminando el oxígeno o
interrumpiendo la reacción en cadena que se produce
durante la combustión.
Es aquel que involucra aparatos, equipos e
instalaciones eléctricas energizadas.
Es aquel en el que intervienen metales
combustibles, tales como el magnesio, titanio,
circonio, sodio, litio y potasio
Es aquel que se presenta básicamente en
instalaciones de cocina, que involucra sustancias
combustibles, tales como aceites y grasas vegetales
o animales. Los fuegos clase K ocurren en los
depósitos de grasa semipolimerizada, y su
comportamiento es distinto a otros combustibles
Asegúrese de vaciar los recipientes de
basura diariamente y de mantener las
áreas de trabajo limpias.
Use los líquidos inflamables en áreas
ventiladas o alejados de cualquier
fuente productora de chispa. Mantenga
únicamente cantidades adecuadas de
estas sustancias
Revise la instalación eléctrica en busca
de cables dañados, tornillería floja o
partes sueltas o partidas, nunca
sobrecargue los enchufes de las
paredes. Revise los aparatos eléctricos.
Seguir las instrucciones de uso
especificadas por los proveedores para
el uso de estos materiales.
Evitar la acumulación de grasas,
prestar atención a los las hornillas de la
estufa y a los tiempos de preparación
de los alimentos, así como a las
cantidades de aceites almacenadas.
Tabla I.2 Clase de Fuego y Agente Extintor Aplicable
Guía de Referencia VII Extintores contra Incendio
NORMA Oficial Mexicana NOM-002-STPS-2010 (Tabla VII.1)
Fuego Clase C
Fuego Clase D
Fuego
Clase K
Agente extintor
Fuego Clase A
Fuego Clase B
Agua
Si
No
No
No
No
Polvo Químico Seco, tipo ABC
Si
Si
Si
No
No
Polvo Químico Seco, tipo BC
No
Si
Si
No
No
Bióxido de Carbono (CO2)
No
Si
Si
No
No
Agentes limpios*
Si
Si
Si
No
No
Espuma Mecánica
Si
Si
No
No
No
Agentes Especiales
No
No
No
No
No
Químico Húmedo
Si
Si
No
No
Si
* El uso de los agentes limpios a base de gases halón, se ha venido restringiendo gradualmente hasta que llegue a eliminarse por
completo, en cumplimiento a lo dispuesto por el Protocolo de Montreal 1, debido a que son compuestos que dañan la capa de ozono
de la atmósfera.
1 Publicado en el Diario Oficial de la Federación de 25 de enero de 1988
Laboratorio de Diseño de Sistemas Digitales
xiii
Práctica No. 1
Compuertas Lógicas
/
/
COMPUERTAS LÓGICAS (DEM)
Práctica 1
Procedimiento
0
1
2
0
1
2
0
1
0
1
3
4
Participación
Calificación
de la Práctica
Comprensión
Conclusiones
2
3
OBJETIVO
Conocer el funcionamiento, conexión y uso de las compuertas lógicas AND, OR, NAND, NOR.
MATERIAL
a) Fuente de 5 V CD.
b) Tablilla de Conexiones.
c) Interruptor DIP.
d) Diodo Emisor de Luz.
e) Resistencias de 1KΩ.
f) Resistencias de 220Ω.
g) Circuito Integrado 74LS00 NAND.
h) Circuito Integrado 74LS02 NOR.
i) Circuito Integrado 74LS04 NOT.
j) Circuito Integrado 74LS08 AND.
k) Circuito Integrado 74LS32 OR.
l) Circuito Integrado 74LS86 XOR.
PROCEDIMIENTO
1.1 Implementar los circuitos de prueba de la figura 1.1a) y 1.1b) e intercambiar el
circuito integrado de la figura 1.1b), correspondiente a las operaciones lógicas
descritas en la práctica (AND, NOR, NAND y XOR).
1.2 Comprobar las salidas de las compuertas con su correspondiente tabla de verdad.
Laboratorio de Diseño de Sistemas Digitales
1
Práctica No. 1
Compuertas Lógicas
Figura 1.1 a) Circuito de prueba utilizado una compuerta inversora, b) Circuito
de prueba utilizado una compuerta OR
[Imagen del software Frtzing, 2016 versión 0.9.3].
1.3 Escribir lo realizado en la práctica detalladamente, con observaciones.
COMPRENSIÓN
1.- ¿Cuál es la razón de conectar resistencias a tierra en cada una de las entradas y salidas de los
circuitos que se desarrollaron en la práctica?
Laboratorio de Diseño de Sistemas Digitales
2
Práctica No. 1
Compuertas Lógicas
2.- Utilizando compuertas de dos entradas (AND y OR), realice las conexiones necesarias para
obtener una compuerta de cuatro entradas y una salida.
3.- Dibuje el circuito electrónico correspondiente a una compuerta NAND básica de la serie LSTTL.
CONCLUSIONES
Laboratorio de Diseño de Sistemas Digitales
3
Práctica No. 1
Compuertas Lógicas
Laboratorio de Diseño de Sistemas Digitales
4
Práctica No. 2
Entradas/Salidas básicas en el FPGA
/
/
ENTRADAS/SALIDAS BÁSICAS EN EL FPGA
(DEM)
Práctica 2
Procedimiento
0
1
2
0
1
2
0
1
0
1
3
4
Participación
Calificación
de la Práctica
Comprensión
Conclusiones
2
3
OBJETIVO
Conocer el funcionamiento y uso de las compuertas lógicas NOT, AND, NAND, OR, NOR,
XOR, XNOR implementadas en la tablilla de desarrollo NEXYS3.
MATERIAL
1)
2)
3)
4)
5)
Tarjeta de Desarrollo NEXYS™ 3.
Software Xilinx® ISE Design Suite.
Software Xilinx® PlanAhead.
Software Diligent® Adept.
Equipo de Cómputo.
PROCEDIMIENTO
2.1 Abrir el software Xilinx® ISE Design Suite y generar un nuevo proyecto.
2.2 Incluir en el proyecto recién creado, un nuevo módulo VHDL.
2.3 Comprender el programa que le proporcionará y realizar una copia del código en el
nuevo proyecto.
2.4 Guardar los cambios y sintetizar el proyecto.
Laboratorio de Diseño de Sistemas Digitales
5
Práctica No. 2
Entradas/Salidas básicas en el FPGA
2.5 En el Software Xilinx® PlanAhead (abrir de la barra de menú -> PlanAhead ->
Floorplan) nombrar todas las entradas y salidas necesarias con los pines
correspondientes.
2.6 Guardar los cambios y cerrar el software.
2.7 Dar doble clic en la opción Generate Programing File y esperar a que se genere. (Para
indicar que el archivo se creo correctamente, aparecerá un círculo verde con una
palomita en medio).
2.8 Conectar la Tarjeta de Desarrollo NEXYS™ 3 y encenderla.
2.9 Abrir el software Digilent® Adept.
2.10
Dar clic en el botón Browse, entrar en la carpeta del proyecto creado y
seleccionar el archivo con la extensión .bit.
2.11
Dar clic en el botón Program y esperar a que se termine la programación.
2.12
Realizar la debida comprobación del correcto funcionamiento de la descripción
del circuito.
2.13
Apagar la tarjeta, desconectar y guardar el equipo utilizado.
2.14
Escribir lo realizado en la práctica detalladamente, con sus respectivas
observaciones.
Laboratorio de Diseño de Sistemas Digitales
6
Práctica No. 2
Entradas/Salidas básicas en el FPGA
COMPRENSIÓN
1.- ¿Qué significan las siglas FPGA?
2.- ¿Qué significan las siglas VHDL?
3.- Describa detalladamente los pasos para la declaración de puertos de Entrada/Salida básicos.
CONCLUSIONES
Laboratorio de Diseño de Sistemas Digitales
7
Práctica No. 2
Entradas/Salidas básicas en el FPGA
Laboratorio de Diseño de Sistemas Digitales
8
Práctica No. 3
Funciones Lógicas en VHDL
/
/
FUNCIONES LÓGICAS EN VHDL (DEM)
Práctica 3
Procedimiento
0
1
2
0
1
2
0
1
0
1
3
4
Participación
Calificación
de la Práctica
Comprensión
Conclusiones
2
3
OBJETIVO
Que el alumno reafirme los métodos de simplificación de funciones lógicas y aprenda a
implementar dichas funciones mínimas en código VHDL.
MATERIAL Y EQUIPO A UTILIZAR
1)
2)
3)
4)
5)
Tarjeta de desarrollo NexysTM 3
Software XilinxR ISE WebPack
Software XilinxR PlanAhead
Software Diligent Adept
Equipo de cómputo
PROCEDIMIENTO
3.1 A partir de la siguiente tabla de verdad, genere la función lógica correspondiente.
A
0
0
0
0
1
1
1
1
B
0
0
1
1
0
0
1
1
C
0
1
0
1
0
1
0
1
Y
0
0
1
1
1
0
1
0
Laboratorio de Diseño de Sistemas Digitales
9
Práctica No. 3
Funciones Lógicas en VHDL
3.2 Usando algebra de Boole, simplifica la función obtenida.
3.3 Utilizando mapas de Karnaugh simplifica la función original.
Laboratorio de Diseño de Sistemas Digitales
10
Práctica No. 3
Funciones Lógicas en VHDL
3.4 Comprueba tus resultados.
3.5 Abre el software Xilinx ISE WebPack y genera un nuevo proyecto.
3.6 Incluye en el proyecto recién creado un nuevo módulo VHDL.
3.7 Programa la función minimizada obtenida anteriormente por ambos métodos.
3.8 Guarda los cambios y sintetiza el proyecto.
3.9 En el Software Xilinx PlanAhead (abrir de la barra de menú -> PlanAhead ->
Floorplan) nombra todas las entradas y salidas necesarias con los pines
correspondientes.
3.10
Guarda los cambios y cierra el software.
3.11
Da doble clic en la opción Generate Programing File y espera a que se genere, se
colocará un círculo verde con una palomita para indicar que el archivo se creó
correctamente.
3.12
Conecta la tarjeta de desarrollo Nexys3 y enciéndela.
3.13
Abre el software Digilent Adept.
3.14
3.15
Da clic en el botón Browse, entra en la carpeta del proyecto creado y selecciona
el archivo .bit y presiona enter.
Da clic en el botón program, esperar a que se termine la programación.
3.16
Verifica el funcionamiento correcto de la función lógica.
3.17
Modifica el código de manera que en cada display de 7 segmentos de la tarjeta de
desarrollo se exhiba el valor de cada entrada y en el último display se despliegue
el valor de la salida.
3.18
Repite los pasos 3.8 a 3.16.
3.19
Apaga la tarjeta, desconecta y guarda el equipo utilizado.
Laboratorio de Diseño de Sistemas Digitales
11
Práctica No. 3
3.20
Funciones Lógicas en VHDL
Escribir lo realizado en la práctica detalladamente, con sus respectivas
observaciones.
COMPRENSIÓN
1.- ¿Cuáles son las problemáticas del algebra de Boole?
2.- ¿Cuáles son las ventajas de utilizar el método de mapas de Karnaugh?
3.- ¿Por qué es necesario nombrar todas las entradas con los nombres de los pines de la tarjeta de
desarrollo Nexys3?
Laboratorio de Diseño de Sistemas Digitales
12
Práctica No. 3
Funciones Lógicas en VHDL
CONCLUSIONES
Laboratorio de Diseño de Sistemas Digitales
13
Práctica No. 3
Funciones Lógicas en VHDL
Laboratorio de Diseño de Sistemas Digitales
14
Práctica No. 4
Convertidores de códigos
/
/
CONVERTIDORES DE CÓDIGOS (DEM)
Práctica 4
Procedimiento
0
1
2
0
1
2
0
1
0
1
3
Participación
4
Calificación
de la Práctica
Comprensión
Conclusiones
2
3
OBJETIVO
El alumno construirá un circuito convertidor de código y desplegará su resultado en un exhibidor
de siete segmentos.
MATERIAL
a) Fuente de 5 V CD.
b) Tablilla de Conexiones.
c) Interruptor DIP.
d) Diodo Emisor de Luz.
e) Resistencias de 1KΩ.
f) Resistencias de 220Ω.
g) Circuito Integrado 74LS00 NAND.
h) Circuito Integrado 74LS47 Decodificador de salidas altas.
i) Display de siete segmentos de ánodo común.
PROCEDIMIENTO
4.1 Realizar el análisis para el convertidor de código BCD a siete segmentos y completar
la Tabla 4.1.
Laboratorio de Diseño de Sistemas Digitales
15
Práctica No. 4
Convertidores de códigos
Decimal
0
1
2
3
4
5
6
7
8
9
Gray
BCD
Tabla 4.1 Equivalencia entre diferentes códigos
4.2 Diseñe un circuito para efectuar la conversión del código Gray al código BCD.
Utilice la Tabla 4.1 y, mediante mapas Karnaugh, obtenga las ecuaciones del sistema.
4.3 Arme el circuito convertidor de código y también incorpore a su salida el
decodificador BCD a 7 segmentos y despliegue los resultados en display.
4.4 Escribir lo realizado en la práctica detalladamente, con sus respectivas observaciones.
COMPRENSIÓN
1.- ¿Qué tipo de decodificador se debe elegir en caso de utilizar un display de cátodo común?
Laboratorio de Diseño de Sistemas Digitales
16
Práctica No. 4
Convertidores de códigos
2.- Diseñe un circuito para realizar la conversión de código BCD a Exceso 3.
3.- Mencione, por lo menos, 3 códigos mas y explique su representación.
CONCLUSIONES
Laboratorio de Diseño de Sistemas Digitales
17
Práctica No. 4
Convertidores de códigos
Laboratorio de Diseño de Sistemas Digitales
18
Práctica No. 5
Convertidor de código BCD a siete Segmentos
/
/
CONVERTIDOR DE CÓDIGO BCD A SIETE
SEGMENTOS (DEM)
Práctica 5
Procedimiento
0
1
2
0
1
2
0
1
0
1
3
4
Participación
Calificación
de la Práctica
Comprensión
Conclusiones
2
3
OBJETIVO
El alumno diseñará un circuito convertidor de código en VHDL, y desplegará el resultado en un
display de siete segmentos del FPGA.
MATERIAL
1)
2)
3)
4)
5)
Tarjeta de Desarrollo NEXYS™ 3.
Software Xilinx® ISE Design Suite.
Software Xilinx® PlanAhead.
Software Diligent® Adept.
Equipo de Cómputo.
PROCEDIMIENTO
5.1 Realizar el análisis para el convertidor de código BCD a siete segmentos y completar
la Tabla 5.1.
Laboratorio de Diseño de Sistemas Digitales
19
Práctica No. 5
Convertidor de código BCD a siete Segmentos
Decimal
0
1
2
3
4
5
6
7
8
9
BCD
7 segmentos
Tabla 5.1 Equivalencia entre diferentes códigos
5.2 Abrir el software Xilinx® ISE Design Suite y generar un nuevo proyecto.
5.3 Incluir en el proyecto recién creado, un nuevo módulo VHDL.
5.4 Realizar el programa del convertidor de código de acuerdo a la Tabla 5.1.
5.5 Guardar los cambios y sintetizar el proyecto.
5.6 En el Software Xilinx® PlanAhead (abrir de la barra de menú -> PlanAhead ->
Floorplan) nombrar todas las entradas y salidas necesarias con los pines
correspondientes.
5.7 Guardar los cambios y cerrar el software.
5.8 Dar doble clic en la opción Generate Programing File y esperar a que se genere. (Para
indicar que el archivo se creo correctamente, aparecerá un círculo verde con una
palomita en medio).
5.9 Conectar la Tarjeta de Desarrollo NEXYS™ 3 y encenderla.
5.10
Abrir el software Digilent® Adept
5.11
Dar clic en el botón Browse, entrar en la carpeta del proyecto creado y
seleccionar el archivo con la extensión .bit.
5.12
Dar clic en el botón Program y esperar a que se termine la programación.
Laboratorio de Diseño de Sistemas Digitales
20
Práctica No. 5
Convertidor de código BCD a siete Segmentos
5.13
Realizar la debida comprobación del correcto funcionamiento de la descripción
del circuito.
5.14
Apagar la tarjeta, desconectar y guardar el equipo utilizado.
5.15
Escribir lo realizado en la práctica detalladamente, con sus respectivas
observaciones.
COMPRENSIÓN
1.- ¿Qué es un código?
2.- ¿Qué significa codificación?
Laboratorio de Diseño de Sistemas Digitales
21
Práctica No. 5
Convertidor de código BCD a siete Segmentos
3.- ¿Con qué clase de ánodo cuenta el display de siete segmentos en la Tarjeta de desarrollo
Nexys3?
4.- Mencione las consideraciones que deben ser tomadas en cuenta para el encendido del display
de siete segmentos.
CONCLUSIONES
Laboratorio de Diseño de Sistemas Digitales
22
Práctica No. 6
Multiplexor y demultiplexor en VHDL
/
/
MULTIPLEXOR Y DEMULTIPLEXOR EN
VHDL (DEM)
Práctica 6
Procedimiento
0
1
2
0
1
2
0
1
0
1
3
4
Participación
Calificación
de la Práctica
Comprensión
Conclusiones
2
3
OBJETIVO
Que el alumno compruebe el funcionamiento de los multiplexores y demultiplexores mediante la
aplicación de lenguaje descriptivo en hardware.
MATERIAL Y EQUIPO A UTILIZAR
1)
2)
3)
4)
5)
Tarjeta de desarrollo NexysTM 3
Software XilinxR ISE WebPack
Software XilinxR PlanAhead
Software Diligent Adept
Equipo de computo
PROCEDIMIENTO
6.1 Dibuja el diagrama de un multiplexor de 4 a 1 y un demultiplexor de 1 a 4.
Laboratorio de Diseño de Sistemas Digitales
23
Práctica No. 6
Multiplexor y demultiplexor en VHDL
6.2 Abre el software Xilinx ISE WebPack y genera un nuevo proyecto.
6.3 Incluye en el proyecto recién creado un nuevo módulo VHDL.
6.4 Programa un multiplexor 4-1.
6.5 Guarda los cambios y sintetiza el proyecto.
6.6 En el Software Xilinx PlanAhead (abrir de la barra de menú PlanAhead -> Floorplan)
nombra todas las entradas y salidas necesarias con los pines correspondientes.
6.7 Guarda los cambios y cierra el software.
6.8 Da doble clic en la opción Generate Programing File y espera a que se genere, se
colocará un círculo verde con una palomita para indicar que el archivo se creó
correctamente.
6.9 Conecta la tarjeta de desarrollo Nexys3 y enciéndela.
6.10
Abre el software Digilent Adept.
6.11
Da clic en el botón Browse, entra en la carpeta del proyecto creado y selecciona el
archivo .bit y presiona enter.
6.12
Da clic en el botón program, esperar a que se termine la programación.
6.13
Verifica el funcionamiento correcto del multiplexor.
6.14
Modifica el código de manera que en cada display de 7 segmentos de la tarjeta de
desarrollo se exhiba la entrada que se encuentra activa y su valor.
6.15
Repite los pasos 6.5 a 6.13.
6.16
Repite los pasos 6.2 a 6.13 ésta vez para un demultiplexor 1-4.
6.17
Modifica el código de manera que en cada display de 7 segmentos de la tarjeta de
desarrollo se exhiban los valores de las 4 salidas del demultiplexor.
6.18
Repite los pasos 6.5 a 6.13.
Laboratorio de Diseño de Sistemas Digitales
24
Práctica No. 6
6.19
Multiplexor y demultiplexor en VHDL
Apaga la tarjeta, desconecta y guarda el equipo utilizado.
6.20 Escribir lo realizado en la práctica detalladamente, con sus respectivas
observaciones.
COMPRENSIÓN
1.- ¿Qué es un multiplexor?
2.- ¿Qué es un demultiplexor?
3.- Menciona 2 aplicaciones de multiplexores y demultiplexores
Laboratorio de Diseño de Sistemas Digitales
25
Práctica No. 6
Multiplexor y demultiplexor en VHDL
CONCLUSIONES
Laboratorio de Diseño de Sistemas Digitales
26
Práctica No. 7
Unidad Lógica Aritmética
/
/
UNIDAD LÓGICA ARITMÉTICA (DEM)
Práctica 7
Procedimiento
0
1
2
0
1
2
0
1
0
1
3
4
Participación
Calificación
de la Práctica
Comprensión
Conclusiones
2
3
OBJETIVO
El alumno diseñará el código de una unidad lógico aritmética (ALU) en VHDL, y desplegará el
resultado de las operaciones en LED’s del FPGA.
MATERIAL
1) Tarjeta de Desarrollo NEXYS™ 3.
2) Software Xilinx® ISE Design Suite.
3) Software Xilinx® PlanAhead.
4) Software Diligent® Adept.
5) Equipo de Cómputo.
PROCEDIMIENTO
7.1 Realizar el análisis para la elaboración de una ALU de 4 bits como la que se presenta
en la Fig. 7.1, tomando en consideración los siguientes requisitos para el diseño y la
Tabla 7.1.
ALU
a) A - Vector de entrada.
b) B - Vector de entrada
c) Ci - Acarreo de entrada
d) R - Resultado
e) N - Negativo.
f) Z - Cero.
g) V - Sobreflujo.
h) C - Acarreo de salida
N
A
Z
B
V
C
R
Ci
F
Fig. 7.1 ALU
“Imagen de creación propia”
Laboratorio de Diseño de Sistemas Digitales
27
Práctica No. 7
Unidad Lógica Aritmética
F
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
Operación
A+1
A-1
B+1
B-1
A + B + Ci
A-B
B-A
NOT A
NOT B
A AND B
Tabla 7.1 Seleccionador de operación propuesto en la ALU.
7.2 Abrir el software Xilinx® ISE Design Suite y generar un nuevo proyecto.
7.3 Incluir en el proyecto recién creado, un nuevo módulo VHDL.
7.4 Realizar el programa de la ALU de 4 bits de acuerdo a los requerimientos del punto
7.1.
7.5 Guardar los cambios y sintetizar el proyecto.
7.6 En el Software Xilinx® PlanAhead (abrir de la barra de menú -> PlanAhead ->
Floorplan) nombrar todas las entradas y salidas necesarias con los pines
correspondientes.
7.7 Guardar los cambios y cerrar el software.
7.8 Dar doble clic en la opción Generate Programing File y esperar a que se genere. (Para
indicar que el archivo se creó correctamente, aparecerá un círculo verde con una
palomita en medio).
7.9 Conectar la Tarjeta de Desarrollo NEXYS™ 3 y encenderla.
7.10
Abrir el software Diligent® Adept.
7.11
Dar clic en el botón Browse, entrar en la carpeta del proyecto creado y
seleccionar el archivo con la extensión .bit.
Laboratorio de Diseño de Sistemas Digitales
28
Práctica No. 7
Unidad Lógica Aritmética
7.12
Dar clic en el botón Program y esperar a que se termine la programación.
7.13
Realizar la debida comprobación del correcto funcionamiento de la descripción
del circuito.
7.14
Apagar la tarjeta, desconectar y guardar el equipo utilizado.
7.15
Escribir lo realizado en la práctica detalladamente, con sus respectivas
observaciones.
COMPRENSIÓN
1.- ¿Qué es una ALU?
2.- Describa detalladamente que indica la bandera de sobreflujo.
Laboratorio de Diseño de Sistemas Digitales
29
Práctica No. 7
Unidad Lógica Aritmética
3.- ¿Cuál es la importancia de la ALU en un procesador?
CONCLUSIONES
Laboratorio de Diseño de Sistemas Digitales
30
Práctica No. 8
Generadores de Señales de Reloj y Flip-flops
/
/
GENERADORES DE SEÑALES DE RELOJ Y
FLIP-FLOPS (DEM)
Práctica 8
Procedimiento
0
1
2
0
1
2
0
1
0
1
3
4
Participación
Calificación
de la Práctica
Comprensión
Conclusiones
2
3
OBJETIVO
El alumno conocerá y comprobará el funcionamiento de dispositivos empleados en la lógica
secuencial y dispositivos con memoria, basados en sistemas temporizados.
MATERIAL
a) Fuente de 5 V CD.
b) Tablilla de Conexiones.
c) Interruptor DIP.
d) Diodo Emisor de Luz.
e) Variedad de Resistencias.
f) Variedad de Potenciómetros.
g) Variedad de Capacitores.
h) Circuito Integrado 555.
i) Circuito Integrado 74LS73 FF J-K.
j) Circuito Integrado 74LS74 FF D.
PROCEDIMIENTO
8.1 Construir el circuito de reloj mostrado en el anexo X “Multivibrador 555 astable”.
8.2 Energizar el circuito y observar una constante intermitencia del diodo emisor de luz
(LED).
Laboratorio de Diseño de Sistemas Digitales
31
Práctica No. 8
Generadores de Señales de Reloj y Flip-flops
8.3 Desenergizar el circuito y sin desconectar el circuito astable 555, conectar el circuito
integrado 74LS73 que corresponda al FF tipo J-K, para comprobar la tabla
característica de la Figura “Anexo”, y opere las entradas asíncronas.
8.4 Comprobar los resultados obtenidos con su correspondiente tabla característica.
8.5 Repetir el procedimiento anterior para comprobar el comportamiento del circuito FF
tipo D, con el circuito integrado FF 74LS74.
8.6 Escribir lo realizado en la práctica detalladamente, con observaciones.
COMPRENSIÓN
1.- En un Flip-flop, ¿qué función tienen las entradas Clear y Preset?
2.- ¿En qué consiste un FF maestro-esclavo?
Laboratorio de Diseño de Sistemas Digitales
32
Práctica No. 8
Generadores de Señales de Reloj y Flip-flops
3.- Mencione diferentes usos de los contadores en un sistema digital.
CONCLUSIONES
Laboratorio de Diseño de Sistemas Digitales
33
Práctica No. 8
Generadores de Señales de Reloj y Flip-flops
Laboratorio de Diseño de Sistemas Digitales
34
Práctica No. 9
Diseño de un contador síncrono mediante Flip-Flop
/
/
DISEÑO DE UN CONTADOR SÍNCRONO
MEDIANTE FLIP-FLOPS (DEM)
Práctica 9
Procedimiento
0
1
2
0
1
2
0
1
0
1
3
Participación
4
Calificación
de la Práctica
Comprensión
Conclusiones
2
3
OBJETIVO
Comprender el funcionamiento de un contador digital basado en circuitos secuenciales, y diseñar
un contador digital desplegando el resultado en un display de siete segmentos.
MATERIAL
a) Fuente de 5 V CD.
b) Tablilla de Conexiones.
c) Interruptor DIP.
d) Diodo Emisor de Luz.
e) Variedad de Resistencias.
f) Variedad de Potenciometros.
g) Variedad de Capacitores.
h) Circuito Integrado 555.
i) Circuito Integrado 74LS73 FF J-K.
j) Circuito Integrado 74LS48 Decodificador de salidas altas.
1. Display de siete segmentos de ánodo común.
PROCEDIMIENTO
9.1 Construir el circuito de reloj mostrado en el anexo “X” “Multivibrador 555 astable”.
9.2 Energizar el circuito y observar una constante intermitencia del diodo intermitencia
del diodo emisor de luz LED.
Laboratorio de Diseño de Sistemas Digitales
35
Práctica No. 9
Diseño de un contador síncrono mediante Flip-Flop
9.3 Energizar el circuito y observar una constante intermitencia del diodo emisor de luz
LED.
9.4 Desenergizar el circuito y sin desconectar el circuito astable 555 conectar el circuito
integrado FF 74LS73 que corresponda al tipo J-K, para comprobar la tabla
característica de la figura A9.4 y opere las entradas asíncronas.
9.5 Comprobar los resultados obtenidos con su correspondiente tabla característica.
9.6 Repetir el procedimiento anterior para comprobar el comportamiento del circuito FF
tipo D, con el circuito integrado FF 74LS74.
9.7 Escribir lo realizado en la práctica detalladamente, con observaciones.
COMPRENSIÓN
1.- ¿Cuantos Flip-flops son necesarios para diseñar un contador de 0 a 16?
Laboratorio de Diseño de Sistemas Digitales
36
Práctica No. 9
Diseño de un contador síncrono mediante Flip-Flop
2.- ¿Con qué clase de Flip-flop será mas sencillo el implementar un contador de 0 a 16?
Justifique su respuesta.
3.- ¿Qué consideraciones se deben de tomar para que el ciclo de trabajo sea del 50% utilizando el
circuito integrado “555”?
CONCLUSIONES
Laboratorio de Diseño de Sistemas Digitales
37
Práctica No. 9
Diseño de un contador síncrono mediante Flip-Flop
Laboratorio de Diseño de Sistemas Digitales
38
Práctica No. 10
Contador Ascendente Modulo 10
/
/
CONTADOR ASCENDENTE MÓDULO 10
(DEM)
Práctica 10
Procedimiento
0
1
2
0
1
2
0
1
0
1
3
4
Participación
Calificación
de la Práctica
Comprensión
Conclusiones
2
3
OBJETIVO
El alumno analizará y realizará la descripción en hardware de un contador módulo 10.
MATERIAL
1)
2)
3)
4)
5)
Tarjeta de Desarrollo NEXYS™ 3.
Software Xilinx® ISE Design Suite.
Software Xilinx® PlanAhead.
Software Diligent® Adept.
Equipo de Cómputo.
PROCEDIMIENTO
10.1
Efectuar el análisis para realizar un contador módulo 10.
10.2
Dibujar el grafo correspondiente al contador mencionado en el punto anterior.
10.3
Abrir el software Xilinx® ISE Design Suite y generar un nuevo proyecto.
10.4
Incluir en el proyecto recién creado, un nuevo módulo VHDL.
10.5
Realizar el programa del contador acuerdo al grafo realizado en el punto 10.2.
10.6
Guardar los cambios y sintetizar el proyecto.
Laboratorio de Diseño de Sistemas Digitales
39
Práctica No. 10
Contador Ascendente Modulo 10
10.7
En el Software Xilinx® PlanAhead (abrir de la barra de menú -> PlanAhead ->
Floorplan) nombrar todas las entradas y salidas necesarias con los pines
correspondientes.
10.8
Guardar los cambios y cerrar el software.
10.9
Dar doble clic en la opción Generate Programing File y esperar a que se genere.
(Para indicar que el archivo se creó correctamente, aparecerá un círculo verde con
una palomita en medio).
10.10 Conectar la Tarjeta de Desarrollo NEXYS™ 3 y encenderla.
10.11 Abrir el software Digilent® Adept.
10.12 Dar clic en el botón Browse, entrar en la carpeta del proyecto creado y
seleccionar el archivo con la extensión .bit.
10.13 Dar clic en el botón Program y esperar a que se termine la programación.
10.14 Realizar la debida comprobación del correcto funcionamiento de la descripción
del circuito.
10.15 Apagar la tarjeta, desconectar y guardar el equipo utilizado.
10.16 Escribir lo realizado en la práctica detalladamente, con sus respectivas
observaciones.
Laboratorio de Diseño de Sistemas Digitales
40
Práctica No. 10
Contador Ascendente Modulo 10
COMPRENSIÓN
1.- El contador módulo 10 de esta práctica, ¿es considerado síncrono o asíncrono? Justifique su
respuesta.
2.- ¿Qué cambios se necesitarían hacer en la descripción del circuito, para que el contador
módulo 10 realizado en esta práctica opere como un contador ascendente descendente?
3.- Mencione cómo se declara el puerto de entrada para la señal de reloj, utilizando el cristal
oscilador de 100 MHz de la Tablilla de Desarrollo NEXYS3.
CONCLUSIONES
Laboratorio de Diseño de Sistemas Digitales
41
Práctica No. 10
Contador Ascendente Modulo 10
Laboratorio de Diseño de Sistemas Digitales
42
Práctica No. 11
Contador Ascendente Descendente
/
/
CONTADOR ASCENDENTE DESCENDENTE
(DEM)
Práctica 11
Procedimiento
0
1
2
0
1
2
0
1
0
1
3
4
Participación
Calificación
de la Práctica
Comprensión
Conclusiones
2
3
OBJETIVO
El alumno comprenderá el funcionamiento de un contador digital y aprenderá a utilizar a su
conveniencia, la señal generada por un oscilador de cristal.
MATERIAL
1)
2)
3)
4)
5)
Tarjeta de desarrollo NEXYS™ 3.
Software Xilinx® ISE Design Suite.
Software Xilinx® PlanAhead.
Software Diligent® Adept.
Equipo de Cómputo.
PROCEDIMIENTO
11.1
Realizar el análisis para diseñar un contador ascendente descendente de cero (0) a
noventa y nueve (99), el cual se vea reflejada la salida en el display de la Tarjeta
de Desarrollo NEXYS™ 3.
11.2
Dibujar los grafos correspondientes a los contadores que se plantean en el punto
anterior.
11.3
Abrir el software Xilinx® ISE Design Suite y generar un nuevo proyecto.
11.4
Incluir en el proyecto recién creado, un nuevo módulo VHDL.
Laboratorio de Diseño de Sistemas Digitales
43
Práctica No. 11
Contador Ascendente Descendente
11.5
Realizar el programa del contador ascendente descendente de acuerdo a los grafos
del punto 11.2.
11.6
Guardar los cambios y sintetizar el proyecto.
11.7
En el Software Xilinx® PlanAhead (abrir de la barra de menú -> PlanAhead ->
Floorplan) nombrar todas las entradas y salidas necesarias con los pines
correspondientes.
11.8
Guardar los cambios y cerrar el software.
11.9
Dar doble clic en la opción Generate Programing File y esperar a que se genere.
(Para indicar que el archivo se creo correctamente, aparecerá un círculo verde con
una palomita en medio).
11.10
Conectar la Tarjeta de Desarrollo NEXYS™ y encenderla.
11.11
Abrir el software Diligent® Adept.
11.12
Dar clic en el botón Browse, entrar en la carpeta del proyecto creado y
seleccionar el archivo con la extensión .bit.
11.13
Dar clic en el botón Program y esperar a que se termine la programación.
11.14
Realizar la debida comprobación del correcto funcionamiento de la descripción
del circuito.
11.15
Apagar la tarjeta, desconectar y guardar el equipo utilizado.
11.16
Escribir lo realizado en la práctica detalladamente, con sus respectivas
observaciones.
Laboratorio de Diseño de Sistemas Digitales
44
Práctica No. 11
Contador Ascendente Descendente
COMPRENSIÓN
1.- ¿Por qué es necesario el divisor de frecuencia al momento de mostrar el resultado en los
displays de siete segmentos?
2.- ¿Qué sucederá si el ciclo de trabajo del pulso de reloj es menor al 50%?
3.- ¿Cuántos contadores son necesarios para diseñar un calendario en formato dd-mm-aaaa?
Analice y describa la interacción entre ellos.
CONCLUSIONES
Laboratorio de Diseño de Sistemas Digitales
45
Práctica No. 11
Contador Ascendente Descendente
Laboratorio de Diseño de Sistemas Digitales
46
Práctica No. 12
Registros de corrimiento en VHDL
/
/
REGISTROS DE CORRIMIENTO EN VHDL
(DEM)
Práctica 12
Procedimiento
0
1
2
0
1
2
0
1
0
1
3
4
Participación
Calificación
de la Práctica
Comprensión
Conclusiones
2
3
OBJETIVO
Que el alumno entienda el funcionamiento de un registro de corrimiento entrada serie-salida
serie y un registro de corrimiento entrada serie-salida paralelo y sea capaz de describirlo
mediante VHDL.
MATERIAL Y EQUIPO A UTILIZAR
1)
2)
3)
4)
5)
Tarjeta de desarrollo NexysTM 3
Software XilinxR ISE WebPack
Software XilinxR PlanAhead
Software Diligent Adept
Equipo de cómputo
PROCEDIMIENTO
12.1
Dibuja el diagrama de un registro de corrimiento entrada serie-salida serie.
Laboratorio de Diseño de Sistemas Digitales
47
Práctica No. 12
Registros de corrimiento en VHDL
12.2
Dibuja el diagrama de un registro de corrimiento entrada serie-salida paralelo.
12.3
Abre el software Xilinx ISE WebPack y genera un nuevo proyecto.
12.4
Incluye en el proyecto recién creado un nuevo módulo VHDL.
12.5
Programa el registro de corrimiento entrada serie-salida serie, se utilizará un
switch de reset y un switch para ingresar el dato.
12.6
12.7
Guarda los cambios y sintetiza el proyecto.
En el Software Xilinx PlanAhead (abrir de la barra de menú -> PlanAhead ->
Floorplan) nombra todas las entradas y salidas necesarias con los pines
correspondientes.
12.8
Guarda los cambios y cierra el software.
12.9
Da doble clic en la opción Generate Programing File y espera a que se genere, se
colocará un círculo verde con una palomita para indicar que el archivo se creó
correctamente.
12.10 Conecta la tarjeta de desarrollo Nexys3 y enciéndela.
12.11 Abre el software Digilent Adept.
12.12 Da clic en el botón Browse, entra en la carpeta del proyecto creado y selecciona
el archivo .bit y presiona enter.
Laboratorio de Diseño de Sistemas Digitales
48
Práctica No. 12
Registros de corrimiento en VHDL
12.13 Da clic en el botón program, esperar a que se termine la programación.
12.14 Verifica el funcionamiento correcto del registro de corrimiento.
12.15 Modifica el código de manera que en cada display de 7 segmentos de la tarjeta de
desarrollo se exhiba la salida de un flip-flop del registro de corrimiento.
12.16 Repite los pasos 12.6 a 12.14.
12.17 Repite los pasos 12.3 a 12.14 ésta vez para registro de corrimiento entrada seriesalida paralelo, se tendrá un switch para reset, uno para la entrada del dato y un
último switch para controlar la lectura de las salidas o corrimiento del dato.
12.18 Modifica el código de manera que en cada display de 7 segmentos de la tarjeta de
desarrollo se exhiban cada una de las salidas en paralelo del registro de
corrimiento.
12.19 Repite los pasos 12.6 a 12.14.
12.20 Apaga la tarjeta, desconecta y guarda el equipo utilizado.
12.21 Escribir lo realizado en la práctica detalladamente, con sus respectivas
observaciones.
Laboratorio de Diseño de Sistemas Digitales
49
Práctica No. 12
Registros de corrimiento en VHDL
COMPRENSIÓN
1.- ¿Cuáles son los tipos de registros de corrimiento que se pueden construir?
2.- ¿Cuál es el principio de funcionamiento de los registros de corrimiento?
3.- ¿Cuáles son las ventajas y desventajas de programar los registros de corrimiento en
comparación con construirlos físicamente?
CONCLUSIONES
Laboratorio de Diseño de Sistemas Digitales
50
Práctica No. 13
Diseño de una memoria RAM en VHDL
/
/
DISEÑO DE UNA MEMORIA RAM EN VHDL
(DEM)
Práctica 13
Procedimiento
0
1
2
0
1
2
0
1
0
1
3
4
Participación
Calificación
de la Práctica
Comprensión
Conclusiones
2
3
OBJETIVO
Que el alumno reafirme sus conocimientos en circuitos de memoria y sea capaz de diseñar y
describir una memoria RAM mediante VHDL.
MATERIAL Y EQUIPO A UTILIZAR
1)
2)
3)
4)
5)
Tarjeta de desarrollo NexysTM 3
Software XilinxR ISE WebPack
Software XilinxR PlanAhead
Software Diligent Adept
Equipo de cómputo
PROCEDIMIENTO
13.1
Abre el software Xilinx ISE WebPack y genera un nuevo proyecto.
13.2
Incluye en el proyecto recién creado un nuevo módulo VHDL.
13.3
Programa una memoria RAM de 4 localidades de memoria de 4 bits cada una, se
tendrán dos switch para acceder a la localidad deseada de manera combinacional,
cuatro switch para ingresar el dato y dos switch para seleccionar la acción en la
memoria leer o escribir.
13.4
Guarda los cambios y sintetiza el proyecto.
Laboratorio de Diseño de Sistemas Digitales
51
Práctica No. 13
Diseño de una memoria RAM en VHDL
13.5
En el Software Xilinx PlanAhead (abrir de la barra de menú -> PlanAhead ->
Floorplan) nombra todas las entradas y salidas necesarias con los pines
correspondientes.
13.6
Guarda los cambios y cierra el software.
13.7
Da doble clic en la opción Generate Programing File y espera a que se genere, se
colocará un círculo verde con una palomita para indicar que el archivo se creó
correctamente.
13.8
Conecta la tarjeta de desarrollo Nexys3 y enciéndela.
13.9
Abre el software Digilent Adept.
13.10 Da clic en el botón Browse, entra en la carpeta del proyecto creado y selecciona
el archivo .bit y presiona enter.
13.11 Da clic en el botón program, esperar a que se termine la programación.
13.12 Verifica el funcionamiento correcto de la memoria.
13.13 Modifica el código de manera que en cada display de 7 segmentos de la tarjeta de
desarrollo se exhiba una “H” cuando las salidas están en alta impedancia (escritura
o sin acción) y cuando se lea una localidad aparezcan los valores de los 4 bits de
la localidad.
13.14 Repite los pasos 13.4 a 13.12.
13.15 Apaga la tarjeta, desconecta y guarda el equipo utilizado.
13.16 Escribir lo realizado en la práctica detalladamente, con sus respectivas
observaciones.
Laboratorio de Diseño de Sistemas Digitales
52
Práctica No. 13
Diseño de una memoria RAM en VHDL
COMPRENSIÓN
1.- ¿Qué significa RAM y para qué se utiliza?
2.- ¿Cuál es el principio de funcionamiento de una memoria RAM?
3.- Menciona 2 aplicaciones de las memorias RAM
CONCLUSIONES
Laboratorio de Diseño de Sistemas Digitales
53
Práctica No. 13
Diseño de una memoria RAM en VHDL
Laboratorio de Diseño de Sistemas Digitales
54
Práctica No. 14
Máquinas de Estado Finito
/
/
MÁQUINAS DE ESTADO FINITO (DEM)
Práctica 14
Procedimiento
0
1
2
0
1
2
0
1
0
1
3
4
Participación
Calificación
de la Práctica
Comprensión
Conclusiones
2
3
OBJETIVO
El alumno conocerá la importancia del diseño de una máquina de estados finitos (FSM) y
diseñará mediante una FSM el control de un sistema de bombeo residencial.
MATERIAL
1)
2)
3)
4)
5)
Tarjeta de Desarrollo NEXYS™ 3.
Software Xilinx® ISE Design Suite.
Software Xilinx® PlanAhead.
Software Diligent® Adept.
Equipo de Cómputo.
PROCEDIMIENTO
14.1
Conseguir la función que represente la operación de una bomba de agua
controlada por sensores de nivel, tal como se observa en la Figura 14.1 ilustrada
abajo, considerando que se desea mantener en el tinaco el mayor nivel de agua
disponible.
14.2
Dibujar el grafo correspondiente a la FSM del problema anterior.
Laboratorio de Diseño de Sistemas Digitales
55
Práctica No. 14
Máquinas de Estado Finito
Figura 14.1 Sistema de bombeo con protección en tinaco y cisterna
“Imagen de creación propia”
14.3
Abrir el software Xilinx® ISE Design Suite y generar un nuevo proyecto.
14.4
Incluir en el proyecto recién creado, un nuevo módulo VHDL.
14.5
Realizar el programa del control del nivel deseado para el tinaco de acuerdo al
grafo del punto 14.2.
14.6
Guardar los cambios y sintetizar el proyecto.
14.7
En el Software Xilinx® PlanAhead (abrir de la barra de menú -> PlanAhead ->
Floorplan) nombrar todas las entradas y salidas necesarias con los pines
correspondientes.
14.8
Guardar los cambios y cerrar el software.
Laboratorio de Diseño de Sistemas Digitales
56
Práctica No. 14
Máquinas de Estado Finito
14.9
Dar doble clic en la opción Generate Programing File y esperar a que se genere.
(Para indicar que el archivo se creó correctamente, aparecerá un círculo verde con
una palomita en medio).
14.10
Conectar la Tarjeta de Desarrollo NEXYS™ 3y encenderla.
14.11
Abrir el software Diligent® Adept.
14.12
Dar clic en el botón Browse, entrar en la carpeta del proyecto creado y
seleccionar el archivo con la extensión .bit.
14.13
Dar clic en el botón Program y esperar a que se termine la programación.
14.14
Realizar la debida comprobación del correcto funcionamiento de la descripción
del circuito.
14.15
Apagar la tarjeta, desconectar y guardar el equipo utilizado.
14.16
Escribir lo realizado en la práctica detalladamente, con observaciones.
COMPRENSIÓN
1.- ¿Qué significa FSM y cuáles son los diversos tipos que existen?
Laboratorio de Diseño de Sistemas Digitales
57
Práctica No. 14
Máquinas de Estado Finito
2.- ¿Cuáles son las diferencias entre estos tipos de FSM’s?
3.- ¿Cuál es la FSM más estable ante una entrada no considerada? Justifica tu respuesta
CONCLUSIONES
Laboratorio de Diseño de Sistemas Digitales
58
Práctica No. 15
Control de máquina expendedora mediante FSM en VHDL
/
/
CONTROL DE MÁQUINA EXPENDEDORA
MEDIANTE FSM EN VHDL (DEM)
Práctica 15
Procedimiento
0
1
2
0
1
2
0
1
0
1
3
4
Participación
Calificación
de la Práctica
Comprensión
Conclusiones
2
3
OBJETIVO
Que el alumno sea capaz de diseñar una FSM como unidad de control de una máquina
expendedora de productos y generar la descripción de código en VHDL.
MATERIAL Y EQUIPO A UTILIZAR
1)
2)
3)
4)
5)
Tarjeta de desarrollo NexysTM 3
Software XilinxR ISE WebPack
Software XilinxR PlanAhead
Software Diligent Adept
Equipo de cómputo
Laboratorio de Diseño de Sistemas Digitales
59
Práctica No. 15
Control de máquina expendedora mediante FSM en VHDL
PROCEDIMIENTO
15.1
Diseña una FSM de una máquina expendedora de productos, el producto cuesta
$3.00 pesos y acepta monedas de $1.00 y $2.00 pesos. Suponga que solamente se
puede introducir una moneda a la vez y que la máquina tiene monedas ilimitadas
para dar cambio.
15.2
Abre el software Xilinx ISE WebPack y genera un nuevo proyecto.
15.3
Incluye en el proyecto recién creado un nuevo módulo VHDL.
15.4
Basado en el diseño anterior de la FSM, programa el sistema de control de la
máquina expendedora de productos.
15.5
Guarda los cambios y sintetiza el proyecto.
15.6
En el Software Xilinx PlanAhead (abrir de la barra de menú -> PlanAhead ->
Floorplan) nombra todas las entradas y salidas necesarias con los pines
correspondientes.
Laboratorio de Diseño de Sistemas Digitales
60
Práctica No. 15
Control de máquina expendedora mediante FSM en VHDL
15.7
Guarda los cambios y cierra el software.
15.8
Da doble clic en la opción Generate Programing File y espera a que se genere, se
colocará un círculo verde con una palomita para indicar que el archivo se creó
correctamente.
15.9
Conecta la tarjeta de desarrollo Nexys3 y enciéndela.
15.10 Abre el software Digilent Adept.
15.11 Da clic en el botón Browse, entra en la carpeta del proyecto creado y selecciona
el archivo .bit y presiona enter.
15.12 Da clic en el botón program, esperar a que se termine la programación.
15.13 Verifica el funcionamiento correcto del sistema de control.
15.14 Modifica el código de manera que en los displays de 7 segmentos de la tarjeta de
desarrollo se exhiba en el primero una “P”, en el segundo el estado si se entrega
producto representado con un “1” o no se entrega producto representado con un
“0”, en el tercero una “C” y en el cuarto el estado sobre si se entrega cambio
representado con un “1” o no se entrega cambio representado con un “0”.
15.15 Repite los pasos 15.5 a 15.13.
15.16 Apaga la tarjeta, desconecta y guarda el equipo utilizado.
15.17 Escribir lo realizado en la práctica detalladamente, con sus respectivas
observaciones.
Laboratorio de Diseño de Sistemas Digitales
61
Práctica No. 15
Control de máquina expendedora mediante FSM en VHDL
COMPRENSIÓN
1.- ¿Qué significa FSM y cuáles son los diversos tipos que existen?
2.- ¿Cuáles son las diferencias entre estos tipos de FSM’s?
3.- ¿Cuál es la FSM más estable ante una entrada no considerada? Justifica tu respuesta
CONCLUSIONES
Laboratorio de Diseño de Sistemas Digitales
62
Práctica No. 16
Control de un motor a pasos mediante FSM en VHDL
/
/
CONTROL DE UN MOTOR A PASOS
MEDIANTE FSM EN VHDL (DEM)
Práctica 16
Procedimiento
0
1
2
0
1
2
0
1
0
1
3
4
Participación
Calificación
de la Práctica
Comprensión
Conclusiones
2
3
OBJETIVO
Que el alumno sea capaz de diseñar una FSM como unidad de control de una motor a pasos y
generar la descripción de código en VHDL
MATERIAL Y EQUIPO A UTILIZAR
1)
2)
3)
4)
5)
Tarjeta de desarrollo NexysTM 3
Software XilinxR ISE WebPack
Software XilinxR PlanAhead
Software Diligent Adept
Equipo de cómputo
Laboratorio de Diseño de Sistemas Digitales
63
Práctica No. 16
Control de un motor a pasos mediante FSM en VHDL
PROCEDIMIENTO
16.1
Diseña una FSM para el control de giro de un motor a pasos de 6 hilos, donde se
podrá seleccionar el giro del motor o si éste queda en reposo, es decir, sin
movimiento.
16.2
Abre el software Xilinx ISE WebPack y genera un nuevo proyecto.
16.3
Incluye en el proyecto recién creado un nuevo módulo VHDL.
16.4
Basado en el diseño anterior de la FSM, programa el sistema de control del motor
a pasos.
16.5
Guarda los cambios y sintetiza el proyecto.
16.6
En el Software Xilinx PlanAhead (abrir de la barra de menú -> PlanAhead ->
Floorplan) nombra todas las entradas y salidas necesarias con los pines
correspondientes.
16.7
Guarda los cambios y cierra el software.
Laboratorio de Diseño de Sistemas Digitales
64
Práctica No. 16
Control de un motor a pasos mediante FSM en VHDL
16.8
Da doble clic en la opción Generate Programing File y espera a que se genere, se
colocará un círculo verde con una palomita para indicar que el archivo se creó
correctamente.
16.9
Conecta la tarjeta de desarrollo Nexys3 y enciéndela.
16.10
Abre el software Digilent Adept.
16.11
Da clic en el botón Browse, entra en la carpeta del proyecto creado y selecciona
el archivo .bit y presiona enter.
16.12
Da clic en el botón program, esperar a que se termine la programación.
16.13
Verifica el funcionamiento correcto del sistema de control.
16.14
Modifica el código de manera que en los displays de 7 segmentos de la tarjeta de
desarrollo se exhiba el corrimiento de la señal de control para el giro del motor,
donde un “1” represente salida en voltaje alto y un “0” una salida en voltaje bajo.
16.15
Repite los pasos 15.5 a 15.13.
16.16
Conecta el circuito del driver L298 para el control de un motor a pasos.
16.17
Modifica el código para poder sacar las señales de control por uno de los puertos
PMod y conéctalas al circuito del driver L298 para controlar físicamente el motor.
16.18
Comprueba el funcionamiento del motor con el programa del control.
16.19
Apaga la tarjeta, desconecta y guarda el equipo utilizado.
16.20 Escribir lo realizado en la práctica detalladamente, con sus respectivas
observaciones.
Laboratorio de Diseño de Sistemas Digitales
65
Práctica No. 16
Control de un motor a pasos mediante FSM en VHDL
COMPRENSIÓN
1.- Dibuje el diagrama de un motor a pasos de 6 hilos.
2.- ¿Cuál es el principio de funcionamiento de un motor a pasos?
3.- ¿Cuáles son las características de un motor a pasos? Menciona 2 aplicaciones.
Laboratorio de Diseño de Sistemas Digitales
66
Práctica No. 16
Control de un motor a pasos mediante FSM en VHDL
CONCLUSIONES
Laboratorio de Diseño de Sistemas Digitales
67
Práctica No. 16
Control de un motor a pasos mediante FSM en VHDL
Laboratorio de Diseño de Sistemas Digitales
68
Especificaciones de la tarjeta de desarrollo NexysTM 3
Anexo A
ESPECIFICACIONES DE LA TARJETA DE
DESARROLLO NEXYSTM 3
Anexo A
Compendio extraído de Nexys 3 Reference Manual
https://reference.digilentinc.com/reference/programmable-logic/nexys3/reference-manual
Figura A.1 Tarjeta de desarrollo Nexys TM 3
Imagen tomada de: https://store.digilentinc.com/nexys-3-spartan-6-fpga-trainer-board-limited-time-see-nexys4-ddr/
INTRODUCCIÓN
La tarjeta de desarrollo Nexys3 es una plataforma de desarrollo de circuitos digitales completa y
lista para usarse basada en el FPGA Spartan-6 LX16 de Xilinx, proporcionando grandes
capacidades y un alto desempeño. Dentro de las características más importantes de la plataforma
son las siguientes:











Xilinx Spartan-6 LX16 FPGA en un paquete BGA de 324 pines
16Mbyte Cellular RAM (x16)
Memoria no volátil SPI PCM de 16Mbytes
Memoria PCM paralela no volátil de 16Mbytes
10/100 Ethernet PHY
Puerto USB2 integrado para programación y datos
Puertos USB-UART y USB-HID para ratón y teclado
Puerto VGA de 8 bits
Oscilador CMOS de 100MHz
72 I/O’s mapeadas a conectores de expansión
GPIO que incluyen 8 LED's, 6 botones momentáneos, 8 interruptores deslizables y 1
display de 4 dígitos de 7 segmentos.
Laboratorio de Diseño de Sistemas Digitales
69
Anexo A
Especificaciones de la tarjeta de desarrollo NexysTM 3
La siguiente imagen muestra la distribución de los diversos componentes que conforman la
tarjeta de desarrollo Nexys3.
Figura A.2 Distribución de los componentes de la tarjeta de desarrollo Nexys TM 3
Imagen tomada de: https://reference.digilentinc.com/reference/programmable-logic/nexys-3/reference-manual
ALIMENTACIÓN
La tarjeta Nexys3 puede ser alimentada por medio del puerto Adept USB o por medio de una
fuente externa de alimentación. Para seleccionar la fuente de alimentación con la que se
energizará la tarjeta Nexys3 se utiliza el jumper JP1 (Figura A.2 “Power Select Jumper”),
colocado a un costado del jack de alimentación.
Para alimentar la tarjeta por medio del puerto USB es necesario poner el jumper JP1 en la
posición de “USB”. El puerto USB puede entregar suficiente potencia para la gran mayoría de
80
Laboratorio de Diseño de Sistemas Digitales
70
Anexo A
Especificaciones de la tarjeta de desarrollo NexysTM 3
los diseños que se implementen. Es posible, para aplicaciones muy demandantes de potencia,
como lo son el caso en el que la aplicación controle varias tarjetas periféricas, o aplicaciones que
necesiten funcionar sin estar conectadas al puerto USB de una computadora, energizar a la tarjeta
Nexys3 por medio de una fuente externa de alimentación.
Para poder energizar la tarjeta a partir de una fuente externa es necesaria colocar el jumper JP1
en la posición de “WALL” para habilitar dicha entrada. Como fuentes de alimentación externas
para la Nexys3 se pueden usar, tanto un eliminador de pared como un paquete de baterías y
debido a que estos dos tipos de entradas están conectadas en paralelo para activarse con la misma
posición del jumper JP1 NO DEBEN CONECTARSE DE MANERA SIMULTÁNEA a la
Nexys3.
Cualquiera que sea el tipo de alimentación externa que se utilice, ésta debe ser capaz de
proporcionar al menos 5W de potencia de entrada y, en el caso del eliminador de pared debe usar
un plug con diámetro interno de 2.1mm y centro positivo. El paquete de baterías debe conectarse
en el conector J11, el cual está paralelo al Jack de alimentación. El regulador principal de la
Nexys3 puede regular hasta un voltaje de entrada de 5.5VDC, por lo que cualquiera de las dos
fuentes externas no debe superar este voltaje de entrada.
Figura A.3 Diagrama para la alimentación de la tarjeta de desarrollo Nexys TM 3.
Imagen obtenida de: https://reference.digilentinc.com/reference/programmable-logic/nexys-3/reference-manual
El suministro de energía de la Nexys3 es activado por medio del interruptor deslizable (“Power
Switch” Figura A.2) SW8, el cual debe ser colocado en la posición de ON, y una vez que se
activa el suministro de energía el LED LD8 encenderá para confirmar que la tarjeta está
energizada.
Laboratorio de Diseño de Sistemas Digitales
71
Especificaciones de la tarjeta de desarrollo NexysTM 3
Anexo A
ENTRADAS Y SALIDAS BÁSICAS (GPIO’s)
La Tarjeta Nexys3 incluye 8 interruptores deslizables, 5 botones momentáneos, 8 LED’s
individuales y 1 display de 4 dígitos de 7 segmentos. Los botones y los interruptores están
conectados al FPGA a través de una resistencia en serie para prevenir daños debido a
cortocircuitos inesperados (que podría ocurrir si uno de los pines asignados a estos componentes
es definido por error como una salida). Los botones generan normalmente una salida lógica baja
cuando están en reposo, y una salida lógica alta solamente cuando están presionados. Los
interruptores deslizables generan una señal lógica constante alta o baja dependiendo de la
posición en la que se encuentren.
Los 8 LED’s individuales son de alta eficiencia, están conectados al FPGA por el ánodo a través
de una resistencia de 390 Ohms, por lo que encienden cuando se aplica un voltaje lógico alto en
su pin respectivo.
Figura A.4 Entradas y salidas básicas de la tarjeta de desarrollo NexysTM 3
Imagen obtenida de: https://reference.digilentinc.com/reference/programmable-logic/nexys-3/reference-manual
Laboratorio de Diseño de Sistemas Digitales
72
Anexo A
Especificaciones de la tarjeta de desarrollo NexysTM 3
Cada uno de los 4 dígitos del display está compuesto de 7 segmentos y son de ánodo común. Los
ánodos de los 7 LED’s de cada segmento están unidos en un nodo común, pero los cátodos se
mantienen separados. Las señales de los ánodos comunes están disponibles como señales de
entrada de activación de cada dígito para el display de 4 dígitos. Los cátodos de los segmentos
similares en los 4 dígitos están conectados en un solo nodo, cada uno de éstos 8 nodos están
nombrados como CA, CB, CC, CD, CE, CF y DP. Estas 7 señales de los cátodos están
disponibles como entradas para el display de 4 dígitos. Esto genera un esquema de display
multiplexado.
CONECTORES PMOD
Los conectores Pmod son conectores hembra de 2x6 que se acoplan con los headers macho de
2x6 estándares que están disponibles en el mercado. Cada conector de 12 pines proporciona 2
señales de 3.3V VCC (pin 6 y 12), 2 señales de tierra GND (pin 5 y 11), y 8 señales lógicas. Los
pines VCC y GND pueden entregar hasta 1A de corriente. Las señales de datos de los Pmod nos
son emparejados, y están mapeados usando las mejores pistas disponibles sin control de
impedancia o retraso de emparejamiento.
En la siguiente imagen se muestra la numeración de los pines de los conectores Pmod, y cuáles
son los pines del FPGA que le corresponden a cada conector.
Figura A.5 Diagrama y correspondencia de pines de conectores Pmod de la tarjeta de desarrollo Nexys TM 3
Imagen obtenida de: https://reference.digilentinc.com/reference/programmable-logic/nexys-3/reference-manual
Laboratorio de Diseño de Sistemas Digitales
73
Anexo A
Especificaciones de la tarjeta de desarrollo NexysTM 3
Laboratorio de Diseño de Sistemas Digitales
74
Anexo B
Tutorial VHDL
TUTORIAL VHDL
Anexo B
INTRODUCCIÓN
VHDL es un lenguaje descriptivo, cuyas siglas significan “Very High Speed Integrated Circuit
Hardware Description Language”, es útil para modelar sistemas digitales y además es un
lenguaje comprensible tanto para el humano como para la máquina. Fue diseñado para el
modelado y simulación de sistemas digitales y para la síntesis automática de circuitos. VHDL es
un lenguaje con capacidades de sintaxis amplia y flexible, pues permite un modelado estructural,
un fácil flujo de datos y permite describir el comportamiento de hardware.
Entre las ventajas con las que cuenta VHDL para su utilización son:
 Permite diseñar, modelar y comprobar.
 Reutilización de código.
 Es un lenguaje estándar.
 Permite el diseño modulado.
 Se utiliza mediante un diseño Top-Down, lo cual permite modular, simular y refinar los
diseños.
 Puede ser sintetizado por cualquier herramienta utilizada.
ELEMENTOS PARA DESCRIPCIÓN DE CIRCUITOS
Para poder describir circuitos mediante VHDL es necesario conocer los elementos básicos de
descripción para poder diseñar. Toda descripción en VHDL está al menos compuesta por tres
elementos:
 Bibliotecas.
 Entidades.
 Arquitecturas
Laboratorio de Diseño de Sistemas Digitales
75
Anexo B
Tutorial VHDL
Aunque también existen otros elementos importantes en un diseño como son:
 Configuración
 Declaración del paquete
 Cuerpo del paquete
Las declaraciones de entidad, paquete y configuración se consideran unidades de diseño
primarias, mientras que la arquitectura y el cuerpo del paquete son unidades de diseño
secundarias por que dependen de una entidad primaria que se debe analizar entre ellas.
Entidad
Una entidad es el elemento que describe la conexión de un circuito o sistema con el exterior. En
esta etapa se caracterizan las entradas y salidas del sistema. Según el nivel de descripción,
pueden reflejar diversas terminales.
Generalizando, la sintaxis de declaración de una entidad es:
entity< identificador> is
generic(lista de parámetros);[cabecera]
port(lista de puertos);
[declaraciones]
[begin sentencias]
end entity[< identificador>];
Las sentencias generic y port son las que más significado tienen a pesar de ser opcionales. La
instrucción generic sirve para definir y declarar propiedades o constantes del módulo que está
siendo declarado en la entidad. La instrucción port, también opcional como el resto de las partes
de la entidad, define las entradas (in) y salidas (out) del módulo que está siendo definido.
Junto a los modos in y out existen otros que también pueden ser usados. Uno de estos modos es
el inout, que sirve tanto de entrada como de salida, por lo que puede ser usado en el programa
como de lectura y escritura. Otro modo de puerto es el buffer, que es equivalente al out, con la
diferencia de que se puede leer. Aunque se parece al inout, en realidad es muy diferente, ya que
externamente no se le puede dar ningún valor.
El último tipo, muy poco usado y poco aconsejable es el linkage, que es también como el inout,
pero sólo puede emplearse con elementos de tipo linkage. Este modo se utiliza para enlazar con
Laboratorio de Diseño de Sistemas Digitales
76
Anexo B
Tutorial VHDL
otros módulos que no necesariamente están escritos en VHDL, es decir, se utilizan para hacer de
interfaz con otros modelos de otras herramientas.
Arquitectura
La arquitectura (architecture) se define en VHDL para describir el funcionamiento interno de las
entidades (entity). Dentro de una arquitectura se utilizan todos los recursos del lenguaje que
permiten describir comportamiento, flujo de datos (procesos, bloques, sentencias condicionales,
creación y asignación a objetos, etc.).
La sintaxis de declaración de una arquitectura es la siguiente:
architecture< identificador_arquitectura > of <indetificador_entidad>
-- Zona de declaraciones
begin
--Cuerpo de la arquitectura
[sentencias concurrentes]
end [architecture][< identificador_arquitectura >];
De forma similar a la descripción de entidades, las arquitecturas disponen de una línea inicial, en
la que se indica su nombre y el de la entidad a la que se va asociada, y una línea para finalizar la
declaración. Entre ambas existen dos partes bien definidas diferenciadas: una zona de
declaraciones de los distintos objetos, subprogramas, componentes y otros elementos a utilizar, y
un cuerpo donde se describe el funcionamiento del circuito. Toda sentencia en el cuerpo de una
arquitectura es concurrente, a menos que esté incluida a su vez dentro de un proceso. Para cada
entidad es posible definir varias arquitecturas.
Bibliotecas
Las bibliotecas (libraries) almacenan las unidades de diseño resultantes del análisis
(comprobaciones sintáctica y semántica y compilación) para su uso posterior.
Es usual la siguiente clasificación:
 Bibliotecas de trabajo: almacenan las unidades que modelan el diseño actual. Ejemplo de
ellas el work.
 Bibliotecas de recursos: contienen declaraciones de tipos, objetos, atributos, subprogramas, componentes, etc. frecuentemente utilizados, agrupados en paquetes. Ello
facilita la compartición y reutilización del código de diseños distintos. Ejemplos de éstas
son la biblioteca std y la biblioteca IEEE.
Laboratorio de Diseño de Sistemas Digitales
77
Anexo B
Tutorial VHDL
Paquetes
La sintaxis de la declaración del paquete es la siguiente:
package <identificador_paquete> is
-- zona de declaraciones:
-- tipos, subtipos, constantes, señales, ficheros, variables compartidas, alias,
-- subprogramas, componentes y atributos
-- especificación de atributos y desconexiones
-- sentencia use
end package [<identificador_paquete>];
Los elementos declarados en este paquete se pueden usar en cualquier descripción, previa
inserción de la sentencia para hacer visible su contenido. Suponiendo que el paquete forma parte
de una biblioteca denominada «LIB_1», se accede al mismo por medio de las sentencias:
library LIB_1;
use LIB_1. varios.all;
En el paquete no se ha especificado el comportamiento de la función declarada, por que ello
corresponde hacerlo en otra unidad de diseño, el cuerpo del paquete, cuya sintaxis es la
siguiente:
package body <identificador_paquete> is
-- Declaraciones locales y definiciones de:
-- subprogramas, constantes, variables compartidas, tipos, subtipos,
ficheros y alias,
-- sentencia use
end package body [<identificador_paquete>];
Laboratorio de Diseño de Sistemas Digitales
78
Anexo B
Tutorial VHDL
ELEMENTOS SINTÁCTICOS
Son los elementos que permiten generar el código en el lenguaje VHDL para su correcto
funcionamiento, así como para identificar y describir el sistema con comentarios. Los elementos
sintácticos son:
Comentarios
Cualquier línea que empieza por dos guiones “--” es un comentario.
Símbolos especiales
Además de las palabras reservadas existen símbolos o caracteres especiales. Los hay de un solo
carácter como +, -, /, *, (, ), ., ,, :, ;, &, ‘, >, =, |, # y de dos caracteres como **, =>, :=, /=, >=,
<=, <>, --.
Identificadores
Se utilizan para dar nombre a los diferentes objetos del lenguaje. No se permiten símbolos
especiales, palabras reservadas y que inicie con un número o subrayado.
Números
Cualquier número se considera que está en base 10. Se permite la notación científica para
números de punto flotante. Es posible representar números en otras bases utilizando el símbolo
de gato “#”.
Caracteres
Es cualquier número o letra entre comillas simples ‘A’, ‘3’.
Cadenas
Son un conjunto de caracteres englobados por comillas dobles: “Esta es una cadena de
caracteres”.
Laboratorio de Diseño de Sistemas Digitales
79
Anexo B
Tutorial VHDL
Operadores
 Operador de concatenación &: (concatenación) Concatena matrices de manera que la
dimensión de la matriz resultante es la suma de las dimensiones de las matrices sobre las
que opera.
 Operadores aritméticos:
o ** (Exponencial).- Eleva un número (real, entero) a un potencia (entero) .
o ABS (Valor absoluto).- Entrega el valor absoluto de cualquier número.
o * (Multiplicación).- Multiplica dos números de tipo numérico (entero, real).
o / (División).- Al igual que la multiplicación, únicamente funciona con números de
tipo numérico.
o MOD (Módulo).- Calcula el modulo de dos números (enteros). a=b*N+(a mod b)
y el resultado toma el signo de b.
o REM (Resto).- Calcula el resto de la división entera y se define como el operador
que cumple que a = (a/b) * b + (a REM b).
o + (Suma).- Realiza la suma si se encuentra en medio de dos operandos (cualquier
tipo numérico) o indica signo positivo si se encuentra al principio de una
expresión.
o - (Resta).- Cuando se encuentra entre dos operandos (cualquier tipo numérico)
realiza la resta y representa el signo negativo cuando está al inicio de una
expresión.
 Operadores de desplazamiento:
o SLL, SRL (desplazamiento lógico a la izquierda y a la derecha).- Hace un
corrimiento lógico a la izquierda (SLL) o a la derecha (SRL) rellenando con
ceros los huecos libres.
o SLA, SRA (desplazamiento aritmético a la izquierda y a la derecha).- En este
caso el corrimiento permite la conservación del signo. Es decir conserva el bit de
signo del vector (mas significativo).
Laboratorio de Diseño de Sistemas Digitales
80
Anexo B
Tutorial VHDL
o ROL, ROR (rotación a la izquierda o derecha).- Es como el corrimiento, pero
los huecos que se forman son ocupados por los bits que van saliendo.
 Operadores relacionales (devuelven un valor de tipo booleano “true o false”):
o =, /= (igualdad).- El primero devuelve true si los operandos son iguales, en caso
contrario es false. El segundo indica desigualdad. Los operandos deben ser del
mismo tipo.
o <, <=, >, >= (menor mayor).- En este caso el tipo de datos que pueden manejar
son siempre de tipo escalar o matrices de una sola dimensión de tipos discretos.
 Operadores lógicos: NOT, AND, NAND, OR, NOR, XOR y XNOR. El funcionamiento
es habitual para este tipo de operadores. Éstos actúan sobre los tipos bit, bit_vector y
boolean. En operaciones con vectores la comparación se hace bit a bit, incluyendo la
NOT.
 Precedencia de operadores
Tipos de datos
Los tipos son los valores (datos) que el diseñador establece para los puertos de entrada y salida
de una entidad; se asignan de acuerdo con las características de un diseño en particular.
 Bit.- El cual tiene valores de 0 y 1 lógicos.
 Boolean.- Define valores de verdadero y falso en una expresión.
 Bit_vector (vectores de bits).- Presenta un conjunto de bits para cada variable de entrada
o salida.
Laboratorio de Diseño de Sistemas Digitales
81
Anexo B
Tutorial VHDL
 Integer (entero).- Representa un número entero.
Se utilizan para definir el valor que un objeto puede tomar, así como las operaciones que se
realizan con ese objeto. Los tipos de datos se clasifican en dos grupos.
•
Escalares.- Son aquellos que pueden tomar un solo valor al momento de ser simulados.
o Tipo enteros.- VHDL soporta valores enteros en el intervalo -2,147,483,647
(2^31 -1) a 2,147,483,647 (2^31 -1).
o Tipo reales.- valores reales en el intervalo -1.0E38 a 1.0E38.
La sintaxis en ambos tipos es la siguientes:
objet identificador: type range [valores];
“range” se usa para definir un conjunto de valores.
o Tipo físicos.- Se refiere a los valores que se usan como unidades de medida. En
VHDL el único tipo físico que se encuentra predefinido es time (tiempo), el cual
contiene como unidad primaria el femto segundo (fs). Se definen de la siguiente
manera:
type time is range 0 to 1E20
units
fs;
ps=1000 fs;
ns=1000 ps;
us=1000ns;
ms=1000us; …..
h = 60 min;
end units
•
Compuestos.- Son aquellos que pueden tomar diversos valores al momento de simular el
diseño.
o Tipo arreglo.- Son una colección de elementos del mismo tipo a los que se
accede mediante un índice. La sintaxis utilizada para declarar un arreglo es:
Laboratorio de Diseño de Sistemas Digitales
82
Anexo B
Tutorial VHDL
type identificador is array (rango) of tipo_objetos;
type dígitos is array (9 downto 0) of integer;
type byte is array (7 downto 0) of bit;
type dirección is array (10 downto 62) of bit;
type tabla is array (0 to 3, 0 to 2) of bit;
o Tipo registros.- A diferencia de los arreglos, los tipos registro están formados por
elementos de diferentes tipos, los cuales reciben el nombre de campo. Cada uno
de estos campos debe tener un nombre que permita identificarlos con facilidad
dentro del tipo. La sintaxis utilizada para declarar un arreglo es:
type identificador is record
identificador: tipo;
end record;
Constantes
Una constante es un objeto que almacena un único valor durante toda la simulación u operación,
es decir, su valor no se altera. Debido a su carácter, las constantes han de inicializarse al
momento de ser declaradas. La sintaxis utilizada para declarar una constante es:
Constant identificador: tipo:= valor;
Variables
Las variables almacenan valores que pueden cambiar a lo largo de la simulación. Las variables
solamente pueden declararse y utilizarse dentro de proceso y subprogramas (funciones y
procedimientos), por lo tanto son de tipo local. Al declarar una variable puede asignársele un
valor inicial. La sintaxis utilizada para declarar una variable es:
variable identificador: tipo;
Señales
Son objetos utilizados como alambrados que permiten simular la interconexión de componentes
dentro de la arquitectura de diseño. Una señal no es exactamente un objeto del lenguaje que
guarda un valor, sino que lo hace en realidad es guardar el valor y hacerlo visible en el momento
indicado. La sintaxis utilizada para declarar una señal es:
signal identificador: tipo;
Laboratorio de Diseño de Sistemas Digitales
83
Anexo B
Tutorial VHDL
VHDL CONCURRENTE
Son aquellas que se ejecutan simultáneamente en la operación del diseño, es decir no existe una
prioridad entre unas u otras. Se utilizan en el modelado de hardware, por que describen
adecuadamente su comportamiento. Deben formar parte del cuerpo de arquitecturas o de
bloques.
Proceso
Es la sentencia concurrente definida en VHDL para agrupar internamente sentencias
secuenciales. Su sintaxis de declaración es la siguiente:
[etiqueta]: [postponed] process [(lista de sensibilidad)] is
-- Zona de declaraciones
-- subprogramas (funciones y procedimientos)
-- tipos, subtipos, objetos (excepto señales y variables compartidas)
-- Alias, atributos
-- Cláusulas use
begin
-- Cuerpo del proceso:
-- sólo sentencias secuenciales
end [postponed] process [etiqueta];
La lista de sensibilidad, hace referencia a un conjunto de señales cuyo cambio activa la ejecución
de un proceso. Postponed es una instrucción que se utiliza para posponer la ejecución de un
proceso, sin embargo se emplea en simulación de un modelo.
Bloques
Presenta una sintaxis similar al proceso, sin embargo su contenido es muy diferente. Los bloques
son sentencias concurrentes que agrupan a otras sentencias concurrentes. No poseen lista de
sensibilidad; en lugar de eso hacen uso del concepto signal guarded para asignación condicional
a señales. Permiten declarar puertos y genéricos para la interfaz con el exterior, y otra
característica es la de admitir declaraciones locales de señales. La sintaxis de un bloque es la
siguiente:
Laboratorio de Diseño de Sistemas Digitales
84
Anexo B
Tutorial VHDL
[etiqueta]: block [(condición guarded)] is -- La etiqueta es obligatoria
-- cabecera del bloque
--Zona de declaraciones (se permiten las mismas que en una arquitectura)
begin
-- Cuerpo del bloque: sólo sentencias concurrentes
end block [etiqueta];
La condición opcional guarded permite la asignación condicional a señales mediante sentencias
en el cuerpo del bloque que sólo se activan cuando dicha condición se cumple.
Sentencia when-else
Esta condición permite realizar asignaciones condicionales de valores, expresiones u objetos a
señales. Su sintaxis es la siguiente:
[etiqueta]: señal <= valor_1 when condición_1 else
valor_2 when condición_2 else
valor_3 when condición_3 else
:
valor_n when condición_n [else unaffected];
La palabra Unaffected significa que no hay asignación o la señal no se ve afectada.
Sentencia with-select
Esta sentencia es concurrente, es decir, solamente puede aparecer dentro de estructuras y
bloques. Su sintaxis es la siguiente:
[etiqueta]: with expresión select
señal <= asignación_1 when valor_1,
asignación_2 when valor_2,
:
asignación_n when valor_n,
[unaffected when others];
Laboratorio de Diseño de Sistemas Digitales
85
Anexo B
Tutorial VHDL
VHDL SECUENCIAL
Son sentencias secuenciales las que solamente pueden aparecer dentro de procesos y
subprogramas. Estas sentencias se ejecutan ordenadamente, al contrario de lo que ocurre con las
sentencias concurrentes, en las que no importa el orden en el que están colocadas.
Sentencia wait
Es una de las más utilizadas en el modelado de circuitos síncronos. Wait detiene las ejecución de
un proceso (process) o un procedimiento en espera de que se cumpla un condición. Está
prohibido trabajar simultáneamente con wait y variables sensibles en un proceso. Su sintaxis es
la siguiente:
[etiqueta]: wait [on señal_1, señal_2,…]
[until condición]
[for expresión temporal]
Sentencia if-then-elsif-else
Es la estructura típica para utilizar una acción u otra según el resultado de una expresión
booleana, siendo equivalente en significado a estructuras de mismo tipo en lenguaje. Su sintaxis
es la siguiente:
[etiqueta]: if condición then
-- sentencias secuenciales
elsif condición then -- se admiten cero o varios elsif
-- sentencias secuenciales
else
-- se admite sólo un else
-- sentencias secuenciales
end if;
Sentencia case-when
La sentencia case-when permite seleccionar una entre varias alternativas excluyentes entre sí
(sólo se debe satisfacer una en cada ejecución) de una expresión determinada y desviar el flujo
de ejecución hacia las sentencias relacionadas con una de ellas. Su sintaxis es la siguiente:
Laboratorio de Diseño de Sistemas Digitales
86
Anexo B
Tutorial VHDL
[etiqueta]: case expresión is
when caso => sentencias;
{when caso => sentencias;}
[when others => sentencias;]
end case [etiqueta];
Cíclo for-loop
Esta sentencia causa la ejecución de un cíclo un número fijo de veces. Resultan necesarias las
indicaciones de un índice y un rango. El índice es una variable discreta, enumerada o entera, que
no es preciso declarar y que cambia su valor en una unidad por cada ejecución del cíclo a lo
largo del rango especificado. La sintaxis es la siguiente:
[etiqueta_for]:
for indice in rango
loop
-- sentencias;
end loop [etiqueta_for];
Cíclo while-loop
La palabra reservada while impone la condición de repetición. El cíclo se repite en tanto la
condición que aparece tras while sea verdadera.
[etiqueta_while]:
while condición
loop
-- sentencias;
end loop [etiqueta_while];
Cíclo loop
Ejecuta un ciclo infinito. La sintaxis es la siguiente:
[etiqueta_loop]:
loop
-- sentencias secuenciales
end loop [etiqueta_loop];
Laboratorio de Diseño de Sistemas Digitales
87
Anexo B
Tutorial VHDL
La única sentencia que rompe la ejecución del ciclo infinito es exit. La sentencia NULL indica
que no se realiza ninguna operación.
Interrupción en cíclos
Next permite detener la ejecución de la iteración actual y pasar a la siguiente. Exit detiene la
ejecución en ese instante y sale del bucle. La sintaxis es la siguiente:
[etiqueta_next]:
next identificador when condición;
[etiqueta_exit]:
exit identificador when condición;
PALABRAS RESERVADAS EN VHDL
ABS
ACCESS
AFTER
ALIAS
ALL
AND
ARCHITECTURE
ARRAY
ASSERT
ATTRIBUTE
BEGIN
BLOCK
BODY
BUFFER
BUS
CASE
COMPONENT
CONFIGURATION
CONSTANT
DISCONNECT
DOWNTO
ELSE
ELSIF
END
ENTITY
EXIT
FILE
FOR
FUNCTION
GENERATE
GENERIC
GROUP
GUARDED
IF
IMPURE
IN
INERTIAL
INOUT
IS
LABEL
LIBRARY
LINKAGE
LITERAL
LOOP
MAP
MOD
NAND
NEW
NEXT
NOR
NOT
NULL
OF
ON
OPEN
OR
OTHERS
OUT
PACKAGE
PORT
POSTPONED
PROCEDURE
PROCESS
PURE
RANGE
RECORD
REGISTER
REJECT
REM
REPORT
RETURN
ROL
ROR
SELECT
SEVERITY
SHARED
SIGNAL
SLA
SLL
SRA
SRL
SUBTYPE
THEN
TO
TRANSPORT
TYPE
UNAFFECTED
UNITS
UNTIL
USE
VARIABLE
WAIT
WHEN
WHILE
WITH
XNOR
XOR
Eladio J. Lobo M; C.I. 8.046.862, Henry Mata; C.I. 16.614.451, Dpto. de Electrónica UNEXPO Vice-Rectorado Puerto
Ordaz. (2007). Lenguaje VHDL. Obtenido de: http://lenguajevhdl.blogspot.mx/2007/11/blog-post.html
Laboratorio de Diseño de Sistemas Digitales
88
Anexo C
Multivibradores biestables
MULTIVIBRADORES BIESTABLES
Anexo C
INTRODUCCIÓN
Los circuitos lógicos se dividen en dos tipos, los circuitos combinacionales y los secuenciales.
Los circuitos digitales de tipo secuencial son la base de los sistemas de control automático, cuya
posibilidad de programación ha dado lugar a los autómatas programables. Estos equipos basan su
funcionamiento en una unidad de control programable, que es un sistema secuencial que permite
modificar sus funciones por medio de instrucciones.
Los circuitos lógicos secuenciales se diferencian de los de tipo combinacional en dos detalles
importantes:
1. Los primeros poseen memoria, en el sentido de que el estado de la salida de los circuitos
se puede almacenar como bit binario y permanecer en ese estado hasta recibir la
instrucción de hacer otra cosa.
2. Están equipados con conexiones de retroalimentación que sirven para alimentar esas
salidas almacenadas a compuertas lógicas, ubicadas en el conjunto de circuitos. Los
circuitos secuenciales son la base de contadores y registros, memorias y secuencias de
estado, las cuales son unidades funcionales en el diseño digital.
TIPOS DE CIRCUITOS SECUENCIALES
Los circuitos secuenciales pueden operar en forma síncrona o asíncrona.
Circuitos secuenciales asíncronos
El comportamiento de un circuito asíncrono depende del orden en que cambien las señales de
entrada y puedan ser afectadas en un instante dado de tiempo. Los elementos de memoria de los
circuitos asíncronos comúnmente usados son retardadores de tiempo.
En los sistemas asíncronos tipo compuerta, los elementos de memoria consisten en compuertas
lógicas cuyo retardo constituye su memoria, debido a la realimentación entre las compuertas
lógicas el circuito secuencial asíncrono puede volverse inestable.
Laboratorio de Diseño de Sistemas Digitales
89
Anexo C
Multivibradores biestables
Circuitos secuenciales síncronos
Un sistema lógico secuencial síncrono puede usar señales que afecten los elementos de memoria
únicamente en instantes de tiempo discreto. Los sistemas lógicos secuenciales síncronos
prácticos usan dispositivos de tiempo llamados generador maestro de tiempo, el cual genera un
tren periódico de pulsos de reloj.
Los circuitos secuenciales síncronos que utilizan pulsos de reloj en las entradas de los elementos
de memoria se llaman circuitos secuenciales temporizados.
EL TEMPORIZADOR 555 OSCILADOR ASTABLE
El temporizador 555 es uno de los más conocidos y utilizados circuitos integrados, que se
utilizan tanto en circuitos electrónicos digitales como analógicos.
El funcionamiento del oscilador astable se caracteriza por una sola salida con forma de onda
cuadrada (o rectangular) continua de ancho predefinido por el diseñador del circuito, observar
figura C.1(a). La señal de salida tiene un nivel alto dado por un tiempo T1 y un nivel bajo dado
por un tiempo T2 los tiempos de duración dependen de los valores de las resistencias R1 y
R2,Ver figura C.1(b).
T1= 0.693(R1+R2)C1
T2=0.693R2C1
Donde C1 es un condensador. La frecuencia “f”, con que la señal de salida oscila está dada por:
f1= 1 / (0.693C1 (R1+2R2))
Figura C.1 El temporizador 555 oscilador astable, (a) diagrama de conexión, (b) forma de onda pulsante.
“Imagen de creación propia”
Laboratorio de Diseño de Sistemas Digitales
90
UASLP-FI
“Las marcas e imágenes mostradas son propiedad de sus titulares, y se utilizan con
fines educativos sin lucro, de conformidad con las leyes de la materia”.
Laboratorio de Diseño de Sistemas Digitales
91
Download