channels:
X : .e(init:0) .n 1x1of2 off
Y : .e(init:1) .n 1x1of4 off
Z : .a(init:0) .n 1x1of3 off
no values given: will reset to neutral 
Warning: channel acknowledge `Y.e' has no fanin!
Warning: channel validity `Y.n' has no fanout, but is being sourced.
Warning: no values found in file "channel-test-d-36-empty.txt", channel will remain neutral.
channels:
X : .e(init:0) .n 1x1of2 off
Y : .e(init:1) .n 1x1of4 source, timing: global
Z : .a(init:0) .n 1x1of3 off
this time, no sink 
resetting all channels... 
	10	Y.d[0] : 0
	10	Y.d[1] : 0
	10	Y.d[2] : 0
	10	Y.d[3] : 0
	20	Y.n : 1	[by Y.d[3]:=0]
releasing all channels... 
	20	Y.d[0] : X
WARNING: weak-unstable `Y.n'-
>> cause: `Y.d[0]' (val: X)
	20	Y.d[1] : X
WARNING: weak-unstable `Y.n'-
>> cause: `Y.d[0]' (val: X)
	20	Y.d[2] : X
WARNING: weak-unstable `Y.n'-
>> cause: `Y.d[0]' (val: X)
	20	Y.d[3] : X
	20	Y.n : X	[by Y.d[0]:=X]
all values went to X because Y.e is X 
Y : .e(init:1) .n 1x1of4 source,watch, timing: global
	count: 0, unknowns: 4
setting Y.e -> 0, resets data rails 
	20	Y.e : 0
	30	Y.d[0] : 0	[by Y.e:=0]
	30	Y.d[1] : 0	[by Y.e:=0]
	30	Y.d[2] : 0	[by Y.e:=0]
	30	Y.d[3] : 0	[by Y.e:=0]
	40	Y.n : 1	[by Y.d[3]:=0]
Y : .e(init:1) .n 1x1of4 source,watch, timing: global
	count: 0, unknowns: 0
setting Y.e -> X 
	40	Y.e : X
	40	Y.d[0] : X	[by Y.e:=X]
WARNING: weak-unstable `Y.n'-
>> cause: `Y.d[0]' (val: X)
	40	Y.d[1] : X	[by Y.e:=X]
WARNING: weak-unstable `Y.n'-
>> cause: `Y.d[0]' (val: X)
	40	Y.d[2] : X	[by Y.e:=X]
WARNING: weak-unstable `Y.n'-
>> cause: `Y.d[0]' (val: X)
	40	Y.d[3] : X	[by Y.e:=X]
	40	Y.n : X	[by Y.d[0]:=X]
Y : .e(init:1) .n 1x1of4 source,watch, timing: global
	count: 0, unknowns: 4
setting Y.e -> 1, also causes data rails to reset 
	40	Y.e : 1
	50	Y.d[0] : 0	[by Y.e:=1]
	50	Y.d[1] : 0	[by Y.e:=1]
	50	Y.d[2] : 0	[by Y.e:=1]
	50	Y.d[3] : 0	[by Y.e:=1]
Y : .e(init:1) .n 1x1of4 watch
	count: 0, unknowns: 0
setting Y.e -> X 
	50	Y.e : X
