System verilog SystemVerilog中是否有连接字符串队列的函数?

System verilog SystemVerilog中是否有连接字符串队列的函数?,system-verilog,System Verilog,一般来说,可以这样做: string a; a = {a, " first"}; a = {a, " second"}; a = {a, " third"}; 据我所知,这意味着每次为连接的字符串连续重新分配a。是否有一个神奇的join功能可以像这样工作,从而提高性能 string a; string a_q[$]; a_q = '{"first", "second", "third"}; a = a_q.join(); // a = {a_q} doesn't work as {a_q} r

一般来说,可以这样做:

string a;
a = {a, " first"};
a = {a, " second"};
a = {a, " third"};
据我所知,这意味着每次为连接的字符串连续重新分配
a
。是否有一个神奇的
join
功能可以像这样工作,从而提高性能

string a;
string a_q[$];
a_q = '{"first", "second", "third"};
a = a_q.join(); // a = {a_q} doesn't work as {a_q} returns another queue;

您可以使用位流转换:(LRM第6.24.3节位流转换)


我想你会回答的,谢谢!我记得Amiq的一个家伙说这可以在DVCon'19期间完成,我很好奇如何为人们提供一个示例:请将静态变量声明移到always块之外
a = string'(a_q);