реклама на сайте
подробности

 
 
> FSM Mealy, Moore, практическое применение
dxp
сообщение Jul 5 2018, 04:29
Сообщение #1


Adept
******

Группа: Свой
Сообщений: 3 469
Регистрация: 6-12-04
Из: Novosibirsk
Пользователь №: 1 343



Всем привет!

Несомненно все, кто не прогуливал занятия по цифровой электронике, изучали конечные автоматы (КА), и в том числе их базовые разновидности - автоматы Мили и Мура. Я тоже прилежно учился и когда постигал премудрости профессии на практике, пытался накладывать полученные теоретические знания на разрабатываемые решения. В большинстве случаев это прекрасно работает. Но вот в случае с упомянутыми в заголовке темы вещами оно как-то не получилось. Поясню.

КА Мили - это автомат, у которого выходы зависят и от состояния самого автомата, и от его входов. КА Мура - автомат, выходы которого зависят только от его состояния. Ещё на просторах интернета попался некий КА Медведева sm.gif, у него выходы - это просто его состояние - по сути это вырожденный автомат Мура, но речь пока не про него.

Плюсы и минусы обоих вариантов очевидны:

  • у Мили решение может обойтись меньшим количеством внутренних регистров за счёт использования логики с входами, и при этом ещё получается меньше задержка - выходы могут меняться в том же такте, что и изменение входов. Недостатки: возможны глитчи и бОльшая задержка распространения по выходам из-за использования комбинационной логики;
  • у Мура больше регистров и всегда задержка на такт относительно Мили, но зато можно сделать без глитчей и задержку тоже можно сделать меньше, т.к. нет обязательной логики по выходам.

Когда мне приходилось (и приходится) проектировать КА, я честно пытался применить эту теорию к этому процессу, но почему-то именно тут она уходила в фон: при описании КА смотришь на целевую задачу и решаешь её, исходя из доступных средств. Собственно, описываешь автомат так, чтобы его работа удовлетворяла целевой задаче, и почему-то тут [мне] ни разу совсем не потребовалось погружаться в эту классификацию и анализ свойств - просто кодишь логику, конечно имея в виду, что комбинационная задержка может подзатянуть слаки и/или дополнительный регистр сдвигает результат на такт, это надо тоже учитывать...

А вопрос, собственно, такой: какое практическое преимущество даёт знание этой классификации нашему брату - ПЛИСоводу? Подозреваю, что для разработчиков компиляторов, синтезаторов эта классификация может быть полезна - например, в этой теории могут быть доказаны теоремы, что если, де, автомат Мили, то можно провести такую-то или такую-то оптимизацию, а если Мура, то вот такие-то или такие-то ограничения. Как сказал один мудрый человек: "Нет ничего практичнее хорошей теории". Но нам-то - простым пользователям компиляторов, синтезаторов, есть практическая польза? Например, вот описал я логику КА, вижу, что он Мили. Или Мура. И что? Что даёт это понимание? Ведь логику-то я описал, исходя из требований целевой задачи, а не ставя цель, сделать Мили или Мура.

И вот опыт, вроде, говорит, что сие знание скорее академическое, но в книжках-то и доках вендоров регулярно упоминают обе фамилии, когда речь заходит про КА. Это порождает сомнение - может, я чего-то важного не ухватил. В общем, прошу поделиться мнением/опытом: какая практическая польза для ПЛИСовода заключается в знании этой классификации и её свойств, где и как это применяется при описании логики на ПЛИС?


--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
dima32rus
сообщение Jul 5 2018, 05:15
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 134
Регистрация: 9-11-12
Из: г. Брянск
Пользователь №: 74 311



Цитата(dxp @ Jul 5 2018, 07:29) *
при описании КА смотришь на целевую задачу и решаешь её, исходя из доступных средств. Собственно, описываешь автомат так, чтобы его работа удовлетворяла целевой задаче, и почему-то тут [мне] ни разу совсем не потребовалось погружаться в эту классификацию и анализ свойств - просто кодишь логику, конечно имея в виду, что комбинационная задержка может подзатянуть слаки и/или дополнительный регистр сдвигает результат на такт, это надо тоже учитывать...

У меня тоже именно так и происходит. Решаешь в первую очередь задачу, но где-то в ПЗУ держишь мысли о том, что есть две разновидности КА. Академические знания - это фундаментальные знания. Как ни крути, мы всегда их используем, даже не подозревая иной раз. Какой бы КА вы не описали, если посмотреть на него внимательно, то можно увидеть, что это есть КА Мура или КА Мили. У меня чаще получается Мили, т.к. стараюсь описывать все одним автоматом. А если посмотреть темплейты, например, в квартусе, то там дается КА Мура. Но мы же в первую очередь решаем задачу, поэтому делаем, кто как привык, кому как удобнее.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- dxp   FSM Mealy, Moore   Jul 5 2018, 04:29
- - Flip-fl0p   Цитата(dxp @ Jul 5 2018, 07:29) А очень ...   Jul 5 2018, 04:48
- - one_eight_seven   ЦитатаМожно нарисовать граф переходов КА Мура, или...   Jul 5 2018, 09:01
|- - Flip-fl0p   Цитата(one_eight_seven @ Jul 5 2018, 12:0...   Jul 5 2018, 09:27
|- - one_eight_seven   Цитата(Flip-fl0p @ Jul 5 2018, 12:27...   Jul 5 2018, 09:59
- - syoma   ИМХО смысл для разработчика в том, что надо мыслен...   Jul 5 2018, 12:56
- - one_eight_seven   ЦитатаНаверное, так не стоит делать, или нет? На ...   Jul 5 2018, 13:43
- - Shivers   Несколько комментариев 1. Строго говоря, автоматы ...   Jul 5 2018, 21:05
|- - x736C   Цитата(Shivers @ Jul 6 2018, 00:05) 5. О ...   Jul 5 2018, 23:23
|- - warrior-2001   Доброго времени суток! Цитата(x736C @ Ju...   Jul 6 2018, 04:23
|- - Flip-fl0p   Цитата(warrior-2001 @ Jul 6 2018, 07...   Jul 6 2018, 04:26
|- - gin   Цитата(warrior-2001 @ Jul 6 2018, 07...   Jul 6 2018, 20:39
- - dxp   Спасибо всем за ответы, в общем и целом примерно т...   Jul 6 2018, 06:56
- - syoma   ЦитатаМожно замутить автомат по науке, но он будет...   Jul 6 2018, 06:58
- - one_eight_seven   Цитатаа вот ПЛИС-программист или Verilog-кодер - э...   Jul 6 2018, 07:12
|- - syoma   Цитата(one_eight_seven @ Jul 6 2018, 09:1...   Jul 6 2018, 09:11
- - XVR   У автоматов Мили и Мура есть большое различие с то...   Jul 6 2018, 12:09
- - one_eight_seven   ЦитатаНу, могу предположить такое же мнение о Вас....   Jul 6 2018, 13:22
- - Shivers   Я там выше уже писал, что автомат Мили легко своди...   Jul 6 2018, 18:02


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 28th July 2025 - 19:44
Рейтинг@Mail.ru


Страница сгенерированна за 0.01416 секунд с 7
ELECTRONIX ©2004-2016