Verilog中参数化信号复位置0的写法

发布时间 2023-06-08 16:45:59作者: million_yh

当前面有对某信号位宽进行参数化设定: parameter ADDR_WIDTH   = 3,然后后面又需要对该信号初始化时,可以这么写:

always @(posedge sys_clk or negedge sys_rst_n) begin
    if(!sys_rst_n)
        wr_ptr <= {ADDR_WIDTH{1'b0}};
    else if(wr_en && !full)
        wr_ptr <= wr_ptr + 1'b1;
    else
        wr_ptr <= wr_ptr;
end

or

always @(posedge sys_clk or negedge sys_rst_n) begin
    if(!sys_rst_n)
        wr_ptr <= 'b0;
    else if(wr_en && !full)
        wr_ptr <= wr_ptr + 1'b1;
    else
        wr_ptr <= wr_ptr;
end
这两种写法都ok