Ищу какую-нибудь автоматизацию перевода платы в схему (Реверс-инжиниринг старых плат)

Все, что не подходит под определение "старого софта и железа", обсуждается здесь
Parasite
Newbie
Сообщения: 77
Зарегистрирован: 20.11.2013,09:22

Ищу какую-нибудь автоматизацию перевода платы в схему

Сообщение Parasite » 13.12.2013,13:05

Реверс-инжиниринг старых плат

Приветствую.

Интересует какая-нибудь автоматизация "реверс-сборки" платы (из готовой рабочей платы - в схему, и далее если повезет - в VHDL). Ручками оно всё конечно делается - но очень медленно, и схема хоть и получается, но визуально зело корявая и трудная для чтения. Особенно если на плате - с пару сотен корпусов мелкой логики типа 155й серии...:(

Вопрос интересует в общем и целом, без привязки к конкретному изделию. Есть ли какие-нибудь иные пути решения задачи, кроме как тянуть каждую дорожку ручками в Eagle? :(
Вот для подобной задачи на уровне кристаллов - есть например софт deGate, но вот на уровне готовых плат и изделий - прошу помощи у сообщества.

Спасибо.

LEON
Member
Сообщения: 185
Зарегистрирован: 18.03.2008,07:43
Откуда: Московская обл.
Контактная информация:

Сообщение LEON » 13.12.2013,13:15

Честно говоря, маловероятно. Из каких соображений программа будет строить вам красивые УГО элементов и располагать их в удобоваримом для чтения варианте? Поэтому ручками, ручками, бегаете по дорожкам и восстанавливаете схему. Или, что более верно как мне кажется - если знаете как работает прототип платы, то сразу в VHDL пишите.
А вообще интересно посмотреть на плату с парой сотен корпусов 155 :)

Parasite
Newbie
Сообщения: 77
Зарегистрирован: 20.11.2013,09:22

Сообщение Parasite » 13.12.2013,13:45

LEON писал(а):Из каких соображений программа будет строить вам красивые УГО элементов и располагать их в удобоваримом для чтения варианте?
Например из тех же, из каких любой вменяемый xCAD делает обратную задачу - по схеме оптимизирует расположение корпусов на плате с учетом минимализации числа переходов и длины дорожек. Опять же, deGate ж это как-то делает - но только с кристаллами.....
А дорожки растяну я, так и быть - ручками (хотя, по идее - OCR и векторизацию еще никто не отменял).
LEON писал(а):Или, что более верно как мне кажется - если знаете как работает прототип платы, то сразу в VHDL пишите.
Дак вот не знаем, к сожалению. Посему - нужна схема, и желательно - безошибочная (глядишь - и до реплик дорастем). :)
LEON писал(а):А вообще интересно посмотреть на плату с парой сотен корпусов 155
Да не вопрос. И там далеко не только одни 155е - там и Z80, и Ямахи, и мотороловские камни в виде "доп.процессоров"....
Изображение



Гость

Сообщение Гость » 13.12.2013,13:58

Parasite писал(а):Интересует какая-нибудь автоматизация "реверс-сборки" платы (из готовой рабочей платы - в схему, и далее если повезет - в VHDL). Ручками оно всё конечно делается - но очень медленно, и схема хоть и получается, но визуально зело корявая и трудная для чтения.
Интересно, как такая прога справится с многослойными платами и металлизацией via-holes? Рентген-аппарат в комплекте?!?

Обычную, двустороннюю можно закинуть на сканер и обрисовать в *каде, позже добавить "прототип-чипов" и конвертнуть в схему, не так и сложно. А со многослойкой как? Топором нарубать??

Parasite
Newbie
Сообщения: 77
Зарегистрирован: 20.11.2013,09:22

Сообщение Parasite » 13.12.2013,14:40

Fe-Restorator писал(а):как такая прога справится с многослойными платами и металлизацией via-holes? Рентген-аппарат в комплекте?!?
Это как раз самая простая часть - и она давно выполнена. Имеются картинки дорожек платы по всем слоям, при необходимости - могут быть векторы из них же.

Проблема собственно в получении внятной схемы (разрисовке логики и прочего из всех этих мелких корпусов "на бумагу"), учитывая имеющиеся дорожки с платы.

LEON
Member
Сообщения: 185
Зарегистрирован: 18.03.2008,07:43
Откуда: Московская обл.
Контактная информация:

Сообщение LEON » 13.12.2013,15:26

Parasite писал(а):...по схеме оптимизирует расположение корпусов на плате...
Это разные задачи. При трассировке вы сами задаете соответствие схемного элемента и его корпуса, далее программа просто управляет правилами геометрии - оптимизирует нужные линии, расставляет кучеряво корпуса и прочее. А вам то нужно получить схему из набора связей между точками, и то, предварительно такой массив как-то нужно срисовать с платы. Как вам программа нарисует УГО резистора исходя из двух падов? А микросхему, да так, чтобы в итоге схема еще и читалась? Поэтому ручками :)

