是否可以检查输入文本文件的长度?

尼诺·费尔科(Nino Ferko)

在我的VHDL项目中,我的输入将从包含n位1和0的文本文件中提取。我正在尝试使其尽可能通用。我熟悉如何使用测试台对文本文件进行读写,但是我不知道如何检查其长度。

我的代码通常以64位作为输入,将它们传递通过所有块并生成输出。如果剩余位的长度小于64,则它将通过特定的块。

假设该文本文件包含1000位。15 x 64 =960。960位将通过所有块,其余40位将通过特定块。这看起来很简单,但是为了让我执行此类操作,我需要知道文本文件的长度。如果有人可以帮助,那将是非常有益的。

莫滕·齐默(Morten Zilmer)

应该考虑VHDL数据结构的长度,而不是文件长度,因为这是实现特定的,而不是VHDL。

如果位在一个长字符串中,剩下的将被切成64位,那么整个字符串可以读取为VHDLline类型,然后从该行读取到std_logic_vector类型可以取决于剩余的位(字符)行中。

下面是这样做的代码示例:

library ieee;
use std.textio.all;
use ieee.std_logic_textio.all;  -- Synopsys package; required for VHDL-2002 only

architecture syn of tb is
begin
  process is
    variable myl_v : line;
    file txt_file : text;
    variable slv_v : std_logic_vector(63 downto 0);
  begin
    file_open(txt_file, "input.txt", read_mode);
    readline(txt_file, myl_v);
    while myl_v'length > 0 loop
      if myl_v'length >= slv_v'length then  -- Full slv_v
        report "Full...: " & myl_v.all(1 to slv_v'length);
        read(myl_v, slv_v);
      else  -- Reduced slv_v
        report "Reduced: " & myl_v.all(1 to myl_v'length);
        read(myl_v, slv_v(myl_v'length - 1 downto 0));  -- Place reduced at LSBs
      end if;
    end loop;
    file_close(txt_file);
    wait;
  end process;
end architecture;

顺便说一句,要回答“输入文本文件的长度”的问题,那么可以通过从文件中读取尽可能多的字符来确定字符长度,例如,使用以下代码:

impure function file_length_in_characters(filename : string) return natural is
  type char_file_t is file of character;
  file char_file : char_file_t;
  variable char_v : character;
  variable res_v : natural;
begin
  res_v := 0;
  file_open(char_file, filename, read_mode);
  while not endfile(char_file) loop
    read(char_file, char_v);
    res_v := res_v + 1;
  end loop;
  file_close(char_file);
  return res_v;
end function;

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

检查文本文件是否过期

来自分类Dev

检查文本文件是否在末尾

来自分类Dev

检查变量是否是文本文件

来自分类Dev

使用Java检查文本文件中是否已经存在输入

来自分类Dev

是否可以上传文本文件以HTML / JS输入?

来自分类Dev

是否可以根据用户输入打开和读取文本文件?

来自分类Dev

检查文件是否是bash中的文本文件

来自分类Dev

如何将多行文本文件分解为可迭代的列表,以检查python中是否输入==文本文件?

来自分类Dev

Python检查列表项是否在文本文件中

来自分类Dev

检查文本文件是否为空Python

来自分类Dev

检查文本文件是否为空

来自分类Dev

检查文本文件在C ++中的格式是否正确

来自分类Dev

如何检查文本文件是否已添加或打开

来自分类Dev

ffmpeg可以从文本文件读取输入吗?

来自分类Dev

是否可以从文本文件中制作 youtube 列表?

来自分类Dev

检查输入的字符串名称是否是文本文件,这是我的代码,但是不起作用

来自分类Dev

程序要求用户输入文本文件,然后用相同长度的单词替换单词

来自分类Dev

检查文本文件中的数据

来自分类Dev

检查文本文件中的值

来自分类Dev

检查文本文件中的单词

来自分类Dev

Java文本文件输入

来自分类Dev

AWK:用户输入文本文件

来自分类Dev

从文本文件C ++读取输入

来自分类Dev

通过文本文件中提供的文件名/路径检查文件是否存在?

来自分类Dev

如何连续检查文本文件中的文本是否已更改为空?爪哇

来自分类Dev

比较文本文件是否相等

来自分类Dev

如何检查文本文件的文件夹中是否有重复的URL

来自分类Dev

如何检查子文件夹文本文件是否存在

来自分类Dev

如何检查文件是否为文本文件(英语,中文和日语)

Related 相关文章

  1. 1

    检查文本文件是否过期

  2. 2

    检查文本文件是否在末尾

  3. 3

    检查变量是否是文本文件

  4. 4

    使用Java检查文本文件中是否已经存在输入

  5. 5

    是否可以上传文本文件以HTML / JS输入?

  6. 6

    是否可以根据用户输入打开和读取文本文件?

  7. 7

    检查文件是否是bash中的文本文件

  8. 8

    如何将多行文本文件分解为可迭代的列表,以检查python中是否输入==文本文件?

  9. 9

    Python检查列表项是否在文本文件中

  10. 10

    检查文本文件是否为空Python

  11. 11

    检查文本文件是否为空

  12. 12

    检查文本文件在C ++中的格式是否正确

  13. 13

    如何检查文本文件是否已添加或打开

  14. 14

    ffmpeg可以从文本文件读取输入吗?

  15. 15

    是否可以从文本文件中制作 youtube 列表?

  16. 16

    检查输入的字符串名称是否是文本文件,这是我的代码,但是不起作用

  17. 17

    程序要求用户输入文本文件,然后用相同长度的单词替换单词

  18. 18

    检查文本文件中的数据

  19. 19

    检查文本文件中的值

  20. 20

    检查文本文件中的单词

  21. 21

    Java文本文件输入

  22. 22

    AWK:用户输入文本文件

  23. 23

    从文本文件C ++读取输入

  24. 24

    通过文本文件中提供的文件名/路径检查文件是否存在?

  25. 25

    如何连续检查文本文件中的文本是否已更改为空?爪哇

  26. 26

    比较文本文件是否相等

  27. 27

    如何检查文本文件的文件夹中是否有重复的URL

  28. 28

    如何检查子文件夹文本文件是否存在

  29. 29

    如何检查文件是否为文本文件(英语,中文和日语)

热门标签

归档