|
Поделитесь опытом в плане надежности |
|
|
|
Jan 23 2015, 05:58
|
Участник

Группа: Участник
Сообщений: 23
Регистрация: 21-10-05
Пользователь №: 9 920

|
Народ, поделитесь пожалуйста опытом, мыслями, ссылками... в плане надежности. Имеется некий довольно большой проект. Среды проектирования FPGA ADVANTAGE + SYNPLIFY + ISE. Язык VERILOG. Процессора в данной системе нет. Проект содержит множество STATE DIAGRAM. Функции проекта - прием, формирование, хранение, пересылка данных. Интерфейсы относительно низкочастотные. Используемая ПЛИС VIRTEX2 (аппаратно не мажорированная). Использование в космической отрасли. Сами понимаете, требуется надежность. Сбои возможны, но не должны приводить к выходу из строя аппаратуры. Реализована схема переинициализации ПЛИС при превышении пороговых токов потребления напряжений питания ядра и IO (дергает PROG_B). Также реализована внешняя команда для переинициализации ПЛИС. Как еще увеличить надежность проекта? Возможно ли сделать какой то монитор целостности загруженной прошивки не применяя внешние схемы? Чтобы при подвисании ПЛИС сама себе дергала PROG_B. Трудно найти критериии и проверить признаки подвисания, какие то жуткие навороты получаются... Проект то большой... Может организовать какое то подобие WATCHDOG TIMER (не внешний). Еще по поводу реализации резервирования (мажорирования) в пределах ПЛИС... Вручную это реализовать как то муторно и сложновато. Какие то отдельные узлы резервировать... Нельзя ли это как то автоматизировать на уровне языка, директив, пакетов проектирования? Выслушаю любые предложения. Может вообще не надо заморачиваться? Заранее всем спасибо. Алексей.
|
|
|
|
|
 |
Ответов
|
Jan 23 2015, 07:21
|
Знающий
   
Группа: Участник
Сообщений: 527
Регистрация: 4-06-14
Из: Санкт-Петербург
Пользователь №: 81 866

|
Цитата Чтобы при подвисании ПЛИС Как она может зависнуть? Может возникнуть ошибка, например, в каком нибудь конечном автомате из-за неполного писания всех возможных состояний и переходов - зависнит автомат, а не прошивка. Но такую проблему нужно локализовать и дописать автомат а не резетить каждый раз всю систему... Может фильтр загудеть, но это проблема его устойчивости, т.е. алгоритмическая. ИМХО, если нет процессоров, то ПЛИС, если внешние условия не меняются, должна формировать резет для своей логики только 1 раз - по захвату внутренних PLL. А подвисания отдельных модулей в проекте - это проблема верификации этих модулей, необходимо доописать их состояния. Цитата Может организовать какое то подобие WATCHDOG TIMER Т.к. в ПЛИС логика параллельная, то нужно проверять отдельно все конечные автоматы и схемы с памятью. Причем метод диагностики будет зависить от конкретного модуля. Простого способа проверить, что что-то находится в невалидном состоянии - нет. Цитата Еще по поводу реализации резервирования (мажорирования) в пределах ПЛИС... Вручную это реализовать как то муторно и сложновато. Какие то отдельные узлы резервировать... Нельзя ли это как то автоматизировать на уровне языка, директив, пакетов проектирования? директива generate?
Сообщение отредактировал serjj - Jan 23 2015, 07:23
|
|
|
|
|
Jan 23 2015, 08:23
|
Участник

Группа: Участник
Сообщений: 23
Регистрация: 21-10-05
Пользователь №: 9 920

