Index: sources/test_regression/02052006/system.cpp
===================================================================
--- sources/test_regression/02052006/system.cpp	(revision 59)
+++ sources/test_regression/02052006/system.cpp	(revision 60)
@@ -121,4 +121,7 @@
     sc_signal<bool> resetn("resetn");
 
+    // Setup number of threads open-mp to 1 with the macro threads_omp()
+    threads_omp();
+
     test test1("test1");
     test1.clk(signal_clk);
Index: sources/test_regression/04052005/system.cpp
===================================================================
--- sources/test_regression/04052005/system.cpp	(revision 59)
+++ sources/test_regression/04052005/system.cpp	(revision 60)
@@ -23,4 +23,7 @@
     e = 0x11;
     f = 0x1A0;
+
+    // Setup number of threads open-mp to 1 with the macro threads_omp()
+    threads_omp();
 
     cout << "a = 0x" << hex << (unsigned int) a << " = " << a.to_string(SC_BIN) << "\n";
Index: sources/test_regression/05092005/system.cpp
===================================================================
--- sources/test_regression/05092005/system.cpp	(revision 59)
+++ sources/test_regression/05092005/system.cpp	(revision 60)
@@ -22,4 +22,8 @@
     sc_clock signal_clk("my_clock", sc_time(1, sc_core::SC_NS));
     sc_signal<bool> s[5];
+
+    // Setup number of threads open-mp to 1 with the macro threads_omp()
+    threads_omp();
+
     hard a("a");
     hard b("b");
Index: sources/test_regression/07052005/system.cpp
===================================================================
--- sources/test_regression/07052005/system.cpp	(revision 59)
+++ sources/test_regression/07052005/system.cpp	(revision 60)
@@ -39,4 +39,7 @@
     i = e;
 
+    // Setup number of threads open-mp to 1 with the macro threads_omp()
+    threads_omp();
+
     cout << "a = 0x" << hex << (unsigned int) a << " = " << a.to_string(SC_BIN) << "\n";
     //ASSERT(a.to_string(SC_BIN) == "0b000000111100010001");
Index: sources/test_regression/07122006a/system.cpp
===================================================================
--- sources/test_regression/07122006a/system.cpp	(revision 59)
+++ sources/test_regression/07122006a/system.cpp	(revision 60)
@@ -19,4 +19,7 @@
     sc_signal<int> in ("in");
     sc_signal<int> out("out");
+
+    // Setup number of threads open-mp to 1 with the macro threads_omp()
+    threads_omp();
 
     test test("test");
Index: sources/test_regression/07122006b/system.cpp
===================================================================
--- sources/test_regression/07122006b/system.cpp	(revision 59)
+++ sources/test_regression/07122006b/system.cpp	(revision 60)
@@ -65,4 +65,7 @@
     sc_signal<int> out("out");
 
+    // Setup number of threads open-mp to 1 with the macro threads_omp()
+    threads_omp();
+
     test test("test");
     test.clk(clk);
Index: sources/test_regression/08092005/system.cpp
===================================================================
--- sources/test_regression/08092005/system.cpp	(revision 59)
+++ sources/test_regression/08092005/system.cpp	(revision 60)
@@ -40,4 +40,7 @@
     hard b("b");
     hard c("c");
+
+    // Setup number of threads open-mp to 1 with the macro threads_omp()
+    threads_omp();
 
     a.clk(clk);
