|
Защелки в FSM |
|
|
|
 |
Ответов
(1 - 55)
|
May 20 2010, 06:54
|

Частый гость
 
Группа: Свой
Сообщений: 163
Регистрация: 3-09-04
Пользователь №: 586

|
Цитата(Fynjisx @ May 20 2010, 11:17)  Привет Всем! Является ли использование защелок плохим стилем проектирования в FSM? если вы имеете ввиду latch, то использование их считается плохим стилем в принципе, а не только в FSM
|
|
|
|
|
May 20 2010, 07:44
|
Профессионал
    
Группа: Свой
Сообщений: 1 088
Регистрация: 20-10-09
Из: Химки
Пользователь №: 53 082

|
"Так как информация на выходе остаётся неизменной до прихода очередного импульса синхронизации, D-триггер называют также триггером с запоминанием информации или триггером-защёлкой."//из википедии Так что пусть автор лучше пояснит, что он подразумевает под защелкой. Если это триггер, который срабатывает при некотором условии, а при остальных непонятно что делает, то да - это latch, и большинство синтезаторов выдадут предупреждение и это не есть хорошо. Например в верилог для spartan3 под xilinx создавал ради интереса обычный синхронный D-триггер в вариантах: Код always @(posedge clk) if (ce) D<=in; else D<=D; Ну и без else. Так вот в первом варианте был обычный триггер, а во втором еще мультиплексор вешался, правда давно очень это было...
Сообщение отредактировал bogaev_roman - May 20 2010, 07:47
|
|
|
|
|
May 20 2010, 09:18
|
студент
   
Группа: Свой
Сообщений: 571
Регистрация: 3-07-08
Из: Russia
Пользователь №: 38 712

|
Цитата(Methane @ May 20 2010, 06:05)  Что такое защелки и что такое FSM? Защелки и FSM(FiniteStateMachine) - это стандартные понятия и думаю их спутать с чем то другим нельзя... Наверно не зря Вы профессионал... Цитата(DmitryR @ May 20 2010, 09:11)  Включив телепатические способности на полную мощность предположу, что под защелкой имеется в виду latch. И тогда верно, использовать их в FSM нехорошо даже в ASIC, не говоря уже о FPGA (где их вообще нет смысла использовать). защелка это и есть latch, даже без включения телепатии... Думаю Вы ответили на мой вопрос. Цитата(glock17 @ May 20 2010, 09:54)  если вы имеете ввиду latch, то использование их считается плохим стилем в принципе, а не только в FSM Т.е от них надо стремиться уходить, даже ценой привлечения дополнительных ресурсов ПЛИС? Если так, то спасибо за ответ...я понял Цитата(bogaev_roman @ May 20 2010, 10:44)  "Так как информация на выходе остаётся неизменной до прихода очередного импульса синхронизации, D-триггер называют также триггером с запоминанием информации или триггером-защёлкой."//из википедии Так что пусть автор лучше пояснит, что он подразумевает под защелкой. Ладно буду придерживаться вашей терминологии. Триггер-защелка.
--------------------
С Уважением...
|
|
|
|
|
May 20 2010, 10:11
|
Профессионал
    
Группа: Свой
Сообщений: 1 129
Регистрация: 19-07-08
Из: Санкт-Петербург
Пользователь №: 39 079

|
Цитата(Fynjisx @ May 20 2010, 13:18)  Ладно буду придерживаться вашей терминологии. Триггер-защелка. Лучше употребляйте термин "latch". Хотя, лично я, сразу понял Ваш вопрос - не знаю, чего на Вас все накинулись. И, как уже, советовали, не стоит использовать latch. Цитата(bogaev_roman @ May 20 2010, 11:44)  ... Если это триггер, который срабатывает при некотором условии, а при остальных непонятно что делает, то да - это latch ... Не совсем понятна фраза, не могли бы Вы привести пример кода?
--------------------
|
|
|
|
|
May 20 2010, 10:39
|
Профессионал
    
Группа: Свой
Сообщений: 1 088
Регистрация: 20-10-09
Из: Химки
Пользователь №: 53 082

