[an error occurred while processing this directive]
|
согласитетесь что вот такая инициализация константы не удобна:
constant PIPA : std_logic_vector(15 downto 0) := "1000101100111111";
гораздо понятние
constant PIPA : integer range 0 to 2**15-1 : = 35647;
но потом это потребуте conv_std_logic_vector/conv_integer.
Тоже самое при адресации памяти
signal addres : std_logic_vector(3 downto 0);
reg <= MEM(conv_integer(addres));
addres <= addres + '1';
В железе все равно это будет синтезированно в одно и тоже, зачем делать масло масленное.
В верилоге с этим проще,
reg [15:0] PIPA = 16'd35647;
или просто
reg [15:0] PIPA = 35647;
синтезатор сам обрежет лишние 16 бит
E-mail: info@telesys.ru