Modelsim から、ネストされた if ステートメントに構文の問題があると表示されますが、何が問題なのか特定できません。どんな助けでも素晴らしいでしょう!
when ZERO =>
if X_REG = '0' then
zero_sig <= '1';
if zero_count = '15' then
nextState <= ONE;
else
nextState <= ZERO;
end if;
else
nextState <= ZERO;
zero_reset <= '1';
end if;