|
Это я про триггер-защелку, а не про latch, просто выразился неправильно Код always @(posedge clk) if (Ce) D<=in; else D<=D; обычный триггер Код always @(posedge clk) if (Ce) D<=in; Триггер-защелка, имея ввиду, что непонятно действие при CE=0. Ну это человеку понятно что в этом случае ничего делать не надо кроме как сохранить результат, а старый ISE выдавал предупреждение о возможной защелке(иногда вешая доп.логику на вход), квартус никогда не ругался. Про latch обычный уже все сказали и до меня...
Сообщение отредактировал bogaev_roman - May 20 2010, 10:40
|
|
|
|
|
May 20 2010, 19:28
|
Знающий
   
Группа: Свой
Сообщений: 654
Регистрация: 24-01-07
Из: Воронеж
Пользователь №: 24 737

|
Цитата(bogaev_roman @ May 20 2010, 14:39)  Триггер-защелка, имея ввиду, что непонятно действие при CE=0. Ну это человеку понятно что в этом случае ничего делать не надо кроме как сохранить результат, а старый ISE выдавал предупреждение о возможной защелке(иногда вешая доп.логику на вход), квартус никогда не ругался. Это что-то с ISE не то. Согласно стандарту, и человеку и машине должно быть понятно, что если нет ветки else, то надо хранить значение. Обычно, защелки, как раз и возникают из-за то, что забывают написать else. Цитата(Fynjisx @ May 20 2010, 14:48)  Хорошо хоть мой вопрос не затронул другие аспекты работы защелок(к примеру, что они ещё и прозрачными бывают ) ), а то бы меня здесь вообще съели  Понятно, что защелки прозрачные, иначе они перестают быть защелками. Вы лучше скажите как у вас в FSM защелки-то получились?
|
|
|
|
|
May 26 2010, 14:28
|

Участник

Группа: Участник
Сообщений: 29
Регистрация: 27-04-07
Из: Санкт-Петербург
Пользователь №: 27 351

|
Цитата(Fynjisx @ May 20 2010, 06:17)  Привет Всем! Является ли использование защелок плохим стилем проектирования в FSM? На мой взгляд использование защелок никакой проблемы не составляет. У меня половина обычных триггеров, а половина защёлок. Живу и радуюсь - никаких проблем. А использовать ветку else только для того чтобы написать что триггер должен сохранить свое значение - это только засорять код. От ошибок это не защищает.
|
|
|
|
|
May 26 2010, 14:38
|
iBuilder©
   
Группа: Свой
Сообщений: 519
Регистрация: 14-07-04
Из: Минск
Пользователь №: 322

|
Цитата(icyrock @ May 26 2010, 17:28)  На мой взгляд использование защелок никакой проблемы не составляет. У меня половина обычных триггеров, а половина защёлок. Живу и радуюсь - никаких проблем.
А использовать ветку else только для того чтобы написать что триггер должен сохранить свое значение - это только засорять код. От ошибок это не защищает. С защёлками могут возникать неочевидные ошибки. Просто нужно осознанно их использовать. Это как с асинхронщиной, если обосновано и со знанием дела - пожалуста, используйте, будет работать. Но как показывает практика, у многих почему-то не работает. На симуляторе вроде работает, а на железе - глючит. Поэтому тут по моему должен действовать принцип - не уверен - не используй, уверен - нет проблем  По else, пишу на V/SV, обычно ставлю _ff, и не имею проблем с засорением кода лишней информацие. Добавлено: а разве защёлки во всех ПЛИС есть? Если нету - то тоже нарваться можно, т.к. она будет неким способом симитирована, и нужно ещё смотреть как именно...
|
|
|
|
|
May 27 2010, 14:26
|
Профессионал
    
Группа: Свой
Сообщений: 1 129
Регистрация: 19-07-08
Из: Санкт-Петербург
Пользователь №: 39 079

|
Цитата(ViKo @ May 27 2010, 18:05)  Вот пример защелки Код assign out = in & out; Это не защелка, а комбинационная петля. Защелка - это: Код always @(*) if(en) out = in;
--------------------
|
|
|
|
|
May 27 2010, 15:02
|

Участник

Группа: Участник
Сообщений: 29
Регистрация: 27-04-07
Из: Санкт-Петербург
Пользователь №: 27 351

