Mercurial > cgi-bin > hgwebdir.cgi > PR > Applications > HWSim > HWSim__PingPong__HWDef
changeset 16:df53f52ef49c
naming conflicts fixed
HWSimResults changed, so FakeSim needs an update -> TODO Stefan
author | hausers |
---|---|
date | Fri, 17 Feb 2012 17:41:12 +0100 |
parents | 8d9d367e96f9 |
children | fa277c6ce6f2 |
files | CircuitNetlistCreator.c HWSim__PingPong__HWDef/FakeSim.c HWSim__PingPong__HWDef/HWSim__PingPong__HWDef.h main.c |
diffstat | 4 files changed, 55 insertions(+), 47 deletions(-) [+] |
line diff
1.1 --- a/CircuitNetlistCreator.c Sun Feb 12 01:47:58 2012 -0800 1.2 +++ b/CircuitNetlistCreator.c Fri Feb 17 17:41:12 2012 +0100 1.3 @@ -10,13 +10,13 @@ 1.4 /*'' is an expr resolves to an actual commPath struct instance 1.5 */ 1.6 #define setCommPathValuesTo( commPath, fromElIdx, outPort, toElIdx, inPort,\ 1.7 - commTimeFnPtr, dataPtr)\ 1.8 + timeFnPtr, dataPtr)\ 1.9 do{\ 1.10 commPath->idxOfFromElem = fromElIdx; \ 1.11 commPath->idxOfFromOutPort = fromElIdx; \ 1.12 commPath->idxOfToElem = toElIdx; \ 1.13 commPath->idxOfToInPort = inPort; \ 1.14 - commPath->commTimeFnPtr = commTimeFnPtr;\ 1.15 + commPath->commTimeCalcFn = timeFnPtr;\ 1.16 commPath->archSpecCommPathData = dataPtr; \ 1.17 }while(0); //macro magic for namespace 1.18 1.19 @@ -48,10 +48,9 @@ 1.20 HWSimElem **elems; 1.21 int32 numElems; 1.22 int32 numCommPaths; 1.23 - HWSimActivityType *foo; 1.24 1.25 netlist = malloc( sizeof(HWSimNetlist) ); 1.26 - //declare elems numElems = 2; 1.27 + numElems= 2; 1.28 elems = malloc( numElems * sizeof(HWSimElem) ); 1.29 netlist->numElems = numElems; 1.30 netlist->elems = elems; 1.31 @@ -78,15 +77,20 @@ 1.32 netlist->numCommPaths= numCommPaths; 1.33 netlist->commPaths= commPaths; 1.34 //TL 0, out-port 0 to TL 1, in-port 0 1.35 - setCommPathValuesTo(commPaths[0], 0,0,1,0, &commPath_TimeSpanCalc, NULL); 1.36 + setCommPathValuesTo(commPaths[0],0,0,1,0, commPath_TimeSpanCalc, NULL); 1.37 //TL 1, out-port 0 to TL 0, in-port 0 1.38 - setCommPathValuesTo(commPaths[1], 1,0,0,0, &commPath_TimeSpanCalc, NULL); 1.39 + setCommPathValuesTo(commPaths[1], 1,0,0,0, commPath_TimeSpanCalc, NULL); 1.40 1.41 //TODO: decide how do in-out bidirectional commPaths -- thinking make it two 1.42 // separate commPaths with guard between in-port and out-port 1.43 + 1.44 + return netlist; 1.45 } 1.46 1.47 //Stefan: copy netlist struct with VMS malloc after VMS initialized? 1.48 + //Sean: yes, otherwise the user has to deal with VMS details. 1.49 + // So we should do this in HWSim__make_netlist_simulatable ? 1.50 + // If so, I can do this 1.51 HWSimElem * 1.52 createAPingPongElem( HWSimNetlist *netlist ) 1.53 { HWSimElem *TL; 1.54 @@ -96,6 +100,7 @@ 1.55 TL->inPorts = HWSim_ext__make_inPortsArray( TL->numInPorts ); 1.56 TL->inPorts[-1].triggeredActivityType = IDLE_SPAN; //reset port 1.57 TL->inPorts[0].triggeredActivityType = netlist->activityTypes[PING_PONG_TYPE]; 1.58 + return TL; 1.59 } 1.60 1.61 HWSimActivityType *
2.1 --- a/HWSim__PingPong__HWDef/FakeSim.c Sun Feb 12 01:47:58 2012 -0800 2.2 +++ b/HWSim__PingPong__HWDef/FakeSim.c Fri Feb 17 17:41:12 2012 +0100 2.3 @@ -38,18 +38,18 @@ 2.4 checkMalloc(simResults->elemTraces[i]); 2.5 simResults->elemTraces[i]->activityRecs= malloc(sizeof(HWSimActivityRec)); 2.6 } 2.7 - 2.8 - simResults->numCommTraces= nrComms; 2.9 - simResults->commTraces= 2.10 - malloc(simResults->numCommTraces*sizeof(HWSimCommPathTrace *)); 2.11 - checkMalloc(simResults->commTraces); 2.12 - for (i= 0; i<simResults->numCommTraces; i++) { 2.13 - simResults->commTraces[i]= malloc(sizeof(HWSimCommPathTrace)); 2.14 - checkMalloc(simResults->commTraces[i]); 2.15 - // FRAGILE -> valgrind 2.16 - simResults->commTraces[i]->commRecs= malloc(sizeof(HWSimCommRec)); 2.17 - checkMalloc(simResults->commTraces[i]->commRecs); 2.18 - } 2.19 +//Stefan: adapt to new structure 2.20 +// simResults->numCommTraces= nrComms; 2.21 +// simResults->commTraces= 2.22 +// malloc(simResults->numCommTraces*sizeof(HWSimCommPathTrace *)); 2.23 +// checkMalloc(simResults->commTraces); 2.24 +// for (i= 0; i<simResults->numCommTraces; i++) { 2.25 +// simResults->commTraces[i]= malloc(sizeof(HWSimCommPathTrace)); 2.26 +// checkMalloc(simResults->commTraces[i]); 2.27 +// // FRAGILE -> valgrind 2.28 +// simResults->commTraces[i]->commRecs= malloc(sizeof(HWSimCommRec)); 2.29 +// checkMalloc(simResults->commTraces[i]->commRecs); 2.30 +// } 2.31 2.32 return simResults; 2.33 } 2.34 @@ -95,32 +95,32 @@ 2.35 //-------------------- Coomunication Trace --------------------- 2.36 2.37 //ping to pong 2 - 3 2.38 - simResults->commTraces[0]->fromElem= netlist->elems[0]; 2.39 - simResults->commTraces[0]->toElem= netlist->elems[1]; 2.40 - simResults->commTraces[0]->numComms= 1; 2.41 - simResults->commTraces[0]->commRecs->commID= 0; 2.42 - simResults->commTraces[0]->commRecs->msgID= 0; 2.43 - simResults->commTraces[0]->commRecs->startTime= 2; 2.44 - simResults->commTraces[0]->commRecs->endTime= 3; 2.45 - 2.46 - //pong to ping 4 - 5 2.47 - simResults->commTraces[1]->fromElem= netlist->elems[1]; 2.48 - simResults->commTraces[1]->toElem= netlist->elems[0]; 2.49 - simResults->commTraces[1]->numComms= 1; 2.50 - simResults->commTraces[1]->commRecs->commID= 1; 2.51 - simResults->commTraces[1]->commRecs->msgID= 1; 2.52 - simResults->commTraces[1]->commRecs->startTime= 4; 2.53 - simResults->commTraces[1]->commRecs->endTime= 5; 2.54 - 2.55 - //ping to pong 6 - 7 2.56 - simResults->commTraces[2]->fromElem= netlist->elems[0]; 2.57 - simResults->commTraces[2]->toElem= netlist->elems[1]; 2.58 - simResults->commTraces[2]->numComms= 1; 2.59 - simResults->commTraces[2]->commRecs= malloc(sizeof(HWSimCommRec)); 2.60 - simResults->commTraces[2]->commRecs->commID= 2; 2.61 - simResults->commTraces[2]->commRecs->msgID= 0; 2.62 - simResults->commTraces[2]->commRecs->startTime= 6; 2.63 - simResults->commTraces[2]->commRecs->endTime= 7; 2.64 +// simResults->commTraces[0]->fromElem= netlist->elems[0]; 2.65 +// simResults->commTraces[0]->toElem= netlist->elems[1]; 2.66 +// simResults->commTraces[0]->numComms= 1; 2.67 +// simResults->commTraces[0]->commRecs->commID= 0; 2.68 +// simResults->commTraces[0]->commRecs->msgID= 0; 2.69 +// simResults->commTraces[0]->commRecs->startTime= 2; 2.70 +// simResults->commTraces[0]->commRecs->endTime= 3; 2.71 +// 2.72 +// //pong to ping 4 - 5 2.73 +// simResults->commTraces[1]->fromElem= netlist->elems[1]; 2.74 +// simResults->commTraces[1]->toElem= netlist->elems[0]; 2.75 +// simResults->commTraces[1]->numComms= 1; 2.76 +// simResults->commTraces[1]->commRecs->commID= 1; 2.77 +// simResults->commTraces[1]->commRecs->msgID= 1; 2.78 +// simResults->commTraces[1]->commRecs->startTime= 4; 2.79 +// simResults->commTraces[1]->commRecs->endTime= 5; 2.80 +// 2.81 +// //ping to pong 6 - 7 2.82 +// simResults->commTraces[2]->fromElem= netlist->elems[0]; 2.83 +// simResults->commTraces[2]->toElem= netlist->elems[1]; 2.84 +// simResults->commTraces[2]->numComms= 1; 2.85 +// simResults->commTraces[2]->commRecs= malloc(sizeof(HWSimCommRec)); 2.86 +// simResults->commTraces[2]->commRecs->commID= 2; 2.87 +// simResults->commTraces[2]->commRecs->msgID= 0; 2.88 +// simResults->commTraces[2]->commRecs->startTime= 6; 2.89 +// simResults->commTraces[2]->commRecs->endTime= 7; 2.90 2.91 return simResults; 2.92 }
3.1 --- a/HWSim__PingPong__HWDef/HWSim__PingPong__HWDef.h Sun Feb 12 01:47:58 2012 -0800 3.2 +++ b/HWSim__PingPong__HWDef/HWSim__PingPong__HWDef.h Fri Feb 17 17:41:12 2012 +0100 3.3 @@ -34,6 +34,9 @@ 3.4 uint64 3.5 pingPongElem_PingActivity_timing( void * dataFromBehaviorFn ); 3.6 3.7 +HWSimTimeSpan 3.8 +commPath_TimeSpanCalc( HWSimCommPath *commPath, HWSimActivityInst *sendingActivity ); 3.9 + 3.10 //======================== Simulation Fake ================================== 3.11 #ifdef FAKE 3.12 HWSimResults* create_simulation_results__fake(void *simParams,HWSimNetlist *netlist);
4.1 --- a/main.c Sun Feb 12 01:47:58 2012 -0800 4.2 +++ b/main.c Fri Feb 17 17:41:12 2012 +0100 4.3 @@ -10,13 +10,12 @@ 4.4 4.5 #include "SimParams.h" 4.6 #include "HWSim__PingPong__HWDef/HWSim__PingPong__HWDef.h" 4.7 -//Stefan: name conflict here -- MC_shared version of params is in HWSim__PingPong__HWDef.h, but need normal C version here 4.8 #include "../C_Libraries/ParamHelper/Param.h" 4.9 4.10 4.11 char __ProgrammName[] = "HWSim Hello World"; 4.12 char __DataSet[255]; 4.13 -char __Scheduler[]; 4.14 +char __Scheduler[1]; 4.15 4.16 /* 4.17 * 4.18 @@ -47,7 +46,8 @@ 4.19 #endif 4.20 4.21 //HWSim 4.22 - HWSim__generate_paraver_output(argv[2], simResults, netlist); 4.23 + //HWSim__generate_paraver_output(argv[2], simResults, netlist); //Stefan: my version 4.24 + HWSim__generate_paraver_output(simResults); 4.25 //HWSim__generate_vcd_output( simResults ); 4.26 4.27 exit(0); //cleans up