From 10d82d8f7c4f569c7d639cfb10a7ab9cfee7667f Mon Sep 17 00:00:00 2001 From: HelenClaraGeorge Date: Sun, 3 Nov 2024 11:51:37 +0100 Subject: [PATCH] Changes in semaphore manager and router --- README.md | 1 + include/semaphore_manager.h | 7 +- obj/router.o | Bin 2607408 -> 2608512 bytes out/noc_simulation | Bin 2699128 -> 2699560 bytes out/report.log | 1503 ++++++++++++++++++----------------- src/router.cpp | 4 +- 6 files changed, 775 insertions(+), 740 deletions(-) diff --git a/README.md b/README.md index 2d8eba9..369007b 100644 --- a/README.md +++ b/README.md @@ -9,6 +9,7 @@ Corona_NoC_Optical_230924/ │ ├── configuration.h │ ├── core.h │ ├── router.h +| |__ semaphore_manager.h ├── src/ │ ├── core.cpp │ ├── router.cpp diff --git a/include/semaphore_manager.h b/include/semaphore_manager.h index d30b67f..08fe9de 100644 --- a/include/semaphore_manager.h +++ b/include/semaphore_manager.h @@ -69,9 +69,9 @@ public: request_queues[semaphore_id].pop(); queue_entries[semaphore_id].erase(next_router); // Remove from set when dequeued semaphore_owners[semaphore_id] = next_router; - //semaphore_status[semaphore_id] = true; // Mark semaphore as in use + semaphore_status[semaphore_id] = true; // Mark semaphore as in use log_info("Token for destination router " + std::to_string(semaphore_id) + " passed to Router " + std::to_string(next_router)); - request_token(next_router, semaphore_id); + //request_token(next_router, semaphore_id); } else { semaphore_owners[semaphore_id] = -1; @@ -91,9 +91,10 @@ public: wait(20, SC_NS); for (int i = 0; i < ROUTER_NO; ++i) { std::lock_guard lock(mutex); // Ensure atomic update - if (semaphore_owners[i] == -1 && request_queues[i].empty()) { + if ((!semaphore_status[i] && (semaphore_owners[i] == -1 || request_queues[i].empty()))) { semaphore_owners[i] = (last_router_owner[i] + 1) % ROUTER_NO; log_info("Updated owner of semaphore " + std::to_string(i) + " to Router " + std::to_string(semaphore_owners[i])); + last_router_owner[i] = semaphore_owners[i]; } } diff --git a/obj/router.o b/obj/router.o index 285edee87191080cdcbe2a5112265cb2b03364e4..a0f614d78dbac30a253eb11bf5c76fa260e2fae7 100644 GIT binary patch delta 57534 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 QHa5PB?O>Di`98h>3y~Rzl>h($ delta 56023 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 BGIjs} diff --git a/out/noc_simulation b/out/noc_simulation index 36396d2d6941212e8921ef447efe8d4ac906ee41..6b8fd491ab81834c266a48b399264ae16ce83dd7 100644 GIT binary patch delta 143851 zcmagH3s_af`uM-sY%o+*R8T}zQdIIvMv6*BCQ9aoObrzkO^r;A%#6z1c)>u}MWPLv znHk5(EUyWf7G4r6GBQgtFVwNxDkYT}nZo}wv)0}q=llHr=Xp+_nRniK=bd*hYu1Hr z^_e^)|HnKdJ4}Rif2qfrCOZZToBH35!8xsrK27>hFm$&6gk2+yK1R!#Q|vnLVNQlP z>wo6%($uQ=!gF_aU$Ulr)XBUS_8&glwb-85T3nlv)4A~ zwp+zMZ{Aq#q$T%jAU~IuGhRx4_B1Q_HIQHFXvzZ{$P+Dj zNCSCR4^uy^fxMTcAFkyNo6S9ic3YlCHmGpal1Dd?pR?q#4dm&w&4%L|$PYhk%H!+H zy_vtK9?qHbe4qQbSdq=IUrw=iuvu?=19_emsKN&FZk&n8(zmh(eK z+g%kIn>AQ|)HZsJDq@0skeS$u))B;c3sP@nFU7ekcjG&L*tFl3P z?etwkUg&T1`@||wD!;M5_YBjclm_yblXAAa_-)Xh0JFHPLGjo&yVhklG8(V2Iux0+ zbamUDqL=)FZfj%Ki2d%yhMsG)>%vPo8fBH2G$>!*W>=FO9F4Kcb5Gt_Kf{veH<07# zf;D|cl>3{_`h9<6wPjWZ0vpITT8@V_kf%SAb74)NeotD}QW_M$Yspg^$nTu9YsA{o zMo@DroEuNy=*Hq1yLP@z??=or-L###v3%K_oMW<2(8E^skOswX&BzJL{U~UjRh-_S z_}v*ff8Pq>Yoy|Im5mOQ+He9fGk&tCa9D6zHaT6%-xe*U}muB+#| zt3f%gpM14XP-|-dd@62ib&7vZ=k*^21zW|*4T>M~&$+r@yFTf)VFSCmjr?$qDqQ$Mu}{CjR&jZQ;-@WnMFYA2!kkU@szv^E zV-(!gq8rGMKA9ulsB0~^L9x5q#s>0l7w($zMn}Vl%UQaqt&y1X%BJDQ#+)BE4R2R5 z);uZ3UbxYLkes{URGJgtRGM$R*|uH91Eyy6|7d>oW?v&U$H?p3*f!qOiO=~VuWe3T zUKsMH^ZFVUIdAjd#GLPRy77OWBE9rKeT|Tu9si-$M6*_Q&fWiMyLz)94Yu6;RM5#D zR)du{y0)li&Zf{XfHG%WsX=!N;>~wu|=Ij6)uS@$F56^M}glZ)tVh(1J%Oxj`PQKrFv)M9^#Acjz z{kNNZ`=rrdeA7+-aMI`~in~eUd-y>&dGq&1C$XiQ9P+(!m-v22!Se5oHiq~+SiXA7 zkfO4aU$Uf*6~zKld74%}i6sOik~A{TP>(kM#~~XF7cOF2%G$Q&)qyywF*; zIcsztxcw$dO%t)1sa1p_b9_Z?rc>L@C?ub8RK@YLE;ieWq82OmaSqe^^6|4qYms-C zTzS?AZL8E{o!KhtnK2cys-GuZ8F$G8XN|TZ_nN6Z_%3Q2vgu$oN(nzCB#` zLHU)Ly@pdGH9b(AizQbXWyI!(QRf;t23Oat4Mf^)6vC$mqhn+6KCfwj8)hS~Rg zfS!H2fKF$rPCL`gn#Hc?%&cyY()lXuaHg4_6}zUH#mUNFisQ^|ww1lx%(~;bs)aTk zZk2X1OUsn2)b&?c_XKJ%@aqSup|mDVxEy%SX!`#@34UZBVh)>=B_Mhpv38~v()dT} z05ChY#r%V+-533|SE@j7MrU0=F}cql=9x&t*;9dzIeTXIaOhgmTtPhh(_cN5EappP z^{TS!j&rf=;hxGmb7%aQXl%45#TY#%F{y|*#yXqLpXr$nm1;FP(-JWs>l}qbK-DZy zVbA-JO8-BN_Mx8*(t0+n=M2#Z__R*-;)vQ>*`l!#>{z8W*A}U6y8Y7Yb7E^c>P*uG zI6k#yokg-^%&fLdHrmW;zsTOIvvh!TS2IoD*nG{jj>N2H%Ag}HS~*8qjTvthOO?H( z1LYp2#~-Da&X}?rhv-mqWg@1`8lPZx`WAa)E-kMzxXz^AUCnTv{#%(lq&mWSSB784 zuz6ipd#S?|E~_VW@2KQPctB`853o2yw-cQzFWi!fE ziDQTAgLcrp(*9;SxE*vaxBu3Y`B@SAvYsr?l6_cDmTbx1swc~~WI1k`1Gn7k@I+JX zWw@o2j1HylbvRvRO{Z(r(3wHCbced_QNd;nXm~xDd!7W>lj+Gaof!Dk3C$_jO>*sm`J$ZVYuDa*W5j_#o+;gWu$5h96Tr;`q7o$_(o{y*rlos|+!(~24jZ|iu z4+XK_?i1QOviuigoCv-}_Hh}(Aun~K(3y5t>EKOHy((mF-Q^sY5j5n-0a`0tX>p~~ zX!h?k+BJ9Dr_J(YUEnm;0zRDXDSv;MJmTUEH?F_@*=2Ma6{Z(Rn%1Y8c4k)BBiqEx zZnu2;*PL)}7l$_1zQkFjr+wwb^Tz!mD^zYhZ?tph(*UO|&-Jh3s(S~U5UOiN|Eo5z zpC`F;55|&o~Y}2OpGosq7mv>T$MvF7=E44MQG_p zEp?iO0X-8vR=s27q6_)5fl$kBEvR{~4-EovZGP61WWVe~wXcZQ+ z8_lev!m9j|nNPK{%dE;)_6f3?F=ZJsm4qxr_esy*SaV4JFwb+T*v=eZZVgjs8oFUr zDK(3_t0HIGW9)$e%9o=)O4Xe8WCwSVeJh#59n27hsI8KL)@as0!80VgZ_{RMy1;3w z1>9LT5vqpB%u0shMRiPcrfoDQM3F{7mpZ-eL*(b^i81};#Y%>xi#c7jKJNINSzV8; zx0%(glD(pQcc$sq$^K$yqm@r&%gwCnsmk8$t(7a33uO12rKwi-9WxsiOng65FFTaZ zSKW0LKOOS`!`qHjUlCV#k%hk+T}96!^6an1LypUxv|<%adBz}(oet+5*5T#(Mr7;a zd|8$1yA7?tc}eT(lj66x>YCyDgtk@}IGbIX=!yM2v)oUYJ5h7cP(Zi3!FikAkfzJ@ z;H*_%anjT3=Kd2KuFLfi-03vc0xnJVH1LR7KiRCGZPwS?W_=%Bf2}T8U6Rq4xUD&* zdgx3u^@?3znAtK_n^=BiW=$_x5oQ+Wb?HVk8)s!-GPCa3ofO(~m1XJ)vozbv&Ln&O z*T1=bFMqDY)*@}ZI+t;k$ChU>TphKAG1f)uf*0Ak!FW&&pB@aYz>Ly*dN2l>v9c)% z%TJ@(*mzH@%KB={71!G-I!(QRj7c5^-@D{vRjh<}`e;RcR&Y8u>cI>aIhcYu5y1?1&Pu@IQ7q-XE^6k3ZX{rVEsGGU(-hpko z^uI>?&Lex1v~Cle?%SPv>Qv|5A)Eg}IBaUDtlK8~@Vj!BNv3@&cKv8(bxV|fZDy;i z(!*xf-O*+?T{qh*-E5cHe;94&L;f)LwR!DOqmlUTmH#b*SMFw^-rVQ(9`Cu*2*+}RA;eD`kk3{>3b#ALNuQEhZRS+*q`R8O|ul69*mbDtUJ)aYj7 zEEPK{)_HHE3ZXvl>5D7v{A{rOxEr@wm#kw`l6_Q9mT1Yg)RS$rWG~l~6&e`^v|2Il4!gJNe`vuiGxuvpvFoRLLietH zi|KTgW&fb^j3**ic9(WkpUmUbbkl*>neYWR(Gt$66Po+T{q+QTGl{Mz&^yZW zW}DHLg%HZEHuqnXH&+|&du;z(i4NXfSgN0=df)qi+U|Hz;r(%(N*(zaxy|)-b&U+~ zXtb3rni}3c=C~`BnU(CGN>5vr)DsrhZB)9msnOff`d@*mVpn@TCf+muQQ3pEarLT7 z9f{5KPX5bODXgxk{YW)Q>1kbB>^i5b#avJ(N<3**f7LkcBdIb=x3fOfnYvN`sEB+2 z<*0VI_l~E%?=G9|-Aj9H{uh<)d8TdB%Jy)N?X{Ne;%;hTnz}#edfw|irjtFUmsqBM zQ&Dnqu6JO&m1(=uw0%Vf>z9^1EjY|U+vjvGE?-@B zNVIO5uIHWMG5xV++L7r!&$4~`ijK)8W!o@qlUBBG^VojdvOU?ft#zL?ZTIomUg2@O zm1TOFHtn5h)o!VeLEhJ{2%E!fVS!b}>FuizL7cwKD)$oT7JJk?i?kwh<_$n{#Ae{u zyJcoj0&q6NyFK#r>y?h$(9Bu(y)t5M&mn5U=@LDk4p=4g=xifTksji=>MB*L5z&?O z06FVQj(JLSe4nT*QLDtPqoXsiu4F^CjJ{^v6840d+7JoN?)Y74>6@XWE#zWD1cv&lR|lCf)gP&saccP5HxvwN zBMS|2w=qy&HAMFonN=PeNxX%S(}n0@jFO{;2p7RkWvUR}gnv_+FT_1f8aFj<_C!8I z_{+w2(Qcx@dBg6<=9RfNk!{m-=(>6TthZX{T2;zJ3jY|j5gb*19S&9!b9?3qxY}-= z0j=uFZN22PcF}S6>+MyE`KUfKElF?7=ItLJFJZvFQ9tpA3XNyGpJ`^bU0NG&X0;n+ zhnd;!)+RsT4_Rv$U5!PutC#3(JRxJf#N5U!8k@Z>mHWL!_cr5nmNk$zQ&-b3#2%4X zy+kJ?Lk4+^ur@oDOBoGR=E-<(5z?mU|08v%i~iseoOSdaLjhj zw`D}`iy@xK-4~=H5|hp0mePO^>q?xr$ltt0dq>}PI%aVy=r_cyb0ZxyT|gM@ghyK< z{kNW4v`6})ndU)mvFof(rzKn0rZTc0GPP9bQ>^e^!D>eN`D5+{=kN^5n`pa_DP@-S zi}hsg;d!>6%soaABcl=b7{x1}^`$FxQ;!O6Phix<4%uVAkCq zQCIHiPne35xm9HTigxCd>Q4`4kB`mx>4Dg#mFeovHeYx?8P8$0z!&q@?0~!-Ksl9 zWj&D$B#@qPILuej2i5DsjI?k)AJ<0eeMRTY;|MMExlDgNHf;56m?l2ZCW>9^!zlCR z#ENg!ko~{vqD+CcOKJ@x!E?B5VF)6{A;JQ>#g>e^T{V(P5vdBj%phng|EF>_^@6Y3j% z=N?mLPO>Odc)%38_oXv;c;?Xy0csw3_N8HWdP>Sd&3$QsztULC{Pcv*G|HPWHKTO_ zF&=hN%^-704>HqwG50akdL4JxY0o-tP4;5=v}U>dMpH-5IPxXl_~?Tr#SqdS?BXs_M?+3B751KOd!rMcp~Ps#DgT!}xPG zwetQajkX1geZ?3gXx4&p}Q<#&aDL3J}R-AL;CH75m*7O@$ATz1;tkZW8or&PSv zSKVm6qU7jnS&Aw9slF`Ll-+vV)KhllffgdLRqvnhTUA?Ll%o2a79=mWU>AB^JzZ0B zXTY*-&(Y;!b;Z+-SO$NqD{Ja0vm7{BSGFzCUC(m(<+`#5+-1&yWRKL(bzNwSH+evm%7Ay-f@XZB15vhkO7A#w)%`+}!WqxGA19Ra0x z%Zr|p%N*3K7})Ei8;~}2dlrF1qq_4a34FA|2o$>}SIGS>MR4D5KCkbfqtu;?^P!FW zx~yt)`WHe@>T3k~pZn1o4DS-XnefcBz3ksgL^L0#ULjl2SP>vU>ucO=AAh!n^Pv$e zD_V(=zDG)Q6E1VwB!BA8=>}h^%c=&)ekSCBFr#zFW=Gt9DRJ#5^>e>}B8wt~fBZd4 z$C_KtfS4?m)7PVFR-^W5c~K;_pQtO@;4X0njH;8yx}}8a%o!cG{=)l=8L#4l_1k{r zkUOW{-%^)Ve!hBG$g=K6ujUcFLUl)FeRJ6)jHujx+KkG}0R(09$J&k+l-MG7PFu~W z%POnS9MC}tEO3 zf6{W%TOXF30aNSBUO6cr3lz7sn}5o^%POzEE39ey;3>HyP_*u~>D&6nW~Vl+^mNzI zS6?bR1L9W7sz4FYY{z%1i{+}fo4;2ZV8AG6K(qI?>(-uCySsjFho?;UQkb1aRrhjo zT~_sS#U8n^ow&vEfoer>H0C+5*!AG|Zi%}OF>cB7q7dcI+HWikvl}m`dAjkBdJdSQ-4g|m28k<1vq$@?;ngu8R4(TS zi^s&PSLE4X(MB9NF8>Y|!~Eawqg2#0j1xLl>^kwayuX9kW87Zg(@_|9-!VPSIWp@g z_FL{W+Q@kWjAp}2c*><`ly``}v=qBW>dSY)lzlpi*4({mzdNU+7+#lEbLISg>9|>p z3GZ*-g)-39)&?@+D;*TRZXEB5U3xG~x1oFD!*dY1agfob-50Gq|bj-C5k( z?g90fSj`?{yj)!t%+ZfHrbl097aLx3+6r-#ea5jGIXKD)k_S4AyF{BWrRXAtHtBwg z+3&DY8P`RG4u3}7Y3j-7?y#TQXPp6$>~eQeb*ZU2iD*@Kcw}8xmEQ5b{IH9-SM={7 z8-=XcCCwN1aJOA$}rJApjwO6i1i3HJ)BTdBTwI9 z^pMxX!~!nL$+w8ELH|9E<&1--$L3_z;cHwXx81_P|9-Qotjsjg28&&tiVGU|z<`MP zO7>l8w3k&c5~1}y#Xn7!(q$FKdk+=7-b?hbJDPoL`Rxn{;>&Jpl09Kwco;_Oa@oAD zOnS}zRdEXhZn4U#eBO#A@%I@%#Sx#N9tM`L? zIHc=Yp)IK^OLLbw12%c2L9V`TG2wZjNI9%`zu1Fn{)ae*?b8<3=JNGCj}Png*D{_{ z#iw;8MeY(FFx5#f=r36Ue&31(y(g(~{r864H}!H##oXpZ_je0g-X?k*vAKIaj(qZ{ z$B|0)fXGyj#N>x{C9TvGB~{`Km{KQ=YAU0L7y(^h~-yW1c=C*#F2A z@}(ih7}@Q1(W>KnZPeHv*vplMqpA1nI+91Y5c3Rt#)opk?IJ?>eju}M7x#$b{RLm$ zE`BqNVp%jm-0pQVU63sw6m1LqB6&V$j49|dPy`#|iLd3zLE@D0lDuWGc+O~D@YZ1Q zg%Csb6fC+^yleORa~t(`d@kC^JBEmEUc0PpkX$-MTr3+T)?Y+7`FOmzDE8*csS`!M*Y>}_OOBl}JA^8^tmdP>=0ia00+tWg~p5%l?Lnws#Erz!3A zo*dm&2sI~96`lN!tNEdKZZ+fQKPFdAC7k_Ulq;u+0rrWjYh=ZAqg|h07uKJLFFxtc z>5D^IT~--6ut?sNC??oHcu5}xyZ5>4S+}|>KJUrt%B>c=3-y8I^TqOgRk^8Ixr6LE zU5rTjJ=(3L*X0el-gmppuxGBc6cyAd^wi4ht@T}Z-Wjl0RWT0~59qseRv|UM&z7gB zi^$t{5I7!4UW&~emCp@&k@YOsU+tF882ymDPqs>Xzo^e@Tu@}}3=!OTla&pX{9)LT zjswoCn-b4bOxLYiOYx#pelbI|Yn-SLM8&R6@{+Rfgq3|x`adLwIMlO{dKT_h9p^2W zUd%(Cx_^ZnEx4V|E@6RR>~nYFSLV8(VAjOPtP9G9daEJoJK(LV>&_Ls?x({SBkDcF z&wYWyjPei_mD8%L`jtSD%63!1F_+MxZ28wiVz>X4EJT?BvokzV&2-BBGsUPo2I~mu z3-(t^2{V~7piV&9^JX`c@)~@c}XnwkUX13_i>{6zu z{h{eHZ??z_*!+tMpE_WCuT#aY(u^88J=Ivy{9!H7u8nlo$RARTG5!aCcB}ubQ^hV< zx{OW|Sz=IzJenjH-u8@ou&w{#g-B#Z`^0)qd@Icot_b7#zdG@0+ZjRf$wx%r-fP~e zsa;+z^yATmJ#-*-b$!-!1{|vEX<%B7-0`r{+CJ``8d?0XajRo~UEv{~fSJ~dU87Ws z%1GvT23NP1r;61eDX}wK-wEseK}UBG6$;h#yV%vEWS*Rz0quTLUDrnLT3KVNeR^nQ zX4`x11#*rsjDU_mxPz1VUzI9$Eyh#lBmC9TxqLZct{5s3(&YNNV%S|nxM;-Ieb##u zmkS!qj&-U{!}{7+Hx)pM`yK7tA5E(dE|WLU6Nxc9Hs4^RKVEr^WLh8Y>TX3X#b0`5 zJC6nS!!(!mr1r_TYUJiejoa-PQ)}dzM~zO+Q*gK1(#K+j^9dzZHdB*(#pPy27)pU=9%$HNnfTE?IrSkno z<)-zpnvYr47ZcXgU+PcZEPqcH-9?+tk~4O-HF-v79`wbKS=JtNTd z+Z!ql>N&Bgp(EWkRlf1KXq|9O)vYuAAeZyBq84j;U$C&F>n%^saJ8xH9_req4o@x5 zs)wR^;%a;TS8oKHAl(q?GE%JlZ{~e5E2h28}|lW`OY1% zhji$QUE`M2$oG?t9RcBbfg5xf-KwuWN60#u zA#=+zkXf^F{t`K2k?0{(I;n42Z;`Jr;t1EVQ$g7xaf>1Dcvk-Vl$hA8-!q<>btqR( zPZ4eX?>z1f!8_lY4y;d+St(+6#7d4=db)VF%drIKVh7het3YjK-X(SS-8m^d%uF}h zcD(m#Pct()-?1g0`-r=CJ?AgIDkncJZnx*Z$}M$<(Yr|@hdULo(a*}yo)$%Zzo{A- zF(n^|QNuO$DY@<$PGBJ$<$FuT$ZqdFN$K*#oK?o>GN|d+gnElg>|imu%F?&FGGv(; zH05ZDM>o5k?r=*tTj?$$&vrNy|1q1Fg<-O(`YA~FBVPPJZT>E zJR1OJ557_(Tee5xOr+6RzTVaFvG0G9Pis~h{*jr@qPTnGx=@8v)#l6W8H;LaKRu-0 z5XLUA^oz}St~xWIjn+a#FPX9@Wd35&WA?c(-Q#sX?@Lt|hVZ5iOPp4sBV*Hwp6s|+ zkBQU!1CMIt*QRP)rK(1QLDO}^RG*xTqcdQ#I%=A2Rp!V$9AdWI@SM0k_`H5F!XM?B zO@!55RR8jpm!1;=LmG9itzDtoJ*MV@(|glVWn6D`mW#G0bTehj-4W_-qP_x-FSpuz zLx!h{fc6yYOU3{+&iCX}s9aT54!G@RRcz&UFgI@ApO!soEx-*#dKgzeFY;}IZ6Q0gLzFKuYRn*$$#|{xVsj2#OHACG@ z>Z3!6)lx7|w{)j3nVnW2R+*h1&DT=O>o$*T^HeByCF)O=)n(t)>4N$4)>IKJMtR9G z^uF1xdbIRdKbR~ZPZe#W|Ev?;mW(kq0@mA%dpc^bc>2Zav^MG%Y3eIQ*Is>$bHmbl6M?m~f>r&xrIk@vA{LlStDtO|7-BTuuFje~Z0{iN-eh!@ z(JREp#y_sovIm2e>>k-GO(cjtM+#P@iPMJI(NjM1yhswmd&;k$7x&uV;4*#lUB)0e zF`XT8>cetXIv=JuUn$s^E{=QMv{xVXZSt!LMt7OK(r6?PJ9)U=_#tM@n(4HY8KZ8j z^$p%-gwpRp5hxQ68TZ(KnpOWkanLWKsq{NwG%8sA0(S##9`#deT;2Wnncxo{xO&xX z3S-I)pI&yFus#iNFMN7?$N$#dSif#lwKb|~^=@K~++Jq%mEqHP5cm2^qD!+EOH`4b zMj2D&moM@4&HWF_zh4qjgHJ!J;+9r*m8ruYG^ta9vssYV*I(4+>H8MXyT`3`_v7l0 z%$Zfwnj=E%KijxwM-v6SifgouSUstSF=nVGvueM#c<=KY?&ka zg?|^!8|j!+vFzI`J}Fa=sGV!86ijbtw83%9JG%DT4EaQk7;Nm3+j97_<}>+Cj<|h7 zqi1wu$y{eWf6esA(^?j%uD#B+s)%m&Kcd2*yY+#dLgrQ2=`_^>+Sir;wN56k5glXK z=xOCSYb{lyU-wFRftl6jaql5B>!(^HJC5wfHvVwl)o+T9RhJ8ssIFqAUeW46B`Jx{ z>L}S~$l5g`RCGyH43JaSipKJuwc>X1a-w`@tyn3V|4<-a7IO^axSS_N;HU#S{A_jH zD(a*<c5cEEfwZM(5`6(IcvX`(u<|M#L@&dwFh z#kwhSQLYGYwk}&0>;8Es$X&T&pyT9ZwJ-BTNXO2*=R}nysNM&3f%=?rz<5)|5np$f z%CoAyGg*gRe^L6PC#~v#en7RQu2Is`J+JN?tZ)77I7rbxN4&ee1)lacjx*cyqdoNX z7l09_ZR?BDbdT)>%k~SVZLOQH>v>Q2m>%FU9b=h(|3Piq{G#+bbJ|#6ln(INzS**U zn`v8rZaB)c-N5)v?vNbt*nZKnT{}Um>#rEQn6^o)a63J=-?3~zXPVZ!(lj0CF}>0<%@?H+mhC*# zwthrZqK8L4E>gA^cx)$IwmX})wQiJY`>zRZx9{_~{oPnIB=>65-eaxW3xVA z4zq=URu!lB*Q$*9*w(D#N1$)~qO^uSm|v7G3^%Qx!r2V(ACWiwqI8ooV$Szp)WGTM zp`Ih@R*Cwe^b1ds9^(0Rm3Dbb^Z<>kD|y9JqT@TLu0*X8vmqUwkh+pt@#>4xVENd3 z(QJGV+|?b^pOprCIyK4a)CJ6BcwbXNb$T~*M?ovsdX&44HY2cKE1!K(ezjga-zsmK z`m1hroU~51AILec36}_;CjHv;#CQG%UQiZKl?RR*9puRkqNO2ap58D^AwE?rgEEa=wiHj|lFt+Eg)*-e+CAMrakX z#jaiR_3oV-^)E_4zvO-NW*s^_ZI4y*w?kx$kd7tb)BGx#aAp zz?_Eqc-)V=JoeHHK(~Ff68LL@!yGI>CE*yRzQ@+>)iRi-z!M}rdX3y+i&h776%G1S zPf>l~ro=Dl&+1fsZI(p+`l1h~GG@Wr~tG@A6*JCzZn=N*Y zg;c+(kaF8aZ~cT$eHxmq+*Br4yd`=VrsXE{u&lokH1m^2sg}3}*S}j~9&Wy!r6*2N z=J-le@QEqd$Q@4+=dm3-uxp;jRzIaxQ~CUu(turcCC69FyYfZ*hZZeT8f*2RvsgVb zjXv^_TKk^AoEtI9vP4MkG}9YZc>0;?B9-o@)8;R1kZr57?vOdA&D0$++sGVM8T-(u zu}cqZBqSOB>7LOlb~QzBc}%6T{JBbdix=MGDct$z)T1~x8$I4^Wn#N$XsT-Z)p`Q$ z*Q$B~<=kzqr;%83R5j+*DOfY5*p;pNY)-pBnaT32W}>wW86>=9;@e`iDF55sHk)q| zpNRYZmebpdcJj9^VvVS}qDtD!*WVHAMdlS$)~Tp>zVl;b z-g_c}H-N@AF`m8e!ENF%W3(K#T}%^&i{yLTMU>dSNLFqaPl|zy4Eh6Ok9ipvR_oU=q`UY`zp*;1z2$e^6iXtOUKEDe)dlx7>y=A~|cFCO!WVhYo zNn@~FzngpEUJGRE4sn~<^|&&2pIHC6jCvnC*OHZ;D)H%pf}?wQN7-@bPjtY1Bju+8 zx5=F^jt;TeWb#W%O5$?p8gPr**q55x zv(O&u<*1Xn^6_?~dBMQX#6)2Xl{uv%^tPp)|4&oLCSqzJsy_Zv(#{X(>` z8`EU_GG0heo2>riV-WYmQ_9q}w_s73IB1CQ4sy^j?z5+jk#moUHD1rNfaJd8qKEAB zHP`yF?PcI`ikFTm7;#+8Hbh}Nx$_$YzuYI!eZvdz7mH=%j!c|(CzusC*Uy|iqDpR- z@h6!4Z*-HDCqyP8Oeq(WgU5GeVX9wnjm8u{Y%+D39L7+xp4Fj#vd41|clfYe@|~C|-VT-Lz7r$Fl+c3klVXM;eqJKi zd@ptwhP>EoC!RQ~w1w$k@lfRu49cBDEM)nt9^UeBE zBx0*?0VQ7Irjxg+an=tvg5}@8Fi5?B5&4b&?x)1^t9yi&UTAyU`zk8@$eTV^>5Eh9 zZU*f8f5e@#|9Re8M|#VC7Z{(12gsQh#5X}{`kR|k?2$2L=Jych-hOCj!2=h?1BQ4d zMCMnDIbwp4{=ZT&Euvu9uOiwIA9R%IzfrKrCNKX+!GHP{bh{+J_4ayu0xjO($lkiq z2YRN<9ba=aO;4wfuF$)bw_~qDXww@R7ZQJw*K3q+qnLA2Na-uEd)^F5KwN*k3*U z_1kO&$g&^l?<6mK6LC|Lzd1pOR9m@mym7l|`Kz3I6B)jJ7$R^eH7vyZ) z+cfn=@Ny|t^@ldHY$|sSk0lr_3g-CQbM1z&wENj(0?Yd8WnF>6Y77!+ZSa1X=x0A= zzxLyG`FKB8#I}2kCURCwdrz_LU%9%a{kGOw%qDAKl76HWo{_%%h0#%7X=$G-E?$)r zTG^LHu3x3CyDr9=+eNX(mA5*V^7rtj#Fs z+1l=9gvDf7X5vxhx?Jpf`~3e_Uwd9xYd1O_ZA&jf)wImV$qaw{8FBo)d?dggB|?4W zTLH|IulmbR1MH6muTs09`7k-0Xz>hJPF)swD5_kPyt## zKt2*^e^#73>6vm~(r9Ooj2pZ{*@$sn98F+|f3fS4GkjkzRQ5R?TNc*%5@bc@ zF(~4{NUaLbP{FNDRNL80LhsSvwK6F)MC|eymkNk0c5qC|f-@Hfs5Xj^Gnw!1Y_x7a z>@Vi(J1T_C)qB2E)E&zG&YEi<2icRnT2dentPnx+%ih9Ij&E;~Wm?VpLCR>;g? z`w{WfxAMI(d)tCJ9qe-rqmMk%(f(@3`2%aMcSd)Qd%${nY`zb`iQY21lRebmNBs$c zda++O-@C|?PWEuIcd5ME$^H^oqpT47*Wy3H1=DY~^Bdf+wJ&(2v)$JaF9yk{y4d>~ zQ{`J->~q-aWb07-OyO)NpANNW7(&{++SeL$ni$kJW1!*FEJNB7UEWO4si8;XJmV*PVKH`EGZ6u=u&7{JgvU_7)$RpK_MRX2$!t zHg%LO!tAe!;Lla(yZe28z~I7eK2diD%sVK53bXeRZx_p!x7ee_FNfs=x7Z^@%aVeO zTkH>c?FqLhut(l!_xB4K``D8UXDyh98~T58;eGb59Ybt`LLQhkZ+ddlV+&@5%zkV^ zom$8vPsn%fv)^ol6nt@?{fS0Co|-%U>U6Vwd#s(`{}w(4sblSBO&t4HU$31z&}NHT zcfEEE90{Xf|5vZq`o!35D_^@_8x2Qnxn7$L$G&^LHW%i?LU;yd&$HQ{+Ht)${xzHJ zFf4~IxD`8p!cyqH^LlM1^oPFuP~tE+a*)koyGSA#LCP)+!b=OouPSe7GH!z|WuyUV%Q*He2Xk z>ccx>ESv)!NhJ1>NQZGBVgSyBB`_7bU@r8z+h*Gh!(bVVg)W!`ZTqMX17SXlfF&>v zy5Jn>GX#4u3?7HE@V9-}9kod$g7#woM!`5?c|Z!(%WXHs=>PN?;ju!5Uc3 zY#(}nv4o{Ca2OGQkudS#_1Z)jd+2&?D(rpudTkzD1P{YDpD_F3ozQo<%{Bw}f~y=P zMv~YG=faaP3yLEwANU+Bh54`&-dv1jKZ98??o%9tzrs>@6;{BmpIxuDjUd#} zAHD-4;BFWT_rnDE8BB(M!R!&N|9?s3Auv8?*}x{S6ehzecpm!QXR}>`p|Bc8!Y-vO zKX?nA3&UY5dB+KiI>$P!kF-(U0U^YxY zO6Xu7EQ3|B3I>0Pfl(~OGU~&p;83^%#=~te1-=in;74#Hocz`G+9H?)k2^@@khl!j zL!Z$$TOkaCj~*j*a3M^9&%tE43a)_f!#wyQEQAMODf|pp!0@lH*LscNX%GyBWpF4A zJbt})CY%BtD@ZIMkq2|(VR#U_;M?EeP#g}yFnAosLh&t=3`W9qI1J{)aj*nF16?o= z`rL1`6~Qq08;pfbPEa34o?!i_lNg5}A1;F>a07I~Qs^_5^<9nu$kC&AB-{z-!cv$8 zufVN}CkZL^`<{rxDCqwHw;wP9u7=~_KDZG6@;&Q+4GD3I$pSmV<8TnX3@1SUafI|V zS4DUZCP2S4EH5|+u7|VXK9~(p!F})=JOzWtvjd*xDhgM^L|6n@z^e`t`6Sj?&~tbc zy5M)vX9E93%@6b(M!{G(2`0hWFdZ&{`EUs=ff>*RbD__J>?be`ZsO=a5}t!|VH@sE zvY;cB#8wiEU@6=KE8!LB8_#Mu$9@2lf5HGPgL7e%pD_UY!>uqKmckNP34MN{{zP^} z*bAn^k#L-g`fxtXn#lU^f0585I0uiz;7URdBccB!mJy7AdtfZAf=Mv=S0Vrt;a0d3 zmcnhY5?+A5lX3Jn9Du=aB#eY};RcvBne|^tVk?43u(SToh6N-4VD7-Na4{_TlU3&+agM}cXuHgw41=N9 zR4TwwI1Ubl$#5pT0<&PNzi1eCgr%?ttb|d}cN!-g7y>uJX!tXn2_vo$IaLlF`6T9& zD1ob>3+6(fM4RnR7zW>mv9JUtLGd>Rpg+uq-Czlfgf6%M`b=jhgkkU}7z?{sQy;E^ z>F`K3>p!1Fqkk{}J3|*thQ2chA?yY7;YjF$b7AOJA^=CituP6e!i}&JZiT)N;V|q4 z+x*Mc4ntuw91XMK@_!xd?IgA!D1$Co1v_42^3CK72P5EW7!NnY6j%gv;VD=Mt6@1z zy3W-Uu7H8FY_<k(@ES~kfi={J={y0dEhLc#%i%Ft4bQ;9*=!In5;m&E0PGA? z;Daz1J_ifoJFpz?h1IYG20qM~!$|0BtEr8LgJ24bg}IR5ZR5LS5?Qbu?uFIxI1Eg} zV;Bi0(0S1SO~LVIs6D#!%`UdC_5mGgg?W0_yXun>-fGry?o(6i@PCX+MIr)*!B`jtli(zn4in*exCHKl+3*xR0I$Ik z=$A~WVK_Vohr*D?HMKKg0$c%Cz&zNzX-(~67}T`JQCm)8B!X%<9{N5`4`4V9Z9#}( zI826a0v8zg1G@hVKy8JOW{m-8Lof}+t4F;1|Ei0ZEI@J!6t#!U&t(P$I!xV zK|CFWiEu7l3A13XgTz)6TVN^N2P1o$mn3>~LPWRtiCw?ol^p1{uV91MfiFbW1fMPy(vI024? z2`~}Php8|Hu7SJZZde76!@!QrdYB9SQ)s6XLzKe$_YYx=5cGiyVbsmcS~#LJLjza9 zQ*aBs2GhFK)CNDzmJGvTY$&S*j)ODdEVu&Bg}HDEEQEVuIlKa^VaKj?=o!|3IElz- zxNgIEmLDO_*pg-UN8-XfnhiR`@t1(9L$3|;bB+?&%rCu zYcZ4l7Uq_NL>pdq#lkq41Q)?{7|;s?unRm4Z-wXJUC`?}E=Dj6j^<@uJp2|ehPJ-U zZrBU%gA?E>I5nINZ3%b1Fa&OZj%X4ekw}Dtcr};`C&7*I1y}?xzzW!rS1*j1EfR*n z2{0Nif{E}Cm<*J)B20&?U_K1Khvf{Thq9l*8PIP9 z%Ns^OpBN@R40DiJNMaCN15dz0_y;V9zQdSoa4ZZ=?t^>aDR>@UgTdn%^Hpr|FbWQZ32-W0yo%Yln8bPn zZ@_(UJ3Ix?L4JG8)^t3x6%K&Wa2QO4=`a<>O<lQ{Wny3pc|;_$@4llM?7T zoC||rphGYUmcs$3hoOhCbOi3d3L?jD^K83H}b#A>SQ4YPXU|pU!fDJ76U&g}yIweTTiE&kQCV z>;dP(6)+pV47bCBunbnhDj5C{%WXB+5Eu?qVH{islVK6ehOUPk7$C8CCSwlI!D}#V z7NN`G?iNPD6qo>4!o~0xxE}rm_rdtt)Q9WfHJA^B*Vt^0AErKR3lrcoa4~!nu7^h) zB=(W`4W5F&Nf?0BVend;?O7NF_re5t94>}!9>D+%h5KL{JOy*$HFyOEzsw(TnUH5jc_I`fh*u_KB?OZ z%U~(I0xRL>$Jj5{F~%?wo`mu6GE9NZlUX$|7#6N${r4bIjvx|N!x=E}RUXN}NVpxw z!=o?-R>NF4<8chYTv!e(U^VQ#fcop1J1`Q)!FV_oroa@K3s=KJ2Z=lq`2n^oH#sH(>Y?uI3;9|H6u7~U4KDZN}g2&-C z_%jTCgY&_Es1HAb2{7p$<_sLSojC*7!BV(qJL|ua#4!ZEgzh)k3pUxoh6B67xo`+f zA%sg{F5Ck5!O!3+=(Q6EU>_Kq$K@49!38h@=EB8rCtMGY!+r3ogTyHkA-gaD2f^U~ zaIt_i|09Xz?!bh1=mjungA1bI`kh$pxE3-?zAq!*JNLkgXMVgfrp2a0MI-bK#e;5SGJI z_yeqfzro9IvHshAz*R1voeGA*t}qJrfpKsRTnLZDHPC-A2MxFm9)~C4Wf=4!cHU;6 zfDv%yej*2leMIEo7?=&?VIG_g3*UC|Y?eeRf<>?bz5#7pY__+cKYSO4!Cf#4egNa( zK{yj$fGc35k1-6#!4jAYD`64zeTUTnd%+$>)Q9uoLI;Tw5^LZUxEo%BB{2N}ms7YJ zUV{f=@K*F;ICQ}{=yQ;(8f*izVLaRpm%%dl!XY9AcS8Sn*`N*+Avhm8#*tW0Vj*nu z31bHP!a_I#mcx&Z5Rvydh`>Zl4hW zxEhXxHJ`Em=aLBe90M>GZiVAuDO?3BVJ`IDP6S{tcm|GyzNIWr7znfAXt)(7z*4vp zR>H6^sK0}!WUv?94WnW7Q3qEw689b@0`Mug2Cjp<;Z}GY7Q)NW1^sstsV@m341?p~ zGMEB)!(8|yEQEc^h#(vXtKkbUa2F1K#ax1O93&D*tbmK*Z*U_FKE{y@_JI{J3fgva z(Shn)^iyys{PAm!RB+3;j6IA$!Pvv~@HjjOFT;z_|9v*JavX=l;5g`rC$W&k$nWSm z^f^h-VQY9C-VHCqBXO{Z@_V|1TKUVzNbD+fxF=~cpUaVMSVCJ`WJ9}4kKVP z99O{lUq)gff_%6J9)!E$DR>-Sg_mK+(-*kHeqg zWf*&w`X8_*!w7f~#(%*2|BFNl0+yZ^~A^!yf zuoRAjXW(2|3A11$7xke(EQNDnCAhoc93=8dJP1qRQs{!}U%c=+jAAtx9~cT_;So3&Mqg#j z;b^!OCc#qp6s&|VLElff_`qJU6pn;7a4wAbm-^800Ew+6Qei1v4J%<0^gY5^5B7qU za3mak4Fk{tv*6osD=dJeunJbfsO!`(<{AQf!I^L*Tm$FAy)dho^*^MBu|x0}JPy~x z%P=4MmvCr=5wK$|lMYUW3t=N$ZS8vK5BI@7@Dv;kufa!P@TYuE52N4}m;jUb*~GY2;L6iWWhKpf3To2d7eNg>0bOrnjUWR`` z|IgV8VHh0m#n)_bGE9KeVX}k791<(wT9^l4g@y19SPHkm3TXGPt+kbMQwjZH3m66i zVHCUvCct}PG8_X}z<5{$b72MaZ-kvMcs2wb{v>*k2!nn3-aHOQ!I>})u7ERP9-IRU z;nT1jrou|to_`Y0_b8JThQJ5;ZM&f`5yr#EVG2xvS+Fg?aJLnPG_7^i7Ln+OpaMq0 z%SwS?-ShtvgD?!9RKLOpe})OLE&tr)V%QO8!*IAA4uXf_;pVlq>Zc~kU^Nu{AZ=h7 zk8)ryxB$k%ldT*WBJney?qx$ier9nyoCC{Y9;}9CFz_puB|qdD4fnxuZ~@;6E`&>9 zI-J87i}`R7+y_s>Q?LS7!6xl$YyFO~pTG#X(h)?DNSuR<;h^?RD(J<(4^af~gcWcm zw0+GS=*XmmEnyVw1QTFyxEQX18(~yPZEYEx4Xfa4=yx2)VK_VkvNBDkriq6o&W3aX1#vgipd1<*fhLN#r3A;dl=FLl>L|eZJ$F4Ge?pVJzGOlVCYa zhqv-iA#R2D!BUt3D`6@0J;@w^z2IQJ;2sI@g>&InnB^ex4T-Jr5-f$+VI^#P8wS4T zjtKUG+h8306ehzHFdIfkFl2BNEQ9l570iNur`X_NI4pv3@FYxzF6hW6afQTo7;-xX z;7C{n7eT+%T!vvB+zFH6M=%?H0k{6hP8Y=-2{vpmL=!3Kb2pKKz2I^5BH?8?4Emp8 z)xZe2>2B8lI1)c2SO~+0Fc;u#xEp4{<8TYS3`?N@Sxz)C0*2nhGK5KRA>0Djz!JC{ z#to%DTmvt|MKRQ`AQCVFb{@w1k0%i|j2#NjhPiMFEQIS|Iot!Q|3A{+2CT{|Yac)7 zJkL1?krWkB5RXVmex<0SW{7BHMr5dDX5^renK6V#jv5InIc7$v#4;mABQrxoGc_Ya zvqp^!%^Wi_GIG?&uyM>9h5x;ty|%)+-g)2uTtBa??tQPd_S)b3*&h$j0UiN%`X0-4 z;1Hniorn*N1kMJI1g->52JQsT1s(?$0WSl$0z09`4grS%8*&oR84&p69&`p^r!j~C zj00Wd;i1a|rn>-2HRDbO(c2iy-#10DtD0WVKNx~DPz10F=LhhQYI9ykW*_YdrdfPH|=fr-Eh zU^?(Pa4FE00tdkMz$)NqU_EdG(C-W;C}1C8F)$H$6qpXI1ug|nz@MI#oykFOM4$?S z5@0>B4Cr?jt5skhU;{7_7%~|SfU&@(z+MldlL3=~M}gabmw~5%oz7v#oQ7uwu-Bs~ zIdCE{54iF%BnsH(tbn%yj{_eDUIuOkhBhERFb4P&Fa_BD zDU=-81y~Hc8(0B+5?BMA_Y}te6$Exd5PAVs3yc8{$igrK4g=-_9|x8Imjf$-SAccE zn5XfO`4ycO7y&E*#slks(}BMN7XydQLdk)T1FL|=z&R@{x|3q5?qkta*lYsuS zQF35kU?DIGxD7ZLcoaBt4oVJu8rbO~h8Hjfcn+8X448|O18aaKz_!mI(tzIq^MF4COM#KOm|%cA=cCPmzX5$N;aqS5CKzBWa5S)b zA=(`1pNBRFW&+EB`M_%69$*9TSD^oI82@dbL&<+b8v&Dme+6a%HvtQQ9{{%jyDvhU z11AA519t&KFJn{yV}Pyyijo6kfZ4zYfW^Q^ffc~Rz*^vMK-=%g_+k|NcZ~lh5QvAM z6qp9w2FwGV2bKbFdLAVQ4g%HzrvuGD@bm&k0BeBp!1KT~;2*#|V5cRB4;&5L2b=?} z1O63g{u_H)V2>OG!e2nu0po$wfsX+f1IvILfV+VEfjV%M5P>9M%1fwv=D1(pCSft5hV3RFEX0BCE%)C&v)dJ3Czn&J^i zEkxA;mjm;FCBRbPDd0ZfKY?|?E-$0%Y9E^Y03(2Ff$_jY zz%*bjFb{acO2h|-0`~z21M7g}fTm%$r2->>&*UHwk3bPH4Oj}y18xPD0>1(71Ny%L z2S5+dH0`##ff2xmfbqa3z%*bLFb{YFSPHxd+y~5Bg|-KN2lR8IMqb5C3(V<@Kq3NJ zz;xhuz@@;Sfn~tS#Td81CBO#Y?ANe_a@lQ_z-VBn)p$q&M*_2eF9KHr`>nyS1A0o( z_P{tGULv%W0waK*0^{BG99yro=(P~M09*{*3EaR2!2Q6Bz%#&s>(J|cP<6l_z&*gx z!1KWAz$?JTz+SH-KJYQ%eqa&s4A4=E38xh@1dIX>1tzu1vD^NPKo$h6fQ7)n0k;AD z-oR7~j09c;E(V7A+HJ+aIN(8GDzFZi3$(3AuLt%3Rs!RJwZQ#ATWh=R2VfX5>`lZ6 zMgvoG5O@KBT;L913Gl`ZXft3kunssCX!_Z0*}w?kx4?MdPrx+beQ%-U!1=%pz$Z51 zAp`sd*Z}PEHcEa2dOI)*xEGiNj4Z?W&qQD-0tLY5fZKp|z@xy+z>C1!H{l`E#%@~& z90J@8oCu8Ej8!i%8MqRd4%`V`3_K3J0K5W>c?TtLYqxC%#sU4xQF369@}``oTm&XV zPy##;+z4j;BlZW5S?)ssvP*{2dFXNcHng2uN5dTun|}e z%o+0`5=LMX@FH;9ZX}GK3Md2)0iFO(1Wx)02?O(hCBRd_{XqXpG!<|d(5E930`>sz z1C9nB0Zs>gum|%BFk~;93YZM6>WJ|_4}p3J%7K2JkTYN(;N2git$;^>=|FQI8~}R& z%YX&IY9N39paB^033_?3-L?=I1zZkH0`3E50>1k^{E_tAjEAzd@h@fb!^g0Jees|f90`rhJ~s(}C1aoM?|!v=irv<^v!C0i z0DU41x(NLDD?Uq02LICMhh*Gj97o*Yx0=C4D-F{)2GTFZ45lzJ$9|O{#WC3>B$Y{- zkX$CKXVc_gj1VeevT`#N^a$n)E&=#N_yFO85?>7Q}vxetgB~>Ik1h`QJbmwhBpv&yj+~ zF$(~DVmgYM3g(EKLx+BXVJ?#aLQ0rK3#nu>Xb$bJ7$N4#QjPW$S+`(<+{~DCFb5t8effy%H7u+nA z#OyTKFaBVeYA(>1T z2q|DPPe?hFxk9R$%o5VTlxJ@%ONxT zpV6gY7opG4A3M<44NStHp&s&ebLtWJ6 zYnpepsg)(csRghOvWxSm@0*BYwpIG(aXLYE0dcg9&R{m9F#3}#!J$=GWpWTo`%TSjMRErRboOex%1}jJHexhhp0E0>vy!dpA;PTk-Z4&_BMVJsB$B+ z*AHgRYd0nUe4DrYYVvLO1Iy{>?&dE@6nwUpg;#fK_Kylr%FEM2H3w#>INTP&uh zp&HgXuVr5R0{MWar7R3GCuGgNM?;1WSR=E}WCUB$1*FjH-(FeHhU({LSq?*%3m`kS zkb6QniaWLp`Fn_FGUU-RhBDg1aF`A=9H9#gRn%@1=9eRM%O-UCSDvGci;W z#m}i?6@VCd&t0W&{4iscGg}VU`3A6RHpDMqSg{(I6bbR)43hVpnpC5hEP2iviIl{o zP@HFi7zNsS0jpMvs+?7;w5pm_NXdGHG_a~vtNh=AYOAQCK#a{=l>}z5p!?oIQIFBn z?-=+UzrR|~Bv)uKX2-u;Pc>Hz!bAQ_yANSf&Fh3SKl=S0EGR>$TR9>I&`H-=am!7!AjY{8_x=y@wGw_j%*`#di*ZXb}P&#M_K z5#b`ONC#ObilqpbiNaY1vXk!GiZQSgvL{-bUEB?jg)hN!HqH!o4gvAdrmbkzXgUlq z5}>-R4O+|pUDQn#n6-q8Vs;XY7t55y>;Rb6%9&t}<4dS-4SGWXllmoUwOGz}=X9)U zX2&#ZV76B?|7~EKHH!jsys|{~lq4pLm(XTB#VC`>#wB#4Im|3&;~z=I&4r zPD4R>neK`KS@41t-xv?I*BEyD-=Vp zHlJGyLTL)aQ#5}ErjKdMY1ezGhw>e$hur1- zC=H^j9q_S~zS@CiETi9H?%2BA>Lt zL&JG$eV5I0mesHuZQC?m}@7(E(P4(glv#iQ0Vt2%!E9{xp`sk7hFX&@u*-wtRpHQ#nFs zcS?8MA{MD)xU)eLgt&@91{Klfqj;WIAl#$q`V)X>`)bHS=+6~!If-7ZK$Xv>EdWPp zk<4rrXqx3kYVqj*AxLqN8V*rRR*6{>h_P5wrA$^mRisv-1xy|hQqE*zk!tp8CQpi{ zfk~PW|J@)HghVkJEpd{VOchNgljI^g*uZ0z$;(Bwgh@Gwu><+}(+r-gS@j1z@XEG< zNf22bnfyP3-5^pE2t|R}2hc4ap#oA!4Y-;fs80H@(&+5Ef?%?W=nU(RM!1lIE76zA;GO3gcZH>wxyrN*=2Rl3-I7vRFHClvQdeU;;_y?( zoeJ4!ApPLLnG14+y6i!k4Meef@VIl(6i|$=`Fr4Lz{+OZs>(emXC!_=kT-I*Ou|-L znJe0haHtAX7zjFC_q}jBU1X_{8EGr!L6^&H4jAWwN;q<^7*;aL7E%jhpG`lqr~TUd z$B4TRajmH}j@c0~YuZf(bL%|e3Fe}rZDw{{EZ62-YljgC)m|cq%2WI_Z zBUgATlWi-loOIVZ+k@XC$1ar*O-Gf!Ln_CzC4Qg}wv@{HbTQ6l zvPc@QgpC)#*lM9lW(7J2wQRUf85Zq_X0^5pW5)Gr~k-xY*>Bd zB`bhz3uMhRPzu?4&OlfD7MgMp8?e{CV%5XqWv^JaXj~}MYaFYPBX?}Yr+(96If}kL zh}GNd=95a;XQ+O(^!3x5IF_WYltVZspi;!B3_$)&N~uT$Fxw_vZxP4 zI8+Rz1{@9*RT*YbmuAHXL*}w?!H!}jwfT~Feh6pNuqw=cze=_Wjv8i29ptB*#p4#b z4B7GKc`t`|qYCL^MhK*;D#NGaL9aN8gRq%a7QwD`5X>glvFcKUrHckq+~9ugS3f z0X>W|NgF1*-%51U~=9^?Kk2 z%Z%X;d&8ILuxH+&*eb(ANnc`AOs4z3L}{{V(^1YoM1dLWuSex7^c#lTZ%ZHC2f=Y( z>Nv>asU4yRr*hCsodww-R`U+7|4}Tzd#qQb;AmC&=Mt;2(<( z!W-PjJ%OiDQr$Ha z&&Bj3!y;;R40T-cmTE+2*>Ilb?t(0E%Ep%6uNJCF^ej{z8@yBjad>rUW3!pX84bzT zbodyCSd~%)7yTUrV)sV1P7GsmLP#8wOB-p`5q`FV7>yE#a#_`|QEeDYn3!)XQpu## z+th})lC?~dm8R%8!qdenj7j#}yiNI$FuEt`uiGv_cXI8GtilQJKim!3tuCF`>EXtz#Y_|VIYk?fmWGCPoFUQInI~U z`V&UDW84Z64K>g@=w^T;=v`}p>#l~z|6T11qz%2uW^HH_ zo6UIF+AcbiM&Z3{`k6J8>4tBO&c-7pxE4oGHNwhx5rzhb)jLx#<0BZFeOon`*_7Y{IvDv1(AcE#G)+BzQ z_9lLJ;bl#Fi#22D07D|3{SF-^jM~+L-AMfzVrVSGD4JP|+TZpeO)5po<+Vt8$A_{N z12L*Uyh=^2ur_W0!#4h3FvlrE@b`!{y7Jm)*K}4U@Sf-)$nCi_|9ki@qqPe5Fs!EU zIZnqtYV#3x3MsW05(i@V?YT;?PDM(otQxRKjjLQHL-$a^ugG2r2o93pI0b);>626N zcWEydJE-Uf?6>RolJ5_=2lb`?Kft0LjRiQGEQ=7=#YCJEs<1QQ9-fA_u+y#m8-^FF@XgeUj)=ANmV zI}D<@F}&^jmi-+g`;SQSD0O3KMI!*l<-Z|i9O*dgV2EF~XH_R!`y&chv0oh+*8Yfc z@1ZF_Vl{Xg^-;H9O(tO=#&7%8kr2hP%J+b*i9s;MA_aVmpTnoE=v2aCA9~|7YQ}ZI zI%RSuCgGhfIt!8U&H1WXv9(tOEuFo)|v#^|nlj;4lsL3;* z@k8C?IPsa98gj?uKnsReo=QOW(y((#CZDF9ga36jAI$MbmFk3*=TNhb&((Ui7Q}v$ zzCDY^_zCjURpj~!t}j(lnEfUME&d0tCH@+ zD}FSVgP911)69CKtFsWnscg{Ip2o_q_6%0sXl(vM?mx@xk?8s_)ah|Gh`pS?f}uMc z-v`AKox0W;f#m-)tOiw+2e&p91!7FCRx=?bu`0D%l_rzPxN3EMUBD!{TIK?dbU#PJ zIxMI?^G^bH3;t#`4xm=Zyk`8pGV_t zr}xjJn(M8+bT%h)qhCFbHav%9yY@Fjd?C7sV&OSJ-|a90os|&a$2NXJy|kxi0Y;C* z*b?4qhPWO;9U{zU0M0m&9`r4nMbXt?@HP8mhgCkyps77f2@Pm5^N2N8T=kIsdYBK1 zJdOY*bM~2p*AD4G1B!UN61meM>VHHXA32wTWKqux&=*ORDv0vvF&2FyQT!gnpM6Ud zS09i|M^rWv5pFtS)w(ksVF$JP6`A#=o(w*87r-&>OI4rsFc|zLdG=s2Q1UA#x(Q0* z?304K89KnWPkyPUfBvv!Dz*A2L~E7E&EJ-M=}VPwR~5*SFI6V$5&lNf@Oubabb%q6+Fb&S zq5cdbIV)B?hM}~KA)2-@#L(eOc=m0j-@%M4$cnYDiTVw_&q25ThMuwLE31|%_c!$L zTp=Y)<_f7~k|m^;Nyb-JZ5LfeI7Njij7fr!I3`2BQb(kzOh$gCo~pSL=lX8Bge6H| zsT0&nCSxRGEt82~(I1zLkfPr)($|smca&-;bq5%=U!geT_=yRf!*T4|{=}qQmR!<> zVbUNut7LLg7lz4kMT-8wcs~M{>g^pc$G)$ujzV#)It109_$`lAR-F)4F01Oas)SV? z18Ck*6U!J@RYP@suV2feN{IMyrs&@wWlE3Ng}@wj9VqhOm_zqEDB<7eJ4YOi^xat_ z*j=B7a~6<~Dve;5-y`_b0tan`h2yA$4zgu{(Mb26fifM+P=kE0K$s6<(|HKXAY5fo z0t`Y?lM-*yS@k+z0feeGp&_KC>A0q z(=ltep)p-izHEd)ZKE8zi$V5kQUS7ClNyj+np^?du1V-)Sb-~o-&AQbe0M+}rD;0$-th9LrpNc>4fr!)6vE7Y`MeoooW7xvUit==v2+G1@&@W_pL8sR+csX?_@bD$ILL-W=7%u<;|58FYzS>J&CdO@ z5WF2~)SvZ_qb!E(mS%1^N-<=;+BVWJNGG@gfj~Y0GSgqeNYgF_!W@-fr9ocGrG8HL1O%Ao@shIz7NCZsRm@ABl^SeO(QrY8sx)f zo;X{hEdx4@$iv&VyPgUcHyb+BOI85c?_Pm|#E ztO&B^O;P|^et^{^Au|wu1^VWd#h-3{!Ao`=vS+&fLvdzETh81h7~caU6R(v%5r;Dke;?EI&4Uz+N}Gw-OMNh(lp>2?}fKZwQ4EjrG%O21GoAglbBA%e*Ub=|c_=DX!R^~(^@70UAPB?6yccCz*m2%E1pdh2Id&k#d?lX9FycOG|C@k%jiPW z{CWEGNLBjH#UJB>;AtJmhn+qSys>i-CXP`a_Uv&ad#v@Ay8xD>B$}%nB-%q`+QDF` zhcenBLV*XrS%$^NlU?yO6bE`sU)s(3_Th9A*t#TKhJ90p8o2zO-O6y)Q{DWr-A_Sy zo#*B+?tTGs+fESv?Cv=bYstai-aQwtauk7Z4HVDdSMws{LCSAzZ2AEG^xB|zY`->i z(x6X_P<5Y&@ZbomwOpkL-w~mf9Q&Ht)HSo=@AZmJ_Xva&BO04tY?035Yw5&8zl*vB znVlok5Uhad!WO3Uu9@aRAJ*M!Om`{5{kuz}>;vfvVlBAqKzeq!GVV69zzl%GTE<3z zxIlQIyW>IpK&(|)nrN7~@<43(HA8IE-K7XOMyScgy${48QCxK(S0b#wbd#Bb63HZ`GW($K6G^fCFk0#m9u!H9Pht?11fj1_jl_hH{Q*@ndm0QgLm<@znLfU0k@zSL zcfihcJ_wz?z6WL~Y@S?&xtPm((#fGF-gGC!jNAr+Z_mc2zqZK2f@@hg3jLEkug|d; z!E<}k@{aJjvX`2;sJbI^P^ei0vjWZhJ7MrG?PWa?DGJ1QaW8o!22gA#Jp8u8)SA?4 z=HtNtVm0~|kd3`)RVU0?8^prJA3ZMWW%U;qfA{#!UaBbm!5Fq$!5=`@iX>4?3dS%T z)SKoq&hD*7Pbj+OjNX!X49G+ftNWyYj1!G38zinbg<$&Os6!cRd($LFM<2=vL+f0D zO+#;56=H^m|8z6H-rBr6@3v~w76w^d9tP~qJe7rqx9{87bbE6m2RoY~j{SYr z@Rle#54}-_NWaveM<(HJ)m;Eh2_)8lEC+#`Fg&|bd1^u@s3SU{` z3>~H2FlrsvA75W$zVl%k9$^N$)6ic>_g77KQy$15Sp28aS_=IyV(i`rauOs5)4lb0 z=dVLwL~QKSc)Tp}AX9?|aOOhXeHLTCGoX=%pTjmF3FOiME?j39f(?*cr6~Y8H-Ia^ z<7hxcpb<1sc4!SywjZb_TL0%U+YRJ-%;RV+vLwiY2VNhLu1pAg22z_a@nZGIatQt5 zl81?_8l-Um_dAcHegNf%q4ow0q}9oo8LGoD_GZJ9+n*YkEtRa0e>bqdg7NsGC@{w| zl?zH@QZkVHI9>r|a(ti~u?0+y4y2-PNM&3!?drx&dy5R3lo!yDAXYtOgB0GPiV_uW z`WOqfrUII0Z=p%yrU$Q4j_8gGyaLheTT}-RU5X_OY`@rm-crpmw@3oc6sXpa9WmV5 z2y((a^E-<{R$Fpcg(as+H^O>V%{dgYZxAU@e+bK>j7kxUxZh zxP?L@P^DLH;nk(b=rKqNSp#Jdh*iidApV1R(c*E04dTZ?UNMa@eR@R>!Y9$V3w?u; zq<2Jk3OJgL>a=_;@CI3r7*`&`D?=Z1>qfo z@k5d*-uS_^gmL*`%1GzIP=IS(7+N{2jYKmY2eT?O9ja3x)-=8pq#DFZr3~cYV72I| zLU_A`>k(czSk2`8sqAfoY2!`E$-l&li@%p$H<)(Mz!byZ%sxJte0!MT9lsvZa!pza z-Jv0B1KxQb2phP#cJPlMzsDh~VuJ(d^#wglbGY-?>lXg7@LP`0Dm075vM|WbdL1gR2F)`Q2H9aRN70ad+{_X882+GmC=SnFG059Pv8-edu)?ZjgXN^pBywsEMMUqXAEK0&W|8Sod$mky<&y|F!U-*!E-VTfD}-Ibw~(c26U zY8`W3$Buno#{Xh?O@KG2`Op6
{10Unws9|Nnp+vo(mcYN5(Lnd?+V;bq5qegJ& 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 delta 143128 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 diff --git a/out/report.log b/out/report.log index 7c15d31..42fb6c1 100644 --- a/out/report.log +++ b/out/report.log @@ -1,745 +1,778 @@ -0 s: Info: MY_LOG: Core 0 of Source Router: 0: Processing data 2 for router 1 and core 3 at time: 0 s -0 s: Info: MY_LOG: Router router0: Received transaction with data: 2 at time: 0 s -0 s: Info: MY_LOG: Core core0_0: Transaction successful, data sent: 2 at time: 0 s -0 s: Info: MY_LOG: Core 1 of Source Router: 0: Processing data 20 for router 2 and core 3 at time: 0 s -0 s: Info: MY_LOG: Router router0: Received transaction with data: 20 at time: 0 s -0 s: Info: MY_LOG: Core core0_1: Transaction successful, data sent: 20 at time: 0 s -0 s: Info: MY_LOG: Core 2 of Source Router: 0: Processing data 31 for router 1 and core 3 at time: 0 s -0 s: Info: MY_LOG: Router router0: Received transaction with data: 31 at time: 0 s -0 s: Info: MY_LOG: Core core0_2: Transaction successful, data sent: 31 at time: 0 s -0 s: Info: MY_LOG: Core 3 of Source Router: 0: Processing data 84 for router 3 and core 0 at time: 0 s -0 s: Info: MY_LOG: Router router0: Received transaction with data: 84 at time: 0 s -0 s: Info: MY_LOG: Core core0_3: Transaction successful, data sent: 84 at time: 0 s -0 s: Info: MY_LOG: Core 0 of Source Router: 1: Processing data 13 for router 0 and core 3 at time: 0 s -0 s: Info: MY_LOG: Router router1: Received transaction with data: 13 at time: 0 s -0 s: Info: MY_LOG: Core core1_0: Transaction successful, data sent: 13 at time: 0 s -0 s: Info: MY_LOG: Core 1 of Source Router: 1: Processing data 48 for router 0 and core 1 at time: 0 s -0 s: Info: MY_LOG: Router router1: Received transaction with data: 48 at time: 0 s -0 s: Info: MY_LOG: Core core1_1: Transaction successful, data sent: 48 at time: 0 s -0 s: Info: MY_LOG: Core 2 of Source Router: 1: Processing data 65 for router 3 and core 1 at time: 0 s -0 s: Info: MY_LOG: Router router1: Received transaction with data: 65 at time: 0 s -0 s: Info: MY_LOG: Core core1_2: Transaction successful, data sent: 65 at time: 0 s -0 s: Info: MY_LOG: Core 3 of Source Router: 1: Processing data 18 for router 2 and core 0 at time: 0 s -0 s: Info: MY_LOG: Router router1: Received transaction with data: 18 at time: 0 s -0 s: Info: MY_LOG: Core core1_3: Transaction successful, data sent: 18 at time: 0 s -0 s: Info: MY_LOG: Core 0 of Source Router: 2: Processing data 89 for router 0 and core 1 at time: 0 s -0 s: Info: MY_LOG: Router router2: Received transaction with data: 89 at time: 0 s -0 s: Info: MY_LOG: Core core2_0: Transaction successful, data sent: 89 at time: 0 s -0 s: Info: MY_LOG: Core 1 of Source Router: 2: Processing data 50 for router 1 and core 0 at time: 0 s -0 s: Info: MY_LOG: Router router2: Received transaction with data: 50 at time: 0 s -0 s: Info: MY_LOG: Core core2_1: Transaction successful, data sent: 50 at time: 0 s -0 s: Info: MY_LOG: Core 2 of Source Router: 2: Processing data 71 for router 0 and core 3 at time: 0 s -0 s: Info: MY_LOG: Router router2: Received transaction with data: 71 at time: 0 s -0 s: Info: MY_LOG: Core core2_2: Transaction successful, data sent: 71 at time: 0 s -0 s: Info: MY_LOG: Core 3 of Source Router: 2: Processing data 1 for router 0 and core 3 at time: 0 s -0 s: Info: MY_LOG: Router router2: Received transaction with data: 1 at time: 0 s -0 s: Info: MY_LOG: Core core2_3: Transaction successful, data sent: 1 at time: 0 s -0 s: Info: MY_LOG: Core 0 of Source Router: 3: Processing data 2 for router 0 and core 1 at time: 0 s -0 s: Info: MY_LOG: Router router3: Received transaction with data: 2 at time: 0 s -0 s: Info: MY_LOG: Core core3_0: Transaction successful, data sent: 2 at time: 0 s -0 s: Info: MY_LOG: Core 1 of Source Router: 3: Processing data 3 for router 0 and core 1 at time: 0 s -0 s: Info: MY_LOG: Router router3: Received transaction with data: 3 at time: 0 s -0 s: Info: MY_LOG: Core core3_1: Transaction successful, data sent: 3 at time: 0 s -0 s: Info: MY_LOG: Core 2 of Source Router: 3: Processing data 46 for router 1 and core 0 at time: 0 s -0 s: Info: MY_LOG: Router router3: Received transaction with data: 46 at time: 0 s -0 s: Info: MY_LOG: Core core3_2: Transaction successful, data sent: 46 at time: 0 s -0 s: Info: MY_LOG: Core 3 of Source Router: 3: Processing data 71 for router 0 and core 1 at time: 0 s -0 s: Info: MY_LOG: Router router3: Received transaction with data: 71 at time: 0 s -0 s: Info: MY_LOG: Core core3_3: Transaction successful, data sent: 71 at time: 0 s -0 s: Info: MY_LOG: Token for destination router 1 granted to Router 0 -0 s: Info: MY_LOG: router0 forwarded data: 2 to Router_1 -0 s: Info: MY_LOG: Token for destination router 0 granted to Router 1 -0 s: Info: MY_LOG: router1 forwarded data: 13 to Router_0 -0 s: Info: MY_LOG: Router 3 added to queue for semaphore 0 -0 s: Info: MY_LOG: Router router3: Semaphore unavailable. Retrying with data:2 -0 s: Info: MY_LOG: Router 2 added to queue for semaphore 0 -0 s: Info: MY_LOG: Router router2: Semaphore unavailable. Retrying with data:89 -5 ns: Info: MY_LOG: Router router3: Semaphore unavailable. Retrying with data:2 -5 ns: Info: MY_LOG: Router router2: Semaphore unavailable. Retrying with data:89 -10 ns: Info: MY_LOG: Router 0 released token for destination router 1 -10 ns: Info: MY_LOG: Router 1: Received transaction with data: 2 from Router 0 after a delay of:10 ns -10 ns: Info: MY_LOG: Router router1: Forwarding transaction with data: 2 to core 3 -10 ns: Info: MY_LOG: Core 3 of parent Router: 1: Processing transaction and received data: 2 -10 ns: Info: MY_LOG: Router router1: Core 3 completed transaction, data: 2 -10 ns: Info: MY_LOG: Token for destination router 2 granted to Router 0 -10 ns: Info: MY_LOG: router0 forwarded data: 20 to Router_2 -10 ns: Info: MY_LOG: Router router3: Semaphore unavailable. Retrying with data:2 -10 ns: Info: MY_LOG: Router router2: Semaphore unavailable. Retrying with data:89 -15 ns: Info: MY_LOG: Router router3: Semaphore unavailable. Retrying with data:2 -15 ns: Info: MY_LOG: Router router2: Semaphore unavailable. Retrying with data:89 -20 ns: Info: MY_LOG: Updated owner of semaphore 1 to Router 1 -20 ns: Info: MY_LOG: Router router3: Semaphore unavailable. Retrying with data:2 -20 ns: Info: MY_LOG: Router router2: Semaphore unavailable. Retrying with data:89 -25 ns: Info: MY_LOG: Router router3: Semaphore unavailable. Retrying with data:2 -25 ns: Info: MY_LOG: Router router2: Semaphore unavailable. Retrying with data:89 -30 ns: Info: MY_LOG: Router 1 released token for destination router 0 -30 ns: Info: MY_LOG: Token for destination router 0 passed to Router 3 -30 ns: Info: MY_LOG: Router 0: Received transaction with data: 13 from Router 1 after a delay of:30 ns -30 ns: Info: MY_LOG: Router router0: Forwarding transaction with data: 13 to core 3 -30 ns: Info: MY_LOG: Core 3 of parent Router: 0: Processing transaction and received data: 13 -30 ns: Info: MY_LOG: Router router0: Core 3 completed transaction, data: 13 -30 ns: Info: MY_LOG: Router 2: Received transaction with data: 20 from Router 0 after a delay of:20 ns -30 ns: Info: MY_LOG: Router router2: Forwarding transaction with data: 20 to core 3 -30 ns: Info: MY_LOG: Core 3 of parent Router: 2: Processing transaction and received data: 20 -30 ns: Info: MY_LOG: Router router2: Core 3 completed transaction, data: 20 -30 ns: Info: MY_LOG: Token for destination router 0 granted to Router 3 -30 ns: Info: MY_LOG: Router 1 added to queue for semaphore 0 -30 ns: Info: MY_LOG: Router router1: Semaphore unavailable. Retrying with data:48 -30 ns: Info: MY_LOG: Router 0 released token for destination router 2 -30 ns: Info: MY_LOG: Token for destination router 1 granted to Router 0 -30 ns: Info: MY_LOG: router0 forwarded data: 31 to Router_1 -30 ns: Info: MY_LOG: Token for destination router 0 granted to Router 3 -30 ns: Info: MY_LOG: router3 forwarded data: 2 to Router_0 -30 ns: Info: MY_LOG: Router router2: Semaphore unavailable. Retrying with data:89 -35 ns: Info: MY_LOG: Router router1: Semaphore unavailable. Retrying with data:48 -35 ns: Info: MY_LOG: Router router2: Semaphore unavailable. Retrying with data:89 -40 ns: Info: MY_LOG: Router 0 released token for destination router 1 -40 ns: Info: MY_LOG: Router 1: Received transaction with data: 31 from Router 0 after a delay of:10 ns -40 ns: Info: MY_LOG: Router router1: Forwarding transaction with data: 31 to core 3 -40 ns: Info: MY_LOG: Core 3 of parent Router: 1: Processing transaction and received data: 31 -40 ns: Info: MY_LOG: Router router1: Core 3 completed transaction, data: 31 -40 ns: Info: MY_LOG: Router 0: Received transaction with data: 2 from Router 3 after a delay of:10 ns -40 ns: Info: MY_LOG: Router router0: Forwarding transaction with data: 2 to core 1 -40 ns: Info: MY_LOG: Core 1 of parent Router: 0: Processing transaction and received data: 2 -40 ns: Info: MY_LOG: Router router0: Core 1 completed transaction, data: 2 -40 ns: Info: MY_LOG: Token for destination router 3 granted to Router 0 -40 ns: Info: MY_LOG: router0 forwarded data: 84 to Router_3 -40 ns: Info: MY_LOG: Router router2: Semaphore unavailable. Retrying with data:89 -40 ns: Info: MY_LOG: Router router1: Semaphore unavailable. Retrying with data:48 -40 ns: Info: MY_LOG: Updated owner of semaphore 1 to Router 1 -40 ns: Info: MY_LOG: Updated owner of semaphore 2 to Router 1 -40 ns: Info: MY_LOG: Router 3 released token for destination router 0 -40 ns: Info: MY_LOG: Token for destination router 0 passed to Router 2 -40 ns: Info: MY_LOG: Token for destination router 0 granted to Router 2 -40 ns: Info: MY_LOG: Router 3 added to queue for semaphore 0 -40 ns: Info: MY_LOG: Router router3: Semaphore unavailable. Retrying with data:3 -45 ns: Info: MY_LOG: Token for destination router 0 granted to Router 2 -45 ns: Info: MY_LOG: router2 forwarded data: 89 to Router_0 -45 ns: Info: MY_LOG: Router router1: Semaphore unavailable. Retrying with data:48 -45 ns: Info: MY_LOG: Router router3: Semaphore unavailable. Retrying with data:3 -50 ns: Info: MY_LOG: Router router1: Semaphore unavailable. Retrying with data:48 -50 ns: Info: MY_LOG: Router router3: Semaphore unavailable. Retrying with data:3 -55 ns: Info: MY_LOG: Router router1: Semaphore unavailable. Retrying with data:48 -55 ns: Info: MY_LOG: Router router3: Semaphore unavailable. Retrying with data:3 -60 ns: Info: MY_LOG: Router router1: Semaphore unavailable. Retrying with data:48 -60 ns: Info: MY_LOG: Router router3: Semaphore unavailable. Retrying with data:3 -65 ns: Info: MY_LOG: Router 2 released token for destination router 0 -65 ns: Info: MY_LOG: Token for destination router 0 passed to Router 1 -65 ns: Info: MY_LOG: Router 0: Received transaction with data: 89 from Router 2 after a delay of:20 ns -65 ns: Info: MY_LOG: Router router0: Forwarding transaction with data: 89 to core 1 -65 ns: Info: MY_LOG: Core 1 of parent Router: 0: Processing transaction and received data: 89 -65 ns: Info: MY_LOG: Router router0: Core 1 completed transaction, data: 89 -65 ns: Info: MY_LOG: Token for destination router 0 granted to Router 1 -65 ns: Info: MY_LOG: Token for destination router 1 granted to Router 2 -65 ns: Info: MY_LOG: router2 forwarded data: 50 to Router_1 -65 ns: Info: MY_LOG: Token for destination router 0 granted to Router 1 -65 ns: Info: MY_LOG: router1 forwarded data: 48 to Router_0 -65 ns: Info: MY_LOG: Router router3: Semaphore unavailable. Retrying with data:3 -70 ns: Info: MY_LOG: Router 0 released token for destination router 3 -70 ns: Info: MY_LOG: Router 3: Received transaction with data: 84 from Router 0 after a delay of:30 ns -70 ns: Info: MY_LOG: Router router3: Forwarding transaction with data: 84 to core 0 -70 ns: Info: MY_LOG: Core 0 of parent Router: 3: Processing transaction and received data: 84 -70 ns: Info: MY_LOG: Router router3: Core 0 completed transaction, data: 84 -70 ns: Info: MY_LOG: Router router3: Semaphore unavailable. Retrying with data:3 -75 ns: Info: MY_LOG: Router router3: Semaphore unavailable. Retrying with data:3 -80 ns: Info: MY_LOG: Updated owner of semaphore 3 to Router 1 -80 ns: Info: MY_LOG: Router router3: Semaphore unavailable. Retrying with data:3 -85 ns: Info: MY_LOG: Router router3: Semaphore unavailable. Retrying with data:3 -90 ns: Info: MY_LOG: Router router3: Semaphore unavailable. Retrying with data:3 -95 ns: Info: MY_LOG: Router 1 released token for destination router 0 -95 ns: Info: MY_LOG: Token for destination router 0 passed to Router 3 -95 ns: Info: MY_LOG: Router 0: Received transaction with data: 48 from Router 1 after a delay of:30 ns -95 ns: Info: MY_LOG: Router router0: Forwarding transaction with data: 48 to core 1 -95 ns: Info: MY_LOG: Core 1 of parent Router: 0: Processing transaction and received data: 48 -95 ns: Info: MY_LOG: Router router0: Core 1 completed transaction, data: 48 -95 ns: Info: MY_LOG: Router 1: Received transaction with data: 50 from Router 2 after a delay of:30 ns -95 ns: Info: MY_LOG: Router router1: Forwarding transaction with data: 50 to core 0 -95 ns: Info: MY_LOG: Core 0 of parent Router: 1: Processing transaction and received data: 50 -95 ns: Info: MY_LOG: Router router1: Core 0 completed transaction, data: 50 -95 ns: Info: MY_LOG: Token for destination router 0 granted to Router 3 -95 ns: Info: MY_LOG: Token for destination router 3 granted to Router 1 -95 ns: Info: MY_LOG: router1 forwarded data: 65 to Router_3 -95 ns: Info: MY_LOG: Token for destination router 0 granted to Router 3 -95 ns: Info: MY_LOG: router3 forwarded data: 3 to Router_0 -95 ns: Info: MY_LOG: Router 2 released token for destination router 1 -95 ns: Info: MY_LOG: Router 2 added to queue for semaphore 0 -95 ns: Info: MY_LOG: Router router2: Semaphore unavailable. Retrying with data:71 -100 ns: Info: MY_LOG: Core 0 of Source Router: 1: Processing data 97 for router 2 and core 2 at time: 100 ns -100 ns: Info: MY_LOG: Router router1: Received transaction with data: 97 at time: 100 ns -100 ns: Info: MY_LOG: Core core1_0: Transaction successful, data sent: 97 at time: 100 ns -100 ns: Info: MY_LOG: Core 0 of Source Router: 3: Processing data 52 for router 2 and core 2 at time: 100 ns -100 ns: Info: MY_LOG: Router router3: Received transaction with data: 52 at time: 100 ns -100 ns: Info: MY_LOG: Core core3_0: Transaction successful, data sent: 52 at time: 100 ns -100 ns: Info: MY_LOG: Core 0 of Source Router: 2: Processing data 0 for router 0 and core 1 at time: 100 ns -100 ns: Info: MY_LOG: Router router2: Received transaction with data: 0 at time: 100 ns -100 ns: Info: MY_LOG: Core core2_0: Transaction successful, data sent: 0 at time: 100 ns -100 ns: Info: MY_LOG: Core 2 of Source Router: 1: Processing data 94 for router 0 and core 2 at time: 100 ns -100 ns: Info: MY_LOG: Router router1: Received transaction with data: 94 at time: 100 ns -100 ns: Info: MY_LOG: Core core1_2: Transaction successful, data sent: 94 at time: 100 ns -100 ns: Info: MY_LOG: Core 0 of Source Router: 0: Processing data 71 for router 1 and core 0 at time: 100 ns -100 ns: Info: MY_LOG: Router router0: Received transaction with data: 71 at time: 100 ns -100 ns: Info: MY_LOG: Core core0_0: Transaction successful, data sent: 71 at time: 100 ns -100 ns: Info: MY_LOG: Core 3 of Source Router: 3: Processing data 56 for router 1 and core 0 at time: 100 ns -100 ns: Info: MY_LOG: Router router3: Received transaction with data: 56 at time: 100 ns -100 ns: Info: MY_LOG: Core core3_3: Transaction successful, data sent: 56 at time: 100 ns -100 ns: Info: MY_LOG: Core 3 of Source Router: 0: Processing data 33 for router 1 and core 2 at time: 100 ns -100 ns: Info: MY_LOG: Router router0: Received transaction with data: 33 at time: 100 ns -100 ns: Info: MY_LOG: Core core0_3: Transaction successful, data sent: 33 at time: 100 ns -100 ns: Info: MY_LOG: Core 1 of Source Router: 2: Processing data 72 for router 0 and core 3 at time: 100 ns -100 ns: Info: MY_LOG: Router router2: Received transaction with data: 72 at time: 100 ns -100 ns: Info: MY_LOG: Core core2_1: Transaction successful, data sent: 72 at time: 100 ns -100 ns: Info: MY_LOG: Core 2 of Source Router: 2: Processing data 67 for router 1 and core 3 at time: 100 ns -100 ns: Info: MY_LOG: Router router2: Received transaction with data: 67 at time: 100 ns -100 ns: Info: MY_LOG: Core core2_2: Transaction successful, data sent: 67 at time: 100 ns -100 ns: Info: MY_LOG: Core 3 of Source Router: 2: Processing data 71 for router 0 and core 1 at time: 100 ns -100 ns: Info: MY_LOG: Router router2: Received transaction with data: 71 at time: 100 ns -100 ns: Info: MY_LOG: Core core2_3: Transaction successful, data sent: 71 at time: 100 ns -100 ns: Info: MY_LOG: Core 2 of Source Router: 0: Processing data 59 for router 2 and core 0 at time: 100 ns -100 ns: Info: MY_LOG: Router router0: Received transaction with data: 59 at time: 100 ns -100 ns: Info: MY_LOG: Core core0_2: Transaction successful, data sent: 59 at time: 100 ns -100 ns: Info: MY_LOG: Core 1 of Source Router: 1: Processing data 36 for router 2 and core 2 at time: 100 ns -100 ns: Info: MY_LOG: Router router1: Received transaction with data: 36 at time: 100 ns -100 ns: Info: MY_LOG: Core core1_1: Transaction successful, data sent: 36 at time: 100 ns -100 ns: Info: MY_LOG: Core 1 of Source Router: 3: Processing data 22 for router 2 and core 2 at time: 100 ns -100 ns: Info: MY_LOG: Router router3: Received transaction with data: 22 at time: 100 ns -100 ns: Info: MY_LOG: Core core3_1: Transaction successful, data sent: 22 at time: 100 ns -100 ns: Info: MY_LOG: Core 2 of Source Router: 3: Processing data 87 for router 2 and core 2 at time: 100 ns -100 ns: Info: MY_LOG: Router router3: Received transaction with data: 87 at time: 100 ns -100 ns: Info: MY_LOG: Core core3_2: Transaction successful, data sent: 87 at time: 100 ns -100 ns: Info: MY_LOG: Core 3 of Source Router: 1: Processing data 41 for router 3 and core 2 at time: 100 ns -100 ns: Info: MY_LOG: Router router1: Received transaction with data: 41 at time: 100 ns -100 ns: Info: MY_LOG: Core core1_3: Transaction successful, data sent: 41 at time: 100 ns -100 ns: Info: MY_LOG: Core 1 of Source Router: 0: Processing data 64 for router 3 and core 3 at time: 100 ns -100 ns: Info: MY_LOG: Router router0: Received transaction with data: 64 at time: 100 ns -100 ns: Info: MY_LOG: Core core0_1: Transaction successful, data sent: 64 at time: 100 ns -100 ns: Info: MY_LOG: Router router2: Semaphore unavailable. Retrying with data:71 +0 s: Info: MY_LOG: Core 0 of Source Router: 0: Processing data 76 for router 3 and core 3 at time: 0 s +0 s: Info: MY_LOG: Router router0: Received transaction with data: 76 at time: 0 s +0 s: Info: MY_LOG: Core core0_0: Transaction successful, data sent: 76 at time: 0 s +0 s: Info: MY_LOG: Core 1 of Source Router: 0: Processing data 95 for router 2 and core 1 at time: 0 s +0 s: Info: MY_LOG: Router router0: Received transaction with data: 95 at time: 0 s +0 s: Info: MY_LOG: Core core0_1: Transaction successful, data sent: 95 at time: 0 s +0 s: Info: MY_LOG: Core 2 of Source Router: 0: Processing data 5 for router 1 and core 3 at time: 0 s +0 s: Info: MY_LOG: Router router0: Received transaction with data: 5 at time: 0 s +0 s: Info: MY_LOG: Core core0_2: Transaction successful, data sent: 5 at time: 0 s +0 s: Info: MY_LOG: Core 3 of Source Router: 0: Processing data 27 for router 3 and core 2 at time: 0 s +0 s: Info: MY_LOG: Router router0: Received transaction with data: 27 at time: 0 s +0 s: Info: MY_LOG: Core core0_3: Transaction successful, data sent: 27 at time: 0 s +0 s: Info: MY_LOG: Core 0 of Source Router: 1: Processing data 22 for router 2 and core 2 at time: 0 s +0 s: Info: MY_LOG: Router router1: Received transaction with data: 22 at time: 0 s +0 s: Info: MY_LOG: Core core1_0: Transaction successful, data sent: 22 at time: 0 s +0 s: Info: MY_LOG: Core 1 of Source Router: 1: Processing data 4 for router 0 and core 2 at time: 0 s +0 s: Info: MY_LOG: Router router1: Received transaction with data: 4 at time: 0 s +0 s: Info: MY_LOG: Core core1_1: Transaction successful, data sent: 4 at time: 0 s +0 s: Info: MY_LOG: Core 2 of Source Router: 1: Processing data 37 for router 3 and core 0 at time: 0 s +0 s: Info: MY_LOG: Router router1: Received transaction with data: 37 at time: 0 s +0 s: Info: MY_LOG: Core core1_2: Transaction successful, data sent: 37 at time: 0 s +0 s: Info: MY_LOG: Core 3 of Source Router: 1: Processing data 95 for router 2 and core 3 at time: 0 s +0 s: Info: MY_LOG: Router router1: Received transaction with data: 95 at time: 0 s +0 s: Info: MY_LOG: Core core1_3: Transaction successful, data sent: 95 at time: 0 s +0 s: Info: MY_LOG: Core 0 of Source Router: 2: Processing data 23 for router 3 and core 2 at time: 0 s +0 s: Info: MY_LOG: Router router2: Received transaction with data: 23 at time: 0 s +0 s: Info: MY_LOG: Core core2_0: Transaction successful, data sent: 23 at time: 0 s +0 s: Info: MY_LOG: Core 1 of Source Router: 2: Processing data 41 for router 3 and core 2 at time: 0 s +0 s: Info: MY_LOG: Router router2: Received transaction with data: 41 at time: 0 s +0 s: Info: MY_LOG: Core core2_1: Transaction successful, data sent: 41 at time: 0 s +0 s: Info: MY_LOG: Core 2 of Source Router: 2: Processing data 16 for router 3 and core 0 at time: 0 s +0 s: Info: MY_LOG: Router router2: Received transaction with data: 16 at time: 0 s +0 s: Info: MY_LOG: Core core2_2: Transaction successful, data sent: 16 at time: 0 s +0 s: Info: MY_LOG: Core 3 of Source Router: 2: Processing data 17 for router 3 and core 1 at time: 0 s +0 s: Info: MY_LOG: Router router2: Received transaction with data: 17 at time: 0 s +0 s: Info: MY_LOG: Core core2_3: Transaction successful, data sent: 17 at time: 0 s +0 s: Info: MY_LOG: Core 0 of Source Router: 3: Processing data 74 for router 0 and core 0 at time: 0 s +0 s: Info: MY_LOG: Router router3: Received transaction with data: 74 at time: 0 s +0 s: Info: MY_LOG: Core core3_0: Transaction successful, data sent: 74 at time: 0 s +0 s: Info: MY_LOG: Core 1 of Source Router: 3: Processing data 88 for router 1 and core 2 at time: 0 s +0 s: Info: MY_LOG: Router router3: Received transaction with data: 88 at time: 0 s +0 s: Info: MY_LOG: Core core3_1: Transaction successful, data sent: 88 at time: 0 s +0 s: Info: MY_LOG: Core 2 of Source Router: 3: Processing data 91 for router 0 and core 3 at time: 0 s +0 s: Info: MY_LOG: Router router3: Received transaction with data: 91 at time: 0 s +0 s: Info: MY_LOG: Core core3_2: Transaction successful, data sent: 91 at time: 0 s +0 s: Info: MY_LOG: Core 3 of Source Router: 3: Processing data 40 for router 0 and core 1 at time: 0 s +0 s: Info: MY_LOG: Router router3: Received transaction with data: 40 at time: 0 s +0 s: Info: MY_LOG: Core core3_3: Transaction successful, data sent: 40 at time: 0 s +0 s: Info: MY_LOG: Token for destination router 3 granted to Router 0 +0 s: Info: MY_LOG: router0 forwarded data: 76 to Router_3 +0 s: Info: MY_LOG: Token for destination router 2 granted to Router 1 +0 s: Info: MY_LOG: router1 forwarded data: 22 to Router_2 +0 s: Info: MY_LOG: Token for destination router 0 granted to Router 3 +0 s: Info: MY_LOG: router3 forwarded data: 74 to Router_0 +0 s: Info: MY_LOG: Router 2 added to queue for semaphore 3 +0 s: Info: MY_LOG: Router router2: Semaphore for Router_3 is unavailable. Retrying with data: 23 +5 ns: Info: MY_LOG: Router router2: Semaphore for Router_3 is unavailable. Retrying with data: 23 +10 ns: Info: MY_LOG: Router 1 released token for destination router 2 +10 ns: Info: MY_LOG: Router 2: Received transaction with data: 22 from Router 1 after a delay of:10 ns +10 ns: Info: MY_LOG: Router router2: Forwarding transaction with data: 22 to core 2 +10 ns: Info: MY_LOG: Core 2 of parent Router: 2: Processing transaction and received data: 22 +10 ns: Info: MY_LOG: Router router2: Core 2 completed transaction, data: 22 +10 ns: Info: MY_LOG: Router 0: Received transaction with data: 74 from Router 3 after a delay of:10 ns +10 ns: Info: MY_LOG: Router router0: Forwarding transaction with data: 74 to core 0 +10 ns: Info: MY_LOG: Core 0 of parent Router: 0: Processing transaction and received data: 74 +10 ns: Info: MY_LOG: Router router0: Core 0 completed transaction, data: 74 +10 ns: Info: MY_LOG: Router 1 added to queue for semaphore 0 +10 ns: Info: MY_LOG: Router router1: Semaphore for Router_0 is unavailable. Retrying with data: 4 +10 ns: Info: MY_LOG: Router 3 released token for destination router 0 +10 ns: Info: MY_LOG: Token for destination router 0 passed to Router 1 +10 ns: Info: MY_LOG: Token for destination router 1 granted to Router 3 +10 ns: Info: MY_LOG: router3 forwarded data: 88 to Router_1 +10 ns: Info: MY_LOG: Router router2: Semaphore for Router_3 is unavailable. Retrying with data: 23 +15 ns: Info: MY_LOG: Token for destination router 0 granted to Router 1 +15 ns: Info: MY_LOG: router1 forwarded data: 4 to Router_0 +15 ns: Info: MY_LOG: Router router2: Semaphore for Router_3 is unavailable. Retrying with data: 23 +20 ns: Info: MY_LOG: Updated owner of semaphore 2 to Router 2 +20 ns: Info: MY_LOG: Router router2: Semaphore for Router_3 is unavailable. Retrying with data: 23 +25 ns: Info: MY_LOG: Router router2: Semaphore for Router_3 is unavailable. Retrying with data: 23 +30 ns: Info: MY_LOG: Router 0 released token for destination router 3 +30 ns: Info: MY_LOG: Token for destination router 3 passed to Router 2 +30 ns: Info: MY_LOG: Router 3: Received transaction with data: 76 from Router 0 after a delay of:30 ns +30 ns: Info: MY_LOG: Router router3: Forwarding transaction with data: 76 to core 3 +30 ns: Info: MY_LOG: Core 3 of parent Router: 3: Processing transaction and received data: 76 +30 ns: Info: MY_LOG: Router router3: Core 3 completed transaction, data: 76 +30 ns: Info: MY_LOG: Router 1: Received transaction with data: 88 from Router 3 after a delay of:20 ns +30 ns: Info: MY_LOG: Router router1: Forwarding transaction with data: 88 to core 2 +30 ns: Info: MY_LOG: Core 2 of parent Router: 1: Processing transaction and received data: 88 +30 ns: Info: MY_LOG: Router router1: Core 2 completed transaction, data: 88 +30 ns: Info: MY_LOG: Token for destination router 2 granted to Router 0 +30 ns: Info: MY_LOG: router0 forwarded data: 95 to Router_2 +30 ns: Info: MY_LOG: Router 3 released token for destination router 1 +30 ns: Info: MY_LOG: Router 3 added to queue for semaphore 0 +30 ns: Info: MY_LOG: Router router3: Semaphore for Router_0 is unavailable. Retrying with data: 91 +30 ns: Info: MY_LOG: Token for destination router 3 granted to Router 2 +30 ns: Info: MY_LOG: router2 forwarded data: 23 to Router_3 +35 ns: Info: MY_LOG: Router router3: Semaphore for Router_0 is unavailable. Retrying with data: 91 +40 ns: Info: MY_LOG: Updated owner of semaphore 1 to Router 0 +40 ns: Info: MY_LOG: Router 2 released token for destination router 3 +40 ns: Info: MY_LOG: Router 3: Received transaction with data: 23 from Router 2 after a delay of:10 ns +40 ns: Info: MY_LOG: Router router3: Forwarding transaction with data: 23 to core 2 +40 ns: Info: MY_LOG: Core 2 of parent Router: 3: Processing transaction and received data: 23 +40 ns: Info: MY_LOG: Router router3: Core 2 completed transaction, data: 23 +40 ns: Info: MY_LOG: Token for destination router 3 granted to Router 2 +40 ns: Info: MY_LOG: router2 forwarded data: 41 to Router_3 +40 ns: Info: MY_LOG: Router router3: Semaphore for Router_0 is unavailable. Retrying with data: 91 +45 ns: Info: MY_LOG: Router 1 released token for destination router 0 +45 ns: Info: MY_LOG: Token for destination router 0 passed to Router 3 +45 ns: Info: MY_LOG: Router 0: Received transaction with data: 4 from Router 1 after a delay of:30 ns +45 ns: Info: MY_LOG: Router router0: Forwarding transaction with data: 4 to core 2 +45 ns: Info: MY_LOG: Core 2 of parent Router: 0: Processing transaction and received data: 4 +45 ns: Info: MY_LOG: Router router0: Core 2 completed transaction, data: 4 +45 ns: Info: MY_LOG: Router 1 added to queue for semaphore 3 +45 ns: Info: MY_LOG: Router router1: Semaphore for Router_3 is unavailable. Retrying with data: 37 +45 ns: Info: MY_LOG: Token for destination router 0 granted to Router 3 +45 ns: Info: MY_LOG: router3 forwarded data: 91 to Router_0 +50 ns: Info: MY_LOG: Router 0 released token for destination router 2 +50 ns: Info: MY_LOG: Router 2: Received transaction with data: 95 from Router 0 after a delay of:20 ns +50 ns: Info: MY_LOG: Router router2: Forwarding transaction with data: 95 to core 1 +50 ns: Info: MY_LOG: Core 1 of parent Router: 2: Processing transaction and received data: 95 +50 ns: Info: MY_LOG: Router router2: Core 1 completed transaction, data: 95 +50 ns: Info: MY_LOG: Router 3: Received transaction with data: 41 from Router 2 after a delay of:10 ns +50 ns: Info: MY_LOG: Router router3: Forwarding transaction with data: 41 to core 2 +50 ns: Info: MY_LOG: Core 2 of parent Router: 3: Processing transaction and received data: 41 +50 ns: Info: MY_LOG: Router router3: Core 2 completed transaction, data: 41 +50 ns: Info: MY_LOG: Token for destination router 1 granted to Router 0 +50 ns: Info: MY_LOG: router0 forwarded data: 5 to Router_1 +50 ns: Info: MY_LOG: Router 2 released token for destination router 3 +50 ns: Info: MY_LOG: Token for destination router 3 passed to Router 1 +50 ns: Info: MY_LOG: Router 2 added to queue for semaphore 3 +50 ns: Info: MY_LOG: Router router2: Semaphore for Router_3 is unavailable. Retrying with data: 16 +50 ns: Info: MY_LOG: Token for destination router 3 granted to Router 1 +50 ns: Info: MY_LOG: router1 forwarded data: 37 to Router_3 +55 ns: Info: MY_LOG: Router 3 released token for destination router 0 +55 ns: Info: MY_LOG: Router 0: Received transaction with data: 91 from Router 3 after a delay of:10 ns +55 ns: Info: MY_LOG: Router router0: Forwarding transaction with data: 91 to core 3 +55 ns: Info: MY_LOG: Core 3 of parent Router: 0: Processing transaction and received data: 91 +55 ns: Info: MY_LOG: Router router0: Core 3 completed transaction, data: 91 +55 ns: Info: MY_LOG: Token for destination router 0 granted to Router 3 +55 ns: Info: MY_LOG: router3 forwarded data: 40 to Router_0 +55 ns: Info: MY_LOG: Router router2: Semaphore for Router_3 is unavailable. Retrying with data: 16 +60 ns: Info: MY_LOG: Router 0 released token for destination router 1 +60 ns: Info: MY_LOG: Router 1: Received transaction with data: 5 from Router 0 after a delay of:10 ns +60 ns: Info: MY_LOG: Router router1: Forwarding transaction with data: 5 to core 3 +60 ns: Info: MY_LOG: Core 3 of parent Router: 1: Processing transaction and received data: 5 +60 ns: Info: MY_LOG: Router router1: Core 3 completed transaction, data: 5 +60 ns: Info: MY_LOG: Router 0 added to queue for semaphore 3 +60 ns: Info: MY_LOG: Router router0: Semaphore for Router_3 is unavailable. Retrying with data: 27 +60 ns: Info: MY_LOG: Updated owner of semaphore 1 to Router 1 +60 ns: Info: MY_LOG: Updated owner of semaphore 2 to Router 1 +60 ns: Info: MY_LOG: Router router2: Semaphore for Router_3 is unavailable. Retrying with data: 16 +65 ns: Info: MY_LOG: Router 3 released token for destination router 0 +65 ns: Info: MY_LOG: Router 0: Received transaction with data: 40 from Router 3 after a delay of:10 ns +65 ns: Info: MY_LOG: Router router0: Forwarding transaction with data: 40 to core 1 +65 ns: Info: MY_LOG: Core 1 of parent Router: 0: Processing transaction and received data: 40 +65 ns: Info: MY_LOG: Router router0: Core 1 completed transaction, data: 40 +65 ns: Info: MY_LOG: Router router0: Semaphore for Router_3 is unavailable. Retrying with data: 27 +65 ns: Info: MY_LOG: Router router2: Semaphore for Router_3 is unavailable. Retrying with data: 16 +70 ns: Info: MY_LOG: Router 1 released token for destination router 3 +70 ns: Info: MY_LOG: Token for destination router 3 passed to Router 2 +70 ns: Info: MY_LOG: Router 3: Received transaction with data: 37 from Router 1 after a delay of:20 ns +70 ns: Info: MY_LOG: Router router3: Forwarding transaction with data: 37 to core 0 +70 ns: Info: MY_LOG: Core 0 of parent Router: 3: Processing transaction and received data: 37 +70 ns: Info: MY_LOG: Router router3: Core 0 completed transaction, data: 37 +70 ns: Info: MY_LOG: Token for destination router 2 granted to Router 1 +70 ns: Info: MY_LOG: router1 forwarded data: 95 to Router_2 +70 ns: Info: MY_LOG: Router router0: Semaphore for Router_3 is unavailable. Retrying with data: 27 +70 ns: Info: MY_LOG: Token for destination router 3 granted to Router 2 +70 ns: Info: MY_LOG: router2 forwarded data: 16 to Router_3 +75 ns: Info: MY_LOG: Router router0: Semaphore for Router_3 is unavailable. Retrying with data: 27 +80 ns: Info: MY_LOG: Updated owner of semaphore 0 to Router 0 +80 ns: Info: MY_LOG: Updated owner of semaphore 1 to Router 2 +80 ns: Info: MY_LOG: Router 1 released token for destination router 2 +80 ns: Info: MY_LOG: Router 2 released token for destination router 3 +80 ns: Info: MY_LOG: Token for destination router 3 passed to Router 0 +80 ns: Info: MY_LOG: Router 2: Received transaction with data: 95 from Router 1 after a delay of:10 ns +80 ns: Info: MY_LOG: Router router2: Forwarding transaction with data: 95 to core 3 +80 ns: Info: MY_LOG: Core 3 of parent Router: 2: Processing transaction and received data: 95 +80 ns: Info: MY_LOG: Router router2: Core 3 completed transaction, data: 95 +80 ns: Info: MY_LOG: Router 3: Received transaction with data: 16 from Router 2 after a delay of:10 ns +80 ns: Info: MY_LOG: Router router3: Forwarding transaction with data: 16 to core 0 +80 ns: Info: MY_LOG: Core 0 of parent Router: 3: Processing transaction and received data: 16 +80 ns: Info: MY_LOG: Router router3: Core 0 completed transaction, data: 16 +80 ns: Info: MY_LOG: Router 2 added to queue for semaphore 3 +80 ns: Info: MY_LOG: Router router2: Semaphore for Router_3 is unavailable. Retrying with data: 17 +80 ns: Info: MY_LOG: Token for destination router 3 granted to Router 0 +80 ns: Info: MY_LOG: router0 forwarded data: 27 to Router_3 +85 ns: Info: MY_LOG: Router router2: Semaphore for Router_3 is unavailable. Retrying with data: 17 +90 ns: Info: MY_LOG: Router router2: Semaphore for Router_3 is unavailable. Retrying with data: 17 +95 ns: Info: MY_LOG: Router router2: Semaphore for Router_3 is unavailable. Retrying with data: 17 +100 ns: Info: MY_LOG: Core 3 of Source Router: 2: Processing data 74 for router 0 and core 3 at time: 100 ns +100 ns: Info: MY_LOG: Router router2: Received transaction with data: 74 at time: 100 ns +100 ns: Info: MY_LOG: Core core2_3: Transaction successful, data sent: 74 at time: 100 ns +100 ns: Info: MY_LOG: Core 1 of Source Router: 0: Processing data 28 for router 1 and core 2 at time: 100 ns +100 ns: Info: MY_LOG: Router router0: Received transaction with data: 28 at time: 100 ns +100 ns: Info: MY_LOG: Core core0_1: Transaction successful, data sent: 28 at time: 100 ns +100 ns: Info: MY_LOG: Core 0 of Source Router: 2: Processing data 55 for router 0 and core 1 at time: 100 ns +100 ns: Info: MY_LOG: Router router2: Received transaction with data: 55 at time: 100 ns +100 ns: Info: MY_LOG: Core core2_0: Transaction successful, data sent: 55 at time: 100 ns +100 ns: Info: MY_LOG: Core 1 of Source Router: 1: Processing data 21 for router 2 and core 3 at time: 100 ns +100 ns: Info: MY_LOG: Router router1: Received transaction with data: 21 at time: 100 ns +100 ns: Info: MY_LOG: Core core1_1: Transaction successful, data sent: 21 at time: 100 ns +100 ns: Info: MY_LOG: Core 3 of Source Router: 0: Processing data 100 for router 1 and core 3 at time: 100 ns +100 ns: Info: MY_LOG: Router router0: Received transaction with data: 100 at time: 100 ns +100 ns: Info: MY_LOG: Core core0_3: Transaction successful, data sent: 100 at time: 100 ns +100 ns: Info: MY_LOG: Core 2 of Source Router: 3: Processing data 84 for router 0 and core 1 at time: 100 ns +100 ns: Info: MY_LOG: Router router3: Received transaction with data: 84 at time: 100 ns +100 ns: Info: MY_LOG: Core core3_2: Transaction successful, data sent: 84 at time: 100 ns +100 ns: Info: MY_LOG: Core 2 of Source Router: 0: Processing data 23 for router 1 and core 1 at time: 100 ns +100 ns: Info: MY_LOG: Router router0: Received transaction with data: 23 at time: 100 ns +100 ns: Info: MY_LOG: Core core0_2: Transaction successful, data sent: 23 at time: 100 ns +100 ns: Info: MY_LOG: Core 1 of Source Router: 2: Processing data 4 for router 0 and core 0 at time: 100 ns +100 ns: Info: MY_LOG: Router router2: Received transaction with data: 4 at time: 100 ns +100 ns: Info: MY_LOG: Core core2_1: Transaction successful, data sent: 4 at time: 100 ns +100 ns: Info: MY_LOG: Core 2 of Source Router: 2: Processing data 73 for router 3 and core 2 at time: 100 ns +100 ns: Info: MY_LOG: Router router2: Received transaction with data: 73 at time: 100 ns +100 ns: Info: MY_LOG: Core core2_2: Transaction successful, data sent: 73 at time: 100 ns +100 ns: Info: MY_LOG: Core 0 of Source Router: 3: Processing data 78 for router 0 and core 3 at time: 100 ns +100 ns: Info: MY_LOG: Router router3: Received transaction with data: 78 at time: 100 ns +100 ns: Info: MY_LOG: Core core3_0: Transaction successful, data sent: 78 at time: 100 ns +100 ns: Info: MY_LOG: Core 3 of Source Router: 1: Processing data 42 for router 2 and core 0 at time: 100 ns +100 ns: Info: MY_LOG: Router router1: Received transaction with data: 42 at time: 100 ns +100 ns: Info: MY_LOG: Core core1_3: Transaction successful, data sent: 42 at time: 100 ns +100 ns: Info: MY_LOG: Core 1 of Source Router: 3: Processing data 32 for router 1 and core 1 at time: 100 ns +100 ns: Info: MY_LOG: Router router3: Received transaction with data: 32 at time: 100 ns +100 ns: Info: MY_LOG: Core core3_1: Transaction successful, data sent: 32 at time: 100 ns +100 ns: Info: MY_LOG: Core 2 of Source Router: 1: Processing data 55 for router 3 and core 0 at time: 100 ns +100 ns: Info: MY_LOG: Router router1: Received transaction with data: 55 at time: 100 ns +100 ns: Info: MY_LOG: Core core1_2: Transaction successful, data sent: 55 at time: 100 ns +100 ns: Info: MY_LOG: Core 0 of Source Router: 0: Processing data 54 for router 3 and core 1 at time: 100 ns +100 ns: Info: MY_LOG: Router router0: Received transaction with data: 54 at time: 100 ns +100 ns: Info: MY_LOG: Core core0_0: Transaction successful, data sent: 54 at time: 100 ns +100 ns: Info: MY_LOG: Core 0 of Source Router: 1: Processing data 65 for router 0 and core 1 at time: 100 ns +100 ns: Info: MY_LOG: Router router1: Received transaction with data: 65 at time: 100 ns +100 ns: Info: MY_LOG: Core core1_0: Transaction successful, data sent: 65 at time: 100 ns +100 ns: Info: MY_LOG: Core 3 of Source Router: 3: Processing data 37 for router 2 and core 2 at time: 100 ns +100 ns: Info: MY_LOG: Router router3: Received transaction with data: 37 at time: 100 ns +100 ns: Info: MY_LOG: Core core3_3: Transaction successful, data sent: 37 at time: 100 ns +100 ns: Info: MY_LOG: Router router2: Semaphore for Router_3 is unavailable. Retrying with data: 17 +100 ns: Info: MY_LOG: Updated owner of semaphore 0 to Router 1 100 ns: Info: MY_LOG: Updated owner of semaphore 1 to Router 3 -100 ns: Info: MY_LOG: Token for destination router 1 granted to Router 0 -100 ns: Info: MY_LOG: router0 forwarded data: 71 to Router_1 -105 ns: Info: MY_LOG: Router 3 released token for destination router 0 -105 ns: Info: MY_LOG: Token for destination router 0 passed to Router 2 -105 ns: Info: MY_LOG: Router 0: Received transaction with data: 3 from Router 3 after a delay of:10 ns -105 ns: Info: MY_LOG: Router router0: Forwarding transaction with data: 3 to core 1 -105 ns: Info: MY_LOG: Core 1 of parent Router: 0: Processing transaction and received data: 3 -105 ns: Info: MY_LOG: Router router0: Core 1 completed transaction, data: 3 -105 ns: Info: MY_LOG: Token for destination router 0 granted to Router 2 -105 ns: Info: MY_LOG: Router 3 added to queue for semaphore 1 -105 ns: Info: MY_LOG: Router router3: Semaphore unavailable. Retrying with data:46 -105 ns: Info: MY_LOG: Token for destination router 0 granted to Router 2 -105 ns: Info: MY_LOG: router2 forwarded data: 71 to Router_0 -110 ns: Info: MY_LOG: Router 0 released token for destination router 1 -110 ns: Info: MY_LOG: Token for destination router 1 passed to Router 3 -110 ns: Info: MY_LOG: Router 1: Received transaction with data: 71 from Router 0 after a delay of:10 ns -110 ns: Info: MY_LOG: Router router1: Forwarding transaction with data: 71 to core 0 -110 ns: Info: MY_LOG: Core 0 of parent Router: 1: Processing transaction and received data: 71 -110 ns: Info: MY_LOG: Router router1: Core 0 completed transaction, data: 71 -110 ns: Info: MY_LOG: Token for destination router 1 granted to Router 3 -110 ns: Info: MY_LOG: Router 0 added to queue for semaphore 1 -110 ns: Info: MY_LOG: Router router0: Semaphore unavailable. Retrying with data:33 -110 ns: Info: MY_LOG: Token for destination router 1 granted to Router 3 -110 ns: Info: MY_LOG: router3 forwarded data: 46 to Router_1 -115 ns: Info: MY_LOG: Router 1 released token for destination router 3 -115 ns: Info: MY_LOG: Router 3: Received transaction with data: 65 from Router 1 after a delay of:20 ns -115 ns: Info: MY_LOG: Router router3: Forwarding transaction with data: 65 to core 1 -115 ns: Info: MY_LOG: Core 1 of parent Router: 3: Processing transaction and received data: 65 -115 ns: Info: MY_LOG: Router router3: Core 1 completed transaction, data: 65 -115 ns: Info: MY_LOG: Token for destination router 2 granted to Router 1 -115 ns: Info: MY_LOG: router1 forwarded data: 18 to Router_2 -115 ns: Info: MY_LOG: Router router0: Semaphore unavailable. Retrying with data:33 -120 ns: Info: MY_LOG: Updated owner of semaphore 3 to Router 2 -120 ns: Info: MY_LOG: Router router0: Semaphore unavailable. Retrying with data:33 -125 ns: Info: MY_LOG: Router 2 released token for destination router 0 -125 ns: Info: MY_LOG: Router 0: Received transaction with data: 71 from Router 2 after a delay of:20 ns -125 ns: Info: MY_LOG: Router router0: Forwarding transaction with data: 71 to core 3 -125 ns: Info: MY_LOG: Core 3 of parent Router: 0: Processing transaction and received data: 71 -125 ns: Info: MY_LOG: Router router0: Core 3 completed transaction, data: 71 -125 ns: Info: MY_LOG: Router 2: Received transaction with data: 18 from Router 1 after a delay of:10 ns -125 ns: Info: MY_LOG: Router router2: Forwarding transaction with data: 18 to core 0 -125 ns: Info: MY_LOG: Core 0 of parent Router: 2: Processing transaction and received data: 18 -125 ns: Info: MY_LOG: Router router2: Core 0 completed transaction, data: 18 -125 ns: Info: MY_LOG: Token for destination router 0 granted to Router 2 -125 ns: Info: MY_LOG: router2 forwarded data: 1 to Router_0 -125 ns: Info: MY_LOG: Router 1 released token for destination router 2 -125 ns: Info: MY_LOG: Token for destination router 2 granted to Router 1 -125 ns: Info: MY_LOG: router1 forwarded data: 97 to Router_2 -125 ns: Info: MY_LOG: Router router0: Semaphore unavailable. Retrying with data:33 -130 ns: Info: MY_LOG: Router 3 released token for destination router 1 -130 ns: Info: MY_LOG: Token for destination router 1 passed to Router 0 -130 ns: Info: MY_LOG: Router 1: Received transaction with data: 46 from Router 3 after a delay of:20 ns -130 ns: Info: MY_LOG: Router router1: Forwarding transaction with data: 46 to core 0 -130 ns: Info: MY_LOG: Core 0 of parent Router: 1: Processing transaction and received data: 46 -130 ns: Info: MY_LOG: Router router1: Core 0 completed transaction, data: 46 -130 ns: Info: MY_LOG: Token for destination router 1 granted to Router 0 -130 ns: Info: MY_LOG: Router 3 added to queue for semaphore 0 -130 ns: Info: MY_LOG: Router router3: Semaphore unavailable. Retrying with data:71 -130 ns: Info: MY_LOG: Token for destination router 1 granted to Router 0 -130 ns: Info: MY_LOG: router0 forwarded data: 33 to Router_1 -135 ns: Info: MY_LOG: Router 1 released token for destination router 2 -135 ns: Info: MY_LOG: Router 2: Received transaction with data: 97 from Router 1 after a delay of:10 ns -135 ns: Info: MY_LOG: Router router2: Forwarding transaction with data: 97 to core 2 -135 ns: Info: MY_LOG: Core 2 of parent Router: 2: Processing transaction and received data: 97 -135 ns: Info: MY_LOG: Router router2: Core 2 completed transaction, data: 97 -135 ns: Info: MY_LOG: Router 1 added to queue for semaphore 0 -135 ns: Info: MY_LOG: Router router1: Semaphore unavailable. Retrying with data:94 -135 ns: Info: MY_LOG: Router router3: Semaphore unavailable. Retrying with data:71 +100 ns: Info: MY_LOG: Updated owner of semaphore 2 to Router 2 +100 ns: Info: MY_LOG: Token for destination router 0 granted to Router 3 +100 ns: Info: MY_LOG: router3 forwarded data: 84 to Router_0 +100 ns: Info: MY_LOG: Token for destination router 2 granted to Router 1 +100 ns: Info: MY_LOG: router1 forwarded data: 21 to Router_2 +105 ns: Info: MY_LOG: Router router2: Semaphore for Router_3 is unavailable. Retrying with data: 17 +110 ns: Info: MY_LOG: Router 0 released token for destination router 3 +110 ns: Info: MY_LOG: Token for destination router 3 passed to Router 2 +110 ns: Info: MY_LOG: Router 3: Received transaction with data: 27 from Router 0 after a delay of:30 ns +110 ns: Info: MY_LOG: Router router3: Forwarding transaction with data: 27 to core 2 +110 ns: Info: MY_LOG: Core 2 of parent Router: 3: Processing transaction and received data: 27 +110 ns: Info: MY_LOG: Router router3: Core 2 completed transaction, data: 27 +110 ns: Info: MY_LOG: Router 0: Received transaction with data: 84 from Router 3 after a delay of:10 ns +110 ns: Info: MY_LOG: Router router0: Forwarding transaction with data: 84 to core 1 +110 ns: Info: MY_LOG: Core 1 of parent Router: 0: Processing transaction and received data: 84 +110 ns: Info: MY_LOG: Router router0: Core 1 completed transaction, data: 84 +110 ns: Info: MY_LOG: Router 2: Received transaction with data: 21 from Router 1 after a delay of:10 ns +110 ns: Info: MY_LOG: Router router2: Forwarding transaction with data: 21 to core 3 +110 ns: Info: MY_LOG: Core 3 of parent Router: 2: Processing transaction and received data: 21 +110 ns: Info: MY_LOG: Router router2: Core 3 completed transaction, data: 21 +110 ns: Info: MY_LOG: Token for destination router 1 granted to Router 0 +110 ns: Info: MY_LOG: router0 forwarded data: 28 to Router_1 +110 ns: Info: MY_LOG: Router 3 released token for destination router 0 +110 ns: Info: MY_LOG: Token for destination router 0 granted to Router 3 +110 ns: Info: MY_LOG: router3 forwarded data: 78 to Router_0 +110 ns: Info: MY_LOG: Token for destination router 3 granted to Router 2 +110 ns: Info: MY_LOG: router2 forwarded data: 17 to Router_3 +110 ns: Info: MY_LOG: Router 1 released token for destination router 2 +110 ns: Info: MY_LOG: Token for destination router 2 granted to Router 1 +110 ns: Info: MY_LOG: router1 forwarded data: 42 to Router_2 +120 ns: Info: MY_LOG: Router 0 released token for destination router 1 +120 ns: Info: MY_LOG: Router 1: Received transaction with data: 28 from Router 0 after a delay of:10 ns +120 ns: Info: MY_LOG: Router router1: Forwarding transaction with data: 28 to core 2 +120 ns: Info: MY_LOG: Core 2 of parent Router: 1: Processing transaction and received data: 28 +120 ns: Info: MY_LOG: Router router1: Core 2 completed transaction, data: 28 +120 ns: Info: MY_LOG: Router 0: Received transaction with data: 78 from Router 3 after a delay of:10 ns +120 ns: Info: MY_LOG: Router router0: Forwarding transaction with data: 78 to core 3 +120 ns: Info: MY_LOG: Core 3 of parent Router: 0: Processing transaction and received data: 78 +120 ns: Info: MY_LOG: Router router0: Core 3 completed transaction, data: 78 +120 ns: Info: MY_LOG: Router 3: Received transaction with data: 17 from Router 2 after a delay of:10 ns +120 ns: Info: MY_LOG: Router router3: Forwarding transaction with data: 17 to core 1 +120 ns: Info: MY_LOG: Core 1 of parent Router: 3: Processing transaction and received data: 17 +120 ns: Info: MY_LOG: Router router3: Core 1 completed transaction, data: 17 +120 ns: Info: MY_LOG: Router 2: Received transaction with data: 42 from Router 1 after a delay of:10 ns +120 ns: Info: MY_LOG: Router router2: Forwarding transaction with data: 42 to core 0 +120 ns: Info: MY_LOG: Core 0 of parent Router: 2: Processing transaction and received data: 42 +120 ns: Info: MY_LOG: Router router2: Core 0 completed transaction, data: 42 +120 ns: Info: MY_LOG: Token for destination router 1 granted to Router 0 +120 ns: Info: MY_LOG: router0 forwarded data: 100 to Router_1 +120 ns: Info: MY_LOG: Router 3 released token for destination router 0 +120 ns: Info: MY_LOG: Router 3 added to queue for semaphore 1 +120 ns: Info: MY_LOG: Router router3: Semaphore for Router_1 is unavailable. Retrying with data: 32 +120 ns: Info: MY_LOG: Router 1 released token for destination router 2 +120 ns: Info: MY_LOG: Router 1 added to queue for semaphore 3 +120 ns: Info: MY_LOG: Router router1: Semaphore for Router_3 is unavailable. Retrying with data: 55 +120 ns: Info: MY_LOG: Router 2 released token for destination router 3 +120 ns: Info: MY_LOG: Token for destination router 3 passed to Router 1 +120 ns: Info: MY_LOG: Token for destination router 0 granted to Router 2 +120 ns: Info: MY_LOG: router2 forwarded data: 74 to Router_0 +125 ns: Info: MY_LOG: Router router3: Semaphore for Router_1 is unavailable. Retrying with data: 32 +125 ns: Info: MY_LOG: Token for destination router 3 granted to Router 1 +125 ns: Info: MY_LOG: router1 forwarded data: 55 to Router_3 +130 ns: Info: MY_LOG: Router 0 released token for destination router 1 +130 ns: Info: MY_LOG: Token for destination router 1 passed to Router 3 +130 ns: Info: MY_LOG: Router 1: Received transaction with data: 100 from Router 0 after a delay of:10 ns +130 ns: Info: MY_LOG: Router router1: Forwarding transaction with data: 100 to core 3 +130 ns: Info: MY_LOG: Core 3 of parent Router: 1: Processing transaction and received data: 100 +130 ns: Info: MY_LOG: Router router1: Core 3 completed transaction, data: 100 +130 ns: Info: MY_LOG: Router 0 added to queue for semaphore 1 +130 ns: Info: MY_LOG: Router router0: Semaphore for Router_1 is unavailable. Retrying with data: 23 +130 ns: Info: MY_LOG: Token for destination router 1 granted to Router 3 +130 ns: Info: MY_LOG: router3 forwarded data: 32 to Router_1 +135 ns: Info: MY_LOG: Router router0: Semaphore for Router_1 is unavailable. Retrying with data: 23 140 ns: Info: MY_LOG: Updated owner of semaphore 2 to Router 2 -140 ns: Info: MY_LOG: Router 0 released token for destination router 1 -140 ns: Info: MY_LOG: Router 1: Received transaction with data: 33 from Router 0 after a delay of:10 ns -140 ns: Info: MY_LOG: Router router1: Forwarding transaction with data: 33 to core 2 -140 ns: Info: MY_LOG: Core 2 of parent Router: 1: Processing transaction and received data: 33 -140 ns: Info: MY_LOG: Router router1: Core 2 completed transaction, data: 33 -140 ns: Info: MY_LOG: Token for destination router 2 granted to Router 0 -140 ns: Info: MY_LOG: router0 forwarded data: 59 to Router_2 -140 ns: Info: MY_LOG: Router router1: Semaphore unavailable. Retrying with data:94 -140 ns: Info: MY_LOG: Router router3: Semaphore unavailable. Retrying with data:71 -145 ns: Info: MY_LOG: Router 2 released token for destination router 0 -145 ns: Info: MY_LOG: Token for destination router 0 passed to Router 3 -145 ns: Info: MY_LOG: Router 0: Received transaction with data: 1 from Router 2 after a delay of:20 ns -145 ns: Info: MY_LOG: Router router0: Forwarding transaction with data: 1 to core 3 -145 ns: Info: MY_LOG: Core 3 of parent Router: 0: Processing transaction and received data: 1 -145 ns: Info: MY_LOG: Router router0: Core 3 completed transaction, data: 1 -145 ns: Info: MY_LOG: Token for destination router 0 granted to Router 3 -145 ns: Info: MY_LOG: Router 2 added to queue for semaphore 0 -145 ns: Info: MY_LOG: Router router2: Semaphore unavailable. Retrying with data:0 -145 ns: Info: MY_LOG: Router router1: Semaphore unavailable. Retrying with data:94 -145 ns: Info: MY_LOG: Token for destination router 0 granted to Router 3 -145 ns: Info: MY_LOG: router3 forwarded data: 71 to Router_0 -150 ns: Info: MY_LOG: Router router2: Semaphore unavailable. Retrying with data:0 -150 ns: Info: MY_LOG: Router router1: Semaphore unavailable. Retrying with data:94 -155 ns: Info: MY_LOG: Router 3 released token for destination router 0 -155 ns: Info: MY_LOG: Token for destination router 0 passed to Router 1 -155 ns: Info: MY_LOG: Router 0: Received transaction with data: 71 from Router 3 after a delay of:10 ns -155 ns: Info: MY_LOG: Router router0: Forwarding transaction with data: 71 to core 1 -155 ns: Info: MY_LOG: Core 1 of parent Router: 0: Processing transaction and received data: 71 -155 ns: Info: MY_LOG: Router router0: Core 1 completed transaction, data: 71 -155 ns: Info: MY_LOG: Token for destination router 0 granted to Router 1 -155 ns: Info: MY_LOG: Router 3 added to queue for semaphore 2 -155 ns: Info: MY_LOG: Router router3: Semaphore unavailable. Retrying with data:52 -155 ns: Info: MY_LOG: Router router2: Semaphore unavailable. Retrying with data:0 -155 ns: Info: MY_LOG: Token for destination router 0 granted to Router 1 -155 ns: Info: MY_LOG: router1 forwarded data: 94 to Router_0 -160 ns: Info: MY_LOG: Router 0 released token for destination router 2 -160 ns: Info: MY_LOG: Token for destination router 2 passed to Router 3 -160 ns: Info: MY_LOG: Router 2: Received transaction with data: 59 from Router 0 after a delay of:20 ns -160 ns: Info: MY_LOG: Router router2: Forwarding transaction with data: 59 to core 0 -160 ns: Info: MY_LOG: Core 0 of parent Router: 2: Processing transaction and received data: 59 -160 ns: Info: MY_LOG: Router router2: Core 0 completed transaction, data: 59 -160 ns: Info: MY_LOG: Token for destination router 2 granted to Router 3 +140 ns: Info: MY_LOG: Router 2 released token for destination router 0 +140 ns: Info: MY_LOG: Router 0: Received transaction with data: 74 from Router 2 after a delay of:20 ns +140 ns: Info: MY_LOG: Router router0: Forwarding transaction with data: 74 to core 3 +140 ns: Info: MY_LOG: Core 3 of parent Router: 0: Processing transaction and received data: 74 +140 ns: Info: MY_LOG: Router router0: Core 3 completed transaction, data: 74 +140 ns: Info: MY_LOG: Token for destination router 0 granted to Router 2 +140 ns: Info: MY_LOG: router2 forwarded data: 55 to Router_0 +140 ns: Info: MY_LOG: Router router0: Semaphore for Router_1 is unavailable. Retrying with data: 23 +145 ns: Info: MY_LOG: Router 1 released token for destination router 3 +145 ns: Info: MY_LOG: Router 3: Received transaction with data: 55 from Router 1 after a delay of:20 ns +145 ns: Info: MY_LOG: Router router3: Forwarding transaction with data: 55 to core 0 +145 ns: Info: MY_LOG: Core 0 of parent Router: 3: Processing transaction and received data: 55 +145 ns: Info: MY_LOG: Router router3: Core 0 completed transaction, data: 55 +145 ns: Info: MY_LOG: Router 1 added to queue for semaphore 0 +145 ns: Info: MY_LOG: Router router1: Semaphore for Router_0 is unavailable. Retrying with data: 65 +145 ns: Info: MY_LOG: Router router0: Semaphore for Router_1 is unavailable. Retrying with data: 23 +150 ns: Info: MY_LOG: Router 3 released token for destination router 1 +150 ns: Info: MY_LOG: Token for destination router 1 passed to Router 0 +150 ns: Info: MY_LOG: Router 1: Received transaction with data: 32 from Router 3 after a delay of:20 ns +150 ns: Info: MY_LOG: Router router1: Forwarding transaction with data: 32 to core 1 +150 ns: Info: MY_LOG: Core 1 of parent Router: 1: Processing transaction and received data: 32 +150 ns: Info: MY_LOG: Router router1: Core 1 completed transaction, data: 32 +150 ns: Info: MY_LOG: Token for destination router 2 granted to Router 3 +150 ns: Info: MY_LOG: router3 forwarded data: 37 to Router_2 +150 ns: Info: MY_LOG: Router router1: Semaphore for Router_0 is unavailable. Retrying with data: 65 +150 ns: Info: MY_LOG: Token for destination router 1 granted to Router 0 +150 ns: Info: MY_LOG: router0 forwarded data: 23 to Router_1 +155 ns: Info: MY_LOG: Router router1: Semaphore for Router_0 is unavailable. Retrying with data: 65 +160 ns: Info: MY_LOG: Router 2 released token for destination router 0 +160 ns: Info: MY_LOG: Token for destination router 0 passed to Router 1 +160 ns: Info: MY_LOG: Router 0: Received transaction with data: 55 from Router 2 after a delay of:20 ns +160 ns: Info: MY_LOG: Router router0: Forwarding transaction with data: 55 to core 1 +160 ns: Info: MY_LOG: Core 1 of parent Router: 0: Processing transaction and received data: 55 +160 ns: Info: MY_LOG: Router router0: Core 1 completed transaction, data: 55 +160 ns: Info: MY_LOG: Router 1: Received transaction with data: 23 from Router 0 after a delay of:10 ns +160 ns: Info: MY_LOG: Router router1: Forwarding transaction with data: 23 to core 1 +160 ns: Info: MY_LOG: Core 1 of parent Router: 1: Processing transaction and received data: 23 +160 ns: Info: MY_LOG: Router router1: Core 1 completed transaction, data: 23 +160 ns: Info: MY_LOG: Router 2 added to queue for semaphore 0 +160 ns: Info: MY_LOG: Router router2: Semaphore for Router_0 is unavailable. Retrying with data: 4 +160 ns: Info: MY_LOG: Updated owner of semaphore 3 to Router 2 +160 ns: Info: MY_LOG: Token for destination router 0 granted to Router 1 +160 ns: Info: MY_LOG: router1 forwarded data: 65 to Router_0 +160 ns: Info: MY_LOG: Router 0 released token for destination router 1 160 ns: Info: MY_LOG: Token for destination router 3 granted to Router 0 -160 ns: Info: MY_LOG: router0 forwarded data: 64 to Router_3 -160 ns: Info: MY_LOG: Updated owner of semaphore 1 to Router 1 -160 ns: Info: MY_LOG: Token for destination router 2 granted to Router 3 -160 ns: Info: MY_LOG: router3 forwarded data: 52 to Router_2 -160 ns: Info: MY_LOG: Router router2: Semaphore unavailable. Retrying with data:0 -165 ns: Info: MY_LOG: Router router2: Semaphore unavailable. Retrying with data:0 -170 ns: Info: MY_LOG: Router router2: Semaphore unavailable. Retrying with data:0 -175 ns: Info: MY_LOG: Router router2: Semaphore unavailable. Retrying with data:0 -180 ns: Info: MY_LOG: Router router2: Semaphore unavailable. Retrying with data:0 -185 ns: Info: MY_LOG: Router 1 released token for destination router 0 -185 ns: Info: MY_LOG: Token for destination router 0 passed to Router 2 -185 ns: Info: MY_LOG: Router 0: Received transaction with data: 94 from Router 1 after a delay of:30 ns -185 ns: Info: MY_LOG: Router router0: Forwarding transaction with data: 94 to core 2 -185 ns: Info: MY_LOG: Core 2 of parent Router: 0: Processing transaction and received data: 94 -185 ns: Info: MY_LOG: Router router0: Core 2 completed transaction, data: 94 -185 ns: Info: MY_LOG: Token for destination router 0 granted to Router 2 -185 ns: Info: MY_LOG: Router 1 added to queue for semaphore 2 -185 ns: Info: MY_LOG: Router router1: Semaphore unavailable. Retrying with data:36 -185 ns: Info: MY_LOG: Token for destination router 0 granted to Router 2 -185 ns: Info: MY_LOG: router2 forwarded data: 0 to Router_0 -190 ns: Info: MY_LOG: Router 3: Received transaction with data: 64 from Router 0 after a delay of:30 ns -190 ns: Info: MY_LOG: Router router3: Forwarding transaction with data: 64 to core 3 -190 ns: Info: MY_LOG: Core 3 of parent Router: 3: Processing transaction and received data: 64 -190 ns: Info: MY_LOG: Router router3: Core 3 completed transaction, data: 64 -190 ns: Info: MY_LOG: Router 2: Received transaction with data: 52 from Router 3 after a delay of:30 ns -190 ns: Info: MY_LOG: Router router2: Forwarding transaction with data: 52 to core 2 -190 ns: Info: MY_LOG: Core 2 of parent Router: 2: Processing transaction and received data: 52 -190 ns: Info: MY_LOG: Router router2: Core 2 completed transaction, data: 52 -190 ns: Info: MY_LOG: Router router1: Semaphore unavailable. Retrying with data:36 +160 ns: Info: MY_LOG: router0 forwarded data: 54 to Router_3 +165 ns: Info: MY_LOG: Router router2: Semaphore for Router_0 is unavailable. Retrying with data: 4 +170 ns: Info: MY_LOG: Router router2: Semaphore for Router_0 is unavailable. Retrying with data: 4 +175 ns: Info: MY_LOG: Router router2: Semaphore for Router_0 is unavailable. Retrying with data: 4 +180 ns: Info: MY_LOG: Router 3 released token for destination router 2 +180 ns: Info: MY_LOG: Updated owner of semaphore 1 to Router 1 +180 ns: Info: MY_LOG: Updated owner of semaphore 2 to Router 0 +180 ns: Info: MY_LOG: Router 2: Received transaction with data: 37 from Router 3 after a delay of:30 ns +180 ns: Info: MY_LOG: Router router2: Forwarding transaction with data: 37 to core 2 +180 ns: Info: MY_LOG: Core 2 of parent Router: 2: Processing transaction and received data: 37 +180 ns: Info: MY_LOG: Router router2: Core 2 completed transaction, data: 37 +180 ns: Info: MY_LOG: Router router2: Semaphore for Router_0 is unavailable. Retrying with data: 4 +185 ns: Info: MY_LOG: Router router2: Semaphore for Router_0 is unavailable. Retrying with data: 4 +190 ns: Info: MY_LOG: Router 3: Received transaction with data: 54 from Router 0 after a delay of:30 ns +190 ns: Info: MY_LOG: Router router3: Forwarding transaction with data: 54 to core 1 +190 ns: Info: MY_LOG: Core 1 of parent Router: 3: Processing transaction and received data: 54 +190 ns: Info: MY_LOG: Router router3: Core 1 completed transaction, data: 54 +190 ns: Info: MY_LOG: Router 0: Received transaction with data: 65 from Router 1 after a delay of:30 ns +190 ns: Info: MY_LOG: Router router0: Forwarding transaction with data: 65 to core 1 +190 ns: Info: MY_LOG: Core 1 of parent Router: 0: Processing transaction and received data: 65 +190 ns: Info: MY_LOG: Router router0: Core 1 completed transaction, data: 65 +190 ns: Info: MY_LOG: Router router2: Semaphore for Router_0 is unavailable. Retrying with data: 4 190 ns: Info: MY_LOG: Router 0 released token for destination router 3 -190 ns: Info: MY_LOG: Router 3 released token for destination router 2 -190 ns: Info: MY_LOG: Token for destination router 2 passed to Router 1 -190 ns: Info: MY_LOG: Token for destination router 2 granted to Router 1 -190 ns: Info: MY_LOG: Token for destination router 1 granted to Router 3 -190 ns: Info: MY_LOG: router3 forwarded data: 56 to Router_1 -195 ns: Info: MY_LOG: Token for destination router 2 granted to Router 1 -195 ns: Info: MY_LOG: router1 forwarded data: 36 to Router_2 +190 ns: Info: MY_LOG: Router 1 released token for destination router 0 +190 ns: Info: MY_LOG: Token for destination router 0 passed to Router 2 +195 ns: Info: MY_LOG: Token for destination router 0 granted to Router 2 +195 ns: Info: MY_LOG: router2 forwarded data: 4 to Router_0 +200 ns: Info: MY_LOG: Core 3 of Source Router: 1: Processing data 42 for router 2 and core 3 at time: 200 ns +200 ns: Info: MY_LOG: Router router1: Received transaction with data: 42 at time: 200 ns +200 ns: Info: MY_LOG: Core core1_3: Transaction successful, data sent: 42 at time: 200 ns +200 ns: Info: MY_LOG: Updated owner of semaphore 1 to Router 2 +200 ns: Info: MY_LOG: Updated owner of semaphore 2 to Router 1 200 ns: Info: MY_LOG: Updated owner of semaphore 3 to Router 1 -200 ns: Info: MY_LOG: Core 1 of Source Router: 2: Processing data 90 for router 0 and core 1 at time: 200 ns -200 ns: Info: MY_LOG: Router router2: Received transaction with data: 90 at time: 200 ns -200 ns: Info: MY_LOG: Core core2_1: Transaction successful, data sent: 90 at time: 200 ns -200 ns: Info: MY_LOG: Core 1 of Source Router: 1: Processing data 62 for router 0 and core 1 at time: 200 ns -200 ns: Info: MY_LOG: Router router1: Received transaction with data: 62 at time: 200 ns -200 ns: Info: MY_LOG: Core core1_1: Transaction successful, data sent: 62 at time: 200 ns -200 ns: Info: MY_LOG: Core 0 of Source Router: 1: Processing data 35 for router 3 and core 3 at time: 200 ns -200 ns: Info: MY_LOG: Router router1: Received transaction with data: 35 at time: 200 ns -200 ns: Info: MY_LOG: Core core1_0: Transaction successful, data sent: 35 at time: 200 ns -200 ns: Info: MY_LOG: Core 0 of Source Router: 0: Processing data 33 for router 1 and core 2 at time: 200 ns -200 ns: Info: MY_LOG: Router router0: Received transaction with data: 33 at time: 200 ns -200 ns: Info: MY_LOG: Core core0_0: Transaction successful, data sent: 33 at time: 200 ns -200 ns: Info: MY_LOG: Core 2 of Source Router: 1: Processing data 84 for router 0 and core 2 at time: 200 ns -200 ns: Info: MY_LOG: Router router1: Received transaction with data: 84 at time: 200 ns -200 ns: Info: MY_LOG: Core core1_2: Transaction successful, data sent: 84 at time: 200 ns -200 ns: Info: MY_LOG: Core 1 of Source Router: 0: Processing data 42 for router 2 and core 2 at time: 200 ns -200 ns: Info: MY_LOG: Router router0: Received transaction with data: 42 at time: 200 ns -200 ns: Info: MY_LOG: Core core0_1: Transaction successful, data sent: 42 at time: 200 ns -200 ns: Info: MY_LOG: Core 3 of Source Router: 1: Processing data 35 for router 0 and core 0 at time: 200 ns -200 ns: Info: MY_LOG: Router router1: Received transaction with data: 35 at time: 200 ns -200 ns: Info: MY_LOG: Core core1_3: Transaction successful, data sent: 35 at time: 200 ns -200 ns: Info: MY_LOG: Core 3 of Source Router: 0: Processing data 64 for router 3 and core 3 at time: 200 ns -200 ns: Info: MY_LOG: Router router0: Received transaction with data: 64 at time: 200 ns -200 ns: Info: MY_LOG: Core core0_3: Transaction successful, data sent: 64 at time: 200 ns -200 ns: Info: MY_LOG: Core 2 of Source Router: 2: Processing data 42 for router 3 and core 3 at time: 200 ns -200 ns: Info: MY_LOG: Router router2: Received transaction with data: 42 at time: 200 ns -200 ns: Info: MY_LOG: Core core2_2: Transaction successful, data sent: 42 at time: 200 ns -200 ns: Info: MY_LOG: Core 3 of Source Router: 2: Processing data 53 for router 3 and core 3 at time: 200 ns -200 ns: Info: MY_LOG: Router router2: Received transaction with data: 53 at time: 200 ns -200 ns: Info: MY_LOG: Core core2_3: Transaction successful, data sent: 53 at time: 200 ns -200 ns: Info: MY_LOG: Core 2 of Source Router: 0: Processing data 53 for router 1 and core 2 at time: 200 ns -200 ns: Info: MY_LOG: Router router0: Received transaction with data: 53 at time: 200 ns -200 ns: Info: MY_LOG: Core core0_2: Transaction successful, data sent: 53 at time: 200 ns -200 ns: Info: MY_LOG: Core 1 of Source Router: 3: Processing data 64 for router 1 and core 1 at time: 200 ns -200 ns: Info: MY_LOG: Router router3: Received transaction with data: 64 at time: 200 ns -200 ns: Info: MY_LOG: Core core3_1: Transaction successful, data sent: 64 at time: 200 ns -200 ns: Info: MY_LOG: Core 0 of Source Router: 2: Processing data 98 for router 3 and core 1 at time: 200 ns -200 ns: Info: MY_LOG: Router router2: Received transaction with data: 98 at time: 200 ns -200 ns: Info: MY_LOG: Core core2_0: Transaction successful, data sent: 98 at time: 200 ns -200 ns: Info: MY_LOG: Core 2 of Source Router: 3: Processing data 82 for router 0 and core 0 at time: 200 ns -200 ns: Info: MY_LOG: Router router3: Received transaction with data: 82 at time: 200 ns -200 ns: Info: MY_LOG: Core core3_2: Transaction successful, data sent: 82 at time: 200 ns -200 ns: Info: MY_LOG: Core 3 of Source Router: 3: Processing data 90 for router 2 and core 2 at time: 200 ns -200 ns: Info: MY_LOG: Router router3: Received transaction with data: 90 at time: 200 ns -200 ns: Info: MY_LOG: Core core3_3: Transaction successful, data sent: 90 at time: 200 ns -200 ns: Info: MY_LOG: Core 0 of Source Router: 3: Processing data 91 for router 2 and core 1 at time: 200 ns -200 ns: Info: MY_LOG: Router router3: Received transaction with data: 91 at time: 200 ns -200 ns: Info: MY_LOG: Core core3_0: Transaction successful, data sent: 91 at time: 200 ns -200 ns: Info: MY_LOG: Router 0 added to queue for semaphore 1 -200 ns: Info: MY_LOG: Router router0: Semaphore unavailable. Retrying with data:33 -205 ns: Info: MY_LOG: Router 2 released token for destination router 0 -205 ns: Info: MY_LOG: Router 0: Received transaction with data: 0 from Router 2 after a delay of:20 ns -205 ns: Info: MY_LOG: Router router0: Forwarding transaction with data: 0 to core 1 -205 ns: Info: MY_LOG: Core 1 of parent Router: 0: Processing transaction and received data: 0 -205 ns: Info: MY_LOG: Router router0: Core 1 completed transaction, data: 0 -205 ns: Info: MY_LOG: Router 2: Received transaction with data: 36 from Router 1 after a delay of:10 ns -205 ns: Info: MY_LOG: Router router2: Forwarding transaction with data: 36 to core 2 -205 ns: Info: MY_LOG: Core 2 of parent Router: 2: Processing transaction and received data: 36 -205 ns: Info: MY_LOG: Router router2: Core 2 completed transaction, data: 36 -205 ns: Info: MY_LOG: Token for destination router 0 granted to Router 2 -205 ns: Info: MY_LOG: router2 forwarded data: 72 to Router_0 -205 ns: Info: MY_LOG: Router 1 released token for destination router 2 -205 ns: Info: MY_LOG: Token for destination router 3 granted to Router 1 -205 ns: Info: MY_LOG: router1 forwarded data: 41 to Router_3 -205 ns: Info: MY_LOG: Router router0: Semaphore unavailable. Retrying with data:33 -210 ns: Info: MY_LOG: Router 3 released token for destination router 1 -210 ns: Info: MY_LOG: Token for destination router 1 passed to Router 0 -210 ns: Info: MY_LOG: Router 1: Received transaction with data: 56 from Router 3 after a delay of:20 ns -210 ns: Info: MY_LOG: Router router1: Forwarding transaction with data: 56 to core 0 -210 ns: Info: MY_LOG: Core 0 of parent Router: 1: Processing transaction and received data: 56 -210 ns: Info: MY_LOG: Router router1: Core 0 completed transaction, data: 56 -210 ns: Info: MY_LOG: Token for destination router 1 granted to Router 0 -210 ns: Info: MY_LOG: Token for destination router 2 granted to Router 3 -210 ns: Info: MY_LOG: router3 forwarded data: 22 to Router_2 -210 ns: Info: MY_LOG: Token for destination router 1 granted to Router 0 -210 ns: Info: MY_LOG: router0 forwarded data: 33 to Router_1 -220 ns: Info: MY_LOG: Router 0 released token for destination router 1 -220 ns: Info: MY_LOG: Router 1: Received transaction with data: 33 from Router 0 after a delay of:10 ns -220 ns: Info: MY_LOG: Router router1: Forwarding transaction with data: 33 to core 2 -220 ns: Info: MY_LOG: Core 2 of parent Router: 1: Processing transaction and received data: 33 -220 ns: Info: MY_LOG: Router router1: Core 2 completed transaction, data: 33 -220 ns: Info: MY_LOG: Router 0 added to queue for semaphore 2 -220 ns: Info: MY_LOG: Router router0: Semaphore unavailable. Retrying with data:42 -225 ns: Info: MY_LOG: Router 2 released token for destination router 0 -225 ns: Info: MY_LOG: Router 0: Received transaction with data: 72 from Router 2 after a delay of:20 ns -225 ns: Info: MY_LOG: Router router0: Forwarding transaction with data: 72 to core 3 -225 ns: Info: MY_LOG: Core 3 of parent Router: 0: Processing transaction and received data: 72 -225 ns: Info: MY_LOG: Router router0: Core 3 completed transaction, data: 72 -225 ns: Info: MY_LOG: Router 3: Received transaction with data: 41 from Router 1 after a delay of:20 ns -225 ns: Info: MY_LOG: Router router3: Forwarding transaction with data: 41 to core 2 -225 ns: Info: MY_LOG: Core 2 of parent Router: 3: Processing transaction and received data: 41 -225 ns: Info: MY_LOG: Router router3: Core 2 completed transaction, data: 41 -225 ns: Info: MY_LOG: Token for destination router 1 granted to Router 2 -225 ns: Info: MY_LOG: router2 forwarded data: 67 to Router_1 -225 ns: Info: MY_LOG: Router 1 released token for destination router 3 +200 ns: Info: MY_LOG: Core 1 of Source Router: 0: Processing data 81 for router 1 and core 1 at time: 200 ns +200 ns: Info: MY_LOG: Router router0: Received transaction with data: 81 at time: 200 ns +200 ns: Info: MY_LOG: Core core0_1: Transaction successful, data sent: 81 at time: 200 ns +200 ns: Info: MY_LOG: Core 3 of Source Router: 2: Processing data 25 for router 0 and core 0 at time: 200 ns +200 ns: Info: MY_LOG: Router router2: Received transaction with data: 25 at time: 200 ns +200 ns: Info: MY_LOG: Core core2_3: Transaction successful, data sent: 25 at time: 200 ns +200 ns: Info: MY_LOG: Core 3 of Source Router: 0: Processing data 43 for router 3 and core 2 at time: 200 ns +200 ns: Info: MY_LOG: Router router0: Received transaction with data: 43 at time: 200 ns +200 ns: Info: MY_LOG: Core core0_3: Transaction successful, data sent: 43 at time: 200 ns +200 ns: Info: MY_LOG: Core 2 of Source Router: 3: Processing data 55 for router 0 and core 2 at time: 200 ns +200 ns: Info: MY_LOG: Router router3: Received transaction with data: 55 at time: 200 ns +200 ns: Info: MY_LOG: Core core3_2: Transaction successful, data sent: 55 at time: 200 ns +200 ns: Info: MY_LOG: Core 2 of Source Router: 2: Processing data 89 for router 1 and core 3 at time: 200 ns +200 ns: Info: MY_LOG: Router router2: Received transaction with data: 89 at time: 200 ns +200 ns: Info: MY_LOG: Core core2_2: Transaction successful, data sent: 89 at time: 200 ns +200 ns: Info: MY_LOG: Core 1 of Source Router: 2: Processing data 43 for router 0 and core 3 at time: 200 ns +200 ns: Info: MY_LOG: Router router2: Received transaction with data: 43 at time: 200 ns +200 ns: Info: MY_LOG: Core core2_1: Transaction successful, data sent: 43 at time: 200 ns +200 ns: Info: MY_LOG: Core 3 of Source Router: 3: Processing data 63 for router 0 and core 2 at time: 200 ns +200 ns: Info: MY_LOG: Router router3: Received transaction with data: 63 at time: 200 ns +200 ns: Info: MY_LOG: Core core3_3: Transaction successful, data sent: 63 at time: 200 ns +200 ns: Info: MY_LOG: Core 0 of Source Router: 3: Processing data 33 for router 0 and core 3 at time: 200 ns +200 ns: Info: MY_LOG: Router router3: Received transaction with data: 33 at time: 200 ns +200 ns: Info: MY_LOG: Core core3_0: Transaction successful, data sent: 33 at time: 200 ns +200 ns: Info: MY_LOG: Core 0 of Source Router: 2: Processing data 25 for router 0 and core 1 at time: 200 ns +200 ns: Info: MY_LOG: Router router2: Received transaction with data: 25 at time: 200 ns +200 ns: Info: MY_LOG: Core core2_0: Transaction successful, data sent: 25 at time: 200 ns +200 ns: Info: MY_LOG: Core 1 of Source Router: 3: Processing data 28 for router 2 and core 3 at time: 200 ns +200 ns: Info: MY_LOG: Router router3: Received transaction with data: 28 at time: 200 ns +200 ns: Info: MY_LOG: Core core3_1: Transaction successful, data sent: 28 at time: 200 ns +200 ns: Info: MY_LOG: Core 2 of Source Router: 1: Processing data 64 for router 2 and core 0 at time: 200 ns +200 ns: Info: MY_LOG: Router router1: Received transaction with data: 64 at time: 200 ns +200 ns: Info: MY_LOG: Core core1_2: Transaction successful, data sent: 64 at time: 200 ns +200 ns: Info: MY_LOG: Core 0 of Source Router: 0: Processing data 39 for router 2 and core 0 at time: 200 ns +200 ns: Info: MY_LOG: Router router0: Received transaction with data: 39 at time: 200 ns +200 ns: Info: MY_LOG: Core core0_0: Transaction successful, data sent: 39 at time: 200 ns +200 ns: Info: MY_LOG: Core 2 of Source Router: 0: Processing data 45 for router 2 and core 3 at time: 200 ns +200 ns: Info: MY_LOG: Router router0: Received transaction with data: 45 at time: 200 ns +200 ns: Info: MY_LOG: Core core0_2: Transaction successful, data sent: 45 at time: 200 ns +200 ns: Info: MY_LOG: Core 0 of Source Router: 1: Processing data 25 for router 0 and core 3 at time: 200 ns +200 ns: Info: MY_LOG: Router router1: Received transaction with data: 25 at time: 200 ns +200 ns: Info: MY_LOG: Core core1_0: Transaction successful, data sent: 25 at time: 200 ns +200 ns: Info: MY_LOG: Core 1 of Source Router: 1: Processing data 71 for router 2 and core 0 at time: 200 ns +200 ns: Info: MY_LOG: Router router1: Received transaction with data: 71 at time: 200 ns +200 ns: Info: MY_LOG: Core core1_1: Transaction successful, data sent: 71 at time: 200 ns +200 ns: Info: MY_LOG: Token for destination router 2 granted to Router 1 +200 ns: Info: MY_LOG: router1 forwarded data: 42 to Router_2 +200 ns: Info: MY_LOG: Token for destination router 1 granted to Router 0 +200 ns: Info: MY_LOG: router0 forwarded data: 81 to Router_1 +200 ns: Info: MY_LOG: Router 3 added to queue for semaphore 0 +200 ns: Info: MY_LOG: Router router3: Semaphore for Router_0 is unavailable. Retrying with data: 55 +205 ns: Info: MY_LOG: Router router3: Semaphore for Router_0 is unavailable. Retrying with data: 55 +210 ns: Info: MY_LOG: Router 1 released token for destination router 2 +210 ns: Info: MY_LOG: Router 2: Received transaction with data: 42 from Router 1 after a delay of:10 ns +210 ns: Info: MY_LOG: Router router2: Forwarding transaction with data: 42 to core 3 +210 ns: Info: MY_LOG: Core 3 of parent Router: 2: Processing transaction and received data: 42 +210 ns: Info: MY_LOG: Router router2: Core 3 completed transaction, data: 42 +210 ns: Info: MY_LOG: Router 1: Received transaction with data: 81 from Router 0 after a delay of:10 ns +210 ns: Info: MY_LOG: Router router1: Forwarding transaction with data: 81 to core 1 +210 ns: Info: MY_LOG: Core 1 of parent Router: 1: Processing transaction and received data: 81 +210 ns: Info: MY_LOG: Router router1: Core 1 completed transaction, data: 81 +210 ns: Info: MY_LOG: Token for destination router 2 granted to Router 1 +210 ns: Info: MY_LOG: router1 forwarded data: 64 to Router_2 +210 ns: Info: MY_LOG: Router 0 released token for destination router 1 +210 ns: Info: MY_LOG: Token for destination router 3 granted to Router 0 +210 ns: Info: MY_LOG: router0 forwarded data: 43 to Router_3 +210 ns: Info: MY_LOG: Router router3: Semaphore for Router_0 is unavailable. Retrying with data: 55 +215 ns: Info: MY_LOG: Router 2 released token for destination router 0 +215 ns: Info: MY_LOG: Token for destination router 0 passed to Router 3 +215 ns: Info: MY_LOG: Router 0: Received transaction with data: 4 from Router 2 after a delay of:20 ns +215 ns: Info: MY_LOG: Router router0: Forwarding transaction with data: 4 to core 0 +215 ns: Info: MY_LOG: Core 0 of parent Router: 0: Processing transaction and received data: 4 +215 ns: Info: MY_LOG: Router router0: Core 0 completed transaction, data: 4 +215 ns: Info: MY_LOG: Router 2 added to queue for semaphore 3 +215 ns: Info: MY_LOG: Router router2: Semaphore for Router_3 is unavailable. Retrying with data: 73 +215 ns: Info: MY_LOG: Token for destination router 0 granted to Router 3 +215 ns: Info: MY_LOG: router3 forwarded data: 55 to Router_0 +220 ns: Info: MY_LOG: Router 1 released token for destination router 2 +220 ns: Info: MY_LOG: Router 2: Received transaction with data: 64 from Router 1 after a delay of:10 ns +220 ns: Info: MY_LOG: Router router2: Forwarding transaction with data: 64 to core 0 +220 ns: Info: MY_LOG: Core 0 of parent Router: 2: Processing transaction and received data: 64 +220 ns: Info: MY_LOG: Router router2: Core 0 completed transaction, data: 64 +220 ns: Info: MY_LOG: Router 1 added to queue for semaphore 0 +220 ns: Info: MY_LOG: Router router1: Semaphore for Router_0 is unavailable. Retrying with data: 25 +220 ns: Info: MY_LOG: Router router2: Semaphore for Router_3 is unavailable. Retrying with data: 73 +220 ns: Info: MY_LOG: Updated owner of semaphore 1 to Router 1 +220 ns: Info: MY_LOG: Updated owner of semaphore 2 to Router 2 +225 ns: Info: MY_LOG: Router 3 released token for destination router 0 +225 ns: Info: MY_LOG: Token for destination router 0 passed to Router 1 +225 ns: Info: MY_LOG: Router 0: Received transaction with data: 55 from Router 3 after a delay of:10 ns +225 ns: Info: MY_LOG: Router router0: Forwarding transaction with data: 55 to core 2 +225 ns: Info: MY_LOG: Core 2 of parent Router: 0: Processing transaction and received data: 55 +225 ns: Info: MY_LOG: Router router0: Core 2 completed transaction, data: 55 +225 ns: Info: MY_LOG: Router 3 added to queue for semaphore 0 +225 ns: Info: MY_LOG: Router router3: Semaphore for Router_0 is unavailable. Retrying with data: 63 225 ns: Info: MY_LOG: Token for destination router 0 granted to Router 1 -225 ns: Info: MY_LOG: router1 forwarded data: 62 to Router_0 -225 ns: Info: MY_LOG: Router router0: Semaphore unavailable. Retrying with data:42 -230 ns: Info: MY_LOG: Router router0: Semaphore unavailable. Retrying with data:42 -235 ns: Info: MY_LOG: Router router0: Semaphore unavailable. Retrying with data:42 -240 ns: Info: MY_LOG: Updated owner of semaphore 3 to Router 2 -240 ns: Info: MY_LOG: Router 3 released token for destination router 2 -240 ns: Info: MY_LOG: Token for destination router 2 passed to Router 0 -240 ns: Info: MY_LOG: Router 2: Received transaction with data: 22 from Router 3 after a delay of:30 ns -240 ns: Info: MY_LOG: Router router2: Forwarding transaction with data: 22 to core 2 -240 ns: Info: MY_LOG: Core 2 of parent Router: 2: Processing transaction and received data: 22 -240 ns: Info: MY_LOG: Router router2: Core 2 completed transaction, data: 22 +225 ns: Info: MY_LOG: router1 forwarded data: 25 to Router_0 +225 ns: Info: MY_LOG: Router router2: Semaphore for Router_3 is unavailable. Retrying with data: 73 +230 ns: Info: MY_LOG: Router router3: Semaphore for Router_0 is unavailable. Retrying with data: 63 +230 ns: Info: MY_LOG: Router router2: Semaphore for Router_3 is unavailable. Retrying with data: 73 +235 ns: Info: MY_LOG: Router router3: Semaphore for Router_0 is unavailable. Retrying with data: 63 +235 ns: Info: MY_LOG: Router router2: Semaphore for Router_3 is unavailable. Retrying with data: 73 +240 ns: Info: MY_LOG: Updated owner of semaphore 1 to Router 2 +240 ns: Info: MY_LOG: Updated owner of semaphore 2 to Router 3 +240 ns: Info: MY_LOG: Router 0 released token for destination router 3 +240 ns: Info: MY_LOG: Token for destination router 3 passed to Router 2 +240 ns: Info: MY_LOG: Router 3: Received transaction with data: 43 from Router 0 after a delay of:30 ns +240 ns: Info: MY_LOG: Router router3: Forwarding transaction with data: 43 to core 2 +240 ns: Info: MY_LOG: Core 2 of parent Router: 3: Processing transaction and received data: 43 +240 ns: Info: MY_LOG: Router router3: Core 2 completed transaction, data: 43 240 ns: Info: MY_LOG: Token for destination router 2 granted to Router 0 -240 ns: Info: MY_LOG: Router 3 added to queue for semaphore 2 -240 ns: Info: MY_LOG: Router router3: Semaphore unavailable. Retrying with data:87 -240 ns: Info: MY_LOG: Token for destination router 2 granted to Router 0 -240 ns: Info: MY_LOG: router0 forwarded data: 42 to Router_2 -245 ns: Info: MY_LOG: Router router3: Semaphore unavailable. Retrying with data:87 -250 ns: Info: MY_LOG: Router router3: Semaphore unavailable. Retrying with data:87 -255 ns: Info: MY_LOG: Router 2 released token for destination router 1 -255 ns: Info: MY_LOG: Router 1: Received transaction with data: 67 from Router 2 after a delay of:30 ns -255 ns: Info: MY_LOG: Router router1: Forwarding transaction with data: 67 to core 3 -255 ns: Info: MY_LOG: Core 3 of parent Router: 1: Processing transaction and received data: 67 -255 ns: Info: MY_LOG: Router router1: Core 3 completed transaction, data: 67 -255 ns: Info: MY_LOG: Router 0: Received transaction with data: 62 from Router 1 after a delay of:30 ns -255 ns: Info: MY_LOG: Router router0: Forwarding transaction with data: 62 to core 1 -255 ns: Info: MY_LOG: Core 1 of parent Router: 0: Processing transaction and received data: 62 -255 ns: Info: MY_LOG: Router router0: Core 1 completed transaction, data: 62 -255 ns: Info: MY_LOG: Router 2 added to queue for semaphore 0 -255 ns: Info: MY_LOG: Router router2: Semaphore unavailable. Retrying with data:71 +240 ns: Info: MY_LOG: router0 forwarded data: 39 to Router_2 +240 ns: Info: MY_LOG: Router router3: Semaphore for Router_0 is unavailable. Retrying with data: 63 +240 ns: Info: MY_LOG: Token for destination router 3 granted to Router 2 +240 ns: Info: MY_LOG: router2 forwarded data: 73 to Router_3 +245 ns: Info: MY_LOG: Router router3: Semaphore for Router_0 is unavailable. Retrying with data: 63 +250 ns: Info: MY_LOG: Router 2 released token for destination router 3 +250 ns: Info: MY_LOG: Router 3: Received transaction with data: 73 from Router 2 after a delay of:10 ns +250 ns: Info: MY_LOG: Router router3: Forwarding transaction with data: 73 to core 2 +250 ns: Info: MY_LOG: Core 2 of parent Router: 3: Processing transaction and received data: 73 +250 ns: Info: MY_LOG: Router router3: Core 2 completed transaction, data: 73 +250 ns: Info: MY_LOG: Router 2 added to queue for semaphore 0 +250 ns: Info: MY_LOG: Router router2: Semaphore for Router_0 is unavailable. Retrying with data: 25 +250 ns: Info: MY_LOG: Router router3: Semaphore for Router_0 is unavailable. Retrying with data: 63 255 ns: Info: MY_LOG: Router 1 released token for destination router 0 -255 ns: Info: MY_LOG: Token for destination router 0 passed to Router 2 -255 ns: Info: MY_LOG: Token for destination router 0 granted to Router 2 -255 ns: Info: MY_LOG: Token for destination router 3 granted to Router 1 -255 ns: Info: MY_LOG: router1 forwarded data: 35 to Router_3 -255 ns: Info: MY_LOG: Router router3: Semaphore unavailable. Retrying with data:87 +255 ns: Info: MY_LOG: Token for destination router 0 passed to Router 3 +255 ns: Info: MY_LOG: Router 0: Received transaction with data: 25 from Router 1 after a delay of:30 ns +255 ns: Info: MY_LOG: Router router0: Forwarding transaction with data: 25 to core 3 +255 ns: Info: MY_LOG: Core 3 of parent Router: 0: Processing transaction and received data: 25 +255 ns: Info: MY_LOG: Router router0: Core 3 completed transaction, data: 25 +255 ns: Info: MY_LOG: Router 1 added to queue for semaphore 2 +255 ns: Info: MY_LOG: Router router1: Semaphore for Router_2 is unavailable. Retrying with data: 71 +255 ns: Info: MY_LOG: Router router2: Semaphore for Router_0 is unavailable. Retrying with data: 25 +255 ns: Info: MY_LOG: Token for destination router 0 granted to Router 3 +255 ns: Info: MY_LOG: router3 forwarded data: 63 to Router_0 260 ns: Info: MY_LOG: Updated owner of semaphore 1 to Router 3 +260 ns: Info: MY_LOG: Updated owner of semaphore 3 to Router 3 260 ns: Info: MY_LOG: Router 0 released token for destination router 2 -260 ns: Info: MY_LOG: Token for destination router 2 passed to Router 3 -260 ns: Info: MY_LOG: Router 2: Received transaction with data: 42 from Router 0 after a delay of:20 ns -260 ns: Info: MY_LOG: Router router2: Forwarding transaction with data: 42 to core 2 -260 ns: Info: MY_LOG: Core 2 of parent Router: 2: Processing transaction and received data: 42 -260 ns: Info: MY_LOG: Router router2: Core 2 completed transaction, data: 42 -260 ns: Info: MY_LOG: Token for destination router 2 granted to Router 3 -260 ns: Info: MY_LOG: Router 0 added to queue for semaphore 3 -260 ns: Info: MY_LOG: Router router0: Semaphore unavailable. Retrying with data:64 -260 ns: Info: MY_LOG: Token for destination router 0 granted to Router 2 -260 ns: Info: MY_LOG: router2 forwarded data: 71 to Router_0 -260 ns: Info: MY_LOG: Token for destination router 2 granted to Router 3 -260 ns: Info: MY_LOG: router3 forwarded data: 87 to Router_2 -265 ns: Info: MY_LOG: Router router0: Semaphore unavailable. Retrying with data:64 -270 ns: Info: MY_LOG: Router router0: Semaphore unavailable. Retrying with data:64 -275 ns: Info: MY_LOG: Router 1 released token for destination router 3 -275 ns: Info: MY_LOG: Token for destination router 3 passed to Router 0 -275 ns: Info: MY_LOG: Router 3: Received transaction with data: 35 from Router 1 after a delay of:20 ns -275 ns: Info: MY_LOG: Router router3: Forwarding transaction with data: 35 to core 3 -275 ns: Info: MY_LOG: Core 3 of parent Router: 3: Processing transaction and received data: 35 -275 ns: Info: MY_LOG: Router router3: Core 3 completed transaction, data: 35 -275 ns: Info: MY_LOG: Token for destination router 3 granted to Router 0 -275 ns: Info: MY_LOG: Router 1 added to queue for semaphore 0 -275 ns: Info: MY_LOG: Router router1: Semaphore unavailable. Retrying with data:84 -275 ns: Info: MY_LOG: Token for destination router 3 granted to Router 0 -275 ns: Info: MY_LOG: router0 forwarded data: 64 to Router_3 -280 ns: Info: MY_LOG: Router 2 released token for destination router 0 -280 ns: Info: MY_LOG: Token for destination router 0 passed to Router 1 -280 ns: Info: MY_LOG: Router 0: Received transaction with data: 71 from Router 2 after a delay of:20 ns -280 ns: Info: MY_LOG: Router router0: Forwarding transaction with data: 71 to core 1 -280 ns: Info: MY_LOG: Core 1 of parent Router: 0: Processing transaction and received data: 71 -280 ns: Info: MY_LOG: Router router0: Core 1 completed transaction, data: 71 -280 ns: Info: MY_LOG: Token for destination router 0 granted to Router 1 -280 ns: Info: MY_LOG: Router 2 added to queue for semaphore 0 -280 ns: Info: MY_LOG: Router router2: Semaphore unavailable. Retrying with data:90 -280 ns: Info: MY_LOG: Token for destination router 0 granted to Router 1 -280 ns: Info: MY_LOG: router1 forwarded data: 84 to Router_0 -285 ns: Info: MY_LOG: Router router2: Semaphore unavailable. Retrying with data:90 -290 ns: Info: MY_LOG: Router 2: Received transaction with data: 87 from Router 3 after a delay of:30 ns -290 ns: Info: MY_LOG: Router router2: Forwarding transaction with data: 87 to core 2 -290 ns: Info: MY_LOG: Core 2 of parent Router: 2: Processing transaction and received data: 87 -290 ns: Info: MY_LOG: Router router2: Core 2 completed transaction, data: 87 -290 ns: Info: MY_LOG: Router router2: Semaphore unavailable. Retrying with data:90 -290 ns: Info: MY_LOG: Router 3 released token for destination router 2 -290 ns: Info: MY_LOG: Token for destination router 1 granted to Router 3 -290 ns: Info: MY_LOG: router3 forwarded data: 64 to Router_1 -295 ns: Info: MY_LOG: Router router2: Semaphore unavailable. Retrying with data:90 -300 ns: Info: MY_LOG: Updated owner of semaphore 2 to Router 0 -300 ns: Info: MY_LOG: Core 2 of Source Router: 0: Processing data 37 for router 1 and core 0 at time: 300 ns -300 ns: Info: MY_LOG: Router router0: Received transaction with data: 37 at time: 300 ns -300 ns: Info: MY_LOG: Core core0_2: Transaction successful, data sent: 37 at time: 300 ns -300 ns: Info: MY_LOG: Core 3 of Source Router: 3: Processing data 79 for router 0 and core 3 at time: 300 ns -300 ns: Info: MY_LOG: Router router3: Received transaction with data: 79 at time: 300 ns -300 ns: Info: MY_LOG: Core core3_3: Transaction successful, data sent: 79 at time: 300 ns -300 ns: Info: MY_LOG: Core 1 of Source Router: 1: Processing data 99 for router 3 and core 3 at time: 300 ns -300 ns: Info: MY_LOG: Router router1: Received transaction with data: 99 at time: 300 ns -300 ns: Info: MY_LOG: Core core1_1: Transaction successful, data sent: 99 at time: 300 ns -300 ns: Info: MY_LOG: Core 1 of Source Router: 3: Processing data 51 for router 0 and core 3 at time: 300 ns -300 ns: Info: MY_LOG: Router router3: Received transaction with data: 51 at time: 300 ns -300 ns: Info: MY_LOG: Core core3_1: Transaction successful, data sent: 51 at time: 300 ns -300 ns: Info: MY_LOG: Core 2 of Source Router: 3: Processing data 31 for router 2 and core 2 at time: 300 ns -300 ns: Info: MY_LOG: Router router3: Received transaction with data: 31 at time: 300 ns -300 ns: Info: MY_LOG: Core core3_2: Transaction successful, data sent: 31 at time: 300 ns -300 ns: Info: MY_LOG: Core 0 of Source Router: 3: Processing data 67 for router 2 and core 0 at time: 300 ns -300 ns: Info: MY_LOG: Router router3: Received transaction with data: 67 at time: 300 ns -300 ns: Info: MY_LOG: Core core3_0: Transaction successful, data sent: 67 at time: 300 ns -300 ns: Info: MY_LOG: Core 3 of Source Router: 1: Processing data 53 for router 2 and core 0 at time: 300 ns -300 ns: Info: MY_LOG: Router router1: Received transaction with data: 53 at time: 300 ns -300 ns: Info: MY_LOG: Core core1_3: Transaction successful, data sent: 53 at time: 300 ns -300 ns: Info: MY_LOG: Core 3 of Source Router: 0: Processing data 42 for router 1 and core 2 at time: 300 ns -300 ns: Info: MY_LOG: Router router0: Received transaction with data: 42 at time: 300 ns -300 ns: Info: MY_LOG: Core core0_3: Transaction successful, data sent: 42 at time: 300 ns -300 ns: Info: MY_LOG: Core 0 of Source Router: 1: Processing data 33 for router 0 and core 0 at time: 300 ns -300 ns: Info: MY_LOG: Router router1: Received transaction with data: 33 at time: 300 ns -300 ns: Info: MY_LOG: Core core1_0: Transaction successful, data sent: 33 at time: 300 ns -300 ns: Info: MY_LOG: Core 3 of Source Router: 2: Processing data 54 for router 3 and core 1 at time: 300 ns -300 ns: Info: MY_LOG: Router router2: Received transaction with data: 54 at time: 300 ns -300 ns: Info: MY_LOG: Core core2_3: Transaction successful, data sent: 54 at time: 300 ns -300 ns: Info: MY_LOG: Core 1 of Source Router: 0: Processing data 38 for router 1 and core 2 at time: 300 ns -300 ns: Info: MY_LOG: Router router0: Received transaction with data: 38 at time: 300 ns -300 ns: Info: MY_LOG: Core core0_1: Transaction successful, data sent: 38 at time: 300 ns -300 ns: Info: MY_LOG: Core 0 of Source Router: 2: Processing data 27 for router 1 and core 1 at time: 300 ns -300 ns: Info: MY_LOG: Router router2: Received transaction with data: 27 at time: 300 ns -300 ns: Info: MY_LOG: Core core2_0: Transaction successful, data sent: 27 at time: 300 ns -300 ns: Info: MY_LOG: Core 1 of Source Router: 2: Processing data 44 for router 1 and core 0 at time: 300 ns -300 ns: Info: MY_LOG: Router router2: Received transaction with data: 44 at time: 300 ns -300 ns: Info: MY_LOG: Core core2_1: Transaction successful, data sent: 44 at time: 300 ns -300 ns: Info: MY_LOG: Core 2 of Source Router: 1: Processing data 75 for router 3 and core 2 at time: 300 ns -300 ns: Info: MY_LOG: Router router1: Received transaction with data: 75 at time: 300 ns -300 ns: Info: MY_LOG: Core core1_2: Transaction successful, data sent: 75 at time: 300 ns -300 ns: Info: MY_LOG: Core 2 of Source Router: 2: Processing data 41 for router 1 and core 3 at time: 300 ns -300 ns: Info: MY_LOG: Router router2: Received transaction with data: 41 at time: 300 ns -300 ns: Info: MY_LOG: Core core2_2: Transaction successful, data sent: 41 at time: 300 ns -300 ns: Info: MY_LOG: Core 0 of Source Router: 0: Processing data 5 for router 2 and core 1 at time: 300 ns -300 ns: Info: MY_LOG: Router router0: Received transaction with data: 5 at time: 300 ns -300 ns: Info: MY_LOG: Core core0_0: Transaction successful, data sent: 5 at time: 300 ns -300 ns: Info: MY_LOG: Router router2: Semaphore unavailable. Retrying with data:90 -305 ns: Info: MY_LOG: Router 0 released token for destination router 3 -305 ns: Info: MY_LOG: Router 3: Received transaction with data: 64 from Router 0 after a delay of:30 ns -305 ns: Info: MY_LOG: Router router3: Forwarding transaction with data: 64 to core 3 -305 ns: Info: MY_LOG: Core 3 of parent Router: 3: Processing transaction and received data: 64 -305 ns: Info: MY_LOG: Router router3: Core 3 completed transaction, data: 64 -305 ns: Info: MY_LOG: Router 0 added to queue for semaphore 1 -305 ns: Info: MY_LOG: Router router0: Semaphore unavailable. Retrying with data:53 -305 ns: Info: MY_LOG: Router router2: Semaphore unavailable. Retrying with data:90 -310 ns: Info: MY_LOG: Router 1 released token for destination router 0 -310 ns: Info: MY_LOG: Token for destination router 0 passed to Router 2 -310 ns: Info: MY_LOG: Router 0: Received transaction with data: 84 from Router 1 after a delay of:30 ns -310 ns: Info: MY_LOG: Router router0: Forwarding transaction with data: 84 to core 2 -310 ns: Info: MY_LOG: Core 2 of parent Router: 0: Processing transaction and received data: 84 -310 ns: Info: MY_LOG: Router router0: Core 2 completed transaction, data: 84 -310 ns: Info: MY_LOG: Router 1: Received transaction with data: 64 from Router 3 after a delay of:20 ns -310 ns: Info: MY_LOG: Router router1: Forwarding transaction with data: 64 to core 1 -310 ns: Info: MY_LOG: Core 1 of parent Router: 1: Processing transaction and received data: 64 -310 ns: Info: MY_LOG: Router router1: Core 1 completed transaction, data: 64 -310 ns: Info: MY_LOG: Token for destination router 0 granted to Router 2 -310 ns: Info: MY_LOG: Router 1 added to queue for semaphore 0 -310 ns: Info: MY_LOG: Router router1: Semaphore unavailable. Retrying with data:35 -310 ns: Info: MY_LOG: Router router0: Semaphore unavailable. Retrying with data:53 -310 ns: Info: MY_LOG: Token for destination router 0 granted to Router 2 -310 ns: Info: MY_LOG: router2 forwarded data: 90 to Router_0 -310 ns: Info: MY_LOG: Router 3 released token for destination router 1 -310 ns: Info: MY_LOG: Token for destination router 1 passed to Router 0 -310 ns: Info: MY_LOG: Token for destination router 1 granted to Router 0 -310 ns: Info: MY_LOG: Router 3 added to queue for semaphore 0 -310 ns: Info: MY_LOG: Router router3: Semaphore unavailable. Retrying with data:82 -315 ns: Info: MY_LOG: Router router1: Semaphore unavailable. Retrying with data:35 -315 ns: Info: MY_LOG: Token for destination router 1 granted to Router 0 -315 ns: Info: MY_LOG: router0 forwarded data: 53 to Router_1 -315 ns: Info: MY_LOG: Router router3: Semaphore unavailable. Retrying with data:82 -320 ns: Info: MY_LOG: Updated owner of semaphore 3 to Router 1 -320 ns: Info: MY_LOG: Router router1: Semaphore unavailable. Retrying with data:35 -320 ns: Info: MY_LOG: Router router3: Semaphore unavailable. Retrying with data:82 -325 ns: Info: MY_LOG: Router 0 released token for destination router 1 -325 ns: Info: MY_LOG: Router 1: Received transaction with data: 53 from Router 0 after a delay of:10 ns -325 ns: Info: MY_LOG: Router router1: Forwarding transaction with data: 53 to core 2 -325 ns: Info: MY_LOG: Core 2 of parent Router: 1: Processing transaction and received data: 53 -325 ns: Info: MY_LOG: Router router1: Core 2 completed transaction, data: 53 -325 ns: Info: MY_LOG: Token for destination router 1 granted to Router 0 -325 ns: Info: MY_LOG: router0 forwarded data: 37 to Router_1 -325 ns: Info: MY_LOG: Router router1: Semaphore unavailable. Retrying with data:35 -325 ns: Info: MY_LOG: Router router3: Semaphore unavailable. Retrying with data:82 -330 ns: Info: MY_LOG: Router 2 released token for destination router 0 -330 ns: Info: MY_LOG: Token for destination router 0 passed to Router 1 -330 ns: Info: MY_LOG: Router 0: Received transaction with data: 90 from Router 2 after a delay of:20 ns -330 ns: Info: MY_LOG: Router router0: Forwarding transaction with data: 90 to core 1 -330 ns: Info: MY_LOG: Core 1 of parent Router: 0: Processing transaction and received data: 90 -330 ns: Info: MY_LOG: Router router0: Core 1 completed transaction, data: 90 -330 ns: Info: MY_LOG: Token for destination router 0 granted to Router 1 -330 ns: Info: MY_LOG: Token for destination router 3 granted to Router 2 -330 ns: Info: MY_LOG: router2 forwarded data: 42 to Router_3 -330 ns: Info: MY_LOG: Token for destination router 0 granted to Router 1 -330 ns: Info: MY_LOG: router1 forwarded data: 35 to Router_0 -330 ns: Info: MY_LOG: Router router3: Semaphore unavailable. Retrying with data:82 -335 ns: Info: MY_LOG: Router 0 released token for destination router 1 -335 ns: Info: MY_LOG: Router 1: Received transaction with data: 37 from Router 0 after a delay of:10 ns -335 ns: Info: MY_LOG: Router router1: Forwarding transaction with data: 37 to core 0 -335 ns: Info: MY_LOG: Core 0 of parent Router: 1: Processing transaction and received data: 37 -335 ns: Info: MY_LOG: Router router1: Core 0 completed transaction, data: 37 -335 ns: Info: MY_LOG: Token for destination router 1 granted to Router 0 -335 ns: Info: MY_LOG: router0 forwarded data: 42 to Router_1 -335 ns: Info: MY_LOG: Router router3: Semaphore unavailable. Retrying with data:82 -340 ns: Info: MY_LOG: Router 2 released token for destination router 3 -340 ns: Info: MY_LOG: Router 3: Received transaction with data: 42 from Router 2 after a delay of:10 ns -340 ns: Info: MY_LOG: Router router3: Forwarding transaction with data: 42 to core 3 -340 ns: Info: MY_LOG: Core 3 of parent Router: 3: Processing transaction and received data: 42 -340 ns: Info: MY_LOG: Router router3: Core 3 completed transaction, data: 42 -340 ns: Info: MY_LOG: Token for destination router 3 granted to Router 2 -340 ns: Info: MY_LOG: router2 forwarded data: 53 to Router_3 -340 ns: Info: MY_LOG: Router router3: Semaphore unavailable. Retrying with data:82 -345 ns: Info: MY_LOG: Router 0 released token for destination router 1 -345 ns: Info: MY_LOG: Router 1: Received transaction with data: 42 from Router 0 after a delay of:10 ns -345 ns: Info: MY_LOG: Router router1: Forwarding transaction with data: 42 to core 2 -345 ns: Info: MY_LOG: Core 2 of parent Router: 1: Processing transaction and received data: 42 -345 ns: Info: MY_LOG: Router router1: Core 2 completed transaction, data: 42 -345 ns: Info: MY_LOG: Token for destination router 1 granted to Router 0 -345 ns: Info: MY_LOG: router0 forwarded data: 38 to Router_1 -345 ns: Info: MY_LOG: Router router3: Semaphore unavailable. Retrying with data:82 -350 ns: Info: MY_LOG: Router 2 released token for destination router 3 -350 ns: Info: MY_LOG: Router 3: Received transaction with data: 53 from Router 2 after a delay of:10 ns -350 ns: Info: MY_LOG: Router router3: Forwarding transaction with data: 53 to core 3 -350 ns: Info: MY_LOG: Core 3 of parent Router: 3: Processing transaction and received data: 53 -350 ns: Info: MY_LOG: Router router3: Core 3 completed transaction, data: 53 -350 ns: Info: MY_LOG: Token for destination router 3 granted to Router 2 -350 ns: Info: MY_LOG: router2 forwarded data: 98 to Router_3 -350 ns: Info: MY_LOG: Router router3: Semaphore unavailable. Retrying with data:82 -355 ns: Info: MY_LOG: Router 0 released token for destination router 1 -355 ns: Info: MY_LOG: Router 1: Received transaction with data: 38 from Router 0 after a delay of:10 ns -355 ns: Info: MY_LOG: Router router1: Forwarding transaction with data: 38 to core 2 -355 ns: Info: MY_LOG: Core 2 of parent Router: 1: Processing transaction and received data: 38 -355 ns: Info: MY_LOG: Router router1: Core 2 completed transaction, data: 38 -355 ns: Info: MY_LOG: Token for destination router 2 granted to Router 0 -355 ns: Info: MY_LOG: router0 forwarded data: 5 to Router_2 -355 ns: Info: MY_LOG: Router router3: Semaphore unavailable. Retrying with data:82 -360 ns: Info: MY_LOG: Router 2 released token for destination router 3 -360 ns: Info: MY_LOG: Router 3: Received transaction with data: 98 from Router 2 after a delay of:10 ns -360 ns: Info: MY_LOG: Router router3: Forwarding transaction with data: 98 to core 1 -360 ns: Info: MY_LOG: Core 1 of parent Router: 3: Processing transaction and received data: 98 -360 ns: Info: MY_LOG: Router router3: Core 1 completed transaction, data: 98 -360 ns: Info: MY_LOG: Router 0: Received transaction with data: 35 from Router 1 after a delay of:30 ns -360 ns: Info: MY_LOG: Router router0: Forwarding transaction with data: 35 to core 0 -360 ns: Info: MY_LOG: Core 0 of parent Router: 0: Processing transaction and received data: 35 -360 ns: Info: MY_LOG: Router router0: Core 0 completed transaction, data: 35 -360 ns: Info: MY_LOG: Token for destination router 3 granted to Router 2 -360 ns: Info: MY_LOG: router2 forwarded data: 54 to Router_3 -360 ns: Info: MY_LOG: Updated owner of semaphore 1 to Router 1 -360 ns: Info: MY_LOG: Router router3: Semaphore unavailable. Retrying with data:82 -360 ns: Info: MY_LOG: Router 1 released token for destination router 0 -360 ns: Info: MY_LOG: Token for destination router 0 passed to Router 3 -360 ns: Info: MY_LOG: Token for destination router 0 granted to Router 3 -360 ns: Info: MY_LOG: Router 1 added to queue for semaphore 3 -360 ns: Info: MY_LOG: Router router1: Semaphore unavailable. Retrying with data:99 -365 ns: Info: MY_LOG: Token for destination router 0 granted to Router 3 -365 ns: Info: MY_LOG: router3 forwarded data: 82 to Router_0 -365 ns: Info: MY_LOG: Router router1: Semaphore unavailable. Retrying with data:99 -370 ns: Info: MY_LOG: Router 2 released token for destination router 3 -370 ns: Info: MY_LOG: Token for destination router 3 passed to Router 1 -370 ns: Info: MY_LOG: Router 3: Received transaction with data: 54 from Router 2 after a delay of:10 ns -370 ns: Info: MY_LOG: Router router3: Forwarding transaction with data: 54 to core 1 -370 ns: Info: MY_LOG: Core 1 of parent Router: 3: Processing transaction and received data: 54 -370 ns: Info: MY_LOG: Router router3: Core 1 completed transaction, data: 54 -370 ns: Info: MY_LOG: Token for destination router 3 granted to Router 1 -370 ns: Info: MY_LOG: Token for destination router 1 granted to Router 2 -370 ns: Info: MY_LOG: router2 forwarded data: 27 to Router_1 -370 ns: Info: MY_LOG: Token for destination router 3 granted to Router 1 -370 ns: Info: MY_LOG: router1 forwarded data: 99 to Router_3 -375 ns: Info: MY_LOG: Router 0 released token for destination router 2 -375 ns: Info: MY_LOG: Router 3 released token for destination router 0 -375 ns: Info: MY_LOG: Router 2: Received transaction with data: 5 from Router 0 after a delay of:20 ns -375 ns: Info: MY_LOG: Router router2: Forwarding transaction with data: 5 to core 1 -375 ns: Info: MY_LOG: Core 1 of parent Router: 2: Processing transaction and received data: 5 -375 ns: Info: MY_LOG: Router router2: Core 1 completed transaction, data: 5 -375 ns: Info: MY_LOG: Router 0: Received transaction with data: 82 from Router 3 after a delay of:10 ns -375 ns: Info: MY_LOG: Router router0: Forwarding transaction with data: 82 to core 0 -375 ns: Info: MY_LOG: Core 0 of parent Router: 0: Processing transaction and received data: 82 -375 ns: Info: MY_LOG: Router router0: Core 0 completed transaction, data: 82 -375 ns: Info: MY_LOG: Token for destination router 2 granted to Router 3 -375 ns: Info: MY_LOG: router3 forwarded data: 90 to Router_2 -380 ns: Info: MY_LOG: Updated owner of semaphore 0 to Router 0 -390 ns: Info: MY_LOG: Router 1 released token for destination router 3 -390 ns: Info: MY_LOG: Router 3: Received transaction with data: 99 from Router 1 after a delay of:20 ns -390 ns: Info: MY_LOG: Router router3: Forwarding transaction with data: 99 to core 3 -390 ns: Info: MY_LOG: Core 3 of parent Router: 3: Processing transaction and received data: 99 -390 ns: Info: MY_LOG: Router router3: Core 3 completed transaction, data: 99 -390 ns: Info: MY_LOG: Router 1 added to queue for semaphore 2 -390 ns: Info: MY_LOG: Router router1: Semaphore unavailable. Retrying with data:53 -395 ns: Info: MY_LOG: Router router1: Semaphore unavailable. Retrying with data:53 +260 ns: Info: MY_LOG: Token for destination router 2 passed to Router 1 +260 ns: Info: MY_LOG: Router 2: Received transaction with data: 39 from Router 0 after a delay of:20 ns +260 ns: Info: MY_LOG: Router router2: Forwarding transaction with data: 39 to core 0 +260 ns: Info: MY_LOG: Core 0 of parent Router: 2: Processing transaction and received data: 39 +260 ns: Info: MY_LOG: Router router2: Core 0 completed transaction, data: 39 +260 ns: Info: MY_LOG: Router 0 added to queue for semaphore 2 +260 ns: Info: MY_LOG: Router router0: Semaphore for Router_2 is unavailable. Retrying with data: 45 +260 ns: Info: MY_LOG: Token for destination router 2 granted to Router 1 +260 ns: Info: MY_LOG: router1 forwarded data: 71 to Router_2 +260 ns: Info: MY_LOG: Router router2: Semaphore for Router_0 is unavailable. Retrying with data: 25 +265 ns: Info: MY_LOG: Router 3 released token for destination router 0 +265 ns: Info: MY_LOG: Token for destination router 0 passed to Router 2 +265 ns: Info: MY_LOG: Router 0: Received transaction with data: 63 from Router 3 after a delay of:10 ns +265 ns: Info: MY_LOG: Router router0: Forwarding transaction with data: 63 to core 2 +265 ns: Info: MY_LOG: Core 2 of parent Router: 0: Processing transaction and received data: 63 +265 ns: Info: MY_LOG: Router router0: Core 2 completed transaction, data: 63 +265 ns: Info: MY_LOG: Router 3 added to queue for semaphore 0 +265 ns: Info: MY_LOG: Router router3: Semaphore for Router_0 is unavailable. Retrying with data: 33 +265 ns: Info: MY_LOG: Router router0: Semaphore for Router_2 is unavailable. Retrying with data: 45 +265 ns: Info: MY_LOG: Token for destination router 0 granted to Router 2 +265 ns: Info: MY_LOG: router2 forwarded data: 25 to Router_0 +270 ns: Info: MY_LOG: Router 1 released token for destination router 2 +270 ns: Info: MY_LOG: Token for destination router 2 passed to Router 0 +270 ns: Info: MY_LOG: Router 2: Received transaction with data: 71 from Router 1 after a delay of:10 ns +270 ns: Info: MY_LOG: Router router2: Forwarding transaction with data: 71 to core 0 +270 ns: Info: MY_LOG: Core 0 of parent Router: 2: Processing transaction and received data: 71 +270 ns: Info: MY_LOG: Router router2: Core 0 completed transaction, data: 71 +270 ns: Info: MY_LOG: Router router3: Semaphore for Router_0 is unavailable. Retrying with data: 33 +270 ns: Info: MY_LOG: Token for destination router 2 granted to Router 0 +270 ns: Info: MY_LOG: router0 forwarded data: 45 to Router_2 +275 ns: Info: MY_LOG: Router router3: Semaphore for Router_0 is unavailable. Retrying with data: 33 +280 ns: Info: MY_LOG: Updated owner of semaphore 1 to Router 0 +280 ns: Info: MY_LOG: Updated owner of semaphore 3 to Router 0 +280 ns: Info: MY_LOG: Router router3: Semaphore for Router_0 is unavailable. Retrying with data: 33 +285 ns: Info: MY_LOG: Router 2 released token for destination router 0 +285 ns: Info: MY_LOG: Token for destination router 0 passed to Router 3 +285 ns: Info: MY_LOG: Router 0: Received transaction with data: 25 from Router 2 after a delay of:20 ns +285 ns: Info: MY_LOG: Router router0: Forwarding transaction with data: 25 to core 0 +285 ns: Info: MY_LOG: Core 0 of parent Router: 0: Processing transaction and received data: 25 +285 ns: Info: MY_LOG: Router router0: Core 0 completed transaction, data: 25 +285 ns: Info: MY_LOG: Token for destination router 1 granted to Router 2 +285 ns: Info: MY_LOG: router2 forwarded data: 89 to Router_1 +285 ns: Info: MY_LOG: Token for destination router 0 granted to Router 3 +285 ns: Info: MY_LOG: router3 forwarded data: 33 to Router_0 +290 ns: Info: MY_LOG: Router 0 released token for destination router 2 +290 ns: Info: MY_LOG: Router 2: Received transaction with data: 45 from Router 0 after a delay of:20 ns +290 ns: Info: MY_LOG: Router router2: Forwarding transaction with data: 45 to core 3 +290 ns: Info: MY_LOG: Core 3 of parent Router: 2: Processing transaction and received data: 45 +290 ns: Info: MY_LOG: Router router2: Core 3 completed transaction, data: 45 +295 ns: Info: MY_LOG: Router 3 released token for destination router 0 +295 ns: Info: MY_LOG: Router 0: Received transaction with data: 33 from Router 3 after a delay of:10 ns +295 ns: Info: MY_LOG: Router router0: Forwarding transaction with data: 33 to core 3 +295 ns: Info: MY_LOG: Core 3 of parent Router: 0: Processing transaction and received data: 33 +295 ns: Info: MY_LOG: Router router0: Core 3 completed transaction, data: 33 +295 ns: Info: MY_LOG: Token for destination router 2 granted to Router 3 +295 ns: Info: MY_LOG: router3 forwarded data: 28 to Router_2 +300 ns: Info: MY_LOG: Core 3 of Source Router: 3: Processing data 68 for router 0 and core 1 at time: 300 ns +300 ns: Info: MY_LOG: Router router3: Received transaction with data: 68 at time: 300 ns +300 ns: Info: MY_LOG: Core core3_3: Transaction successful, data sent: 68 at time: 300 ns +300 ns: Info: MY_LOG: Updated owner of semaphore 0 to Router 0 +300 ns: Info: MY_LOG: Updated owner of semaphore 3 to Router 1 +300 ns: Info: MY_LOG: Core 3 of Source Router: 0: Processing data 95 for router 3 and core 0 at time: 300 ns +300 ns: Info: MY_LOG: Router router0: Received transaction with data: 95 at time: 300 ns +300 ns: Info: MY_LOG: Core core0_3: Transaction successful, data sent: 95 at time: 300 ns +300 ns: Info: MY_LOG: Core 2 of Source Router: 3: Processing data 85 for router 2 and core 0 at time: 300 ns +300 ns: Info: MY_LOG: Router router3: Received transaction with data: 85 at time: 300 ns +300 ns: Info: MY_LOG: Core core3_2: Transaction successful, data sent: 85 at time: 300 ns +300 ns: Info: MY_LOG: Core 3 of Source Router: 2: Processing data 9 for router 3 and core 3 at time: 300 ns +300 ns: Info: MY_LOG: Router router2: Received transaction with data: 9 at time: 300 ns +300 ns: Info: MY_LOG: Core core2_3: Transaction successful, data sent: 9 at time: 300 ns +300 ns: Info: MY_LOG: Core 1 of Source Router: 1: Processing data 7 for router 2 and core 1 at time: 300 ns +300 ns: Info: MY_LOG: Router router1: Received transaction with data: 7 at time: 300 ns +300 ns: Info: MY_LOG: Core core1_1: Transaction successful, data sent: 7 at time: 300 ns +300 ns: Info: MY_LOG: Core 1 of Source Router: 2: Processing data 20 for router 0 and core 3 at time: 300 ns +300 ns: Info: MY_LOG: Router router2: Received transaction with data: 20 at time: 300 ns +300 ns: Info: MY_LOG: Core core2_1: Transaction successful, data sent: 20 at time: 300 ns +300 ns: Info: MY_LOG: Core 0 of Source Router: 3: Processing data 7 for router 1 and core 2 at time: 300 ns +300 ns: Info: MY_LOG: Router router3: Received transaction with data: 7 at time: 300 ns +300 ns: Info: MY_LOG: Core core3_0: Transaction successful, data sent: 7 at time: 300 ns +300 ns: Info: MY_LOG: Core 0 of Source Router: 1: Processing data 50 for router 2 and core 1 at time: 300 ns +300 ns: Info: MY_LOG: Router router1: Received transaction with data: 50 at time: 300 ns +300 ns: Info: MY_LOG: Core core1_0: Transaction successful, data sent: 50 at time: 300 ns +300 ns: Info: MY_LOG: Core 1 of Source Router: 3: Processing data 87 for router 0 and core 2 at time: 300 ns +300 ns: Info: MY_LOG: Router router3: Received transaction with data: 87 at time: 300 ns +300 ns: Info: MY_LOG: Core core3_1: Transaction successful, data sent: 87 at time: 300 ns +300 ns: Info: MY_LOG: Core 2 of Source Router: 1: Processing data 20 for router 0 and core 2 at time: 300 ns +300 ns: Info: MY_LOG: Router router1: Received transaction with data: 20 at time: 300 ns +300 ns: Info: MY_LOG: Core core1_2: Transaction successful, data sent: 20 at time: 300 ns +300 ns: Info: MY_LOG: Core 3 of Source Router: 1: Processing data 40 for router 3 and core 2 at time: 300 ns +300 ns: Info: MY_LOG: Router router1: Received transaction with data: 40 at time: 300 ns +300 ns: Info: MY_LOG: Core core1_3: Transaction successful, data sent: 40 at time: 300 ns +300 ns: Info: MY_LOG: Core 0 of Source Router: 0: Processing data 13 for router 3 and core 0 at time: 300 ns +300 ns: Info: MY_LOG: Router router0: Received transaction with data: 13 at time: 300 ns +300 ns: Info: MY_LOG: Core core0_0: Transaction successful, data sent: 13 at time: 300 ns +300 ns: Info: MY_LOG: Core 2 of Source Router: 0: Processing data 31 for router 1 and core 0 at time: 300 ns +300 ns: Info: MY_LOG: Router router0: Received transaction with data: 31 at time: 300 ns +300 ns: Info: MY_LOG: Core core0_2: Transaction successful, data sent: 31 at time: 300 ns +300 ns: Info: MY_LOG: Core 0 of Source Router: 2: Processing data 81 for router 1 and core 1 at time: 300 ns +300 ns: Info: MY_LOG: Router router2: Received transaction with data: 81 at time: 300 ns +300 ns: Info: MY_LOG: Core core2_0: Transaction successful, data sent: 81 at time: 300 ns +300 ns: Info: MY_LOG: Core 2 of Source Router: 2: Processing data 0 for router 1 and core 3 at time: 300 ns +300 ns: Info: MY_LOG: Router router2: Received transaction with data: 0 at time: 300 ns +300 ns: Info: MY_LOG: Core core2_2: Transaction successful, data sent: 0 at time: 300 ns +300 ns: Info: MY_LOG: Core 1 of Source Router: 0: Processing data 92 for router 2 and core 1 at time: 300 ns +300 ns: Info: MY_LOG: Router router0: Received transaction with data: 92 at time: 300 ns +300 ns: Info: MY_LOG: Core core0_1: Transaction successful, data sent: 92 at time: 300 ns +300 ns: Info: MY_LOG: Token for destination router 3 granted to Router 0 +300 ns: Info: MY_LOG: router0 forwarded data: 95 to Router_3 +300 ns: Info: MY_LOG: Router 1 added to queue for semaphore 2 +300 ns: Info: MY_LOG: Router router1: Semaphore for Router_2 is unavailable. Retrying with data: 7 +305 ns: Info: MY_LOG: Router router1: Semaphore for Router_2 is unavailable. Retrying with data: 7 +310 ns: Info: MY_LOG: Router router1: Semaphore for Router_2 is unavailable. Retrying with data: 7 +315 ns: Info: MY_LOG: Router 2 released token for destination router 1 +315 ns: Info: MY_LOG: Router 1: Received transaction with data: 89 from Router 2 after a delay of:30 ns +315 ns: Info: MY_LOG: Router router1: Forwarding transaction with data: 89 to core 3 +315 ns: Info: MY_LOG: Core 3 of parent Router: 1: Processing transaction and received data: 89 +315 ns: Info: MY_LOG: Router router1: Core 3 completed transaction, data: 89 +315 ns: Info: MY_LOG: Token for destination router 0 granted to Router 2 +315 ns: Info: MY_LOG: router2 forwarded data: 43 to Router_0 +315 ns: Info: MY_LOG: Router router1: Semaphore for Router_2 is unavailable. Retrying with data: 7 +320 ns: Info: MY_LOG: Updated owner of semaphore 1 to Router 3 +320 ns: Info: MY_LOG: Router router1: Semaphore for Router_2 is unavailable. Retrying with data: 7 +325 ns: Info: MY_LOG: Router 3 released token for destination router 2 +325 ns: Info: MY_LOG: Token for destination router 2 passed to Router 1 +325 ns: Info: MY_LOG: Router 2: Received transaction with data: 28 from Router 3 after a delay of:30 ns +325 ns: Info: MY_LOG: Router router2: Forwarding transaction with data: 28 to core 3 +325 ns: Info: MY_LOG: Core 3 of parent Router: 2: Processing transaction and received data: 28 +325 ns: Info: MY_LOG: Router router2: Core 3 completed transaction, data: 28 +325 ns: Info: MY_LOG: Router 3 added to queue for semaphore 0 +325 ns: Info: MY_LOG: Router router3: Semaphore for Router_0 is unavailable. Retrying with data: 68 +325 ns: Info: MY_LOG: Token for destination router 2 granted to Router 1 +325 ns: Info: MY_LOG: router1 forwarded data: 7 to Router_2 +330 ns: Info: MY_LOG: Router 0 released token for destination router 3 +330 ns: Info: MY_LOG: Router 3: Received transaction with data: 95 from Router 0 after a delay of:30 ns +330 ns: Info: MY_LOG: Router router3: Forwarding transaction with data: 95 to core 0 +330 ns: Info: MY_LOG: Core 0 of parent Router: 3: Processing transaction and received data: 95 +330 ns: Info: MY_LOG: Router router3: Core 0 completed transaction, data: 95 +330 ns: Info: MY_LOG: Token for destination router 3 granted to Router 0 +330 ns: Info: MY_LOG: router0 forwarded data: 13 to Router_3 +330 ns: Info: MY_LOG: Router router3: Semaphore for Router_0 is unavailable. Retrying with data: 68 +335 ns: Info: MY_LOG: Router 2 released token for destination router 0 +335 ns: Info: MY_LOG: Token for destination router 0 passed to Router 3 +335 ns: Info: MY_LOG: Router 0: Received transaction with data: 43 from Router 2 after a delay of:20 ns +335 ns: Info: MY_LOG: Router router0: Forwarding transaction with data: 43 to core 3 +335 ns: Info: MY_LOG: Core 3 of parent Router: 0: Processing transaction and received data: 43 +335 ns: Info: MY_LOG: Router router0: Core 3 completed transaction, data: 43 +335 ns: Info: MY_LOG: Router 2: Received transaction with data: 7 from Router 1 after a delay of:10 ns +335 ns: Info: MY_LOG: Router router2: Forwarding transaction with data: 7 to core 1 +335 ns: Info: MY_LOG: Core 1 of parent Router: 2: Processing transaction and received data: 7 +335 ns: Info: MY_LOG: Router router2: Core 1 completed transaction, data: 7 +335 ns: Info: MY_LOG: Router 2 added to queue for semaphore 0 +335 ns: Info: MY_LOG: Router router2: Semaphore for Router_0 is unavailable. Retrying with data: 25 +335 ns: Info: MY_LOG: Router 1 released token for destination router 2 +335 ns: Info: MY_LOG: Token for destination router 2 granted to Router 1 +335 ns: Info: MY_LOG: router1 forwarded data: 50 to Router_2 +335 ns: Info: MY_LOG: Token for destination router 0 granted to Router 3 +335 ns: Info: MY_LOG: router3 forwarded data: 68 to Router_0 +340 ns: Info: MY_LOG: Updated owner of semaphore 1 to Router 0 +340 ns: Info: MY_LOG: Router router2: Semaphore for Router_0 is unavailable. Retrying with data: 25 +345 ns: Info: MY_LOG: Router 1 released token for destination router 2 +345 ns: Info: MY_LOG: Router 2: Received transaction with data: 50 from Router 1 after a delay of:10 ns +345 ns: Info: MY_LOG: Router router2: Forwarding transaction with data: 50 to core 1 +345 ns: Info: MY_LOG: Core 1 of parent Router: 2: Processing transaction and received data: 50 +345 ns: Info: MY_LOG: Router router2: Core 1 completed transaction, data: 50 +345 ns: Info: MY_LOG: Router 0: Received transaction with data: 68 from Router 3 after a delay of:10 ns +345 ns: Info: MY_LOG: Router router0: Forwarding transaction with data: 68 to core 1 +345 ns: Info: MY_LOG: Core 1 of parent Router: 0: Processing transaction and received data: 68 +345 ns: Info: MY_LOG: Router router0: Core 1 completed transaction, data: 68 +345 ns: Info: MY_LOG: Router 1 added to queue for semaphore 0 +345 ns: Info: MY_LOG: Router router1: Semaphore for Router_0 is unavailable. Retrying with data: 20 +345 ns: Info: MY_LOG: Router 3 released token for destination router 0 +345 ns: Info: MY_LOG: Token for destination router 0 passed to Router 2 +345 ns: Info: MY_LOG: Token for destination router 2 granted to Router 3 +345 ns: Info: MY_LOG: router3 forwarded data: 85 to Router_2 +345 ns: Info: MY_LOG: Token for destination router 0 granted to Router 2 +345 ns: Info: MY_LOG: router2 forwarded data: 25 to Router_0 +350 ns: Info: MY_LOG: Router router1: Semaphore for Router_0 is unavailable. Retrying with data: 20 +355 ns: Info: MY_LOG: Router router1: Semaphore for Router_0 is unavailable. Retrying with data: 20 +360 ns: Info: MY_LOG: Router 0 released token for destination router 3 +360 ns: Info: MY_LOG: Router 3: Received transaction with data: 13 from Router 0 after a delay of:30 ns +360 ns: Info: MY_LOG: Router router3: Forwarding transaction with data: 13 to core 0 +360 ns: Info: MY_LOG: Core 0 of parent Router: 3: Processing transaction and received data: 13 +360 ns: Info: MY_LOG: Router router3: Core 0 completed transaction, data: 13 +360 ns: Info: MY_LOG: Token for destination router 1 granted to Router 0 +360 ns: Info: MY_LOG: router0 forwarded data: 31 to Router_1 +360 ns: Info: MY_LOG: Updated owner of semaphore 3 to Router 1 +360 ns: Info: MY_LOG: Router router1: Semaphore for Router_0 is unavailable. Retrying with data: 20 +365 ns: Info: MY_LOG: Router 2 released token for destination router 0 +365 ns: Info: MY_LOG: Token for destination router 0 passed to Router 1 +365 ns: Info: MY_LOG: Router 0: Received transaction with data: 25 from Router 2 after a delay of:20 ns +365 ns: Info: MY_LOG: Router router0: Forwarding transaction with data: 25 to core 1 +365 ns: Info: MY_LOG: Core 1 of parent Router: 0: Processing transaction and received data: 25 +365 ns: Info: MY_LOG: Router router0: Core 1 completed transaction, data: 25 +365 ns: Info: MY_LOG: Token for destination router 3 granted to Router 2 +365 ns: Info: MY_LOG: router2 forwarded data: 9 to Router_3 +365 ns: Info: MY_LOG: Token for destination router 0 granted to Router 1 +365 ns: Info: MY_LOG: router1 forwarded data: 20 to Router_0 +370 ns: Info: MY_LOG: Router 0 released token for destination router 1 +370 ns: Info: MY_LOG: Router 1: Received transaction with data: 31 from Router 0 after a delay of:10 ns +370 ns: Info: MY_LOG: Router router1: Forwarding transaction with data: 31 to core 0 +370 ns: Info: MY_LOG: Core 0 of parent Router: 1: Processing transaction and received data: 31 +370 ns: Info: MY_LOG: Router router1: Core 0 completed transaction, data: 31 +370 ns: Info: MY_LOG: Router 0 added to queue for semaphore 2 +370 ns: Info: MY_LOG: Router router0: Semaphore for Router_2 is unavailable. Retrying with data: 92 +375 ns: Info: MY_LOG: Router 3 released token for destination router 2 +375 ns: Info: MY_LOG: Token for destination router 2 passed to Router 0 +375 ns: Info: MY_LOG: Router 2: Received transaction with data: 85 from Router 3 after a delay of:30 ns +375 ns: Info: MY_LOG: Router router2: Forwarding transaction with data: 85 to core 0 +375 ns: Info: MY_LOG: Core 0 of parent Router: 2: Processing transaction and received data: 85 +375 ns: Info: MY_LOG: Router router2: Core 0 completed transaction, data: 85 +375 ns: Info: MY_LOG: Router 3: Received transaction with data: 9 from Router 2 after a delay of:10 ns +375 ns: Info: MY_LOG: Router router3: Forwarding transaction with data: 9 to core 3 +375 ns: Info: MY_LOG: Core 3 of parent Router: 3: Processing transaction and received data: 9 +375 ns: Info: MY_LOG: Router router3: Core 3 completed transaction, data: 9 +375 ns: Info: MY_LOG: Token for destination router 1 granted to Router 3 +375 ns: Info: MY_LOG: router3 forwarded data: 7 to Router_1 +375 ns: Info: MY_LOG: Router 2 released token for destination router 3 +375 ns: Info: MY_LOG: Router 2 added to queue for semaphore 0 +375 ns: Info: MY_LOG: Router router2: Semaphore for Router_0 is unavailable. Retrying with data: 20 +375 ns: Info: MY_LOG: Token for destination router 2 granted to Router 0 +375 ns: Info: MY_LOG: router0 forwarded data: 92 to Router_2 +380 ns: Info: MY_LOG: Updated owner of semaphore 3 to Router 3 +380 ns: Info: MY_LOG: Router router2: Semaphore for Router_0 is unavailable. Retrying with data: 20 +385 ns: Info: MY_LOG: Router router2: Semaphore for Router_0 is unavailable. Retrying with data: 20 +390 ns: Info: MY_LOG: Router router2: Semaphore for Router_0 is unavailable. Retrying with data: 20 +395 ns: Info: MY_LOG: Router 3 released token for destination router 1 +395 ns: Info: MY_LOG: Router 1: Received transaction with data: 7 from Router 3 after a delay of:20 ns +395 ns: Info: MY_LOG: Router router1: Forwarding transaction with data: 7 to core 2 +395 ns: Info: MY_LOG: Core 2 of parent Router: 1: Processing transaction and received data: 7 +395 ns: Info: MY_LOG: Router router1: Core 2 completed transaction, data: 7 +395 ns: Info: MY_LOG: Router 0: Received transaction with data: 20 from Router 1 after a delay of:30 ns +395 ns: Info: MY_LOG: Router router0: Forwarding transaction with data: 20 to core 2 +395 ns: Info: MY_LOG: Core 2 of parent Router: 0: Processing transaction and received data: 20 +395 ns: Info: MY_LOG: Router router0: Core 2 completed transaction, data: 20 +395 ns: Info: MY_LOG: Router 2: Received transaction with data: 92 from Router 0 after a delay of:20 ns +395 ns: Info: MY_LOG: Router router2: Forwarding transaction with data: 92 to core 1 +395 ns: Info: MY_LOG: Core 1 of parent Router: 2: Processing transaction and received data: 92 +395 ns: Info: MY_LOG: Router router2: Core 1 completed transaction, data: 92 +395 ns: Info: MY_LOG: Router 3 added to queue for semaphore 0 +395 ns: Info: MY_LOG: Router router3: Semaphore for Router_0 is unavailable. Retrying with data: 87 +395 ns: Info: MY_LOG: Router 1 released token for destination router 0 +395 ns: Info: MY_LOG: Token for destination router 0 passed to Router 2 +395 ns: Info: MY_LOG: Token for destination router 3 granted to Router 1 +395 ns: Info: MY_LOG: router1 forwarded data: 40 to Router_3 +395 ns: Info: MY_LOG: Router 0 released token for destination router 2 +395 ns: Info: MY_LOG: Token for destination router 0 granted to Router 2 +395 ns: Info: MY_LOG: router2 forwarded data: 20 to Router_0 diff --git a/src/router.cpp b/src/router.cpp index 029e48d..2f3e186 100644 --- a/src/router.cpp +++ b/src/router.cpp @@ -106,7 +106,7 @@ void router::process_core_fifo() { sem_mgr->release_token(router_id, destination_router_id); } else { - log_info("Router " + std::string(name()) + ": Destination router's out_fifo full. Retrying with data:" + std::to_string(payload->data)); + log_info("Router " + std::string(name()) + ": Destination router Router_" + std::to_string(destination_router_id) + "'s out_fifo full. Retrying with data: " + std::to_string(payload->data)); other_sems[destination_router_id]->post(); // Release the semaphore sem_mgr->release_token(router_id, destination_router_id); // Release and retry wait(sc_time(5, SC_NS)); // Wait before retrying @@ -115,7 +115,7 @@ void router::process_core_fifo() { } else { - log_info("Router " + std::string(name()) + ": Semaphore unavailable. Retrying with data:" + std::to_string(payload->data)); + log_info("Router " + std::string(name()) + ": Semaphore for Router_" + std::to_string(destination_router_id) + " is unavailable. Retrying with data: " + std::to_string(payload->data)); wait(sc_time(5, SC_NS)); // Wait before retrying } }