|
Цитата(serjj @ Jan 23 2015, 10:21)  Как она может зависнуть? Может возникнуть ошибка, например, в каком нибудь конечном автомате из-за неполного писания всех возможных состояний и переходов - зависнит автомат, а не прошивка. Но такую проблему нужно локализовать и дописать автомат а не резетить каждый раз всю систему... Может фильтр загудеть, но это проблема его устойчивости, т.е. алгоритмическая. ИМХО, если нет процессоров, то ПЛИС, если внешние условия не меняются, должна формировать резет для своей логики только 1 раз - по захвату внутренних PLL. А подвисания отдельных модулей в проекте - это проблема верификации этих модулей, необходимо доописать их состояния.
Т.к. в ПЛИС логика параллельная, то нужно проверять отдельно все конечные автоматы и схемы с памятью. Причем метод диагностики будет зависить от конкретного модуля. Простого способа проверить, что что-то находится в невалидном состоянии - нет.
директива generate? Под словом "подвисание" имелось ввиду изменение конфигурации в уже загруженной в ПЛИС и как следствие неправильная работа. Вот тут то и требуется переконфигурация. Или я что то не так понимаю и такая ситуация невозможна? Про состояния автоматов Вы совершенно правы. С этим справиться легко. Цитата(curly07 @ Jan 23 2015, 10:54)  Алексей, Virtex II снят с производства окончательно. По всем сусекам уже прошуршали. По миру их осталось очень мало. У самого производителя уже и кристаллы закончились. А те, которые сейчас предлагают - трех-пятилетней давности, хорошо, если еще нормально "реболлинг" сделан. К тому времени, как проект будет сделан, испытан, то микросхем уже совсем не будет. И Вам придется переделывать, правильно сказать, делать новый проект. Смотрите хотя бы на Virtex-5. VIRTEXII делает Китай, в том числе и в радстойком исполнении с документами. А Virtex-5 и т.д. в нужных исполнениях купить официально невозможно.
|
|
|
|
|
Jan 23 2015, 08:43
|
Участник

Группа: Участник
Сообщений: 68
Регистрация: 28-10-08
Пользователь №: 41 246

|
Цитата(Fransc @ Jan 23 2015, 11:23)  VIRTEXII делает Китай, в том числе и в радстойком исполнении с документами. А Virtex-5 и т.д. в нужных исполнениях купить официально невозможно. Вы про BQVR от т.н. BMTI?
|
|
|
|
|
Feb 25 2015, 12:17
|
Группа: Новичок
Сообщений: 1
Регистрация: 24-02-15
Пользователь №: 85 328

|
Цитата(curly07 @ Jan 23 2015, 12:43)  Вы про BQVR от т.н. BMTI? У китайцев есть еще Virtex2 (1000,3000) другого производителя, связанного с Китайской Академией Наук. Вроде даже подешевле. А еще одни ребята из Шанхая делают аналог Virtex4 pin2pin и аж bit stream compatible, как они сами хвастаются.
|
|
|
|
Сообщений в этой теме
Fransc Поделитесь опытом в плане надежности Jan 23 2015, 05:58   Fransc Цитата(curly07 @ Jan 23 2015, 11:43) Вы п... Jan 23 2015, 08:49    kot_ik Цитата(Eugene57 @ Feb 25 2015, 15:17) У к... Jan 26 2016, 09:44 Maverick Цитата(Fransc @ Jan 23 2015, 07:58) Еще п... Jan 23 2015, 07:36 curly07 Цитата(Fransc @ Jan 23 2015, 08:58) Испол... Jan 23 2015, 07:54 Torpeda Цитата(Fransc @ Jan 23 2015, 09:58) Как е... Jan 23 2015, 08:02 x736C Synplify Premier содержит пакет автоматизации. И М... Jan 23 2015, 08:09 x736C Возможно я сильно ошибаюсь. Теоретически можно сам... Jan 23 2015, 08:24 iosifk Цитата(Fransc @ Jan 23 2015, 08:58) Возмо... Jan 23 2015, 09:03 x736C Цитата(iosifk @ Jan 23 2015, 12:03) Все о... Jan 23 2015, 09:30  iosifk Цитата(x736C @ Jan 23 2015, 12:30) Лучше ... Jan 23 2015, 11:48   Torpeda Цитата(iosifk @ Jan 23 2015, 15:48) И сам... Jan 23 2015, 12:21 x736C Fransc, нашел такой документик. Прямо Ваш случай.
... Jan 23 2015, 12:25 yes у ксайлинса смотреть xapp779 (как раз для V II)
та... Jan 23 2015, 12:35 AndreiUS ЦитатаУ китайцев есть еще Virtex2 (1000,3000) друг... Aug 11 2015, 08:30 ilo Цитата(AndreiUS @ Aug 11 2015, 12:30) А В... Sep 2 2015, 12:29 Krys Интересно, китайские V2 можно применять в нашей во... Aug 14 2015, 07:58 bugdesigner Прошу прощения за оффтоп, но мне тоже интересно ка... Sep 3 2015, 03:56 Mogwaika А мне подскажите, нужно ли на втором виртексе трои... Sep 3 2015, 10:15
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|