我正在vivado 2020.2中构建一个vhdl项目。
我的工作目录位于我的O.S.的本地桌面上,它有以下结构:
script\
datasets\
gentestdata.py
testdata\
test_data.txt
src\
<<source files here>>
tst\
<<testbenches here>>
vivado\
<<project directory here>>我有以下不纯函数从脚本生成的文件test_data.txt加载数据:
impure function gen_datain(dataset_path: in string) return datain_type is
file text_header: text is in dataset_path;
variable text_line: line;
variable line_i: bit_vector(0 to neuron_rom_width-1);
variable dataset_content: datain_type;
begin
for i in dataset_content'range loop
if i = 101 then
readline(text_header, text_line);
read(text_line, line_i);
else
readline(text_header, text_line);
read(text_line, line_i);
end if;
dataset_content(i) := makesfixed(line_i);
end loop;
file_close(text_header);
return dataset_content;
end function;文件test_data.txt由Python gentestdata.py自动生成。每次运行这个脚本时,test_data.txt的内容都会发生变化,在vivado环境中加载的数据也会发生变化,但是即使旧版本的test_data.txt已经被更新的版本所取代,模拟器仍然会加载旧的数据。我怎样才能纠正这种行为。我试着关闭vivado重新启动O.S。
我的问题是,你知道这种行为的原因,以及如何纠正这种行为?
谢谢大家
发布于 2022-04-24 02:06:16
当向GUI项目添加文件时,Vivado允许用户“将文件复制到项目”,对副本说“否”。这里有一个复选框或单选按钮。Vivado将尝试将它自己的本地副本埋在它的层次结构中。Vivado可以自由地删除和重新添加自己的文件夹,如果您的文件是其中的一部分,它可能会变得混乱。
您可能需要重新开始一个新的Gui项目,以便使项目处于不修改文件的状态。
最终的解决方案是在没有GUI的非项目模式下使用Vivado。这在基于Linux的脚本驱动环境中比在Windows中工作得更好。在非项目中,Vivado不会破坏您的文件。
请参见:
https://docs.xilinx.com/r/en-US/ug892-vivado-design-flows-overview
有关项目和非项目构建工作流程之间的权衡的更多信息。
https://stackoverflow.com/questions/71984241
复制相似问题