diff --git a/arch/patmos/CMakeLists.txt b/arch/patmos/CMakeLists.txt
index c9f4b7df8e6b9a2929cc4ece24b68b4c19ead84d..8a81981d06d3f035f30b4d7d9435d98247626caa 100644
--- a/arch/patmos/CMakeLists.txt
+++ b/arch/patmos/CMakeLists.txt
@@ -1,4 +1,6 @@
-SET(PASIM_FREQ 10 CACHE INTERNAL STRING)
+# -1: synchroneous interrupts with executed instructions
+
+SET(PASIM_FREQ -1 CACHE INTERNAL STRING)
 
 set(SRCS
   crt0.c
diff --git a/arch/patmos/irq.cc b/arch/patmos/irq.cc
index 7fa00cfc5e62e8c68c47ce022297cde48082c80a..4385b8a1951aa22228aced833b9c7266258fa2e4 100644
--- a/arch/patmos/irq.cc
+++ b/arch/patmos/irq.cc
@@ -46,8 +46,7 @@ void IRQ::set_timer_interval(int ms) {
     uint64_t time_cur = (((uint64_t)u) << 32) | l;
 
     // Time til next interrupt
-    const int TIMER_FREQUENCY = 1000;
-    uint64_t time_inter = (ms * 1000000U) / TIMER_FREQUENCY;
+    uint64_t time_inter = 100000;
 
     uint64_t time_new = time_cur + time_inter;