diff --git a/libraries/base/dp/tb/vhdl/tb_dp_counter.vhd b/libraries/base/dp/tb/vhdl/tb_dp_counter.vhd
index 2b8b4e7feb371b58329278fbb0d63654ef311991..9598fd6c7c9917cda22b758356d84637353af3e9 100644
--- a/libraries/base/dp/tb/vhdl/tb_dp_counter.vhd
+++ b/libraries/base/dp/tb/vhdl/tb_dp_counter.vhd
@@ -89,7 +89,7 @@ ARCHITECTURE tb OF tb_dp_counter IS
     VARIABLE v_period       : NATURAL := 1;
   BEGIN
     FOR I IN 0 TO g_counter LOOP
-      v_range_period(I) := (g_range_stop(I) - g_range_start(I) + g_range_step(I) - 1) / g_range_step(I);
+      v_range_period(I) := (g_range_stop(I)-1 - g_range_start(I)) / g_range_step(I) + 1;  -- Python style range(start, stop, step)
       v_period := v_period * v_range_period(I);
     END LOOP;
     RETURN v_period;