Index: sources/test_regression/09092005a/system.cpp
===================================================================
--- sources/test_regression/09092005a/system.cpp	(revision 59)
+++ sources/test_regression/09092005a/system.cpp	(revision 60)
@@ -14,4 +14,7 @@
 
 int sc_main (int argc, char ** argv) {
+
+    // Setup number of threads open-mp to 1 with the macro threads_omp()
+    threads_omp();
 
     sc_uint<ADDRSIZE> LINEADDR_MASK = ~(((sc_uint<ADDRSIZE>) ~0x0) >> (ADDRSIZE - OFFSETSIZE - BPFSIZE));
Index: sources/test_regression/09092005b/system.cpp
===================================================================
--- sources/test_regression/09092005b/system.cpp	(revision 59)
+++ sources/test_regression/09092005b/system.cpp	(revision 60)
@@ -39,4 +39,7 @@
     hard b("b");
     hard c("c");
+
+    // Setup number of threads open-mp to 1 with the macro threads_omp()
+    threads_omp();
 
     a.clk(clk1);
Index: sources/test_regression/09092005c/system.cpp
===================================================================
--- sources/test_regression/09092005c/system.cpp	(revision 59)
+++ sources/test_regression/09092005c/system.cpp	(revision 60)
@@ -82,4 +82,7 @@
     top_level t("top_level");
 
+    // Setup number of threads open-mp to 1 with the macro threads_omp()
+    threads_omp();
+
     t.clk(clk);
     t.o(out);
Index: sources/test_regression/11062007/system.cpp
===================================================================
--- sources/test_regression/11062007/system.cpp	(revision 59)
+++ sources/test_regression/11062007/system.cpp	(revision 60)
@@ -104,4 +104,7 @@
     sc_signal<bool> s1("s1"),s2("s2"),s3("s3"),s4("s4"),s5("s5");
 
+    // Setup number of threads open-mp to 1 with the macro threads_omp()
+    threads_omp();
+
     A a("a");
     B b("b");
Index: sources/test_regression/14092005/system.cpp
===================================================================
--- sources/test_regression/14092005/system.cpp	(revision 59)
+++ sources/test_regression/14092005/system.cpp	(revision 60)
@@ -48,4 +48,7 @@
     sc_signal<int> s[10];
     hard a("a");
+
+    // Setup number of threads open-mp to 1 with the macro threads_omp()
+    threads_omp();
 
     a.clk(clk1);
Index: sources/test_regression/15042009a/system.cpp
===================================================================
--- sources/test_regression/15042009a/system.cpp	(revision 59)
+++ sources/test_regression/15042009a/system.cpp	(revision 60)
@@ -123,4 +123,7 @@
     top_level t("top_level");
 
+    // Setup number of threads open-mp to 1 with the macro threads_omp()
+    threads_omp();
+
     t.clk(clk);
     t.o(out);
Index: sources/test_regression/15042009b/system.cpp
===================================================================
--- sources/test_regression/15042009b/system.cpp	(revision 59)
+++ sources/test_regression/15042009b/system.cpp	(revision 60)
@@ -17,4 +17,7 @@
     a = ca;
     b = cb;
+
+    // Setup number of threads open-mp to 1 with the macro threads_omp()
+    threads_omp();
 
     c = a & b;
Index: sources/test_regression/15042009c/system.cpp
===================================================================
--- sources/test_regression/15042009c/system.cpp	(revision 59)
+++ sources/test_regression/15042009c/system.cpp	(revision 60)
@@ -32,4 +32,7 @@
     const long long int ca = 0xf00000000LLU;
     a = ca;
+
+    // Setup number of threads open-mp to 1 with the macro threads_omp()
+    threads_omp();
 
     test_t<param_t> test1, test2;
Index: sources/test_regression/15062006/system.cpp
===================================================================
--- sources/test_regression/15062006/system.cpp	(revision 59)
+++ sources/test_regression/15062006/system.cpp	(revision 60)
@@ -77,4 +77,7 @@
     sc_signal<int> s01("s01"), s02("s02"), s03("s03"), s04("s04");
 
+    // Setup number of threads open-mp to 1 with the macro threads_omp()
+    threads_omp();
+
     test<int> test1("test1");
     test1.clk(signal_clk);
Index: sources/test_regression/15092005a/system.cpp
===================================================================
--- sources/test_regression/15092005a/system.cpp	(revision 59)
+++ sources/test_regression/15092005a/system.cpp	(revision 60)
@@ -89,4 +89,7 @@
     top_level t("top_level");
 
+    // Setup number of threads open-mp to 1 with the macro threads_omp()
+    threads_omp();
+
     t.clk(clk);
     t.o(out);
Index: sources/test_regression/15092005b/system.cpp
===================================================================
--- sources/test_regression/15092005b/system.cpp	(revision 59)
+++ sources/test_regression/15092005b/system.cpp	(revision 60)
@@ -92,4 +92,7 @@
     top_level t("top_level");
 
+    // Setup number of threads open-mp to 1 with the macro threads_omp()
+    threads_omp();
+
     t.clk(clk);
     t.o(out);
Index: sources/test_regression/15092005c/system.cpp
===================================================================
--- sources/test_regression/15092005c/system.cpp	(revision 59)
+++ sources/test_regression/15092005c/system.cpp	(revision 60)
@@ -87,4 +87,7 @@
     top_level t("top_level");
 
+    // Setup number of threads open-mp to 1 with the macro threads_omp()
+    threads_omp();
+
     t.clk(clk);
     t.o(out);
Index: sources/test_regression/15092005d/system.cpp
===================================================================
--- sources/test_regression/15092005d/system.cpp	(revision 59)
+++ sources/test_regression/15092005d/system.cpp	(revision 60)
@@ -90,4 +90,7 @@
     top_level t("top_level");
 
+    // Setup number of threads open-mp to 1 with the macro threads_omp()
+    threads_omp();
+
     t.clk(clk);
     t.o(out);
Index: sources/test_regression/16022007/system.cpp
===================================================================
--- sources/test_regression/16022007/system.cpp	(revision 59)
+++ sources/test_regression/16022007/system.cpp	(revision 60)
@@ -213,4 +213,6 @@
         s15("s15");
 
+    // Setup number of threads open-mp to 1 with the macro threads_omp()
+    threads_omp();
 
     M_0i1o a("a");
Index: sources/test_regression/16062005a/system.cpp
===================================================================
--- sources/test_regression/16062005a/system.cpp	(revision 59)
+++ sources/test_regression/16062005a/system.cpp	(revision 60)
@@ -75,4 +75,7 @@
     }
 
