Цитата(Serhiy_UA @ Feb 27 2012, 16:39)

Таймер и какая-то FSM синхронизируются от 100МГц. Таймер имеет нано-, микро-, мили- и секундные поля.
Как лучше считать на лету значение таймера в FSM, чтобы не нарваться на гонки, т.е. на еще незавершившийся в таймере переходной процесс?
Простейшее решение, перед считыванием приостановить таймер на время достаточное для завершения гонок, считать код в FSM, и опять включить. Но здесь есть как бы небольшие потери для таймера, а как без потерь?
Вопрос все же более теоретический…
А в чём тут собственно проблема? Таймер - это обычный двоичный счётчик. Довольно большой разрядности, но это не так уж и страшно на частоте 100 МГц.
FSM и этот счётчик работают на одной и той же частоте, соответственно временной анализ учитывает пути между выходом таймера и входом FSM. Всё синхронно,
тут не может быть никаких гонок. Могут не соблюдаться немного тайминги, но это лечится известными способами.Гонки возникают при асинхронщине, а тут всё должно быть шито-крыто.