Если вы не ограничены в памяти, вы можете просто прочитать всю строку сразу, а затем проанализировать ее по одному целому числу за раз до последнего целого числа.Пример:
use std.textio.all;
entity foo is
end entity foo;
architecture arc of foo is
begin
process
variable l: line;
file f: text is "foo.txt";
variable i: integer;
variable good: boolean;
begin
readline(f, l);
loop
read(l, i, good);
exit when not good;
report integer'image(i);
end loop;
wait;
end process;
end architecture arc;
Если размер файла превышает размер доступной памяти, вам придется разделить readline
на более мелкие куски, но здесь std.textio
не поможет, и вам придетсяиспользуйте процедуры чтения более низкого уровня и пользовательский тип файла символов.Но лично я, вероятно, использовал бы некоторые утилиты оболочки, чтобы разбить супер-длинную линию на более короткие.Программирование на VHDL забавно, но когда решаемая проблема слишком далека от аппаратного обеспечения, веселье становится менее значительным.