Fynjisx 0 20 мая, 2010 Опубликовано 20 мая, 2010 · Жалоба Привет Всем! Является ли использование защелок плохим стилем проектирования в FSM? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Methane 0 20 мая, 2010 Опубликовано 20 мая, 2010 · Жалоба Привет Всем! Является ли использование защелок плохим стилем проектирования в FSM? Что такое защелки и что такое FSM? Вообще деад-локи плохой стиль. Система должна предсказуемо выходить из любого состояния. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DmitryR 0 20 мая, 2010 Опубликовано 20 мая, 2010 · Жалоба Включив телепатические способности на полную мощность предположу, что под защелкой имеется в виду latch. И тогда верно, использовать их в FSM нехорошо даже в ASIC, не говоря уже о FPGA (где их вообще нет смысла использовать). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
glock17 0 20 мая, 2010 Опубликовано 20 мая, 2010 · Жалоба Привет Всем! Является ли использование защелок плохим стилем проектирования в FSM? если вы имеете ввиду latch, то использование их считается плохим стилем в принципе, а не только в FSM Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AsJohnAs 0 20 мая, 2010 Опубликовано 20 мая, 2010 · Жалоба Ну если сама стейт-машина находиться в процессе т.е. она меняет свои состояния синхронно с тактовым сигналом, тогда под защелками будут пониматься уже триггеры. Тогда данная ситуация будет трактоваться синтезатором как просто триггер с некоторым CE который пришел с комбинаторной логики. И если картина примерно такая то применение синхронных защелок в FSM корректно. Но тут ключевое слово СИНХРОННЫЙ. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
bogaev_roman 0 20 мая, 2010 Опубликовано 20 мая, 2010 (изменено) · Жалоба "Так как информация на выходе остаётся неизменной до прихода очередного импульса синхронизации, D-триггер называют также триггером с запоминанием информации или триггером-защёлкой."//из википедии Так что пусть автор лучше пояснит, что он подразумевает под защелкой. Если это триггер, который срабатывает при некотором условии, а при остальных непонятно что делает, то да - это latch, и большинство синтезаторов выдадут предупреждение и это не есть хорошо. Например в верилог для spartan3 под xilinx создавал ради интереса обычный синхронный D-триггер в вариантах: always @(posedge clk) if (ce) D<=in; else D<=D; Ну и без else. Так вот в первом варианте был обычный триггер, а во втором еще мультиплексор вешался, правда давно очень это было... Изменено 20 мая, 2010 пользователем bogaev_roman Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Fynjisx 0 20 мая, 2010 Опубликовано 20 мая, 2010 · Жалоба Что такое защелки и что такое FSM? Защелки и FSM(FiniteStateMachine) - это стандартные понятия и думаю их спутать с чем то другим нельзя... Наверно не зря Вы профессионал... Включив телепатические способности на полную мощность предположу, что под защелкой имеется в виду latch. И тогда верно, использовать их в FSM нехорошо даже в ASIC, не говоря уже о FPGA (где их вообще нет смысла использовать). защелка это и есть latch, даже без включения телепатии... Думаю Вы ответили на мой вопрос. если вы имеете ввиду latch, то использование их считается плохим стилем в принципе, а не только в FSM Т.е от них надо стремиться уходить, даже ценой привлечения дополнительных ресурсов ПЛИС? Если так, то спасибо за ответ...я понял "Так как информация на выходе остаётся неизменной до прихода очередного импульса синхронизации, D-триггер называют также триггером с запоминанием информации или триггером-защёлкой."//из википедии Так что пусть автор лучше пояснит, что он подразумевает под защелкой. Ладно буду придерживаться вашей терминологии. Триггер-защелка. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DmitryR 0 20 мая, 2010 Опубликовано 20 мая, 2010 · Жалоба Т.е от них надо стремиться уходить, даже ценой привлечения дополнительных ресурсов ПЛИС? Надо не стремиться, а уходить. Чтобы не было ни одной. Изменение количества используемых логических ресурсов при этом вряд ли будет заметным. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Fynjisx 0 20 мая, 2010 Опубликовано 20 мая, 2010 · Жалоба Триггер со статическим управлением это называется в русскоязычной литературе) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Des333 0 20 мая, 2010 Опубликовано 20 мая, 2010 · Жалоба Ладно буду придерживаться вашей терминологии. Триггер-защелка. Лучше употребляйте термин "latch". :) Хотя, лично я, сразу понял Ваш вопрос - не знаю, чего на Вас все накинулись. И, как уже, советовали, не стоит использовать latch. ... Если это триггер, который срабатывает при некотором условии, а при остальных непонятно что делает, то да - это latch ... Не совсем понятна фраза, не могли бы Вы привести пример кода? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
bogaev_roman 0 20 мая, 2010 Опубликовано 20 мая, 2010 (изменено) · Жалоба Это я про триггер-защелку, а не про latch, просто выразился неправильно always @(posedge clk) if (Ce) D<=in; else D<=D; обычный триггер always @(posedge clk) if (Ce) D<=in; Триггер-защелка, имея ввиду, что непонятно действие при CE=0. Ну это человеку понятно что в этом случае ничего делать не надо кроме как сохранить результат, а старый ISE выдавал предупреждение о возможной защелке(иногда вешая доп.логику на вход), квартус никогда не ругался. Про latch обычный уже все сказали и до меня... Изменено 20 мая, 2010 пользователем bogaev_roman Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Fynjisx 0 20 мая, 2010 Опубликовано 20 мая, 2010 · Жалоба Лучше употребляйте термин "latch". :) Хотя, лично я, сразу понял Ваш вопрос - не знаю, чего на Вас все накинулись. Хорошо хоть мой вопрос не затронул другие аспекты работы защелок(к примеру, что они ещё и прозрачными бывают ) ), а то бы меня здесь вообще съели Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dvladim 0 20 мая, 2010 Опубликовано 20 мая, 2010 · Жалоба Триггер-защелка, имея ввиду, что непонятно действие при CE=0. Ну это человеку понятно что в этом случае ничего делать не надо кроме как сохранить результат, а старый ISE выдавал предупреждение о возможной защелке(иногда вешая доп.логику на вход), квартус никогда не ругался. Это что-то с ISE не то. Согласно стандарту, и человеку и машине должно быть понятно, что если нет ветки else, то надо хранить значение. Обычно, защелки, как раз и возникают из-за то, что забывают написать else. Хорошо хоть мой вопрос не затронул другие аспекты работы защелок(к примеру, что они ещё и прозрачными бывают ) ), а то бы меня здесь вообще съели Понятно, что защелки прозрачные, иначе они перестают быть защелками. Вы лучше скажите как у вас в FSM защелки-то получились? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
icyrock 0 26 мая, 2010 Опубликовано 26 мая, 2010 · Жалоба Привет Всем! Является ли использование защелок плохим стилем проектирования в FSM? На мой взгляд использование защелок никакой проблемы не составляет. У меня половина обычных триггеров, а половина защёлок. Живу и радуюсь - никаких проблем. А использовать ветку else только для того чтобы написать что триггер должен сохранить свое значение - это только засорять код. От ошибок это не защищает. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Des333 0 26 мая, 2010 Опубликовано 26 мая, 2010 · Жалоба На мой взгляд использование защелок никакой проблемы не составляет. У меня половина обычных триггеров, а половина защёлок. Живу и радуюсь - никаких проблем. Главный вопрос: а зачем? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться