practicas
TRANSCRIPT
5/9/2018 Practicas - slidepdf.com
http://slidepdf.com/reader/full/practicas-559dfbe913f2b 1/38
Universidad Nacional de Ingeniería | Jessica Leiva
1
Universidad Nacional de Ingeniería
Jessica Arelys Leiva López
DISEÑO DIGITAL BASADOEN FPGAELECTRÓNICA DIGITAL I
5/9/2018 Practicas - slidepdf.com
http://slidepdf.com/reader/full/practicas-559dfbe913f2b 2/38
Universidad Nacional de Ingeniería | Jessica Leiva
2
ContenidoRecomendaciones generales ........................................................................................ 5
Elaboración del reporte ............................................................................................. 5
Lista de materiales .................................................................................................... 5
Laboratorio 1. Introducción al entorno ISE® de Xilinx ................................................... 6
1.1 Objetivos......................................................................................................... 6
1.2 Introducción .................................................................................................... 6
1.3 Actividades previas ......................................................................................... 6
1.4 Desarrollo de la práctica ................................................................................. 6
1.4.1 Creación de un proyecto en Project Navigator ......................................... 6
1.4.2 Asignación de los pines en la tarjeta Basys2 .............................................. 11
1.4.3 Programación del chip de FPGA ................................................................. 141.5 Actividades propuestas ................................................................................. 15
1.5.1 Práctica ................................................................................................. 15
1.5.2 Actividades de aprendizaje .................................................................... 15
Laboratorio 2. Simulación de un circuito digital ........................................................... 16
2.1 Objetivo ........................................................................................................ 16
2.2 Introducción .................................................................................................. 16
2.3 Actividades previas ....................................................................................... 16
2.4 Desarrollo de la práctica ............................................................................... 16
2.5 Actividades propuestas ................................................................................. 20
2.5.1 Práctica ................................................................................................. 20
2.5.2 Actividades de aprendizaje .................................................................... 20
Laboratorio 3. Estructura de módulos ......................................................................... 21
3.1 Objetivo ........................................................................................................ 21
3.2 Introducción .................................................................................................. 21
3.3 Actividades previas ....................................................................................... 21
3.4 Desarrollo de la práctica ............................................................................... 22
3.4.1 Crear un nuevo proyecto ISE®. ............................................................. 22
3.4.2 Implementar el diseño en FPGA ............................................................ 23
3.5 Actividades propuestas ................................................................................. 23
3.5.1 Práctica ................................................................................................. 23
3.5.2 Actividades de aprendizaje .................................................................... 23
Laboratorio 4. Sumador de dos bits ............................................................................ 24
4.1 Objetivo ........................................................................................................ 24
4.2 Introducción .................................................................................................. 24
5/9/2018 Practicas - slidepdf.com
http://slidepdf.com/reader/full/practicas-559dfbe913f2b 3/38
Universidad Nacional de Ingeniería | Jessica Leiva
3
4.3 Actividades previas ....................................................................................... 24
4.4 Desarrollo de la práctica ............................................................................... 24
4.5 Actividades propuestas ................................................................................. 26
4.5.1 Práctica ................................................................................................. 26
4.5.2 Actividades de aprendizaje .................................................................... 26
Laboratorio 5. Decodificador de BCD a 7 segmentos .................................................. 27
5.1 Objetivo ........................................................................................................ 27
5.2 Introducción .................................................................................................. 27
5.3 Actividades previas ....................................................................................... 28
5.4 Desarrollo de la práctica ............................................................................... 28
5.5 Actividades propuestas ................................................................................. 29
5.5.1 Práctica ................................................................................................. 295.5.2 Actividades de aprendizaje .................................................................... 30
Laboratorio 6. Multiplexores ........................................................................................ 31
6.1 Objetivo ........................................................................................................ 31
6.2 Introducción .................................................................................................. 31
6.3 Actividades previas ....................................................................................... 31
6.4 Desarrollo de la práctica ............................................................................... 31
6.5 Actividades propuestas ................................................................................. 33
6.5.1 Práctica ................................................................................................. 33
6.5.2 Actividades de aprendizaje .................................................................... 33
Laboratorio 7. Registros .............................................................................................. 34
7.1 Objetivo ........................................................................................................ 34
7.2 Introducción .................................................................................................. 34
7.3 Actividades previas ....................................................................................... 34
7.4 Desarrollo de la práctica ............................................................................... 34
7.5 Actividades propuestas ................................................................................. 35
7.5.1 Práctica ................................................................................................. 35
7.5.2 Actividades de aprendizaje .................................................................... 35
Laboratorio 8. Contadores .......................................................................................... 36
8.1 Objetivo ........................................................................................................ 36
8.2 Introducción .................................................................................................. 36
8.3 Actividades previas ....................................................................................... 36
8.4 Desarrollo de la práctica ............................................................................... 36
8.5 Actividades propuestas ................................................................................. 37
8.5.1 Práctica ................................................................................................. 37
5/9/2018 Practicas - slidepdf.com
http://slidepdf.com/reader/full/practicas-559dfbe913f2b 4/38
Universidad Nacional de Ingeniería | Jessica Leiva
4
8.5.2 Actividades de aprendizaje .................................................................... 38
5/9/2018 Practicas - slidepdf.com
http://slidepdf.com/reader/full/practicas-559dfbe913f2b 5/38
Universidad Nacional de Ingeniería | Jessica Leiva
5
Recomendaciones generalesEl desarrollo de las prácticas incluidas en las siguientes guías de laboratorio para
electrónica digital requiere del manejo adecuado del equipo y los materiales de
laboratorio para garantizar la seguridad del usuario y de los instrumentos de
laboratorio. Los usuarios deben seguir las siguientes recomendaciones:
1. Leer atentamente la práctica de laboratorio antes de comenzar la sesión.
2. Todas las prácticas requieren de conocimiento teórico previo de los modelos de
los circuitos digitales a realizar. En este caso los estudiantes deben realizar las
actividades previas indicadas en cada guía de laboratorio, en caso de incumplir
se negará el acceso al laboratorio sin reposición de la práctica.
3. Prestar atención a las indicaciones del instructor durante la sesión de
laboratorio.
4. Respetar las normas de seguridad del laboratorio.
5. Utilizar el equipo y los materiales suministrados de acuerdo con los manuales y
las instrucciones del docente.6. Consultar al instructor si tiene dudas o inquietudes.
El instructor debe tener conocimiento previo del uso del equipo (software y hardware)
a utilizar en las prácticas de laboratorio. Así mismo debe orientar el correcto desarrollo
de las prácticas. Los estudiantes deben mostrar los resultados obtenidos en cada
práctica de laboratorio. Además, el estudiante deberá presentar el algoritmo o
pseudocódigo de las prácticas a desarrollarse cuando así se requiera o cuando el
instructor lo indique.
La inasistencia a la práctica de laboratorio impide al estudiante la entrega del informe
correspondiente a esa práctica.
Elaboración del reporteEl estudiante debe entregar un reporte de la práctica realizada justo al inicio de la
siguiente práctica. Este reporte se presenta de acuerdo al número de estudiante por
puesto de laboratorio y debe contener los siguientes puntos:
a. Introducción
b. Objetivos
c. Desarrollo
d. Actividades propuestase. Conclusiones
f. Observaciones
g. Bibliografía
Lista de materialesPor cada práctica y por cada puesto de laboratorio, los materiales a utilizar es:
Cantidad Descripción1 Computadora1 Kit de desarrollo Basys2 Digilent
1 Software Xilinx ISE® Webpack v12.2
5/9/2018 Practicas - slidepdf.com
http://slidepdf.com/reader/full/practicas-559dfbe913f2b 6/38
Universidad Nacional de Ingeniería | Jessica Leiva
6
Laboratorio 1. Introducción al entorno ISE ® de Xilinx
1.1 Objetivos
Familiarizar al usuario en el uso del ambiente de software integrado Xilinx ISE® v12.2
y el kit de desarrollo Basys2 mediante la creación de un programa de lógica
combinacional.
1.2 IntroducciónLos circuitos digitales presentan dos estados, un estado se aproxima a cero volts (low)
y el otro estado suministra el voltaje (high) y se pueden procesar en números binarios,
en este caso 1 o 0.
Los circuitos digitales pueden estar conectados entre sí por medio de las compuertas
digitales como son: OR, NOR, AND, exclusivamente OR, exclusivamente NOR y
NAND.
En esta práctica de laboratorio se implementan las compuertas básicas: AND, OR y
XOR introduciendo al estudiante en el Ambiente de Software Integrado Xilinx
mediante la creación del primer circuito digital en el lenguaje de descripción de
hardware Verilog y su verificación en la tarjeta de FPGA Basys 2.
El programa consiste en describir tres salidas c, d y e como la combinación lógica de
las entradas a y b. Así, c = a + b , d = a * b y e = a b.
1.3 Actividades previas
Completar la tabla de las compuertas básicas AND, OR y XOR con las
ecuaciones descritas anteriormente.
Entradas Salidasa b c d e0 00 11 01 1
1.4 Desarrollo de la práctica
1.4.1 Creación de un proyecto en Project Navigator
Cada vez que realiza un nuevo diseño es necesario crear un proyecto nuevo: en cada
proyecto se crea automáticamente una carpeta donde se almacenan todos los
archivos de entrada de diseño y los archivos generados durante la ejecución de los
pasos intermedios de compilación y verificación.
1. Abrir Xilinx-ISE®.
2. Cerrar cualquier programa que esté abierto (File → Close Project).
3. Abrir un nuevo proyecto (File → New Project). Escribir el nombre del proyecto y
presionar en la pestaña Next.
5/9/2018 Practicas - slidepdf.com
http://slidepdf.com/reader/full/practicas-559dfbe913f2b 7/38
Universidad Nacional de Ingeniería | Jessica Leiva
7
4. Asegurar que las propiedades del proyecto son iguales a la de la figura y presionar
la pestaña Next.
5. En la siguiente ventana, clic en la pestaña Finish.
5/9/2018 Practicas - slidepdf.com
http://slidepdf.com/reader/full/practicas-559dfbe913f2b 8/38
Universidad Nacional de Ingeniería | Jessica Leiva
8
6. Crear una nueva fuente. En la ventana Sources clic derecho en la carpeta y
seleccionar New Source… y presionar Next.
7. Elegir la opción Verilog Module, en File name escribir Compuertas y presionar
Next.
5/9/2018 Practicas - slidepdf.com
http://slidepdf.com/reader/full/practicas-559dfbe913f2b 9/38
Universidad Nacional de Ingeniería | Jessica Leiva
9
8. En la siguiente ventana definimos las entradas y salidas del módulo. Las variables
a y b están definidas como entradas (input) y las variables c, d y e como salida
(output).
9. Clic en todas las demás opciones: Next → Finish.
10. En la ventana Sources verificar que aparezca el dispositivo y el módulo principal.
11. En la ventana de edición aparece el módulo creado y por defecto aparece el
nombre, con las entradas, salidas y con el final del módulo. Escribir después de la
declaración de entradas y salidas las líneas con definidas con la sentencia assign.
5/9/2018 Practicas - slidepdf.com
http://slidepdf.com/reader/full/practicas-559dfbe913f2b 10/38
Universidad Nacional de Ingeniería | Jessica Leiva
10
12. Guardar los cambios realizados en el paso anterior.
13. Seleccionar el módulo principal
en la
ventana Sources. En Processes,
elegir Synthesize-XST en el más
desplegable, clic derecho en la opción
Check Syntax y elegir Rerun All.
14. En la ventana Console, verificar que
aparezca el siguiente mensaje.
Nota: El proceso verifica que no haya errores de sintaxis, de haberlo hay que corregir.
5/9/2018 Practicas - slidepdf.com
http://slidepdf.com/reader/full/practicas-559dfbe913f2b 11/38
Universidad Nacional de Ingeniería | Jessica Leiva
11
1.4.2 Asignación de los pines en la tarjeta Basys2
1. Clic derecho en Compuertas.v y elegir
New Source...
2. Elegir la opción Implementation Constraints File, en File Name escribir
Compuertas, clic en Next → Finish.
3. En la ventana Sources, verificar que la nueva fuente que acabamos de crear
aparece debajo del módulo principal.
4. Seleccionar Compuertas.ucf, en Processesclic en el más desplegable y presionar
doble clic en la opción Edit Constraints
(Text).
5. Aparecerá un editor de texto en blanco en la ventana principal
5/9/2018 Practicas - slidepdf.com
http://slidepdf.com/reader/full/practicas-559dfbe913f2b 12/38
Universidad Nacional de Ingeniería | Jessica Leiva
12
6. Escribir los siguiente
net "a" loc = "L3" ;net "b" loc = "P11";net "c" loc = "P7" ;
net "d" loc = "M11";net "e" loc = "M5" ;
Estas líneas significan la localización de las entradas y las salidas en la tarjeta Basys2.
Las entradas son los switches…
… y las salidas las visualizaremos con los leds.
5/9/2018 Practicas - slidepdf.com
http://slidepdf.com/reader/full/practicas-559dfbe913f2b 13/38
Universidad Nacional de Ingeniería | Jessica Leiva
13
7. Seleccionar en la ventana Sources el módulo principal Compuertas.v, en la
ventana Processes elegir Generate Programming File y doble clic en la opción
Rerun All.
8. Verificar que aparezca el símbolo en los procesos que seleccionamos en el
paso anterior de la ventana Processes.
9. Asegurar que en la ventana Console aparezca el siguiente mensaje:
El mensaje significa que no se produjeron errores para la implementación del archivo
.bit
5/9/2018 Practicas - slidepdf.com
http://slidepdf.com/reader/full/practicas-559dfbe913f2b 14/38
Universidad Nacional de Ingeniería | Jessica Leiva
14
1.4.3 Programación del chip de FPGA
1. Conectar el kit de entrenamiento Basys2 mediante el cable
USB a la computadora, elegir las opciones para que la
computadora lo instale automáticamente.
2. Buscar en el Inicio → todos los programas → Digilent →
3. Si el kit está conectado correctamente se indicará en la siguiente ventana.
4. En la pestaña Browse buscar el archivo Compuertas.bit en el directorio que
guardamos a la hora de crear el proyecto (ver en la parte superior de ISE®) y
pulsar Program.
5. Activar a y b (los switches SW1 y SW0) y comprobar que los LED’s actúancorrectamente (LD2 como OR, LD1 como AND, y LD0 como XOR).
5/9/2018 Practicas - slidepdf.com
http://slidepdf.com/reader/full/practicas-559dfbe913f2b 15/38
Universidad Nacional de Ingeniería | Jessica Leiva
15
1.5 Actividades propuestas
1.5.1 Práctica
Llene la tabla de verdad según las ecuaciones dadas y realice la descripción de las
combinaciones lógicas en un programa de Verilog. Consulte la sección de simbología
en el manual de ayuda del lenguaje. Verifique en ISE® que la sintaxis del programa escorrecta utilizando los pasos descritos en la guía de laboratorio 1.
Entradas Salidas
x y z
1.5.2 Actividades de aprendizaje
1. Introduzca una nueva variable (x), de tal manera que las salidas sean una
and de tres entradas, una or de tres entradas, ¿qué sucede con los valores
de salidas?
2. En una compuerta and de 2 entradas; si en una de sus entradas recibe
un 0 y en la otra un 1, ¿Cuál es su salida?
3. Si una compuerta Nand recibe las mismas señales de entrada de la
pregunta anterior, ¿Cuál es su salida?
Anote las conclusiones de su trabajo, siga las recomendaciones de su instructor yentregue el reporte en tiempo y forma.
5/9/2018 Practicas - slidepdf.com
http://slidepdf.com/reader/full/practicas-559dfbe913f2b 16/38
Universidad Nacional de Ingeniería | Jessica Leiva
16
Laboratorio 2. Simulación de un circuito digital
2.1 Objetivo
Utilizar la herramienta de simulación de ISE® Xilinx v12.2 para la verificación y
comportamiento esperado de un circuito digital de lógica combinacional.
2.2 IntroducciónLa metodología de diseño es similar a la de cualquier sistema digital. Primero hay que
tener una descripción del circuito a realizar. Tradicionalmente en las ingenierías se
realizan planos o esquemas para esta descripción. La descripción del circuito se
realiza a través del lenguaje de descripción de hardware Verilog. Con esta descripción
se pueden realizar simulaciones del circuito, para comprobar que lo diseñado trabaja
correctamente, de lo contrario se modifica la descripción (esquemas o programa)
hasta que la simulación sea satisfactoria.
En esta práctica se realiza la simulación del circuito del laboratorio 1 que consistía envisualizar el comportamiento en el kit Basys2. Analizaremos la forma de onda
generada a partir de los estímulos de tiempo y de la combinación de las entradas.
2.3 Actividades previasHaber realizado el Laboratorio 1.
2.4 Desarrollo de la práctica
El Ejercicio_1 realizado en el laboratorio 1, lo utilizaremos para comprobar que
funciona correctamente en el simulador del software ISim.
1. Abrir ISE® Project Navigator → Open Project → Ejercicio_1.
2. Añadir una nueva fuente al módulo principal Compuertas.v.
3. Elegir la opción Verilog Test Fixture. En File name: escribir Compuertas_prueba y
clic en Next.
5/9/2018 Practicas - slidepdf.com
http://slidepdf.com/reader/full/practicas-559dfbe913f2b 17/38
Universidad Nacional de Ingeniería | Jessica Leiva
17
4. En Design, escoger en modo Simulation.
5. Aparece en la ventana principal lo siguiente:
5/9/2018 Practicas - slidepdf.com
http://slidepdf.com/reader/full/practicas-559dfbe913f2b 18/38
Universidad Nacional de Ingeniería | Jessica Leiva
18
6. Añadir las siguientes líneas después del cometario // Add stimulus here y
antes de la sentencia end
#100 b = 1;#100 a = 1;
b = 0;#100 b = 1;
7. Seleccionar Compuertas_prueba.v en la ventana Sources.
8. Clic derecho en Behavioral Check Sintax → Processes → Rerun All.
Aparece la siguiente ventana, clic en Yes.
9. Verificar que aparezca un en Behavioral Check Sintax, elegir la opción
Simulate Behavioral Model y clic derecho en Run.
5/9/2018 Practicas - slidepdf.com
http://slidepdf.com/reader/full/practicas-559dfbe913f2b 19/38
Universidad Nacional de Ingeniería | Jessica Leiva
19
10. Aparece la ventana ISim Simulator, donde se muestra la forma de onda de los
estímulos agregados en el paso 6.
Utilizar la herramienta Zoom to Full View para ver la vista completa de la simulación,
que se encuentra a la derecha en la barra de herramientas del panel de simulación.
La figura anterior muestra tres ventanas: Source Files que contiene los archivos
asociados al proceso de simulación, Objects muestra las variables asociadas al
archivo seleccionado en la ventana Source File, en este caso las variables a, b, c, d y
e del archivo fuente compuertas_prueba.v. Y la tercera ventana es Wave Window
donde se visualiza la configuración de las formas de onda, que contienen la lista de lasseñales y su forma de onda1.
11. Mover la línea amarilla sobre las formas de onda (de color verde) y ver en Value
que los valores de las señales cambian. Comprobar que las formas de onda de la
figura anterior corresponden a las tablas de verdad de las compuertas básicas del
Laboratorio 1.
1Más información? Visita
http://www.xilinx.com/support/documentation/sw_manuals/xilinx12_2/plugin_ism.pdf
5/9/2018 Practicas - slidepdf.com
http://slidepdf.com/reader/full/practicas-559dfbe913f2b 20/38
Universidad Nacional de Ingeniería | Jessica Leiva
20
2.5 Actividades propuestas
2.5.1 Práctica
De los ejercicios propuestos del reporte de laboratorio 1 realizar la simulación en ISE®
utilizando los pasos de la guía de laboratorio 2.
Recuerde que hay tres entradas (x, y, z) y dos salidas (a, b) y que la relación de las
variables es:
El reporte debe incluir:
Tabla de verdad de las variables.
Descripción de las ecuaciones con compuertas lógicas.
Descripción de las ecuaciones en Verilog.
Verificación del programa en ISE. Utilice las capturas de pantalla (tecla:PRTSC) para explicar el procedimiento.
Resultados de la simulación.
Resumir en 150 palabras lo aprendido de esta asignación. Utilice las gráficas
generadas para complementar su trabajo. Redacte su informe de manera objetiva y sin
ambigüedades.
2.5.2 Actividades de aprendizaje
1 Explique por qué es útil simular un sistema o un circuito. ¿Considera
importante simular un circuito electrónico descrito con programación?
2 Cuando hacemos la simulación de un circuito, es necesario especificar lamagnitud del retardo entre las señales de entrada y las señales de salida?
Justifique su repuesta.
3 ¿Qué sucede si cambia los tiempos de temporización? Cambiar #100 a #50
en el programa que Ud hizo en la práctica de laboratorio 2.
5/9/2018 Practicas - slidepdf.com
http://slidepdf.com/reader/full/practicas-559dfbe913f2b 21/38
Universidad Nacional de Ingeniería | Jessica Leiva
21
Laboratorio 3. Estructura de módulos
3.1 Objetivo
Comprender la estructura de módulos en el lenguaje Verilog y la forma de conexión
hacia otros módulos mediante un ejemplo de lógica combinacional.
3.2 IntroducciónEn el lenguaje Verilog un sistema digital está compuesto por la interconexión de un
conjunto de módulos. Estos son unidades lógicas donde se puede especificar la
descripción de un circuito digital, sea sencillo o complejo, de tal manera que puedan
utilizarse para construir diseños de mayor complejidad, creando lo que se denomina
un diseño con jerarquía . El mandato module del lenguaje Verilog se utiliza para la
definición de módulos. En esta práctica aprenderemos la estructura básica de un
módulo y la forma en cómo se conecta a otros módulos.
La estructura más básica de un módulo es la siguiente:
module <nombre del modulo> ( <variables> ); //inicio
<declaraciones de variables>
<funcionalidad del módulo>
sndmodule //final del módulo
La figura anterior muestra un módulo (cajita en azul) que puede contener algún circuito
digital en su interior, en la descripción con Verilog (derecha) el nombre del módulo es
FA cuyas entradas son las variables a, b y cin y como salidas las variables cout y
sum . Note que al final de module después de declarar las variables de entradas y
salidas cierra la sentencia con el signo ; (punto y coma). En el mandato endmodule se omite el punto y coma. Tome en cuenta estas recomendaciones de sintaxis para
evitar errores.
3.3 Actividades previas
Tabla de verdad del módulo ANDOR (Figura 1).
A B C F
5/9/2018 Practicas - slidepdf.com
http://slidepdf.com/reader/full/practicas-559dfbe913f2b 22/38
Universidad Nacional de Ingeniería | Jessica Leiva
22
3.4 Desarrollo de la práctica3.4.1 Crear un nuevo proyecto ISE®.
En esta práctica vamos a crear un módulo llamado ANDOR con 3 entradas ( A , B y C) y
1 salida (F), después usaremos dos veces este mismo módulo en otro módulo superior
llamado LOGIC.
Importante!!!
Seguir las instrucciones del laboratorio 1 para crear un nuevo proyecto en ISE®.
1.1 Cerrar cualquier proyecto que esté abierto y crear un proyecto nuevo. LlamarloLOGIC. El módulo superior LOGIC debe tener 5 entradas (J , K , L, M , N) y dos
salidas (P, Q).
Figura 1. Diagrama de los módulos ANDOR y LOGIC
1.2 El programa se describe a continuación:
module LOGIC (J, K, L, M, N, P, Q);
input J, K, L, M, N;output P, Q;
ANDOR U1 (.A(J), .B(K), .C(L), .F(P));ANDOR U2 (.A(P), .B(M), .C(N), .F(Q));
endmodule
module ANDOR (A, B, C, F);input A, B, C;output F;
assign F = ( A & B) | C;
U1
U2
5/9/2018 Practicas - slidepdf.com
http://slidepdf.com/reader/full/practicas-559dfbe913f2b 23/38
Universidad Nacional de Ingeniería | Jessica Leiva
23
endmodule
1.3 Guardar los cambios y correr el programa.
3.4.2 Implementar el diseño en FPGA3.5 Añadir un archivo .ucf al módulo principal siguiendo los pasos del laboratorio 1.
3.6 En el editor de texto, escribir las siguientes asignaciones:
net "J" loc = "G3" ;net "K" loc = "B4" ;net "L" loc = "K3" ;net "M" loc = "L3" ;net "N" loc = "P11";net "P" loc = "P6" ;net "Q" loc = "P7" ;
3.7 Correr el programa para comprobar si la sintaxis es correcta.
3.8 Comprobar el funcionamiento del circuito en la tarjeta de FPGA.
3.5 Actividades propuestas
3.5.1 Práctica
Dado un sistema combinacional de 7 variables (d, e, f, g, h, i, j) donde:
1. d, e, f forman una compuerta EXNOR de tres entradas y su salida es g.
2. g, h forman una compuerta NAND de dos entradas y su salida es i.3. g, h, i forman una cajita que puede contener una compuerta EXNOR de tres
entradas y una salida j.
¿Cuántos módulos se podrían implementar en este sistema? Realice la descripción de
este circuito en Verilog.
El reporte debe incluir:
Tabla de verdad de las variables.
Descripción de las ecuaciones con compuertas lógicas.
Descripción de las ecuaciones en Verilog.Verificación del programa en ISE. Utilice las capturas de pantalla (tecla:
PRTSC) para explicar el procedimiento.
Realizar la simulación del ejercicio del laboratorio 3.
3.5.2 Actividades de aprendizaje
1 Indague acerca del diseño con jerarquía en el lenguaje Verilog. Resuma en un
párrafo.
2 ¿Cuáles son los tipos de datos en Verilog que puede contener un módulo?
Describa brevemente cada uno de ellos y su función en el programa.
5/9/2018 Practicas - slidepdf.com
http://slidepdf.com/reader/full/practicas-559dfbe913f2b 24/38
Universidad Nacional de Ingeniería | Jessica Leiva
24
Laboratorio 4. Sumador de dos bits
4.1 Objetivo
Verificar el funcionamiento de un sumador completo de dos bits comparando diseños
jerárquicos en el lenguaje Verilog.
4.2 IntroducciónLas computadoras digitales efectúan diversas tareas de procesamiento, entre esas
funciones están las operaciones aritméticas. La operación más básica es la suma de
dos dígitos binarios y que consiste en cuatro posibles resultados:
0 + 0 = 00 + 1 = 11 + 0 = 11 + 1 = 10
Las primeras tres operaciones producen una suma de un dígito pero cuando ambos
bits sumando son 1, la suma binaria consta de dos dígitos, donde el bit más
significativo se denomina acarreo.
En esta práctica de laboratorio implementaremos un sumador binario completo de dos
entradas y la salida con su respectivo acarreo. Además veremos dos niveles diferentes
para describir la operación de este sumador. El primero es el nivel de compuertas
donde se describe el circuito tal y como se encontró la solución a través de
compuertas lógicas. El segundo es el nivel de flujo de datos empleando enunciados de
asignación continua donde se describe la función que hace el circuito, en este caso
sumar dos bits.
4.3 Actividades previas
Diseñar un sumador binario completo de dos entradas (a y b) con su respectivo
acarreo de entrada y acarreo de salida. Debe incluir la tabla de verdad, las ecuaciones
lógicas derivadas de la tabla de verdad y el diagrama con compuertas lógicas.
4.4 Desarrollo de la práctica
1. Crear un nuevo proyecto en ISE® llamado adder.
2. El programa de un sumador completo en Verilog es el siguiente:
module adder (input a, b, cin,output cout, s);
Cin
5/9/2018 Practicas - slidepdf.com
http://slidepdf.com/reader/full/practicas-559dfbe913f2b 25/38
Universidad Nacional de Ingeniería | Jessica Leiva
25
wire n1, n2, n3;xor (s, a, b, cin);and (n1, a, b);and (n2, a, cin);and (n3, b, cin);
or (cout, n1, n2, n3);
endmodule
3. Para la implementación en la tarjeta use los siguientes pines
net "A" loc = "K3";net "B" loc = "L3";net "Cin" loc = "P11";net "Cout" loc = "M11";
net "S" loc = "M5";
El programa anterior describe el circuito especificando las compuertas y como se
conectan entre sí. La palabra wire se utiliza para conexiones internas. Como en el
programa hay variables auxiliares internas n1, n2, n3 (que no son entrada ni
salida) tienen que declararse como un tipo de dato “alambre”.
Existen otras formas de describir el comportamiento de un circuito, por ejemplo usando
el modelado de flujo de datos que utiliza asignaciones continuas y la palabra assign.
En el siguiente programa la lógica del circuito se describe con un solo enunciado que
usa los operadores de suma y concatenación. El símbolo (+) especifica la sumabinaria de a, b y cin. La salida deseada es la concatenación del acarreo de salida
cout y la suma s. La concatenación de operandos se expresa entre llaves,
separando los operandos con comas. Así, {Cout, S} representa el resultado total
del sumador.
module adder (input [3:0] A, B, Cin,output [2:0] Cout, S);
assign {Cout, S} = ( A + B + Cin );
endmodule
4. Implementar este diseño con los mismos nets del paso 3.
5. Comprobar que funciona correctamente verificando si las salidas corresponden
a los valores de la tabla de verdad.
5/9/2018 Practicas - slidepdf.com
http://slidepdf.com/reader/full/practicas-559dfbe913f2b 26/38
Universidad Nacional de Ingeniería | Jessica Leiva
26
4.5 Actividades propuestas
4.5.1 Práctica
Un Restador completo realiza la resta entre dos bits, considerando que se ha prestado
un 1 de un estado menos significativo. Diseñe este circuito con las entradas A,
B y C donde estas denotan el minuendo, el sustraendo y el bit prestadorespectivamente. Las salidas D y P representan a la diferencia y el préstamo del
restador.
El reporte debe incuir:
Tabla de verdad de las variables de entrada y salida.
Descripción de las ecuaciones con compuertas lógicas.
Descripción del circuito en Verilog.
Verificación del programa en ISE. Utilice las capturas de pantalla (tecla:
PRTSC) para explicar el procedimiento.
Comprobación del funcionamiento mediante simulación en ISim.
En una página adjunte sus resultados y conclusiones de este ejercicio.
4.5.2 Actividades de aprendizaje
1. Indague si existen otras formas de diseño jerárquico en Verilog. Diseñe el
sumador completo con la forma que encuentre en su investigación y
compruebe su funcionamiento en ISE®.
2. ¿Podría realizarse un circuito sumador/restador en un mismo diseño con
compuertas lógicas de tal forma que se pueda seleccionar que la operación
deseada sea suma o resta? ¿Y en Verilog? Proponga una solución a este retocon un algoritmo que satisfaga esta necesidad.
5/9/2018 Practicas - slidepdf.com
http://slidepdf.com/reader/full/practicas-559dfbe913f2b 27/38
Universidad Nacional de Ingeniería | Jessica Leiva
27
Laboratorio 5. Decodificador de BCD a 7 segmentos
5.1 Objetivo
Comprender el funcionamiento de un decodificador de hexadecimal a 7 segmentos
para que el estudiante utilice este módulo en prácticas posteriores.
5.2 IntroducciónEl display de 7 segmentos es un componente que se utiliza para la representación de
caracteres en muchos dispositivos electrónicos. El principal componente de este
diseño será un decodificador de hexadecimal a 7 segmentos que es un circuito
combinacional utilizado para tomar una entrada hexadecimal de cuatro bits y
proporcionar las salidas que pasaran corriente a través de los segmentos apropiados
para desplegar visualmente el digito decimal. La figura 1 muestra la arquitectura
interna de un display de 7 segmentos
Los dígitos de la tarjeta son de tipoLED. Cada segmento es un LED uno
de cuyos terminales es común para
todos los segmentos: existen
versiones de cátodo común y de
ánodo común. Para encender un
segmento de un display cátodo en
común tienes que poner este
segmento en “1”. Pero si el display es
del tipo ánodo en común, tienes que
poner un “0” en cada segmento quequieres encender. Para iluminar un
dígito concreto en esta tarjeta es necesario aplicar un “0” a la línea de control
pertinente.Tabla 1
Código hex display abcdefg0000 00001 10010 20011 30100 4
0101 50110 60111 71000 81001 91010 A1011 b1100 C1101 d1110 E1111 F
Figura 1
5/9/2018 Practicas - slidepdf.com
http://slidepdf.com/reader/full/practicas-559dfbe913f2b 28/38
Universidad Nacional de Ingeniería | Jessica Leiva
28
5.3 Actividades previasDiseñar un decodificador de hexadecimal a 7 segmentos. Incluya la tabla de verdad
con las ecuaciones lógicas y el diagrama con compuertas. Completar en la tabla 1 la
señal de los segmentos abcdefg para activar el código correspondiente a cada número
hexadecimal.
5.4 Desarrollo de la práctica1. Crear un nuevo proyecto en ISE®.
2. Nombrar el módulo como hex7seg.
3. El programa de un decodificador de hexadecimal a 7 segmentos en Verilog es
el siguiente:
module hex7seg(input wire [3:0] x,output reg [6:0] a_to_g,output wire [3:0] an,output wire dp);
assign an = 4'b0111;assign dp = 1;
always @(*)case(x)
0: a_to_g = 7'b000_0001;1: a_to_g = 7'b100_1111;2: a_to_g = 7'b001_0010;3: a_to_g = 7'b000_0110;4: a_to_g = 7'b100_1100;5: a_to_g = 7'b010_0100;
6: a_to_g = 7'b010_0000;7: a_to_g = 7'b000_1111;8: a_to_g = 7'b000_0000;9: a_to_g = 7'b000_0100;'hA: a_to_g = 7'b000_1000;
'hb: a_to_g = 7'b110_0000;'hC: a_to_g = 7'b011_0001;'hd: a_to_g = 7'b100_0010;'hE: a_to_g = 7'b011_0000;'hF: a_to_g = 7'b011_1000;default : a_to_g = 7'b000_0001;
endcaseendmodule
El programa hex7seg muestra el uso de la sentencia case para diseñar el mismo
decodificador 7 segmentos con compuertas lógicas ahora en el lenguaje Verilog. Lasentencia case implementa directamente los valores de la tabla de verdad (tabla 1).
5/9/2018 Practicas - slidepdf.com
http://slidepdf.com/reader/full/practicas-559dfbe913f2b 29/38
Universidad Nacional de Ingeniería | Jessica Leiva
29
Por ejemplo la línea 2:a_to_g = 7'b001_0010; asigna un valor binario de 7
bit, 1001100, a un arreglo binario de 7 bit, a_to_g, cuando la entrada hexadecimal
x[3:0] es igual a 2 (0010, en binario).
4. Implemente el circuito en la tarjeta y verifique con la tabla 1 los números que se
muestran en el primer display de 7 segmentos.
net "x[3]" loc = "B4" ;net "x[2]" loc = "K3" ;net "x[1]" loc = "L3" ;net "x[0]" loc = "P11";
net "an[3]" loc = "K14";net "an[2]" loc = "M13";net "an[1]" loc = "J12";
net "an[0]" loc = "F12";
net "dp" loc = "N13";
net "a_to_g[0]" loc = "M12" ;net "a_to_g[1]" loc = "L13" ;net "a_to_g[2]" loc = "P12" ;net "a_to_g[3]" loc = "N11" ;net "a_to_g[4]" loc = "N14" ;net "a_to_g[5]" loc = "H12" ;net "a_to_g[6]" loc = "L14" ;
5.5 Actividades propuestas
5.5.1 Práctica
En la práctica de laboratorio 5 se implementó un diseño de un decodificador de BCD a
7 segmentos. Diseñe un circuito que muestre en el display la suma de dos números de
2 bits cada uno.
El reporte debe incluir:
Tabla de verdad de las variables de entrada y salida.
Descripción de las ecuaciones con compuertas lógicas.
Descripción del circuito en Verilog.
Verificación del programa en ISE. Utilice las capturas de pantalla (tecla:
PRTSC) para explicar el procedimiento.
Comprobación del funcionamiento mediante simulación en ISim.
En una página adjunte sus resultados y conclusiones de este ejercicio.
5/9/2018 Practicas - slidepdf.com
http://slidepdf.com/reader/full/practicas-559dfbe913f2b 30/38
Universidad Nacional de Ingeniería | Jessica Leiva
30
5.5.2 Actividades de aprendizaje
1. ¿Por qué solamente podemos visualizar uno de los cuatro displays disponibles
en la tarjeta? Explique brevemente.
2. ¿Se podrían modificar las letras de los dígitos hexadecimales, es decir qué
tengo que hacer para visualizar las letras G, H, J, L, P, U? en el display.
3. ¿Cuál de los siguientes incisos describe mejor la función de un decodificador?a. Un decodificador convierte un número decimal al equivalente binario que le
corresponda.
b. Un decodificador convierte un número binario en una salida específica que
representa un digito o carácter particular.
c. Los decodificadores se utilizan para evitar la operación inadecuada de los
sistemas digitales.
d. Los decodificadores son CI especiales que se usan para hacer posible que
una marca de computadoras establezcan una comunicación entre sí.
5/9/2018 Practicas - slidepdf.com
http://slidepdf.com/reader/full/practicas-559dfbe913f2b 31/38
Universidad Nacional de Ingeniería | Jessica Leiva
31
Laboratorio 6. Multiplexores
6.1 Objetivo
Comprender el concepto de multiplexor mediante la implementación de un diseño en
Verilog.
6.2 IntroducciónUn multiplexor es un circuito lógico que acepta varias entradas de datos digitales y
solo uno de ellos, el que hayamos seleccionado, es el que aparece en la salida. Es
decir, que es un circuito que nos permite seleccionar que datos pasan a través de
dicho componente. Una aplicación común en computadoras es el multiplexor entre
registros del microprocesador y su unidad aritmético lógica. En el interior de los
microprocesadores se pueden encontrar multiplexores de 8 bits, que tuene varias
entradas de datos de 8 bits. Sin embargo, se puede trabajar con multiplexores que
tengan 4 bits, 2 bits o hasta 1 bit por cada entrada.
Dentro de un multiplexor hay que destacar 3 tipos de señales: los datos de entrada, las
entradas de selección y la salida. En esta práctica de laboratorio se pretende que se
entienda el concepto básico de un multiplexor descrito en Verilog.
6.3 Actividades previasEn una granja hay cuatro tuberías por las que circulan distintos fluidos. Dos
transportan agua potable a diferentes partes de la casa y las siguientes dos se utilizan
para regar los cultivos. Existe una llave de paso con cuatro posiciones y dos selectores
para dar paso a la tubería 0, 1, 2 ó 3. Diseñe un circuito combinacional lo más
simplificado posible de tal manera que seleccione una tubería a la vez.
6.4 Desarrollo de la práctica
1. Crear un nuevo proyecto en ISE®.2. Nombrar el módulo como mux4.
Selección
Entradas SalidaMUX
5/9/2018 Practicas - slidepdf.com
http://slidepdf.com/reader/full/practicas-559dfbe913f2b 32/38
Universidad Nacional de Ingeniería | Jessica Leiva
32
3. El programa de un multiplexor de 4 entradas en Verilog es el siguiente:
module mux4(input a, b, c, d,input [1:0] sel,
output reg out);
always @(*)case(sel)
0: out = a;1: out = b;2: out = c;3: out = d;default: out = 1'bx;
endcase
endmodule
Para expandir un multiplexor con programación en Verilog utilizaremos la sentencia
parameter que define el ancho del bus (constante) del multiplexor. En este caso
hemos descrito que las entradas a y b tienen 3 bits cada uno y la salida out también
es de 3 bits.
module muxN#(parameter N = 3)(input wire [N-1:0] a,
input wire [N-1:0] b,input wire sel,
output reg [N-1:0] out);
always @(*)if(sel == 0)
out = a;else
out = b;
endmodule
4. Realizar el archivo .ucf.
5. Implementar el diseño en la tarjeta Basys2.
5/9/2018 Practicas - slidepdf.com
http://slidepdf.com/reader/full/practicas-559dfbe913f2b 33/38
Universidad Nacional de Ingeniería | Jessica Leiva
33
6.5 Actividades propuestas
6.5.1 Práctica
En el reporte de laboratorio 4 se propuso el diseño de un circuito sumador/restador
donde se seleccionara la operación de suma o resta. Diseñe un circuito lógico que
cumpla con las especificaciones:
El diseño en Verilog debe ser modular, es decir construido en base a módulos.
Además de las operaciones de suma y resta, el circuito debe contener las
operaciones de multiplicación y comparación.
Mostrar en los displays de 7 segmentos el resultado de la operación
seleccionada.
El mínimo número de bits que pueden contener las entradas es 2.
El reporte debe incluir:
Tabla de verdad de las variables de entrada y salida.Descripción de las ecuaciones con compuertas lógicas.
Descripción del circuito en Verilog.
Verificación del programa en ISE. Utilice las capturas de pantalla (tecla:
PRTSC) para explicar el procedimiento.
La verificación del circuito en el kit Basys2 se programará por equipo de trabajo. El
instructor dará a conocer los horarios.
6.5.2 Actividades de aprendizaje
Encierre en un círculo el ítem que describa mejor el enunciado siguiente:
1. El multiplexado de señales digitales por lo general se requiere cuando…
a. Se mueven datos internos dentro de un microprocesador.
b. Se mueven datos entre la memoria y los registros de almacenamiento.
c. Se mueven datos a través de líneas de transmisión de larga distancia.
d. a y b
2. Las líneas de salida de un multiplexor están bajo control de:
a. La línea de entrada de satos
b. Las compuertas AND internas
c. La compuerta OR interna
d. Las líneas de selección de entrada de datos
5/9/2018 Practicas - slidepdf.com
http://slidepdf.com/reader/full/practicas-559dfbe913f2b 34/38
Universidad Nacional de Ingeniería | Jessica Leiva
34
Laboratorio 7. Registros
7.1 Objetivo
Comprender el funcionamiento del registro de desplazamiento universal.
7.2 IntroducciónLos registros son circuitos digitales secuenciales que consisten en un grupo de flip-
flops capaces de almacenar n bits de información binaria. Además de los flip-flops, los
registros pueden tener compuertas combinacionales para realizar ciertas tareas de
procesamiento. Entre los registros de uso general están los registros de
desplazamiento que son capaces de desplazar información binaria en una dirección
dentro del mismo registro o a la entrada o a la salida del mismo. La capacidad de
almacenamiento de un registro es el número total de bits que puede contener.
En esta práctica de laboratorio analizaremos un registro de desplazamiento universal
llamado así porque permite desplazamiento bidireccional (derecha-izquierda yviceversa).
El registro de desplazamiento más general tiene estas características:
Un control de despeje (clear) para reiniciar el registro.
Una entrada de reloj (clock) para sincronizar las operaciones.
Un control de desplazamiento a la derecha (shift-right) para habilitar la
operación de desplazamiento a la derecha, y las líneas de entrada y salida en
serie asociadas al desplazamiento a la derecha.
Un control de desplazamiento a la izquierda (shift-left) para habilitar la
operación de desplazamiento a la izquierda, y las líneas de entrada y salida enserie asociadas al desplazamiento a la izquierda.
Un control de carga en paralelo (parallel-load) para habilitar la transferencia en
paralelo y las n líneas de entrada asociadas a la transferencia en paralelo.
n líneas de salida en paralelo.
Un control de estado que deja la información del registro como está, en
presencia del reloj.
7.3 Actividades previasDiseñe un registro de desplazamiento bidireccional con carga paralela con flip-flops
tipo D que contenga dos entradas de selección s1 y s0. Incluya la tabla de verdad, las
ecuaciones lógicas y el diagrama de compuertas.
7.4 Desarrollo de la práctica
1. Crear un nuevo proyecto en ISE®.
2. Nombrar el módulo como shftreg.
3. El programa del registro universal en Verilog es el siguiente:
module shftreg(input s1, s0,input lftin, rgtin,
input clk, clr,input [3:0] Pin,
5/9/2018 Practicas - slidepdf.com
http://slidepdf.com/reader/full/practicas-559dfbe913f2b 35/38
Universidad Nacional de Ingeniería | Jessica Leiva
35
output reg [3:0] A);
always @(posedge clk or posedge clr)if (clr)
A = 4'b0101;else
case ({s1,s0})2'b00: A = A;2'b01: A = {rgtin, A[3:1]};2'b10: A = {A[2:0], lftin};2'b11: A = Pin;
endcaseendmodule
En el programa anterior hay dos entradas de selección, dos entradas en serie, unaentrada en paralelo de cuatro bits y una salida en paralelo de cuatro bits. El bloque
always describe las cinco operaciones que es posible efectuar con el registro. La
entrada clr pone a cero el registro asincrónicamente con una señal positiva. Las cuatro
operaciones con reloj del registro se determinan a partir de los valores de las dos
entradas de selcción del enunciado case ( se concatenan en un vector de dos bits
después de la palabra clave case). El desplazamiento se especifica con la
concatenación de la entrada en serie y tres flip-flops. Por ejemplo, el enunciado A =
{rgtin, A[3:1]}; especifica una concatenación de la entrada en serie para
desplazamiento a la derecha (rgtin) y los flip-flops A3, A2 y A1 para formar un
número de cuatro bits que se transfieren a A[3:1]. Esto produce una operación dedesplazamiento a la derecha.
4. Realizar el archivo .ucf.
5. Implementar el diseño en la tarjeta Basys2.
7.5 Actividades propuestas
7.5.1 Práctica
Diseñe un registro de desplazamiento de cuatro bits con carga paralela. Hay dos
entradas de control: desplazar y cargar. Cuando desplazar = 1, el contenido del
registro se desplaza una posición. Se transfieren nuevos datos al registro cuando
cargar = 1 y desplazar = 0. Si ambas entradas de control son 0, el contenido del
registro no cambia.
7.5.2 Actividades de aprendizaje
1. De los registros, ¿qué diferencia hay entre transferencia en serie y en paralelo?
Explique cómo convertir datos de serie a paralelo y datos de paralelo a serie.
¿Qué tipo de registro se necesita?
2. El contenido de registros de cuatro bits es inicialmente 1101. El registro se
desplaza seis veces a la derecha, siendo la entrada en serie 101101. ¿Qué
contiene el registro después de cada desplazamiento?
5/9/2018 Practicas - slidepdf.com
http://slidepdf.com/reader/full/practicas-559dfbe913f2b 36/38
Universidad Nacional de Ingeniería | Jessica Leiva
36
Laboratorio 8. Contadores
8.1 Objetivo
Desarrollar las habilidades necesarias para el diseño de contadores mediante lógica
programable.
8.2 IntroducciónContar es una operación humana básica, generalmente estamos contando dinero, los
días, las horas, etc. Un circuito contador digital hace lo mismo, cuenta las veces que
se repite determinado evento.
Este laboratorio realizaremos un contador digital que cuenta las veces de una señal de
reloj (clk). Un contador digital corresponde a una máquina secuencial que recibe
pulsos de una señal llamada “reloj”, cuenta los flancos de bajada (o de subida) de la
misma señal y entrega dicha cuenta, en binario, por las salidas. La señal clr se utiliza
para poner a cero dicha cuenta. La cantidad máxima que se alcance a contardependerá del número de bit de salida que se dispongan.
8.3 Actividades previasDiseñar un contador de 3 bits, debe incluir:
Diagrama de estado
Tablas de estado del sistema
8.4 Desarrollo de la práctica1. Crear un Nuevo Proyecto en ISE®.
2. Crear un módulo en Verilog.
3. El programa del registro universal en Verilog es el siguiente:
module counter(input wire clk,input wire clk,output reg [2:0] q);
always @ (posedge clk or posedge clr)beginif (clr == 1)
q <= 0;else
q <= q + 1;end
endmodule
4. Comprobar que la sintaxis es correcta.
5. Crear un archivo Verilog Text Fixture para realizar una prueba.6. Comprobar que los estados coinciden con los de la tabla del trabajo previo.
5/9/2018 Practicas - slidepdf.com
http://slidepdf.com/reader/full/practicas-559dfbe913f2b 37/38
Universidad Nacional de Ingeniería | Jessica Leiva
37
7. Crear un archivo .ucf para describir los pines de entrada y salida en la tarjeta
Basys 2.
8. Implementar el diseño en la FPGA.
Es fácil cambiar los estados de un contador simplemente cambiando el arreglo de la
variable q. Como alternativa, utilizamos un parámetro (en inglés parameter) para un
contador de N-bit donde definimos los estados del contador.
module Contador#(parameter N=4)
(input wire clr,input wire clk,output reg [N-1:0] q);
always @ (posedge clk or posedge clr)
beginif (clr == 1)q <= 0;
elseq <= q + 1;
end
endmodule
Realice los cambios correspondientes en el proyecto que tiene en ISE® e implemente
las modificaciones del programa en la tarjeta.
8.5 Actividades propuestas
8.5.1 Práctica
Diseñe un contador de M-bits que cuente en orden ascendente y descendente.
El reporte debe incluir:
Tabla de verdad de las variables de entrada y salida.
Descripción de las ecuaciones con compuertas lógicas.
Descripción del circuito en Verilog.
5/9/2018 Practicas - slidepdf.com
http://slidepdf.com/reader/full/practicas-559dfbe913f2b 38/38
Universidad Nacional de Ingeniería | Jessica Leiva
38
Verificación del programa en ISE. Utilice las capturas de pantalla (tecla:
PRTSC) para explicar el procedimiento.
Comprobación del funcionamiento mediante simulación en ISim.
8.5.2 Actividades de aprendizaje
Encierre en un círculo el ítem que describa mejor el enunciado siguiente:
1. Los contadores síncronos (paralelos) eliminan los problemas de retrasos que se
presentan en los contadores asíncronos (rizo) ya que:
a. Se aplican pulsos de entrada de reloj sólo a la primera y a la última etapa.
b. Se aplican pulsos de entrada de reloj sólo a la primera y a la última etapa.
c. Se aplican pulsos de entrada de reloj sólo a la última etapa.
d. Se aplican pulsos de entrada de reloj simultáneamente a cada etapa.
e. Los pulsos de entrada de reloj no se emplean para activar ninguna de las
etapas del contador.
2. ¿Cuál de las siguientes afirmaciones es verdadera?
a. Los eventos asíncronos no ocurren al mismo tiempo.
b. Los eventos asíncronos están controlados por un reloj.
c. Los eventos síncronos no necesitan que los controle un reloj.
d. Sólo los eventos asíncronos necesitan un reloj de control.