Forum Discussion
Altera_Forum
Honored Contributor
8 years agoimho the values are stored e.g. as 16Bit vectors only. Especially as the ROM instantiation ports are "std_logic_vector (width-1 downto 0)". These are just '1' and '0'... whether these are interpreted as signed or unsigned depends on your code and the libraries you are using... If you are using IEEE.std_numeric.all, you declare the vectors as signed and unsigned and thus can "convert" the output of the ROM (std_logic_vector) using "to_signed" function when assigning the ROM Output to the vector.
If you are using std_logic_signed or std_logic_unsigned (Synopsys libraries), you need to "handle" signed or unsigned by yourself, e.g. when applying arithmetics etc.