changeset 20:3a4be4048a21

missing changes committed
author hausers
date Mon, 02 Apr 2012 14:06:11 +0200
parents ba3883d39e62
children fac65c465f98
files CircuitNetlistCreator.c HWSim__PingPong__HWDef/HWSim__PingPong__HWDef.h main.c
diffstat 3 files changed, 49 insertions(+), 27 deletions(-) [+]
line diff
     1.1 --- a/CircuitNetlistCreator.c	Fri Mar 02 18:14:06 2012 +0100
     1.2 +++ b/CircuitNetlistCreator.c	Mon Apr 02 14:06:11 2012 +0200
     1.3 @@ -52,12 +52,14 @@
     1.4     
     1.5     netlist = malloc( sizeof(HWSimNetlist) );
     1.6    	numElems= 2; 
     1.7 -   elems = malloc( numElems * sizeof(HWSimElem) );
     1.8 +   elems = malloc( numElems * sizeof(HWSimElem *) );
     1.9     netlist->numElems = numElems;
    1.10     netlist->elems    = elems;
    1.11     netlist->numActivityTypes = 1;
    1.12     netlist->activityTypes = malloc(netlist->numActivityTypes*sizeof(HWSimActivityType*));
    1.13 +	// Stefan: tocheck valgrind
    1.14     netlist->activityTypes[PING_PONG_TYPE] = createPingPongActivityType();
    1.15 +	
    1.16     elems[0] = createAPingPongElem( netlist ); //use info from netlist
    1.17     elems[1] = createAPingPongElem( netlist ); 
    1.18        //on one of the elems, make reset trigger an action   
    1.19 @@ -75,7 +77,7 @@
    1.20  	 *The format is: sending TL-index, out-port, dest TL-index, in-port
    1.21  	 */
    1.22     numCommPaths          = 2;
    1.23 -   commPaths             = malloc( numCommPaths * sizeof(HWSimCommPath) );
    1.24 +   commPaths             = malloc( numCommPaths * sizeof(HWSimCommPath *) );
    1.25     netlist->numCommPaths= numCommPaths;
    1.26     netlist->commPaths= commPaths;
    1.27        //TL 0, out-port 0 to TL 1, in-port 0
    1.28 @@ -90,6 +92,24 @@
    1.29  
    1.30  	return netlist;
    1.31   }
    1.32 +
    1.33 +void
    1.34 +freePingPongNetlist (HWSimNetlist *netlist) 
    1.35 +{
    1.36 +	int i;
    1.37 +	for (i= 0; i<netlist->numCommPaths; i++) {
    1.38 +		free(netlist->commPaths[i]);
    1.39 +	}	
    1.40 +	free(netlist->commPaths);
    1.41 +	for (i= 0; i<netlist->numElems; i++) {
    1.42 +		free(&netlist->elems[i]->inPorts[-1]);
    1.43 +		free(netlist->elems[i]);
    1.44 +	}
    1.45 +
    1.46 +	free(netlist->activityTypes);
    1.47 +	free(netlist->elems);
    1.48 +	free(netlist);
    1.49 +}
    1.50   
    1.51     //Stefan: copy netlist struct with VMS malloc after VMS initialized?
    1.52  	//ANSWER: yes, otherwise the user has to deal with VMS details.
     2.1 --- a/HWSim__PingPong__HWDef/HWSim__PingPong__HWDef.h	Fri Mar 02 18:14:06 2012 +0100
     2.2 +++ b/HWSim__PingPong__HWDef/HWSim__PingPong__HWDef.h	Mon Apr 02 14:06:11 2012 +0200
     2.3 @@ -46,6 +46,8 @@
     2.4  
     2.5  HWSimNetlist* createPingPongNetlist ();
     2.6  
     2.7 +void freePingPongNetlist (HWSimNetlist *netlist);
     2.8 +
     2.9  #endif /**/
    2.10  
    2.11  
     3.1 --- a/main.c	Fri Mar 02 18:14:06 2012 +0100
     3.2 +++ b/main.c	Mon Apr 02 14:06:11 2012 +0200
     3.3 @@ -4,7 +4,7 @@
     3.4   *
     3.5   * author seanhalle@yahoo.com
     3.6   */
     3.7 - 
     3.8 +
     3.9  #include <malloc.h>
    3.10  #include <stdlib.h>
    3.11  
    3.12 @@ -24,38 +24,38 @@
    3.13   * 
    3.14   */
    3.15  
    3.16 -int main( int argc, char **argv )
    3.17 - { ParamBag      *simParams;
    3.18 -   HWSimNetlist  *netlist;
    3.19 -   HWSimResults  *simResults;
    3.20 +int main(int argc, char **argv) {
    3.21 +    ParamBag *simParams;
    3.22 +    HWSimNetlist *netlist;
    3.23 +    HWSimResults *simResults;
    3.24 +    int result;
    3.25  
    3.26  #ifdef FAKE
    3.27 -	simParams= NULL;
    3.28 -   printf( "param file name: %s\n", argv[1] );
    3.29 -   printf("Paraver trace file %s\n", argv[2]);
    3.30 +    simParams = NULL;
    3.31 +    printf("param file name: %s\n", argv[1]);
    3.32 +    printf("Paraver trace file %s\n", argv[2]);
    3.33  
    3.34  #else
    3.35 -	
    3.36 -        // TODO use the pure C branch of paramBag
    3.37 -//   simParams = makeParamBag();
    3.38 -//   readParamFileIntoBag( argv[1], simParams );
    3.39 +
    3.40 +     //TODO use the pure C branch of paramBag
    3.41 +       simParams = makeParamBag();
    3.42 +       readParamFileIntoBag( argv[1], simParams );
    3.43  #endif
    3.44 -   
    3.45 -   netlist = createPingPongNetlist();
    3.46 +
    3.47 +    netlist = createPingPongNetlist();
    3.48  
    3.49  #ifdef FAKE
    3.50 -   simResults= create_simulation_results__fake(simParams,netlist);
    3.51 +    simResults = create_simulation_results__fake(simParams, netlist);
    3.52  #else
    3.53 -   simResults = 
    3.54 -    HWSim__run_simulation( NULL, netlist );
    3.55 -//	HWSim_test__run();
    3.56 +    simResults = HWSim__run_simulation( simParams, netlist );
    3.57 +    //HWSim_test__run();
    3.58  #endif
    3.59  
    3.60 -      //HWSim 
    3.61 -   //HWSim__generate_paraver_output(argv[2], simResults, netlist); //Stefan: my version
    3.62 -	//HWSim__generate_paraver_output(simResults);
    3.63 -   //HWSim__generate_vcd_output( simResults );
    3.64 -   
    3.65 -   exit(0); //cleans up
    3.66 - }
    3.67 +    //HWSim 
    3.68 +    //HWSim__generate_paraver_output(argv[2], simResults, netlist); //Stefan: my version
    3.69 +    //HWSim__generate_paraver_output(simResults);
    3.70 +    //HWSim__generate_vcd_output( simResults );
    3.71  
    3.72 +    exit(0); //cleans up
    3.73 +}
    3.74 +