diff --git a/applications/apertif/systems/apertif_bf_xc/tb/vhdl/tb_apertif_bf_xc_link.vhd b/applications/apertif/systems/apertif_bf_xc/tb/vhdl/tb_apertif_bf_xc_link.vhd
index dc2d30ac83289b3ed46b073e9f0d50fd89fd7b90..896e2528b8c7b4ab5c0c1e45044260dca9cbcdb1 100644
--- a/applications/apertif/systems/apertif_bf_xc/tb/vhdl/tb_apertif_bf_xc_link.vhd
+++ b/applications/apertif/systems/apertif_bf_xc/tb/vhdl/tb_apertif_bf_xc_link.vhd
@@ -541,19 +541,7 @@ BEGIN
   END PROCESS;
 
 
-  p_stop_simulation : PROCESS
-  BEGIN
-    -- Wait for p_mm_diag_data_buffer is done
-    proc_common_wait_until_high(ext_clk, verify_db_done);
-    
-    -- Stop the simulation
-    i_tb_end <= '1';
-    IF g_tb_end=FALSE THEN
-      REPORT "Tb Simulation finished." SEVERITY NOTE;
-    ELSE
-      REPORT "Tb Simulation finished." SEVERITY FAILURE;
-    END IF;
-    WAIT;
-  END PROCESS;
+  -- Stop simulation using severity FAILURE
+  proc_common_stop_simulation(g_tb_end, ext_clk, verify_db_done, i_tb_end);
 
 END tb;
diff --git a/applications/apertif/systems/apertif_bf_xc/tb/vhdl/tb_apertif_bf_xc_mesh.vhd b/applications/apertif/systems/apertif_bf_xc/tb/vhdl/tb_apertif_bf_xc_mesh.vhd
index bfd5d4fb0fe07729007991a184d214a722a2b94b..db40eacba96cc069774928e66954b64e8b26d46e 100644
--- a/applications/apertif/systems/apertif_bf_xc/tb/vhdl/tb_apertif_bf_xc_mesh.vhd
+++ b/applications/apertif/systems/apertif_bf_xc/tb/vhdl/tb_apertif_bf_xc_mesh.vhd
@@ -787,19 +787,7 @@ BEGIN
   
   verify_db_done <= vector_and(verify_db_done_arr);
 
-  p_stop_simulation : PROCESS
-  BEGIN
-    -- Wait for p_mm_diag_data_buffer is done
-    proc_common_wait_until_high(ext_clk, verify_db_done);
-    
-    -- Stop the simulation
-    i_tb_end <= '1';
-    IF g_tb_end=FALSE THEN
-      REPORT "Tb Simulation finished." SEVERITY NOTE;
-    ELSE
-      REPORT "Tb Simulation finished." SEVERITY FAILURE;
-    END IF;
-    WAIT;
-  END PROCESS;
+  -- Stop simulation using severity FAILURE
+  proc_common_stop_simulation(g_tb_end, ext_clk, verify_db_done, i_tb_end);
 
 END tb;