Practica No 8

8
PRACTICA No. 8 “CIRCUITOS RESTADORES Y MULTIPLICADORES” MATERIA: DISEÑO DIGITAL SEMESTRE FEBRERO- JUNIO DEL 2012 NOMBRE DE LOS ALUMNOS: 1.- _________________________________________________________________ _ 2.- _________________________________________________________________ _ 3.- _________________________________________________________________ _ NOMBRE DEL EQUIPO___________________________ OBJETIVO GENERAL DE LA PRÁCTICA: Que el estudiante adquiera las competencias en el diseño de circuitos Aritmeticos restadores (incluyéndole el sumador) y multiplicadores que sean capaces de dos operandos de cuatro bits y arrojar un resultado final. CATEDRATICO: ING MIGUEL ANGEL PEREZ SOLANO INSTITUTO TECNOLOGICO DE OAXACA

Transcript of Practica No 8

Page 1: Practica No 8

PRACTICA No. 8

“CIRCUITOS RESTADORES Y MULTIPLICADORES”

MATERIA: DISEÑO DIGITAL SEMESTRE FEBRERO-JUNIO DEL 2012

NOMBRE DE LOS ALUMNOS:

1.-__________________________________________________________________

2.- __________________________________________________________________

3.- __________________________________________________________________

NOMBRE DEL EQUIPO___________________________

OBJETIVO GENERAL DE LA PRÁCTICA:

Que el estudiante adquiera las competencias en el diseño de circuitos Aritmeticos restadores (incluyéndole el sumador) y multiplicadores que sean capaces de dos operandos de cuatro bits y arrojar un resultado final.

EVALUACION: __________

CATEDRATICO: ING MIGUEL ANGEL PEREZ SOLANO INSTITUTO TECNOLOGICO DE OAXACA

Page 2: Practica No 8

I. Objetivos específicos.

- Tener claro el concepto de circuitos combinacionales.- Entender que es el complemento a 2 de un patrón binario.- Comprender como es posible realizar una resta mediante una suma

utilizando los complementos a 2.

- Investigar en la pagina de Texas instruments http://upgrade.kongju.ac.kr/data/ttl/func.html circuitos de “glue logic” (los clásicos circuitos integrados 74xx) que realizan la función lógica de sumador-restador.

- Interpretar las formas de onda presentadas a la salida del sumador-restador a la aplicación de estímulos (0s y 1s) en sus entradas.

- Saber modelar en VDHL, sumadores-restadores de 4 bits.- Sintetizar el archivo de un sumador-restador utilizando XST (del ISE

Webpack de Xilinx).- Implementar un sumador-restador, utilizando un FPGA XC3S100E de la

familia Spartan 3E de Xilinx con la tarjeta Basys 2.

II. MATERIAL Y SOFTWARE UTILIZADO

Tarjeta Basys 2 de Xilinx.

ISE Webpack

Adept.

III. FUNDAMENTO TEORICO

En circuitos digitales, un sumador/restador es un circuito que es capaz de sumar o substraer números (particularmente en binario). A continuación se muestra un circuito que suma o resta dependiendo de una señal de control.

Como puede observarse M es una línea de control, suma cuando es 0 ( F = A + B) y resta cuando es 1 (F= A-B). C es el acarreo de salida y V es una bandera de sobreflujo.

CATEDRATICO: ING MIGUEL ANGEL PEREZ SOLANO INSTITUTO TECNOLOGICO DE OAXACA

Page 3: Practica No 8

Objetos de datos SIGNAL: Los objetos de datos SIGNAL representan las señales lógicas, o cables en un circuito. Hay tres lugares donde es posible declarar las señales en el código VHDL; en una declaración de entity, en la sección declarativa en una architecture y en la sección declarativa de un package. Una señal debe declararse con un tipo asociado como sigue:

SIGNAL signal_name : type_name:

La variable type_name de SIGNAL determina los valores legales que la señal puede asumir y sus usos licitos en el código de VHDL. Pueden ser; BIT, BIT_VECTOR, STD_LOGIC, STD_LOGIC_VECTOR…..etc.

IV. METODOLOGIA DE LA PREPARACION DE LA PRACTICA

