我实际上想在VHDL中用两个不同的文本文件写一行同一行。
首先我天真地尝试用这种方式写入两个文件:
write (v_lineBuffer, v_string);
writeline(f_output1, v_lineBuffer);
writeline(f_output2, v_lineBuffer);
直到我意识到在 writeline()之后刷新 v_lineBuffer 。
我也试着复制一行:
write(v_lineBuffer1, v_string);
v_lineBuffer2 := v_lineBuffer1;
writeline(f_output1, v_lineBuffer1);
writeline(f_output2, v_lineBuffer2);
但是我尝试将 v_lineBuffer1 复制到 v_lineBuffer2 时,ModelSim崩溃了
有人可以帮忙吗?谢谢!
答案 0 :(得分:5)
VHDL中的行类型是所谓的访问类型,它对应于其他语言中的指针。如果要复制内容变量指向另一个变量,请使用
v_lineBuffer2 := new string'(v_lineBuffer1.all);