Arrays 如何使用另一个未打包的数组初始化未打包的数组
我在序列中创建了以下队列:Arrays 如何使用另一个未打包的数组初始化未打包的数组,arrays,queue,system-verilog,Arrays,Queue,System Verilog,我在序列中创建了以下队列: bit [31:0] transfers_seq [$]; 我在队列中输入以下值: {{00000000, 12345678, 54871245},{12454612, 00000000, 12367894}} 现在,我必须通过我在事务文件中编写的初始函数将transfers_seq传递到事务文件中的另一个队列 事务文件: class axi_transaction extends uvm_sequence_item(); bit [31:0] transf
bit [31:0] transfers_seq [$];
我在队列中输入以下值:
{{00000000, 12345678, 54871245},{12454612, 00000000, 12367894}}
现在,我必须通过我在事务文件中编写的初始函数将transfers_seq传递到事务文件中的另一个队列
事务文件:
class axi_transaction extends uvm_sequence_item();
bit [31:0] transfers [$];
function init ( bit [31:0] transfers2init [$]);
endfunction: init
如何将“bit[31:0]transfers2init[$]”分配给init函数中的“bit[31:0]transfers[$]”呢?函数需要返回一些内容,而要返回队列,则需要一个
typedef
:
typedef bit [31:0] queue [$];
然后,在您的函数中,您可以将一个队列复制到另一个队列(如这里的另一个答案所示):
但这很简单,你不需要函数
您的函数需要返回一些内容,要返回队列,您需要一个
typedef
:
typedef bit [31:0] queue [$];
然后,在您的函数中,您可以将一个队列复制到另一个队列(如这里的另一个答案所示):
但这很简单,你不需要函数
您只需将一个队列分配给另一个队列即可:
transfers = transfers2init;
它将transfer2init的元素复制到transfers。您可以在这里查看:
您只需将一个队列分配给另一个队列即可:
transfers = transfers2init;
它将transfer2init的元素复制到transfers。您可以在这里查看:
您可以直接分配
transfer = transfer2init
你可以直接分配
transfer = transfer2init