Podemos construir un multiplicador de 3 bits utilizando circuitos combinacionales, el resultado es entregado en un bus de salida de 6 bits, en el ejercicio se usan sumadores completos, esta operación se efectúa igual como se multiplican los números decimales.
figura 1. multiplicación bit a bit.
fuente. construcción propia a base de http://tutosrafaz.blogspot.com.co/2016/01/multiplicador-de-4-bits-en-vhdl.html
Llegado a este punto es fácil entender que la multiplicación es una suma consecutiva de Nº bits. frente a lo anteriormente dicho y entendiendo que las FPGAs son maquinas muy potentes que pretenden resolver problemas complejos, dejamos de lado la idea de los mapas de karnaugh puesto que entendiendo el concepto de la multiplicación se facilita la construcción de la entidad de forma mas amigable, es decir, es mas fácil agregar bloques de sumas que funciones booleanas mas extensas. imaginar por un momento que el profesor de electrónica digital pida un diseño de un multiplicado de dos números, cada uno de 6 bits, gastaríamos mas de dos hojas solo en mapas de karnaugh lo que seria un poco absurdo. la siguiente figura es igual a la anterior solo que este es un esquema utilizando compuertas lógicas.
figura 2. diagrama del multiplicador.
fuente. construcción propia a base de http://tutosrafaz.blogspot.com.co/2016/01/multiplicador-de-4-bits-en-vhdl.html
Si bien vemos que, el primer nivel esta definido por las compuertas que realizan las operaciones A0B0, A1B1 y A2B2, en el siguiente nivel A0B1, A1B1 y A2B1 y en el ultimo nivel A0B2, A1B2 y A2B2, también dentro del multiplicador se van a realizar sumas donde la primera suma nos dará R0, la segunda suma nos da R1 y así sucesivamente. a continuación es muestra el código en el programa VIVADO en formato VHDL primeramente del bloque sumador y seguidamente el bloque multiplicador.
figura 3. bloque sumador.
fuente. construcción propia.
figura 4. bloque multiplicador 1.
fuente. construcción propia a base de http://tutosrafaz.blogspot.com.co/2016/01/multiplicador-de-4-bits-en-vhdl.html
figura 5. bloque multiplicador 2.
fuente. construcción propia a base de http://tutosrafaz.blogspot.com.co/2016/01/multiplicador-de-4-bits-en-vhdl.html
figura 5. bloque multiplicador 3.
fuente. construcción propia a base de http://tutosrafaz.blogspot.com.co/2016/01/multiplicador-de-4-bits-en-vhdl.html
Llegado a este punto el siguiente paso es simular el programa.
figura 6. simulación sin valores.
fuente. construcción propia
claramente se ve que no hay valores tanto en las entradas como en las salidas y es porque no se han asignado, para solucionar esto se debe situar sobre la variable A y luego B, click derecho, buscar la opción forzar valor e ingresar uno valor deseado.
Nota: el valor a ingresar debe ser estrictamente de 3 bit debido a que el multiplicador se construyo para esa cantidad de bits.
figura 6. simulación final.
fuente. construcción propia
Esperamos que este trabajo les haya servido de ayuda. agradecemos a tutosrafaz por la publicación y explicación de como hace un multiplicador con compuertas sumadoras.
Bibliográfica.
http://tutosrafaz.blogspot.com.co/2016/01/multiplicador-de-4-bits-en-vhdl.html
cómo harías un multiplicador de n bits usando tu mismo ejercicio?
ResponderEliminar