• [求助]  怎样理解这段代码的赋值顺序?

  • 2010-10-26 13:22:44 发表
  • 标签:

//-----------------------------------------------------------------
// enable16 generator
//-----------------------------------------------------------------
reg [15:0] enable16_counter;

wire enable16;
assign enable16 = (enable16_counter == 16'd0);

always @(posedge sys_clk) begin
        if(sys_rst)
                enable16_counter <= divisor - 16'b1;
        else begin
                enable16_counter <= enable16_counter - 16'd1;         //  这里
                if(enable16)
                        enable16_counter <= divisor - 16'b1;                   //  还有这里
        end
end

代码是从 opencores 上下载的一个项目,里面其中一小段。
上面指出的两片地方,都在 同一个 always 里面, 应该是并行的,赋值的时候不会产生歧义吗?
是否与 if 有关, 不太理解。
请高手支招。