Важная информация

User Tag List

Страница 1 из 271 12345 ... ПоследняяПоследняя
Показано с 1 по 10 из 2702

Тема: Цифровая археология: 1801 и все-все-все

  1. #1
    Guru Аватар для Vslav
    Регистрация
    31.03.2013
    Адрес
    г. Киев
    Сообщений
    2,413
    Спасибо Благодарностей отдано 
    132
    Спасибо Благодарностей получено 
    755
    Поблагодарили
    353 сообщений
    Mentioned
    86 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Цифровая археология: 1801 и все-все-все

    Наконец решил завести отдельную тему, посвященную реверс-инжинирингу микросхем серии 1801. Этот самый первый пост буду дополнять ссылками по мере успешного завершения очередного реверса, все ссылки соберутся в одном месте. Отдельный хостинг мне заводить и поддерживать напряжно, поэтому воспользуюсь ресурсом, любезно предоставленным товарищем (спасибо Woland-у и BarsMonster-y)

    Полностью закончен реверс таких микросхем:
    580ВМ80А
    1801ВП1
    1801ВМ1
    1801ВМ2
    LSI-11
    M4

    Результаты реверса процессоров PDP-11 выкладываются на github

    Фотографии:
    1801ВМ3 (металл, 640МБ)
    1515ХМ2-001 (600МБ)
    1515ХМ2-003 (500МБ)
    К581ИК1 (307МБ)
    К581ИК2 (307МБ)
    KM1527XM1-715 (590М)
    KM1527XM1-716 (620М)
    KM1527XM1-717 (704М)
    1806ВМ2 (257MB)
    580ВН59 (61MB)
    1811ВМ1 (105MB)
    1811ВУ1 (100MB)
    1811ВT1 (122MB)

    YM2148 (388MB)
    YM2148 (диффузия, 392MB)
    AY-3-8910 (435MB)
    580ВМ1 (184MB)

    Описание 1801ВМ1 (pdf)
    Схема 1801ВМ1А (pdf)
    Схема 1801ВМ1Г (pdf)
    Схема 1801ВМ2A (pdf)

    Сейчас "в работе" в разной степени готовности находятся:
    - 1801ВМ3, получены панорамы металла и диффузии, 95-процентная готовность схемы

    Несколько слов о процессе реверса, на примере микросхемы 1801ВМ1. Процесс состоит из нескольких этапов:

    - декапинг образца - извлечение кристалла из пластика, или вскрытие металлической крышки на керамическом корпусе. Выполнено, распилил штук 5 пластиковых процессоров и вскрыл один керамический.
    - серийное микрофотографирование верхнего слоя металлизации. Выполнено, получилось 307 снимков общим объемом 9 гигабайт, очень пригодилась самодельная однокоординатная мотоплатформа из старого DVD
    - сшитие снимков в панораму, выполнено - результирующая панорама 0.4 гигапикселя (осторожно - 500МБайт)
    - шлифовка верхнего слоя металлизации, выполнена - использовал "маникюрный набор" Dremel и зубную пасту
    - микрофотографирование открывшегося слоя диффузии, выполнено, получилась скромная серия из 90 снимков (снималось на другом объективе с меньшим увеличением)
    - сшитие панорамы слоя диффузии, выполнено (осторожно - 500МБайт)
    - векторизация слоев металлизации, поликремния, диффузии, выполнено
    - распознавание транзисторов, выполнено
    - перенос векторизованных слоев в PCAD-2004, выполнено
    - восстановление схемы с использованием механизма обратной аннотации, выполнено
    - перерисовывание схемы в "осознаваемый вид"
    - написание Verilog согласно полученной схемы
    - моделирование модуля процессора, выполнено
    - прогон заводских тестов 791401 и 791404 на модели, выполнено
    - переписывание модели в синхронную, для применения в FPGA, выполнено
    - адаптация модуля процессора с шины Q-bus на шину Wishbone, выполнено
    Последний раз редактировалось Vslav; 28.12.2020 в 23:45. Причина: обновление ссылок

  2. Эти 5 пользователя(ей) поблагодарили Vslav за это полезное сообщение:

    alex_nilov (04.02.2022), KACTET (21.08.2020), NEO SPECTRUMAN (26.10.2019), olegt (15.02.2022), SuperMax (24.04.2020)

  3. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  4. #2
    Guru Аватар для tnt23
    Регистрация
    28.03.2006
    Адрес
    Санкт-Петербург
    Сообщений
    2,633
    Спасибо Благодарностей отдано 
    384
    Спасибо Благодарностей получено 
    78
    Поблагодарили
    63 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Про мотоплатформу тоже интересно!

  5. #3
    Guru Аватар для Vslav
    Регистрация
    31.03.2013
    Адрес
    г. Киев
    Сообщений
    2,413
    Спасибо Благодарностей отдано 
    132
    Спасибо Благодарностей получено 
    755
    Поблагодарили
    353 сообщений
    Mentioned
    86 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от tnt23 Посмотреть сообщение
    Про мотоплатформу тоже интересно!
    Берем старый DVD. Достаем из него подвесную рамку для оптического блока. Сам блок перемещается по рамке вдоль одной оси (по радиусу CD/DVD диска), при помощи червячной передачи. Червячная передача приводится в действие шаговым двигателем. Вот его-то и удалось прицепить к самодельному контроллеру и перемещать блок при помощи нехитрой терминальной программы. Сам оптический блок достаточно сложен, внутри у него еще один маленький двигатель (не похож на шаговый, возможно линейный), оптика и кучка мелких деталей, но это никак не используется, весь блок целиком просто служит перемещаемой площадкой.







    "Мотоплатформа" крепится к столику микроскопа на двухсторонний скотч, исследуемый кристалл крепится к перемещаемой площадке тоже на скотч или пластилин. Дело в том что для получения хорошего фокуса по всей площади снимка кристалл должен быть перпендикулярен оптической оси объектива (без наклона). Если кристалл на скотче - то можно нажимать на тонкую жесть оптического блока DVD - она чуть гнется и можно выставить кристалл под нужным углом. Ну или на пластилине - он деформируется и держит форму (ниже на фото пластилин зеленый под розовой керамикой ВМ1, и я уже неплохим объективом Nikon разжился).



    В итоге, хотя координата перемещения одна, но это сильно ускоряет процесс получения серии снимкой. Фактически вместо кропотливого кручения ручки перемещения столика микроскопа я просто нажимаю клавиши '+/-' в терминальной программе и получаю гарантировано точное перемещение на фиксированный шаг. Ну фокус остается точно подстроить на каждом снимке и все. По другой координате перемещаем штатный столик микроскопа ручкой. Это требуется один раз на серию снимков (после фотографирования горизонтальной полоски) и не напрягает.

    Там я еще концевик положения прикрутил, но он практически не понадобился, только мешает, в итоге концевик убрал. Вся конструкция была собрана за половину выходного дня и обошлась примерно в $4. Периодически мониторю ebay на предмет заводского двухкоординатного моторизованного столика для микроскопа, но пока выкладывать минимум $400 жалко.
    Последний раз редактировалось Vslav; 09.09.2014 в 00:21.

  6. #4
    Moderator Аватар для MM
    Регистрация
    20.04.2013
    Адрес
    г. Павловский Посад
    Сообщений
    4,130
    Спасибо Благодарностей отдано 
    468
    Спасибо Благодарностей получено 
    516
    Поблагодарили
    410 сообщений
    Mentioned
    42 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Насчет платформы для фоткания - Зонд А5, например :,

    или ПМХТ - практически готовые девайсы, нуждаются в незначительной декомплектации ( иголки - в одно место... ).
    *
    Действительно, давно пора свиней с севера Москвы поставить на место. А то, видите ли, секретность не позволяет рассказать, какого хрена ВМ1 любит иногда зависнуть на стандартной частоте ...
    Последний раз редактировалось MM; 09.09.2014 в 00:25.

  7. #5
    Guru Аватар для Vslav
    Регистрация
    31.03.2013
    Адрес
    г. Киев
    Сообщений
    2,413
    Спасибо Благодарностей отдано 
    132
    Спасибо Благодарностей получено 
    755
    Поблагодарили
    353 сообщений
    Mentioned
    86 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от MM Посмотреть сообщение
    Насчет платформы для фоткания - Зонд А5
    Кстати у нас тут "Квазар-Микро" продает списанную установку Зонд-А5. Позвонить узнать цену что-ли. Но здоровая штука, ой.

  8. #6
    Moderator Аватар для MM
    Регистрация
    20.04.2013
    Адрес
    г. Павловский Посад
    Сообщений
    4,130
    Спасибо Благодарностей отдано 
    468
    Спасибо Благодарностей получено 
    516
    Поблагодарили
    410 сообщений
    Mentioned
    42 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Там есть и блоки механики отдельно - системный блок называется "ПМХТ" ( фото нетушки, "секретность", хрен отличить от огромного лампового осцилла, тоже с экранчиком ). Отдельный блок механики - ну по 80 кг, примерно. ТОстер ПМХТ может обеспечивать проверку ПМК на диодные структуры без измерительной стойки с Э-60 с доп. корзинками на 9 слотов.
    Платы в А5 и ПМХТ - идентичны на 85% по Э3.
    Конструкция Зонд А5 - под 200 кг в сборе. Движки - ШДР-721, 4 обмотки.( штука довольно приятная, однако ... ). ИМХО - 30W могут развивать, приблизительно.
    Выходные транзисторы шаговиков - КТ808А, ни на что другое не заменимы в связи с тяжелыми усовиями эксплуатации ( 120 в. имп, до 12 а. имп. ).

  9. #7
    R.I.P. Аватар для hobot
    Регистрация
    30.08.2011
    Адрес
    Зеленоград
    Сообщений
    7,161
    Спасибо Благодарностей отдано 
    2,979
    Спасибо Благодарностей получено 
    370
    Поблагодарили
    309 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vslav Посмотреть сообщение
    перемещать блок при помощи нехитрой терминальной программы.

    Можно вот этот момент немного подробней раскрыть,
    то есть меня конечно не исходник программы интересует, а
    применяемая ЭВМ, интерфейс подключения, язык программирования,
    или проглядел где-то уже упоминалось? Спасибо.
    Архив программ для УК-НЦ, ДВК и БК.

    Ищу игру "СТРАНА МОНСТРОВ" [monstr.sav] для ДВК.

  10. #8
    Moderator Аватар для MM
    Регистрация
    20.04.2013
    Адрес
    г. Павловский Посад
    Сообщений
    4,130
    Спасибо Благодарностей отдано 
    468
    Спасибо Благодарностей получено 
    516
    Поблагодарили
    410 сообщений
    Mentioned
    42 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    А я думал, что ШД будет прямо на ЛПТ висеть ( через транзисторные усилки ) -так обычно в программных ( рисовальных ) плоттерах делают :
    http://www.phantom.sannata.ru/forum/...5463&&st=0

  11. #9
    Guru Аватар для Vslav
    Регистрация
    31.03.2013
    Адрес
    г. Киев
    Сообщений
    2,413
    Спасибо Благодарностей отдано 
    132
    Спасибо Благодарностей получено 
    755
    Поблагодарили
    353 сообщений
    Mentioned
    86 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от hobot Посмотреть сообщение

    Можно вот этот момент немного подробней раскрыть
    На фотографии не плата контроллера, а самодельный программатор JTAG-USB на основе FT2232H, сам контроллер проприетарный (разработан в моей компании), я его специально на фото не отобразил. У меня на работе запускается примерно 3-4 прототипа в месяц, изделие обычно содержит какой-нибудь микроконтроллер ARM/Cortex и некоторое количество лампочек, кнопочек и всяких драйверов, в том числе шаговых двигателей. Поэтому я просто взял одну из уже ненужных прототипных плат и дописал в тестовую прошивку 100 строчек кода на C. Сама тестовая прошивка тысяч на 300 строчек, так что добавление было несложным .

    Код:
    //________________________________________________________________
    //
    #define MOT_ON      MS_TO_TICKS(10)
    #define MOT_OFF     MS_TO_TICKS(10)
    #define MOT_STEP    MS_TO_TICKS(2)
    
    static void io_mot_on(void)
    {
        tn_task_sleep(MOT_ON);
        IO_PORT_SET(_MOT);
        IO_PORT_SET(_SHH);
        tn_task_sleep(MOT_ON);
    }
    
    static void io_mot_off(void)
    {
        tn_task_sleep(MOT_OFF);
        IO_PORT_CLR(_MOT);
        IO_PORT_CLR(_SHH);
        tn_task_sleep(MOT_OFF);
    }
    
    static void io_mot_forward(void)
    {
        IO_PORT_SET(_SHH);
        //
        // Реализуем сдвиг маски
        //  PH2 PH1 ->  PH2 PH1
        //   0   0       1   0
        //   0   1       0   0
        //   1   0       1   1
        //   1   1       0   1
        //
        if (IO_PORT_IN(_PH1))
        {
            //
            //  PH2 PH1 ->  PH2 PH1
            //   0   1       0   0
            //   1   1       0   1
            //
            if (IO_PORT_IN(_PH2) == 0)
            {
                IO_PORT_CLR(_PH1);
            }
            else
            {
                IO_PORT_CLR(_PH2);
            }
        }
        else
        {
            //
            //  PH2 PH1 ->  PH2 PH1
            //   0   0       1   0
            //   1   0       1   1
            //
            if (IO_PORT_IN(_PH2) == 0)
            {
                IO_PORT_SET(_PH2);
            }
            else
            {
                IO_PORT_SET(_PH1);
            }
        }
    }
    
    static void io_mot_rewind(void)
    {
        IO_PORT_SET(_SHH);
        //
        // Реализуем сдвиг маски
        //  PH2 PH1 ->  PH2 PH1
        //   0   0       0   1
        //   0   1       1   1
        //   1   0       0   0
        //   1   1       1   0
        //
        if (IO_PORT_IN(_PH1))
        {
            //
            //  PH2 PH1 ->  PH2 PH1
            //   0   1       1   1
            //   1   1       1   0
            //
            if (IO_PORT_IN(_PH2) == 0)
            {
                IO_PORT_SET(_PH2);
            }
            else
            {
                IO_PORT_CLR(_PH1);
            }
        }
        else
        {
            //
            //  PH2 PH1 ->  PH2 PH1
            //   0   0       0   1
            //   1   0       0   0
            //
            if (IO_PORT_IN(_PH2) == 0)
            {
                IO_PORT_SET(_PH1);
            }
            else
            {
                IO_PORT_CLR(_PH2);
            }
        }
    }
    
    void io_motor_stage(void)
    {
        int Key, i;
    
        tst_printf("\r\n*** Motorized microscope stage controller ***");
        for(;;)
        {
            tst_printf("\r\nMOT>");
            Key = tst_getch();
            if (Key)
            {
                tst_putch(Key);
            }
            tn_task_sleep(1);
            switch(Key)
            {
                case 27:
                {
                    tst_printf("\r\nESC pressed");
                    break;
                }
                case '1':
                {
                    io_mot_on();
                    for(i=0; i<1; i++)
                    {
                        io_mot_forward();
                        tn_task_sleep(MOT_STEP);
                    }
                    io_mot_off();
                    break;
                }
                case '2':
                {
                    io_mot_on();
                    for(i=0; i<1; i++)
                    {
                        io_mot_rewind();
                        tn_task_sleep(MOT_STEP);
                    }
                    io_mot_off();
                    break;
                }
                case '+':
                {
                    io_mot_on();
                    for(i=0; i<10; i++)
                    {
                        io_mot_forward();
                        tn_task_sleep(MOT_STEP);
                    }
                    io_mot_off();
                    break;
                }
                case '-':
                {
                    io_mot_on();
                    for(i=0; i<10; i++)
                    {
                        io_mot_rewind();
                        tn_task_sleep(MOT_STEP);
                    }
                    io_mot_off();
                    break;
                }
                case '?':
                {
                    tst_printf(
                        "\r\n + - forward 10 steps"
                        "\r\n - - rewind 10 steps"
                        "\r\n ? - Help message");
                    break;
                }
            }
        }
    }
    Если у меня не было такой готовой и освоенной платы под рукой, то я бы взял что-нибудь из отладочных комплектов с модулем управления шаговиком. Возможно что-то из области Arduino, хотя AVR-ы после ARM-ов у меня вызывают идиосинкразию. Можно и без контроллера, напрямую прикрутить драйвер шагового двигателя к тому же USB-модулю на FT2232 и рулить прямо из PC-шного приложения.

    Цитата Сообщение от MM Посмотреть сообщение
    Конструкция Зонд А5 - под 200 кг в сборе.
    Крупная штука, это уже надо в частном доме жить, чтобы такое у себя заиметь. И кажется микроскоп там слабоват по увеличению - там надо же просто зондом попасть в тестовую площадку, x20-x40 достаточно. Если я когда-нибудь в отдельный дом переберусь, то я уже буду хотеть что-нибудь из б/у электронных микроcкопов.
    Последний раз редактировалось Vslav; 09.09.2014 в 10:13.

  12. #10
    Guru Аватар для MiX
    Регистрация
    13.12.2013
    Адрес
    г. Санкт-Петербург
    Сообщений
    3,065
    Спасибо Благодарностей отдано 
    34
    Спасибо Благодарностей получено 
    74
    Поблагодарили
    62 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Фото матрицы.

    Скрытый текст

    [свернуть]


    Судя по рисунку возможно эта маска для микросхем памяти.

Страница 1 из 271 12345 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Ответов: 7
    Последнее: 28.06.2014, 17:50
  2. Микросхемы МПК 580,1801,1810 и другие...
    от Alex_Vac в разделе Барахолка (архив)
    Ответов: 44
    Последнее: 07.04.2012, 08:03
  3. ЦИФРОВАЯ МУЗЫКА НА ZX
    от AAA в разделе Музыка
    Ответов: 98
    Последнее: 18.09.2011, 22:33
  4. Учебный стенд УМПК-1801
    от dk_spb в разделе ДВК, УКНЦ
    Ответов: 2
    Последнее: 12.05.2010, 16:52
  5. Цифровая музыка от Вадима Ермеева
    от zxmike в разделе Музыка
    Ответов: 2
    Последнее: 06.08.2007, 23:13

Метки этой темы

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •