module tdt_dmi_rst_top(
  sys_apb_clk,
  sys_apb_rst_b,
  pad_yy_scan_mode,
  pad_yy_scan_rst_b,
  sync_sys_apb_rst_b
                    );

  input sys_apb_clk;
  input sys_apb_rst_b;
  input pad_yy_scan_mode;
  input pad_yy_scan_rst_b;
  output sync_sys_apb_rst_b;

  wire sync_sys_apb_rst_b;
  wire async_apb_rst_b;
  reg sys_apb_rst_ff_1st;

assign async_apb_rst_b = sys_apb_rst_b;

always @(posedge sys_apb_clk or negedge async_apb_rst_b)
begin
  if (!async_apb_rst_b)
    sys_apb_rst_ff_1st <= 1'b0;
  else
    sys_apb_rst_ff_1st <= 1'b1;
end

assign sync_sys_apb_rst_b = pad_yy_scan_mode ? pad_yy_scan_rst_b : sys_apb_rst_ff_1st;

endmodule