Multiplicador
Enviado por lups12 • 19 de Mayo de 2015 • 789 Palabras (4 Páginas) • 171 Visitas
INTRODUCCIÓN
Ya con los conocimientos teóricos adquiridos en la materia, para poder complementar nuestro aprendizaje respecto a programación en vhdl y aritmética binaria, se realizara un dvisor de dos bits entre dos bits.
OBJETIVO GENERAL
Realizar un programa en vhdl para cargar a una gal, que realice la acción de una multiplicación binaria de dos bits a dos bits utilizando alguno de los métodos para programar aprendidos en clase.
ANTECEDENTES
MULTIPLICADOR BINARIO
La división en binario es similar al decimal; la única diferencia es que a la hora de hacer las restas, dentro de la división, éstas deben ser realizadas en binario.
Ejemplo:
-
1 1 1
----------------
1 0 0
----------------
0 0 0 1 1 1
-
1 1 1
-------------
0 0 0
DESARROLLO DE LA PRÁCTICA
Para esta práctica, hubo que programar un divisor dos bits entre dos bits, para esto, primero se generó una tabla de verdad de cuatro variables (A, B, C, D) donde se mostraran los dígitos dividir en minitérminos. Una vez tabuladas las variables, dividimos estas (AB)/(CD) para obtener los resultados (Do, D1) y posteriormente, visualizarlos en números decimales. La tabla realizada fue la siguiente:
A B C D Do D1 Multiplicación decimal Resultado Display
(a, b, c, d, e, f, g)
0 0 0 0 θ θ 0/0 I 0000000
0 0 0 1 0 0 0/1 0 0000001
0 0 1 0 0 0 0/2 0 0000001
0 0 1 1 0 0 0/3 0 0000001
0 1 0 0 θ θ 1/0 I 0000000
0 1 0 1 0 1 1/1 1 0110000
0 1 1 0 0 0 1/2 0 0000001
0 1 1 1 0 0 1/3 0 0000001
1 0 0 0 θ θ 2/0 I 0000000
1 0 0 1 1 0 2/1 2 0010010
1 0 1 0 0 1 2/2 1 0110000
1 0 1 1 0 0 2/3 0 0000001
1 1 0 0 θ θ 3/0 I 0000000
1 1 0 1 1 1 3/1 3 0000110
1 1 1 0 0 1 3/2 1 0110000
1 1 1 1 0 1 3/3 1 0110000
Tras obtener los resultados de Do y D1 lo siguiente fue expresar esto en un proceso if-then dentro de un programa. Originalmente, los resultados Do y D1 serían de tipo inout, pero al momento de compilar el programa con dichos inouts y outs u, v, w, x, y, z, marcaba error ya que la gal no tiene tantos pines de salida; así que para acortar el programa, el if-then nos lleva directamente a los resultados del display.
PROGRAMA REALIZADO
--esto es un divisor con decodificador;
...