Я пытаюсь читать из текстового файла в моем коде синтеза. Тем не менее, я получаю сообщение об ошибке при попытке открыть файл, который существует.
Я попытался поместить текстовый файл в разные папки, потому что решил, что проблема в том, что программа не может найти текстовый файл. Ни одна из этих разных позиций не сработала.
type chunk is array (INPUTNUM downto 0) of std_logic_vector (WIDTH-1 downto 0);
impure function ReadfromFile (FileName: in string) return chunk is
FILE IN_FILE : text open read_mode is FileName;
variable BUFF : line;
variable val : chunk;
begin
for i in 0 to INPUTNUM loop
readline (IN_FILE, BUFF);
read (BUFF, val(i));
end loop;
return val;
end function;
signal w : chunk := ReadfromFile("neuron_text.txt");
Я ожидал, что файл будет прочитан, а значения будут сохранены в сигнале w. Однако, когда я запускаю анализ RTL, я получаю сообщение об ошибке: «[Synth 8-3302] не удается открыть файл 'neuron_text.txt' в режиме 'r'», а также «[Synth 8-421] не соответствует размеру массива в rhs и LHS присвоения ". Я предполагаю, что вторая ошибка является результатом первой.