Bonjour à tous,
j'aurais besoin svp d'un éclaircissement en VHDL
je cherche à multiplier:
SIGNAL A : std_logic_vector (7 downto 0); --signé forme 0 0.000000
par
SIGNAL B : std_logic_vector (15 downto 0); --signé forme : 0 000000000.000000
je vois deux possibilités :
1. je multiplie directement. Du coup, le résultat sera sur 24 bits
SIGNAL Res : std_logic_vector (23 downto 0); --signé forme :
0 00000000000.000000000000[/I].
Est ce possible de multiplier deux std_logic_vector de longueur différente?
2 . Si (1) n'est pas possible, alors extension du signe pour A jusqu'à atteindre 16 bits et résultat sur 32...
Res (31 downto 0) <= ((A(7)&A(7)&A(7)&A(7)&A(7)&A(7 )&A(7)&A(7)&A(7 downto 0)*B(15 downto 0))
Quelle est la bonne solution SVP?
-----