Сообщения без ответов | Активные темы Текущее время: 28 мар 2024, 18:01



Ответить на тему  [ Сообщений: 305 ]  На страницу Пред.  1, 2, 3, 4, 5 ... 16  След.
 64 квадратных миллиметров счастья 
Автор Сообщение
Сообщение 27 май 2013, 09:31
Профиль ICQ WWW
Аватара пользователя

Зарегистрирован:
24 июл 2007, 10:41
Сообщения: 570
Спасибо за фотки!

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

Главное - разобраться как тут формируются транзисторы. Как я понимаю слоев металла - 2. И не понятно как они соединяются с полисиликоном. Например такое впечатление, что тоненькие провода в логике просто "намазаны" сверху без всяких контактов.

-- 27 май 2013, 10:49 --

Михаил прислал пример фото на 20x, я немного покопал там.
Чип сделан по принципу CBIC (cell-based IC). То есть в некой среде (подозреваю что в SPICE) на базе "стандартных клеток" (standard cells) организованы ряды логических элементов с межсоединениями.
То есть задача разбора значительно упрощается тем, что достаточно разобрать стандартные блоки и узнать где у них хвост, где грива.

Естественно блоки памяти сделаны кастомно, вот тут написано как делается это на пальцах:
http://pdfsb.com/readonline/5a565241656 ... 68566b593d


Вложения:
1.jpg
1.jpg [ 273.04 КБ | Просмотров: 13881 ]
Сообщение 27 май 2013, 15:56
Профиль ICQ WWW
Аватара пользователя

Зарегистрирован:
24 июл 2007, 10:41
Сообщения: 570
Сделал первичную разводку питания + обозначил контакты.
В первом приближении чип даже проще, чем 6502. Потому что разработка велась не руками, а в CAD. Соответственно и обратная разработка должна быть проще в плане восстановления блоков.

Изображение
(Картинка по ссылке 15 метров)

Территориально чип разделен на 4 большие части. По середине снизу-вверх идёт какой-то неидентифицированный толстый провод, похоже на RESET.


Сообщение 27 май 2013, 17:49
Профиль

Зарегистрирован:
18 янв 2009, 14:20
Сообщения: 805
Круто! :)
org, а пользу-то какую-нибудь получится извлечь?


Сообщение 27 май 2013, 18:08
Профиль ICQ WWW
Аватара пользователя

Зарегистрирован:
24 июл 2007, 10:41
Сообщения: 570
Если получиться аккуратно снять по очереди два слоя металла, при этом не повредив полисиликон и добраться до слоя диффузии, то узнаем как работает проц. Верхний слой металла уже можно трассировать без проблем. Ждём фотки в 20x.
Меня интересует как работает GTE, остальное смотреть пока не планирую, ещё есть незаконченные дела с NES.


Сообщение 27 май 2013, 18:47
Профиль

Зарегистрирован:
28 ноя 2012, 17:56
Сообщения: 63
edgbla писал(а):
Круто! :)
org, а пользу-то какую-нибудь получится извлечь?


Я, как главный затеватель декапа чипов PS1 хочу восстановить всю логическую схему, понять как он работает и, возможно, написать самый медленный эмулятор PSX из всех возможных =D

Главная цель - восстановить логическую схему.


Сообщение 27 май 2013, 19:14
Профиль

Зарегистрирован:
18 янв 2009, 14:20
Сообщения: 805
Отлично, частично нам значит по пути. :)


Сообщение 28 май 2013, 12:24
Профиль

Зарегистрирован:
28 ноя 2012, 17:56
Сообщения: 63
edgbla писал(а):
Отлично, частично нам значит по пути. :)


А есть какой-нибуть список того что сейчас осталось спорного и непонятного в устройстве PS1? Чтобы в эту сторону копать в первую очередь?


Сообщение 28 май 2013, 17:36
Профиль ICQ WWW
Аватара пользователя

Зарегистрирован:
24 июл 2007, 10:41
Сообщения: 570
Практически всё.
Особенно неизвестно назначение регистров тайминга и прочих регистров конфигруации, которые инициализируются при загрузке BIOS (так называемые "delay"-регистры).
Неизвестно назначение непонятного регистра 0xFFFE0130 (или как-то так), есть предположения что он управляет работой кеша.
Точные алгоритмы декодирования MDEC тоже неизвестны (таблица квантизации в частности).
Есть вопросы по root counters (хотя edgbla провёл исследование, всё равно интересно как они на самом деле работают).
Много пробелов в системном сопроцессоре (CP0). Ну и естественно GTE.
Поле для деятельности необъятное.


Сообщение 03 июн 2013, 18:48
Профиль

Зарегистрирован:
28 ноя 2012, 17:56
Сообщения: 63
Склейка процессора идет полным ходом. С моей стороны на данный момент склеено 106 картинок из 831 (примерно 1/8 чипа). Размер получается около 30000 пикселей на сторону.

