Il codice messo nel precedente topic è lo stesso, mi sono solamente accorto che i registri Reg_N dovevano essere 3 e non 4 per questo al posto di num_bit-1 ho messo num_bit-2.
Sono andato a vedere poi la netlist ( Tools --> Netlist Viewers --> RTL Viewer) e ho notato che c'è qualcosa che non va. Vi allego la netlist che mi è uscita.
Come potete notare le uscite dei moltiplicatori non mi escono e poi alla fine mi compare un buf(cut).
Invece se al posto del processo
- Code: Select all
process(data_out_FIR1, t_FIR1)
begin
for i in 0 to num_taps-1 loop
data_out_FIR1 <= data_out_FIR1 + t_FIR1(i);
end loop;
end process;
presente verso la fine del listato implementazione del filtro FIR1,
metto semplicemente:
- Code: Select all
data_out_FIR1 <= t_FIR1(0) + t_FIR1(1) + t_FIR1(2) + t_FIR1(3); --espressione (1)
mi esce come netlist il secondo allegato.
Vorrei avere il codice con il processo e non nella forma dell'espressione (1), però ho il problema della netlist.
Come posso fare???
Ciao