a) Primeramente se armara un circuito restador, pero que también suma en función del valor de una patilla “SoR”. Lo anterior es debido a que como se menciona en el fundamento teórico, una resta se puede realizar como suma, simplemente complementando a 2 el substraendo.

Creamos un nuevo proyecto en ISE Project Navigator, lo nombramos SumaRestaVHDL, el módulo principal será de tipo HDL.

Ajustamos los “Project settings” para adecuarlo a los parámetros de nuestra Basys2 para su implementación.

CATEDRATICO: ING MIGUEL ANGEL PEREZ SOLANO INSTITUTO TECNOLOGICO DE OAXACA

Page 4: Practica No 8

A continuación,, agregamos un nuevo fuente, ya sea con el botón a la izquierda de la ventana Design o mediante el menú que aparece tras hacer clic derecho sobre el nombre de nuestro proyecto, el módulo será de tipo VHDL y por nombre le pondremos SumaResta:

Nuestro sumador/restador tendrá operandos de 4 bits, por lo que tendrá dos entradas (A y B) de 4 bits y una salida también de 4 bits (traducida a una señal sum para el acarreo final)y un “cout” de 1 bit. A continuación se muestra la pantalla correspndiente.

CATEDRATICO: ING MIGUEL ANGEL PEREZ SOLANO INSTITUTO TECNOLOGICO DE OAXACA

Page 5: Practica No 8

Continuemos ahora con el código de nuestro módulo SumaResta, tenemos que cuando la entrada SoR tenga un valor de 0 a la salida enviaremos el resultado de la suma de las entradas A y B, y cuando valga 1 enviaremos el resultado de la resta A – B al puerto RESULTADO. En los lenguajes de programación de PC podemos ejecutar una u otra porción de código dependiendo del resultado de la evaluación de una expresión empleando la sentencia if, en VHDL también existe dicha instrucción, y es la utilizamos en este ejercicio.

En el programa pueden verse varios detalles; como la inclusión de la biblioteca STD_LOGIC_UNSIGNED (para valores sin signo, también existe la biblioteca STD_LOGIC_SIGNED que utiliza valores con signo), la cual debemos incluir para poder utilizar estos operadores, entonces, incluyámosla:

Asi también tenemos el uso del objeto de datos “signal” dentro de la sección declarativa de la architecture. Dicho objeto define a “result” como un std_logic de 5 bits en virtud que son los bits que se requieren a la salida proveniente de dos operandos de 4 bits.

Comp puede verse un “0” se concatena (‘0’ & A) con una señal A de 4 bits para dar un resultado de 5 bits (4 para RESULTADO y 1 para “cout”).

Una vez implementado el diseño, procedemos a realizar su simulación, para lo cual creamos el TESTENCH correspondiente, archivo que llamaremos TB_SumaResta.

CATEDRATICO: ING MIGUEL ANGEL PEREZ SOLANO INSTITUTO TECNOLOGICO DE OAXACA

Page 6: Practica No 8

Los resultados se presentan en la siguiente seccion

b) Ahora procederemos a construir el circuito multiplicador

VII.- Resultados y Conclusiones de la Práctica.

Los resultados del testbench muestran como la línea SoR controla la operación a ejecutar, apareciendo en el puerto “resultado” el resultado de la operación seleccionada.

VI.- Fuentes de información (Referencias bibliográficas y sitios internet)

CATEDRATICO: ING MIGUEL ANGEL PEREZ SOLANO INSTITUTO TECNOLOGICO DE OAXACA

Page 7: Practica No 8

www.xilinx.comwww.ti.com

LIBRO: Fundamentos de lógica digital con diseño VHDLStephen Brown, Zwonko Vranesivc

Mc Graw Hill.

SUERTE MUCHACHOS USTEDES PUEDEN LOGRAR LO QUE SE PROPONEN…PRINCIPALMENTE SON JOVENES…Solano

VII.- ANEXOS (colocar acá datos que requieran agregar, extra al trabajo)

CATEDRATICO: ING MIGUEL ANGEL PEREZ SOLANO INSTITUTO TECNOLOGICO DE OAXACA