diff --git a/ql-qlf-plugin/ql_dsp.pmg b/ql-qlf-plugin/ql_dsp.pmg
index e607e66..1d87ce4 100644
--- a/ql-qlf-plugin/ql_dsp.pmg
+++ b/ql-qlf-plugin/ql_dsp.pmg
@@ -63,7 +63,7 @@
 code argQ ffA sigA clock clock_pol
 	if (mul->type != \QL_DSP || !param(mul, \A_REG).as_bool()) {
 		argQ = sigA;
-		subpattern(in_dffe);
+		//subpattern(in_dffe);
 		if (dff) {
 			ffA = dff;
 			clock = dffclock;
@@ -76,7 +76,7 @@
 code argQ ffB sigB clock clock_pol
 	if (mul->type != \QL_DSP || !param(mul, \B_REG).as_bool()) {
 		argQ = sigB;
-		subpattern(in_dffe);
+		//subpattern(in_dffe);
 		if (dff) {
 			ffB = dff;
 			clock = dffclock;
@@ -91,7 +91,7 @@
 			(mul->type != \QL_DSP)) {
 		argD = sigH;
 		argSdff = false;
-		subpattern(out_dffe);
+		//subpattern(out_dffe);
 		if (dff) {
 			// F/J/K/G do not have a CE-like (hold) input
 			if (dff->hasPort(\EN))
@@ -135,7 +135,7 @@
 			(mul->type != \QL_DSP)) {
 		argD = sigH;
 		argSdff = false;
-		subpattern(out_dffe);
+		//subpattern(out_dffe);
 		if (dff) {
 			// H does not have a CE-like (hold) input
 			if (dff->hasPort(\EN))
@@ -222,7 +222,7 @@
 		if (nusers(sigO) == 2) {
 			argD = sigO;
 			argSdff = !mux;
-			subpattern(out_dffe);
+			//subpattern(out_dffe);
 		}
 
 		// Otherwise try just its least significant 16 bits
@@ -230,7 +230,7 @@
 			argD = sigO.extract(0, 16);
 			if (nusers(argD) == 2) {
 				argSdff = !mux;
-				subpattern(out_dffe);
+				//subpattern(out_dffe);
 				o_lo = dff;
 			}
 		}
@@ -265,7 +265,7 @@
 	if (!sigCD.empty() && sigCD != sigO &&
 			(mul->type != \QL_DSP || (!param(mul, \C_REG).as_bool() && !param(mul, \D_REG).as_bool()))) {
 		argQ = sigCD;
-		subpattern(in_dffe);
+		//subpattern(in_dffe);
 		if (dff) {
 			// Reset signal of C (IRSTTOP) and D (IRSTBOT)
 			//   shared with A and B
@@ -309,6 +309,10 @@
 endcode
 
 // #######################
+// Currently, QL_DSP performs only combinatorial operations
+// but we aim to convert it into a mac unit in the futur
+// so we're leaving the subpattern in the code, it is 
+// however not being used for now.
 
 subpattern in_dffe
 arg argD argQ clock clock_pol
@@ -362,6 +366,10 @@
 endcode
 
 // #######################
+// Currently, QL_DSP performs only combinatorial operations
+// but we aim to convert it into a mac unit in the futur
+// so we're leaving the subpattern in the code, it is 
+// however not being used for now.
 
 subpattern out_dffe
 arg argD argSdff argQ clock clock_pol
