module incr2
Title 'quadraturní dekoder inkrementalniho cidla mode 2x'

Declarations

clk	pin ;	"vstup hodin cca 1MHz			

xa0	pin;	"vstup incr. snimace A 
xa2,xa1 node istype 'reg';
xb0	pin;	"vstup incr. snimace B
xup,xdn	pin istype 'com'; "vystup upclk, dnclk"
step, dir	pin istype 'com'; "vystup step, dir" 

Equations

xa1	:= xa0;
xa1.clk = clk;

xa2	:= xa1;
xa2.clk = clk;

xup	 =  xa1 & !xa2 & !xb0
	 # !xa1 &  xa2 &  xb0;	    	

xdn	 = !xa1 &  xa2 & !xb0
	 #  xa1 & !xa2 &  xb0;

step	 =  xa1 & !xa2
	 # !xa1 &  xa2;

dir	 =  xa2 & !xb0
	 # !xa2 &  xb0;	    	     

end incr2
