[pwm] Fix an asynchronous reset issue in pwm_chan

Signed-off-by: Michael Schaffner <msf@google.com>
diff --git a/hw/ip/pwm/rtl/pwm_chan.sv b/hw/ip/pwm/rtl/pwm_chan.sv
index 2d6805f..2ebe1fc 100644
--- a/hw/ip/pwm/rtl/pwm_chan.sv
+++ b/hw/ip/pwm/rtl/pwm_chan.sv
@@ -40,10 +40,14 @@
                        ? 16'h0 : (cycle_end_i) ? blink_ctr_q + 16'h1 : blink_ctr_q;
 
   always_ff @(posedge clk_i or negedge rst_ni) begin
-    if (!rst_ni || clr_blink_cntr_i) begin
+    if (!rst_ni) begin
       blink_ctr_q <= 16'h0;
     end else begin
-      blink_ctr_q <= (blink_en_i && !htbt_en_i) ? blink_ctr_d : blink_ctr_q;
+      if (clr_blink_cntr_i) begin
+        blink_ctr_q <= 16'h0;
+      end else begin
+        blink_ctr_q <= (blink_en_i && !htbt_en_i) ? blink_ctr_d : blink_ctr_q;
+      end
     end
   end
 
@@ -63,10 +67,14 @@
                       (cycle_end_i) ? htbt_ctr_q + 16'h1 : htbt_ctr_q;
 
   always_ff @(posedge clk_i or negedge rst_ni) begin
-    if (!rst_ni || clr_blink_cntr_i) begin
+    if (!rst_ni) begin
       htbt_ctr_q <= 16'h0;
     end else begin
-      htbt_ctr_q <= (blink_en_i && htbt_en_i) ? htbt_ctr_d : htbt_ctr_q;
+      if (clr_blink_cntr_i) begin
+        htbt_ctr_q <= 16'h0;
+      end else begin
+        htbt_ctr_q <= (blink_en_i && htbt_en_i) ? htbt_ctr_d : htbt_ctr_q;
+      end
     end
   end
   assign dc_htbt_end = cycle_end_i & (htbt_ctr_q == blink_param_x_i);