|
|
  |
Вопрос о возможности декомпиляции ПЛИС |
|
|
|
Feb 13 2011, 16:32
|
Участник

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

|
dvladim, а чем может помочь дизассемблированная прошивка контроллера, переведенная с уровня набора мнемоник команд на уровень диаграммы алгоритма выполнения программы? Мне это иногда помогает, путем изменения данных прописанных во внешней EEPROM, и хранящей данные о режимах работы узлов контроллера и самого аппарата, заменить ремонт с блочного уровня на компонентный, при котором даже паяльник не приходится брать в руки. При этом стоимость ремонта для владельца аппарата снижается в два раза, а у меня в разы сокращается время ремонта. Имея перед собой только блок-схему, для ремонта полезна любая информация. Особенно тогда, когда ремонтируемый тобой аппарат ты видишь первый раз в жизни, а твои аргументы о том, что ты не знаешь как ОНО работает, не воспинимаются как веская причина для отказа в ремонте.
Кстати, в медицине, для диагностики заболевания, и выбора правильной методики лечения (а ремонт, в некоторой степени, тоже похож на лечение), далеко не всегда достаточно наблюдать внешние признаки проявления заболевания, и иметь данные о температуре пациента, почти всегда приходится принимать во внимание данные о моче и кале, но мало у кого возникают вопросы о том зачем доктору нужно в дерьме ковыряться.
|
|
|
|
|
Feb 13 2011, 18:28
|
Знающий
   
Группа: Участник
Сообщений: 959
Регистрация: 11-01-06
Из: Санкт-Петербург
Пользователь №: 13 050

|
Цитата(AALEGYR @ Feb 13 2011, 16:34)  Чтобы оценить уровень поддержки ремонтника со стороны производителя техники прикрепляю две картинки. Хотелось бы услышать как глядя на это можно определится с причиной неисправности , зная что собака роется именно тут, а ремонт на уровне замены платы обойдется владельцу в 70-80% цены нового аппарата (или в 30 000 рублей)? это больше смахивает на блок-схему, к которой должна быть схема электрическая принципиальная с цоколевкой микросхем и межблочных разъемов. И в сервис-мануале осциллограммы ключевых точек, для разных режимов до нескольких картинок. (на манер SM для тех же сотовых). Ведь разработчик как-то это спроектировал и настроил.. А глядя на структурку в ФПГА можно только пофантазировать - как и что туда влепил программист. Без тестовых эпюр даже исправность выводов проверить слабореально..
|
|
|
|
|
Feb 13 2011, 19:57
|
Знающий
   
Группа: Свой
Сообщений: 654
Регистрация: 24-01-07
Из: Воронеж
Пользователь №: 24 737

|
Цитата(AALEGYR @ Feb 13 2011, 19:32)  dvladim, а чем может помочь дизассемблированная прошивка контроллера, переведенная с уровня набора мнемоник команд на уровень диаграммы алгоритма выполнения программы? Да не будет у вас алгоритма. Даже для получения нетлиста затраты огромны. Именно это все и пытаются вам сказать. В сухом остатке следующее: документации на битстрим нет, софта - тоже нет, трудоемкость высока, максимум что можно получить в результате - голый нетлист. Но если чужое мнение вас не убедило - то успехов. Как сказал когда-то SM "используя чип-эдитор и хекс-эдитор все можно поднять".
|
|
|
|
|
Feb 13 2011, 21:02
|
Участник

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

|
Цитата Для проиводства ремонтных работ овчинка совершенно не стоит выделки. Ну почему, когда овчинка стоит несколько тысяч баксов, и владелец этой овчинки готов платить 50% от стоимости овчинки, то на ремонт только одной овчинки можно потратить месяц, и не беспокоится, что за этот месяц ты ничего не заработаешь. Особенно зная, что текущие ремонты, то есть те на которые ты сегодня живешь, занимают у тебя 25% рабочего времени. Кроме того, для ремонта не нужно слизывать все, ибо ремонтник не собирается заниматься производством и продажей. Для ремонта почти всегда хватает зацепки за один конец ниточки, и через этот конец найти где собака порылась. Цитата Прислушайтесь к совету о замене ПЛИС. Дельный совет, по-моему. ПЛИС можно менять если есть уверенность, что она и является причиной дефекта. Но практика показывает, что это далеко не всегда так. Гораздо чаще причиной дефекта является то что к ней подключено. Цитата это больше смахивает на блок-схему, к которой должна быть схема электрическая принципиальная с цоколевкой микросхем и межблочных разъемов. Так на первом листе, в верхнем левом углу написано что это Block Diagrams. Ну а за ней в документации представлена только Frame Wiring, то что Вы назвали схемой межблочных разъемов. Цитата Да не будет у вас алгоритма. Даже для получения нетлиста затраты огромны. Именно это все и пытаются вам сказать. dvladim, так это мои затраты, и не стоит из-за этого так сильно переживать. Лучше бы подсказали, если знаете, как и чем подобные вопросы решаются с другими типами ПЛИС и с другими производителями?
|
|
|
|
|
Feb 13 2011, 21:57
|
Частый гость
 
