0% encontró este documento útil (0 votos)
398 vistas15 páginas

Micro 2020 B

Este documento presenta una guía de prácticas de microelectrónica para la Facultad de Ingeniería de Producción y Servicios de la Universidad Nacional de San Agustín. Incluye seis prácticas sobre circuitos combinacionales, sumadores BCD, multiplicadores, ALU, memoria RAM y microprocesadores. Cada práctica describe sus objetivos, el desarrollo requerido y las especificaciones para la presentación del informe. El autor es el Dr. Alexander B. Hilario Tacuri.

Cargado por

Alvaro LC
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
398 vistas15 páginas

Micro 2020 B

Este documento presenta una guía de prácticas de microelectrónica para la Facultad de Ingeniería de Producción y Servicios de la Universidad Nacional de San Agustín. Incluye seis prácticas sobre circuitos combinacionales, sumadores BCD, multiplicadores, ALU, memoria RAM y microprocesadores. Cada práctica describe sus objetivos, el desarrollo requerido y las especificaciones para la presentación del informe. El autor es el Dr. Alexander B. Hilario Tacuri.

Cargado por

Alvaro LC
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Universidad Nacional de San Agustín

Facultad de ingeniería de producción y servicios


Escuela profesional de ingeniería electrónica

Microelectrónica
Guía de Prácticas

Autor:
PhD. Alexander B. Hilario Tacuri
Contenido

Práctica 1: Circuito combinacional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

Práctica 2: Sumador BCD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

Práctica 3: Multiplicador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

Práctica 4: ALU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

Práctica 5: Memoria RAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

Práctica 6: Microprocesador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

2
PhD. Alexander Hilario Tacuri Microelectrónica

Práctica 1
(Fecha de entrega: 23 de Setiembre)

1. Objetivos
• Introducción de programación VHDL para FPGAs
• Aprender a escribir test − benches en VHDL
• Aprender el flujo de diseño con el Vivado: Síntesis, simulación y generación del Bitstream
• Aprender como asignar pins de entrada y salida del FPGA y cargar el Bitstream en el Nexys-4 DDR
Artix-7 FPGA Board.

2. Programación en VHDL
• Revise el material referente al curso.

3. Nexys-4 DDR Artix-7 FPGA


• La placa Nexys-4 DDR puede recibir alimentación de su puerto USB. Conecte la placa al computador via
cable USB.

4. Desarrollo del laboratorio


a b c d f
0 0 0 0
• Problema: Se enciende un LED (f = 1) cuando la combinación de cuatro 0 0 0 1
interruptores representa un número entero sin signo que es impar y primo, 0 0 1 0
donde “1” representa la posición ON de un interruptor y “0” la posición 0 0 1 1
OFF. Por ejemplo, si abcd = 1010 → f = 0. Si abcd = 0111 → f = 1. 0 1 0 0
0 1 0 1
- Complete la tabla de verdad para este circuito. 0 1 1 0
- Derive la expresión Booleana de este circuito 0 1 1 1
1 0 0 0
1 0 0 1
1 0 1 0
1 0 1 1
1 1 0 0
1 1 0 1
1 1 1 0
1 1 1 1

5. Flujo de diseño
• Cree un nuevo proyecto Vivado. Seleccione el dispositivo FPGA Artix-7
• Escriba el código VHDL que implementa la expresión Booleana simplificada. Sintetice su circuito.
• Escriba el test-bench VHDL para probar todas las combinaciones posibles de las entradas.

3
PhD. Alexander Hilario Tacuri Microelectrónica

• Realice la Functional Simulation (Run simulation → Run Behavioral Simulation).


• Asignación de entradas y salidas: Crear un archivo XDC. Use SW 0 − SW 3 en la placa Nexys-4 DDR para
las entradas y LED0 para la salida.
• Implemente su diseño. (Run implementation)
• Realice la Timing Simulation. (Run simulation → Run Post-Implementation Timing Simulation).
• Generar el archivo bitstream (Generate Bitstream)
• Descargar el bitstream en el FPGA. (Open Hardware Manager)

6. Presentación del informe


• Cuando el docente lo autorice, es decir luego de presentar la práctica funcionando, puede mandar un correo
electrónico a: [email protected] con las siguientes especificaciones:

– Asunto: Microelectrónica - Informe de práctica 1, Grupo Y.


