Filtro FIR low pass

Sezione dedicata al linguaggio di descrizione hardware per logiche programmabili

Filtro FIR low pass

Postby myself92 » 07 Jun 2018, 15:59

Ciao a tutti
sto usando da poco il linguaggio VHDL e dovrei implementare un filtro FIR low pass. Siccome non ho molte conoscenze di base, come posso realizzare il sommatore e il moltiplicatore?
Devo realizzare un filtro di ordine N=6, dove l'ingresso, i coefficienti e l'uscita sono di 16 bits
myself92
 
Posts: 1
Joined: 07 Jun 2018, 15:46

Re: Filtro FIR low pass

Postby legacy » 08 Sep 2018, 10:12

il linguaggio vhdl non ha problemi a definire operatori come + o *; i guai arrivano nella sintesi perche' bisogna vedere SE e COSA l'hardware (FPGA, CPLD, ...) ha a disposizione "gia' pronto" per soddisfare la richiesta, altrimenti tocca implementare l'altoritmo della moltiplicazione a manina

su FPGA e CPLD ci sono sempre stati e ci saranno sempre le unita' fondamentali sommatrici con granularita' al bit e propagazione del carry, e non ci sono problemi a comporre sommatori piu' grandi con latenza massima 1, mentre per quanto riguarda la moltiplicazione ...

sulle CPLD non c'e supporto hw
su vecchie FPGA, p.e. Xilinx Spartan2, non c'e' supporto
su meno vecchie FPGA, p.e. Xilinx Spartan3, c'e' supporto ma bisogna "guidare" il sintetizzatore
su moderne FPGA, p.e. Xilinx Sparta6,7, c'e' supporto DSP-slice, ISE-v14 e Vivado usano le risorse con malizia

le DSP-slice sono circuiti "gia' pronti" capaci di fare moltiplicazioni a 16-o-18bit con latenza tipicamente 6 colpi di clock; se servono moltiplicatori a 32 bit tocca compore moduli con la dovuta logica ed aritmetica di contorno, con latenza totale tipicamente di 12-14 colpi di clock.

FIR e IIR usano tipicamente unita' MAC (moltpica e accumula), in fixedpoint con logica satura
legacy
 
Posts: 862
Joined: 12 Mar 2012, 11:30


Return to VHDL x FPGA

Who is online

Users browsing this forum: No registered users and 3 guests

cron