diff --git a/src/tmltranslator/ctranslator/AdaifOperationMEC.java b/src/tmltranslator/ctranslator/AdaifOperationMEC.java index d7a467f14bfb60bf1134122337b1c30dbf41fa88..6c408ee3a789d92d627bc9aac9299dd7911ab33f 100644 --- a/src/tmltranslator/ctranslator/AdaifOperationMEC.java +++ b/src/tmltranslator/ctranslator/AdaifOperationMEC.java @@ -57,38 +57,38 @@ public class AdaifOperationMEC extends OperationMEC { exec_code = "adaif_do(&" + ctxName + ");" + CR; init_code = - "void init_" + ctxName + "( void )\t{" + CR + TAB + + "void init_" + ctxName.split("_ctx")[0] + "( void )\t{" + CR + TAB + "adaif_ctx_init(&" + ctxName + ", (uintptr_t) adaif_mss );" + CR + TAB + - "adaif_set_tdd(&" + ctxName + ", (uint64_t) /*USER TO DO: VALUE*/);" + CR + TAB + - "adaif_set_st(&" + ctxName + ", (uint64_t) /*USER TO DO: VALUE*/);" + CR + TAB + - "adaif_set_ldt0(&" + ctxName + ", (uint64_t) /*USER TO DO: VALUE*/);" + CR + TAB + - "adaif_set_ldr0(&" + ctxName + ", (uint64_t) /*USER TO DO: VALUE*/);" + CR + TAB + - "adaif_set_ldt1(&" + ctxName + ", (uint64_t) /*USER TO DO: VALUE*/);" + CR + TAB + - "adaif_set_ldr1(&" + ctxName + ", (uint64_t) /*USER TO DO: VALUE*/);" + CR + TAB + - "adaif_set_ldt2(&" + ctxName + ", (uint64_t) /*USER TO DO: VALUE*/);" + CR + TAB + - "adaif_set_ldr2(&" + ctxName + ", (uint64_t) /*USER TO DO: VALUE*/);" + CR + TAB + - "adaif_set_ldt3(&" + ctxName + ", (uint64_t) /*USER TO DO: VALUE*/);" + CR + TAB + - "adaif_set_ldr3(&" + ctxName + ", (uint64_t) /*USER TO DO: VALUE*/);" + CR + TAB + - "adaif_set_startt0(&" + ctxName + ", (uint64_t) /*USER TO DO: VALUE*/);" + CR + TAB + - "adaif_set_stopt0(&" + ctxName + ", (uint64_t) /*USER TO DO: VALUE*/);" + CR + TAB + - "adaif_set_startr0(&" + ctxName + ", (uint64_t) /*USER TO DO: VALUE*/);" + CR + TAB + - "adaif_set_stopr0(&" + ctxName + ", (uint64_t) /*USER TO DO: VALUE*/);" + CR + TAB + - "adaif_set_startt1(&" + ctxName + ", (uint64_t) /*USER TO DO: VALUE*/);" + CR + TAB + - "adaif_set_stopt1(&" + ctxName + ", (uint64_t) /*USER TO DO: VALUE*/);" + CR + TAB + - "adaif_set_startr1(&" + ctxName + ", (uint64_t) /*USER TO DO: VALUE*/);" + CR + TAB + - "adaif_set_stopr1(&" + ctxName + ", (uint64_t) /*USER TO DO: VALUE*/);" + CR + TAB + - "adaif_set_startt2(&" + ctxName + ", (uint64_t) /*USER TO DO: VALUE*/);" + CR + TAB + - "adaif_set_stopt2(&" + ctxName + ", (uint64_t) /*USER TO DO: VALUE*/);" + CR + TAB + - "adaif_set_startr2(&" + ctxName + ", (uint64_t) /*USER TO DO: VALUE*/);" + CR + TAB + - "adaif_set_stopr2(&" + ctxName + ", (uint64_t) /*USER TO DO: VALUE*/);" + CR + TAB + - "adaif_set_startt3(&" + ctxName + ", (uint64_t) /*USER TO DO: VALUE*/);" + CR + TAB + - "adaif_set_stopt3(&" + ctxName + ", (uint64_t) /*USER TO DO: VALUE*/);" + CR + TAB + - "adaif_set_startr3(&" + ctxName + ", (uint64_t) /*USER TO DO: VALUE*/);" + CR + TAB + - "adaif_set_stopr3(&" + ctxName + ", (uint64_t) /*USER TO DO: VALUE*/);" + CR + TAB + - "adaif_set_op(&" + ctxName + ", (uint64_t) /*USER TO DO: VALUE*/);" + CR + TAB + - "adaif_set_src(&" + ctxName + ", (uint64_t) /*USER TO DO: VALUE*/);" + CR + TAB + - "adaif_set_dst(&" + ctxName + ", (uint64_t) /*USER TO DO: VALUE*/);" + CR + TAB + - "adaif_set_data(&" + ctxName + ", (uint64_t) /*USER TO DO: VALUE*/);" + CR + TAB + + "adaif_set_tdd(&" + ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "adaif_set_st(&" + ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "adaif_set_ldt0(&" + ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "adaif_set_ldr0(&" + ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "adaif_set_ldt1(&" + ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "adaif_set_ldr1(&" + ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "adaif_set_ldt2(&" + ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "adaif_set_ldr2(&" + ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "adaif_set_ldt3(&" + ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "adaif_set_ldr3(&" + ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "adaif_set_startt0(&" + ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "adaif_set_stopt0(&" + ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "adaif_set_startr0(&" + ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "adaif_set_stopr0(&" + ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "adaif_set_startt1(&" + ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "adaif_set_stopt1(&" + ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "adaif_set_startr1(&" + ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "adaif_set_stopr1(&" + ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "adaif_set_startt2(&" + ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "adaif_set_stopt2(&" + ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "adaif_set_startr2(&" + ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "adaif_set_stopr2(&" + ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "adaif_set_startt3(&" + ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "adaif_set_stopt3(&" + ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "adaif_set_startr3(&" + ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "adaif_set_stopr3(&" + ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "adaif_set_op(&" + ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "adaif_set_src(&" + ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "adaif_set_dst(&" + ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "adaif_set_data(&" + ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + "}" + CR; cleanup_code = TAB + "adaif_ctx_cleanup( /*USER TODO*/ );"; context = "ADAIF_CONTEXT"; diff --git a/src/tmltranslator/ctranslator/Buffer.java b/src/tmltranslator/ctranslator/Buffer.java index ab341e5a364ca2e4b3c059d927a52059bede3e4c..5943449e986c577f55e2b8d84517979f93e7d745 100755 --- a/src/tmltranslator/ctranslator/Buffer.java +++ b/src/tmltranslator/ctranslator/Buffer.java @@ -71,15 +71,15 @@ public class Buffer { public static String SP = " "; public static String SC = ";"; - protected static String USER_TO_DO = "/*USER TO DO */"; + protected static String USER_TO_DO = "/* USER TODO: VALUE */"; protected String code = "VOID"; protected String name = ""; protected String type = ""; protected TMLTask task; protected TMLPort port; protected TMLCPLibArtifact artifact; - protected String baseAddress = "/* USER TO DO */"; - protected String endAddress = "/* USER TO DO*/"; + protected String baseAddress = "/* USER TODO: VALUE */"; + protected String endAddress = "/* USER TODO: VALUE */"; protected ArrayList<String> bufferParameters; private String Context = ""; diff --git a/src/tmltranslator/ctranslator/CpuOperationMEC.java b/src/tmltranslator/ctranslator/CpuOperationMEC.java index 9cc94a0ff159c4bed9adc55611017253f9f632b2..ccfa6d051c5a3b862e4a3e10fb6ed067f242ef96 100644 --- a/src/tmltranslator/ctranslator/CpuOperationMEC.java +++ b/src/tmltranslator/ctranslator/CpuOperationMEC.java @@ -56,8 +56,8 @@ public class CpuOperationMEC extends OperationMEC { name = "CpuOperationMEC"; exec_code = TAB + CR + TAB + "/* USER TO DO */" + CR; - init_code = "/***** INIT " + ctxName + " *******/" + CR + - "void init_" + ctxName + "(void){" + CR + TAB + "/* USER TO DO */" + CR + "}"; + init_code = "/***** INIT " + ctxName.split("_ctx")[0] + " *******/" + CR + + "void init_" + ctxName.split("_ctx")[0] + "(void){" + CR + TAB + "/* USER TO DO */" + CR + "}"; cleanup_code = "/* USER TO DO */"; context = "EMBB_CONTEXT"; } diff --git a/src/tmltranslator/ctranslator/CwaMEC.java b/src/tmltranslator/ctranslator/CwaMEC.java index 642610e409fbe62e64a39c60820ba52488eda3cb..1f9869bf77f77c4d1385bf20a44335322f28b93f 100644 --- a/src/tmltranslator/ctranslator/CwaMEC.java +++ b/src/tmltranslator/ctranslator/CwaMEC.java @@ -57,49 +57,49 @@ public class CwaMEC extends FepOperationMEC { exec_code = TAB + "/*firm instruction*/" + CR + TAB + "fep_set_l(&"+ _ctxName + ", ((FEP_BUFFER_TYPE*)sig["+ inSignalName + "].pBuff)->num_samples);" + CR + TAB + "fep_set_qx(&"+ _ctxName + ", ((FEP_BUFFER_TYPE*)sig["+ inSignalName + "].pBuff)->bank);" + CR + TAB + - "fep_set_bx(&"+ _ctxName + ", sig["+ inSignalName + "].roff + ((FEP_BUFFER_TYPE*)sig["+ inSignalName + "].pBuff)->base_address);" + CR + TAB + + "fep_set_bx(&"+ _ctxName + ", ((FEP_BUFFER_TYPE*)sig["+ inSignalName + "].pBuff)->base_address);" + CR + TAB + "fep_set_tx(&"+ _ctxName + ", ((FEP_BUFFER_TYPE*)sig["+ inSignalName + "].pBuff)->data_type);" + CR + TAB + "fep_set_qy(&"+ _ctxName + ", ((FEP_BUFFER_TYPE*)sig["+ ID1 + "].pBuff)->bank);" + CR + TAB + - "fep_set_by(&"+ _ctxName + ", sig["+ ID1 + "].roff + ((FEP_BUFFER_TYPE*)sig["+ ID1 + "].pBuff)->base_address);" + CR + TAB + + "fep_set_by(&"+ _ctxName + ", ((FEP_BUFFER_TYPE*)sig["+ ID1 + "].pBuff)->base_address);" + CR + TAB + "fep_set_ty(&"+ _ctxName + ", ((FEP_BUFFER_TYPE*)sig["+ ID1 + "].pBuff)->data_type);" + CR + TAB + "fep_set_qz(&"+ _ctxName + ", ((FEP_BUFFER_TYPE*)sig["+ outSignalName + "].pBuff)->bank);" + CR + TAB + - "fep_set_bz(&"+ _ctxName + ", sig["+ outSignalName + "].woff + ((FEP_BUFFER_TYPE*)sig["+ outSignalName + "].pBuff)->base_address);" + CR + TAB + + "fep_set_bz(&"+ _ctxName + ", ((FEP_BUFFER_TYPE*)sig["+ outSignalName + "].pBuff)->base_address);" + CR + TAB + "fep_set_tz(&"+ _ctxName + ", ((FEP_BUFFER_TYPE*)sig["+ outSignalName + "].pBuff)->data_type);" + CR + TAB + "/*start execution*/" + CR + TAB + "fep_do(&"+ _ctxName + ");" + CR; - init_code ="/***** INIT "+ _ctxName + " *******/" + CR + - "void init_"+ _ctxName + "(void){" + CR + TAB + + init_code ="/***** INIT "+ _ctxName.split("_ctx")[0] + " *******/" + CR + + "void init_"+ _ctxName.split("_ctx")[0] + "(void){" + CR + TAB + "fep_ctx_init(&"+ _ctxName + ", (uintptr_t) fep_mss );" + CR + TAB + "// initialize context" + CR + TAB + "fep_set_op(&"+ _ctxName + ", FEP_OP_CWA );" + CR + TAB + "// X vector configuration => Zk=Y[Xi]" + CR + TAB + - "fep_set_wx(&"+ _ctxName + ", (uint64_t) /*USER TODO: VALUE*/);" + CR + TAB + - "fep_set_sx(&"+ _ctxName + ", (uint64_t) /*USER TODO: VALUE*/);" + CR + TAB + - "fep_set_nx(&"+ _ctxName + ", (uint64_t) /*USER TODO: VALUE*/);" + CR + TAB + - "fep_set_mx(&"+ _ctxName + ", (uint64_t) /*USER TODO: VALUE*/);" + CR + TAB + - "fep_set_px(&"+ _ctxName + ", (uint64_t) /*USER TODO: VALUE*/);" + CR + TAB + - "fep_set_dx(&"+ _ctxName + ", (uint64_t) /*USER TODO: VALUE*/);" + CR + TAB + - "fep_set_vrx(&"+ _ctxName + ", (uint64_t) /*USER TODO: VALUE*/);" + CR + TAB + - "fep_set_vix(&"+ _ctxName + ", (uint64_t) /*USER TODO: VALUE*/);" + CR + TAB + + "fep_set_wx(&"+ _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "fep_set_sx(&"+ _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "fep_set_nx(&"+ _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "fep_set_mx(&"+ _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "fep_set_px(&"+ _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "fep_set_dx(&"+ _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "fep_set_vrx(&"+ _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "fep_set_vix(&"+ _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + "// Y vector configuration" + CR + TAB + - "fep_set_wy(&"+ _ctxName + ", (uint64_t) /*USER TODO: VALUE*/);" + CR + TAB + - "fep_set_sy(&"+ _ctxName + ", (uint64_t) /*USER TODO: VALUE*/);" + CR + TAB + - "fep_set_ny(&"+ _ctxName + ", (uint64_t) /*USER TODO: VALUE*/);" + CR + TAB + - "fep_set_my(&"+ _ctxName + ", (uint64_t) /*USER TODO: VALUE*/);" + CR + TAB + - "fep_set_py(&"+ _ctxName + ", (uint64_t) /*USER TODO: VALUE*/);" + CR + TAB + - "fep_set_dy(&"+ _ctxName + ", (uint64_t) /*USER TODO: VALUE*/);" + CR + TAB + - "fep_set_vry(&"+ _ctxName + ", (uint64_t) /*USER TODO: VALUE*/);" + CR + TAB + - "fep_set_viy(&"+ _ctxName + ", (uint64_t) /*USER TODO: VALUE*/);" + CR + TAB + + "fep_set_wy(&"+ _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "fep_set_sy(&"+ _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "fep_set_ny(&"+ _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "fep_set_my(&"+ _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "fep_set_py(&"+ _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "fep_set_dy(&"+ _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "fep_set_vry(&"+ _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "fep_set_viy(&"+ _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + "// Z vector addressing configuration" + CR + TAB + "fep_set_qz(&"+ _ctxName + ", ((FEP_BUFFER_TYPE*)sig["+ outSignalName + "].pBuff)->bank);" + CR + TAB + "fep_set_bz(&"+ _ctxName + ", ((FEP_BUFFER_TYPE*)sig["+ outSignalName + "].pBuff)->base_address);" + CR + TAB + "fep_set_tz(&"+ _ctxName + ", ((FEP_BUFFER_TYPE*)sig["+ outSignalName + "].pBuff)->data_type);" + CR + TAB + - "fep_set_wz(&"+ _ctxName + ", (uint64_t) /*USER TODO: VALUE*/);" + CR + TAB + - "fep_set_ri(&"+ _ctxName + ", (uint64_t) /*USER TODO: VALUE*/);" + CR + TAB + - "fep_set_sz(&"+ _ctxName + ", (uint64_t) /*USER TODO: VALUE*/);" + CR + TAB + - "fep_set_nz(&"+ _ctxName + ", (uint64_t) /*USER TODO: VALUE*/);" + CR + TAB + - "fep_set_mz(&"+ _ctxName + ", (uint64_t) /*USER TODO: VALUE*/);" + CR + TAB + + "fep_set_wz(&"+ _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "fep_set_ri(&"+ _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "fep_set_sz(&"+ _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "fep_set_nz(&"+ _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "fep_set_mz(&"+ _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + "// Operation configuration" + CR + TAB + "fep_set_sma(&"+ _ctxName + ", (uint64_t) /* USER TODO: VALUE*/);" + CR + TAB + "}" + CR; diff --git a/src/tmltranslator/ctranslator/CwlMEC.java b/src/tmltranslator/ctranslator/CwlMEC.java index d807395fc9eb535d030f318934fa3d9d18174b69..8a721809680a0b40abef23b67952b99de3b85b59 100755 --- a/src/tmltranslator/ctranslator/CwlMEC.java +++ b/src/tmltranslator/ctranslator/CwlMEC.java @@ -57,55 +57,55 @@ public class CwlMEC extends FepOperationMEC { exec_code = TAB + "/*firm instruction*/" + CR + TAB + "fep_set_l(&" + _ctxName + ", ((FEP_BUFFER_TYPE*)sig[" + inSignalName + "].pBuff)->num_samples);" + CR + TAB + "fep_set_qx(&" + _ctxName + ", ((FEP_BUFFER_TYPE*)sig[" + inSignalName + "].pBuff)->bank);" + CR + TAB + - "fep_set_bx(&" + _ctxName + ", sig[" + inSignalName + "].roff + ((FEP_BUFFER_TYPE*)sig[" + inSignalName + "].pBuff)->base_address);" + CR + TAB + + "fep_set_bx(&" + _ctxName + ", ((FEP_BUFFER_TYPE*)sig[" + inSignalName + "].pBuff)->base_address);" + CR + TAB + "fep_set_tx(&" + _ctxName + ", ((FEP_BUFFER_TYPE*)sig[" + inSignalName + "].pBuff)->data_type);" + CR + TAB + "fep_set_qz(&" + _ctxName + ", ((FEP_BUFFER_TYPE*)sig[" + outSignalName + "].pBuff)->bank);" + CR + TAB + - "fep_set_bz(&" + _ctxName + ", sig[" + outSignalName + "].woff + ((FEP_BUFFER_TYPE*)sig[" + outSignalName + "].pBuff)->base_address);" + CR + TAB + + "fep_set_bz(&" + _ctxName + ", ((FEP_BUFFER_TYPE*)sig[" + outSignalName + "].pBuff)->base_address);" + CR + TAB + "fep_set_tz(&" + _ctxName + ", ((FEP_BUFFER_TYPE*)sig[" + outSignalName + "].pBuff)->data_type);" + CR + TAB + "/*start execution*/" + CR + TAB + "fep_do(&" + _ctxName + ");" + CR; - init_code ="/***** INIT " + _ctxName + " *******/" + CR + - "void init_" + _ctxName + "(void){" + CR + TAB + + init_code ="/***** INIT " + _ctxName.split("_ctx")[0] + " *******/" + CR + + "void init_" + _ctxName.split("_ctx")[0] + "(void){" + CR + TAB + "fep_ctx_init(&" + _ctxName + ", (uintptr_t) fep_mss );" + CR + TAB + "// initialize context" + CR + TAB + "fep_set_op(&" + _ctxName + ", FEP_OP_CWL );" + CR + TAB + "// X vector configuration => Zk=Y[Xi]" + CR + TAB + - "fep_set_wx(&" + _ctxName + ", (uint64_t) /*USER TODO: value*/);" + CR + TAB + - "fep_set_sx(&" + _ctxName + ", (uint64_t) /*USER TODO: value*/);" + CR + TAB + - "fep_set_nx(&" + _ctxName + ", (uint64_t) /*USER TODO: value*/);" + CR + TAB + - "fep_set_mx(&" + _ctxName + ", (uint64_t) /*USER TODO: value*/);" + CR + TAB + - "fep_set_px(&" + _ctxName + ", (uint64_t) /*USER TODO: value*/);" + CR + TAB + - "fep_set_dx(&" + _ctxName + ", (uint64_t) /*USER TODO: value*/);" + CR + TAB + - "fep_set_vrx(&" + _ctxName + ", (uint64_t) /*USER TODO: value*/);" + CR + TAB + - "fep_set_vix(&" + _ctxName + ", (uint64_t) /*USER TODO: value*/);" + CR + TAB + + "fep_set_wx(&" + _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "fep_set_sx(&" + _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "fep_set_nx(&" + _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "fep_set_mx(&" + _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "fep_set_px(&" + _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "fep_set_dx(&" + _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "fep_set_vrx(&" + _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "fep_set_vix(&" + _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + "// Y vector configuration" + CR + TAB + - "fep_set_by(&" + _ctxName + ", (uint64_t) /*USER TODO: value*/);" + CR + TAB + - "fep_set_qy(&" + _ctxName + ", (uint64_t) /*USER TODO: value*/);" + CR + TAB + - "fep_set_my(&" + _ctxName + ", (uint64_t) /*USER TODO: value*/);" + CR + TAB + - "fep_set_ny(&" + _ctxName + ", (uint64_t) /*USER TODO: value*/);" + CR + TAB + - "fep_set_sy(&" + _ctxName + ", (uint64_t) /*USER TODO: value*/);" + CR + TAB + - "fep_set_py(&" + _ctxName + ", (uint64_t) /*USER TODO: value*/);" + CR + TAB + - "fep_set_wy(&" + _ctxName + ", (uint64_t) /*USER TODO: value*/);" + CR + TAB + - "fep_set_ty(&" + _ctxName + ", (uint64_t) /*USER TODO: value*/);" + CR + TAB + - "fep_set_vry(&" + _ctxName + ", (uint64_t) /*USER TODO: value*/);" + CR + TAB + - "fep_set_dy(&" + _ctxName + ", (uint64_t) /*USER TODO: value*/);" + CR + TAB + + "fep_set_by(&" + _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "fep_set_qy(&" + _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "fep_set_my(&" + _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "fep_set_ny(&" + _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "fep_set_sy(&" + _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "fep_set_py(&" + _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "fep_set_wy(&" + _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "fep_set_ty(&" + _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "fep_set_vry(&" + _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "fep_set_dy(&" + _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + "// Z vector addressing configuration" + CR + TAB + "fep_set_qz(&" + _ctxName + ", ((FEP_BUFFER_TYPE*)sig[" + outSignalName + "].pBuff)->bank);" + CR + TAB + "fep_set_bz(&" + _ctxName + ", ((FEP_BUFFER_TYPE*)sig[" + outSignalName + "].pBuff)->base_address);" + CR + TAB + "fep_set_tz(&" + _ctxName + ", ((FEP_BUFFER_TYPE*)sig[" + outSignalName + "].pBuff)->data_type);" + CR + TAB + - "fep_set_wz(&" + _ctxName + ", (uint64_t) /*USER TODO: value*/);" + CR + TAB + - "fep_set_sz(&" + _ctxName + ", (uint64_t) /*USER TODO: value*/);" + CR + TAB + - "fep_set_nz(&" + _ctxName + ", (uint64_t) /*USER TODO: value*/);" + CR + TAB + - "fep_set_mz(&" + _ctxName + ", (uint64_t) /*USER TODO: value*/);" + CR + TAB + + "fep_set_wz(&" + _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "fep_set_sz(&" + _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "fep_set_nz(&" + _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "fep_set_mz(&" + _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + "// Operation configuration" + CR + TAB + - "fep_set_li(&" + _ctxName + ", (uint64_t) /*USER TODO: value*/);" + CR + TAB + - "fep_set_ls(&" + _ctxName + ", (uint64_t) /*USER TODO: value*/);" + CR + TAB + - "fep_set_ll(&" + _ctxName + ", (uint64_t) /*USER TODO: value*/);" + CR + TAB + - "fep_set_r(&" + _ctxName + ", (uint64_t) /*USER TODO: value*/);" + CR + TAB + - "fep_set_ri(&" + _ctxName + ", (uint64_t) /*USER TODO: value*/);" + CR + TAB + - "fep_set_ml(&" + _ctxName + ", (uint64_t) /*USER TODO: value*/);" + CR + TAB + - "fep_set_sma(&" + _ctxName + ", (uint64_t) /*USER TODO: value*/);" + CR + TAB + + "fep_set_li(&" + _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "fep_set_ls(&" + _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "fep_set_ll(&" + _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "fep_set_r(&" + _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "fep_set_ri(&" + _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "fep_set_ml(&" + _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "fep_set_sma(&" + _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + "}" + CR; cleanup_code = "fep_ctx_cleanup(&" + _ctxName + "_ctx);"; } diff --git a/src/tmltranslator/ctranslator/CwmMEC.java b/src/tmltranslator/ctranslator/CwmMEC.java index df8802b549aec23093b275a47c09913122b3fd42..ca5a9b4365c9c9017c37b53c221849fc6dc0aacc 100755 --- a/src/tmltranslator/ctranslator/CwmMEC.java +++ b/src/tmltranslator/ctranslator/CwmMEC.java @@ -57,51 +57,51 @@ public class CwmMEC extends FepOperationMEC { exec_code = TAB + "/*firm instruction*/" + CR + "fep_set_l(&" + _ctxName + ", ((FEP_BUFFER_TYPE*)sig[" + inSignalName + "].pBuff)->num_samples);" + CR + "fep_set_qx(&" + _ctxName + ", ((FEP_BUFFER_TYPE*)sig[" + inSignalName + "].pBuff)->bank);" + CR + - "fep_set_bx(&" + _ctxName + ", sig[" + inSignalName + "].roff + ((FEP_BUFFER_TYPE*)sig[" + inSignalName + "].pBuff)->base_address);" + CR + + "fep_set_bx(&" + _ctxName + ", ((FEP_BUFFER_TYPE*)sig[" + inSignalName + "].pBuff)->base_address);" + CR + "fep_set_tx(&" + _ctxName + ", ((FEP_BUFFER_TYPE*)sig[" + inSignalName + "].pBuff)->data_type);" + CR + "fep_set_qz(&" + _ctxName + ", ((FEP_BUFFER_TYPE*)sig[" + outSignalName + "].pBuff)->bank);" + CR + - "fep_set_bz(&" + _ctxName + ", sig[" + outSignalName + "].woff + ((FEP_BUFFER_TYPE*)sig[" + outSignalName + "].pBuff)->base_address);" + CR + + "fep_set_bz(&" + _ctxName + ", ((FEP_BUFFER_TYPE*)sig[" + outSignalName + "].pBuff)->base_address);" + CR + "fep_set_tz(&" + _ctxName + ", ((FEP_BUFFER_TYPE*)sig[" + outSignalName + "].pBuff)->data_type);" + CR + "/*start execution*/" + CR + "fep_do(&" + _ctxName + ");" + CR; - init_code ="/***** INIT " + _ctxName + " *******/" + CR + - "void init_" + _ctxName + "(void){" + CR + TAB + + init_code ="/***** INIT " + _ctxName.split("_ctx")[0] + " *******/" + CR + + "void init_" + _ctxName.split("_ctx")[0] + "(void){" + CR + TAB + "fep_ctx_init(&" + _ctxName + ", (uintptr_t) fep_mss );" + CR + TAB + "// initialize context" + CR + TAB + "fep_set_op(&" + _ctxName + ",FEP_OP_CWM );" + CR + TAB + "// X vector configuration => Zk=Y[Xi]" + CR + TAB + - "fep_set_r(&" + _ctxName + ", (uint64_t) /*USER TODO: value*/);" + CR + TAB + - "fep_set_wx(&" + _ctxName + ", (uint64_t) /*USER TODO: value*/);" + CR + TAB + - "fep_set_sx(&" + _ctxName + ", (uint64_t) /*USER TODO: value*/);" + CR + TAB + - "fep_set_nx(&" + _ctxName + ", (uint64_t) /*USER TODO: value*/);" + CR + TAB + - "fep_set_mx(&" + _ctxName + ", (uint64_t) /*USER TODO: value*/);" + CR + TAB + - "fep_set_px(&" + _ctxName + ", (uint64_t) /*USER TODO: value*/);" + CR + TAB + - "fep_set_dx(&" + _ctxName + ", (uint64_t) /*USER TODO: value*/);" + CR + TAB + - "fep_set_vrx(&" + _ctxName + ", (uint64_t) /*USER TODO: value*/);" + CR + TAB + - "fep_set_vix(&" + _ctxName + ", (uint64_t) /*USER TODO: value*/);" + CR + TAB + + "fep_set_r(&" + _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "fep_set_wx(&" + _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "fep_set_sx(&" + _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "fep_set_nx(&" + _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "fep_set_mx(&" + _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "fep_set_px(&" + _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "fep_set_dx(&" + _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "fep_set_vrx(&" + _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "fep_set_vix(&" + _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + "// Y vector configuration" + CR + TAB + - "fep_set_by(&" + _ctxName + ", (uint64_t) /*USER TODO: value*/);" + CR + TAB + - "fep_set_qy(&" + _ctxName + ", (uint64_t) /*USER TODO: value*/);" + CR + TAB + - "fep_set_my(&" + _ctxName + ", (uint64_t) /*USER TODO: value*/);" + CR + TAB + - "fep_set_ny(&" + _ctxName + ", (uint64_t) /*USER TODO: value*/);" + CR + TAB + - "fep_set_sy(&" + _ctxName + ", (uint64_t) /*USER TODO: value*/);" + CR + TAB + - "fep_set_py(&" + _ctxName + ", (uint64_t) /*USER TODO: value*/);" + CR + TAB + - "fep_set_wy(&" + _ctxName + ", (uint64_t) /*USER TODO: value*/);" + CR + TAB + - "fep_set_ty(&" + _ctxName + ", (uint64_t) /*USER TODO: value*/);" + CR + TAB + - "fep_set_vry(&" + _ctxName + ", (uint64_t) /*USER TODO: value*/);" + CR + TAB + - "fep_set_dy(&" + _ctxName + ", (uint64_t) /*USER TODO: value*/);" + CR + TAB + + "fep_set_by(&" + _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "fep_set_qy(&" + _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "fep_set_my(&" + _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "fep_set_ny(&" + _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "fep_set_sy(&" + _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "fep_set_py(&" + _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "fep_set_wy(&" + _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "fep_set_ty(&" + _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "fep_set_vry(&" + _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "fep_set_dy(&" + _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + "// Z vector addressing configuration" + CR + TAB + "fep_set_qz(&" + _ctxName + ", ((FEP_BUFFER_TYPE*)sig[" + outSignalName + "].pBuff)->bank);" + CR + TAB + "fep_set_bz(&" + _ctxName + ", ((FEP_BUFFER_TYPE*)sig[" + outSignalName + "].pBuff)->base_address);" + CR + TAB + "fep_set_tz(&" + _ctxName + ", ((FEP_BUFFER_TYPE*)sig[" + outSignalName + "].pBuff)->data_type);" + CR + TAB + - "fep_set_wz(&" + _ctxName + ", (uint64_t) /*USER TODO: value*/);" + CR + TAB + - "fep_set_ri(&" + _ctxName + ", (uint64_t) /*USER TODO: value*/);" + CR + TAB + - "fep_set_sz(&" + _ctxName + ", (uint64_t) /*USER TODO: value*/);" + CR + TAB + - "fep_set_nz(&" + _ctxName + ", (uint64_t) /*USER TODO: value*/);" + CR + TAB + - "fep_set_mz(&" + _ctxName + ", (uint64_t) /*USER TODO: value*/);" + CR + TAB + + "fep_set_wz(&" + _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "fep_set_ri(&" + _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "fep_set_sz(&" + _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "fep_set_nz(&" + _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "fep_set_mz(&" + _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + "// Operation configuration" + CR + TAB + - "fep_set_sma(&" + _ctxName + ", (uint64_t) /* USER TODO: value*/);" + CR + + "fep_set_sma(&" + _ctxName + ", (uint64_t) /* USER TODO: VALUE*/);" + CR + "}" + CR; cleanup_code = "fep_ctx_cleanup(&" + _ctxName + "_ctx);"; } diff --git a/src/tmltranslator/ctranslator/CwpMEC.java b/src/tmltranslator/ctranslator/CwpMEC.java index 3e2e0da36fb0c29954926b8a38820a2517f32b26..14147a0c6a417a46bf5433dc59ebf24f2cd47732 100755 --- a/src/tmltranslator/ctranslator/CwpMEC.java +++ b/src/tmltranslator/ctranslator/CwpMEC.java @@ -57,51 +57,51 @@ public class CwpMEC extends FepOperationMEC { exec_code = TAB + "/*firm instruction*/" + CR + TAB + "fep_set_l(&" + _ctxName + ", ((FEP_BUFFER_TYPE*)sig[" + inSignalName + "].pBuff)->num_samples);" + CR + TAB + "fep_set_qx(&" + _ctxName + ", ((FEP_BUFFER_TYPE*)sig[" + inSignalName + "].pBuff)->bank);" + CR + TAB + - "fep_set_bx(&" + _ctxName + ", sig[" + inSignalName + "].roff + ((FEP_BUFFER_TYPE*)sig[" + inSignalName + "].pBuff)->base_address);" + CR + TAB + + "fep_set_bx(&" + _ctxName + ", ((FEP_BUFFER_TYPE*)sig[" + inSignalName + "].pBuff)->base_address);" + CR + TAB + "fep_set_tx(&" + _ctxName + ", ((FEP_BUFFER_TYPE*)sig[" + inSignalName + "].pBuff)->data_type);" + CR + TAB + "fep_set_qz(&" + _ctxName + ", ((FEP_BUFFER_TYPE*)sig[" + outSignalName + "].pBuff)->bank);" + CR + TAB + - "fep_set_bz(&" + _ctxName + ", sig[" + outSignalName + "].woff + ((FEP_BUFFER_TYPE*)sig[" + outSignalName + "].pBuff)->base_address);" + CR + TAB + + "fep_set_bz(&" + _ctxName + ", ((FEP_BUFFER_TYPE*)sig[" + outSignalName + "].pBuff)->base_address);" + CR + TAB + "fep_set_tz(&" + _ctxName + ", ((FEP_BUFFER_TYPE*)sig[" + outSignalName + "].pBuff)->data_type);" + CR + TAB + "/*start execution*/" + CR + TAB + "fep_do(&" + _ctxName + ");" + CR; - init_code ="/***** INIT " + _ctxName + " *******/" + CR + - "void init_" + _ctxName + "(void){" + CR + TAB + + init_code ="/***** INIT " + _ctxName.split("_ctx")[0] + " *******/" + CR + + "void init_" + _ctxName.split("_ctx")[0] + "(void){" + CR + TAB + "fep_ctx_init(&" + _ctxName + ", (uintptr_t) fep_mss );" + CR + TAB + "// initialize context" + CR + TAB + "fep_set_op(&" + _ctxName + ",FEP_OP_CWP );" + CR + TAB + "// X vector configuration => Zk=Y[Xi]" + CR + TAB + - "fep_set_wx(&" + _ctxName + ", (uint64_t) /*USER TODO: value*/);" + CR + TAB + - "fep_set_sx(&" + _ctxName + ", (uint64_t) /*USER TODO: value*/);" + CR + TAB + - "fep_set_nx(&" + _ctxName + ", (uint64_t) /*USER TODO: value*/);" + CR + TAB + - "fep_set_mx(&" + _ctxName + ", (uint64_t) /*USER TODO: value*/);" + CR + TAB + - "fep_set_px(&" + _ctxName + ", (uint64_t) /*USER TODO: value*/);" + CR + TAB + - "fep_set_dx(&" + _ctxName + ", (uint64_t) /*USER TODO: value*/);" + CR + TAB + - "fep_set_vrx(&" + _ctxName + ", (uint64_t) /*USER TODO: value*/);" + CR + TAB + - "fep_set_vix(&" + _ctxName + ", (uint64_t) /*USER TODO: value*/);" + CR + TAB + + "fep_set_wx(&" + _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "fep_set_sx(&" + _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "fep_set_nx(&" + _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "fep_set_mx(&" + _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "fep_set_px(&" + _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "fep_set_dx(&" + _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "fep_set_vrx(&" + _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "fep_set_vix(&" + _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + "// Y vector configuration" + CR + TAB + - "fep_set_by(&" + _ctxName + ", (uint64_t) /*USER TODO: value*/);" + CR + TAB + - "fep_set_qy(&" + _ctxName + ", (uint64_t) /*USER TODO: value*/);" + CR + TAB + - "fep_set_my(&" + _ctxName + ", (uint64_t) /*USER TODO: value*/);" + CR + TAB + - "fep_set_ny(&" + _ctxName + ", (uint64_t) /*USER TODO: value*/);" + CR + TAB + - "fep_set_sy(&" + _ctxName + ", (uint64_t) /*USER TODO: value*/);" + CR + TAB + - "fep_set_py(&" + _ctxName + ", (uint64_t) /*USER TODO: value*/);" + CR + TAB + - "fep_set_wy(&" + _ctxName + ", (uint64_t) /*USER TODO: value*/);" + CR + TAB + - "fep_set_ty(&" + _ctxName + ", (uint64_t) /*USER TODO: value*/);" + CR + TAB + - "fep_set_vry(&" + _ctxName + ", (uint64_t) /*USER TODO: value*/);" + CR + TAB + - "fep_set_dy(&" + _ctxName + ", (uint64_t) /*USER TODO: value*/);" + CR + TAB + + "fep_set_by(&" + _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "fep_set_qy(&" + _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "fep_set_my(&" + _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "fep_set_ny(&" + _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "fep_set_sy(&" + _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "fep_set_py(&" + _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "fep_set_wy(&" + _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "fep_set_ty(&" + _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "fep_set_vry(&" + _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "fep_set_dy(&" + _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + "// Z vector addressing configuration" + CR + TAB + "fep_set_qz(&" + _ctxName + ", ((FEP_BUFFER_TYPE*)sig[" + outSignalName + "].pBuff)->bank);" + CR + TAB + "fep_set_bz(&" + _ctxName + ", ((FEP_BUFFER_TYPE*)sig[" + outSignalName + "].pBuff)->base_address);" + CR + TAB + "fep_set_tz(&" + _ctxName + ", ((FEP_BUFFER_TYPE*)sig[" + outSignalName + "].pBuff)->data_type);" + CR + TAB + - "fep_set_wz(&" + _ctxName + ", (uint64_t) /*USER TODO: value*/);" + CR + TAB + - "fep_set_sz(&" + _ctxName + ", (uint64_t) /*USER TODO: value*/);" + CR + TAB + - "fep_set_nz(&" + _ctxName + ", (uint64_t) /*USER TODO: value*/);" + CR + TAB + - "fep_set_mz(&" + _ctxName + ", (uint64_t) /*USER TODO: value*/);" + CR + TAB + + "fep_set_wz(&" + _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "fep_set_sz(&" + _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "fep_set_nz(&" + _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "fep_set_mz(&" + _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + "// Operation configuration" + CR + TAB + - "fep_set_r(&" + _ctxName + ", (uint64_t) /*USER TODO: value*/);" + CR + TAB + - "fep_set_ri(&" + _ctxName + ", (uint64_t) /*USER TODO: value*/);" + CR + TAB + - "fep_set_sma(&" + _ctxName + ", (uint64_t) /*USER TODO: value*/);" + CR + TAB + + "fep_set_r(&" + _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "fep_set_ri(&" + _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "fep_set_sma(&" + _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + "}" + CR; cleanup_code = "fep_ctx_cleanup(&" + _ctxName + "_ctx);"; } diff --git a/src/tmltranslator/ctranslator/FepBuffer.java b/src/tmltranslator/ctranslator/FepBuffer.java index 31e82e6ecaa3d47f004f58a20ac1001146917dd7..0c17b41e526ad5fd2acc0c9f072440ecbb1a5d39 100755 --- a/src/tmltranslator/ctranslator/FepBuffer.java +++ b/src/tmltranslator/ctranslator/FepBuffer.java @@ -64,7 +64,7 @@ public class FepBuffer extends Buffer { protected static final String numSamplesType = "uint8_t"; protected String baseAddressValue = USER_TO_DO; - protected static final String baseAddressType = "uint32_t*"; + protected static final String baseAddressType = "uint64_t"; protected String bankValue = USER_TO_DO; protected static final String bankType = "uint8_t"; diff --git a/src/tmltranslator/ctranslator/FftMEC.java b/src/tmltranslator/ctranslator/FftMEC.java index ca7e78fa1ab6ec85d2f9deb2442d7d11e2bd9177..6d517ee9a26b3236a8e2b42b007f4cfd942d8e7a 100644 --- a/src/tmltranslator/ctranslator/FftMEC.java +++ b/src/tmltranslator/ctranslator/FftMEC.java @@ -56,51 +56,51 @@ public class FftMEC extends FepOperationMEC { exec_code = TAB + "/*firm instruction*/" + CR + "fep_set_l(&" + _ctxName + ", ((FEP_BUFFER_TYPE*)sig[" + inSignalName + "].pBuff)->num_samples);" + CR + TAB + "fep_set_qx(&" + _ctxName + ", ((FEP_BUFFER_TYPE*)sig[" + inSignalName + "].pBuff)->bank);" + CR + TAB + - "fep_set_bx(&" + _ctxName + ", sig[" + inSignalName + "].roff + ((FEP_BUFFER_TYPE*)sig[" + inSignalName + "].pBuff)->base_address);" + CR + TAB + + "fep_set_bx(&" + _ctxName + ", ((FEP_BUFFER_TYPE*)sig[" + inSignalName + "].pBuff)->base_address);" + CR + TAB + "fep_set_tx(&" + _ctxName + ", ((FEP_BUFFER_TYPE*)sig[" + inSignalName + "].pBuff)->data_type);" + CR + TAB + "fep_set_qz(&" + _ctxName + ", ((FEP_BUFFER_TYPE*)sig[" + outSignalName + "].pBuff)->bank);" + CR + TAB + - "fep_set_bz(&" + _ctxName + ", sig[" + outSignalName + "].woff + ((FEP_BUFFER_TYPE*)sig[" + outSignalName + "].pBuff)->base_address);" + CR + TAB + + "fep_set_bz(&" + _ctxName + ", ((FEP_BUFFER_TYPE*)sig[" + outSignalName + "].pBuff)->base_address);" + CR + TAB + "fep_set_tz(&" + _ctxName + ", ((FEP_BUFFER_TYPE*)sig[" + outSignalName + "].pBuff)->data_type);" + CR + TAB + "/*start execution*/" + CR + TAB + "fep_do(&" + _ctxName + ");" + CR; - init_code ="/***** INIT " + _ctxName + " *******/" + CR + - "void init_" + _ctxName + "(void){" + CR + TAB + - "fep_ctx_init(&" + _ctxName + ", (uintptr_t) fep_mss );" + CR + TAB + + init_code ="/***** INIT " + _ctxName.split("_ctx")[0] + " *******/" + CR + + "void init_" + _ctxName.split("_ctx")[0] + "(void){" + CR + TAB + + "fep_ctx_init(&" + _ctxName.split("_ctx")[0] + ", (uintptr_t) fep_mss );" + CR + TAB + "// initialize context" + CR + TAB + "fep_set_op(&" + _ctxName + ", FEP_OP_FFT );" + CR + TAB + - "fep_set_r(&" + _ctxName + ", (uint64_t)/*USER TODO*/);" + CR + TAB + + "fep_set_r(&" + _ctxName + ", (uint64_t)/* USER TODO: VALUE */);" + CR + TAB + "// X vector configuration => Zk=Y[Xi]" + CR + TAB + - "fep_set_wx(&" + _ctxName + ", (uint64_t) /*USER TODO*/);" + CR + TAB + - "fep_set_sx(&" + _ctxName + ", (uint64_t) /*USER TODO*/);" + CR + TAB + - "fep_set_nx(&" + _ctxName + ", (uint64_t) /*USER TODO*/);" + CR + TAB + - "fep_set_mx(&" + _ctxName + ", (uint64_t) /*USER TODO*/);" + CR + TAB + - "fep_set_px(&" + _ctxName + ", (uint64_t) /*USER TODO*/);" + CR + TAB + - "fep_set_dx(&" + _ctxName + ", (uint64_t) /*USER TODO*/);" + CR + TAB + - "fep_set_vrx(&" + _ctxName + ", (uint64_t) /*USER TODO*/);" + CR + TAB + - "fep_set_vix(&" + _ctxName + ", (uint64_t) /*USER TODO*/);" + CR + TAB + + "fep_set_wx(&" + _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "fep_set_sx(&" + _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "fep_set_nx(&" + _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "fep_set_mx(&" + _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "fep_set_px(&" + _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "fep_set_dx(&" + _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "fep_set_vrx(&" + _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "fep_set_vix(&" + _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + "// Y vector configuration" + CR + TAB + - "fep_set_by(&" + _ctxName + ", (uint64_t) /*USER TODO: value*/);" + CR + TAB + - "fep_set_qy(&" + _ctxName + ", (uint64_t) /*USER TODO: value*/);" + CR + TAB + - "fep_set_my(&" + _ctxName + ", (uint64_t) /*USER TODO: value*/);" + CR + TAB + - "fep_set_ny(&" + _ctxName + ", (uint64_t) /*USER TODO: value*/);" + CR + TAB + - "fep_set_sy(&" + _ctxName + ", (uint64_t) /*USER TODO: value*/);" + CR + TAB + - "fep_set_py(&" + _ctxName + ", (uint64_t) /*USER TODO: value*/);" + CR + TAB + - "fep_set_wy(&" + _ctxName + ", (uint64_t) /*USER TODO: value*/);" + CR + TAB + - "fep_set_ty(&" + _ctxName + ", (uint64_t) /*USER TODO: value*/);" + CR + TAB + - "fep_set_vry(&" + _ctxName + ", (uint64_t) /*USER TODO: value*/);" + CR + TAB + - "fep_set_dy(&" + _ctxName + ", (uint64_t) /*USER TODO: value*/);" + CR + TAB + + "fep_set_by(&" + _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "fep_set_qy(&" + _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "fep_set_my(&" + _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "fep_set_ny(&" + _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "fep_set_sy(&" + _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "fep_set_py(&" + _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "fep_set_wy(&" + _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "fep_set_ty(&" + _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "fep_set_vry(&" + _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "fep_set_dy(&" + _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + "// Z vector addressing configuration" + CR + TAB + "fep_set_qz(&" + _ctxName + ", (uint64_t) ((FEP_BUFFER_TYPE*)sig[" + outSignalName + "].pBuff)->bank);" + CR + TAB + "fep_set_bz(&" + _ctxName + ", (uint64_t) ((FEP_BUFFER_TYPE*)sig[" + outSignalName + "].pBuff)->base_address);" + CR + TAB + "fep_set_tz(&" + _ctxName + ", (uint64_t) ((FEP_BUFFER_TYPE*)sig[" + outSignalName + "].pBuff)->data_type);" + CR + TAB + - "fep_set_wz(&" + _ctxName + ", (uint64_t) /*USER TODO*/);" + CR + TAB + - "fep_set_ri(&" + _ctxName + ", (uint64_t) /*USER TODO*/);" + CR + TAB + - "fep_set_sz(&" + _ctxName + ", (uint64_t) /*USER TODO*/);" + CR + TAB + - "fep_set_nz(&" + _ctxName + ", (uint64_t) /*USER TODO*/);" + CR + TAB + - "fep_set_mz(&" + _ctxName + ", (uint64_t) /*USER TODO*/);" + CR + TAB + + "fep_set_wz(&" + _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "fep_set_ri(&" + _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "fep_set_sz(&" + _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "fep_set_nz(&" + _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "fep_set_mz(&" + _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + "// Operation configuration" + CR + TAB + - "fep_set_sma(&" + _ctxName + ", (uint64_t) /* USER TODO: value*/);" + CR + TAB + + "fep_set_sma(&" + _ctxName + ", (uint64_t) /* USER TODO: VALUE*/);" + CR + TAB + "}" + CR; cleanup_code = "fep_ctx_cleanup(&" + _ctxName + "_ctx);"; } diff --git a/src/tmltranslator/ctranslator/InterleaverBuffer.java b/src/tmltranslator/ctranslator/InterleaverBuffer.java index 2a5ae32846862240fd769fdad6226ab33f60b3b4..827af280d85c43a09f857be929027eac96d251a5 100644 --- a/src/tmltranslator/ctranslator/InterleaverBuffer.java +++ b/src/tmltranslator/ctranslator/InterleaverBuffer.java @@ -98,7 +98,7 @@ public class InterleaverBuffer extends Buffer { public static final String DECLARATION = "struct INTERLEAVER_BUFFER_TYPE {" + CR + TAB + packedBinaryInIntlType + SP + "packed_binary_input_mode" + SC + CR + TAB + - widthIntlType + SP + "sample_width" + SC + CR + TAB + + widthIntlType + SP + "samples_width" + SC + CR + TAB + bitInOffsetIntlType + SP + "bit_input_offset" + SC + CR + TAB + inputOffsetIntlType + SP + "input_offset" + SC + CR + TAB + //data out @@ -123,17 +123,17 @@ public class InterleaverBuffer extends Buffer { if( bufferParameters != null ) { retrieveBufferParameters(); } - s.append( TAB + name + ".packed_binary_input_mode = " + packedBinaryInIntlValue + SC + CR ); - s.append( TAB + name + ".sample_width = " + SP + widthIntlValue + SC + CR ); - s.append( TAB + name + ".bit_input_offset = " + SP + bitInOffsetIntlValue + SC + CR ); - s.append( TAB + name + ".input_offset = " + SP + inputOffsetIntlValue + SC + CR ); + s.append( TAB + name + ".packed_binary_input_mode = " + "(" + packedBinaryInIntlType + ")" + packedBinaryInIntlValue + SC + CR ); + s.append( TAB + name + ".samples_width = " + SP + "(" + widthIntlType + ")" + widthIntlValue + SC + CR ); + s.append( TAB + name + ".bit_input_offset = " + SP + "(" + bitInOffsetIntlType + ")" + bitInOffsetIntlValue + SC + CR ); + s.append( TAB + name + ".input_offset = " + SP + "(" + inputOffsetIntlType + ")" + inputOffsetIntlValue + SC + CR ); //data out - s.append( TAB + name + ".packed_binary_output_mode = " + SP + packedBinaryOutIntlValue + SC + CR ); - s.append( TAB + name + ".bit_output_offset = " + SP + bitOutOffsetIntlValue + SC + CR ); - s.append( TAB + name + ".output_offset = " + SP + outputOffsetIntlValue + SC + CR ); + s.append( TAB + name + ".packed_binary_output_mode = " + SP + "(" + packedBinaryOutIntlType + ")" + packedBinaryOutIntlValue + SC + CR ); + s.append( TAB + name + ".bit_output_offset = " + SP + "(" + bitOutOffsetIntlType + ")" + bitOutOffsetIntlValue + SC + CR ); + s.append( TAB + name + ".output_offset = " + SP + "(" + outputOffsetIntlType + ")" + outputOffsetIntlValue + SC + CR ); //permutation table - s.append( TAB + name + ".permutation_offset = " + SP + offsetPermIntlValue + SC + CR ); - s.append( TAB + name + ".permutation_length = " + SP + lengthPermIntlValue + SC + CR ); + s.append( TAB + name + ".permutation_offset = " + SP + "(" + offsetPermIntlType + ")" + offsetPermIntlValue + SC + CR ); + s.append( TAB + name + ".permutation_length = " + SP + "(" + lengthPermIntlType + ")" + lengthPermIntlValue + SC + CR ); return s.toString(); } @@ -141,7 +141,7 @@ public class InterleaverBuffer extends Buffer { StringBuffer s = new StringBuffer( super.toString() ); s.append( TAB2 + ".packed_binary_input_mode = " + packedBinaryInIntlValue + SC + CR ); - s.append( TAB2 + ".sample_width = " + SP + widthIntlValue + SC + CR ); + s.append( TAB2 + ".samples_width = " + SP + widthIntlValue + SC + CR ); s.append( TAB2 + ".bit_input_offset = " + SP + bitInOffsetIntlValue + SC + CR ); s.append( TAB2 + ".input_offset = " + SP + inputOffsetIntlValue + SC + CR ); //data out diff --git a/src/tmltranslator/ctranslator/IntlOperationMEC.java b/src/tmltranslator/ctranslator/IntlOperationMEC.java index 99bb6701b136e5e39336fcdab01b82bcc7e84f6b..869907379ddfdb0245c4a33d5cfb3a99eab34f36 100644 --- a/src/tmltranslator/ctranslator/IntlOperationMEC.java +++ b/src/tmltranslator/ctranslator/IntlOperationMEC.java @@ -57,21 +57,27 @@ public class IntlOperationMEC extends OperationMEC { "/*start execution*/" + CR + TAB + "intl_do(&" + ctxName + ");" + CR; - init_code ="/***** INIT " + ctxName + " *******/" + CR + + init_code ="/***** INIT " + ctxName.split("_ctx")[0] + " *******/" + CR + "void init_" + ctxName.split("_ctx")[0] + "(void){" + CR + TAB + "intl_ctx_init(&" + ctxName + ", (uintptr_t) intl_mss );" + CR + TAB + "// initialize context" + CR + TAB + - "intl_set_lenm1( (((INTL_BUFFER_TYPE*)sig[" + ID0 + "].pBuff)->num_symbols), (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + - "intl_set_lba( (((INTL_BUFFER_TYPE*)sig[" + ID0 + "].pBuff)->lut_base_address), (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + - "intl_set_oba( (((INTL_BUFFER_TYPE*)sig[" + ID0 + "].pBuff)->output_base_address), (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + - "intl_set_iba( (((INTL_BUFFER_TYPE*)sig[" + ID0 + "].pBuff)->input_base_address), (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + - "intl_set_mult( /* USER TO DO */, (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + - "intl_set_men( /* USER TO DO */, (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + - "intl_set_sym( (((INTL_BUFFER_TYPE*)sig[" + ID0 + "].pBuff)->symmetrical_VALUE), (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + - "intl_set_bpsm1( (((INTL_BUFFER_TYPE*)sig[" + ID0 + "].pBuff)->num_bits_per_symbol), (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + - "intl_set_m( (((INTL_BUFFER_TYPE*)sig[" + ID0 + "].pBuff)->base_address), (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + - "intl_set_n( /* USER TO DO */, (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + - "intl_set_s( /* USER TO DO */, (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "intl_set_sv(&" + ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "intl_set_arm(&" + ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "intl_set_arm(&" + ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "intl_set_re(&" + ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "intl_set_se(&" + ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "intl_set_fe(&" + ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "intl_set_pbo(&" + ctxName + ", (((INTERLEAVER_BUFFER_TYPE*)sig[" + ID0 + "].pBuff)->packed_binary_output_mode));" + CR + TAB + + "intl_set_pbi(&" + ctxName + ", (((INTERLEAVER_BUFFER_TYPE*)sig[" + ID0 + "].pBuff)->packed_binary_input_mode));" + CR + TAB + + "intl_set_widm1(&" + ctxName + ", (((INTERLEAVER_BUFFER_TYPE*)sig[" + ID0 + "].pBuff)->samples_width));" + CR + TAB + + "intl_set_biof(&" + ctxName + ", (((INTERLEAVER_BUFFER_TYPE*)sig[" + ID0 + "].pBuff)->bit_input_offset));" + CR + TAB + + "intl_set_boof(&" + ctxName + ", (((INTERLEAVER_BUFFER_TYPE*)sig[" + ID0 + "].pBuff)->bit_output_offset));" + CR + TAB + + "intl_set_fz(&" + ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "intl_set_fo(&" + ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "intl_set_iof(&" + ctxName + ", (((INTERLEAVER_BUFFER_TYPE*)sig[" + ID0 + "].pBuff)->output_offset));" + CR + TAB + + "intl_set_oof(&" + ctxName + ", (((INTERLEAVER_BUFFER_TYPE*)sig[" + ID0 + "].pBuff)->input_offset));" + CR + TAB + + "intl_set_pof(&" + ctxName + ", (((INTERLEAVER_BUFFER_TYPE*)sig[" + ID0 + "].pBuff)->permutation_offset));" + CR + TAB + + "intl_set_lenm1(&" + ctxName + ", (((INTERLEAVER_BUFFER_TYPE*)sig[" + ID0 + "].pBuff)->permutation_length));" + CR + TAB + "}" + CR; cleanup_code = "intl_ctx_cleanup(&" + ctxName + ");"; context = "INTL_CONTEXT"; diff --git a/src/tmltranslator/ctranslator/MappOperationMEC.java b/src/tmltranslator/ctranslator/MappOperationMEC.java index 37615b923cc921054e61c3401eea02efa3c805ce..595a50df21dc8f45ac40b59b22c253bce2ce90c4 100644 --- a/src/tmltranslator/ctranslator/MappOperationMEC.java +++ b/src/tmltranslator/ctranslator/MappOperationMEC.java @@ -58,27 +58,21 @@ public class MappOperationMEC extends OperationMEC { "/*start execution*/" + CR + TAB + "mapper_do(&" + ctxName + ");" + CR; - init_code ="/***** INIT " + ctxName + " *******/" + CR + + init_code ="/***** INIT " + ctxName.split("_ctx")[0] + " *******/" + CR + "void init_" + ctxName.split("_ctx")[0] + "(void){" + CR + TAB + "mapper_ctx_init(&" + ctxName + ", (uintptr_t) mapper_mss );" + CR + TAB + "// initialize context" + CR + TAB + - "mapper_set_sv( /* USER TO DO: VALUE */, (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + - "mapper_set_arm( /* USER TO DO: VALUE */, (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + - "mapper_set_arm( /* USER TO DO: VALUE */, (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + - "mapper_set_re( /* USER TO DO: VALUE */, (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + - "mapper_set_se( /* USER TO DO: VALUE */, (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + - "mapper_set_fe( /* USER TO DO: VALUE */, (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + - "mapper_set_pbo( (((MAPPER_BUFFER_TYPE*)sig[" + ID0 + "].pBuff)->packed_binary_output_mode), (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + - "mapper_set_pbi( (((MAPPER_BUFFER_TYPE*)sig[" + ID0 + "].pBuff)->packed_binary_input_mode), (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + - "mapper_set_widm1( (((MAPPER_BUFFER_TYPE*)sig[" + ID0 + "].pBuff)->samples_width), (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + - "mapper_set_biof( (((MAPPER_BUFFER_TYPE*)sig[" + ID0 + "].pBuff)->bit_input_offset), (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + - "mapper_set_boof( (((MAPPER_BUFFER_TYPE*)sig[" + ID0 + "].pBuff)->bit_output_offset), (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + - "mapper_set_fz( /* USER TO DO: VALUE */, (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + - "mapper_set_fo( /* USER TO DO: VALUE */, (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + - "mapper_set_iof( (((MAPPER_BUFFER_TYPE*)sig[" + ID0 + "].pBuff)->output_offset), (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + - "mapper_set_oof( (((MAPPER_BUFFER_TYPE*)sig[" + ID0 + "].pBuff)->input_offset), (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + - "mapper_set_pof( (((MAPPER_BUFFER_TYPE*)sig[" + ID0 + "].pBuff)->permutation_offset), (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + - "mapper_set_lenm1( (((MAPPER_BUFFER_TYPE*)sig[" + ID0 + "].pBuff)->permutation_length), (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "mapper_set_lenm1(&" + ctxName + ", (((MAPPER_BUFFER_TYPE*)sig[" + ID0 + "].pBuff)->num_symbols));" + CR + TAB + + "mapper_set_lba(&" + ctxName + ", (((MAPPER_BUFFER_TYPE*)sig[" + ID0 + "].pBuff)->lut_base_address));" + CR + TAB + + "mapper_set_oba(&" + ctxName + ", (((MAPPER_BUFFER_TYPE*)sig[" + ID0 + "].pBuff)->output_base_address));" + CR + TAB + + "mapper_set_iba(&" + ctxName + ", (((MAPPER_BUFFER_TYPE*)sig[" + ID0 + "].pBuff)->input_base_address));" + CR + TAB + + "mapper_set_mult(&" + ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "mapper_set_men(&" + ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "mapper_set_sym(&" + ctxName + ", (((MAPPER_BUFFER_TYPE*)sig[" + ID0 + "].pBuff)->symmetrical_value));" + CR + TAB + + "mapper_set_bpsm1(&" + ctxName + ", (((MAPPER_BUFFER_TYPE*)sig[" + ID0 + "].pBuff)->num_bits_per_symbol));" + CR + TAB + + "mapper_set_m(&" + ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "mapper_set_n(&" + ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "mapper_set_s(&" + ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + "}" + CR; cleanup_code = "mapper_ctx_cleanup(&" + ctxName + ");"; context = "MAPPER_CONTEXT"; diff --git a/src/tmltranslator/ctranslator/MapperBuffer.java b/src/tmltranslator/ctranslator/MapperBuffer.java index 9601445797045dae7f54238a166e094f66b1100e..83e267822296e20de2c5662cd9f579471e4c2c6d 100644 --- a/src/tmltranslator/ctranslator/MapperBuffer.java +++ b/src/tmltranslator/ctranslator/MapperBuffer.java @@ -62,7 +62,7 @@ public class MapperBuffer extends Buffer { public static final int baseAddressDataInMappIndex = 2; protected String baseAddressDataInMappValue = USER_TO_DO; - public static final String baseAddressDataInMappType = "uint16_t*"; + public static final String baseAddressDataInMappType = "uint16_t"; public static final int bitsPerSymbolDataInMappIndex = 3; protected String bitsPerSymbolDataInMappValue = USER_TO_DO; @@ -76,12 +76,12 @@ public class MapperBuffer extends Buffer { //data out public static final int baseAddressDataOutMappIndex = 5; protected String baseAddressDataOutMappValue = USER_TO_DO; - public static final String baseAddressDataOutMappType = "uint16_t*"; + public static final String baseAddressDataOutMappType = "uint16_t"; //Look up table public static final int baseAddressLUTMappIndex = 6; protected String baseAddressLUTMappValue = USER_TO_DO; - public static final String baseAddressLUTMappType = "uint16_t*"; + public static final String baseAddressLUTMappType = "uint16_t"; public static final String DECLARATION = "struct MAPPER_BUFFER_TYPE {" + CR + TAB + numSamplesDataInMappType + SP + "num_symbols" + SC + CR + TAB + diff --git a/src/tmltranslator/ctranslator/SumMEC.java b/src/tmltranslator/ctranslator/SumMEC.java index b168bc297d2661f10c52002f53b3fd2f376097d3..225c69a0302c2c8114d7615afead47f10143b2b9 100644 --- a/src/tmltranslator/ctranslator/SumMEC.java +++ b/src/tmltranslator/ctranslator/SumMEC.java @@ -58,26 +58,26 @@ public class SumMEC extends FepOperationMEC { "fep_do(&" + _ctxName + ");" + CR; init_code = - "void init_" + _ctxName + "(void){" + CR + TAB + - "fep_init(&" + _ctxName + ", (uintprt_t) fep_mss );" + CR + TAB + + "void init_" + _ctxName.split("_ctx")[0] + "(void){" + CR + TAB + + "fep_init(&" + _ctxName.split("_ctx")[0] + ", (uintprt_t) fep_mss );" + CR + TAB + "// initialize context" + CR + TAB + "fep_set_op(&" + _ctxName + ", FEP_OP_SUM );" + CR + TAB + "// X vector configuration => Zk=Y[Xi]" + CR + TAB + - "fep_set_r(&" + _ctxName + ", (uint64_t) /* USER TODO: value */);" + CR + TAB + - "fep_set_l(&" + _ctxName + ", (uint64_t) /* USER TODO: value */);" + CR + TAB + - "fep_set_bx(&" + _ctxName + ", (uint64_t) /* USER TODO: value */);" + CR + TAB + - "fep_set_qx(&" + _ctxName + ", (uint64_t) /* USER TODO: value */);" + CR + TAB + - "fep_set_wx(&" + _ctxName + ", (uint64_t) /* USER TODO: value */);" + CR + TAB + - "fep_set_tx(&" + _ctxName + ", (uint64_t) /* USER TODO: value */);" + CR + TAB + - "fep_set_sx(&" + _ctxName + ", (uint64_t) /* USER TODO: value */);" + CR + TAB + - "fep_set_nx(&" + _ctxName + ", (uint64_t) /* USER TODO: value */);" + CR + TAB + - "fep_set_mx(&" + _ctxName + ", (uint64_t) /* USER TODO: value */);" + CR + TAB + - "fep_set_px(&" + _ctxName + ", (uint64_t) /* USER TODO: value */);" + CR + TAB + - "fep_set_dx(&" + _ctxName + ", (uint64_t) /* USER TODO: value */);" + CR + TAB + - "fep_set_vrx(&" + _ctxName + ", (uint64_t) /* USER TODO: value */);" + CR + TAB + - "fep_set_vix(&" + _ctxName + ", (uint64_t) /* USER TODO: value */);" + CR + TAB + + "fep_set_r(&" + _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "fep_set_l(&" + _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "fep_set_bx(&" + _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "fep_set_qx(&" + _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "fep_set_wx(&" + _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "fep_set_tx(&" + _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "fep_set_sx(&" + _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "fep_set_nx(&" + _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "fep_set_mx(&" + _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "fep_set_px(&" + _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "fep_set_dx(&" + _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "fep_set_vrx(&" + _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + + "fep_set_vix(&" + _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + "// Operation configuration" + CR + TAB + - "fep_set_sma(&" + _ctxName + ", (uint64_t) /* USER TODO: value */);" + CR + TAB + + "fep_set_sma(&" + _ctxName + ", (uint64_t) /* USER TODO: VALUE */);" + CR + TAB + "fep_set_qs(&" + _ctxName + ", ((FEP_BUFFER_TYPE*)sig[" + outSignalName + "].pBuff)->bank);" + CR + TAB + "fep_set_bs(&" + _ctxName + ", ((FEP_BUFFER_TYPE*)sig[" + outSignalName + "].pBuff)->base_address);" + CR + TAB + "}" + CR; diff --git a/src/tmltranslator/ctranslator/TMLCCodeGeneration.java b/src/tmltranslator/ctranslator/TMLCCodeGeneration.java index df5121716e04e55725ea55377dc76e7a5d3f4729..fb895e6207a57e0ed7152fa7c93aa5ce520fd149 100755 --- a/src/tmltranslator/ctranslator/TMLCCodeGeneration.java +++ b/src/tmltranslator/ctranslator/TMLCCodeGeneration.java @@ -695,7 +695,11 @@ public class TMLCCodeGeneration { "#include <embb/intl.h>" + CR + "#include <embb/mapper.h>" + CR + "#include <embb/adaif.h>" + CR + - "#include <embb/memory.h>" + CR2; + "#include <embb/memory.h>" + CR2 + + "char fep_mss[0x10000];" + CR + + "char adaif_mss[0x10000];" + CR + + "char intl_mss[0x10000];" + CR + + "char mapper_mss[0x10000];" + CR2; return s; } @@ -744,6 +748,7 @@ public class TMLCCodeGeneration { } else { //for all the remaining operations buffersString.append( "extern" + SP + inBuff.getType() + SP + inBuff.getName() + SC + CR ); + buffersString.append( "extern" + SP + outBuff.getType() + SP + outBuff.getName() + SC + CR ); instructionsString.append( "extern" + SP + xTask.getOperationMEC().getContext() + SP + ctxName + SC + CR ); } } @@ -760,6 +765,7 @@ public class TMLCCodeGeneration { } else { //for all the remaining operations buffersString.append( inBuff.getType() + SP + inBuff.getName() + SC + CR ); + buffersString.append( outBuff.getType() + SP + outBuff.getName() + SC + CR ); instructionsString.append( xTask.getOperationMEC().getContext() + SP + ctxName + SC + CR ); } } @@ -1178,6 +1184,8 @@ public class TMLCCodeGeneration { OperationMEC xTaskOperation = xTask.getOperationMEC(); OperationMEC fTaskOperation = fTask.getOperationMEC(); ctxName = op.getContextName(); + /*TraceManager.addDev( "OPERATION: " + op.getName() ); + TraceManager.addDev( "\t\t\tContext name: " + ctxName );*/ if( op.getInSignals().size() > 0 ) { inSignalName = op.getInSignals().get(0).getName(); } @@ -1292,7 +1300,7 @@ public class TMLCCodeGeneration { } } initFileString.append( "}" + CR2 ); - initFileString.append( "void cleanup_CPs_context( void )\t{" + CR ); + initFileString.append( "void cleanup_CPs_context( void )\t{" + CR + "/*" ); for( DataTransfer dt: dataTransfersList ) { TMLCPLib tmlcplib = dt.getTMLCPLib(); CPMEC cpMEC = tmlcplib.getCPMEC(); @@ -1307,7 +1315,7 @@ public class TMLCCodeGeneration { initFileString.append( TAB + DoubleDmaMEC.Ctx_cleanup + "( &" + ctxName + " );" + CR ); } } - initFileString.append( "}" + CR ); + initFileString.append( "*/\n}" + CR ); } private void generateInitRoutinesForCPs() { @@ -1320,17 +1328,17 @@ public class TMLCCodeGeneration { if( cpMEC instanceof CpuMemoryCopyMEC ) { initFileString.append( "void init_" + name + "()\t{" + CR ); CpuMemoryCopyMEC mec = new CpuMemoryCopyMEC( ctxName, "", "", "", "" ); - initFileString.append( TAB + mec.getInitCode() + "}" + CR2 ); + initFileString.append( "//" + TAB + mec.getInitCode() + "}" + CR2 ); } if( cpMEC instanceof SingleDmaMEC ) { initFileString.append( "void init_" + name + "()\t{" + CR ); SingleDmaMEC mec = new SingleDmaMEC( ctxName ); - initFileString.append( TAB + mec.getInitCode() + "}" + CR2 ); + initFileString.append( "//" + TAB + mec.getInitCode() + "}" + CR2 ); } if( cpMEC instanceof DoubleDmaMEC ) { initFileString.append( "void init_" + name + "()\t{" + CR ); DoubleDmaMEC mec = new DoubleDmaMEC( ctxName ); - initFileString.append( TAB + mec.getInitCode() + "}" + CR2 ); + initFileString.append( "//" + TAB + mec.getInitCode() + "}" + CR2 ); } } }