使用vhdl textio读取或写入多个文件
我已经成功地编写了一个vhdl代码来读写文件。基本上,我读取一个文件,处理文件中的数据,然后将结果写入另一个文件。 现在我想将我的程序扩展到读取多个测试用例。例如,数据将在名为1.txt、2.txt等不同文件中可用,直到100.txt。 我想使用循环从文件中逐个读取数据,并将输出写入不同的文件。有人能帮忙吗使用vhdl textio读取或写入多个文件,vhdl,file-handling,Vhdl,File Handling,我已经成功地编写了一个vhdl代码来读写文件。基本上,我读取一个文件,处理文件中的数据,然后将结果写入另一个文件。 现在我想将我的程序扩展到读取多个测试用例。例如,数据将在名为1.txt、2.txt等不同文件中可用,直到100.txt。 我想使用循环从文件中逐个读取数据,并将输出写入不同的文件。有人能帮忙吗 type i1 is file of character; file f1 : i1 open READ_MODE is "1.txt"; 这
type i1 is file of character;
file f1 : i1 open READ_MODE is "1.txt";
这是我用来读取文件的代码类型。如何为文件数组扩展它?我不能在家里尝试,因此这可能不起作用-您是否尝试将代码移动到
过程中,并将文件名作为参数?然后,您可以将它包装在一个简单的for
循环中,它不会像在生成循环中将文件名作为泛型那样尝试并行执行所有操作。我不能在家中尝试,因此这可能不起作用-您是否尝试将代码移动到过程中,以文件名作为参数?这样,您就可以将它包装在一个简单的for
循环中,而不会像在生成循环中将文件名作为泛型那样尝试并行执行所有操作。我的博客在此展示了如何从函数中打开文件并读取数据
您可以将文件名作为string
类型传递给函数并使用text
文件:
file file_variable : text;
而且
file_open(file_variable, filename, read_mode);
打开它
注意,如果您正在读取二进制文件,不同的模拟器会以不同的方式运行。Modelsim会做你(可能)期望的事情。当读取EOF字符时,我已经让GHDL崩溃了。Xilinx的模拟器希望在文件上有一个特殊的头
坚持纯文本是最容易移植的,即使你必须对其进行预处理。我的博客展示了如何从函数中打开文件并读取数据
您可以将文件名作为string
类型传递给函数并使用text
文件:
file file_variable : text;
而且
file_open(file_variable, filename, read_mode);
打开它
注意,如果您正在读取二进制文件,不同的模拟器会以不同的方式运行。Modelsim会做你(可能)期望的事情。当读取EOF字符时,我已经让GHDL崩溃了。Xilinx的模拟器希望在文件上有一个特殊的头
即使您必须对纯文本进行预处理,也可以使用纯文本进行移植。过程读取示例文件
(
文件名:字符串形式;
...
)是
文件msgFile:text;
...
开始
文件打开(msgFile、文件名、读取模式) 程序读取样本文件
(
文件名:字符串形式;
...
)是
文件msgFile:text;
...
开始
文件打开(msgFile、文件名、读取模式) 我有大约100个文件。所以我有不同的文件名。我不知道如何以通用的方式传递文件名。我有大约100个文件。所以我有不同的文件名。我不知道如何以通用的方式传递文件名。请在你的回答中更详细一点。请在你的回答中更详细一点。