Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Надежность программы от объема используемых ячеек
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
bookevg
Добрый день, коллеги!
С ПЛИС-ками работал, но на примитивном уровне.
У меня есть коллеги, которые этим детально занимаются.
Используется: Cyclone4-I7 и IDE Quartus от Altera
Недавно возникла проблема, суть которой заключается, что при росте температуры спроектированная в ПЛИС логика стала некорректно работать, пришлось в DSP-прикручивать костыли для ПЛИС.
Насчет температуры: температуры в помещении стала больше 45 градусов, но меньше 55, но можно сделать предположение, что температура кристалла не превысила +100.
ПО использует 90-95% емкости логических ячеек.
Возник спор с моими коллегами, а могут ли они разработать ПО для ПЛИС, которое учитывает временные разбежки, которые увеличиваются или уменьшаются с ростом температуры.
Мои коллеги говорят, что чтобы это учесть необходимо очень долго работать, поэтому они считают, что надо оставлять свободными как минимум 30% емкости логических ячеек.
Я с этим не согласен.
Кто прав?
Bad0512
Цитата(bookevg @ Jan 25 2016, 14:00) *
Возник спор с моими коллегами, а могут ли они разработать ПО для ПЛИС, которое учитывает временные разбежки, которые увеличиваются или уменьшаются с ростом температуры.

Термины "синхронное проектирование" и "временной анализ" как раз и описывают некоторые принципы, при соблюдении которых, ваш дизайн будет работать во всём температурном диапазоне.
Если проект написан правильно (то есть без махровой аснихронщины) и тайминги сходятся (некоторые "писатели" вообще тайминги не проверяют), то это означает что всё должно работать при любых температурах,
ибо временные анализаторы как раз рассматривают "крайние" случаи.
Ну а то обстоятельство, что разработчики не любят искать ошибки в своём коде - это обычное свойство человеческой натуры, просто лень-матушка. Ну и под это дело можно целый вагон теорий придумать из серии "это невозможно потому что это невозможно в принципе".

iosifk
Цитата(bookevg @ Jan 25 2016, 11:00) *
Мои коллеги говорят, что чтобы это учесть необходимо очень долго работать, поэтому они считают, что надо оставлять свободными как минимум 30% емкости логических ячеек.

Вот это как раз и есть симптом асинхронщины. Ибо при синхронном проектировании все это кажется бредом...
bookevg
Цитата(iosifk @ Jan 25 2016, 11:44) *
Вот это как раз и есть симптом асинхронщины. Ибо при синхронном проектировании все это кажется бредом...

Есть подозрение, что они используют асинхронщину.
krux
попросите у них .SDC файл, который они используют.
des00
Цитата(bookevg @ Jan 25 2016, 16:00) *
Кто прав?

Они не правы.
aus
Цитата(des00 @ Jan 25 2016, 12:41) *
Они не правы.


вот как всё, оказывается, просто sm.gif

а по существу, меня всегда интересовал вопрос, насколько полно можно использовать ресурсы ПЛИС. Я думаю, что использование на 100% нереально, так где же граница в таком случае? Я понимаю, что проект проекту рознь, но всё же...
Особенно интересно мнение уважаемого iosifk.
iosifk
Цитата(aus @ Jan 25 2016, 13:06) *
Особенно интересно мнение уважаемого iosifk.


Мое мнение такое.
Самый дорогой ресурс в ПЛИС - это интерконнекты.
Потом - блочная память.
Потом - распределенная память...
Так же в серединке блоки DSP, клоковые домены.
Смый дешевый ресурс - это триггера и логика.

Потому в начале проекта я стремлюсь все с параллельной обработки перевести в последовательную. При этом от глобальных интерконнектов переходим к локальным. И проект работает быстрее...
От множества одинаковых "инстансов" я стараюсь перейти к одному многоканальному блоку обработки. Т.е. один быстрый автомат и память для хранения результатов для нескольких каналов. Это тоже здорово экономит ресурсы.
От громоздких автоматов - к простейшим микроконтроллерам...

А что касается 100% то я к этому никогда не стремился и стремиться не буду. Ибо это требуется только при огромных сериях и для низкобюджетных проектов. А у нас ПЛИС в основном в различных телекомах, где доработки могут потребоваться каждый месяц... sm.gif
И стоимость комплектации от стоимости изделия - от 15 до 20%... Так какой смысл брать чип на 10 центов дешевле???

Вот основу я написал, а если хотите подробнее - то могу по скайпу...
des00
Цитата(aus @ Jan 25 2016, 18:06) *
а по существу, меня всегда интересовал вопрос, насколько полно можно использовать ресурсы ПЛИС. Я думаю, что использование на 100% нереально, так где же граница в таком случае? Я понимаю, что проект проекту рознь, но всё же...

из личного опыта 99.98%, частоты 192/96МГц, климатика -50...+60, режим работы изделия 24 часа в сутки.
aus
Цитата(iosifk @ Jan 25 2016, 13:23) *
От громоздких автоматов - к простейшим микроконтроллерам...

Следующий этап - нейрокомпьютеры! sm.gif

