Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.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:串联中使用的参数给出irun错误_Verilog_System Verilog_Cadence - Fatal编程技术网

SystemVerilog:串联中使用的参数给出irun错误

SystemVerilog:串联中使用的参数给出irun错误,verilog,system-verilog,cadence,Verilog,System Verilog,Cadence,Cadence irun给出以下代码的错误,其中fifo_depth_base2是如下参数: ncvlog:*E,NONOWD(buff_mgr.v,17 | 46):在没有明确宽度规范的情况下非法使用常数[4.1.14(IEEE)] 我可以理解这个错误,但我的问题是,如果不是这样,我将如何为参数化设计分配它 // rd pointer and read logic always @(posedge clk or posedge rst) begin if(rst) rd_ptr <

Cadence irun给出以下代码的错误,其中fifo_depth_base2是如下参数:

ncvlog:*E,NONOWD(buff_mgr.v,17 | 46):在没有明确宽度规范的情况下非法使用常数[4.1.14(IEEE)]

我可以理解这个错误,但我的问题是,如果不是这样,我将如何为参数化设计分配它

// rd pointer and read logic
always @(posedge clk or posedge rst) begin
    if(rst) rd_ptr <= 0;
else begin  
    case({flush, rd})
        2'b10, 2'b11: rd_ptr <= {fifo_depth_base2{'b0}}; // error here
        ...
 endcase
end
end
//rd指针和读取逻辑
始终@(posedge clk或posedge rst)开始

如果(rst)rd_ptr您在
'b0
之前缺少1。模拟器不知道
'b0
的位大小,因为它没有指定

{fifo\u depth\u base2{'b0}
应该是
{fifo_depth_base2{1'b0}


在SystemVerilog中,您可以使用:
rd\u ptr我认为在SystemVerilog中,当使用这样的构造时,
fifo\u depth\u base2{'b0}
,fifo\u depth\u base2应该是一个常量。您可能可以使用for循环将其参数化,或者只是
rd_ptr请参见:@Ari,
fifo_depth_base2
是一个参数,因此它已经是一个常量。