Повече за метастабилността
Хардуерен проект с отворен код
Повече за метастабилността.
Искам да говоря за един проблем, който често се среща при разработването на цифрови устройства, но за съществуването на който много хора забравят или дори не подозират.

Нашите проекти за FPGA са цифрови, повечето процеси в него се извършват синхронно с тактовата честота на свързания генератор. Въпреки това, самата микросхема получава сигнали от външния свят и често тези сигнали са асинхронни на нашата тактова честота.
Тук са възможни проблеми.
Да предположим, че искаме да „хванем“ външно събитие с помощта на D спусък. Такъв спусък запомня сигнала на входа д и го издава на изхода Въпрос: в момента на положителен ръб (отпред) на сигнала на входа ° С .
За съжаление (или може би за щастие) нещата не се случват моментално в реалния свят. Самата предна част на часовника е леко разтегната във времето и спусъкът не се превключва незабавно, необходимо е време за превключване. За да фиксирате успешно входната стойност в D-тригера, входният сигнал трябва да бъде стабилен за известно време преди ръба и след ръба на тактовата честота. Тези времена се наричат цу (време за настройка) и ти (време на задържане).

Тъй като входният сигнал, който разглеждаме, е асинхронен на тактовата честота, има вероятност сигналът да започне да се променя по време на фронта на тактовата честота. Такъв е случаят, когато времената не се спазват цу или ти . На изхода на спусъка няма да бъде фиксирана нула и не една, а някаква междинна стойност.

Това състояние е много нестабилно. Известно е, че спусъкът не може да остане в това състояние дълго време. Вероятността тригер да напусне метаболитното състояние нараства експоненциално с времето.
По принцип самият спусък излиза от метастабилното състояние след известно време. tres (време за разделителна способност) поради собствения си вътрешен шум. Така че е въпрос на време.
Има определена сложна формула, която ви позволява да прецените колко често се случва събитие с метастабилност. Има такава концепция MTBF (Средно време между отказите) - време между "отказите".
- Fevent - честота на входните събития.
- Fclk - тактова честота на спусъка.
- tres - времето, когато спусъка напусне метастабилното състояние (време на разделителна способност), зависи от технологията на производството на микросхемата.
- tff и Kff - също коефициентите, свързани с технологията за производство на логически елементи и задействания в микросхема.