Перейти к содержанию
    

Мультисегментное описание конечного автомата

Всем доброго времени суток!

Всю свою практику реализовывал стэйт-машины односегментно - знаю, что это не правильно, но дело привычки... теоретически я понимаю, что возникают паразитные регистры - почитал на разных источниках, вроде бы уловил к чему приводит все. Сейчас решил переучиваться - создал 2 проекта - один - односегментный, другой мультисегментный - он получился объемнее(в плане кода), так как в автомате участвует счетчик и сдвиговые регистры, что привело к необходимости создавать ряд дополнительных сегментов, собрал оба проекта и в результате при всех прочих равных, в мультисегментном варианте появились глобальные клоковые буфера< которые не вполне очевидно к чему там вообще(хотя может это создал чип-скоуп, я это буду проверять и допытываться). Собственно вопрос - в чем конкретный профит использования мультисегментных конечных автоматов? Ну добавятся регистры - это только тайминг улучшит(или нет...) - есть какой-то реальный прок от того, каким образом реализован конечный автомат(парой регистров я готов пожертвовать ибо односегментный вариант намного компактнее в плане кода)? Буду благодарен за содержательные ответы или ссылки на хорошие источники

P.S. если интересно< то я добавлю оба варианта на ваш суд, если камнями не закидаете, но как смогу - сейчас возможности нет

Заранее спасибо!

Изменено пользователем Lutovid

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нигде не встречал такой терминологии, можно ли какуюто литературу по теме, или примеры свои привести?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

И, имхо, как описывать - дело вкуса. Главное, чтобы описано было корректно и понятно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Т.е. Вы в описание автомата замешиваете еще что-то? Я считаю, что это не правильно, т.к. код получается сложнее.

Автомат может давать только сигналы разрешения, которые поступают на "исполнительные узлы", т.е. на "счетчик и сдвиговые регистры"... Так гораздо проще и код компактнее...

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

И, имхо, как описывать - дело вкуса. Главное, чтобы описано было корректно и понятно.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

что такое мультисегментное описание конечного автомата?

описание автомата в нескольких process/always мне известно и понятно.

такую терминологию слышу впервые...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

что такое мультисегментное описание конечного автомата?

описание автомата в нескольких process/always мне известно и понятно.

такую терминологию слышу впервые...

 

Я вот тоже не слышал, но постеснялся спросить и поинтересовался у Гугла, который дал ссылку на лекцию некоего Александра Монахова из МГУ. Это наверное его креатив.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я вот тоже не слышал, но постеснялся спросить и поинтересовался у Гугла, который дал ссылку на лекцию некоего Александра Монахова из МГУ. Это наверное его креатив.

не совсем, оказывается это простой перевод книги IEEE Press RTL Hardware Design Using VHDL PONG P. CHU

 

стр 22 лекции Александра Монахова из МГУ соответствует стр 357 книги: глава "10.5.1 Multi-segment coding style"

 

Да и вообще лекция это перевод этой книги....

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да и вообще лекция это перевод этой книги....

 

У нас некоторые проподы тоже книжки в лекции переписывали :)

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Сейчас пойду по порядку:

1) Терминология из курса лекция которые мне читались когда-то давно. По сути все поняли правильно - то что я и имел ввиду

2)

Т.е. Вы в описание автомата замешиваете еще что-то? Я считаю, что это не правильно, т.к. код получается сложнее.

Автомат может давать только сигналы разрешения, которые поступают на "исполнительные узлы", т.е. на "счетчик и сдвиговые регистры"... Так гораздо проще и код компактнее...

- мне нужно "просидеть" в состоянии некоторое количество тактов - я привык это писать в одном процессе с стэйт машиной, но если делать переход асинхнонным и через state_next<=state; тоего конечно же приходится выносить в отдельный синхронный блок, что лично мне не совсем привычно

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

- мне нужно "просидеть" в состоянии некоторое количество тактов - я привык это писать в одном процессе с стэйт машиной, но если делать переход асинхнонным и через state_next<=state; тоего конечно же приходится выносить в отдельный синхронный блок, что лично мне не совсем привычно

вообще то если посмотрите темплате от Альтеры или Ксайлинкс, то рекомендуют описывать FSM в двух процессах

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Сейчас пойду по порядку:

1) Терминология из курса лекция которые мне читались когда-то давно. По сути все поняли правильно - то что я и имел ввиду

2)

- мне нужно "просидеть" в состоянии некоторое количество тактов - я привык это писать в одном процессе с стэйт машиной, но если делать переход асинхнонным и через state_next<=state; тоего конечно же приходится выносить в отдельный синхронный блок, что лично мне не совсем привычно

Если у Вас есть скайп, то могу показать кусок лекции прямо с моего рабочего стола...

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...