繁体   English   中英

SystemVerilog:连接中使用的参数会给irun带来错误

[英]SystemVerilog: Parameter used in concatenation gives error with irun

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

你在'b0之前错过了1。 模拟器不知道'b0的位大小,因为它没有指定。

{fifo_depth_base2{'b0}}; 'b0}}; {fifo_depth_base2{ 'b0}};

使用SystemVerilog,您可以使用: rd_ptr <= '0; ,其中'0表示填充零

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM