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