– El correo electrónico debe contener: Informe en pdf (Escrito en LATEX), y un enlace para un Drive
personal donde estén los programas escritos en Vivado.

4
PhD. Alexander Hilario Tacuri Microelectrónica

Práctica 2
(Fecha de entrega: 14 de Octubre )

1. Objetivos
• Usar la descripción estructural en VHDL.
• Probar circuitos aritméticos en un FPGA.

2. Programación en VHDL
• Revise el material referente al curso.

3. Desarrollo del laboratorio


• Problema: Suma BCD de dos números. Los
operandos A y B son números de 4-bits represen-
tados en BCD (donde solo se permiten números
del 0 al 9). El resultado S tambien se representa
en BCD. También existe un carry out BCD.
Si alguno de los operandos es mayor que 9, el
resultado S es invalido.
Ejemplo: 7 + 8 = 15. Aquí cout = 1 y
S = 0101 = 5.

Este circuito puede construirse a partir de dos sumadores binarios de 4 bits y algunas puertas lógicas como
se muestra en la figura: Si A + B > 9 → S = 6 + Z, cout = 1. Aqui, agregando 6 se “arregla” la suma binaria
para hacerla parecer como BCD. Si A + B ≤ 9 → S = Z, cout = 0.

4. Flujo de diseño
• Cree un nuevo proyecto Vivado. Seleccione el dispositivo FPGA Artix-7
• Escriba el código VHDL para el sumador BCD. Use la Descripción estructural: Crear un archivo separado
para el sumador completo, el sumador de 4-bits, para el bloque “CMP” y un archivo principal.
• Escriba el test-bench VHDL para probar todas las combinaciones posibles de las entradas.
• Realice la Functional Simulation y la Timing Simulation.
• Asignación de entradas y salidas: Crear un archivo XDC. Use SW 15 − SW 0 en la placa Nexys-4 DDR
para las entradas y LED4 − LED0 para las salidas.
• Generar el archivo bitstream (Generate Bitstream)
• Descargar el bitstream en el FPGA.

5. Presentación del informe


• Cuando el docente lo autorice, es decir luego de presentar la práctica funcionando, puede mandar un correo
electrónico a: [email protected] con las siguientes especificaciones:

– Asunto: Microelectrónica - Informe de práctica 2, Grupo Y.

5
PhD. Alexander Hilario Tacuri Microelectrónica

– El correo electrónico debe contener: Informe en pdf (Escrito en LATEX), y un enlace para un Drive
personal donde estén los programas escritos en Vivado.

6
PhD. Alexander Hilario Tacuri Microelectrónica

Práctica 3
(Fecha de entrega: 04 de Noviembre)

1. Objetivos
• Utilizar la descripción estructural en VHDL.
• Probar circuitos aritméticos en un FPGA.

2. Programación en VHDL
• Revise el material referente al curso.

3. Desarrollo del laboratorio

• Problema: Implementación alternativa de una


operación de multiplicación de dos números un-
signed de 4 bits.

4. Flujo de diseño
• Cree un nuevo proyecto Vivado. Seleccione el dispositivo FPGA Artix-7
• Escriba el código VHDL para el circuito multiplicador. Use la descripción estructural: Crear archivos
separados para el sumador completo, la unidad de procesamiento y el archivo principal.

7
PhD. Alexander Hilario Tacuri Microelectrónica

• Escriba el test-bench VHDL para probar el circuito y pruebe los casos mas representativos.
• Realice la Functional Simulation y la Timing Simulation.
• Asignación de entradas y salidas: Crear un archivo UCF. Use SW0 a SW7 en la placa Nexys-4 DDR para
las entradas, y dos displays para mostrar el resultado final.
• Generar el archivo bitstream.
• Descargar el bitstream en el FPGA.

5. Presentación del informe


• Cuando el docente lo autorice, es decir luego de presentar la práctica funcionando, puede mandar un correo
electrónico a: [email protected] con las siguientes especificaciones:

– Asunto: Microelectrónica - Informe de práctica 3, Grupo Y.


– El correo electrónico debe contener: Informe en pdf (Escrito en LATEX), y un enlace para un Drive
personal donde estén los programas escritos en Vivado.

8
PhD. Alexander Hilario Tacuri Microelectrónica

Práctica 4
(Fecha de entrega: 18 de Noviembre)

1. Objetivos
• Utilizar la descripción estructural y la descripción concurrente en VHDL.
• Probar circuitos combinacionales en un FPGA.