|
Цитата(des333 @ May 26 2010, 18:35)  Главный вопрос: а зачем? Алгоритмы у меня такие : нужно
|
|
|
|
|
May 27 2010, 15:38
|

Участник

Группа: Участник
Сообщений: 29
Регистрация: 27-04-07
Из: Санкт-Петербург
Пользователь №: 27 351

|
Цитата(bogaev_roman @ May 27 2010, 19:07)  А Вы уверены, что в Вашем алгоритме без защелок не обойтись? Все-таки защелки - хитрая вещь и ИМХО лучше без них. Да и по себе могу сказать - читая чужой код и встречая защелки (особенно в case любят опускать состояния) ну очень настораживает - как бы в неопределенность не погрузиться, особенно если обратная связь. Вижу в использовании защёлки (когда это требуется) следующие факторы увеличивающие наглядность кода 1. Нет лишней засоряющей пространство ветви else 2. Чем реже меняет значение триггер тем меньше "ряби" и посторонних (промежуточных) значений на симуляции 3. Текст always @(posedge clk) if (ce) dout<=din; Прямо говорит что меняется значение dout тогда когда ce в единице 4. В принципе можно напрячься и избавиться от защёлок. Но это может привести к тому, что код хоть и будет работать правильно но идею алгоритма придётся расшифровывать внимательно вглядываясь в превращение входных данных в выходные.
|
|
|
|
|
May 27 2010, 15:58
|
iBuilder©
   
Группа: Свой
Сообщений: 519
Регистрация: 14-07-04
Из: Минск
Пользователь №: 322

|
Цитата(icyrock @ May 27 2010, 18:38)  3. Текст always @(posedge clk) if (ce) dout<=din; Чёт-т туплю к концу дня, это разве защёлка? Вы точно уверены? По моему это банальный тригер, и тогда все остальные рассуждения теряют смысл.
|
|
|
|
|
May 28 2010, 06:21
|
Профессионал
    
Группа: Свой
Сообщений: 1 088
Регистрация: 20-10-09
Из: Химки
Пользователь №: 53 082

|
Цитата(ViKo @ May 28 2010, 00:19)  Это - не триггер-защелка. Защелка (Latch) - это триггер, который передает входной сигнал, когда L = 1 (прозрачный), и не передает входной сигнал, когда L = 0. В момент перехода L из 1 в 0 триггер "защелкивает" сигнал, а до этого момента сигнал на выходе мог меняться вместе с входным.
P.S. А для case есть слово default. Все-таки откопал из старого форума-конференции - вот собственно тема http://www.telesys.ru/wwwboards/fpga/270/m...ges/21837.shtmlА вот подробное описание отличий - http://www.telesys.ru/wwwboards/fpga/270/m...ges/22311.shtmlТак что то о чем говорил des333 - это latch, то о чем писал я -flip-flop and latch в общем случае, и речь шла немного о разных вещах. Некоторым лень сознательно ставить default так же как и else - типа читается лучше да и строчек меньше, а потом начинается в крупных проектах "выковыривание" ошибки. Интересно, а вот сходу скажет кто-нибудь - стандарт рекомендует по стилю вставлять else и default? По-моему рекомендует, хотя и не обязывает...
Сообщение отредактировал bogaev_roman - May 28 2010, 06:24
|
|
|
|
|
May 28 2010, 09:24
|

Универсальный солдатик
     
Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362

|
Во всяком случае, Quartus предлагает следующий шаблон для case: Код case(<constant_expr>) <constant_expr>: begin : <block_name> // Generate Items end <constant_expr>: begin : <block_name> // Generate Items end // ... default: begin : <block_name>
end endcase
// NOTE: Block names are optional but Altera recommends them. Кстати... Цитата(bogaev_roman @ May 27 2010, 18:07)  assign out = in & en | out & !en; - Вот такая то оплошность быстро обнаружиться Это не оплошность, а осознанное решение. Ничего плохого в нем нет. Именно - триггер-защелка, применяется часто. Пример - 74HC373 - Octal 3-State Noninverting Transparent Latch. Бывают защелки "полезные", а бывают "непредусмотренные"
|
|
|
|
|
May 28 2010, 10:03
|
Профессионал
    
