Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/154.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SystemVerilog在中初始化多维参数化数组_Verilog_System Verilog_Xilinx - Fatal编程技术网

SystemVerilog在中初始化多维参数化数组

SystemVerilog在中初始化多维参数化数组,verilog,system-verilog,xilinx,Verilog,System Verilog,Xilinx,我正在尝试初始化SystemVerilog中的多维参数化数组,如下所述: ... parameter INPUT_WIDTH = 16; parameter NUM_ELEMENTS = 4; ... reg signed [INPUT_WIDTH-1 : 0 ] ss_res_reg[NUM_ELEMENTS-1:0]; 我想在rst的每个下降沿上将ss_res_reg初始化为零,以便: always_ff @(posedge clk or negedge rst) begin if

我正在尝试初始化SystemVerilog中的多维参数化数组,如下所述:

...
parameter INPUT_WIDTH = 16;
parameter NUM_ELEMENTS = 4;
...
reg signed [INPUT_WIDTH-1 : 0 ] ss_res_reg[NUM_ELEMENTS-1:0];
我想在
rst
的每个下降沿上将
ss_res_reg
初始化为零,以便:

always_ff @(posedge clk or negedge rst) begin
    if(~rst) begin
        ss_res_reg <= '{NUM_ELEMENTS{NUM_ELEMENTS{1'b0}}};
    end else begin
        ss_res_reg <= ss_res;
    end
end
始终\u ff@(posedge clk或negedge rst)开始
如果(~rst)开始

ss_res_reg错误在于无法复制未打包的数组元素

有一个简单的解决方案:

if(~rst) 
   for (integer i=0; i<NUM_ELEMENTS; i++)
      ss_res_reg[i] <=  {INPUT_WIDTH{1'b0}};
if(~rst)

对于(整数i=0;i而言,错误在于无法复制未打包的数组元素

有一个简单的解决方案:

if(~rst) 
   for (integer i=0; i<NUM_ELEMENTS; i++)
      ss_res_reg[i] <=  {INPUT_WIDTH{1'b0}};
if(~rst)

对于(整数i=0;i,您可以在分配模式中使用
默认值
标签来分配具有任意维数的未打包数组的所有元素:

always_ff @(posedge clk or negedge rst) begin
    if(~rst) begin
        ss_res_reg <= '{default:'0};
    end else begin
        ss_res_reg <= ss_res;
    end
end
始终\u ff@(posedge clk或negedge rst)开始
如果(~rst)开始

ss_res_reg您可以在赋值模式中使用
default
标签来赋值具有任意维数的未打包数组的所有元素:

always_ff @(posedge clk or negedge rst) begin
    if(~rst) begin
        ss_res_reg <= '{default:'0};
    end else begin
        ss_res_reg <= ss_res;
    end
end
始终\u ff@(posedge clk或negedge rst)开始
如果(~rst)开始
ss_res_注册