2. Programación en VHDL
• Revise el material referente al curso.

3. Desarrollo del laboratorio


• Problema: Unidad aritmética lógica de 4
bits. Este circuito selecciona entre opera-
ciones aritméticas (Valor absoluto y suma)
y operaciones lógicas (xnor y and). Solo
un resultado (valor hexadecimal) puede ser
mostrado en un display de 7 segmentos. Este
es seleccionado por la entrada sel(1..0).
• Entrada EN: Si EN = 1 → el resultado
aparece en el display de 7 segmentos. Si EN
= 0 → todos los LEDs en el display de 7
segmentos estan apagados.
• Operaciones aritméticas: Las entradas A y
B de 4 bits son tratadas como números un-
signed.

– A+B
– |A − B|: Resultado de 4 bits.

• Operaciones lógicas (A xnor B, A and B).


Estas operaciones son bit a bit.
• Nexys-4 DDR: Cada display de 7 segmen-
tos tiene entradas activas-bajas y una habil-
itación activa-baja. Asegúrese de que sólo
está activada una pantalla de 7 segmentos
(por ejemplo: AN0 = 0, AN1-AN7 = 1 para
usar sólo la pantalla de 7 segmentos más a la
derecha).

4. Flujo de diseño
• Cree un nuevo proyecto Vivado. Seleccione el dispositivo FPGA Artix-7.
• Escriba el código VHDL para el circuito dado.

9
PhD. Alexander Hilario Tacuri Microelectrónica

– IMPORTANTE: Para los circuitos A+B y |A − B| se debe utilizar sumadores completos y com-
puertas lógicas.
– Para implementar el MUX y el decoder, es fuertemente recomendado usar las sentencias concurrentes
del VHDL. Para implementar el programa principal, use la descripción estructural: Crear un archivo
separado para los circuitos aritméticos y lógicos, el MUX y el decodificador de 7 segmentos.

• Escriba el test-bench VHDL para probar el circuito y pruebe los casos mas representativos.
• Realice la Functional Simulation y la Timing Simulation.
• Asignación de entradas y salidas: Crear un archivo XDC. Use SW0 a SW7 para las entradas A y B, SW8 a
SW10 para las entradas de sel y EN , CA − CG (display de 7 segmentos) y AN 7 − AN 0 anodo habilitador
para cada display.
• Generar y Descargar el bitstream en el FPGA.

5. Presentación del informe


• Cuando el docente lo autorice, es decir luego de presentar la práctica funcionando, puede mandar un correo
electrónico a: [email protected] con las siguientes especificaciones:

– Asunto: Microelectrónica - Informe de práctica 4, Grupo Y.


– El correo electrónico debe contener: Informe en pdf (Escrito en LATEX), y un enlace para un Drive
personal donde estén los programas escritos en Vivado.

10
PhD. Alexander Hilario Tacuri Microelectrónica

Práctica 5
(Fecha de entrega: 02 de Diciembre)

1. Objetivos
• Describir circuitos síncronos en VHDL.
• Aprender la generación de T est − bench para circuitos síncronos.

2. Programación en VHDL
• Revise el material referente al curso.

3. Desarrollo del laboratorio


• Problema: Simulador de una memoria de ac-
ceso aleatorio (RAM). El siguiente circuito es una
memoria con 8 direcciones, cada dirección alma-
cena un dato de 4 bits. Las posiciones de memoria
son implementadas por registros de 4 bits. Las
señales resetn y clock son compartidas por todos
los registros. Los datos son escritos en (o leídos
de) uno de los registros.
• Escritura en la memoria: (wr_rd = 1): La
entrada de 4 bits Din se escribe en uno de los reg-
istros. La señal address[2..0] selecciona el registro
a ser escrito. Aquí, el display de 7 segmentos debe
mostrar 0. Ejemplo: Si address = 101, entonces
Din es escrito en el registro 5.
• Lectura de la memoria: (wr_rd = 0): La salida
del MUX aparece en el display de 7 segmentos. La
señal address[2..0] selecciona el registro de donde
el dato es leído. Por ejemplo, Si address = 010,
entonces el dato en el registro 2 aparece en el dis-
play de 7 segmentos. Si el dato en el registro 2
es 1010, el símbolo A aparece en el display de 7
segmentos.

