Jump to content

    

Recommended Posts

12 hours ago, RobFPGA said:

Еще раз уточню - нет проблемы реализации выхода из ошибочных состояний автомата - есть проблема не попадания в оные под действием ожидаемых входных сигналов.

да нет там проблемы, я уже несколько раз писал, что не надо теоретизировать об автомате в вакууме, речь про конкретный случай, конкретного применения. Вы код ТС и суть его вопросов вообще читали? он ловит тупо один такт с проца, длительностью в 1 такт частоты до 162МГц. Ловит скорее всего на частотах порядка 200-300МГц.  Автомат, перейдя в любое состояние от текушего уже выполнит свою программу, а именно сигнализирует о том, что факт события был. А зависший автомат, у него падает в то самое ожидание, где этот импульс, который длится порядка 1.5-2 тактов частоты его автомата, будет уже нормальным импульсом и автомат тем более выполнит свою задачу.

On 6/9/2021 at 7:50 PM, RobFPGA said:

 Метастабильность не выйдет если параметры триггеров целевой FPGA, и частот сигнала и тактовой дадут вам адекватное время MBTF.  Но даже для современных FPGA  для одного триггера эта цифра будет приемлемой лишь при достаточно низких частотах.

В том то и дело, что следуя докам о современных чипах, эта частота уже составляет величины до 300МГц и более того, олдскульная рекомендация 2-3 триггера уже не актуальна. Ссылку не дам, но читал пару лет назад wp на сайте хилых, про седьмое семейство. Там уже шли выводы в разрез Кена Чапмена и Ко по CDC.

ЗЫ. Зачем именно так делает ТС, мне не ведомо, но решение имеет место быть. Да оно не каноническое, но все же предлагаю закончить дискус сей

 

Share this post


Link to post
Share on other sites
21 hours ago, vt313 said:

Как? Кодирование тут никакой роли не играет. 

Ещё как играет. У ТС автомат в кодах Грея, при этом все переходы последовательные, кроме STATE_STM_FLAG->STATE_STM_WAIT. При последовательном переходе меняется 1 бит, что не приведёт к неправильным переходам (бит либо изменится, либо останется прежним - автомат либо перейдёт в правильное состояние либо останется в прежнем состоянии).

В переходе STATE_STM_FLAG->STATE_STM_WAIT будет меняться несколько битов (он не последовательный). Из за метастабильности реальный набор изменившихся битов может быть подмножеством требуемого. Какие при этом получатся переходы предсказать трудно.

 

Например, если изменяются одновременно 2 бита, то возможно 4 варианта реального изменения. При этом 1 вариант будет соответствовать правильному переходу, в ещё 1 варианте автомат останется в прежнем состоянии и в 2х вариантах будут переходы в неправильное состояние.

 

Share this post


Link to post
Share on other sites
4 часа назад, des00 сказал:

сигнализирует

..другому автомату, что "можно принимать данные", которые из того же домена, т.е. асинхронные, либо их предустановка заведомо больше периода — тогда тем более не понятно.

Share this post


Link to post
Share on other sites
19 hours ago, Plain said:

..другому автомату, что "можно принимать данные", которые из того же домена, т.е. асинхронные, либо их предустановка заведомо больше периода — тогда тем более не понятно.

не из того же. про автомат мура я уже писал. ну блин, в тетрадке порисуйте различные схемы, как оно там будет работать.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.