always @(posedge hclk or negedge hresetn)
if(!hresetn)
hclk_cnt <= 4'd0;
else if(hclk_cnt == (HCLK_PCLK_RATIO - 1'b1))
hclk_cnt <= 4'd0;
else
hclk_cnt <= hclk_cnt + 1'd1;
always @(negedge hclk or negedge hresetn)
if(!hresetn)
pclken <= 1'b0;
else if(hclk_cnt == (HCLK_PCLK_RATIO - 1'b1))
pclken <= 1'b1;
else
pclken <= 1'b0;
reg pclken_r;
always @(*)begin
#1ns;
pclken_r = pclken;
end
assign pclk = pclken_r & hclk;