Изображение

Орг разбил весь чип на 19 кусков и сейчас занят трассировкой куска 2-4. Ну думаю он сам лучше отпишется, когда будет что показать.

Изображение


Вложения:
7B10F9943EADC4671603A6BCC0D3CE34.jpg
7B10F9943EADC4671603A6BCC0D3CE34.jpg [ 178.54 КБ | Просмотров: 14014 ]
psxcpu.jpg
psxcpu.jpg [ 48.46 КБ | Просмотров: 14014 ]
Сообщение 05 июн 2013, 15:41
Профиль ICQ WWW
Аватара пользователя

Зарегистрирован:
24 июл 2007, 10:41
Сообщения: 570
Рапортую о первых результатах трассировки подопечного кусочка 2-4, в левом-нижнем углу:

Изображение

Высокое разрешение : http://breaknes.com/files/PSX/24_trans.jpg

Трассировка ведется непринужденно, практически все провода - прямые. Небольшие проблемы вносят искажения после склейки, особенно коряво получились места помеченные белой волнистой линией - там беда.
Качество фотографии позволяет даже трассировать полисиликоновые межсоединения.
Прикол в том, что металл и полисиликон соединяются исключительно под прямым углом, поэтому разобраться куда ведет шланг не составляет труда.

4 больших квадратных блока - идентичные по структуре. Структурно каждый из этих 4 блоков поделен на 4 части : входная, контроль, логика и выходная. На входную логику поступает 16 x 4 входов, на выходе - 16 разрядов результата.
На контроль поступает ещё 4 шланга, при этом на одних блоках эти шланги отсоединены, а на одном - 2 шланга подведены на VCC.
_Очень_ похоже что это full adders x 4, если принять 4 контрольных входа за входные разряды переноса (carry)

Также я пометил ячейки с логикой, всего я насчитал порядка 230 штук. После того, как я пометил границы ячеек, стало понятней что с чем соединяется. Ячейки на самом деле не совсем "стандартные", а являются миксом CMOS-топологии, оптимизированной в ручную. То есть наверняка используются стандартные приемы, но в целом эти ячейки состоят из нескольких вентилей, объединенных в один блок. По крайней мере 2-х одинаковых ячеек я не нашёл.

Теперь стало совершенно понятно, что у процессора нет четких границ между функциональными блоками и схема равномерно "размазана" между ячейками, которые соединены между собой металл/полисиликоновыми межсоединениями.

Кстати, если примерно масштабировать количество ячеек на весь процессор, то получается около 10000 ячеек.
Если примерно прикинуть, что на каждую ячейку приходится по 5-6 логических вентилей, а в каждом вентиле - по 4-5 транзисторов, то получается что вся логика процессора составляет примерно 250к транзисторов (сравнить с 3500 транзисторами MOS 6502).


Сообщение 05 июн 2013, 15:45
Профиль WWW
Аватара пользователя

Зарегистрирован:
26 май 2013, 23:44
Сообщения: 5
Для того, чтобы было меньше искажений на стыке кадров, и нужно было запрещать поворот картинок при оптимизации в Hugin-е.

-- 05 Jun 2013, 15:47 --

org писал(а):
4 больших квадратных блока - идентичные по структуре. Структурно каждый из этих 4 блоков поделен на 4 части : входная, контроль, логика и выходная. На входную логику поступает 16 x 4 входов, на выходе - 16 разрядов результата.
На контроль поступает ещё 4 шланга, при этом на одних блоках эти шланги отсоединены, а на одном - 2 шланга подведены на VCC.
_Очень_ похоже что это full adders x 4, если принять 4 контрольных входа за входные разряды переноса (carry)


Я бы скорее сказал, что это регистровые файлы какие-то или многопортовая память.
Full-adder-ы гораздо меньше по площади должны быть.

_________________
Microchip internals: http://zeptobars.ru/


Сообщение 05 июн 2013, 16:09
Профиль ICQ WWW
Аватара пользователя

Зарегистрирован:
24 июл 2007, 10:41
Сообщения: 570
Было подозрение что это 16 x 4 регистра GTE, но тогда зачем столько входов ?
У регистра обычно один вход, один выход и 2 управляющих провода (Get/Set).
К тому же я имею ввиду что это не обычные full addres Z = A + B + carry , а full addres x 4 : Z = A + B + C + D + carry1 + carry2 + carry3 + carry4.
Дело в том, что у GTE частенько используется умножение матрицы на вектор : MAC1=A1[TRX + R11*VX0 + R12*VY0 + R13*VZ0]

Хотя тогда должны быть Carry out выходы ещё.

