Сброс по срезу, работа по фронту - это нормальный асинхронный ресет, а не шаманство.
Код
always @(posedge clk or negedge rstn)
if (!rstn) reg0 <= 1'b0;
else ...
Клоки формируются на одном PLL. Не надо на этом зацикливаться. Дизайн правильный, отличный, проверенный, соответствует стандартам и гайдлайнам.