Ах, у вас перекидная кнопка, вот этот момент я упустил.
А вот не согласен. Выход комбинаторики не обязан быть везде снабжен буфером на выходе. Если только он у вас не является окончательным выходом, не идет наружу.
Входы этой комбинаторики получат информацию синхронно на оба входа, выход этой комбинаторики будет задержан во времени на какой-то t, который однозначно меньше периода клока. Если вдруг не так, то timequest это покажет.
Так что, к следующему такту, в момент считывания результата, данные там уже будут стабильными.
О дальнейшем использовании этого сигнала, я подразумеваю, что он будет использоваться внутри блока always по тому же системному клоку, а не как участник списка чувствительности, проблем не будет. Потому что дальнейшая логика, которую я обычно строю, возьмет этот сигнал, и сигналы от других источников, и по клоку, зайнесет в регистр. Может получиться некий конвеер.
Данное решение я не сам придумал, а нашел, думаю на fpga4fun.com
Я об этом и говорю. Но неизвестно, что дальше будет с этим выходом. Если выход будет использоваться дальше, для входа на последующие стадии логики, которая свой результат так же задвинет в регистр, то регистр ClrReg сможет оказаться выпиленным синтезатором.
Со счетчиками вот есть варианты.
http://www.fpga4fun.com/Debouncer.html
Тут, похоже, как раз мое предложение с двумя d-триггерами, плюс счетчик.
https://eewiki.net/pages/viewpage.action?pageId=4980758
Суть вопроса на самом деле в этом:
Потому что синтезатор одинаково выкидывает ненужное из синтеза, как из написанного на Verilog, так и нарисованного схематически. Так что я, пожалуй, пректащу тут умничать.
ps. Но я к чему встрял. Если проектировать в соответствии с требованиями синтеза, то не будет варнингов и практически не будет потребности в том, чтобы задавать параметры синтеза.