Группа: Свой
Сообщений: 1 129
Регистрация: 19-07-08
Из: Санкт-Петербург
Пользователь №: 39 079

|
Цитата(bogaev_roman @ May 28 2010, 10:21)  Так что то о чем говорил des333 - это latch, то о чем писал я -flip-flop and latch в общем случае, и речь шла немного о разных вещах. Ну, я думал, по контексту темы все поняли, что имеется в виду та защелка, которая latch. Цитата(ViKo @ May 28 2010, 13:24)  Это не оплошность, а осознанное решение. Ничего плохого в нем нет. Именно - триггер-защелка, применяется часто. Пример - 74HC373 - Octal 3-State Noninverting Transparent Latch. Бывают защелки "полезные", а бывают "непредусмотренные"  Altera рекомендует не использовать latch вообще.
--------------------
|
|
|
|
|
May 28 2010, 11:54
|
Гуру
     
Группа: Свой
Сообщений: 2 435
Регистрация: 6-10-04
Из: Петербург
Пользователь №: 804

|
Цитата(ViKo @ May 28 2010, 14:26)  Нет, конечно. Поэтому такие же рекомендации будет давать каждый производитель ПЛИС  Когда сигнал изменяется по тактам, можно получить большее быстродействие, чем когда он меняется, когда захочет. Это (нерекомендация latch) вытекает из неприятия "асинхронщины". Потому что выходы latch изначально в неопределенном состоянии. Пока en в 1 единицу не перевести. За это время много чего пожечь можно.
|
|
|
|
|
May 28 2010, 18:37
|
Знающий
   
Группа: Свой
Сообщений: 654
Регистрация: 24-01-07
Из: Воронеж
Пользователь №: 24 737

|
Цитата(bogaev_roman @ May 28 2010, 10:21)  Интересно, а вот сходу скажет кто-нибудь - стандарт рекомендует по стилю вставлять else и default? По-моему рекомендует, хотя и не обязывает... Насчет стандарта не скажу, а вот проверка покрытия у Кейденса выдает сообщение если отсутствует default даже если описаны все возможные состояния. Цитата(ViKo @ May 28 2010, 15:26)  Когда сигнал изменяется по тактам, можно получить большее быстродействие, чем когда он меняется, когда захочет. Если вы имели ввиду что конвейер на триггерах будет быстрее конвейера на латчах, то это не так. В конвейере на латчах предыдущий каскад предоставляет свой временной запас следующему. Это и позволяет при несогласованности стадий конвейера повысить тактовую по сравнению с реализацией на триггерах.
|
|
|
|
|
May 29 2010, 17:20
|
Частый гость
 
Группа: Свой
Сообщений: 166
Регистрация: 2-11-08
Из: Ростов-на-Дону
Пользователь №: 41 331

|
Цитата(des00 @ May 29 2010, 09:02)  есть проекты по асинхронизации изначально синхронных устройств Ссылочку не дадите ли ? ИМХО, для создания больших асинхронных схем требуется язык, описывающий порядок срабатывания. HDL позволяет описывать порядок срабатывания только по тактам.
|
|
|
|
|
May 31 2010, 08:00
|

Универсальный солдатик
     
Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362

|
Цитата(des00 @ May 29 2010, 08:02)  ну и зря, недаром есть проекты по асинхронизации изначально синхронных устройств(например асинхронный пик16 в ~4 раза быстрее синхронного). Рости производительности оправдывает асинхру. В ссылках, что Вы привели ниже, не говорится про PIC. Если имелся в виду подобный проект, на ПЛИС, то не в быстродействии ли самой ПЛИС заложена такая скорострельность ПИКа? В самом ПИКе каждая команда выполняется за 4 такта (если помните, в 51-й микроЭВМ их было 12). Если эти 4 такта слепить в один, то, наверное, можно сделать устройство слегка более быстрым. Быстродействие будет определяться длительностью самой сложной команды. Как здесь писали, ценой аппаратных затрат. Но асинхронным от этого процессор все равно не станет. Беда в другом. В соседних темах о том же говорится. Если на триггере есть асинхронный сброс, который может кончиться в момент тактового сигнала - вот вам метастабильное состояние! Вам это надо? P.S. Еще примерчик - если не ошибаюсь, в Intel Pentium4 глубина конвейера была 20 тактов. А там, надеюсь, не дураки сидят.
|
|
|
|
|
May 31 2010, 09:15
|
Вечный ламер
     
Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453