Parasite
Newbie
Сообщения: 77
Зарегистрирован: 20.11.2013,09:22

Сообщение Parasite » 13.12.2013,16:13

LEON писал(а):Это разные задачи.
Я понимаю. Но ведь хочется же! :)
LEON писал(а):нужно получить схему из набора связей между точками, и то, предварительно такой массив как-то нужно срисовать с платы.
Я согласен его вбить в программу. Ручками. Как таблицу соединений "Отсюда<->туда" плюс расчиповку\разноговку корпусов. Я, собссно, именно этим сейчас и занимаюсь.
То есть, программа таки БУДЕТ иметь схему. Просто оная будет нечитаема человеком но читаема программой (ибо ей плевать на читаемость и визуальную составляющую). Ведь даже тот же простейший Eagle уже начинает орать мне на то, что у чипа который я начал отрисовавать (выбранного из базы программы - то есть, оная знает где у него что) - еще не подключены те и вон те ноги, итд... При продолжении рисования соединений к другим ногам - вопли уменьшаются вплоть до прекращения... То есть, он прекрасно знает, как оно должно быть (при нуле варнингов).

Я, наверное, не слишком точно выразился вначале: я не прошу от программы сделать вообще всё, лишь тупо показав ей плату издалека - я прошу лишь программу, которая просто отрисует (читай: сгенерирует красивую картинку) схему пред мои глазки. Красиво. А все начальные данные (чиповку, монтажку, таблицу соединений и проч) я в нее, разумеется - введу сам. Я не думаю, что задача "Взять из базы известный чип, отрисовать его на поле, и органично обрулить векторами дорожек согласно введенных юзером в таблицу". Это ведь совершенно равносильно разводке собственно платы со введенной схемы - там ведь точно то же самое: чипы (известные программе)+таблица соединений (введенная со схемы) -> генерируем печатку.
Не вижу ну совершенно никакой технической проблемы в обратном процессе, так как он изначально "беспотерьный" - и никакие исходные данные не теряются, кроме камментов на исходной схеме. Те же кады автоматом полностью всю тех.документацию могут выдать...Приближаясь к программингу - это даже не дизассемблировать программу (так как компиляция таки есть процесс с безусловной "потерей исходника" - в отличие от разводки числа соединений), это как раззиповать архив обратно. :)

Но другой вопрос - в том, что официально такой программы быть не может: она влет нарушит целую кучу разных патентов и прочей копирастии, ибо и так понятно для чего оная может понадобиться... для невозбранного заимствования из чужих и уже рабочих и отлаженных решений. :((

Гость

Сообщение Гость » 14.12.2013,00:41

Parasite писал(а):разрисовке логики и прочего из всех этих мелких корпусов "на бумагу"
Т.е. ты хочешь автоматом дробить чипы на DD1.1, DD1.2, ... и т.д.? Сильно. При 150 корпусах по 4 (в среднем) элемента в каждом - думаю, ты потом замаешься определять в каком углу схемы притаился очередной кусок (.y) очередного "DDx".

Parasite
Newbie
Сообщения: 77
Зарегистрирован: 20.11.2013,09:22

Сообщение Parasite » 14.12.2013,07:11

Fe-Restorator писал(а):Т.е. ты хочешь автоматом дробить чипы на DD1.1, DD1.2, ... и т.д.? Сильно. При 150 корпусах по 4 (в среднем) элемента в каждом - думаю, ты потом замаешься определять
Именно. В том числе.
А теперь представь как я замаялся делать ровно то же самое, но ручками. :)
Плюс, при малейшей необходимости передвинуть какой-то элемент на уже готовой схеме - за ним тянется всё больше и всё длиннее дорожек, и приходится "раздвигать" уже готовые другие части схемы....всё опять же ручками. Вот я и хочу хоть какую-то автоматизацию хотя бы этого участка работы.

А то, что потом на схеме искать - так это не беда. Схема большая сама по себе, искать так и так придется.

Аватара пользователя
alecv
Advanced Member
Сообщения: 6993
Зарегистрирован: 05.10.2004,11:13
Откуда: Санкт-Петербург
Контактная информация:

Вклад в сообщество

Сообщение alecv » 14.12.2013,09:51


Parasite
Newbie
Сообщения: 77
Зарегистрирован: 20.11.2013,09:22

Сообщение Parasite » 14.12.2013,15:07

alecv писал(а):вот тут немного
Не. Совсем не в тему.
Там просто про то, как перегнать рисунок платы с плохой бумаги в хороший редактор. Ни слова и ни намека о том, как их нее сделать схему (да и схема там изначально есть).

Мне же надо из вот такого (из готового изделия, которое можно подержать в руках):
Изображение
сделать вот такое (красивую, хорошую, годную схему):
Изображение
То есть - ровно наоборот из того, что расписано в той статье. :)

PS: платы\схемы взяты просто как пример. У меня, разумеется - другие.

Ответить