Группа: Свой
Сообщений: 108
Регистрация: 6-08-05
Из: Винница
Пользователь №: 7 407

|
Цитата(AALEGYR @ Feb 14 2011, 01:02)  Ну почему, когда овчинка стоит несколько тысяч баксов, и владелец этой овчинки готов платить 50% от стоимости овчинки, то на ремонт только одной овчинки можно потратить месяц, и не беспокоится, что за этот месяц ты ничего не заработаешь. Особенно зная, что текущие ремонты, то есть те на которые ты сегодня живешь, занимают у тебя 25% рабочего времени. Кроме того, для ремонта не нужно слизывать все, ибо ремонтник не собирается заниматься производством и продажей. Для ремонта почти всегда хватает зацепки за один конец ниточки, и через этот конец найти где собака порылась. Это столько НЕ стоит. Стоит ЗНАЧИТЕЛЬНО (на порядок, как минимум) дороже. И на такое ходят не в одиночку. И НЕ всё - невозможно! Или всё - или ничего. И это намного дольше - не на месяц! На ТАКОМ "ремонте" - не заработаешь. Цитата(AALEGYR @ Feb 14 2011, 01:02)  ПЛИС можно менять если есть уверенность, что она и является причиной дефекта. Но практика показывает, что это далеко не всегда так. Гораздо чаще причиной дефекта является то что к ней подключено.. Да. Верно. Но имеющий уши да услышит первое (см. выше) С извинениями Adv.
|
|
|
|
|
Feb 13 2011, 23:46
|
Участник

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

|
Цитата Это столько НЕ стоит. Стоит ЗНАЧИТЕЛЬНО (на порядок, как минимум) дороже. И на такое ходят не в одиночку. И НЕ всё - невозможно! У каждого свои тараканы в голове. Да и понятие стоимости у каждого свое. Я вот тоже не думаю, что стоимость ByteBlaster II у производителя должна быть равна розничной стоимости сотового телефона со встроенным телевизором и ЧМ приемником, или стоимости электронной книжки с цветным 7-и дюймовым дисплеем и мультимедийными функциями. Но видя прайсы на то и другое, я не сомневаюсь, что стоимость платки с однобаксовой микросхемой может быть равна стоимости платки с несколькими взросыми ПЛИС и парой контроллеров. Ну а по поводу "на такое ходят не в одиночку" могу сказать, что я рад бы встретить подобных мне энтузиастов, но они мне пока не попадаются.  Цитата Теоретически вопрос решаем только с микросхемами фирмы Xilinx. В среде ISE есть возможности ручного редактирования логики и внутренних соединений, а значит можно методом "проб и ошибок" сопоставить bitstream с внутренней прошивкой микросхемы. rloc, спасибо за информацию. Тем более что плисы Xilinx тоже используются в моей аппаратуре.
|
|
|
|
|
Feb 14 2011, 00:30
|
Частый гость
 
Группа: Свой
Сообщений: 108
Регистрация: 6-08-05
Из: Винница
Пользователь №: 7 407

|
Цитата(AALEGYR @ Feb 14 2011, 03:46)  У каждого свои тараканы в голове. Именно. Раз сходивший по этому пути не пойдёт по нему вторично. Удач.
|
|
|
|
|
Feb 14 2011, 04:23
|
Вечный ламер
     
Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453

