always @(posedge clk) begin if( pRst ) begin cntr_p <= 2'b00; cntr_p_out <= 1'b0; end else begin if( cntr_p == 2'b10 ) begin cntr_p <= 2'b00; cntr_p_out <= 1'b1; end else begin cntr_p <= cntr_p + 2'b01; cntr_p_out <= 1'b0; end end end
//== cntr_n reg [1:0] cntr_n; reg cntr_n_out;
always @(negedge clk) begin //аналогично end
//== Divider output assign div_out = cntr_p_out or cntr_n_out;
для коэффициента 3 счетчики можно сделать на кольцевых свиговых регистрах. будет определенная экономия.
Ресет этого хозяйства я бы сделал так: привязывал бы входной сигнал сброса к posedge и сбрасывал бы этим сигналом все, что относится к posedge. и перепривязывал этот сигнал к negedge и сбрасывал бы этим сигналом все, что относится к negedge