//-----------------------------------------------------------------
// 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 有关, 不太理解。
请高手支招。