Moltiplicatori in VHDL ?

Sezione dedicata al linguaggio di descrizione hardware per logiche programmabili

Moltiplicatori in VHDL ?

Postby m.brox » 23 Jan 2013, 22:10

Hi,

dovrei moltiplicare 2 valori a 16 bit con segno tra di loro, l'uscita è su 32 bit.

quale è il sistema più veloce che consente tale moltiplicazione? ovviamente in VHDL (algoritmo, parallelo, mac)

potreste darmi un indizio?

vi ringrazio
m.brox
 
Posts: 22
Joined: 08 Nov 2012, 21:02

Re: Moltiplicatori in VHDL ?

Postby flz47655 » 23 Jan 2013, 22:36

Ciao Brox,
Penso che sia più performante utilizzare gli eventuali moltiplicatori hw a bordo della FPGA se ne è provvista tramite i blocchi Altera istanziabili che scrivere un algoritmo in proprio.
Aspetta però conferma da chi più esperto di me

Ciao
flz47655
 
Posts: 639
Joined: 19 Jan 2012, 21:16

Re: Moltiplicatori in VHDL ?

Postby flz47655 » 24 Jan 2013, 19:21

Nelle FPGA Cyclone ci sono delle risorse hw dette "Embedded Multiplier" o dei DSP block che permettono di eseguire moltiplicazioni molto rapidamente.
Per utilizzarle bisogna istanziare principalmente le megafunzioni lpm_mult, altmult_add, o altmult_accum, in alcuni casi vengono istanziate automaticamente (dedotte dal codice VHDL)

Ti lascio come lettura:
http://www.altera.com/literature/an/an306.pdf
http://www.altera.com/support/examples/ ... plier.html

Nulla toglie che se hai necessità particolari puoi scrivere del codice VHDL che utilizzerà solamente LEs (e blocchi di memoria probabilmente). Per farti un esempio se devi moltiplicare numeri particolarmente grandi (es. 2-300 cifre) puoi velocizzare tramite la trasformata di fourier l'operazione.
In letteratura potrai trovare i diversi algoritmi con i vari tradeoff

Ciao
flz47655
 
Posts: 639
Joined: 19 Jan 2012, 21:16

Re: Moltiplicatori in VHDL ?

Postby m.brox » 24 Jan 2013, 22:29

flz gentilissimo,
cercherò di capirci qualosa,il fatto è che la moltiplicazione la devo realizzare con un algoritmo, tipo "booth".
m.brox
 
Posts: 22
Joined: 08 Nov 2012, 21:02

Re: Moltiplicatori in VHDL ?

Postby flz47655 » 24 Jan 2013, 22:50

Nel libro "VHDL. Progetto di sistemi digitali" al paragrafo 6.7 trovi spiegato per filo e per segno l'algoritmo con la sua implementazione in VHDL
http://books.google.it/books?id=jWp3dXR ... th&f=false

Ciao
flz47655
 
Posts: 639
Joined: 19 Jan 2012, 21:16

Re: Moltiplicatori in VHDL ?

Postby legacy » 25 Jan 2013, 20:55

flz47655 wrote:se devi moltiplicare numeri particolarmente grandi (es. 2-300 cifre) puoi velocizzare tramite la trasformata di fourier l'operazione.



UAT ??? the Schönhage–Strassen algorithm ???
eh, neg/acyclic convolution, stica farla su fpga -> serve DFT ed inversa
legacy
 
Posts: 862
Joined: 12 Mar 2012, 11:30

Re: Moltiplicatori in VHDL ?

Postby flz47655 » 25 Jan 2013, 21:39

Fortuna che deve implementare Booth :)
flz47655
 
Posts: 639
Joined: 19 Jan 2012, 21:16


Return to VHDL x FPGA

Who is online

Users browsing this forum: No registered users and 24 guests