come faccio a dare una rappresentazione Qm.n alla mia word.
Ad esempio vorrei che il valore 0101 non fosse 3 ma un numero con la virgola.
Inoltre dal codice che posto mi risulta che il moltiplicatore si prende gli ultimi 4 LSB
non sarebbe più corretto fare prima uno shift a destra per prendere gli ultimi 4 MSB(se si non sono ancora riuscito a
capire come si inserisce lo shift).
- Code: Select all
library IEEE;
use IEEE.STD_LOGIC_1164.all;
use ieee.numeric_std.all; -- è la libreria per i tipi signed
entity moltiplicatore is
generic (size : integer :=4);
port(
m1 : in signed(size-1 downto 0);
m2 : in signed(size-1 downto 0);
mout : out signed(size-1 downto 0)
);
end moltiplicatore;
architecture moltiplicatore of moltiplicatore is
signal m_full : signed (2*size-1 downto 0);
begin
m_full <= m1 * m2;
mout <= m_full (size-1 downto 0);
end moltiplicatore;