4. Flujo de diseño
• Cree un nuevo proyecto Vivado. Seleccione el dispositivo FPGA Artix-7.
• Escriba el código VHDL para el circuito dado: Crear archivos separados para i) Registros con habilitador,
ii) MUX con habilitador, iii) Decodificador con habilitador, iv) Decodificador de 7 segmentos, y v) Archivo
principal
• Escriba el test-bench VHDL para probar el circuito y pruebe los casos mas representativos.
• Realice la Functional Simulation y la Timing Simulation.

11
PhD. Alexander Hilario Tacuri Microelectrónica

• Asignación de entradas y salidas: Crear un archivo XDC. Use SW0 a SW7 para las entradas (Din, address,
wrd r), CLK100MHZ para la entrada clock, el pulsador BT NR ES para resetn, CA − CG (display de 7
segmentos) y AN 7 − AN 0 anodo habilitador para cada display.
• Generar y Descargar el bitstream en el FPGA.

5. Presentación del informe


• Cuando el docente lo autorice, es decir luego de presentar la práctica funcionando, puede mandar un correo
electrónico a: [email protected] con las siguientes especificaciones:

– Asunto: Microelectrónica - Informe de práctica 5, Grupo Y.


– El correo electrónico debe contener: Informe en pdf (Escrito en LATEX), y un enlace para un Drive
personal donde estén los programas escritos en Vivado.

12
PhD. Alexander Hilario Tacuri Microelectrónica

Práctica 6
(Fecha de entrega: 21 de Diciembre)

1. Objetivos
• Describir maquinas de estado finito en VHDL.
• Implementar un sistema digital: Unidad de ruta de datos y de control

2. Programación en VHDL
• Revise el material referente al curso.

3. Desarrollo del laboratorio


• Problema: Diseño de un pequeño microprocesador. Implemente el microprocesador de 4 bits de la
siguiente Figura

• Circuito de control:

13
PhD. Alexander Hilario Tacuri Microelectrónica

• Set de instrucciones

F Operación Función
000 load IN IN ← Switches
001 load Rx, IN Rx ← In
010 copy Rx,Ry Rx ← Ry
011 add Rx, Ry Rx ← Rx + Ry
100 add Rx,IN Rx ← Rx + IN
101 xor Rx,Ry Rx ← Rx XOR Ry
110 inc Rx Rx ← Rx + 1
111 load OUT, Rx OUT ← Rx

• Maquina de estados finito

14
PhD. Alexander Hilario Tacuri Microelectrónica

• Unidad Aritmetica Logica (ALU)

sel Operación Función Unidad


0000 y <= A Transferir A
0001 y <= A + 1 Incrementar A
0010 y <= A - 1 Decrementar A
0011 y <= B Transferir B
Aritmetica
0100 y <= B + 1 Incrementar B
0101 y <= B - 1 Decrementar B
0110 y <= A + B Sumar A y B
0111 y <= A - B Restar B de A
1000 y <= not A Complemento de A
1001 y <= not B Complemento de B
1010 y <= A AND B AND
1011 y <= A OR B OR
Aritmetica
1100 y <= A NAND B NAND
1101 y <= A NOR B NOR
1110 y <= A XOR B XOR
1111 y <= A XNOR B XNOR

• Este circuito es un ejemplo de un sistema digital: incluye un circuito de ruta de datos y un circuito de
control (FSM). El circuito de ruta de datos es hecho de componentes combinacionales y secuenciales.

4. Flujo de diseño
• Cree un nuevo proyecto Vivado. Seleccione el dispositivo FPGA Artix-7.
• Escriba el código VHDL del sistema digital.
• Escriba el test-bench VHDL para probar la siguiente secuencia
- load IN;
- load R1;
- copy R0;
- inc R1;
- xor R0, R1;
- add R0, R1;
- load OUT, R0;
• Realice la Functional Simulation y la Timing Simulation.
• Realice la asignación de entradas y salidas.
• Generar y Descargar el bitstream en el FPGA.

5. Presentación del informe


• Cuando el docente lo autorice, es decir luego de presentar la práctica funcionando, puede mandar un correo
electrónico a: [email protected] con las siguientes especificaciones:
– Asunto: Microelectrónica - Informe de práctica 6, Grupo Y.
– El correo electrónico debe contener: Informe en pdf (Escrito en LATEX), y un enlace para un Drive
personal donde estén los programas escritos en Vivado.

15

También podría gustarte