|
Цитата(ViKo @ May 31 2010, 02:00)  В ссылках, что Вы привели ниже, не говорится про PIC. вот тунеядец то (с) Старый мульт %))) Можно было погуглить и найти вот такую статью САМОСИНХРОННАЯ СХЕМОТЕХНИКА – ПЕРСПЕКТИВНЫЙ ПУТЬ РЕАЛИЗАЦИИ АППАРАТУРЫ вот из статьи Цитата В работе представлены результаты испытаний С- и СС-вариантов исполнения тестового кристалла «Микроядро», который реализует функции вычислительного ядра восьмиразрядного микроконтроллера PIC18CXX, широко используемого в отечественных разработках ...... На рис. 6 представлен график зависимости быстродействия образцов Микроядра от температуры и напряжения питания. Видно, что быстродействие С-реализаций Микроядра есть величина постоянная для всех возможных условий эксплуатации в пределах области работоспособности и составляет 4 МГц. Быстродействие же ССС-микроядра широко изменяется в зависимости от внешних и внутренних факторов. Например, в зоне работоспособности, гарантированной изготовителем БМК, его быстродействие изменяется от 10,9 МГц (5,5 В; -63°С) до 5,2 МГц (4,5 В; +125°С) и в среднем выше быстродействия С-Микроядра почти в два раза. На рис. 7 приведен график зависимости тока потребления (Iсс) С- н ССС-вариантов реализации Микроядра от величины питающего напряжения при номинальной температуре. При одном и том же питающем напряжении ССМ потребляет несколько больше, чем СМ. Однако при этом быстродействие ССС-реализаций существенно выше. ошибся немного, не в 4, а в 2 раза всего средний выигрыш по производительности, это не считая потребления
--------------------
|
|
|
|
|
May 31 2010, 11:26
|

Универсальный солдатик
     
Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362

|
Вы серьезно рассматриваете данную статью как пример, доказывающий преимущества асинхронных схем? Пробежав ее по-диагонали, я в очередной раз убедился во мнении, что академики даром едят свой хлеб. Ничем иным, кроме попыток выбить "бабла", я не могу оправдать данную "тему". Вот один из "перлов": Цитата Дальнейшие исследования показали, что исключение из цепи питания микросхем миллиамперметра и использование низкоомного провода минимальной длины от источника питающего напряжения до микросхемы позволяет расширить зону работоспособности до беспрецедентно низкого уровня – 0,2 В. Этот интересный феномен требует дополнительного исследования и подтверждения на более представительной выборке микросхем. Вот как надо быстродействие повышать!  Долой амперметры!! А по-серьезному: - Не увидел никакой разницы между рис 1,а и 1,б. А на этом основана вся дальнейшая работа. - Работа, требующая подтверждения своей завершенности, не может выполниться быстрее, если бы подтверждения не требовалось. Исключения - когда какая-то процедура (умножение, например) требует намного большего времени, чем остальные действия. Если привязывать такты к такой команде, придется терять время для остальных. Поэтому такие команды выполняются за несколько тактов. - PIC18 работают на частоте 40MHz, выполняют команду за 100ns (4 такта). Вот оно, преимущество конвейера (вспомним еще раз Pentium4). - еще примерчик - синхронные и асинхронные интерфейсы - какие быстрее? upd. извиняюсь, не быстродействие, а потребление уменьшать с помощью исключения амперметра
|
|
|
|
|
May 31 2010, 11:37
|
Вечный ламер
     
Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453

