首页 > 解决方案 > 从文本文件读取时需要循环

问题描述

我是 VHDL 新手,所以请多多包涵,所以我的项目需要我从文本文件中读取数据字节,例如,从包含AA BB CC多行的文本文件中读取 7076 个字节等等。我需要以时钟周期阅读它。

使用 while 循环时的问题 while (inline'length /= 0) 循环,循环按预期读取数据,但是一旦到达数据的最后一个字节,while 循环就会结束跳过读取它。所以..在结束之前最多读取 7075 个字节。

我尝试更改 while (inline'length >= 0) 循环,但它在第一行数据结束,这是预期的。我正在考虑实现一个数组,但我不确定在这种情况下我将如何设置它。

file     infile    : text is in  "textfile.txt";   --declare input file
variable inline    : line; --line number declaration

---------------program-----------------------
begin
  while not endfile(infile) loop   --checking the "END OF FILE" is not reached.

  readline(infile, inline);       --reading a line from the file.

  while (inline'length /= 0)  loop 
    wait until rising_edge(clock);
    hread(inline, inputdata);

    readdatainput <= inputdata;

  end loop;

在第一个时钟周期,数据按预期读入并一直持续到 7075 周期。但是有 7076 字节的数据。

寻找解决此问题的任何方法或解决方案的想法。

标签: vhdl

解决方案


推荐阅读