Haz una pregunta
  Foros de Electrónica » Temas de Interés » Software de Simulación y Diseño Electrónico
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

18/03/2015 #1


Multiplicador de 8 bits en VHDL
Lo que pasa es que llevo algúnas semanas sin poder dar con una solución a un multiplicador de 8 bits de dos números A y B.
Sin usar m[as librerias aparte de estas : ieee.std_logic_1164.all -- ieee.std_logic_unsigned.all;
No puedo usar ni la libreria math ni, ni numeric o ningúna otra , tampoco algo que tenga que ver con lógica secuencial.

Si uds han desarrollado algo así o tienen una idea de como hacerlo, me ayudaría mucho . ...
18/03/2015 #2

Avatar de pandacba

Basicamente que es multimplicar? tiene algo que ver con la suma?
18/03/2015 #3


Si. Digamos quieres multiplicar 2 x 3 entonces tienes que sumar 3 veces 2 o al revés, pero ahí es mi problema, en internet está que tengo que agregar sumadores de esta manera :: La imágen esta adjuntada. (Caso multiplicador de 2 bits Numeros A y B) , Mi duda ahora que saben eso, es como aplicar un código en VHDL que me haga esa lógica de ir sumando de esa manera para 8 bits.

Nota : Los sumadores se ven que son Full Adders porque necesito el carry de entrada para la siguiente columna de sumas de derecha a izquierda.

Me explico mas detalladamente, la multiplicacion de números es así (Img adjuntada), Entonces digamos que en la parte de rojo en vez de 2 y 2 hubiera sido algo que cuya suma sobrepase a 9 , digamos 5 y 5 , esto hubiera generado un carry para la siguiente columna, he ahí mi problema en vhdl, no se como hacer eso :(.
Imágenes Adjuntas
Tipo de Archivo: png 2x2 multiplayer.png (73,3 KB (Kilobytes), 30 visitas)
Tipo de Archivo: jpg 2x2 multiplayer.jpg (62,8 KB (Kilobytes), 21 visitas)
18/03/2015 #4

Avatar de chclau

Si queres sumar dos numeros de dos bits y recibir el acarreo basta con que el resultado de la operacion tenga tres bits, el acarreo sera almacenado en el MSB del registro de resultado
18/03/2015 #5


Me podrías ayudar con un código simple para un multiplicador de 2 bits con el acarreo que me dices?, asi tal vez entienda como aplicarlo a 8 bits.
18/03/2015 #6

Avatar de chclau

Aca te pongo fragmentos de codigo que realizan la multiplicacion de dos numeros de dos bits (a y b) dando como resultado uno de cuatro bits, con dos sumas parciales (p1 y p2).

Vos deberas agregarle todo lo que falta, entidad, arquitectura, simulacion, y ampliarlo a la cantidad de bits que necesitas. Ademas presta atencion que son dos trozos de codigo que deben ir en partes diferentes:

Parte declarativa:

Código:
  signal a  : std_logic_vector(1 downto 0) := "11";
  signal b  : std_logic_vector(1 downto 0) := "10";
  signal p1 : std_logic_vector(1 downto 0);
  signal p2 : std_logic_vector(2 downto 0);
  signal y : std_logic_vector(3 downto 0);
Parte de "ejecucion"
Código:
p1 <= a and (b(0) & b(0));
p2 <= (a and (b(1) & b(1)) ) & '0';
y  <= ('0' & p2) + p1;
Yo agregue en mi PC lo que falta y lo simule, el resultado es y = "0110", lo que concuerda con 3x2 = 6
18/03/2015 #7


Me puedes explicar ti codigo, no entiendo muchas cosas :(, si no es mucho pedir.
19/03/2015 #8

Avatar de chclau

Hiciste un sumador de dos numeros de dos bits cuyo resultado se almacene en tres bits con su correspondiente "banco de pruebas" (testbench)?

Antes que multiplicar hay que saber sumar...

Despues que hayas hecho lo primero y simulado, hablamos sobre el multiplicador. Echate una miradita sobre este tema
Diseño de de una multiplicadora de (3X3) bits. Con 74X83
Respuesta
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Buscar más temas sobre:
Lupa Software de Simulación y Diseño Electrónico

Todo lo relacionado con estos programas.

Cerrar
Foros de Electrónica » Temas de Interés » Software de Simulación y Diseño Electrónico

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.