在VHDL中从文件中读取单行上的不同数据

时间:2014-05-12 13:35:28

标签: file vhdl

假设我有一个文件填充了由制表分隔的数据(以这种格式):

1   2
3   4
5   6

我希望从一行中成对读取这些数据,结果如下:

var1=1;
var2=2;
var1=3;
var2=4;
var1=5;
var2=6;

我该怎么办?现在我的代码适用于单行上的单个数据(参见下文):

read_from_file: process(clk)
  variable input_data: natural;
  variable ILine: line;
begin
  for i in 0 to NSAMPLES-1 loop
    readline (input_vectors, ILine);
    read(ILine, input_data);
  end loop;
end process;

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

您应该可以再次调用read功能。 例如:

read_from_file: process(clk)
  variable input_data_column1: natural;
  variable input_data_column2: natural;
  variable ILine: line;
begin
  for i in 0 to NSAMPLES-1 loop
    readline (input_vectors, ILine);
    read(ILine, input_data_column1);
    read(ILine, input_data_column2);
    -- Now you can do things like conv_std_logic_vector(input_data_column1, bitwidth) etc
  end loop;
end process;

注意:如果接受任何空格,我不肯定。空间对我有用。