Commit e8956223 authored by Tiago Jorge's avatar Tiago Jorge
Browse files

Update dispatcher to support multiple FPGA configurations.

parent 0343d4c4
......@@ -695,18 +695,23 @@ class SynchronousToolGlueGeneratorGeneric(Generic[TSource, TDestin]):
self.C_SourceFile.write(' Delegate to one or the other side (SW or HW) depending on whether the value of a global variable storing the current\n')
self.C_SourceFile.write(' configuration equals one of those defined for the target function in new IV field.\n')
self.C_SourceFile.write(' */\n')
self.C_SourceFile.write(' extern const char p_szGlobalState[];\n')
self.C_SourceFile.write(' if(!strcmp(p_szGlobalState, "%s")){\n' % (sp._fpgaConfigurations))
self.C_SourceFile.write(' // delegate to HW\n')
self.C_SourceFile.write(' printf("[###### Dispatcher ######] Delegating to HW ... (to be implemented) \\n");\n')
self.C_SourceFile.write(' // called_compute_something_Brave_Fpga(pinp, size_inp, poutp, pSize_outp);\n')
self.C_SourceFile.write(' // delegated to HW, return 0\n')
self.C_SourceFile.write(' return 0;\n')
self.C_SourceFile.write(' }else{\n')
self.C_SourceFile.write(' printf("[###### Dispatcher ######] Delegating to SW ...\\n");\n')
self.C_SourceFile.write(' // delegate to SW, return 1\n')
self.C_SourceFile.write(' return 1;\n')
self.C_SourceFile.write(' extern const char p_szGlobalState[];\n')
self.C_SourceFile.write(' char *fConfig;\n')
self.C_SourceFile.write(' char fConfigList[30] = "%s";\n' % (sp._fpgaConfigurations))
self.C_SourceFile.write(' fConfig = strtok(fConfigList, "_");\n')
self.C_SourceFile.write(' while( fConfig != NULL ) {\n')
self.C_SourceFile.write(' if(!strcmp(p_szGlobalState, fConfig)){\n')
self.C_SourceFile.write(' // delegate to HW\n')
self.C_SourceFile.write(' printf("[###### Dispatcher ######] Delegating to HW ... (to be implemented) \\n");\n')
self.C_SourceFile.write(' // called_compute_something_Brave_Fpga(pinp, size_inp, poutp, pSize_outp);\n')
self.C_SourceFile.write(' // delegated to HW, return 0\n')
self.C_SourceFile.write(' return 0;\n')
self.C_SourceFile.write(' }\n')
self.C_SourceFile.write(' fConfig = strtok(NULL, "_");\n')
self.C_SourceFile.write(' }\n')
self.C_SourceFile.write(' printf("[###### Dispatcher ######] Delegating to SW ...\\n");\n')
self.C_SourceFile.write(' // delegate to SW, return 1\n')
self.C_SourceFile.write(' return 1;\n')
self.C_SourceFile.write("}\n\n")
self.ADA_HeaderFile.write(
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment