Page 1 of 1

moltiplicatore+addizionatore

PostPosted: 07 Sep 2013, 11:00
by giuseppe01051984
Salve.
Avrei bisogno di un aiuto.
Devo realizzare lo schema messo in allegato in vhdl composto da un moltiplicatore ed un addizionatore.
Il problema che ho è che l'uscita del moltiplicatore deve essere regolarmente il doppio della
dimensione degli ingressi ma a me serve a parità di bit.
Come faccio??
Se si può inserire la porzione di codice sarebbe meglio.

Re: moltiplicatore+addizionatore

PostPosted: 07 Sep 2013, 11:46
by Leonardo
Puoi troncare i bit in uscita dal moltiplicatore e dal sommatore, perderai senza via di scampo dei valori però

Ciao

Re: moltiplicatore+addizionatore

PostPosted: 07 Sep 2013, 11:55
by Leonardo
Ecco un esempio di codice che genera il segnale C a 10 bit

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

entity forum is
port (
      A : in signed (9 downto 0);
      B : in signed (9 downto 0);
      d : in signed (9 downto 0);
      f : out signed (9 downto 0)
   );
end entity;

architecture rtl of forum is
   signal C_full : signed (19 downto 0);
   signal C : signed (9 downto 0);   
begin
   C_full <= (A * B);
   C <= C_full(9 downto 0);
end rtl;


Non l'ho volutamente ultimato con l'assegnazione del segnale f, prova a vedere se riesci a completare il codice come esercizio

Ciao

Re: moltiplicatore+addizionatore

PostPosted: 07 Sep 2013, 13:18
by giuseppe01051984
Ok grazie,mi sei stato di grande aiuto.
Ovviamente si termina il tutto con f<=C+d;
Grazie ancora e buona giornata.