Цитата(iosifk @ Jan 25 2016, 13:23) *
А что касается 100% то я к этому никогда не стремился и стремиться не буду. Ибо это требуется только при огромных сериях и для низкобюджетных проектов. А у нас ПЛИС в основном в различных телекомах, где доработки могут потребоваться каждый месяц... sm.gif
И стоимость комплектации от стоимости изделия - от 15 до 20%... Так какой смысл брать чип на 10 центов дешевле???

вооот, а вы сразу "бред"
у нас устройство далеко не низкобюджетное, при том, что уже ресурс используется на 87%, а мне ещё его отлаживать, формировать тестовые сигналы и SignalTap... я тут за каждый процентик бьюсь, коллеги

Цитата(iosifk @ Jan 25 2016, 13:23) *
Вот основу я написал, а если хотите подробнее - то могу по скайпу...

sm.gif спасибо за предложение, думаю, без стаканчика тут вина не обойтись )))
syoma
Когда запускаешь трассировку ISE, оно в числе прочего выводит в логах для констрейнов:
Initializing temperature to 85.000 Celsius. (default - Range: 0.000 to 85.000 Celsius)
Initializing voltage to 1.140 Volts. (default - Range: 1.140 to 1.260 Volts)

что для меня означает, что разводчик пытается учесть влияние как температур, так и минимального напряжения питания ядра (тоже немаловажный фактор, влияющий на тайминги). Поэтому если тайминги заданы корректно, оно должно все правильно развести и загруженность ПЛИС не имеет к этому никакого отношения.
aus
Цитата(des00 @ Jan 25 2016, 13:37) *
из личного опыта 99.98%, частоты 192/96МГц, климатика -50...+60, режим работы изделия 24 часа в сутки.

Если не секрет, какое при этом количество ячеек на кристалле и какой функционал устройства?
И какое количество выпускается в год?
У каждого вопроса есть куча нюансов, имхо... Вы так не думаете?

Цитата(syoma @ Jan 25 2016, 13:55) *
... разводчик пытается учесть влияние как температур, так и минимального напряжения питания ядра (тоже немаловажный фактор, влияющий на тайминги). Поэтому если тайминги заданы корректно, оно должно все правильно развести...

Всё это безусловно так, безусловно всё разведется, но для того, чтобы всё развелось без слаков, нужно постараться, за что многие из нас и получают материальное вознаграждение. Вот и всё
iosifk
Цитата(aus @ Jan 25 2016, 13:49) *
у нас устройство далеко не низкобюджетное, при том, что уже ресурс используется на 87%, а мне ещё его отлаживать, формировать тестовые сигналы и SignalTap... я тут за каждый процентик бьюсь, коллеги

А вот 87% до начала отладки - это Ваша ошибка! В первых опытных изделиях экономия должна быть не в микросхемах, а во времени на разработку... 1 чел/мес - это 1-2 тыс долл. а микросхема не дороже пары сотен... А значит, что не более 3-5 рабочих дней... Так какой смысл был в экономии денег эквивалентных паре рабочих дней???
А что касается 100% то близко к ним я забивал CPLD 7000 серии, но это было очень давно...
Maverick
Цитата(aus @ Jan 25 2016, 12:49) *
у нас устройство далеко не низкобюджетное, при том, что уже ресурс используется на 87%, а мне ещё его отлаживать, формировать тестовые сигналы и SignalTap... я тут за каждый процентик бьюсь, коллеги

Вы б для макета или отладки заложили ПЛИС с запасом. Например в 2 раза больше расчетного. А потом просто перепаяли на плате ПЛИС на нужную (совпадающую по пинам).
Может сейчас Вам стоит об этом подумать и купить/запаять на плату ПЛИС например в 2 раза больше исходной.
Тогда для SignalTap будет место и возможно разработка с отладкой пойдут быстрее. Когда получите работоспособный проект - тогда начнете выбирать ПЛИС или производить оптимизацию
des00
Цитата(aus @ Jan 25 2016, 19:09) *
Если не секрет, какое при этом количество ячеек на кристалле и какой функционал устройства?
И какое количество выпускается в год?
У каждого вопроса есть куча нюансов, имхо... Вы так не думаете?

сыклон 3 25 ка. два чипа на плате, оба под завязку. модем ррл. 2000-4000 в год.

сейчас под завязку набиваю арию 5, на 90% уже использована, при этом надо еще второй канал демодулятора добавить.
aus
Для разработки закладывалась EP3C40 ещё n-ое количество лет назад, сейчас ставят EP4CE15...
Функционал устройства - постоянно дорабатывается, без этого сегодня никак.
Укажите мне на мою ошибку, и это станет моим очередным аргументом sm.gif

Цитата(des00 @ Jan 25 2016, 14:21) *
сыклон 3 25 ка. два чипа на плате, оба под завязку. модем ррл. 2000-4000 в год.

сейчас под завязку набиваю арию 5, на 90% уже использована, при этом надо еще второй канал демодулятора добавить.


Круто, мне бы столько ячеек...
И конечно же, учиться, учиться и ещё раз учиться
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.