|
Цитата(AALEGYR @ Feb 13 2011, 17:46)  Ну а по поводу "на такое ходят не в одиночку" могу сказать, что я рад бы встретить подобных мне энтузиастов, но они мне пока не попадаются.  потому что их нет. задача реверс инженеринга по нетлисту бессмысленна. Вам уже советовали сгенерировать простейший нетлист для сыклона и посмотреть в каком мусоре вы будете копаться. Это не считая кросс-соединений. Реверсить криптованные корки, верификационные модели смысл есть, а нетлист никакого. Для клонирования изделия достаточно сделать полный аналог и украсть прошивку. ЗЫ. Как уже говорил, если реализуете для ПЛИС класса третьего сыклона, подавайте на нобелевку. И небольшой совет, не сравнивайте ПЛИС и МК, это совершенно разного поля ягоды.
--------------------
|
|
|
|
|
Feb 14 2011, 04:57
|
Местный
  
Группа: Свой
Сообщений: 474
Регистрация: 20-01-09
Из: НН
Пользователь №: 43 639

|
Если Вам нужна принципиальная схема внутри ПЛИС, попросите RTL схему у разработчиков, пускай они ее Вам сгенерят. Ну подпишете NDA, в любом случае, RTL с одной стороны дает уровень детализации, с другой стороны, не особо раскрывает секреты. Правда если дизайн сложный, от RTL схемы толку мало, так как она сама выглядит монстроидально.
Если отвлечься от темы "хочу исходник из битстрима", вопрос к топикстартеру, хорошо получили Вы исходник, дальше что? Чтобы оттестировать так, как Вы хотите, надо влезть в исходник, вставить тест сигналы и вытащить их на внешние пины, а затем внешним оборудованием поймать и проверить, работает там чего или нет. Но даже такая простая задача как добавление сигналов в дизайн, может потребовать от Вас незаурядных знаний программиста ПЛИС. Если есть связь с разработчиками, можно попросить их сгенерировать пару тройку или даже десяток тест дизайнов, которые выдают промежуточные сигналы на нужные пины.
Конечно, если связь с исходниками утеряна, есть только голый битстрим. Ну да, требуется нечто на уровне искусственного интелекта, который будет подставлять стандартные решения под наборы сигналов. Но тут тоже вопросы, а если программист с вывихом в голове, а такие через одного. Каждый хочет выпендриться особой фишкой, толку от которой мало, но типа "мой особый стиль". Тут то искусственный интелект попыхтит конкретно.
--------------------
пользователь отключен
|
|
|
|
|
Feb 14 2011, 05:48
|

Adept
     
Группа: Свой
Сообщений: 3 469
Регистрация: 6-12-04
Из: Novosibirsk
Пользователь №: 1 343

|
Цитата(AALEGYR @ Feb 14 2011, 03:02)  ПЛИС можно менять если есть уверенность, что она и является причиной дефекта. Но практика показывает, что это далеко не всегда так. Гораздо чаще причиной дефекта является то что к ней подключено. Попробуйте выяснить по служебным сигналам (nSTATUS, CONF_DONE, DATA0, DCLK, nCONFIG и т.д.) живая ПЛИСка хотя бы на этом уровне. Т.е. грузится или нет, пытается ли грузиться. Это поведение документировано и не зависит от потрохов ПЛИС. Если тут будет видно, что не работает, то менять её, и все дела. Если есть подозрения на то, что не работает тот или иной пин - например, вышибло статикой, то это тоже можно проверить. Для этого можно в том же квартусе слепить простейший дизайн - например, счетчик, и вывести один из его выходов (по вкусу, от этого частота будет зависеть) на тестируемый пин, который, конечно же, сконфигурировать на выход. Аналогичным способом можно проверить функциональность вывода на вход - подать сигнал снаружи, вывести на другой пин. Конечно, это потребует необходимости разобраться с азами САПРа (Квартуса) и обзавестись байт-бластером (можно изготовить самому на макетке, там разъёмы, несколько резисторов и буфер). Но это несоизмеримо проще, чем даже разбираться в логике дизайна, когда у вас есть сорцы, не говоря уже о том, чтобы поднять логику работы из низкоуровневого нетлиста, который ещё надо получить. И при этом даже не нужно будет изучать HDL - достаточно будет в графическом редакторе квартуса нарисовать схемку, сам редактор очень простой. Внутренние дефекты ПЛИС, которые этими двумя способами отловить тяжело, возникают крайне редко.
--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|