/**
	\file "oscillator-wrong.hac"
	A humble ring-NOT-oscillator.  
	For demonstrating deadlock analysis.
	$Id: oscillator-wrong.hac,v 1.2 2008/03/17 23:09:59 fang Exp $
 */


template <pint N>
defproc ring_oscillator(bool x[N]; bool _Reset) {
prs {
	(:i:N-1:
		x[i]		=> x[i+1]-
	)
	x[N-1] & _Reset		=> x[0]-
}
}

// even cycle will not oscillate, duh!
bool _Reset;
ring_oscillator<8> R( , _Reset);

