В момент захвата иногда перескакивает. Измерять нужно задержку между этими клоками их нужно правильно синхронизировать что бы измерить 0 до 360 градусов. Сейчас еще раз проверю может что то не так сделал. Примерно так сделано. Каждый сигнал проходит через такой делитель.
Код
reg chanclock;
reg clockout;
always@(posedge clck)
begin
if(SINCHR)
begin
clockout = CLOCKFORDIV;
chanclock = CLOCKFORDIV;
end
else begin
if(chanclock != CLOCKFORDIV)
begin
chanclock = CLOCKFORDIV;
if(CLOCKFORDIV) clockout = ~clockout;
end
end
end