ShootNick 0 20 января, 2014 Опубликовано 20 января, 2014 · Жалоба signal car: carry := ( x"000000", x"000000", x"000000", x"000000", x"000000", x"000000", x"000000", x"000000", x"000000", x"000000", x"000000", x"000000"); -- .... write_to_file: process(clk) variable outdata_line: line; variable outdata: integer :=0; file output_data_file: text open write_mode is "out_data.txt"; begin if rising_edge(clk) then --130: outdata := conv_integer(signed(car(N-1)(15 downto 8))); write(outdata_line, outdata); writeline(output_data_file,outdata_line); end if; end process line 130: Second argument of write must have a constant value. В чём проблема? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Golikov 0 21 января, 2014 Опубликовано 21 января, 2014 · Жалоба может в том что написано, а именно variable outdata, то есть variable - это как бы переменная, а не константа? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SFx 0 21 января, 2014 Опубликовано 21 января, 2014 · Жалоба outdata := conv_integer(signed(car(N-1)(15 downto 8))); N подразумевает for какие ieee.* библиотеки подключили? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ShootNick 0 27 января, 2014 Опубликовано 27 января, 2014 · Жалоба outdata := conv_integer(signed(car(N-1)(15 downto 8))); N подразумевает for какие ieee.* библиотеки подключили? library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.NUMERIC_STD.ALL; library std; use std.textio.all; entity FIR is Generic (N:natural:=12); Port ( X : in STD_LOGIC_VECTOR (7 downto 0); clk : in STD_LOGIC; start : in STD_LOGIC; Y : out STD_LOGIC_VECTOR (23 downto 0)); end FIR; Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
nikolascha 0 28 января, 2014 Опубликовано 28 января, 2014 · Жалоба use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.NUMERIC_STD.ALL; Использовать две эти библиотеки одновременно - плохая практика. Обычно рекомендуется использовать только numeric_std. В этом случае преобразование будет выглядеть так: outdata := to_integer(signed(car(N-1)(15 downto 8))); Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ShootNick 0 5 февраля, 2014 Опубликовано 5 февраля, 2014 (изменено) · Жалоба В ModelSim всё прекрасно работает, с ошибкой столкнулся в ISE. Исправил. Спасибо. outdata := to_integer(signed(car(N-1)(15 downto 8))); Изменено 5 февраля, 2014 пользователем ShootNick Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться