Documentos de Académico
Documentos de Profesional
Documentos de Cultura
DE
DISEÑO DE SISTEMAS DIGITALES
Noviembre de 2013
AUTORES
Dr. Homero Miranda Vidales
Ing. Alfredo Arriaga Contreras
Diego Abraham Marín Pachicano
/ /
Procedimiento
0 1 2 3 4
Participación Calificación de
0 1 2 la Práctica
Comprensión
0 1
Conclusiones
0 1 2 3
OBJETIVO
PROCEDIMIENTO
A B C Y
0 0 0 0
0 0 1 0
0 1 0 1
0 1 1 1
1 0 0 1
1 0 1 0
1 1 0 1
1 1 1 0
Facultad de Ingeniería
Práctica No. 3:
“FUNCIONES LÓGICAS EN VHDL (DEM)”
1. Introducción
El álgebra de Boole es una herramienta de fundamental importancia en el mundo de la computación. Las propiedades
que se verifican en ella sirven de base al diseño y la construcción de las computadoras que trabajan con objetos cuyos
valores son discretos, es decir las computadoras digitales, en particular las binarias (en las cuales los objetos básicos
tienen solo 2 valores posibles) las que son, en definitiva, la totalidad de las computadoras de uso corriente. El hecho
que la expresión de una función sea lo más simple posible es de fundamental importancia en la construcción práctica
de circuitos lógicos, por eso analizaremos algunos métodos para simplificar expresiones booleanas.
Método algebraico.
El método consiste en la aplicación, más o menos ingeniosa, de transformaciones algebraicas de manera de lograr
expresiones más sencillas. Por supuesto que este no es un método sistemático, pero es la base, al fin, de los métodos
sistemáticos. Para esto se hace uso de maxi términos y mini términos:
Mini término: Es un producto booleano en la que cada variable aparece sólo una vez; es decir, es una
expresión lógica que se compone de variables y los operadores lógicos AND y NOT.
Maxi término: Es una expresión lógica que se compone de variables y los operadores lógicos OR y NOT.
Mapas de Karnaugh
Los Mapas de Karnaugh son una herramienta muy utilizada para la simplificación de circuitos lógicos. Cuando se
tiene una función lógica con su tabla de verdad y se desea implementar esa función de la manera más económica
posible se utiliza este método. La tabla de Karnaugh consiste en una representación bidimensional de la función que
se quiere simplificar. Si la función viene expresada como una tabla de verdad, entonces la tabla de Karnaugh puede
verse como una forma alternativa de representación 2D. Puesto que la tabla de verdad de una función de n variables
posee 2n filas, la tabla de Karnaugh correspondiente debe poseer también 2n celdas. Una vez construida la tabla de
Karnaugh se procede a la reducción del número de términos (si es posible) mediante la agrupación de celdas
adyacentes en la tabla con valor ‘1’
2. Objetivos
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.
Facultad de Ingeniería
3. Desarrollo
De acuerdo a la tabla 1, primero se obtiene la función canónica mediante el uso de mini términos, después mediante
el método algebraico se tiene que simplificar la función.
Tomando en cuenta los mini términos, se puede escribir la siguiente función canónica de cada una de las salidas:
𝑆(0) = (𝐴̅𝐵̅𝐶𝐷
̅ ) + (𝐴̅𝐵𝐶̅ 𝐷
̅ ) + (𝐴̅𝐵𝐶̅ 𝐷 ) + (𝐴̅𝐵𝐶𝐷
̅ ) + (𝐴𝐵̅𝐶̅ 𝐷 ̅ ) + (𝐴𝐵̅𝐶𝐷) + (𝐴𝐵𝐶̅ 𝐷 ) + (𝐴𝐵𝐶𝐷
̅ ) + (𝐴𝐵̅𝐶𝐷 ̅)
𝑆(1) = (𝐴̅𝐵̅𝐶̅ 𝐷
̅ ) + (𝐴̅𝐵̅𝐶̅ 𝐷 ) + (𝐴̅𝐵𝐶̅ 𝐷
̅ ) + (𝐴̅𝐵𝐶𝐷) + (𝐴𝐵̅𝐶̅ 𝐷
̅ ) + (𝐴𝐵̅𝐶̅ 𝐷 ) + (𝐴𝐵̅𝐶𝐷) + (𝐴𝐵𝐶𝐷
̅)
𝑆(0) = (𝐴̅𝐵̅𝐶𝐷
̅ ) + (𝐴̅𝐵𝐶̅ 𝐷
̅ ) + (𝐴̅𝐵𝐶̅ 𝐷 ) + (𝐴̅𝐵𝐶𝐷
̅ ) + (𝐴𝐵̅𝐶̅ 𝐷 ̅ ) + (𝐴𝐵̅𝐶𝐷) + (𝐴𝐵𝐶̅ 𝐷 ) + (𝐴𝐵𝐶𝐷
̅ ) + (𝐴𝐵̅𝐶𝐷 ̅)
𝑆(1) = (𝐴̅𝐵̅𝐶̅ 𝐷
̅ ) + (𝐴̅𝐵̅𝐶̅ 𝐷 ) + (𝐴̅𝐵𝐶̅ 𝐷
̅ ) + (𝐴̅𝐵𝐶𝐷) + (𝐴𝐵̅𝐶̅ 𝐷
̅ ) + (𝐴𝐵̅𝐶̅ 𝐷 ) + (𝐴𝐵̅𝐶𝐷) + (𝐴𝐵𝐶𝐷
̅)
Facultad de Ingeniería
̅𝐵
𝑆(2) = 𝐴 ̅𝐶̅ 𝐷 + 𝐴
̅𝐷 + 𝐴 ̅𝐵 ̅𝐶𝐷
̅𝐶 + 𝐴 ̅+𝐵
̅𝐶𝐷 ̅𝐶𝐷 + 𝐵𝐶̅ 𝐷 + 𝐴𝐵
̅+𝐵 ̅𝐷̅ + 𝐴𝐶̅ 𝐷 ̅𝐶 + 𝐴𝐵𝐶̅
̅ + 𝐴𝐵
El otro metodo que usaremos para obtener una funcion canonica de cada salida sera mediante mapas de Karnaugh,
los cuales se describen a continuacion, siendo un mapa por salida y la funcion que se puede obtener de ellos:
Una vez obtenidas estas funciones se pueden comparar con las primeras que se obtuvieron por medio del metodo
algebraico, y se puede confirmar que el metodo algebraico no siempre nos va a proporcionar la funcion mas sencilla
o mas simple, pero de igual manera nos acerca al resultado mas exacto que nos propociona los mapas de karnaugh.
Facultad de Ingeniería
Por ultimo se crea el codigo que se usa para simular las salidas del sistema, para este caso se utilizan las salidas
obtenidas por medio del metodo mapas de karnaugh, se crea el proyecto necesario para implementarlo en la tarjeta
FPGA NEXYS3 y se carga mediante el software Adept. A continuacion se muestran las evidencias de la simulacion
y el resultado final, coincidiendo las salidas a las descritas en la tabla 1.
Facultad de Ingeniería
Facultad de Ingeniería
3. ¿Por qué es necesario nombrar todas las entradas con los nombres de los pines de la tarjeta de desarrollo
Nexys3?
Para poder dirigir las salidas a su lugar correspondiente, de lo contrario se podría malinterpretar la salida
o señales que nos muestra la NEXYS 3.
Facultad de Ingeniería
5. Conclusiones generales
La reducción de funciones canónicas de una tabla de verdad nos permiten simplificar de manera efectiva todas las
posibles variables y salidas de un sistema, esto nos ayuda a su vez a poder determinar el comportamiento de un sistema
y a predecir o calcular como se comportara bajo condiciones exactas, lo cual es la variación de las señales de entrada
y la o las señales de salida. Sin embargo dentro de los diferentes métodos que pudiesen existir para realizar esta
función, lo que siempre resultara más útil es aquel método que nos permita obtener una función canoníca más sencilla
y exacta, y por supuesto que esta sea más fácil de obtener. Ya que de este modo nuestro trabajo se vuelve más sencillo
y eficaz al realizar el estudio o simulaciones de determinados sistemas. Por esto es que se puede decir, que de ambos
métodos vistos en la práctica, los mapas de karnaugh son más útiles al momento de querer hacer representaciones
canónicas de una tabla de verdad, ya que a partir de un esquema más sencillo se puede obtener directamente una
función mucho más sencilla de la que obtendríamos si empleáramos el método algebraico.
6. Referencias
1. https://www.fing.edu.uy/tecnoinf/mvd/cursos/arqcomp/material/teo/arq-teo03.pdf
2. http://www.mate.unlp.edu.ar/practicas/111_3_0505202117502.pdf
3. https://bookdown.org/alberto_brunete/intro_automatica/mapa-de-karnaugh.html
4. https://unicrom.com/mapas-de-karnaugh-simplificacion-de-funciones/
5. http://www.itnuevolaredo.edu.mx/takeyas/apuntes/matematicas_discretas/apuntes/Algebra_Booleana.pdf