Page 1 of 1

Moltiplicatore in VHDL

PostPosted: 06 Sep 2013, 13:06
by alfo84
Salve a tutti , sono Alfo e sono un nuovo utente. Volevo esporvi il mio problema. Devo simulare con Aldec active student un moltiplicatore con due ingressi che possono essere sia negativi che positivi, ora mi chiedevo che tipo di moltiplicatore dovrei utilizzare visto che a priori non so se i due ingressi sono entrambi positivi, o negativi o ancora uno negativo e l'altro positivo.

Vi ringrazio in anticipo per la disponibilità. Trovo questo forum molto bello.

Re: Moltiplicatore in VHDL

PostPosted: 06 Sep 2013, 17:12
by Leonardo
Salve alfo84,
Bisogna utilizzare un moltiplicatore con segno che in genere viene automaticamente sintetizzato se gli operandi della moltiplicazioni sono con segno.

Leonardo

Re: Moltiplicatore in VHDL

PostPosted: 06 Sep 2013, 17:38
by alfo84
Ti ringrazio molto per la spiegazione, mi sarà molto utile. Ciao

Re: Moltiplicatore in VHDL

PostPosted: 06 Sep 2013, 17:47
by deluca
@salve alfo benvenuto al forum.
la soluzione + semplice in assoluto è questa:

Code: Select all
library ieee;
use ieee.std_logic_1164.all;
use ieee.numeric_std.all;

entity signed_mult is
port
   (
      a : in signed (7 downto 0);
      b : in signed (7 downto 0);
      result : out signed (15 downto 0)
   );

end entity;

architecture rtl of signed_mult is
begin
   result <= a * b;   
end rtl;

nel caso di moltiplicatori in assenza di clock sincrono e senza pipeline basta definire sia gli ingressi che le uscite come signed ....

Re: Moltiplicatore in VHDL

PostPosted: 07 Sep 2013, 08:36
by alfo84
La ringrazio molto per l'aiuto. Pensavo che la soluzione fosse più complessa. Saluti

Re: Moltiplicatore in VHDL

PostPosted: 07 Sep 2013, 08:40
by alfo84
Ho costruito un full adder a più bit con due half adder e una or. Visto la soluzione che lei mi ha dato per il moltiplicatore, potrei ricorrere ad una soluzione simile anche per l'addizionatore scrivendo "result <= a + b" ?

Re: Moltiplicatore in VHDL

PostPosted: 07 Sep 2013, 09:00
by Leonardo
@alfo84: decisamente, non è necessario implementare tutti gli operatori matematici

Re: Moltiplicatore in VHDL

PostPosted: 07 Sep 2013, 09:29
by alfo84
Ok grazie mille

Re: Moltiplicatore in VHDL

PostPosted: 18 Sep 2013, 10:30
by alfo84
Salve, dovrei realizzare un moltiplicatore 12x12 con uscita su 12 bit, possibilmente con approssimazioni rounding. Potreste dirmi come fare siccome non riesco a farlo, grazie mille.

Re: Moltiplicatore in VHDL

PostPosted: 18 Sep 2013, 11:06
by Leonardo
Devi partire col documentarti su come funziona un moltiplicatore con rounding, in letteratura esistono diversi paper sull'argomento riferito al VHDL. Hai accesso a pubblicazioni scientifiche?

Ciao

Re: Moltiplicatore in VHDL

PostPosted: 18 Sep 2013, 11:31
by alfo84
No. Vorrei cmq riuscire a realizzare per il momento il solo moltiplicatore 12 x 12 con uscita a 12 bit. E' possibile avere del codice su cui rifletterci su.
grazie dell'aiuto.

Ciao

Re: Moltiplicatore in VHDL

PostPosted: 18 Sep 2013, 12:12
by Leonardo
Ne abbiamo discusso qualche giorno fa: http://www.delucagiovanni.com/public/phpbb3/viewtopic.php?f=10&t=622
Dovresti trovare tutti gli elementi che ti servono per la realizzazione

Leonardo