Laboratorio N°1 Multiplicador Sin Signo de 2 Bits
Enviado por tolero • 13 de Febrero de 2018 • 792 Palabras (4 Páginas) • 543 Visitas
...
[pic 47]
[pic 48]
[pic 49]
[pic 50]
[pic 51]
0
0
0
0
[pic 52]
0
1[pic 53]
1
0
[pic 54]
[pic 55]
0
1
1
0
0
0
0
0
[pic 56]
[pic 57]
[pic 58]
[pic 59]
[pic 60]
- Esquemático del Circuito
[pic 61]
Informe
- Metas del Experimento
Las metas de este experimento son:
- Familiarizarse con el ISE Simulator y el uso de códigos en VHDL al programar un multiplicador de 2 bits.
- Diseño de Banco de Pruebas (Tench Bench) y la creación de estímulos (tipo clock) para poder corroborar el funcionamiento adecuado de código escrito en Xilinx
- Teoría de Funcionamiento
En este laboratorio se programó un multiplicador de 2 bits, el cual acepta dos números de dos bits cada uno (A y B en este caso) y en la salida muestra el resultado de multiplicación en binario, el cual sería en este caso un número de 4 bits, ya que la mayor multiplicación posible seria 3(11) * 3(11) = 9(1001), que necesita justamente 4 bits para representarse; para entender el funcionamiento imaginemos que introducimos un 2 (10) en la posiciones de A y 3(11) en la posiciones de B, el resultado que obtendríamos a la salida sería 6 (0110). Esto se comprobará con el uso de los bancos de pruebas y para una mejor visualización, los resultados se mostrarán en binario.
- Procedimiento
Veamos una descripción de los pasos que se siguieron en este laboratorio:
- Creación de Proyecto: Se creó un nuevo proyecto en Xilinx 14.7, abriendo un archivo .vhd, en el cual se introdujeron las ecuaciones obtenidas en el Pre-Lab, definiendo las variables de entrada y salidas con un formato de STD_LOGIC.
[pic 62]
- Tench Bench: Se procedió a chequear que la sintaxis o código escrito estuviera correcto y se guardó el archivo. Se creó una nueva instancia, un Banco de Pruebas para este archivo, donde se eliminó las entradas que contuvieran estímulos de Clock, ya que el programa en sí no contiene uno. En este mismo archivo se creó el estímulo con el cual se trabajaría cada variable, como vemos en la figura.[pic 63]
A varía cada 40 ns, mientras que B varía 4 veces menos de tal manera que 1 estado de A equivale a los 4 estados de B.
También se probó cambiando los últimos 120 ns por 160 ns, pero al hacerlo el estado final de A no se ve completo en nuestra captura de la simulación de onda, Además, para visualizar mejor la onda, se colocaron las entradas y salidas en números en base decimal. Estas ondas se apreciarán en la siguiente parte.[pic 64]
- Resultados
Después de chequeado toda la sintaxis tanto de código como del banco de pruebas, y una vez guardado el proyecto, se simulo con los dos impulsos antes mencionados. Se obtuvieron las siguientes gráficas.
Claramente podemos ver la multiplicación, donde la onda A es la que se encuentra en la primera fila, la onda B se encuentra en la segunda y el resultado de la multiplicación es un número de 4 bits exitosamente. Vemos también como un estado de A (como 00) dura exactamente 4 variaciones de B (00, 01, 10, 11).[pic 65]
En esta siguiente gráfica vemos mejor las multiplicaciones ya que están en forma decimal, pero como alargamos el estado 3 de A (10), entonces el último estado no se aprecia del todo.
[pic 66]
Los resultados fueron satisfactorios, ya que el multiplicador programado funciono a la perfección, con los estímulos puestos. Se pudo simular sin ningún problema y aparte se aprendió como generar pulsos de tiempo.
Conclusiones
- Edie González:
La meta de este laboratorio era aprender a utilizar el ISE simulator principalmente para simular un pequeño multiplicador utilizando compuertas básicas y a su vez poder visualizar una simulación de la onda; para ello se utilizó los test bench que sirven para simular el comportamiento del código escrito en VHDL. Se debe procurar no tener ningún error en la sintaxis ya que esto podría provocar un error en la simulación.
- Juan Navarro:
En esta laboratorio se buscó afianzar los conocimientos obtenidos en cursos anteriores utilizando ISE xilinx simulator y a su vez aprender cómo se crea un archivo Test Bench que sirve para verificar el correcto funcionamiento de un módulo o diseño. En éste se utiliza un generador de señales de prueba y se analiza la respuesta del circuito mediante simulación. Debemos estar seguros de haber escrito las ecuaciones correctamente y que no haya errores de sintaxis ya que con el Test Bench no se elimina por completo la necesidad de probar el circuito una vez sintetizado.
Informe Realizado por:
Juan Navarro Edie González
...