Вот так дерево из 4 счетчиков может выглядеть на SV. Q7.2 укладывает этот делитель в 17 макрокелов EMP3032
Код
module div10
(
input logic clk, rstn,
output logic [4:0] clk_div
);
logic [2:0] cntr[4:0];
assign clk_div[0] = clk;
genvar i;
generate for (i=1;i<5;i++) begin : cntr_gens
always_ff @(posedge clk_div[i-1], negedge rstn)
if (!rstn) begin
cntr[i] <= '0;
clk_div[i] <= '0;
end else begin
if ( cntr[i] == 4 ) begin
cntr[i] <= '0;
clk_div[i] <= ~clk_div[i];
end else
cntr[i]++;
end
end endgenerate
endmodule