Цитата(Lutovid @ Jul 3 2017, 17:08)
Просто пока автомат крутился в ряде начальных состояний мог прийти импульс, а информация о том приходил ли он понадобилась бы лишь в конце, я посчитал, что вместо вставляния этого детектирования во все начальные состояния, проще сделать отдельный латч. Можно было бы сделать синхронное детектирование по клоку, но разве это принципиально?
Если приходит асинхронный сигнал, то необходимо привязать его к клоку...
И моя позиция такая. Не плодить множество мелких триггеров, а делать наборы автоматов.
Скажем так для примера как в SPI: нижний фильтрует помеху и принимает биты и больше ничего не умеет. Результат передает "вверх" "среднему" по своему выходу "Готов"... "Средний" умеет только принимать слова. Результат передает "вверх" "верхнему" по своему выходу "Готов".. А "верхний" умеет принимать сообщения и класть их в память, например... Он знает куда класть и кому об этом сообщить... И выше всех сидит автомат, который ведет весь процесс. За ним - верхние уровни протокола и пр...
Полное разделение труда...
При таком подходе все становится просто до безобразия...
А компилятор потом сам произведет оптимизацию и уберет все лишнее...