在使用Vivado自定义IP时遇到一个问题,在这里做一个记录。
在设计一个流水灯的IP的时候会报警告,这导致在调用该IP的时候,流水灯始终全亮。警告如下
该IP的源码如下(该代码参考了米联客的教程),
module LED_ML(
input CLK,//100MHZ
input RSTn_i,
output reg [3:0]LED_o
);
reg [31:0]C0;
always @(posedge CLK)
if(!RSTn_i)
begin
LED_o <= 4'b0001;
C0 <= 32'h0;
end
else
begin
if(C0 == 32'd49_999_999)//1s
begin
C0 <= 32'h0;
if(LED_o == 4'b1000)
LED_o <= 4'b0001;
else LED_o <= LED_o << 1;
end
else begin C0 <= C0 + 1'b1; LED_o <= LED_o; end
end
endmodule
后来将代码中的CLK改为CLK_i,之后就没有报警告了。目前原因未明。