
Я понимаю, что разница между защелками и триггерами в том, что значение, хранящееся в триггерах, может быть изменено только импульсом в интервалах тактовой частоты.
Но в чем реальная необходимость этого?
Я имею в виду, если значение может быть изменено входами, почему оно также должно контролироваться системными часами?
Спасибо
решение1
Чтобы избежать ошибок при переходах. (google "Electronics glitch")
Если у вас, например, есть 2 входа, они могут измениться одновременно, что приведет к неожиданному результату во время этого перехода.
Например: A=1, B=0, A+B=1 (+ = ИЛИ), если они изменяются одновременно: A=0, B=1, A+B=1, но во время этого перехода, когда A=0, B может расти, но по-прежнему представлять B=0, и вы получите A+B=0 для короткого интервала.
Если изменить состояния всех триггеров только по фронту CLK, то до следующего фронта все сигналы должны стать стабильными, а логика будет работать с требуемыми значениями.