Цитата:
Для того, чтобы было меньше искажений на стыке кадров, и нужно было запрещать поворот картинок при оптимизации в Hugin-е.
Без поворота ещё хуже получалось :(


Сообщение 05 июн 2013, 16:17
Профиль WWW
Аватара пользователя

Зарегистрирован:
26 май 2013, 23:44
Сообщения: 5
Цитата:
Без поворота ещё хуже получалось :(

В таком случае возникнут серьёзные проблемы с совмещением последующих слоев - там ведь тоже будут нестыковки, но уже другие...

_________________
Microchip internals: http://zeptobars.ru/


Сообщение 05 июн 2013, 17:37
Профиль ICQ WWW
Аватара пользователя

Зарегистрирован:
24 июл 2007, 10:41
Сообщения: 570
Если делать по кусочкам, то все будет хорошо. Практической пользы в полноразмерной фотке всего кристалла нет. Ибо при рисовании транзисторных схем всё равно приходится дробить картинку на более мелкие части.
Так же и с нижним слоем - ищем подходящий кусок под верхний, склеиваем, вставляем в фотошоп и трансформированием примерно подгоняем нижний слой под верхний.

PS. Не забывайте что логика идёт стройными рядами, это дополнительная подсказка, чтобы найти нужную ячейку.

Топология это только верхушка айсберга.


Сообщение 05 июн 2013, 18:39
Профиль
Аватара пользователя

Зарегистрирован:
23 июл 2007, 19:37
Сообщения: 401
Откуда: Мытищи
org, а не отправить ли на декап дендевские 6527P и 6538?
HardWareMan думаю без проблем сможет их выслать к zeptobars, если получит согласие.
У меня на текущий момент нет свободных 6538, а те что есть - битые

_________________
Nestopia 1.37/1.40 Fixed


Сообщение 05 июн 2013, 19:13
Профиль
Аватара пользователя

Зарегистрирован:
24 июл 2007, 06:54
Сообщения: 492
Откуда: Embedded
Меня интересует весь дендик (именно дендик, т.е 6527 и 6538), но ППУ (6538) меня интересует вперед.

_________________
Tried so hard and got so far, but in the end, it doesn't even matter...


Сообщение 06 июн 2013, 00:31
задача в принципе понятна и осуществима.
org писал(а):
Главное - разобраться как тут формируются транзисторы. Как я понимаю слоев металла - 2. И не понятно как они соединяются с полисиликоном. Например такое впечатление, что тоненькие провода в логике просто "намазаны" сверху без всяких контактов.

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

Комментарий к этой фотке download/file.php?id=782&mode=view
1. В техпроцессах нумерация металлов происходим снизу вверх:
самый нижний - металл 1 - М1
выше - металл 2 - М2 и т.д.
В данной фотке: M1 - положили горизонтально, М2 - вертикально.
2. Твои розовые полоски - это тоже металл, М1.
Потому что расположены параллельно с линиями VCC, GND. И соединяются сразу с верхним металлом М2.
3. Надо различать контакты между "M1 и poly" и "M1 и M2". Пока-что у тебя все черными "виасами" соединяется.


Сообщение 06 июн 2013, 10:27
Профиль ICQ WWW
Аватара пользователя

Зарегистрирован:
24 июл 2007, 10:41
Сообщения: 570
Цитата:
2. Твои розовые полоски - это тоже металл, М1.
Потому что расположены параллельно с линиями VCC, GND. И соединяются сразу с верхним металлом М2.

Было подозрение что это металл 1, но уверенности не было. Исправить в фотошопе можно быстро. Тогда и виасы черного цвета будут только между M1 и M2.

Обозначение M1/M2 не принципиально для наших целей) Но будем тогда придерживаться общепринятому обществом стандарту.


Сообщение 06 июн 2013, 12:34
Профиль
Аватара пользователя

Зарегистрирован:
06 июн 2013, 12:25
Сообщения: 1
Добрый день!
Я попал на этот форум с хабра, точнее после прочтения этой новости: http://habrahabr.ru/post/182286/
Там написано что Вам нужны лишние руки.
Цитата:
Тем не менее — работы ожидается очень много — и дополнительные руки очень не помешают. Если вам этот проект интересен, вы усидчивы, и у вашего компьютера больше 2Гб памяти — вы также можете поучаствовать.

По критериям подхожу =)
Проект мне интересен, хочу помочь.


Сообщение 06 июн 2013, 13:51
Здравствуйте, я тоже хабра, хочу помочь.

PS: Кстати у меня на руках должна быть уже нерабочая PS1 96-го года выпуска (надо порыться в шкафу). Если это как-то поможет, могу её отдать на растерзание.


Показать сообщения за:  Поле сортировки  
Ответить на тему   [ Сообщений: 305 ]  На страницу Пред.  1, 2, 3, 4, 5 ... 16  След.

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 15


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

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by STSoftware for PTF (mod by Zeru-j).
Русская поддержка phpBB