Mercurial > cgi-bin > hgwebdir.cgi > PR > Applications > HWSim > HWSim__PingPong__HWDef
changeset 4:2d3505958ca8
TimelineTraces: 1 trace for each timeline contain several Spanrecs for the
different spans
author | hausers |
---|---|
date | Mon, 05 Dec 2011 12:24:44 +0100 |
parents | 0ef08e9afd54 |
children | 648207f2e38f |
files | src/Application/HWSim__Hello_World_HW/FakeSim.c |
diffstat | 1 files changed, 100 insertions(+), 0 deletions(-) [+] |
line diff
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/src/Application/HWSim__Hello_World_HW/FakeSim.c Mon Dec 05 12:24:44 2011 +0100 1.3 @@ -0,0 +1,100 @@ 1.4 +#include "HWSim__Hello_World_HW.h" 1.5 + 1.6 +HWSimResults* create_simulation_results__fake(void *simParams,HWSimNetlist *netlist) { 1.7 + HWSimResults *simResults; 1.8 + HWSimTimeline *pingTimeline,*pongTimeline; 1.9 + 1.10 + 1.11 + // 2 timelines 1.12 + pingTimeline= malloc(sizeof(HWSimTimeline)); 1.13 + pingTimeline->animatingVP= malloc(sizeof(VirtProcr)); 1.14 + pingTimeline->animatingVP->procrID= 0; 1.15 + 1.16 + pongTimeline= malloc(sizeof(HWSimTimeline)); 1.17 + pongTimeline->animatingVP= malloc(sizeof(VirtProcr)); 1.18 + pongTimeline->animatingVP->procrID= 1; 1.19 + 1.20 + simResults= malloc(sizeof(HWSimResults)); 1.21 + 1.22 + //--------------- timelineTrace ------------------------------------ 1.23 + simResults->numTimelines= 2; 1.24 + simResults->timelineTraces= malloc(simResults->numTimelines*sizeof(HWSimTimelineTrace)); 1.25 + 1.26 + simResults->timelineTraces[0]->timeline= pingTimeline; 1.27 + simResults->timelineTraces[0]->numSpans= 2; 1.28 + simResults->timelineTraces[0]->spanRecs= malloc(simResults->timelineTraces[0]->numSpans*sizeof(HWSimSpanRec)); 1.29 + 1.30 + // 2 times a ping span 1.31 + // no idle spans included (not required ??) 1.32 + simResults->timelineTraces[0]->spanRecs[0]->spanSeqNum= 0; // unique ??? 1.33 + simResults->timelineTraces[0]->spanRecs[0]->spanType= NULL; 1.34 + simResults->timelineTraces[0]->spanRecs[0]->startTime= 1; 1.35 + simResults->timelineTraces[0]->spanRecs[0]->endTime=2; 1.36 + 1.37 + simResults->timelineTraces[0]->spanRecs[1]->spanSeqNum= 1; 1.38 + simResults->timelineTraces[0]->spanRecs[1]->spanType= NULL; 1.39 + simResults->timelineTraces[0]->spanRecs[1]->startTime= 5; 1.40 + simResults->timelineTraces[0]->spanRecs[1]->endTime=6; 1.41 + 1.42 + simResults->timelineTraces[1]->timeline= pongTimeline; 1.43 + simResults->timelineTraces[1]->numSpans= 2; 1.44 + simResults->timelineTraces[1]->spanRecs= malloc(simResults->timelineTraces[1]->numSpans*sizeof(HWSimSpanRec)); 1.45 + 1.46 + // 2 times a pong span 1.47 + simResults->timelineTraces[1]->spanRecs[0]->spanSeqNum= 2; // unique ??? 1.48 + simResults->timelineTraces[1]->spanRecs[0]->spanType= NULL; 1.49 + simResults->timelineTraces[1]->spanRecs[0]->startTime= 3; 1.50 + simResults->timelineTraces[1]->spanRecs[0]->endTime=4; 1.51 + 1.52 + simResults->timelineTraces[1]->spanRecs[1]->spanSeqNum= 3; 1.53 + simResults->timelineTraces[1]->spanRecs[1]->spanType= NULL; 1.54 + simResults->timelineTraces[1]->spanRecs[1]->startTime= 7; 1.55 + simResults->timelineTraces[1]->spanRecs[1]->endTime=8; 1.56 + 1.57 + 1.58 + // a HWSimTimeline does not contain any helpful additional information to 1.59 + // identify or label a Timeline . 1.60 + // But a unique Timeline identifier is disireable. Therefore at the moment the 1.61 + // procrID of the anumating Procr ist used 1.62 + 1.63 + // Information about the Span is required, at least a ID.The current 1.64 + // spanType doesn't provide it 1.65 + 1.66 + 1.67 + //-------------------- Coomunication Trace --------------------- 1.68 + simResults->numCommTraces= 3; 1.69 + simResults->commTrace= malloc(simResults->numCommTraces*sizeof(HWSimWireTrace)); 1.70 + 1.71 + //ping to pong 2 - 3 1.72 + simResults->commTrace[0]->fromTimeline= pingTimeline; 1.73 + simResults->commTrace[0]->toTimeline= pongTimeline; 1.74 + simResults->commTrace[0]->numComms= 1; 1.75 + simResults->commTrace[0]->commRecs= malloc(sizeof(HWSimCommRec)); 1.76 + simResults->commTrace[0]->commRecs->commID= 0; 1.77 + simResults->commTrace[0]->commRecs->msgID= 0; 1.78 + simResults->commTrace[0]->commRecs->startTime= 2; 1.79 + simResults->commTrace[0]->commRecs->endTime= 3; 1.80 + 1.81 + //pong to ping 4 - 5 1.82 + simResults->commTrace[1]->fromTimeline= pongTimeline; 1.83 + simResults->commTrace[1]->toTimeline= pingTimeline; 1.84 + simResults->commTrace[1]->numComms= 1; 1.85 + simResults->commTrace[1]->commRecs= malloc(sizeof(HWSimCommRec)); 1.86 + simResults->commTrace[1]->commRecs->commID= 1; 1.87 + simResults->commTrace[1]->commRecs->msgID= 1; 1.88 + simResults->commTrace[1]->commRecs->startTime= 4; 1.89 + simResults->commTrace[1]->commRecs->endTime= 5; 1.90 + 1.91 + //ping to pong 6 - 7 1.92 + simResults->commTrace[2]->fromTimeline= pingTimeline; 1.93 + simResults->commTrace[2]->toTimeline= pongTimeline; 1.94 + simResults->commTrace[2]->numComms= 1; 1.95 + simResults->commTrace[2]->commRecs= malloc(sizeof(HWSimCommRec)); 1.96 + simResults->commTrace[2]->commRecs->commID= 2; 1.97 + simResults->commTrace[2]->commRecs->msgID= 0; 1.98 + simResults->commTrace[2]->commRecs->startTime= 6; 1.99 + simResults->commTrace[2]->commRecs->endTime= 7; 1.100 + 1.101 + return simResults; 1.102 + 1.103 +}