本文整理汇总了C++中PiSDFGraph::addOutputIf方法的典型用法代码示例。如果您正苦于以下问题:C++ PiSDFGraph::addOutputIf方法的具体用法?C++ PiSDFGraph::addOutputIf怎么用?C++ PiSDFGraph::addOutputIf使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PiSDFGraph
的用法示例。
在下文中一共展示了PiSDFGraph::addOutputIf方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: CREATE
PiSDFGraph* test6_sub(Archi* archi, Stack* stack){
PiSDFGraph* graph = CREATE(stack, PiSDFGraph)(
/*Edges*/ 2,
/*Params*/ 0,
/*InIf*/ 1,
/*OutIf*/ 1,
/*Config*/ 0,
/*Normal*/ 1,
archi,
stack);
// Parameters.
// Configure vertices
// Interfaces
PiSDFVertex *ifIn = graph->addInputIf(
"in",
0 /*Par*/);
PiSDFVertex *ifOut = graph->addOutputIf(
"out",
0 /*Par*/);
// Other vertices
PiSDFVertex *vxH = graph->addBodyVertex(
"H", /*Fct*/ 24,
/*In*/ 1, /*Out*/ 1,
/*Par*/ 0);
// Edges.
graph->connect(
/*Src*/ ifIn, /*SrcPrt*/ 0, /*Prod*/ "2",
/*Snk*/ vxH, /*SnkPrt*/ 0, /*Cons*/ "1",
/*Delay*/ "0", 0);
graph->connect(
/*Src*/ vxH, /*SrcPrt*/ 0, /*Prod*/ "1",
/*Snk*/ ifOut, /*SnkPrt*/ 0, /*Cons*/ "2",
/*Delay*/ "0", 0);
// Timings
vxH->isExecutableOnAllPE();
vxH->setTimingOnType(0, "10", stack);
// Subgraphs
return graph;
}
示例2: DispComp
// Method building PiSDFGraphDispComp
PiSDFGraph* DispComp(Archi* archi, Stack* stack) {
PiSDFGraph* graph = CREATE(stack, PiSDFGraph)(
/*Edges*/ 10,
/*Params*/ 8,
/*InputIf*/ 5,
/*OutputIf*/ 1,
/*Config*/ 0,
/*Body*/ 3,
/*Archi*/ archi,
/*Stack*/ stack);
/* Parameters */
PiSDFParam *param_height = graph->addHeritedParam("height", 0);
PiSDFParam *param_width = graph->addHeritedParam("width", 1);
PiSDFParam *param_nIter = graph->addHeritedParam("nIter", 2);
PiSDFParam *param_scale = graph->addHeritedParam("scale", 3);
PiSDFParam *param_minDisp = graph->addHeritedParam("minDisp", 4);
PiSDFParam *param_maxDisp = graph->addHeritedParam("maxDisp", 5);
PiSDFParam *param_size = graph->addDependentParam("size", "height*width");
PiSDFParam *param_nDisp = graph->addDependentParam("nDisp", "maxDisp-minDisp+1");
/* Vertices */
PiSDFVertex* bo_AggregateCost = graph->addBodyVertex(
/*Name*/ "AggregateCost",
/*FctId*/ DISPCOMP_AGGREGATECOST_FCT,
/*InData*/ 4,
/*OutData*/ 1,
/*InParam*/ 3);
bo_AggregateCost->addInParam(0, param_height);
bo_AggregateCost->addInParam(1, param_width);
bo_AggregateCost->addInParam(2, param_nIter);
// bo_AggregateCost->isExecutableOnPE(CORE_ARM0);
bo_AggregateCost->isExecutableOnPE(CORE_DSP0);
bo_AggregateCost->isExecutableOnPE(CORE_DSP1);
bo_AggregateCost->isExecutableOnPE(CORE_DSP2);
bo_AggregateCost->isExecutableOnPE(CORE_DSP3);
bo_AggregateCost->isExecutableOnPE(CORE_DSP4);
bo_AggregateCost->isExecutableOnPE(CORE_DSP5);
bo_AggregateCost->isExecutableOnPE(CORE_DSP6);
bo_AggregateCost->isExecutableOnPE(CORE_DSP7);
bo_AggregateCost->setTimingOnType(CORE_TYPE_C6X, "127693715", stack);
bo_AggregateCost->setTimingOnType(CORE_TYPE_ARM, "255956368", stack);
PiSDFVertex* bo_DisparitySelect = graph->addBodyVertex(
/*Name*/ "DisparitySelect",
/*FctId*/ DISPCOMP_DISPARITYSELECT_FCT,
/*InData*/ 4,
/*OutData*/ 2,
/*InParam*/ 5);
bo_DisparitySelect->addInParam(0, param_height);
bo_DisparitySelect->addInParam(1, param_width);
bo_DisparitySelect->addInParam(2, param_scale);
bo_DisparitySelect->addInParam(3, param_minDisp);
bo_DisparitySelect->addInParam(4, param_maxDisp);
// bo_DisparitySelect->isExecutableOnPE(CORE_ARM0);
bo_DisparitySelect->isExecutableOnPE(CORE_DSP0);
bo_DisparitySelect->isExecutableOnPE(CORE_DSP1);
bo_DisparitySelect->isExecutableOnPE(CORE_DSP2);
bo_DisparitySelect->isExecutableOnPE(CORE_DSP3);
bo_DisparitySelect->isExecutableOnPE(CORE_DSP4);
bo_DisparitySelect->isExecutableOnPE(CORE_DSP5);
bo_DisparitySelect->isExecutableOnPE(CORE_DSP6);
bo_DisparitySelect->isExecutableOnPE(CORE_DSP7);
bo_DisparitySelect->setTimingOnType(CORE_TYPE_C6X, "43926345", stack);
bo_DisparitySelect->setTimingOnType(CORE_TYPE_ARM, "177962862", stack);
PiSDFVertex* bo_Br_Disp = graph->addSpecialVertex(
/*Type*/ PISDF_SUBTYPE_BROADCAST,
/*InData*/ 1,
/*OutData*/ 2,
/*InParam*/ 1);
bo_Br_Disp->addInParam(0, param_size);
PiSDFVertex* if_rawDisparity = graph->addOutputIf(
/*Name*/ "if_rawDisparity",
/*InParam*/ 1);
if_rawDisparity->addInParam(0, param_size);
PiSDFVertex* if_offsets = graph->addInputIf(
/*Name*/ "if_offsets",
/*InParam*/ 2);
if_offsets->addInParam(0, param_nDisp);
if_offsets->addInParam(1, param_nIter);
PiSDFVertex* if_vWeights = graph->addInputIf(
/*Name*/ "if_vWeights",
/*InParam*/ 2);
if_vWeights->addInParam(0, param_size);
if_vWeights->addInParam(1, param_nIter);
PiSDFVertex* if_hWeights = graph->addInputIf(
/*Name*/ "if_hWeights",
/*InParam*/ 2);
if_hWeights->addInParam(0, param_size);
if_hWeights->addInParam(1, param_nIter);
PiSDFVertex* if_dispIx = graph->addInputIf(
/*Name*/ "if_dispIx",
/*InParam*/ 1);
//.........这里部分代码省略.........
示例3: CREATE
// Method building PiSDFGraphRadix2_Stage
PiSDFGraph* Radix2_Stage(Archi* archi, Stack* stack){
PiSDFGraph* graph = CREATE(stack, PiSDFGraph)(
/*Edges*/ 8,
/*Params*/ 5,
/*InputIf*/ 2,
/*OutputIf*/ 1,
/*Config*/ 1,
/*Body*/ 4,
/*Archi*/ archi,
/*Stack*/ stack);
/* Parameters */
PiSDFParam *param_N1 = graph->addHeritedParam("N1", 0);
PiSDFParam *param_N2 = graph->addHeritedParam("N2", 1);
PiSDFParam *param_n1 = graph->addHeritedParam("n1", 2);
PiSDFParam *param_p = graph->addDynamicParam("p");
PiSDFParam *param_nDFT2 = graph->addDependentParam("nDFT2", "N2*N1/n1/2");
/* Vertices */
PiSDFVertex* bo_DFT_2 = graph->addBodyVertex(
/*Name*/ "DFT_2",
/*FctId*/ RADIX2_STAGE_DFT_2_FCT,
/*InData*/ 3,
/*OutData*/ 2,
/*InParam*/ 4);
bo_DFT_2->addInParam(0, param_n1);
bo_DFT_2->addInParam(1, param_p);
bo_DFT_2->addInParam(2, param_N1);
bo_DFT_2->addInParam(3, param_N2);
// bo_DFT_2->isExecutableOnPE(CORE_ARM1);
// bo_DFT_2->isExecutableOnPE(CORE_ARM0);
bo_DFT_2->isExecutableOnPE(CORE_DSP0);
bo_DFT_2->isExecutableOnPE(CORE_DSP1);
bo_DFT_2->isExecutableOnPE(CORE_DSP2);
bo_DFT_2->isExecutableOnPE(CORE_DSP3);
bo_DFT_2->isExecutableOnPE(CORE_DSP4);
bo_DFT_2->isExecutableOnPE(CORE_DSP5);
bo_DFT_2->isExecutableOnPE(CORE_DSP6);
bo_DFT_2->isExecutableOnPE(CORE_DSP7);
bo_DFT_2->setTimingOnType(CORE_TYPE_C6X, "100", stack);
bo_DFT_2->setTimingOnType(CORE_TYPE_ARM, "100", stack);
PiSDFVertex* if_pValue = graph->addInputIf(
/*Name*/ "if_pValue",
/*InParam*/ 0);
PiSDFVertex* if_in = graph->addInputIf(
/*Name*/ "if_in",
/*InParam*/ 2);
if_in->addInParam(0, param_N1);
if_in->addInParam(1, param_N2);
PiSDFVertex* if_out = graph->addOutputIf(
/*Name*/ "if_out",
/*InParam*/ 2);
if_out->addInParam(0, param_N1);
if_out->addInParam(1, param_N2);
PiSDFVertex* bo_F = graph->addSpecialVertex(
/*Type*/ PISDF_SUBTYPE_FORK,
/*InData*/ 1,
/*OutData*/ 2,
/*InParam*/ 2);
bo_F->addInParam(0, param_N2);
bo_F->addInParam(1, param_p);
PiSDFVertex* bo_J = graph->addSpecialVertex(
/*Type*/ PISDF_SUBTYPE_JOIN,
/*InData*/ 2,
/*OutData*/ 1,
/*InParam*/ 2);
bo_J->addInParam(0, param_N2);
bo_J->addInParam(1, param_p);
PiSDFVertex* cf_cfg = graph->addConfigVertex(
/*Name*/ "cfg",
/*FctId*/ RADIX2_STAGE_CFG_FCT,
/*SubType*/ PISDF_SUBTYPE_NORMAL,
/*InData*/ 1,
/*OutData*/ 0,
/*InParam*/ 0,
/*OutParam*/1);
cf_cfg->addOutParam(0, param_p);
cf_cfg->isExecutableOnPE(CORE_ARM0);
// cf_cfg->isExecutableOnPE(CORE_ARM1);
// cf_cfg->isExecutableOnPE(CORE_ARM2);
// cf_cfg->isExecutableOnPE(CORE_ARM3);
cf_cfg->setTimingOnType(CORE_TYPE_C6X, "100", stack);
cf_cfg->setTimingOnType(CORE_TYPE_ARM, "100", stack);
PiSDFVertex* bo_genIx = graph->addBodyVertex(
/*Name*/ "genIx",
/*FctId*/ RADIX2_STAGE_GENIX_FCT,
/*InData*/ 0,
/*OutData*/ 1,
/*InParam*/ 1);
bo_genIx->addInParam(0, param_nDFT2);
// bo_genIx->isExecutableOnPE(CORE_ARM0);
bo_genIx->isExecutableOnPE(CORE_ARM1);
//.........这里部分代码省略.........
示例4: costParallel
//.........这里部分代码省略.........
// bo_HWeight->isExecutableOnPE(CORE_ARM0);
bo_HWeight->isExecutableOnPE(CORE_DSP0);
bo_HWeight->isExecutableOnPE(CORE_DSP1);
bo_HWeight->isExecutableOnPE(CORE_DSP2);
bo_HWeight->isExecutableOnPE(CORE_DSP3);
bo_HWeight->isExecutableOnPE(CORE_DSP4);
bo_HWeight->isExecutableOnPE(CORE_DSP5);
bo_HWeight->isExecutableOnPE(CORE_DSP6);
bo_HWeight->isExecutableOnPE(CORE_DSP7);
bo_HWeight->setTimingOnType(CORE_TYPE_C6X, "57467063", stack);
bo_HWeight->setTimingOnType(CORE_TYPE_ARM, "217559830", stack);
PiSDFVertex* bo_CostConstruction = graph->addBodyVertex(
/*Name*/ "CostConstruction",
/*FctId*/ COSTPARALLEL_COSTCONSTRUCTION_FCT,
/*InData*/ 5,
/*OutData*/ 1,
/*InParam*/ 3);
bo_CostConstruction->addInParam(0, param_truncValue);
bo_CostConstruction->addInParam(1, param_height);
bo_CostConstruction->addInParam(2, param_width);
// bo_CostConstruction->isExecutableOnPE(CORE_ARM0);
bo_CostConstruction->isExecutableOnPE(CORE_DSP0);
bo_CostConstruction->isExecutableOnPE(CORE_DSP1);
bo_CostConstruction->isExecutableOnPE(CORE_DSP2);
bo_CostConstruction->isExecutableOnPE(CORE_DSP3);
bo_CostConstruction->isExecutableOnPE(CORE_DSP4);
bo_CostConstruction->isExecutableOnPE(CORE_DSP5);
bo_CostConstruction->isExecutableOnPE(CORE_DSP6);
bo_CostConstruction->isExecutableOnPE(CORE_DSP7);
bo_CostConstruction->setTimingOnType(CORE_TYPE_C6X, "39526772", stack);
bo_CostConstruction->setTimingOnType(CORE_TYPE_ARM, "237452231", stack);
PiSDFVertex* if_rawDisparity = graph->addOutputIf(
/*Name*/ "if_rawDisparity",
/*InParam*/ 1);
if_rawDisparity->addInParam(0, param_size);
PiSDFVertex* bo_Br_Ix = graph->addSpecialVertex(
/*Type*/ PISDF_SUBTYPE_BROADCAST,
/*InData*/ 1,
/*OutData*/ 3,
/*InParam*/ 1);
bo_Br_Ix->addInParam(0, param_nIter);
PiSDFVertex* bo_Br_Disp = graph->addSpecialVertex(
/*Type*/ PISDF_SUBTYPE_BROADCAST,
/*InData*/ 1,
/*OutData*/ 2,
/*InParam*/ 1);
bo_Br_Disp->addInParam(0, param_nDisp);
PiSDFVertex* bo_DispComp = graph->addHierVertex(
/*Name*/ "DispComp",
/*Graph*/ DispComp(archi, stack),
/*InData*/ 5,
/*OutData*/ 1,
/*InParam*/ 6);
bo_DispComp->addInParam(0, param_height);
bo_DispComp->addInParam(1, param_width);
bo_DispComp->addInParam(2, param_nIter);
bo_DispComp->addInParam(3, param_scale);
bo_DispComp->addInParam(4, param_minDisp);
bo_DispComp->addInParam(5, param_maxDisp);