+    // Setup number of threads open-mp to 1 with the macro threads_omp()
+    threads_omp();
+
     sc_clock clk("clock");
     top_level1 top1("top1");
Index: sources/test_regression/16062005b/system.cpp
===================================================================
--- sources/test_regression/16062005b/system.cpp	(revision 59)
+++ sources/test_regression/16062005b/system.cpp	(revision 60)
@@ -65,4 +65,7 @@
     }
 
+    // Setup number of threads open-mp to 1 with the macro threads_omp()
+    threads_omp();
+
     ofstream o;
     o.open (argv[1], ios::out | ios::trunc);
Index: sources/test_regression/16112005a/system.cpp
===================================================================
--- sources/test_regression/16112005a/system.cpp	(revision 59)
+++ sources/test_regression/16112005a/system.cpp	(revision 60)
@@ -40,4 +40,7 @@
     sc_signal<int> s1("s1"), s2("s2"), s3("s3"), s4("s4");
 
+    // Setup number of threads open-mp to 1 with the macro threads_omp()
+    threads_omp();
+
     m.i1 (s1);
     m.i2 (s1);
Index: sources/test_regression/16112005b/system.cpp
===================================================================
--- sources/test_regression/16112005b/system.cpp	(revision 59)
+++ sources/test_regression/16112005b/system.cpp	(revision 60)
@@ -38,4 +38,7 @@
     sc_signal<int> s1("s1"), s2("s2"), s3("s3"), s4("s4");
 
+    // Setup number of threads open-mp to 1 with the macro threads_omp()
+    threads_omp();
+
     m.i1(s1);
     m.i3(s1);
Index: sources/test_regression/16112005c/system.cpp
===================================================================
--- sources/test_regression/16112005c/system.cpp	(revision 59)
+++ sources/test_regression/16112005c/system.cpp	(revision 60)
@@ -38,4 +38,7 @@
     sc_signal<int> s1("s1"), s2("s2"), s3("s3"), s4("s4");
 
+    // Setup number of threads open-mp to 1 with the macro threads_omp()
+    threads_omp();
+
     m.i1 (s1);
     m.i2 (s1);
Index: sources/test_regression/16122005/system.cpp
===================================================================
--- sources/test_regression/16122005/system.cpp	(revision 59)
+++ sources/test_regression/16122005/system.cpp	(revision 60)
@@ -67,4 +67,7 @@
     }
 
+    // Setup number of threads open-mp to 1 with the macro threads_omp()
+    threads_omp();
+
     sc_clock clk("clock");
     top_level1 top1("top1");
Index: sources/test_regression/17022006/system.cpp
===================================================================
--- sources/test_regression/17022006/system.cpp	(revision 59)
+++ sources/test_regression/17022006/system.cpp	(revision 60)
@@ -69,4 +69,7 @@
     sc_signal<char> s04_0("s04_0"), s04_1("s04_1"), s04_2("s04_2");
 
+    // Setup number of threads open-mp to 1 with the macro threads_omp()
+    threads_omp();
+
     test test1("test1");
     test1.clk(signal_clk);
Index: sources/test_regression/17032005/system.cpp
===================================================================
--- sources/test_regression/17032005/system.cpp	(revision 59)
+++ sources/test_regression/17032005/system.cpp	(revision 60)
@@ -76,4 +76,7 @@
     test.clk(clk);
     test.resetn(resetn);
+
+    // Setup number of threads open-mp to 1 with the macro threads_omp()
+    threads_omp();
 
     sc_trace_file * tf;
Index: sources/test_regression/19042005/system.cpp
===================================================================
--- sources/test_regression/19042005/system.cpp	(revision 59)
+++ sources/test_regression/19042005/system.cpp	(revision 60)
@@ -78,4 +78,7 @@
     sc_signal< sc_uint<64> > s11("s11"), s12("s12"), s13("s13");
     sc_signal< sc_uint<32> > s16("s16");
+
+    // Setup number of threads open-mp to 1 with the macro threads_omp()
+    threads_omp();
 
     test test1("test1");
Index: sources/test_regression/19122005/system.cpp
===================================================================
--- sources/test_regression/19122005/system.cpp	(revision 59)
+++ sources/test_regression/19122005/system.cpp	(revision 60)
@@ -127,4 +127,7 @@
     sc_clock  signal_clk("my_clock", 1, 0.5);
 
+    // Setup number of threads open-mp to 1 with the macro threads_omp()
+    threads_omp();
+
     test test1("test1");
     test1.clk(signal_clk);
Index: sources/test_regression/20122006/system.cpp
===================================================================
--- sources/test_regression/20122006/system.cpp	(revision 59)
+++ sources/test_regression/20122006/system.cpp	(revision 60)
@@ -226,4 +226,6 @@
         s15("s15");
 
+    // Setup number of threads open-mp to 1 with the macro threads_omp()
+    threads_omp();
 
     M_0i1o a("a");
Index: sources/test_regression/21062005/system.cpp
===================================================================
--- sources/test_regression/21062005/system.cpp	(revision 59)
+++ sources/test_regression/21062005/system.cpp	(revision 60)
@@ -48,4 +48,7 @@
     sc_signal<int> s1("s1"), s2("s2"), s3("s3"), s4("s4");
 
+    // Setup number of threads open-mp to 1 with the macro threads_omp()
+    threads_omp();
+
     m.i1 (s1);
     m.i2 (s1);
Index: sources/test_regression/24082009/system.cpp
===================================================================
--- sources/test_regression/24082009/system.cpp	(revision 59)
+++ sources/test_regression/24082009/system.cpp	(revision 60)
@@ -42,4 +42,7 @@
     sc_signal<int> s1("s1"), s2("s2"), s3("s3"), s4("s4");
 
+    // Setup number of threads open-mp to 1 with the macro threads_omp()
+    threads_omp();
+
     A a("a");
     A b("b");
Index: sources/test_regression/25032005/system.cpp
===================================================================
--- sources/test_regression/25032005/system.cpp	(revision 59)
+++ sources/test_regression/25032005/system.cpp	(revision 60)
@@ -103,4 +103,7 @@
     sc_signal<bool> s1("s1"), s2("s2"), s3("s3"), s4("s4"), s5("s5");
 
+    // Setup number of threads open-mp to 1 with the macro threads_omp()
+    threads_omp();
+
     A a("a");
     B b("b");
Index: sources/test_regression/28102005/system.cpp
===================================================================
--- sources/test_regression/28102005/system.cpp	(revision 59)
+++ sources/test_regression/28102005/system.cpp	(revision 60)
@@ -47,4 +47,7 @@
     sc_clock clk("clock");
 
+    // Setup number of threads open-mp to 1 with the macro threads_omp()
+    threads_omp();
+
     check_time(0);
     sc_start(sc_time(0, sc_core::SC_NS));
Index: sources/test_regression/29032005/system.cpp
===================================================================
--- sources/test_regression/29032005/system.cpp	(revision 59)
+++ sources/test_regression/29032005/system.cpp	(revision 60)
@@ -216,4 +216,6 @@
         s15("s15");
 
+    // Setup number of threads open-mp to 1 with the macro threads_omp()
+    threads_omp();
 
     M_0i1o a("a");
Index: sources/test_regression/30032005a/system.cpp
===================================================================
--- sources/test_regression/30032005a/system.cpp	(revision 59)
+++ sources/test_regression/30032005a/system.cpp	(revision 60)
@@ -119,4 +119,6 @@
         s15("s15");
 
+    // Setup number of threads open-mp to 1 with the macro threads_omp()
+    threads_omp();
 
     M1_3i3o a("a");
Index: sources/test_regression/30032005b/system.cpp
===================================================================
--- sources/test_regression/30032005b/system.cpp	(revision 59)
+++ sources/test_regression/30032005b/system.cpp	(revision 60)
@@ -74,4 +74,6 @@
         s15("s15");
 
+    // Setup number of threads open-mp to 1 with the macro threads_omp()
+    threads_omp();
 
     M1_1i1o a("a");
Index: sources/test_regression/30032005c/system.cpp
===================================================================
--- sources/test_regression/30032005c/system.cpp	(revision 59)
+++ sources/test_regression/30032005c/system.cpp	(revision 60)
@@ -108,4 +108,6 @@
         s15("s15");
 
+    // Setup number of threads open-mp to 1 with the macro threads_omp()
+    threads_omp();
 
     M1_3i2o a("a");
Index: sources/test_regression/test.h
===================================================================
--- sources/test_regression/test.h	(revision 59)
+++ sources/test_regression/test.h	(revision 60)
@@ -1,2 +1,6 @@
+
+#ifdef _OPENMP
+    #include <omp.h>
+#endif
 
 #define ASSERT(x)                    \
@@ -8,2 +12,12 @@
 }
 
+#ifdef _OPENMP
+    #define threads_omp()      \
+    ({                         \
+        omp_set_dynamic(false);\
+        omp_set_num_threads(1);\
+    })
+#else
+    #define threads_omp()
+#endif
+
