# HG changeset patch # User hausers # Date 1323084284 -3600 # Node ID 2d3505958ca8024612fc221241b2033f8e354642 # Parent 0ef08e9afd54c61b5510bc47718e2434799c51aa TimelineTraces: 1 trace for each timeline contain several Spanrecs for the different spans diff -r 0ef08e9afd54 -r 2d3505958ca8 src/Application/HWSim__Hello_World_HW/FakeSim.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/Application/HWSim__Hello_World_HW/FakeSim.c Mon Dec 05 12:24:44 2011 +0100 @@ -0,0 +1,100 @@ +#include "HWSim__Hello_World_HW.h" + +HWSimResults* create_simulation_results__fake(void *simParams,HWSimNetlist *netlist) { + HWSimResults *simResults; + HWSimTimeline *pingTimeline,*pongTimeline; + + + // 2 timelines + pingTimeline= malloc(sizeof(HWSimTimeline)); + pingTimeline->animatingVP= malloc(sizeof(VirtProcr)); + pingTimeline->animatingVP->procrID= 0; + + pongTimeline= malloc(sizeof(HWSimTimeline)); + pongTimeline->animatingVP= malloc(sizeof(VirtProcr)); + pongTimeline->animatingVP->procrID= 1; + + simResults= malloc(sizeof(HWSimResults)); + + //--------------- timelineTrace ------------------------------------ + simResults->numTimelines= 2; + simResults->timelineTraces= malloc(simResults->numTimelines*sizeof(HWSimTimelineTrace)); + + simResults->timelineTraces[0]->timeline= pingTimeline; + simResults->timelineTraces[0]->numSpans= 2; + simResults->timelineTraces[0]->spanRecs= malloc(simResults->timelineTraces[0]->numSpans*sizeof(HWSimSpanRec)); + + // 2 times a ping span + // no idle spans included (not required ??) + simResults->timelineTraces[0]->spanRecs[0]->spanSeqNum= 0; // unique ??? + simResults->timelineTraces[0]->spanRecs[0]->spanType= NULL; + simResults->timelineTraces[0]->spanRecs[0]->startTime= 1; + simResults->timelineTraces[0]->spanRecs[0]->endTime=2; + + simResults->timelineTraces[0]->spanRecs[1]->spanSeqNum= 1; + simResults->timelineTraces[0]->spanRecs[1]->spanType= NULL; + simResults->timelineTraces[0]->spanRecs[1]->startTime= 5; + simResults->timelineTraces[0]->spanRecs[1]->endTime=6; + + simResults->timelineTraces[1]->timeline= pongTimeline; + simResults->timelineTraces[1]->numSpans= 2; + simResults->timelineTraces[1]->spanRecs= malloc(simResults->timelineTraces[1]->numSpans*sizeof(HWSimSpanRec)); + + // 2 times a pong span + simResults->timelineTraces[1]->spanRecs[0]->spanSeqNum= 2; // unique ??? + simResults->timelineTraces[1]->spanRecs[0]->spanType= NULL; + simResults->timelineTraces[1]->spanRecs[0]->startTime= 3; + simResults->timelineTraces[1]->spanRecs[0]->endTime=4; + + simResults->timelineTraces[1]->spanRecs[1]->spanSeqNum= 3; + simResults->timelineTraces[1]->spanRecs[1]->spanType= NULL; + simResults->timelineTraces[1]->spanRecs[1]->startTime= 7; + simResults->timelineTraces[1]->spanRecs[1]->endTime=8; + + + // a HWSimTimeline does not contain any helpful additional information to + // identify or label a Timeline . + // But a unique Timeline identifier is disireable. Therefore at the moment the + // procrID of the anumating Procr ist used + + // Information about the Span is required, at least a ID.The current + // spanType doesn't provide it + + + //-------------------- Coomunication Trace --------------------- + simResults->numCommTraces= 3; + simResults->commTrace= malloc(simResults->numCommTraces*sizeof(HWSimWireTrace)); + + //ping to pong 2 - 3 + simResults->commTrace[0]->fromTimeline= pingTimeline; + simResults->commTrace[0]->toTimeline= pongTimeline; + simResults->commTrace[0]->numComms= 1; + simResults->commTrace[0]->commRecs= malloc(sizeof(HWSimCommRec)); + simResults->commTrace[0]->commRecs->commID= 0; + simResults->commTrace[0]->commRecs->msgID= 0; + simResults->commTrace[0]->commRecs->startTime= 2; + simResults->commTrace[0]->commRecs->endTime= 3; + + //pong to ping 4 - 5 + simResults->commTrace[1]->fromTimeline= pongTimeline; + simResults->commTrace[1]->toTimeline= pingTimeline; + simResults->commTrace[1]->numComms= 1; + simResults->commTrace[1]->commRecs= malloc(sizeof(HWSimCommRec)); + simResults->commTrace[1]->commRecs->commID= 1; + simResults->commTrace[1]->commRecs->msgID= 1; + simResults->commTrace[1]->commRecs->startTime= 4; + simResults->commTrace[1]->commRecs->endTime= 5; + + //ping to pong 6 - 7 + simResults->commTrace[2]->fromTimeline= pingTimeline; + simResults->commTrace[2]->toTimeline= pongTimeline; + simResults->commTrace[2]->numComms= 1; + simResults->commTrace[2]->commRecs= malloc(sizeof(HWSimCommRec)); + simResults->commTrace[2]->commRecs->commID= 2; + simResults->commTrace[2]->commRecs->msgID= 0; + simResults->commTrace[2]->commRecs->startTime= 6; + simResults->commTrace[2]->commRecs->endTime= 7; + + return simResults; + +}