|
Цитата(ViKo @ May 31 2010, 06:26)  Вы серьезно рассматриваете данную статью как пример, доказывающий преимущества асинхронных схем? Пробежав ее по-диагонали, я в очередной раз убедился во мнении, что академики даром едят свой хлеб. Ничем иным, кроме попыток выбить "бабла", я не могу оправдать данную "тему". Вот один из "перлов": Нормальный такой тезис, столкнулся чел с неизвестным вот и удивился. Цитата А по-серьезному: идея самосинхронного конвейера стара как мир, больше всего я думал над "Таблица 1. Модельные времена исполнения команд" и прикидывал куда, что и зачем. А когда накладывал выкладки на результаты ковыряния своего проца в роутере, находил общие выводы с авторами статьи. Так что рациональное звено в самосинхронных схемах есть, ну и промышленные процы тоже. Линки уже приводил. ЗЫ. Насчет асинхронности, на форуме есть тема где участник рассказывает об асинхронном RAKE приемнике, который в ~3 раза производительнее синхронного. Хотя подозреваю что он не совсем асинхронный, он с многофазной синхронизацией.
--------------------
|
|
|
|
|
May 31 2010, 12:06
|

Универсальный солдатик
     
Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362

|
Цитата(des00 @ May 31 2010, 14:37)  Нормальный такой тезис, столкнулся чел с неизвестным вот и удивился. У статьи 5 авторов, не считая рецензентов, помощников, и т.д. Они что, камень с Луны исследуют? Связь с изготовителем БМК потеряна навсегда? На рис. 6 при напряжении ниже 1V (кстати, почему там цифры 3,1 2,1 1,1 В - обычное разгильдяйство) рабочая частота падает до 0. Примерно так выделяются сигналы на фоне шумов - накапливаем, накапливаем, потом какой-то результат получаем...
|
|
|
|
|
Jun 1 2010, 16:29
|
iBuilder©
   
Группа: Свой
Сообщений: 519
Регистрация: 14-07-04
Из: Минск
Пользователь №: 322

|
Цитата(ViKo @ Jun 1 2010, 11:42)  Хочу еще добавить пару слов. Кто мешал упомянутым "академикам" запихнуть свое "изобретение" в ПЛИС, у которой перед каждым триггером с синхронным входом есть асинхронная 4-х-входовая таблица просмотра (истинности)? Ну, пусть было бы нерациональное использование, но весь их PIC уложился бы в ПЛИС (а то и оба - синхронный и асинхронный, и еще осталось бы для схем тестирования). Не все идеи, старые, как мир, проходят проверку временем. Прогресс вообще петляет, как заяц. Но неизменно продвигается вперед. Тут нужно смотреть кирпичики, из которых это делается. Не факт что эти асинхронные кирпичики нормально ложатся на ПЛИС с его лутами. Может там такие-же проблемы будут как с асинхронными схемами на ПЛИС, когда люди знающие схемотехнику на рассыпухе лепили по старинке и получали кучу проблем в ПЛИС. Тут запросто может быть такая-же проблема. Для того что- сказать что это так или не так, нужно знать что там за кирпичики. Где есть описание этих "кирпичиков" подробнее чем в статье?
|
|
|
|
|
Jun 2 2010, 08:56
|

Универсальный солдатик
     
Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362

|
Цитата(Builder @ Jun 1 2010, 19:29)  Где есть описание этих "кирпичиков" подробнее чем в статье? Я не знаю. Пусть ПЛИС будет неоптимальна для подобной разработки. Но все же лучше, чем ничего. Для доказательства преимуществ асинхронного процессора хватило бы, наверное. Мне кажется, что идеи (только первичные идеи, про дальнейшую реализацию молчу) могли бы пригодиться при разработке компьютеров для роботов и т.п., если нужна "безотказность" вычислений в первую очередь, а уж потом быстродействие. Т.е., если не получается вычислить быстро, пусть процессор "подумает" над командой еще, пока не "осилит".
|
|
|
|
|
Jun 2 2010, 18:28
|
Знающий
   
Группа: Свой
Сообщений: 654
Регистрация: 24-01-07
Из: Воронеж
Пользователь №: 24 737

|
Цитата(ViKo @ Jun 2 2010, 12:56)  Мне кажется, что идеи (только первичные идеи, про дальнейшую реализацию молчу) могли бы пригодиться при разработке компьютеров для роботов и т.п., если нужна "безотказность" вычислений в первую очередь, а уж потом быстродействие. Т.е., если не получается вычислить быстро, пусть процессор "подумает" над командой еще, пока не "осилит". Вот как раз для роботов используются RTOS - т.е. время выполнения критично, ждать нельзя.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|