// "quad-bitrouter-test-source-09.hac"
// characteristics:
// reduced contention between four routes in burst alternation

import "quad-bitrouter-test-channels.hac";
import "quad-bitrouter-test-source-lib.hac";

// <pint N; pint Dest[N]; pint Len; preal Gap>
qbr_source_any_dest QS[4];

chan() Cin[4], Cout[4];

QS[0]<16, {3,3,3,3,0,0,0,0,1,1,1,1,2,2,2,2}, 6, 15.0>(Cout[0], Cin[0], LL[0]);
QS[1]<16, {0,0,1,1,1,1,2,2,2,2,3,3,3,3,0,0}, 6, 15.0>(Cout[1], Cin[1], LL[1]);
QS[2]<16, {2,2,2,2,3,3,3,3,0,0,0,0,1,1,1,1}, 6, 15.0>(Cout[2], Cin[2], LL[2]);
QS[3]<16, {3,3,0,0,0,0,1,1,1,1,2,2,2,2,3,3}, 6, 15.0>(Cout[3], Cin[3], LL[3]);
round_robin_source_finite RRS[4];
(;i:4:
	RRS[i]<4>(Cin[i], Cout[i]);
)

// expect initial stalling then pipelined routing

