INFORME PRACTICA 1: DISEO E IMPLEMENTACION DE CIRCUITOS
DIGITALES; MULTIPLICADOR, DIVISOR, SUMADOR Y RESTADOR DE 2 BITS
INTEGRANTES: NATALIA MUOZ BOLAOS NATALIA MENESES PINO IVAN FELIPE VELASCO
PRESENTADO A: ING. FERNANDO A. URBANO M.
FACULTAD DE INGENIERIA ELECTRNICA Y TELECOMUNICACIONES PROGRAMA INGENIERIA ELECTRONICA CIRCUITOS DIGITALES I POPAYN, ABRIL DE 2014 2
2. RESUMEN: En esta prctica se desarroll la implementacin de un multiplicador divisor, un conversor de hexadecimal y BCD a 7 segmentos y un sumador- restador; para lo cual se desarrollaron 3 tablas de verdad individuales cada una con funciones diferentes, las cuales permitieron disear, segn los requerimientos referidos, los circuitos digitales que se regan bajo el funcionamientos planteado. Adicionalmente, se realiz la implementacin fsica del multiplicador divisor, es decir, el montaje en protoboard y verificacin de funcionamiento de este circuito con la mnima cantidad de compuertas posibles. La verificacin de los dems circuitos se realizara por medio del programa Altera Quartus II, el cual tambin permite implementar los circuitos diseados en la FPGA.
3
3. TABLA DE CONTENIDO 2. RESUMEN 3. TABLA DE CONTENIDO 4. INTRODUCCION 4.1. Diseo circuito multiplicador divisor 4.2. Diseo circuito conversor de hexadecimal o BCD a siete segmentos 4.3. Diseo circuito sumador restador 5. OBJETIVOS 6. CONCLUSIONES
4
4. INTRODUCCIN Utilizando las tcnicas aprendidas en clase para el diseo e implementacin de circuitos digital, y siguiendo los requisitos propuestos, se realizaron las tablas de verdad pertinentes e implementacin de cada uno de ellos. 4.1. Diseo circuito multiplicador divisor Este circuito debe funcionar como un multiplicador y divisor de nmeros de 2 bits A y B, siendo A el nmero ms significativo, y debe incluir una lnea selectora que obedezca a cual operacin realizar. Segn el requerimiento se debe tomar la lnea selectora SEL: 0 para realizar la divisin (A/B) y 1 para realizar la multiplicacin (A*B). En la salida se tienen 5 variables, en donde se identifican 4 para desplegar el nmero (F3, F2, F1, F0) en funcin de cuatro bits debido a que el mayor numero que se puede obtener es el 9 cuyo igual en decimal es 1001 y una funcin adicional que permita representar la parte decimal o el punto en caso de que la divisin de una fraccin (Dot). Adicionalmente, se harn las respectivas funciones de dos maneras: Producto de sumas (POS) y suma de productos (SOP) para observar la favorabilidad de las funciones con respecto al costo. Esto tambin nos permitir reducir al mximo el nmero de compuertas o circuitos integrados utilizados en el montaje. Nota: Se aprovecha el hecho de que la divisin no este definida para utilizar trminos indiferentes y facilitar el clculo de las funciones. Esto tambin permitir reducir costos en las compuertas.
5
Tabla 1. Tabla de verdad circuito multiplicador divisor
Una vez realizada la tabla de verdad del circuito, se procede a realizar los mapas de Karnaught.
A1 B1 (A0 B0 + B0 SEL) + (A0 B0 SEL) 2 OR 6 AND 3 NOT F1 [A1 + (A0 B1)] [B0 + (SEL B1 A0)] (A1 + A0 + B1 + B0)
5 OR 4 AND 4 NOT
[A0 B1 (A1 B0 + B0 SEL)] + [A1 B0 (B1 + A0)]
3 OR 6 AND 4 NOT
F0 [A0 + (B0 A1)] (B0 + SEL)
2 OR 2 AND 2 NOT
[A0 (B0 + SEL)] + (A1 B0 SEL) 2 OR 3 AND 2 NOT Tabla 12. Resumen de funciones multiplicador - divisor
Segn el requerimiento, se necesita el menor costo posible, por esta razn se observa detalladamente las compuertas que se repitan para as reducir al mximo su costo. Se escoge entonces las funciones:
12
Funcin No. DE COMP REQUERIDA S No. DE COMP AHORRADA S TOTAL COMP (SEL)(B1)[A0+(B0 A1)] (A1 + A0 + B0) 3 OR 4 AND 4 NOT 0 3 OR 4 AND 4 NOT
SEL A1 B0 A0 B1
4 AND 1 AND 3 OR 7 AND 4 NOT
B1 [A1 + (A0 SEL)] ( A0 + B0)(SEL + A0 + B0)
4 OR 4 AND 3 NOT 1 OR 3 NOT 6 OR 11 AND 4 NOT [A1 + (A0 B1)] [B0 + (SEL B1 A0)] (A1 + A0 + B0 + B1) 5 OR 4 AND 4 NOT 2 OR 2 AND 3 NOT 9 OR 13 AND 5 NOT [A0 + (B0 A1)] (B0 + SEL) 2 OR 2 AND 2 NOT 2 NOT 11 OR 15 AND 5 NOT Tabla13. Reduccin de las funciones al mnimo En total se usaran 11 compuertas OR, 15 compuertas AND y 5 compuertas NOT para un total de 31 compuertas. Con esos datos finales se obtienen los siguientes costos: ELEMENTO DESCRIPCION CANT. VALOR UNIDAD VALOR TOTAL HD74LSO4P Compuerta NOT 1 1.000 1.000 M74HCT32B1 Compuerta OR 3 1.000 3.000 HD74LS08P Compuerta AND 4 1.000 4.000 Resistencia Resistencias de valores varios 10 50 500 Diodo LED Diodos Led color rojo 5 200 1.000 TOTAL 9.500 Tabla 14. Costos montaje del circuito multiplicador divisor
13
Con estos resultados, realizamos la simulacin de la siguiente manera:
Figura 1. Circuito multiplicador - divisor Y esto con su correspondiente compilacin y simulacin:
Figura 2. Compilacin multiplicador divisor
14
Figura 3. Simulacin circuito multiplicador divisor
Tambin se realiz una unin entre el circuito multiplicador divisor y el conversor a 7 segmentos, para que este en realidad muestre si se est dando el resultado. De esta manera se trabaj con los siguientes circuitos
Figura 4. Acoplamiento entre multiplicador divisor y conversor
15
Figura 5. Compilacin circuito de la figura 4 Para este circuito se tiene que hay una amplia diferencia en el nmero de compuertas utilizadas, y es importante recalcar que el funcionamiento del display 7 segmentos es de nodo comn, por tanto se debi colocar un negador a la salida de la funcin Dot para que tuviera un correcto funcionamiento.
Figura 6. Asignacin de pines del circuito de la figura 4
16
4.2. Diseo circuito conversor de hexadecimal o BCD a siete segmentos En este punto segn el requerimiento se diseo un conversor, cuyo funcionamiento consiste bsicamente en tomar un numero en cdigo binario de 4 bits y convertirlo en hexadecimal (muestra los nmeros de 0 al 9 y las letras desde la A hasta la F) en cdigo BCD (muestra los nmeros del 0 al 9) segn se desee, esta conversin se realizar mediante un despliegue de 7 segmentos.
El circuito consta de 6 funciones de entradas: E es una lnea habilitadora, cuando E=0 permite el funcionamiento del circuito, por lo contrario s E=1 inhabilita todas las salidas, es decir el despliegue de 7 segmentos se apaga. S es una lnea de seleccin el cual permite seleccionar el tipo de conversin que se desea realizar, si S=0 realiza la conversin binaria a hexadecimal y cuando S=1 se realizar la conversin binaria a BDC.
W, X, Y, Z representan el nmero binario que se desea codificar.
Las salidas correspondientes al circuito son: a, b, c, d, e1, f y g cada una de estas representa un segmento del despliegue.
A continuacin se muestra la tabla de verdad correspondiente al CONVERSOR:
Una vez hecha la tabla de verdad, se procedi a encontrar las expresiones correspondientes a cada funcin de salida, estas expresiones se obtuvieron mediante el uso diagramas de Karnaugh, algebra booleana y tambin con la ayuda de Boole Deusto. Funcin a:
Tabla 16. Diagrama de Karnaugh funcin a La expresin que se obtuvo mediante Suma de Productos para la funcin a es la siguiente: SOP a = E + (S w x) + (S w y) + (w x y z) + (S x y z) + (w x y z) + (S w x y z) + (S w x y z) El circuito correspondiente para la funcin es: 20
Figura 7. Modelo circuital funcin a
Funcin b:
Tabla 17. Mapa de Karnaugh funcin b La expresin que se obtuvo mediante Suma de Productos para la funcin b es la siguiente: SOP b = E + (S x y z) + (S w y) + (w x y z) + (w x y z ) + (w x y z) + (w x y z) 21
El circuito correspondiente para la funcin es:
Figura 8. Modelo circuital funcin b
Funcin c:
Tabla 18. Mapa de Karnaugh funcin c
22
La expresin que se obtuvo mediante Suma de Productos para la funcin c es la siguiente: SOP c = E + (w x y z) + (w x z) + (w x y) + (S w y) + (S w x) El circuito correspondiente para la funcin es:
Figura 9. Modelo circuital funcin c Funcin d:
Tabla 19. Mapa de Karnaugh funcin d La expresin que se obtuvo mediante Producto de Sumas para la funcin d es la siguiente: 23
POS d = (E + w + x + z) (E+ w + x + y) (E + w + y + z) (E + w + x +y) (E + w +x + y + z) (E + S +w + y) (E +S + w + x + z) (E + S + w + x + z) El correspondiente circuito para la funcin es:
Figura 10. Modelo circuital funcin d
Funcin e1:
Tabla 20. Mapa de Karnaugh funcin e1 24
La expresin que se obtuvo mediante Producto de Sumas para la funcin e1 es la siguiente: POS e1 = (E + S + w + y) (E + S + w + x) (E + w + y + z) (E + x + y+ z) El circuito correspondiente para la funcin es:
Figura 11. Modelo circuital funcin e1 Funcin f: SEL w x 000
001
011
010
110
111
101
100 y z
00
0
0
0
0
0
1
0
0
01
1
0
1
0
0
1
0
1
11
1
1
0
0
1
1
1
1
10
1
0
0
0
1
1
0
1 Tabla 21. Mapa de Karnaugh funcin f
25
La expresin que se obtuvo mediante Producto de Sumas para la funcin f es la siguiente: POS f = (E + S + w + y) (E + S + y + z) (E + w + x + z) (E+ w + x + y) (E + w + x + y) (E + w + y +z) El circuito correspondiente para la funcin es:
Figura 12. Modelo circuital funcin f Funcin g:
Tabla 22. Mapa de Karnaugh funcin g 26
La expresin que se obtuvo mediante Suma de Productos para la funcin g es la siguiente: SOP g = E + (S w x) + (S x y) + (w x y z) + (w x z) + (w x y) + (w y z) El circuito correspondiente para la funcin es:
Figura 13. Modelo circuital funcin f Cada funcin se acoplo en un bloque funcional, obteniendo as un circuito elctrico total, el cual se compil en Quartus y posteriormente se simul con el fin comprobar el correcto funcionamiento de circuito. Al compilar el circuito se debe obtener un reporte de la compilacin el cual da la informacin que permite saber s el circuito est listo para la simulacin, de no estarlo se debern corregir los errores para finalmente proceder a simularlo. El diagrama elctrico total obtenido con el acople es el siguiente:
27
Figura 14. Circuito elctrico total conversor A continuacin se muestra una imagen sobre el reporte de compilacin del circuito elctrico total del CONVERSOR: 28
Figura 15. Reporte compilacin CONVERSOR
Luego de comprobar que no hay errores se en circuito se procedi a realizar la simulacin, la cual debe coincidir con la tabla de verdad realizada para el correspondiente circuito. La simulacin se presenta a continuacin:
Figura 16. Simulacin CONVERSOR Finalmente al circuito elctrico total del CONVERSOR se le asignaron los correspondientes pines de entrada y salida del circuito, una vez realizada la correcta asignacin de pines es posible programar la tarjeta Altera De0. A continuacin se presenta una imagen con la asignacin de pines del CONVERSOR: 29
Aplicando el teorema de DeMorgan: (X+Y)*(X+~Y)=X. Se hace X= (~SEL+A0+~B1+~B0), Y=A1 y ~Y=~A1 para finalmente obtener la expresin: (~SEL+A1+A0+~B0)*(~SEL+A0+~B1+~B0)*(SEL*~A1*B1). Compuertas NAND:
Se niega toda la expresin dos veces, y se aplica el teorema de DeMorgan ~(X+Y) =~X*~Y, se obtiene la expresin: ~(~(~(SEL*~A1*~A0*B0)*~(SEL*~A0*B1*B0)*~(SEL*~A1*B1))) POS: SEL A1 A0 000 001 011 010 110 111 101 100 B1 B0 00 1 1 1 1 1 1 1 1 01 1 1 1 1 1 1 1 0 11 1 1 1 1 0 1 0 0
Aplicando la propiedad Booleana: (~X+X)=1 se obtiene: (~B1*~B0)+ (A1*~B0)+(A1*~B1) + (A0*~B1)+(A1*A0)+(~SEL). Compuertas NAND: Se niega la expresin en su totalidad y se aplica el teorema de DeMorgan ~(X+Y)=~X*~Y, se obtiene entonces la expresin: ~ (~ (~B1*~B0)*~ (A1*~B0)*~ (A0*~B1)*~ (A1*~B1)*~ (A1*A0)*(SEL))
SOP F1: (~SEL*A0*B1*B0)+ (~SEL*A1*B1)+ (~SEL*A1*A0*B0). Compuertas NAND: Se niega toda la expresin dos veces, y se aplica el teorema de DeMorgan ~(X+Y)=~X*~Y, se obtiene la expresin: ~ (~ (~SEL*A0*B1*B0)*~ (~SEL*A1*B1)*~ (~SEL*A1*A0*B0)).
POS F2 = (~SEL)*(B1+B0)*(A1+A0+B1)*(~A1+A0+B1)*(~SEL+A1+B0)*(SEL+A1+B0)* (~SEL+A1+B1 *(SEL+A1+B1)*(A1+A0) Aplicando el teorema de DeMorgan: (X+Y)*(X+~Y)=X. Se hace X=A0+B1, Y=A1 y ~Y=~A1 [el mismo procedimiento se hace para (~SEL+A1+B0)*(SEL+A1+B0) y para (~SEL+A1+B1)*(SEL+A1+B1)], para finalmente obtener la expresin: (B1+B0)*(A0+B1)*(A1+B0)*(A1+B1)*(A1+A0)*(~SEL). Compuertas NAND: Se niega la expresin en su totalidad y cada uno de los trminos dos veces, y se aplica el teorema de DeMorgan ~(X+Y)=~X*~Y, se obtiene entonces la expresin: ~ (~ (~ (~B1*~B0)*~ (~A0*~B1)*~ (~A1*~B0)*~ (~A1*~B1)*~ (~A1*~A0)*(~SEL))). Funcin F3 SOP: SEL A1 A0 000 001 011 010 110 111 101 100 B1 B0 00 0 0 1 1 1 1 0 0 01 0 1 0 1 0 1 0 0 11 1 0 1 0 0 0 1 1
34
10 1 1 0 0 0 0 0 1
SOP F3: (~SEL*~A1*A0*~B1*B0)+(~SEL*A1*A0*B1*B0)+(~SEL*A1*~A0*~B1)+(~SEL*~A1* B1*~B0)+(SEL*A1*A0*~B1)+(A1*~B1*~B0)+(SEL*~A1*B1*B0)+(~A1*~A0*B1) Compuertas NAND: Se niega toda la expresin dos veces, y se aplica el teorema de DeMorgan ~(X+Y)=~X*~Y, se obtiene la expresin: ~(~(~SEL*~A1*A0*~B1*B0)*~(~SEL*A1*A0*B1*B0)*~(~SEL*A1*~A0*~B1)* ~(~SEL*~A1*B1*~B0)*~(SEL*A1*A0*~B1)*~(A1*~B1*~B0)*~(SEL*~A1*B1*B0)* ~(~A1*~A0*B1)) Funcion F3 POS:
POS F3 = (A1+B1+B0)*(A1+A0+B1)*(SEL+A1+~A0+~B1+~B0)*(~A1+~B1+B0)*(~A1+A0+~B 1)*(SEL+~A1+~A0+B1+~B0)*(~SEL+A1+B1)*(~SEL+~A1+~B1)*(~SEL+~A1+A0+ B1+~B0)*(~SEL+A1+A0+B1+~B0)*(~SEL+A1+~A0+B0) Aplicando el teorema de DeMorgan: (X+Y)*(X+~Y)=X. Se hace X=(~SEL+A0+B1+~B0), Y=A1 y ~Y=~A1 para finalmente obtener la expresin: (A1+B1+B0)*(A1+A0+B1)*(SEL+A1+~A0+~B1+~B0)*(~A1+~B1+B0)*(~A1+A0+~B 1)* (SEL+~A1+~A0+B1+~B0)*(~SEL+A1+B1)*(~SEL+~A1+~B1)*(~SEL+A0+B1+~B0) * (~SEL+A1+~A0+B0). SEL A1 A0 000 001 011 010 110 111 101 100 B1 B0 00 0 0 1 1 1 1 0 0 01 0 1 0 1 0 1 0 0 11 1 0 1 0 0 0 1 1 10 1 1 0 0 0 0 0 1
35
Compuertas NAND: Se niega toda la expresin dos veces, y se aplica el teorema de DeMorgan ~(X+Y)=~X*~Y, se obtiene la expresin: ~(~(A1+B1+B0)+~(A1+A0+B1)+~(SEL+A1+~A0+~B1+~B0)+~(~A1+~B1+B0)+~(~ A1+A0+~B1)+~(SEL+~A1+~A0+B1+~B0)+~(~SEL+A1+B1)+~(~SEL+~A1+~B1)+~ (~SEL+A0+B1+~B0)+~(~SEL+A1+~A0+B0)). FUNCION F4 SOP: SEL A1 A0 000 001 011 010 110 111 101 100 B1 B0 00 0 1 1 0 0 1 1 0 01 1 0 0 1 1 0 0 1 11 1 0 0 1 1 0 0 1 10 0 1 1 0 0 1 1 0 SOP F4: (A0*~B0)+(~A0*B0) Compuertas NAND: Se niega toda la expresin dos veces, y se aplica el teorema de DeMorgan ~(X+Y)=~X*~Y, se obtiene la expresin: ~(~(A0*~B0)*~(~A0*B0)) Funcion F4 POS: SEL A1 A0 000 001 011 010 110 111 101 100 B1 B0 00 0 1 1 0 0 1 1 0 01 1 0 0 1 1 0 0 1 11 1 0 0 1 1 0 0 1 10 0 1 1 0 0 1 1 0
POS F4 = 36
(A0+B0)*(~A0+~B0) Compuertas NAND: Se niega la expresin en su totalidad y cada uno de los trminos dos veces, y se aplica el teorema de DeMorgan ~(X+Y)=~X*~Y, se obtiene entonces la expresin: ~ (~ (~ (~A0*~B0)*~ (A0*B0)))
37
5. OBJETIVOS Disear el circuito propuesto usando las tcnicas vistas en clase y aplicando las tcnicas de reduccin tambin vistas. Simular los diseos realizados, usando Altera Simulator U.P y software libre, como por ejemplo Tinycad. Montar, cablear, ajustar y realizar las respectivas mediciones de los circuitos propuestos. Disear y simular un circuito en Quartus II de Altera e Implementar en la tarjeta Altera DE0. Aprender a incursionar el en diseo e implementacin de circuitos digitales. Demostrar que una tabla de verdad, una funcin se puede convertir en Hardware.
38
6. CONCLUSIONES:
Este laboratorio nos permiti conocer y utilizar la herramienta Altera Quartus, tambin nos permiti el aprendizaje de localizacin de pines, programacin y simulacin de los circuitos, as como tambin la deteccin de errores en los mismos.
Se disearon circuitos que realizan las operaciones bsicas (Suma, resta, multiplicacin y divisin) de nmeros de 2 bits y tambin un conversor a siete segmentos que nos permita visualizar en la FPGA el numero en decimal que corroboraba los requerimientos.
Se investigo acerca de que circuitos integrados se podan utilizar para el montaje de circuitos digitales, informacin con la que no contbamos, igualmente se consult sobre el funcionamiento de la tarjeta Altera De0.
El Haber hecho un buen cableado permiti un buen funcionamiento del circuito y correccin de errores.
Se obtuvieron todos los resultados planeados y planteados en este informe Es importante verificar las simulaciones previo a realizar el circuito para evitar prdidas de tiempo.