UNIVERSIDAD AUTÓNOMA DE NUEVO LEÓN
FACULTAD DE INGENIERÍA MECÁNICA Y ELÉCTRICA
LABORATORIO DE ELECTRONICA II
PRACTICA #5.- HDL y minimización de funciones booleanas
Nombre: Diego Acosta Galván N.L. 6
Matrícula: 2077858
Carrera: IMTC
Grupo: MM3
Docente: Juan Ángel Garza Garza
Semestre: Enero-Junio 2024
29/02/2024
Ecuaciones asignadas y circuitos
Tablas de verdad
F1= AD´ + AC´+ A´B + CD´
F2= (D´) (B+C´) (A´+C)
m A B C D F1 F2
0 0 0 0 0 0 1
1 0 0 0 1 0 0
2 0 0 1 0 1 0
3 0 0 1 1 0 0
4 0 1 0 0 1 1
5 0 1 0 1 1 0
6 0 1 1 0 1 1
7 0 1 1 1 1 0
8 1 0 0 0 1 0
9 1 0 0 1 1 0
10 1 0 1 0 1 0
11 1 0 1 1 0 0
12 1 1 0 0 1 0
13 1 1 0 1 1 0
14 1 1 1 0 1 1
15 1 1 1 1 0 0
Forma canónica
F1= 𝛴𝑚(2,4,5,6,7,8,9,10,12,13,14)
F2= 𝛱𝑚(1,2,3,5,7,8,9,10,11,12,13,15)
Ecuaciones mínimas
Ecuaciones mínimas F1:
Es más conveniente usar SOP: (BCD´) + (A´C´D´)
Ecuaciones mínimas F2:
Es mas conveniente usar POS: (D´) (A´+C) (B+C´)
Gráfica y comparación
m A B C D F1 F2
0 0 0 0 0 0 1
1 0 0 0 1 0 0
2 0 0 1 0 1 0
3 0 0 1 1 0 0
4 0 1 0 0 1 1
5 0 1 0 1 1 0
6 0 1 1 0 1 1
7 0 1 1 1 1 0
8 1 0 0 0 1 0
9 1 0 0 1 1 0
10 1 0 1 0 1 0
11 1 0 1 1 0 0
12 1 1 0 0 1 0
13 1 1 0 1 1 0
14 1 1 1 0 1 1
15 1 1 1 1 0 0
Como podemos observar la gráfica simulada a partir de Abel HDL es simular a los
resultados conseguidos con la tabla de verdad previamente calculada.
Pin Out y código AHDL
Simulación Proteus
Circuito físico
Conclusiones
En esta ocasión seguimos trabajando con el PLD 22V10, a partir del programa
ISPLever, logramos conseguir las tablas de verdad a partir de las funciones
asignadas, esto nos permite conseguir las ecuaciones mínimas para representar
dichas funciones y a partir de traducirlas al lenguaje adecuado, simularlas en
tiempo real para ver el comportamiento de dichos circuitos, así como nos permite
generar el archivo mediante el cual se puede programar nuestro PLD, ya sea
físicamente o en el programa proteus.
Referencias bibliográficas
Solo se han consultado los manuales asignados por el docente.
Laboratorio de sistemas
electrónicos digitales
(modalidad presencial)
Teoría y Práctica
Autores: Juan Angel Garza Garza, Humberto Figueroa Martínez, Jesús Daniel Garza
Camarena.
Primera edición, septiembre 2023
©Universidad Autónoma de Nuevo León
Facultad de Ingeniería Mecánica y Eléctrica
Pedro de Alba S/N
Cd. Universitaria
San Nicolás de los Garza N.L.
México Cp. 66450
http:\\WWW.FIME.UANL.MX
Tel. (0181) 83294020 Ext. 5921
Email:
[email protected]http://jagarza.fime.uanl.mx/
Impreso en FIME UANL México
ISBN: En trámite
1
Laboratorio de Electrónica Digital, JAGG, septiembre 2023
Contenido
Sesión 5 HDL y Minimización de funciones booleanas ..................................................... 3
Objetivos particulares ..................................................................................................... 3
Elementos de competencia ............................................................................................ 3
Fundamento Teórico ................................................................................................... 3
Operadores Lógicos en ABEL-HDL ............................................................................ 4
Material a utilizar......................................................................................................... 5
Actividad de aprendizaje. ............................................................................................ 6
Reporte ........................................................................................................................ 13
Reporte (lista de Cotejo, Check List) ............................................................................ 13
2
Laboratorio de Electrónica Digital, JAGG, septiembre 2023
Sesión 5
HDL y Minimización de
funciones booleanas
Objetivos particulares
Durante el desarrollo de esta sesión el estudiante generara la tabla de verdad partiendo de
dos ecuaciones F1 de la forma SOP y F2 en forma POS y a partir de la tabla o las formas
canónicas ∑ y las ecuaciones mínimas en las formas SOP (Suma de Productos And/Or)
y POS (Productos de Suma Or/And) para reducir la complejidad del circuito a implementar.
Elementos de competencia
Construir circuito digital correspondiente a dos funciones booleanas de forma SOP y POS,
en un Dispositivo Lógico Programable (PLD), utilizando el Lenguaje de Descripción de
Hardware (HDL), ABEL (Advanced Boolean Expression Language), simulando su
funcionamiento por medio del Test_Vectors, usando el programa IspLever, para que
funcione en base a las funciones Booleanas.
Comprobar el funcionamiento del circuito construido, utilizando los resultados obtenidos en
el archivo reporte del IspLever (las ecuaciones mínimas), por medio de Mapas de Karnaugh
en las formas: SOP (agrupando unos) y POS (agrupando ceros) y utilizando el software
LogicAid, para garantizar su correspondencia con las funciones Booleanas.
Aplicar el Teorema de D’ Morgan para obtener las ocho formas estándar.
Fundamento Teórico
Por medio del Lenguaje de Descripción de Hardware (HDL) es posible fabricar un circuito
integrado a la medida (ASIC), utilizando código para proporcionar las ecuaciones o la tabla
de verdad en el lenguaje ABEL- HDL que fue desarrollado por Data I/O Corporation para la
construcción física de circuitos correspondientes a las funciones booleanas en dispositivos
lógicos programables (PLD).
3
Laboratorio de Electrónica Digital, JAGG, septiembre 2023
ABEL-HDL necesita un procesador de lenguaje llamado compilador (IspLEVER), cuyo
trabajo consiste en traducir el archivo de texto de ABEL a un mapa de fusibles (JEDEC) del
dispositivo físico seleccionado, pasando por un proceso de validación de las instrucciones,
así como de minimización de las funciones para ajustar, si es posible, la capacidad del
dispositivo elegido.
Operadores Lógicos en ABEL-HDL
Descripción Símbolo Operador Operador en Abel
Not A’ ! !A
And AB & A&B
Or A+B # A#B
Exor AB $ A$B
Nand (AB)’ !& !(A&B)
Nor (A+B)’ !# !(A#B)
Exnor (AB)’ !$ !(A$B)
Estructura del archivo ABEL-HDL Module
1 Module inicio del programa máximo 8 caracteres no números
2 ” Comentarios: fecha, autor, propósito
3 Declaration a) asignación de terminales de entrada
4.- b) asignación de terminales de salida istype ‘com’ ;
4 descripción lógica (ecuaciones, Tabla de verdad etc.)
5 Test_vectors (vectores de prueba)
6 End fin del programa
Nota: Para más información sobre el lenguaje ABEL, consultar los manuales disponibles en la página
http://jagarza.fime.uanl.mx/.
4
Laboratorio de Electrónica Digital, JAGG, septiembre 2023
Material a utilizar
Programas de aplicación (software):
IspLEVER Classic o Projnav
Microsoft Word (reporte)
Proteus
ScreenToGif
Recortes (Windows XP o Windows 7)
Cant. Descripción imagen
1 Una fuente de alimentación de cinco volts
6 Resistores de 330 a 1/4 W
Led’s de 5 mm económico diferentes colores, ámbar, Azul, rojos y
6
verdes.
1 Tablilla de conexiones (Proto-Board) 1 Bloque 2 Tiras 830 puntos
1 DIP Switch deslizable (4 o 8 interruptores deslizables) tipo TTL
Switch Push Micro NO (interruptor de no retención normalmente
4
abierto)
1 Cables diferentes tamaños ya listos para alambrar
Dispositivo Logico Programable (PLD)
1
22V10
Microchip Lattice
5
Laboratorio de Electrónica Digital, JAGG, septiembre 2023
Actividad de aprendizaje.
Trabajo solicitado
1.- Obtener la tabla de verdad de las ecuaciones que le fueron asignadas en la página
http://jagarza.fime.uanl.mx, en la sección de laboratorio, sesión 5.
2.- Obtenga las ecuaciones partiendo de los minitérminos o Maxiterminos según convenga
mínimas usando el programa LogicAid indicado para cada caso el tamaño del circuito
en número de entradas y numero de compuertas.
3.- Elabore el archivo en formato ABEL-HDL usando el comando equations, con las
ecuaciones mínimas obtenidas incluyendo en el mismo archivo el Test_vectors.
4.- Compare los resultados obtenidos en la gráfica del test vectors con su tabla de verdad,
si coinciden los valores continue con el paso 5, en el caso de no coincidir los valores
de la gráfica con la tabla de verdad, revise de nuevo el procedimiento desde el punto
1.
5.- Utilice el programa Proteus para de nueve comprobar la tabla de verdad.
6.- Construya el prototipo y compruebe de nuevo la tabla de verdad.
7.- Elabore el reporte
8.- Suba los archivos entregables a la plataforma Google Classroom
9.- realice la entrevista para comunicar sus resultados en forma oral y escrita.
6
Laboratorio de Electrónica Digital, JAGG, septiembre 2023
Ejemplo:
F1(A,B,C,D)= A B’ +A B D’ + A B’ D + A’ B’C’D (SOP, And/Or)
F2(A, B, C, D)=(B’+C+D)(B’+C’+D)(A’+B’+C’+D’)(A’+B+C+D’) (POS, Or/And)
Obtenga la tabla de verdad
m A B C D F1 F2
0 0 0 0 0 0 1
1 0 0 0 1 1 1
2 0 0 1 0 0 1
3 0 0 1 1 1 1
4 0 1 0 0 0 0
5 0 1 0 1 0 1
6 0 1 1 0 0 0
7 0 1 1 1 0 1
8 1 0 0 0 1 1
9 1 0 0 1 1 0
10 1 0 1 0 1 1
11 1 0 1 1 1 1
12 1 1 0 0 1 0
13 1 1 0 1 0 1
14 1 1 1 0 1 0
15 1 1 1 1 0 0
Formas canónicas
F1(A,B,C,D)= ∑m (1,8,9,10,11,12,14)
F2(A, B, C, D)=m(4,6,9,12,14,15)
Obtenga las ecuaciones mínimas usando LogicAid
Forma And/Or
F1 = A D' + A B' + B'C'D, Input Cost = 10 Gate Cost = 4
F2 = B C'D + B'C + B'D' + A'D, Input Cost = 13 Gate Cost = 5
Forma Or/And
F1 = (B'+ D') (A + C') (A + D ), Input Cost = 9 Gate Cost = 4
F2 = (A'+ B'+ C') (B'+ D ) (A'+ B + C + D'), Input Cost = 12 Gate Cost = 4
7
Laboratorio de Electrónica Digital, JAGG, septiembre 2023
Ecuaciones con la Sintaxis en ABEL-HDL
F1 = A D' + A B' + B'C’D
F1 = A&!D # A&!B # !B & !C &D ; ABEL- HDL
F2 = (A'+ B'+ C') (B'+ D ) (A'+ B + C + D’)
F2= (!A#!B#!C)&(!B#D)&(!A#B#C#!D):
8
Laboratorio de Electrónica Digital, JAGG, septiembre 2023
9.- Capture el código con el formato como se muestra en la página siguiente con las
ecuaciones minimas que le fueron asignadas.
Código del archivo ABEL-HDL module
MODULE Pcinco
"Entradas
A, B, C, D PIN 1..4;
"Salidas
F1, F2 PIN 14, 15 ISTYPE 'COM';
EQUATIONS
"F1=A D' + A B' + B'C’D
F1 = A&!D # A&!B # !B & !C &D ;
"F2=(A'+ B'+ C')(B'+ D )(A'+ B + C + D’)
F2= (!A#!B#!C)&(!B#D)&(!A#B#C#!D);
TEST_VECTORS
([A,B,C,D]->[F1,F2])
[0,0,0,0]->[.X.,.X.];
[0,0,0,1]->[.X.,.X.];
[0,0,1,0]->[.X.,.X.];
[0,0,1,1]->[.X.,.X.];
[0,1,0,0]->[.X.,.X.];
[0,1,0,1]->[.X.,.X.];
[0,1,1,0]->[.X.,.X.];
[0,1,1,1]->[.X.,.X.];
[1,0,0,0]->[.X.,.X.];
[1,0,0,1]->[.X.,.X.];
[1,0,1,0]->[.X.,.X.];
[1,0,1,1]->[.X.,.X.];
[1,1,0,0]->[.X.,.X.];
[1,1,0,1]->[.X.,.X.];
[1,1,1,0]->[.X.,.X.];
[1,1,1,1]->[.X.,.X.];
END
9
Laboratorio de Electrónica Digital, JAGG, septiembre 2023
En el código en ABEL-HDL Module las terminales de entrada y salida pueden asignarse de
manera conveniente siempre y cuando estén disponibles para ese propósito, en la siguiente
figura se muestran las terminales disponibles para entrada y salida para GAL22V10.
Distribución de terminales (pin out)
Las posibles entradas son (22): De
la terminal 1 a la 11 y de la 13 a la
23.
Las salidas disponibles son (10): De
la 14 a la 23.
GAL22V10
La terminal 1 puede ser usada
también como señal de sincronía
Clk (circuitos secuenciales).
La terminal 13 es una entrada de
control OE Output Enable.
Para cualquier aclaración sobre la distribución de terminales de su dispositivo consulte el
manual del fabricante.
10
Laboratorio de Electrónica Digital, JAGG, septiembre 2023
Compare los resultados del Abel_test vector con la tabla de verdad:
m A B C D F1 F2
0 0 0 0 0 0 1
1 0 0 0 1 1 1
2 0 0 1 0 0 1
3 0 0 1 1 1 1
4 0 1 0 0 0 0
5 0 1 0 1 0 1
6 0 1 1 0 0 0
7 0 1 1 1 0 1
8 1 0 0 0 1 1
9 1 0 0 1 1 0
10 1 0 1 0 1 1
11 1 0 1 1 1 1
12 1 1 0 0 1 0
13 1 1 0 1 0 1
14 1 1 1 0 1 0
15 1 1 1 1 0 0
Simulación en Proteus
Diagrama elaborado en Proteus para efectuar la simulación y comprobar los resultados obtenidos
11
Laboratorio de Electrónica Digital, JAGG, septiembre 2023
Considerando la distribución de terminales (Pin Out) del archivo reporte, implementar
físicamente el circuito como se muestra en la siguiente figura y comprobar todas las
combinaciones coincida con las obtenidas en la tabla de verdad.
12
Laboratorio de Electrónica Digital, JAGG, septiembre 2023
Reporte
Los reportes del Laboratorio deberán de contener la siguiente información.
Portada:
Reporte (lista de Cotejo, Check List)
1 Portada.
2 Ecuaciones asignadas.
3 Tabla de verdad
4 Ecuaciones mínimas indicando la cantidad de entradas y compuertas en SOP y POS
5 Código en formato ABEL-HDL Module (incluyendo el Test_vectors).
6 Imagen de la simulación.
7 Imagen de la Distribución de terminales (Pin Out)
8 Imagen del Circuito en Proteus
9 Ecuaciones mínimas del archivo reporte.
10 Foto del circuito implementado
11 Conclusiones
12 Recomendaciones
13 Subir a Google Classroom los archivos entregables solicitados
En la página http://jagarza.fime.uanl.mx/ podrás encontrar el video de esta sesión, así como
manuales de uso del lenguaje ABEL.HDL, así como el software LogicAid
Archivos entregables todos incluidos en un Zip o RAR de nombre, sesión, hora y numero de lista
ejemplo S5MM1NL3.zip martes M1 numero de lista 3
Abel HDL
Reporte JEDEC LogicAid Animación PROTEUS
Module
PDF ABL JED Aid Out GIF PDSPRJ
Una vez cumplido lo anterior es necesario agendar y efectuar la entrevista presencial para
presentar el prototipo funcionando correctamente, así como explicar los procedimientos y
resultados obtenidos en forma oral y escrita.
13
Laboratorio de Electrónica Digital, JAGG, septiembre 2023