PDA

Просмотр полной версии : Цифровая археология: 1801 и все-все-все



Страницы : [1] 2 3 4 5 6 7 8 9 10 11

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

Полностью закончен реверс таких микросхем:
580ВМ80А (https://github.com/1801BM1/vm80a)
1801ВП1 (https://github.com/1801BM1/k1801)
1801ВМ1 (https://github.com/1801BM1/cpu11/tree/master/vm1)
1801ВМ2 (https://github.com/1801BM1/cpu11/tree/master/vm2)
LSI-11 (https://github.com/1801BM1/cpu11/tree/master/lsi)
M4 (https://github.com/1801BM1/cpu11/tree/master/am4i)

Результаты реверса процессоров PDP-11 выкладываются на github (https://github.com/1801BM1/cpu11)

Фотографии:
1801ВМ3 (металл, 640МБ) (http://www.1801bm1.com/files/retro/1801/images/vm3a-met.jpg)
1515ХМ2-001 (600МБ) (http://www.1801bm1.com/files/retro/1801/images/vm3a-dif.jpg]1801ВМ3 (диффузия, 400 МБ)[/URL]
[URL="http://www.1801bm1.com/files/retro/1515/images/xm2-001hd.jpg)
1515ХМ2-003 (500МБ) (http://www.1801bm1.com/files/retro/1515/images/xm2-001hd.jpg)
К581ИК1 (307МБ) (http://www.1801bm1.com/files/retro/581/images/581ik1.jpg)
К581ИК2 (307МБ) (http://www.1801bm1.com/files/retro/581/images/581ik1.jpg)
KM1527XM1-715 (590М) (http://www.1801bm1.com/files/retro/1527/images/xm1-715-hd.jpg)
KM1527XM1-716 (620М) (http://www.1801bm1.com/files/retro/1527/images/xm1-716-hd.jpg)
KM1527XM1-717 (704М) (http://www.1801bm1.com/files/retro/1527/images/xm1-717-hd.jpg)
1806ВМ2 (https://www.1801bm1.com/files/retro/1806/images/1806vm2.jpg) (257MB)
580ВН59 (https://www.1801bm1.com/files/retro/580/images/580vn59.jpg) (61MB)
1811ВМ1 (https://www.1801bm1.com/files/retro/1811/images/1811vm1.jpg) (105MB)
1811ВУ1 (https://www.1801bm1.com/files/retro/1811/images/1811vu1.jpg) (100MB)
1811ВT1 (https://www.1801bm1.com/files/retro/1811/images/1811vt1.jpg) (122MB)

YM2148 (388MB) (http://www.1801bm1.com/files/retro/214x/images/ym2148.jpg)
YM2148 (диффузия, 392MB) (http://www.1801bm1.com/files/retro/214x/images/ym2148_dif.jpg)
AY-3-8910 (435MB) (http://www.1801bm1.com/files/retro/214x/images/ay-3-8910.jpg)
580ВМ1 (184MB) (http://www.1801bm1.com/files/retro/580/images/580vm1_x10.jpg)

Описание 1801ВМ1 (pdf) (https://github.com/1801BM1/cpu11/raw/master/vm1/doc/1801vm1.pdf)
Схема 1801ВМ1А (pdf) (https://github.com/1801BM1/cad11/raw/master/vm1/vm1_ma.pdf)
Схема 1801ВМ1Г (pdf) (https://github.com/1801BM1/cad11/raw/master/vm1/vm1_mg.pdf)
Схема 1801ВМ2A (pdf) (https://github.com/1801BM1/cad11/raw/master/vm2/vm2_rc.pdf)

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

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

- декапинг образца - извлечение кристалла из пластика, или вскрытие металлической крышки на керамическом корпусе. Выполнено, распилил штук 5 пластиковых процессоров и вскрыл один керамический.
- серийное микрофотографирование верхнего слоя металлизации. Выполнено, получилось 307 снимков общим объемом 9 гигабайт, очень пригодилась самодельная однокоординатная мотоплатформа из старого DVD
- сшитие снимков в панораму, выполнено - результирующая панорама 0.4 гигапикселя (осторожно - 500МБайт) (http://www.1801bm1.com/files/retro/1801/images/vm1a-met.jpg)
- шлифовка верхнего слоя металлизации, выполнена - использовал "маникюрный набор" Dremel и зубную пасту
- микрофотографирование открывшегося слоя диффузии, выполнено, получилась скромная серия из 90 снимков (снималось на другом объективе с меньшим увеличением)
- сшитие панорамы слоя диффузии, выполнено (осторожно - 500МБайт) (http://www.1801bm1.com/files/retro/1801/images/vm1a-dif.jpg)
- векторизация слоев металлизации, поликремния, диффузии, выполнено
- распознавание транзисторов, выполнено
- перенос векторизованных слоев в PCAD-2004, выполнено
- восстановление схемы с использованием механизма обратной аннотации, выполнено
- перерисовывание схемы в "осознаваемый вид"
- написание Verilog согласно полученной схемы
- моделирование модуля процессора, выполнено
- прогон заводских тестов 791401 и 791404 на модели, выполнено
- переписывание модели в синхронную, для применения в FPGA, выполнено
- адаптация модуля процессора с шины Q-bus на шину Wishbone, выполнено

tnt23
08.09.2014, 23:46
Про мотоплатформу тоже интересно!

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

http://s017.radikal.ru/i428/1409/3d/2732919ef992t.jpg (http://s017.radikal.ru/i428/1409/3d/2732919ef992.jpg)

http://s017.radikal.ru/i440/1409/7b/6db7e0f8501bt.jpg (http://s017.radikal.ru/i440/1409/7b/6db7e0f8501b.jpg)

http://s019.radikal.ru/i620/1409/1b/318ff05ddbf1t.jpg (http://s019.radikal.ru/i620/1409/1b/318ff05ddbf1.jpg)

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

http://s020.radikal.ru/i722/1407/f3/4662e5144bc3t.jpg (http://radikal.ru/fp/2ccea3de47aa44cb902047d9c134b851)

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

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

MM
09.09.2014, 00:13
Насчет платформы для фоткания - Зонд А5, например :,
http://www.pixic.ru/i/90004592q1N94141.jpg (http://www.pixic.ru)
или ПМХТ - практически готовые девайсы, нуждаются в незначительной декомплектации ( иголки - в одно место... :v2_dizzy_doctor:).
*
Действительно, давно пора свиней с севера Москвы поставить на место. А то, видите ли, секретность не позволяет рассказать, какого хрена ВМ1 любит иногда зависнуть на стандартной частоте ...

Vslav
09.09.2014, 00:26
Насчет платформы для фоткания - Зонд А5
Кстати у нас тут "Квазар-Микро" продает списанную установку Зонд-А5. Позвонить узнать цену что-ли. Но здоровая штука, ой.

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

hobot
09.09.2014, 01:10
перемещать блок при помощи нехитрой терминальной программы.
http://savepic.net/6094339.png
Можно вот этот момент немного подробней раскрыть,
то есть меня конечно не исходник программы интересует, а
применяемая ЭВМ, интерфейс подключения, язык программирования,
или проглядел где-то уже упоминалось? Спасибо.

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

Vslav
09.09.2014, 10:10
http://savepic.net/6094339.png
Можно вот этот момент немного подробней раскрыть

На фотографии не плата контроллера, а самодельный программатор 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-шного приложения.



Конструкция Зонд А5 - под 200 кг в сборе.

Крупная штука, это уже надо в частном доме жить, чтобы такое у себя заиметь. И кажется микроскоп там слабоват по увеличению - там надо же просто зондом попасть в тестовую площадку, x20-x40 достаточно. Если я когда-нибудь в отдельный дом переберусь, то я уже буду хотеть что-нибудь из б/у электронных микроcкопов.

MiX
10.09.2014, 20:40
Фото матрицы.
http://s009.radikal.ru/i309/1409/84/b9fa7db66849.jpg (http://www.radikal.ru)

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

Vslav
11.09.2014, 11:37
Определились триггеры регистрового блока 1801ВМ1. Организованы как матрица 7x32 бита, очевидно будет 14 16-битных регистров, часть из них скрытые/служебные. Совсем не видно аппаратного умножителя, скорее всего умножение сделано микропрограммой, тут и скрытые регистры пригодятся. Вообще процессор хорошо прорисовывается, повеселее чем 580ВМ80А, много топологически одинаковых кусков, хорошо работает копипаста.

Апдейт:
Еще подумалось что надо было бы начинать не с ВМ1 а с 581-ой серии. Это аналог чипсета Western Digital MCP-1600, на нем Электроника-60 М2 и DEC LSI-11 собраны. Понемножку 581ИК1 и 581ИК2 я прикупил, РУ1/2/3 пока нету. Есть ли какая информация по этим микросхемам? Кроме справочника под редакцией Шахнова?

Vslav
14.09.2014, 15:13
Сшил панораму слоя диффузии
Немножко порисовал процессор:

http://i069.radikal.ru/1409/32/2d0b7c189e13t.jpg (http://i069.radikal.ru/1409/32/2d0b7c189e13.png)

Видно что переделка производилась "по-живому" от другой архитектуры (та которая называлась Электроника НЦ) - много оборванных поводов, часто непонятно есть переходное или нет (просто пустая площадка), часть линий декодера просто тупо не используется.

Уже накопилось 30+ тысяч элементов (не транзисторов, а просто всяких черточек - проводников, переходных, контактов и прочего), Sprint Layout начал иногда при некоторых операциях притормаживать, наверное, куплю его официально (примерно 50 евро цена) и буду дергать автора.

Vslav
14.09.2014, 22:45
Научился тытрубом сегодня пользоваться :)
Небольшой тайм-лапс процесса замутил (http://youtu.be/1O4fMlOogh4)

Ал-р
14.09.2014, 23:57
Сшил панораму слоя диффузии
Немножко порисовал процессор:

http://i069.radikal.ru/1409/32/2d0b7c189e13t.jpg (http://i069.radikal.ru/1409/32/2d0b7c189e13.png)

Видно что переделка производилась "по-живому" от другой архитектуры (та которая называлась Электроника НЦ) - много оборванных поводов, часто непонятно есть переходное или нет (просто пустая площадка), часть линий декодера просто тупо не используется.
Уже накопилось 30+ тысяч элементов (не транзисторов, а просто всяких черточек - проводников, переходных, контактов и прочего), Sprint Layout начал иногда при некоторых операциях притормаживать, наверное, куплю его официально (примерно 50 евро цена) и буду дергать автора.
=
Да, было бы интересно увидеть ре-инженеринг ВМ1 без всего лишнего от остатков ВЕ1, до КР1807ВМ1 сможет получиться? (без встроенной регенерации DRAM и с современной оптимизацией вообще должно получиться меньше :)
... А 588-серию не хотите "уделать" до почти ВМ1 ?

Vslav
15.09.2014, 00:14
Да, было бы интересно увидеть ре-инженеринг ВМ1 без всего лишнего от остатков ВЕ1, до КР1807ВМ1 сможет получиться?

А что значит без остатков ВЕ1? Без таймера и схем обеспечения многопроцессорности? Так это будет уже не ВМ1, в реализацию БК такое уже не прикрутишь. А всякий оставшийся ненужный мусор, типа неиспользуемых линий декодера еще на этапе рисования схемы отвалится.

После 1801ВМ1, возможно, будут 1801ВМ2 и 1801ВМ3, если процесс реверса не надоест. Это отдельная ветка 1801, чисто советское изобретение - у него нет прямых аналогов у DEC. Еще интересна ветка 581 (аналог LSI-11/03), 1811 (аналог F11) и 1831 (аналог J11) - у нее есть полные аналоги у DEC-а. 1807ВМ1 - это аналог T11, у меня только одна штука пока есть, а надо минимум 2, если повезет со вскрытием. В-общем, чипов интересных много всяких, лет на 10 хватит :). Не все чипы обязательно реверсить, например MicROM-ы 581РУ1/2/3 можно попытаться просто прочитать.

Ал-р
15.09.2014, 01:08
А что значит без остатков ВЕ1? Без таймера и схем обеспечения многопроцессорности? Так это будет уже не ВМ1, в реализацию БК такое уже не прикрутишь. А всякий оставшийся ненужный мусор, типа неиспользуемых линий декодера еще на этапе рисования схемы отвалится.
После 1801ВМ1, возможно, будут 1801ВМ2 и 1801ВМ3, если процесс реверса не надоест. Это отдельная ветка 1801, чисто советское изобретение - у него нет прямых аналогов у DEC. Еще интересна ветка 581 (аналог LSI-11/03), 1811 (аналог F11) и 1831 (аналог J11) - у нее есть полные аналоги у DEC-а. 1807ВМ1 - это аналог T11, у меня только одна штука пока есть, а надо минимум 2, если повезет со вскрытием. В-общем, чипов интересных много всяких, лет на 10 хватит :). Не все чипы обязательно реверсить, например MicROM-ы 581РУ1/2/3 можно попытаться просто прочитать.
=
... но у ВМ1 нет никакой реализованной "много-процессорности" - на шине AD с общей памятью это бессмысленно (быстродействие даже на двух процах будет меньше чем на одном ... :)
неужели непонятно, поэтому и не было никогда реализовано, не забывайте что для разделения-распараллеливания задачи на несколько процев в компиляторе должны быть зачатки искуственного интиллекта (даже близко ни у кого нет реализации простейщей мушки-дрозофиллы).
=
В ДВК "многозадачность" не имеет никакого отношения к много-процессорности, там с этим ещё хуже - даже две задачи тормозят на (два в квадрате), а на трёх задачах только светодиодами моргать ...

MM
15.09.2014, 02:09
1801ВМ1 неплохо работает в двухпроцессорной сборке при условии задержки ОЗУ менее 0.5 такта процессора, но все-таки с некотрой потерей производительности по сранению с 2-мя независимыми системами процессор - память ( 0 тактов ).
Шину следует делать малогабиритной - для исключения завалов на диаграммах МПИ.
Однако отмечу, что делать многопроцессорность на реальной БКшке - не особо имеет смысл, особенно на натуральных 1801ВМ1.
*
ИМХО - 1801ВМ2 - это немного тупиковая ветвь, представляющая из себя доработанный 1801ВМ1. Если срисовывать - то, конечно, 1801ВМ3. Особенно если сделать некотрую последущую модификацию - со встроенным контроллером ОЗУ.
Такая конструкция будет иметь перреспективы реальных продаж на БКшном поле деятельности ( десяток - второй точно разойдутся по примерно $200 ).

bigral
15.09.2014, 04:07
Еще подумалось что надо было бы начинать не с ВМ1 а с 581-ой серии. Это аналог чипсета Western Digital MCP-1600, на нем Электроника-60 М2 и DEC LSI-11 собраны. Понемножку 581ИК1 и 581ИК2 я прикупил, РУ1/2/3 пока нету. Есть ли какая информация по этим микросхемам? Кроме справочника под редакцией Шахнова?

Эти процы по идее проще вм1 аж на 1 порядок. Ну и микрокод внешний и хорошо документированный, глубоко не лез но помню где-то видел доку с примером как писать микрокод. Там же была выносная плата по идее из одной из панелек на плате lsi11 соединялась для расширения системы команд. И самого микрокода там децл.

Вм1 это пачка рф6 как минимум штук 5 да? Т.е. транзисторов убито огого, если б тратили их как в случае с вм80 то легко бы команды vax-a реализовали б наверно на том кристале, или не?

Vslav
15.09.2014, 08:44
1801ВМ1 неплохо работает в двухпроцессорной сборке при условии задержки ОЗУ менее 0.5 такта процессора ....

Однако отмечу, что делать многопроцессорность на реальной БКшке - не особо имеет смысл, особенно на натуральных 1801ВМ1.

+100
Имеет смысл попробовать увидеть прирост производительности от второго процессора именно на системе с быстрой памятью. На БК с ее "суперскоростной" ВП1-037 - бесполезно даже пытаться. Но у нас же будет FPGA, поэтому поиграемся.



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

А где видел - не вспомнишь? В Сети есть исходники микрокода для J11. Для LSI и F11 мне что-то не попадалось, а было бы интересно.



Там же была выносная плата по идее из одной из панелек на плате lsi11 соединялась для расширения системы команд. И самого микрокода там децл.

Да, LSI-11/03 собрана на комплекте MCP-1600/К581, он поддерживает до 4-х МicROM. В LSI-11 в первых двух находится сама система команд PDP-11 и отладчик, в третьей расширение плавающей точки, а четвертая - на усмотрение пользователя. Причем оно могло с нее стартовать. В-общем, интересно разобраться.



Вм1 это пачка рф6 как минимум штук 5 да? Т.е. транзисторов убито огого, если б тратили их как в случае с вм80 то легко бы команды vax-a реализовали б наверно на том кристале, или не?

Посмотрим сколько там транзисторов будет, думаю что меньше 10 тысяч. А микропрограммный подход он обычно вентили экономит, да и в ВМ1 не полноценный ROM а скорее декодер просто. Объем в битах примерно ~500x16.

Update: нашел дековский документ по микропрограммированию (http://bitsavers.informatik.uni-stuttgart.de/pdf/dec/pdp11/1103/EK-KUV11-TM_LSI11_WCS.pdf) LSI-11
Update2: вроде даже есть микроассемблер (http://bitsavers.informatik.uni-stuttgart.de/bits/Terak/set3/) под RT-11 (файлы LSIWCS*)

CodeMaster
15.09.2014, 09:12
Имеет смысл попробовать увидеть прирост производительности от второго процессора именно на системе с быстрой памятью.

+ двухканальную использовать, чтобы хотя бы чтение/запись друг друга не тормозили.

Vslav
15.09.2014, 13:00
В-общем, нету в 1801ВМ1 никакого микрокода. Вот то большое упорядоченное поле в верхней половине кристалла - это ПЛМ по классической схеме Sum-Of_Products, 16 входов с регистра инструкций, видимо. А маленькое упорядоченное поле в правом нижнем квадранте - это ПЛМ поменьше, по той же Sum-Of-Products. Так что - 1801ВМ1 - это не микромашина, а классический автомат, принципиально не отличающийся от 580ВМ80А. Ну зато FPGA-версия будет охотней разгоняться.

PS. Почитал про DEC LSI-11 WCS - Writable Control Storage - это такая RAM, которую можно загружать, и подключать вместо MicROM в старшие 1К слов микрокода, у них там сделан микроассемблер, загрузчик - целая среда для разработки и отладки микрокода, вкусняшко. Дальше хочется пилить серию 581 :)

CodeMaster
15.09.2014, 13:39
это ПЛМ по классической схеме Sum-Of_Products

Для необразованных - непонятно, и не нашёл где почитать про отличие от микрокода?

Vslav
15.09.2014, 13:56
Микрокод - это когда процессор представляет собой отдельный микрокомпьютер, со своей достаточно простой системой микрокоманд (ссылку на документ WCS я давал, там в приложении есть опкоды микрокоманд MCP-1600/К581). А система команд основной машины (например PDP-11) уже является результатом работы микропрограммы интерпретатора на микрокомпьютере. То есть, этот простой микрокомпьютер читает из основной памяти слово инструкции PDP-11, и интерпретирует его, выполняя по микрошагам. Микропрограмма - это код программы-интерпретатора, пишется на языке микроассемблера. Если написать другой микрокод, то на основе 581ИК1/ИК2 можно сделать другую систему команд, не PDP-11. Возможно даже версию x86, лишь бы хватило ресурсов - регистров, разрядности адреса и прочее.

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

ПЛМ по схеме Sum-Of-Products - это представление любой логической функции в канонической дизъюнктивной форме. ПЛМ можно просто рассматрифать как набор некоторых логических функций (можно реализовать ЛЮБУЮ комбинационную от данного числа входных переменных) с фиксированной одинаковой задержкой распространения.

Насчет почитать - я в свое время наткнулся на тоненькую книжицу "Секционные процессоры и их программирование" (Гришин, Угольков), она меня в 90-ом году потрясла просто, стало ясно как процессоры внутри устроены. В электронном виде я эту книжку не нашел, но копать в сторону этой тематики.

b2m
15.09.2014, 15:17
В-общем, нету в 1801ВМ1 никакого микрокода. Вот то большое упорядоченное поле в верхней половине кристалла - это ПЛМ по классической схеме Sum-Of_Products, 16 входов с регистра инструкций, видимо.
Может и не только с регистра инструкций. Если там есть ещё входы с какого-либо двоичного счётчика микроинструкций, то эту матрицу можно трактовать как микрокод.

---------- Post added at 16:10 ---------- Previous post was at 15:57 ----------

Маленькое поле вполне может оказаться декодером инструкций. Самих инструкций не так уж и много, т.е. 16 бит кода команды можно ужать в 7 бит номера инструкции. Если большое поле содержит 16 входов, на номер микроинструкции останется аж 9 бит.

---------- Post added at 16:12 ---------- Previous post was at 16:10 ----------

Это я к тому, что в таком случае инструкция может состоять максимум из 512 микроинструкций.

---------- Post added at 16:16 ---------- Previous post was at 16:12 ----------

Там однако ещё флаги есть, так что номер микроинструкции не 9 бит, а меньше.

---------- Post added at 16:17 ---------- Previous post was at 16:16 ----------

В смысле разрядность счётчика. А счётчик вместе с флагами можно считать адресом микроинструкции.

Vslav
15.09.2014, 17:28
Может и не только с регистра инструкций. Если там есть ещё входы с какого-либо двоичного счётчика микроинструкций, то эту матрицу можно трактовать как микрокод.

Первая большая матрица- 250 произведений от 16 входных переменных и их инверсий (250 products) и потом это все суммируется в разных комбинациях во второй большой матрице в 34 выходных SOP-а. Чисто теоретически может быть и ПЗУ на 250 ячеек по 34 бита. Но такое можно меньшей площадью и числом транзисторов сделать, и 16 входов не нужно тогда, и никакой упорядоченности нету, как было бы в декодере адреса ПЗУ, да и их обычно делают многостадийными. Поэтому как по мне - так похоже на прямой декодер инструкций PDP-11, чем на MiCROM. Да, еще в заводской схеме 1801ВМ2 на картинках (кроме самолетов :)) ПЛМ-ы нарисованы, а не ROM-ы. Доживем до схемы - увидим как оно.

CodeMaster
15.09.2014, 17:37
и потом это все суммируется в разных комбинациях во второй большой матрице в 34 выходных SOP-а

Грубо говоря, это дополнительные 34 команды PDP-11 которых не было в архитектуре НЦ? И скорее всего это варианты адресации, т.к. что-то сложное на этом замутить сложно?

Vslav
15.09.2014, 18:18
Грубо говоря, это дополнительные 34 команды PDP-11 которых не было в архитектуре НЦ? И скорее всего это варианты адресации, т.к. что-то сложное на этом замутить сложно?
Нет, это 34 выходных разряда. 34 управляющие однобитовые функции, подаются на АЛУ, схему выборки регистров и тд.
Суммируется же буквально - выходное логическое OR для дизъюнктивной нормальной формы. То есть грубо имеем 34 функции OR, у каждой из которых 250 аргументов, а эти 250 агрументов представляют собой определенные произведения 16 входных xi.
В-общем, в итоге - на входе 16 переменных x0..x15, на выходе 34 некоторых комбинаторных функции y0..y33.

bigral
15.09.2014, 18:20
Я так понимаю такая матрица обеспечивает: "декодирование всех возможных конфигураций на входе"+"одинаковое время декодирования"+"быстрый результат (2 стадии 1 AND и 1 OR)" ну правда требует много места на кристалле (примерно столько же сколько и ALU + регистры + драйвер QBUS + генератор синхросигналов)?

b2m
15.09.2014, 18:41
Чисто теоретически может быть и ПЗУ на 250 ячеек по 34 бита.
Вообще-то я не это имел ввиду. Это скорее классическая машина состояний, но для каждой инструкции своя. Максимальное количество состояний может быть и 32, и 64, т.е. для счётчика состояний достаточно 5-6 бит. В зависимости от текущёй инструкции и текущего состояния (а также дополнительных флагов) вырабатывается управляющий код, те самые 34 выхода, в которые скорее всего входит и номер следующего состояния.

bigral
15.09.2014, 18:42
А микропрограммный подход он обычно вентили экономит, да и в ВМ1 не полноценный ROM а скорее декодер просто. Объем в битах примерно ~500x16.

Ага! Значит microm за счет использования ограниченного набора одних и тех же инструкций, но множества шагов, дает возможность по сути сэкономить на количестве транзисторов в декодере и в ALU одновременно, при том что qbus драйвер наверняка никак не зависит а количество регистров наоборот может возрасти (тем самым частично нивелируя такую "экономию").

Vslav
18.09.2014, 23:14
Примерно 16 тысяч транзисторов накопано в 1801ВМ1. Но никак не 50, как утверждает производитель. Для СССР 1982 года 16 тысяч тоже неплохой результат по степени интеграции, имхо

MM
19.09.2014, 04:00
Вроде как заявлено 100.000 структур в 1801ВМ1 - но не транзисторов.

Vslav
21.09.2014, 17:45
Странно как-то в любых элементах измерять степень интеграции схемы. Другое дело число транзисторов - сразу ясно число затворов и примерная сложность логической схемы. Возможно такой цифрой (50 тыс) хотели замылить некоторое технологическое отставание.

Нарисовался слой металла (http://sderni.ru/243402), в итоге получается ближе к 17 тысячам транзисторов. PCAD начал кашлять, даже отказался открывать рабочую базу (out-of-memory), но в итоге решилось все.

MM
21.09.2014, 21:16
Странно как-то в любых элементах измерять степень интеграции схемы. Другое дело число транзисторов - сразу ясно число затворов и примерная сложность логической схемы. Возможно такой цифрой (50 тыс) хотели замылить некоторое технологическое отставание.

Нарисовался слой металла (http://sderni.ru/243402), в итоге получается ближе к 17 тысячам транзисторов. PCAD начал кашлять, даже отказался открывать рабочую базу (out-of-memory), но в итоге решилось все.
1. Вполне возможно, написали контент 1801ВЕ1 - из-за лени. А там ПЗУ 2 кбайт, 128 байт ОЗУ, и еще маленькая тележка...
2. Если можно, расскажите подробнее про Пкад - какой версии, какие аппетиты к ОЗУ, как решилось, есть ли необходимость в W64 с резиновой ОЗУ ?

Vslav
21.09.2014, 22:17
1. Вполне возможно, написали контент 1801ВЕ1 - из-за лени. А там ПЗУ 2 кбайт, 128 байт ОЗУ, и еще маленькая тележка...

Это все действительно маленькая тележка, на нехватающие 33 тыс транзисторов не наскребется. Ну да ладно, мы теперь имеем ВМ1 "измеренный в транзисторах".


2. Если можно, расскажите подробнее про Пкад - какой версии, какие аппетиты к ОЗУ, как решилось, есть ли необходимость в W64 с резиновой ОЗУ ?

W64 надо для сборки панорам, для некоторых уже даже 16 гигабайт физической памяти маловато. Для PCAD и SprintLayout 64-битка не нужна, так как это Win32 приложения. PCAD 2004, глючил и не мог открыть базу (выпадал по нехватке памяти) когда добавлялись цепи земли и питания - там была закоротка и получалась слишком большая цепь. Искал закоротку методом "ловли льва в пустыне" - убил половину платы, проверил остался коротыш или нет. Потом убил половинку от половинки, снова проверил, так и нашел.

hobot
21.09.2014, 22:39
Сделал ссылку на эту тему в виде строки в центральном фрейме,
на главной мордочке архива для УК-НЦ\ДВК\БК (http://archive.pdp-11.org.ru/).

bigral
22.09.2014, 00:14
По поводу количества транзисторов, по-моему это случай классической советской приписки в лучших традициях "хлопкового дела", наоборот было б удивительно если бы написали шото вроде "свыше 15000 транзисторов".

Так как никто теперь не умеет писать программы с сегментной организацией памяти то единственный выход переход на CAD-ы под 64bit, или нету замены совсем?

Vslav
22.09.2014, 03:01
Сделал ссылку на эту тему в виде строки в центральном фрейме,
на главной мордочке

Я, кстати, уже видел эту добавленную ссылку :)
Обнаружилась интересная техника - слой полисиликона содержит специально оттрасированные площадки, и их можно соединять, меняя маску диффузии. Таким образом реализуется методика "перемычек". Странно что на слое диффузии (самом нижнем), а не металлом (самый верхний слой), как в БМК. Тем не менее, интересно, есть вариант "установки перемычек" на 16 или 32 байта внутренних регистров периферии ВМ1 (те которые на 17777xx). Также имеется вариативность исполнения АЛУ - тоже есть "перемычки". Вообще много обрывков проводников, которые никуда не ведут. Почти треть маленькой ПЛМ никак не используется, рудименты видимо.

---------- Post added at 02:01 ---------- Previous post was at 01:57 ----------



организацией памяти то единственный выход переход на CAD-ы под 64bit, или нету замены совсем?

Да там скорее уже простоо глюки софта, а не прямая нехватка памяти. Вот SprintLayout работает, работает, занимает там 90 мегабайт памяти, потом начинаешь какую-то операцию, копируешь например транзистор, а оно начинает по 100 мегабайт на каждую копию кушать. Потом раз - и 2 гига уже нету. А если при копировании включить другой слой - то все нормально. Можно взять и более софременный CAD, но он более сложный, при ручном редактировании медленнее все будет.

MiX
22.09.2014, 10:30
рудименты видимо
Возможно что рудименты от несостоявшегося контроллера ВЕ1. Был ещё вариант К1801ВМ1Г с командой MUL.
Нескромный вопрос, Вы что хотите повторить процессор?
Ещё интересно, насколько реально сделать это на какой нибудь Альтере?

Vslav
22.09.2014, 10:58
Возможно что рудименты от несостоявшегося контроллера ВЕ1. Был ещё вариант К1801ВМ1Г с командой MUL.
Нескромный вопрос, Вы что хотите повторить процессор?
Ещё интересно, насколько реально сделать это на какой нибудь Альтере?

На кошках (http://zx-pk.ru/showthread.php?t=23349) уже потренировались, с ВМ1 планируется пройти примерно такой же путь. В той ветке есть и про альтеру и про реальные результаты.

Насчет MUL - я не думаю что была отдельная версия кристалла. Скорее всего просто выполнялась отбраковка по работоспособности умножителя на заданной частоте. Пока я аппаратного умножителя не вижу, а микропрограммы нет с вероятностью 99 процентов, поэтому реализация умножения - интрига.

tnt23
22.09.2014, 12:55
Vslav, а есть надежда сделать HDL корку ВП1-128? Складские запасы их тают, а спрос остаётся :)

Vslav
22.09.2014, 14:38
Vslav, а есть надежда сделать HDL корку ВП1-128? Складские запасы их тают, а спрос остаётся :)
Корку 128-ой делать буду при повторении БК, но имелась ввиду полноценная же реплика самой микросхемы ВП1-128? На чем ее сделать пока не очень ясно - MAX7000 достаточно дорогие (многие десятки долларов), MAX3000/MAX V - не 5V-совместимые, получается специальную платку надо городить - MAX V + буфера.

MiX
22.09.2014, 23:00
На кошках (http://zx-pk.ru/showthread.php?t=23349) уже потренировались, с ВМ1 планируется пройти примерно такой же путь. В той ветке есть и про альтеру и про реальные результаты.

Там про процессор КР580ВМ80, но всю тему не читал. У этого процессора есть недокументированная команда и если эта команда не реализована то программы где она используются работать не будут.


Насчет MUL - я не думаю что была отдельная версия кристалла. Скорее всего просто выполнялась отбраковка по работоспособности умножителя на заданной частоте. Пока я аппаратного умножителя не вижу, а микропрограммы нет с вероятностью 99 процентов, поэтому реализация умножения - интрига.

То есть надо вскрыть с буквой Г и тупо сравнить архитектуру?

Vslav
22.09.2014, 23:17
Там про процессор КР580ВМ80, но всю тему не читал. У этого процессора есть недокументированная команда и если эта команда не реализована то программы где она используются работать не будут.

А зря тему не читали :)
Восстановлена оригинальная потранзисторная схема ВМ80А, включая ВСЕ команды. В том числе недокументированные. Впрочем, таких не обнаружено, поведение процессора ВМ80А для всех опкодов давно хорошо изучено, схема просто это подтвердила. По схеме написан HDL-код, слегка адаптированный под FPGA, он повторяет схему целиком, а не какую-то отдельную команду. То есть, просто сделали полную логическую копию процессора на другой элементной базе.



То есть надо вскрыть с буквой Г и тупо сравнить архитектуру?

Думаю не надо. Только если вдруг при разборе 1801ВМ1А не будет выяснено как оно умножается, что маловероятно.

PS. Наковырял таймер-рудимент от ВЕ1. Один бит требует 41 транзистор (регистр лимита, регистр-счетчик, схема последовательного переноса ), итого 674 транзистора только на основу таймера, даже без схемы его управления и предделителей.

MiX
23.09.2014, 09:15
Восстановлена оригинальная потранзисторная схема ВМ80А, Так речь идет о ВМ80А или о ВМ80?
Чтоб было понятно к чему я это, процитирую историю с другого форума.

1990
Радиотелефон Карт-4. 10вт 300Мгц однозоновый. Выход в городскую тлф.сеть.
Стояла задача сделать интерфейс к обыкновенному телефону.
Надо было понять обмен со штатной трубкой.
ПЗУ сосчитали, я накатал программу осциллограф на Радио РК-86.
Асм ещё не знал, писал в кодах-Сейчас смех берёт.
Структура обмена понятна, но надо подправить программу.
Вроде всё понятно, но вот встали на одной команде и никак.
580ВМ80.
Нет такой команды и всё. И попадаем в кольцо.
Понятно, что программная ловушка.
Но мой Учитель вспоминает, что при первом упоминании о процессоре
эта команда есть. И точно. Но и 580ВМ80 подходят не все, а с определёнными буковками. Выбросили эту команду.
Сейчас не помню, просто пересылка регистр-регистр и далее переход по содержимому регистра.
Первая удача как-то запоминается. Интерфейс мы сделали.


PS. Наковырял таймер-рудимент от ВЕ1. Так может если восстановить связи, сделать BE1.

Vslav
23.09.2014, 10:52
Так речь идет о ВМ80А или о ВМ80?

Про 580ВМ80А. Я про 580ВМ80 процессоры без буквы А и не слышал даже. Известны 580ИК80, и фото их топологии тоже есть, но без детальной сверки уверять что ядро на 100 процентов совпадает нельзя. Странно, драли то с i8080, откуда там недокументированное.



Сейчас не помню, просто пересылка регистр-регистр и далее переход по содержимому регистра.

Скорее байка, потому что человек утверждает что программировал в кодах, значение левого кода и смысл команды он точно запомнил бы, имхо.



Так может если восстановить связи, сделать BE1.

Не получится, даже если бы и было такое желание - от ВЕ1 остались именно рудименты. По аппендиксу не восстановишь как человек выглядел :)

Про 580ВМ80А я ссылку дал, чтобы ответить на Ваш вопрос - "повторим процессор?", 580-ый это просто пример успешного повторения, с 1801 будет похожий процесс, только раз в 5 более долгий.

esl
23.09.2014, 11:31
Вроде всё понятно, но вот встали на одной команде и никак.
580ВМ80.
Нет такой команды и всё. И попадаем в кольцо.
Понятно, что программная ловушка.
Но мой Учитель вспоминает, что при первом упоминании о процессоре
эта команда есть. И точно. Но и 580ВМ80 подходят не все, а с определёнными буковками. Выбросили эту команду.

такие истории чаще всего - бональное отсутствие документации + опыта в те времена
опять же, судя по 1994 в связке с "писать в кодах"
возможно речь про 580вм1 ?
да и сомнения берут что при "Выбросили эту команду." программа заработала ...

AlecV
23.09.2014, 23:36
На чем ее сделать пока не очень ясно - MAX7000 достаточно дорогие (многие десятки долларов), MAX3000/MAX V - не 5V-совместимые Посмотрите Atmel ATF1500A. Выпускаются до сих пор, стоят приемлемо. Функционально - это полный клон MAX7000S которые c JTAG. Там есть еще некие расширения свыше альтеры, но непонятно как ими пользоваться. НО! Программируются они по другому и это вызывает гимор. Вроде как можно построить полный цикл разработки из старого квартуса, конвертора и LPT-шного ByteBlaster. USB Blaster уже не работает, увы. Вот пытаюсь с ними разобраться... Практически единственная серия 5-вольтовых CPLD в production, жаль с программированием попортили.

bigral
24.09.2014, 03:34
Посмотрите Atmel ATF1500A. Выпускаются до сих пор, стоят приемлемо.

Мда с 5-ти вольтовыми PLD облом какой-то (но наверно изза жадности в первую очередь - так как не хочется платить цену в 3...5 раз больше чем за 3.3в аналог). При покупке EPM7128 PLCC можно нарваться на Б.У. микрухи у которых залита прошивка которая использует jtag pin-ы как I/O и тогда это почти BRICK так как программатор способный очистить их стоит тысячи $$$. Как я понял тот же расклад можно и на EPM3128 получить, но видать изза отсутствия PLCC версии вероятность малая так как паянные никто не покупает\продает. Еще вариант - EPM7128 TQFP но паять их ... это не тоже самое что PLCC.

Vslav
24.09.2014, 20:16
А вы знаете почему рудиментарный таймер от ВЕ1 не устанавливал флаг окончания счета в первый раз после сброса по питанию или по DCLO? Кажется там в оригинальном ВЕ1 было прерывание от таймера, как для белых людей. В ВМ1 сохранился триггер фиксации запроса прерывания, и некоторая схема бланкирования - чтобы не возникало новое прерывание пока старое не обработано. Сам запрос на прерывание от таймера успешно выкинут (советским неграм и без таймерного прерывания ништяк, зачем их баловать), но глючные остатки этой схемы не дают таймеру установить флаг в первый раз. А вот там маленькая ПЛМ-ка в правом нижнем квадранте кристалла - это вероятный микроавтомат обработки прерываний - процедура сохранения PSW/PC, чтение вектора, переход.

Vslav
24.09.2014, 22:23
Еще одна прикольная новость. Ножка 6, которая документирована как резервная, на самом деле является дополнительным входом тактовой частоты таймера ВЕ1. Выбор этого входа разрешается установкой в '1' младшего бита CSR таймера. Подаваемая частота не должна превышать Fclk/8, и подается сразу на схему таймера, минуя все делители /128, /4, /16. Так что точность таймера при желании можно поднять :).

Update: а еще этот таймер может работать в режиме capture, управляется битом 1 регистра CSR. Если его установить в единицу, то нога 6 может использоваться как событие захвата - по фронту на этом входе текущее значение счетчика будет переписано в регистр лимита. "Вон оно как, Михалыч" (с). В регистре CSR бит 0 работает независимо от бита 1.

Vslav
28.09.2014, 16:57
Приехала посылка с пачкой 581ИК1. Отдекапил один кристалл, он поменьше чем 1801ВМ1, по площади примерно в два раза, проектные нормы процентов на 25-30 потолще, итого транзисторов раза в три меньше выйдет (еще не забываем компаньона 581ИК2 и МикроПЗУ-шки с микрокодом). На борту надпись - "Микро 4", и тоже присуствует ПЛМ. Пока фотографии высокого разрешения не делал.

http://s019.radikal.ru/i600/1409/12/2bc3cfc861bet.jpg (http://s019.radikal.ru/i600/1409/12/2bc3cfc861be.jpg)

MiX
29.09.2014, 00:01
Не совсем в тему, но может будет интересно. http://www.intel-vintage.info/apps/photos/album?albumid=11079855

Vslav
29.09.2014, 09:38
Не совсем в тему, но может будет интересно. http://www.intel-vintage.info/apps/photos/album?albumid=11079855
Интересный альбомчик. Я подумал насчет реверса i386SX но там 275К транзисторов по нормам полтора микрона, это лет на 10 работы рисовать, безнадега.

CodeMaster
01.10.2014, 20:40
Я подумал насчет реверса i386SX но там 275К транзисторов по нормам полтора микрона, это лет на 10 работы рисовать, безнадега.

Современные технологии в разы сократили количество человеко-лет на реверс-инженеринг. То что раньше делало целое НИИ, сейчас под силу уже одному человеку. А вот интересно, существуют ли пути дальнейшего увеличения производительности? Т.е. например некие OCR системы распознающие транзисторы по фото? Не знаю правда насколько это интересно в принципе, и какое практическое применение например реверс того же i386SX.

Vamos
01.10.2014, 21:20
Я подумал насчет реверса i386SX но там 275К транзисторов по нормам полтора микрона, это лет на 10 работы рисовать, безнадега.
Но за ВМ1 взялись с информацией что там 50К, не думаю что входило в планы потратить 2 года :)


Не знаю правда насколько это интересно в принципе, и какое практическое применение например реверс того же i386SX.
А мне вот очень интересно, только если уж браться то за что нибудь современное =)
Есть у меня подозрение, что там много не документированного и в чипсетах в частности. Для примера, регистр ловушка в УКНЦ, при записи определенного значения открывается еще один регистр. И вот знать бы для каких целей.

Vslav
01.10.2014, 23:22
Но за ВМ1 взялись с информацией что там 50К, не думаю что входило в планы потратить 2 года :)

Не совсем так, я посмотрел на кристалл и примерно оценил количество транзисторов в 15 тысяч. В итоге обнаружилось 16800. Месяца три-четыре вечерами надо потратить. И 580ВМ80А по нормам 5-6мкм рисовался достаточно легко, 1801ВМ1 по нормам 3 мкм уже заметно сложнее, фоток недостаточно, приходится временами глазками на 200x/400x в микроскоп поглядывать. 386-ой сделан по нормам 1.5мкм-, будет еще сложнее.
И для 275К транзисторов надо будет технологию менять, тут уже точно нужна иерархическая схема, а то меня задолбало по N раз паковать отдельные транзисторы в одинаковые схемы - например 16 разрядов таймера. Правильно такая схема рисуется так - делается блок, показывается его внутренняя структура, а потом на остальные разряды просто рисуются квадратики. PCAD поддерживает иерархию, но мне пока не удалось навязать ему внутреннюю нумерацию. А без этого не работает автоматическая сверка, которая позволяет вести реверс достаточно расслабленно и не напрягаясь насчет возможных ошибок. Вероятно надо будет или доразобраться с иерархией, или пробовать другой пакет проектирования.
Еще момент - 386 наверняка уже собран из библиотечных логических ячеек (ВМ1 тоже имеет зачатки, но там "вольные художники" руками работали и с фантазией), поэтому распознавать отдельные тразисторы уже не понадобится, примерно как это получилось с БМК ВП1. Но также может уже быть и минус - не один слой металла, а два и более, также может быть несколько слоев поликремния, тут надо уже осваивать операцию точной шлифовки.


А мне вот очень интересно, только если уж браться то за что нибудь современное =)
Есть у меня подозрение, что там много не документированного и в чипсетах в частности. Для примера, регистр ловушка в УКНЦ,

УКНЦ это чуток несовременное :). 1515ХМ1 хорошо документирован по части библиотечных ячеек, разобраться не проблемнее чем с 1801ВП1, разве что их там в разы больше.

---------- Post added at 22:22 ---------- Previous post was at 22:18 ----------



существуют ли пути дальнейшего увеличения производительности? Т.е. например некие OCR системы распознающие транзисторы по фото?

Существуют. Есть специальные конторы у которых реверс-инжиниринг это основной бизнес. Они для себя собственный софт для реверса разрабатывают, но сомневаюсь можно ли купить и цена как для хобби будет космическая. Есть еще всякие открытые недопиленные студенческие поделки типа degate, я поигрался с ним немного, он меня падежом перманентным достал, работать серьезно низзя, хотя есть интересные задумки.

Vamos
01.10.2014, 23:37
УКНЦ это чуток несовременное . 1515ХМ1 хорошо документирован по части библиотечных ячеек, разобраться не проблемнее чем с 1801ВП1, разве что их там в разы больше.
Не удачно процитировал :). Под современным я имел в виду типа iCore, а УКНЦ был для примера того что уже в то время могли "жучков" спрятать.

Vslav
01.10.2014, 23:46
Не удачно процитировал :).

Да понятно, поэтому сарказму совсем чуток было :).



Под современным я имел в виду типа iCore

7+ слоев металлизации, нормы 22нм-45нм (оптика такое не возьмет - только электронный), 3D-транзисторы в количестве 10^9+ штук? И создается топология "небольшим" КБ, в котором только группа физдизайнеров 30+ человек? Мне даже подумать о реверсе такого страшно :)

Vslav
03.10.2014, 10:27
Со стенгазеты археологической "икспидиции":

Блок регистров общего назначения в 1801ВМ1 организован как обычная однопортовая память. Это значит что за один такт возможен доступ только к одному из регистров для чтения или записи. Поэтому все двухоперандные операции будут занимать минимум три такта, плюс минимум по два такта на каждый автоинкремент/автодекремент. Медленно и печально, посмотрим как оно в 1811/1831 организовано, может быть там веселее.

Часть выходов ПЛМ возвращается через латч обратно на вход ПЛМ, такой себе сложный автомат с обратной связью, но все-таки до полноценной микропрограммы не дотягивает в моем понимании.

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

Patron
03.10.2014, 15:09
все двухоперандные операции будут занимать минимум три такта, плюс минимум по два такта на каждый автоинкремент/автодекремент.На практике ( на реальной ДВК-1 с задержкой памяти 6 тактов ) - заметно возрастает лишь продолжительность команды MOV :



R0 (R0) (R0)+ @(R0)+ -(R0) @-(R0) Addr @#Addr @Tab(R0)

Mov R1 14 37 41 49 41 50 49 49 64
Mov (R1) 30 45 49 59 49 59 59 59 72
Mov (R1)+ 30 46 49 59 49 59 59 59 72
Mov -(R1) 30 47 49 59 49 60 59 59 73



тогда как продолжительность команд ADD, SUB, BIS, BIC увеличивается только на один акт и только при наличии автодекремента :



R0 (R0) (R0)+ @(R0)+ -(R0) @-(R0) Addr @#Addr @Tab(R0)

Add R1 14 47 47 60 49 61 60 60 73
Add (R1) 30 55 55 69 56 70 69 69 82
Add (R1)+ 30 55 55 69 56 70 69 69 82
Add -(R1) 30 56 56 69 56 70 69 69 82

Vslav
03.10.2014, 19:03
На практике ( на реальной ДВК-1 с задержкой памяти 6 тактов ) - заметно возрастает лишь продолжительность команды MOV :

Да это ужас-ужас просто - медленная печалька какая-то. Насколько я помню ту тему - это реально на MC1201.01 намеряли или на БК?
И еще вопрос есть - нет ли какого готового софта для PDP-11 для верификации ядра, аналогично такого как 8080 execiser для i8080?
Потому что на 580ВМ80А я гонял execiser достаточно долго, пока все косяки реверса не выловились.

Titus
03.10.2014, 19:42
И еще вопрос есть - нет ли какого готового софта для PDP-11 для верификации ядра, аналогично такого как 8080 execiser для i8080?
Потому что на 580ВМ80А я гонял execiser достаточно долго, пока все косяки реверса не выловились.

Есть под ВМ2, я делал для УКНЦ. Он гоняет все команды в несколько упрощенном варианте, чем полный перебор.

svofski
03.10.2014, 20:22
Таких железобетонных, как экзекутор нету. У меня осталось кое что, чем я отлаживал свою вм1 корку:
Тут какой-то общий тест:
https://code.google.com/p/bk0010/source/browse/#hg%2Fvm1%2Ficarus%2Fbktests
И тут еще тесты, увы, без коментариев -- в основном мне их надиктовывал felix, а я уже смотрел по трейсам чего и как разваливалось. Сейчас, разумеется, ничего вспомнить не могу.
https://code.google.com/p/bk0010/source/browse/#hg%2Fvm1%2Ficarus%2Fasmtests
Но вдруг пригодится.

Vslav
03.10.2014, 20:33
Да все пригодится, тестировать надо будет долго и упорно.
ПЛМ-ку я уже разрисовал, но ее надо будет сверить с фотографией, что нигде не накосячилось при переносе, возможно тут попрошу помощи на форуме. Там на входе оказывается 31 переменная - 16 из них это код инструкции и еще 15 разных всяких, 7 из них берутся с выхода ПЛМ, также один/несколько это флаги, прерывание и сброс.

Update: Текущий вариант схемы, пока примерно 8800 транзисторов (http://sderni.ru/244802), но они более-менее упорядочены были, дальше сложнее будет.

Patron
03.10.2014, 21:32
это реально на MC1201.01 намеряли или на БК?На реальной ДВК-1 с тактовой частотой 5.3 МГц.



нет ли какого готового софта для PDP-11 для верификации ядра, аналогично такого как 8080 execiser для i8080?Из родных дековских тестов XXDP на 1801ВМ1 нормально проходит тест основных команд LSI-11 - VKAAC0.BIC ( последние два символа в имени файла у тестов XXDP - номер версии теста, поэтому VKAAA0.BIC и т.п. - тестируют то же самое ).

Из тестов ТМОС на 1801ВМ1 идут основной тест команд 791401.TMS и тест прерываний 791404.TMS

hobot
04.10.2014, 01:44
http://archive.pdp-11.org.ru/ukdwk_archive/dwkwebcomplekt/FODOS_TMOS/

и ещё тесты

http://archive.pdp-11.org.ru/ukdwk_archive/dwkwebcomplekt/PATRON_vm1test/

bigral
04.10.2014, 07:07
Update: Текущий вариант схемы, пока примерно 8800 транзисторов (http://sderni.ru/244802), но они более-менее упорядочены были, дальше сложнее будет.

мда, ну и схема! как в такое "вьехать" ? наверно надо книгу отдельную по исследованиям писать. А что с t172, t296 и t420 (замкнуто source-drain ???)?

Vslav
04.10.2014, 08:35
А что с t172, t296 и t420 (замкнуто source-drain ???)?
Это интегральная емкость, конденсатор. Затвор у таких транзисторов сделан в виде большой площадки и работает как емкость.

MM
04.10.2014, 14:32
Если софтово проверять исскуственный 1801ВМ1 , то, конечно, RT-11 и ТМОС - если при запуске DESS не вывалится - значит, ядро более - менее рабочее.
Более тонкая проверка - в БК11М, на играх, использующих таймер ( их имеется полно ). Опять же, надо железный образец верефицировать на реале, с перебором игрушек - штук так под 100. Вот если всё пойдет идентично оригиналу, включая "инсульт", можно будет предположить, что имеется точная копия. Софт на ДВК - это только поверхостная проверка.
*
Кстати, не все реальные 1801ВМ1 хорошо исполняют экзотические команды и методы адресации - это извесно только реальным писателям софта.

Vslav
04.10.2014, 19:29
Таймер для отсчета тайм-аута при обращении к МПИ в ВМ1 содержит всего три бита, плюс трехбитный предделитель на CLK. Предделитель при запуске таймера не сбрасывается, поэтому реальное время ожидания процессора до прекращения транзакции и перехода на исключение - от 57 до 64 тактов CLK, а не 64 как документировано. Мелкий косячок-с.

Vslav
06.10.2014, 20:52
А что, 1801ВМ1 не генерирует исключение Odd Address Trap? Затвор соответствующего транзистора на "земле" сидит. Документация вроде тоже ничего про OAT не говорит, а мне казалось что это неотъемлемое свойство PDP-11. Или ВМ1 все-таки ОАТ отслеживает и мне надо искать ошибку у себя?

Patron
06.10.2014, 21:14
А что, 1801ВМ1 не генерирует исключение Odd Address Trap?Это честно повторенная особенность LSI-11.

Vslav
06.10.2014, 21:21
Это честно повторенная особенность LSI-11.
Да, похоже на то. Защелка прерывания есть, вектор генерируется, но вот сам запрос тупо заземлен, то есть просто отключили для совместимости.
Я слегка в шоке - ОАТ это очень полезная особенность для отладки софта, помню такой же облом был с NXP LPC23 - он тоже OAT не отрабатывал. Для процессоров, которые не поддерживают автоматическое выравнивание шины, отсутствие ОАТ - это достаточно неприятно.

bigral
06.10.2014, 21:31
Это честно повторенная особенность LSI-11.

А какой адрес физически появится на QBUS при запросе, с младшим битом =1?

Patron
06.10.2014, 22:58
А какой адрес физически появится на QBUS при запросе, с младшим битом =1?Младшая линия QBUS не является адресной ( если активен сигнал WTBT, то эта линия лишь указывает номер того байта в передаваемом слове, который надо записать ), поэтому вопрос не в том, какой адрес появится на шине - на QBUS всегда появляются только чётные адреса, а в том, может ли "1" пролезть в режиме чтения на младшую линию шины в фазе адреса.

MM
07.10.2014, 00:04
Ввод-вывод нечетных слов активно используется в IDE - контроллере "СМК" и всех его разновидностях. Кстати, 1801ВМ2 тоже вроде поддерживает обращение к нечетным словам. Даже 2-х портовая "177714-177715" БКшка была ( ОП ) - для ЧПУ.

Patron
07.10.2014, 01:35
По QBUS невозможно обратиться к нечётному слову. Чтение/запись по QBUS всегда происходит 16-битными словами по чётному адресу - даже при "обращении к байту". Просто, если активен сигнал WTBT - один из байтов передаваемого слова не пишется, а какой именно - зависит от состояния линии A0.

Vslav
07.10.2014, 17:01
Интересно что прерывание по "аварии сетевого питания" возникает как по фронту, так и по срезу сигнала на входе ~ACLO (возможно что по разным векторам). И все внешние сигналы запросов на прерывание - IRQ1, IRQ2, IRQ3, VIRQ, ACLO лучше синхронизировать с CLK на внешней (по отношению к процессору) схеме, иначе есть вероятность неудачного срабатывания приоритетного шифратора в контроллере прерываний и улет процессора "в степь". Такая синхронизация выполнена в схеме БК-001х, а вот в МС1201.01 только на VIRQ и IRQ2.

Alex_K
07.10.2014, 20:44
Интересно что прерывание по "аварии сетевого питания" возникает как по фронту, так и по срезу сигнала на входе ~ACLO (возможно что по разным векторам).
Вряд ли. По фронту ACLO обычно запускается процессор после останова по сигналу DCLO. В 1801ВМ1 запуск осуществляется с ячейки SEL1:0, а вот в 1801ВМ2 действительно осуществляется прерывание по запуску с вектором SEL:0.

Vslav
07.10.2014, 21:35
Вряд ли. По фронту ACLO обычно запускается процессор после останова по сигналу DCLO.
Ну пока нет полной уверенности, но прерывание по перепадам ACLO реализовано как совершенно отдельная схема, независимая от DCLO. DCLO приходит в единственное место (другое), и срабатывает скорее как начальный пуск при условии активного ACLO. То есть - если нет DCLO то прерывания по ACLO вполне могут работать, логике не противоречит, ACLO это сигнал Power Fail от переменной сети (AC, внешнего источника питания), может кратковременно пропасть, потом появится, без нарушения постоянного питания (DC).
Еще странность нашлась, если процессор не ведущий (номер процессора не 0), то DMR и SACK всегда активны внутри (внешние сигналы DMR и SACK уходят в игнор).
Прерывания VIRQ также могут обрабатываться только ведущим процессором с номером 0 (высокие уровни на входах PA0, PA1), в ведомых процессорах этот вход маскируется. Вот так сделано, хотя можно было реализовать каждому процессору по своей цепочке IAKO.

MM
07.10.2014, 23:07
В 1801ВМ1 и 1801ВМ2 ( 1806ВМ2 ) вектора ACLO одинаковы - что положительный перепад, что отрицательный. А вот в 1801ВМ3 - это разные вектора.

Vslav
07.10.2014, 23:15
А генерируемый внутри вектор прерывания/исключения еще и от номера процессора зависит, аппаратный номер процессора постоянно заводится в разряды D4/D5 вектора, получается у каждого процессора своя собственная небольшая табличка векторов.

Alex_K
07.10.2014, 23:15
В 1801ВМ1 и 1801ВМ2 ( 1806ВМ2 ) вектора ACLO одинаковы - что положительный перепад, что отрицательный. А вот в 1801ВМ3 - это разные вектора.
В 1801ВМ2 прерывание ACLO (24 вектор) возникает только при обратном фронте сигнала ACLO. При прямом фронте возникает прерывание по включению питания, при условии, что процессор был остановлен сигналом DCLO. Если процессор работает, то при прямом фронте не возникает никакого прерывания.

Vslav
07.10.2014, 23:31
В 1801ВМ2 прерывание ACLO
Ну пока только 1801ВМ1 ковыряется, видно что есть две отдельные схемы фиксации как фронта так и спада ACLO, и выходы этих детекторов имеют две отдельные линии входа в приоритетный шифратор (маленькая матрица в правом нижнем квадранте на фото), там на этих входах явно есть транзисторы, то есть линии используются (неиспользуемые я уже отфильтровал), скоро буду моделировать этот шифратор, посмотрим что он выдавать на выходе будет (там дальше схема формирования вектора/адреса в АЛУ встроена, 8 или 16 разных векторов может выдать).
А вектор прерывания у фронта/спада ACLO может быть одинаков, там сигнал переактивации детекторов завязан на подтверждение прерывания и он у них общий.

Vslav
10.10.2014, 10:36
Взяли присоединили строб чтения старшей половины регистра вектора прерывания к земле, и 200 транзисторов оказались никому не нужны :). Говорят что транзисторный бюджет был дорогой, но тут просто поленились (или не успели, или уже ВМ2 маячил в планах) как следует переделать топологию. И еще есть неиспользуемые транзисторы, в итоге выходит что до 3-х процентов схемы просто жрут энергию (даже в статике, это же n-МОП) и ничего полезного не делают.

PS. Осталось разобрать около 5 тыс транзисторов, из них более 3-х тысяч - "типа макароны", неупорядоченные схемы, это возни много. Картинко для привлечения внимания:

http://s019.radikal.ru/i622/1410/77/e633e1f423edt.jpg (http://s019.radikal.ru/i622/1410/77/e633e1f423ed.png)

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

Vslav
15.10.2014, 12:39
А что у 1801ВМ1 в PSW?
Насчет флагов, T-бита и разрешения прерываний/"приоритета" понятно. А вот старший байт интересный, разряды 13-15 куда-то шли, но потом их оторвали и бросили :), они не влияют на остальную схему, просто читаются-пишутся. Разряд 12 тоже оторван, но сразу, никуда изначально не шел. Разряды 11 и 10 формируют какие-то запросы на исключение/прерывание (или как-то управляют ими). Разряды 9-8 жестко фиксированы на номере процессора (всегда установлены в значение на внешних ножках PA1/PA0).
Update: разряды 10 и 11 могли коммутироваться "перемычками" на разряды 5-6, вероятно это приоритет разрешения прерываний. Получается что биты 10 и 11 PSW подменяют биты 5 и 6.

b2m
15.10.2014, 13:24
Разряд 10 - признак пультового режима (HALT), который в ВМ1 не реализован.
Вот тут (http://vak.ru/doku.php/proj/bk/1801vm-series) можно почитать подробнее (на том сайте много другой полезной информации).

---------- Post added at 13:56 ---------- Previous post was at 13:53 ----------

Там правда опечатка, видимо, пишется про разряд 8.

---------- Post added at 14:14 ---------- Previous post was at 13:56 ----------

По поводу старших 4-х бит.
Стандарт описывает их как
15,14 - текущий режим (user,supervisor,...)
13,12 - предыдущий режим (до переключения режима)
На практике могут использоваться и пары 14,12 или 15,13, а другие биты фиксированы в ноль или еденицу или просто копии, если процессор поддерживает только два режима.

---------- Post added at 14:24 ---------- Previous post was at 14:14 ----------

Разряды 8-11 стандартом не описываются, видимо они специфичны для конкретного процессора.

Vslav
15.10.2014, 13:35
Режима user/supervisor у ВМ1 тоже нет. Пультовой режим очень условный, "реализуется" через бит во внешнем регистре. Ну ОК, осталось до моделирования дожить, будет ясно как PSW.11 и PSW.10 влияют.
А те описания ВМ1 что есть в Сети - это какой-то винегрет неточностей, собрано в кучу все из разных мест.

b2m
15.10.2014, 13:57
По поводу бита 11 - он может отвечать за выбранный набор регистров (в ВМ1 опять таки не реализован). Становится понятным, почему для режима HALT выбран бит 10 - в этом режиме свои регистры PC и SP, и это можно считать признаком режима HALT.
Получается:
разряд 11 - выбор альтернативного набора регистров R0-R5
разряд 10 - выбор альтернативного набора регистров R6-R7 (SP,PC)

Vslav
15.10.2014, 14:09
Пока говорим только про 1801ВМ1, реальная ситуация (из реверса моих трех экземпляров) с PSW такая:
15-12 - никак не влияют, оторваны, только читаются/пишутся с общей шины
11-10 - поступают только на приоритетный шифратор прерываний, это или запрос на прерывание или управление приоритетом (скоро выясним)
9-8 - номер процессора в системе, фиксирован
7 - тоже поступает на приоритетный шифратор, разрешение прерываний (утверждение по документации пока, не моделировалось)
6-5 - никуда не идут (есть следы что могли идти на приоритетный шифратор вместо 11-10 - там заложена технологическая коммутационная перемычка, сейчас установлен вариант на 11-10), не влияют
4 - T-флаг, идет на микроавтомат
3-0 - флаги арифметических операций, тоже поступают на микроавтомат

Alex_K
15.10.2014, 19:14
А что у 1801ВМ1 в PSW?
Насчет флагов, T-бита и разрешения прерываний/"приоритета" понятно. А вот старший байт интересный, разряды 13-15 куда-то шли, но потом их оторвали и бросили :), они не влияют на остальную схему, просто читаются-пишутся. Разряд 12 тоже оторван, но сразу, никуда изначально не шел. Разряды 11 и 10 формируют какие-то запросы на исключение/прерывание (или как-то управляют ими). Разряды 9-8 жестко фиксированы на номере процессора (всегда установлены в значение на внешних ножках PA1/PA0).
Update: разряды 10 и 11 могли коммутироваться "перемычками" на разряды 5-6, вероятно это приоритет разрешения прерываний. Получается что биты 10 и 11 PSW подменяют биты 5 и 6.
По поводу битов 10 и 11 много описано здесь (http://bk0010.org/forum/?id=3799&page=2), да и по самому процессору 1801ВМ1.

Vslav
15.10.2014, 20:16
По поводу битов 10 и 11 много описано здесь (http://bk0010.org/forum/?id=3799&page=2), да и по самому процессору 1801ВМ1.
Да, темка полезная, только большая сильно и потому тяжело полезное в ней искать. Я давно ее скопировал в текстовый файл и немножко переформатировал. По результатам реверса собираюсь написать нормальный документ по ВМ1, соберу все детали в кучку.

Vslav
15.10.2014, 22:40
Расковырял АЛУ, осталось еще около 3000 транзисторов.
Текущая версия схемки (http://sderni.ru/246231), будем надеяться в 20 листиков влезет, а то совсем скучно их переключать стало.

Patron
16.10.2014, 01:04
При установленном в PSW бите 10 запрещены все прерывания, включая IRQ1. Кроме того, при установленном бите 10 прерывание зависания вместо Trap_to_4 вызывает прерывание особого вида - HALT_Trap.

При установленном бите 11 запрещено только прерывание IRQ1, но данный режим реализован немного кривовато, так как сбрасывается командами RTI и RTT ( которые всегда пишут 0 в старший байт PSW ), а значит имеет смысл только при дополнительно запрещённых обычных прерываниях и не использовании программных прерываний.

Titus
24.10.2014, 01:07
Да это ужас-ужас просто - медленная печалька какая-то. Насколько я помню ту тему - это реально на MC1201.01 намеряли или на БК?
И еще вопрос есть - нет ли какого готового софта для PDP-11 для верификации ядра, аналогично такого как 8080 execiser для i8080?
Потому что на 580ВМ80А я гонял execiser достаточно долго, пока все косяки реверса не выловились.

Выложил тут (http://zx-pk.ru/showpost.php?p=747527&postcount=401) свой тест ВМ2, который прекрасно заработал на ДВК с ВМ1. Тест тестирует все команды (но не методы адресации) полным перебором со всеми комбинациями флагов. Кроме двухоперандных 16-битных команд, их он тестирует в несколько урезанном виде.
Могу тест подрезать, чтобы он тестил только ВМ1, если угодно.

CodeMaster
24.10.2014, 07:56
А 8080/8085 CPU Exerciser тестирует все команды процессора, например как он тестирует переходы и ветвления?

Titus
24.10.2014, 10:02
Могу тест подрезать, чтобы он тестил только ВМ1, если угодно.

Вобщем-то так и сделал. Тут (http://zx-pk.ru/showpost.php?p=747682&postcount=408) версия теста для ВМ1.

Vslav
24.10.2014, 11:34
А 8080/8085 CPU Exerciser тестирует все команды процессора, например как он тестирует переходы и ветвления?
Ветвление тестируется отдельным предварительным кодом, ставятся нужные флаги и проверяется корректность перехода/не перехода.
Арифметику и прочее он тестирует в двоичном режиме - генерирует опкоды вариантов команд, их аргументы, флаги, и добавляет к контрольной сумме результирующее полное состояние процессора. То есть перебором генерирует и исполняет все возможные варианты команд и их аргументов и входных флагов.

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

Vslav
31.10.2014, 19:20
Еще осталось упаковать около тысячи транзисторов.
Картинка (зелененькое - еще неразобранное)

http://s020.radikal.ru/i720/1410/28/f29e80de9a85t.jpg (http://s020.radikal.ru/i720/1410/28/f29e80de9a85.png)

MiX
04.11.2014, 16:19
Не совсем в тему, но может будет интересно.
Давно ходит байка о "послании советским инженерам", и оказывается такое послание есть. На английском послание будет так- When you care enough to steal the very best.

http://s017.radikal.ru/i406/1411/0b/0ac1f6eecc4d.jpg (http://www.radikal.ru)

CodeMaster
04.11.2014, 20:06
На английском послание будет так

Да, да, не было раньше гугл-переводчика.

Vslav
09.11.2014, 18:04
Врисовал в схему все транзисторы, получилось 16632 штуки. Причешу схему (последняя страница маловменяемая получилась) и буду уже верилог писать.

Syntal
10.11.2014, 18:39
Давно ходит байка о "послании советским инженерам", и оказывается такое послание есть. На английском послание будет так- When you care enough to steal the very best.

http://s017.radikal.ru/i406/1411/0b/0ac1f6eecc4d.jpg (http://www.radikal.ru)
А в каком кристале такое было?

MiX
10.11.2014, 18:43
Syntal, В VAXe естественно.

SKcorp.
10.11.2014, 20:09
А в каком кристале такое было?

CVAX, применявшихся в MicroVAX 3000 и 6200.

http://micro.magnet.fsu.edu/creatures/pages/russians.html

А вообще - баян жуткий, даже в Википедии есть: https://ru.wikipedia.org/wiki/VAX

Vslav
10.11.2014, 20:37
Насчет VAX - договорился с Борисом Кротковым насчет нескольких кристаллов 1839ВМ1, но мой товарищ все никак к нему не съездит и не заберет, уже та частная темка на ixbt умерла. Не факт что 1839 удастся отреверсить если там два слоя металла, тут надо технологию послойного шлифования осваивать или отсылать чипы декаперам которые ее уже освоили.

Сегодня еще пересекся с киевским ретро-энтузиастом, теперь у нас есть для реверса по парочке всех чипов серии 1811 и кучка 581-ых. Из 581-го комплекта пока не хватает 581РУ1.

Наверное буду еще делать челнок с печатными платами - переходник от отладочной платы (DE0/DE2) в корзинку ДВК/Э-60, с буферами на 531-ой серии, переходник от отладочной платы к дисководу (тоже с буферами) , и модуль процессора LSI-11/581-ой с возможностью грузить микропрограммы. Но это уже после окончания реверса 1801ВМ1.

Vslav
11.11.2014, 17:04
Причесанная схема (http://sderni.ru/249445), всего 19 листиков, обновил также прогресс в первом сообщении.

Titus
11.11.2014, 18:37
Причесанная схема (http://sderni.ru/249445), всего 19 листиков, обновил также прогресс в первом сообщении.

Браво)
Ничего там не выяснилось из недокументированных возможностей процессора и рудиментов таймера?

Vslav
11.11.2014, 19:00
Ничего там не выяснилось из недокументированных возможностей процессора и рудиментов таймера?

По таймеру я уже тут в теме отписался вкратце, подробнее опишу когда моделировать буду, сразу в даташит внесу. Поскольку процесс ожидается небыстрый буду выкладывать этот документ по мере пополнения.
А так процессор достаточно сложный, надо писать утилиту для автоматического перевода части нетлиста в верилог и разбирать микрокод. По части сигналов ясности нет - они получаются как результат декодирования выхода ПЛМ, поэтому там цепи называются типа EXC_UNK1 (Exception Unknown 1), или UNK_STB (Unknown Strobe), но таких цепей немного - пару десятков.

Случайность
15.11.2014, 00:25
выяснилось что нибудь о многопроцессорности?

все же это самое интересное,

Vslav
15.11.2014, 11:01
все же это самое интересное,

Да, ради многопроцессорности это, в-основном, и затевалось.
Ну регистры все распознались, доступ к ним тоже, но чтобы понять как работает надо моделировать. Сейчас поднимаю экспериментальный модуль на реальных 2x1801ВМ1 + плата DE0, чтобы походу верфицировать разные ситуации. Вот сбросы DCLO и ACLO интересно устроены, есть особенности, прежде чем документировать надо проверить на живом ВМ1 что именно так оно и работает.

MM
21.11.2014, 04:04
Вот вопрос профана в процессорах - для уважаемого Vslav :
А если взять 8СПП формата полной платы ДВК и разместить на ней кучу ИС серии 74Fххх, и даже современное ПЗУ ( предположим, много метров ) и СОЗУ ( ну по полметра на чип ) - поместится ли процессор класса 1801ВМ3-10 мгц в 300 ИС мелкоты, или речь идет о тысячах ИС ?
( Схемные решения - на момент 1991 г., ну кроме СОЗУ/ПЗУ ).

Vslav
21.11.2014, 10:23
поместится ли процессор класса 1801ВМ3-10 мгц в 300 ИС мелкоты, или речь идет о тысячах ИС ?

Класса 1801ВМх, скорее всего, не поместится.
С другой стороны, DEC сделала свой KDA-11 на нескольких платах на 74-ой серии, то есть ситуация неопределенная, "на грани". Процессор попроще, типа KDA и на 74-ой чуть более высокой степени интеграции, может быть и влезет.

Случайность
21.11.2014, 23:18
ВМ1-3 на рассыпухе думаю нерально, либо выйдет в шкаф.
ВМ80 на БИС и то выходит толи 40-толи 60 корпусов, но там была аппратно програмная эмуляция.

MiX
26.11.2014, 23:40
Vslav, Я так понимаю вы снимаете крышки с процессора чтобы увидеть кристалл. А как быть с пластмассовым корпусом? Раньше слышал что микросхему спиливали по микрону и фотографировали до подложки. Но что то очень много фотографировать получится. :) Нашел в сети вскрытие методом травления, в этом случае по моему что вместе с пластмассой можно что нибудь нужное стравить.

Часть первая http://habrahabr.ru/company/zeptobars/blog/157917/
Часть вторая http://habrahabr_full.complexdoc.ru/540218.html

Vslav
27.11.2014, 00:06
А как быть с пластмассовым корпусом?
Травить - это слишком сурово для меня, там нужно кипятить концентированные кислоты - перчатки, фартук, противогаз, вытяжной шкаф и прочее. Дома мне таким жена не разрешает заниматься - ей паркет жалко :), поэтому я было нашел вариант на стороне (лаборатория в университете), но в итоге пришел к более простому методу - выпиливаю из пластика центральный кусочек с кристаллом, а потом просто прокаливаю его в пламени зажигалки. Важно не перегреть, газовый паяльник, например, плавит местами слой алюминиевой металлизации, зажигалка в самый раз. Эпоксидный компаунд выгорает, остается только наполнитель, и этот кусочек обычно сам отпадает от кристалла. Иногда не везет - кристалл скалывается, "выход годных" - примерно 70 процентов.



Раньше слышал что микросхему спиливали по микрону и фотографировали до подложки

Мы пока простые микросхемы смотрим, один слой металлизации, достаточно его сфотографировать, а потом все сошлифовать и сфотографировать слой диффузии - итого всего две фотографии. Я шлифую банальной зубной пастой Lacalut Fluor - частицы у нее большие, но у них идеально подходит твердость - алюминий и полисиликон она царапает хорошо, а кремний практически нет. Сейчас BarsMonster написал что прикупил какой-то мелкий абразив и можно будет избирательно снимать только слой металла, тогда возможно появится способ реверсить микросхемы с двумя металлами типа серии 1831 (это если они там два полисиликона не замутили, как в оригинальном DEC J-11) и 1839.

Vslav
28.11.2014, 20:31
Ну вот что за люди, нет чтобы ясно написать какой кристалл - пишут какие-то этрусские надписи :)

http://s017.radikal.ru/i432/1411/9f/99ac32ebfd8at.jpg (http://s017.radikal.ru/i432/1411/9f/99ac32ebfd8a.jpg)

DEC DC334 - Data chip of J11 - технология "Harris double-poly 4u P-well CMOS" - два слоя полисиликона, очень на то похоже. Кристалл большой 7*8 мм примерно.

Это я так, в порядке пятничного, в планах реверса этого чипа пока нет - очень уж здоровый.
Update: Эх, набраться наглости, написать Бобу, и попросить шаблоны или сразу скан-схемы (хотя ходят слухи что они где-то в Сети и так есть)

Titus
28.11.2014, 21:00
А что на счет реверса загадочных УКНЦ'шных чипов КА1515ХМ1-031 и 1515ХМ2-001?

Vslav
28.11.2014, 21:03
А что на счет реверса загадочных УКНЦ'шных чипов КА1515ХМ1-031 и 1515ХМ2-001?
Пока лежат в коробочке - ждут. Надо потренироваться открывать этот корпус на тех 1515 которых у меня много, потом открывать уже интересующие. Если есть интерес - то могу относительно быстро сделать серии снимков и выложить для сшития панорамы и векторизации желающими.

Update: 1801ВП1-120 сфотографирована, надо сшивать серию. -055 есть в наличии, надо вскрывать и фотографировать.

Titus
28.11.2014, 21:15
Пока лежат в коробочке - ждут. Надо потренироваться открывать этот корпус на тех 1515 которых у меня много, потом открывать уже интересующие. Если есть интерес - то могу относительно быстро сделать серии снимков и выложить для сшития панорамы и векторизации желающими.

Буду рад даже снимкам. Главное, чтобы дело сдвинулось.
И потом, разве в них много элементов? Судя по функциональности - раз, два и обчелся.

MM
28.11.2014, 21:20
Update: 1801ВП1-120 сфотографирована, надо сшивать серию. -055 есть в наличии, надо вскрывать и фотографировать.

Очень интересно - что тамова унутри.
Особенно регистры и биты в них. :v2_dizzy_mutant:

Titus
28.11.2014, 21:29
Очень интересно - что тамова унутри.
Особенно регистры и биты в них. :v2_dizzy_mutant:

Да, 120 тоже очень интересно. Все УКНЦ-шные чипы - это очень интересно)

MM
28.11.2014, 21:43
Особо интересен мост МПИ1 177560 - МПИ2 177560 .

Vslav
28.11.2014, 21:59
И потом, разве в них много элементов? Судя по функциональности - раз, два и обчелся.

Да, в 1515ХМ1 почти в два раза больше ячеек чем в 1801ВП1. Другое дело что могут не все использоваться, но тогда в УКНЦ применили бы 1801ВП1, если схема в них влазила. Это только мое предположение, могли применить потому что 1515ХМ1 - уже КМОП, чуть больше скорость и маленькое потребление. Ну и 1515ХМ1 еще технология у меня не откатана - надо библиотеку распознавать и создавать, это реально, так как она описана в той же книжке что и 1801ВП1.

Titus
28.11.2014, 22:11
Да, в 1515ХМ1 почти в два раза больше ячеек чем в 1801ВП1.

Может уже сфоткать и выложить, кто-нибудь потихоньку начнет перерисовывать.

Vslav
28.11.2014, 22:22
Может уже сфоткать и выложить, кто-нибудь потихоньку начнет перерисовывать.

1515 еще вскрывать надо научиться. Пообещать-то фотографии я могу, но когда сделаю - пока не знаю, не хочется распыляться между проектами, пока мучаю реверс 1801ВМ1 и запускаю двухпроцессорный модуль на нем же.
Сейчас посмотрел на 120-ую, там 72 снимка, полтора гигабайта, качество фото среднее - я особо не старался, поскольку микроскоп на столе, всегда непонятку глазами подсмотреть можно, поэтому надо бы переснять, если "на сторону" реверс отдавать.

Titus
28.11.2014, 22:32
1515 еще вскрывать надо научиться. Пообещать-то фотографии я могу, но когда сделаю - пока не знаю, не хочется распыляться между проектами, пока мучаю реверс 1801ВМ1 и запускаю двухпроцессорный модуль на нем же.
Сейчас посмотрел на 120-ую, там 72 снимка, полтора гигабайта, качество фото среднее - я особо не старался, поскольку микроскоп на столе, всегда непонятку глазами подсмотреть можно, поэтому надо бы переснять, если "на сторону" реверс отдавать.

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

MM
28.11.2014, 23:53
Меня все же пока больше интересуют тайны 1515, ибо как я не бился, программными тестами полностью выявить особенности таймера не получилось (хотя и продвинулись довольно далеко).
А кое-кто на соседнем форуме сидит и злобно шипит :
- ковыряйтесь-ковыряйтесь, шпионеры ... Все равно ТО не получите ! :v2_dizzy_facepalm:

Vslav
29.11.2014, 00:48
Меня все же пока больше интересуют тайны 1515

Хорошо, я понял. Планировал после 1801ВМ1 фотографировать 581-ую серию, ну значит чуток сдвинем и отсниму ВП1-055/095/096/120, а также 1515ХМ1 из УКНЦ.

Сейчас посмотрел - у меня есть в наличии:
1515XM2-001 - 4 (аналог ХМ1-031)
1515XM1-032 - 4
1515XM2-003 - 4 (аналог ХМ1-039)

ХМ2 тоже подойдут же?
Надо поискать еще -036/-136 где-то.

Update: пока смотрел на описание 1515ХМ1 зацепился за 1527ХМ1, которые в Э85. Так там шара - всего 96 ТТЛШ ячеек, почти нечего разбирать.

Titus
29.11.2014, 00:56
Сейчас посмотрел - у меня есть в наличии:
1515XM2-001 - 4 (аналог ХМ1-031)

В том-то и дело, хоть это и как бы аналоги, но по сути функционал отличается, и необходимо иметь схему обеих чипов. Я даже делал тест для УКНЦ, который программно может их различить, по разным типам глюков, которые они выдают (а глючат относительно ТО оба).

Vslav
29.11.2014, 01:18
В том-то и дело, хоть это и как бы аналоги, но по сути функционал отличается

Полный отпад, получается что для УКНЦ в общей сложности надо разобрать 2 ВП1, и 6 ХМ1 - всего 8 вариантов БМК, и это не считая самого процессора 1801ВМ2. Да шож УКНЦ такой сложный-то... Вместе три варианта МС1201.0х + КЦГД и то попроще будут.

Titus
29.11.2014, 03:05
Полный отпад, получается что для УКНЦ в общей сложности надо разобрать 2 ВП1, и 6 ХМ1 - всего 8 вариантов БМК, и это не считая самого процессора 1801ВМ2. Да шож УКНЦ такой сложный-то... Вместе три варианта МС1201.0х + КЦГД и то попроще будут.

Да вообще капец, сколько в нем наворотов)

А подробнее про разновидности чипов знает пожалуй только Alex_K.

---------- Post added at 04:05 ---------- Previous post was at 04:03 ----------


не считая самого процессора 1801ВМ2.

На сколько я помню, ВМ2 уже начинал разбирать felix года 3 назад, не меньше. И у него даже были на сайте фотографии каких-то мест кристалла и он уже определил, сколько там внутренних регистров. А потом это все как-то заглохло.

Vslav
29.11.2014, 18:16
Открыл 1515ХМ2-001. Кристалл никак не крепится к теплорассеивающей пластинке (на серии 1801 он припаян к ней), пластик паршивый - содержит пустоты - такое ощущение что просто залили в открытую форму, без опрессовки, при выжигании пузырится. Но кристалл открылся, не раскололся, но чуток подкоптился.

Внутри надпись 1515 031:
http://s018.radikal.ru/i526/1411/1e/c2bdbcd2ac6ft.jpg (http://s018.radikal.ru/i526/1411/1e/c2bdbcd2ac6f.jpg)

Структура ячейки конечно другая, и нет фиксированного слоя полисиликона - такое ощущение что он тоже уникальный для "номера прошивки", то есть меняется не только металл. Проектные нормы меньше, кристалл большой, как бы его тоже на x20 отснимать не пришлось.
http://s010.radikal.ru/i311/1411/a4/93dbf6e0b307t.jpg (http://s010.radikal.ru/i311/1411/a4/93dbf6e0b307.jpg)

В-общем, от 1801ВП1 технологически оно сильно отличается и не в сторону упрощения.

Update: у открытой 1515ХМ2 еще и области диффузии отличаются от ячейки к ячейке. Получается это вообще не БМК, а заказной чип сделанный на базе измененной библиотеки БМК. И все ячейки использованы, и их не 22 ряда как в описании 1515ХМ1 а 19, совершенно другой чип.

Update2: Вскрыл 1515ХМ1-032, вскрылась плохо - раскололся и металл ушел месте с пластиком (компаунд какой-то левый, надо попробовать растворитель, вдруг сможет снять). Но там нормальная структура БМК - ячейки, полисиликон и прочее. Это реверсить намного проще, чем ХМ2, усилия по реверсу которой сравнимы с реверсом процессора.

MM
29.11.2014, 20:52
...Поскольку
никому по сути ненужную поддержку магнитофона они впихнули (!) И даже в бытовой поставке контроллер в комплекте не шёл, а только за отдельную плату.
И стоил почти как сама УК-НЦ (если не дороже в дальнейшем уже).
Это связано было с историей разработки УКНЦ.
Ранее в Зеленограде разработали БК10, а после того, как БК10 пошел в крупную серию в 1985 г, состоялась большая комиссия, которая признала БКшку дерьмом и поручила лихорадочно устранить недостатки БКшки :
1. 64 кода в видеостроке вместо 80 - что бы шел софт под RT-11.
2. Нормальную клаву приделать - как в лучшем импорте.
3. Архитектуру максимально приблизить к ДВК - в т.ч. что бы был 177560.
4. И что бы небольшая и на порядок дешевле ДВК была.
5. И пригодная для бытового применения - т.е. с магнитофоном.
6. И что бы в стандартном классе не торчало из УКНЦ всяких там блоков.

Вот и результат.

Потом была попытка приделать ИС 1831, 565РУ7. дисковод в корус - но так медлили, что и СССР развалился - одни только фотки КД комплектации остались - в одной из соседних веток обсуждали это ( г. Воронеж ).

И как опофеоз бытового компьтеростроения в совке - примерно в 1995 г. признали - что моник МС6105 не удовлеворяет требованиям школ по электромагнитным излучениям - и вовсе запретили совковые классы включать.

1Ж24Б
29.11.2014, 22:37
По корпусу 1515ХМ2. если выглядела так же, как БИС из МК85, то фокус с зажигалкой закономерно провалился - смола просто заливалась в рамку из пластика. На практике легко набухает в смеси ацетона и диметилсульфоксида до состояния "сыр".

Titus
29.11.2014, 22:44
Вскрыл 1515ХМ1-032, вскрылась плохо - раскололся и металл ушел месте с пластиком (компаунд какой-то левый, надо попробовать растворитель, вдруг сможет снять). Но там нормальная структура БМК - ячейки, полисиликон и прочее. Это реверсить намного проще, чем ХМ2, усилия по реверсу которой сравнимы с реверсом процессора.
Без реверса хм2 тоже не обойтись, ибо она с исправленными ошибками.

Vslav
29.11.2014, 23:18
По корпусу 1515ХМ2. если выглядела так же, как БИС из МК85, то фокус с зажигалкой закономерно провалился - смола просто заливалась в рамку из пластика. На практике легко набухает в смеси ацетона и диметилсульфоксида до состояния "сыр".
Да у меня все 1515 такие - жесткое матовое корытце из эпоксидки, с зафиксированными в ней выводами, и это корытце залито чем-то блестящим и легко царапающимся ножом. Это блестящее выгорает в хлам и портит кристалл. Диметилсульфоксид у меня есть + попробую растворитель типа 646/647, ацетон так сразу не найти (прекурсор).

CodeMaster
30.11.2014, 07:25
в одной из соседних веток обсуждали это ( г. Воронеж )

Можно ссылку или поподробней?

MM
30.11.2014, 15:15
Можно ссылку или поподробней?
http://zx-pk.ru/showpost.php?p=757297&postcount=4
http://zx-pk.ru/showthread.php?t=21550

CodeMaster
30.11.2014, 16:02
фотки КД

Понял, что это не модуль так назвался, но все равно не понял аббревиатуры ;-) "фотки конструкторской документации комплектации"?

MM
30.11.2014, 16:12
КД - это значит Конструкторская Документация. Я как-то привык за 30 лет к этой аббревиатуре.

CodeMaster
30.11.2014, 18:52
КД - это значит Конструкторская Документация.

Ну, во фразе просто весьма странно звучит, но не ссуть, разобрались и отлично.

Vslav
30.11.2014, 19:07
Диметилсульфоксид помог - он это "блестящее" в мягкую резинку превращает. Немножно не повезло - на столе под кристалл, под бумагу, попала мелкая твердая частица (я недоглядел) и он хрупнул на две части :(. Дальше я его уже сурово ковырял деревянной палочкой. Это была 1515ХМ1-032. Не хотел делать фото, но пришлось, производитель микросхемы - "Веселый молочник" :)

http://s010.radikal.ru/i311/1411/dd/ed28b904a828t.jpg (http://s010.radikal.ru/i311/1411/dd/ed28b904a828.jpg)

Случайность
30.11.2014, 19:12
удалось ли узнать где в 1801ВМ1 прячется блок умножения? и как он отключается?

а то часто столько разговоров, а вот в живую что это, мало кто знает

---------- Post added at 19:12 ---------- Previous post was at 19:09 ----------

диметилсульфоксид любой корпсуной пластик ИС жрет или нет?

диметилформамид что то не хочет. у меня уже несколько лет киснут 580ГФ24 в коричневом корпусе, и 581ИК2 в черном, так коричневый стал шелушиться а черный как новый

Vslav
30.11.2014, 19:19
удалось ли узнать где в 1801ВМ1 прячется блок умножения? и как он отключается?

Единственное место где он может "прятаться" - это микрокод, разборкой которого я сейчас занимаюсь. Внутренних скрытых регистров у ВМ1 вполне достаточно для микропрограммной реализации умножения.
А инструкция MUL разве отключается (генерирует исключение недопустимой команды)? Я думал что она просто не работает как положено - дает мусорные результаты.



диметилсульфоксид любой корпсуной пластик ИС жрет или нет?

По-видимому, не любой, у меня ВП1 он растворять даже при кипячении не захотел.

Случайность
30.11.2014, 19:37
ДМФА легко растворяет в *****подобную кашу любые эпоксидные компаунды. Но вонючий до жути. корпуса обычных микросхем сделаны из какого то другого пластика.

что касается блока умножения. тона всех форумах пишут что он отключен, а есть только в 1801ВМ1Г
что значит отключен? не понять, то есть физически, или логически не работоспособен не известно

вот бы БК-шечники как то проверили это скрамливая каменюке команды умножения. и посмотрели что же случится

SKcorp.
30.11.2014, 22:24
вот бы БК-шечники как то проверили это скрамливая каменюке команды умножения. и посмотрели что же случится

Прерывание по 10-ому вектору.

Vslav
01.12.2014, 00:18
Прерывание по 10-ому вектору.
Да-а-а-а.... Пока бегло просмотрел декодер - SOB (077xxx) и XOR (074xxx) есть, а вот MUL (070xxx) в сфотографированном ВМ1А не видно. Это, конечно, ничего не значит - рановато что-либо утверждать до полного анализа микрокода. Но вот это будет фокус если версия ВМ1Г делалась по отдельной маске.

MiX
01.12.2014, 00:55
производитель микросхемы - "Веселый молочник" :) Скорей всего производитель думал о том что чип когда нибудь вскроют и решил себя увековечить. А логотип наверно связан с фамилией разработчика, например "Коровин". :)

P.S Если что, здесь (http://www.3dnews.ru/787116?top-articles-block) ещё логотипы.

hobot
01.12.2014, 03:13
производитель микросхемы - "Веселый молочник"
А вы уверены, что это корова ? Похожа на бурёнку конечно, но ...
Чем интересно обусловлена цифра "2" в основании этой т.н. "бурёнки" ?

Vslav
01.12.2014, 08:52
А вы уверены, что это корова ? Похожа на бурёнку конечно, но ...

Совершенно не уверен, думаю что это бык, рога большие :)
Мало похоже на тестовую структуру, очень вероятно что это "пасхалка", тем более находится в области рядом с номером версии кристалла, "подпись" инженера - фамилия разработчика могла быть Быков, например :)

Vslav
05.12.2014, 01:26
Обновлен первый пост - выложена (на хостинг BarsMonster) полная панорама слоя диффузии 1801ВМ1.
Вскрылась 1515ХМ2-003, очень сильно отличается размером от -001, тоже сугубо специальный кристал, не БМК.

Titus
05.12.2014, 05:05
Вскрылась 1515ХМ2-003, очень сильно отличается размером от -001, тоже сугубо специальный кристал, не БМК.

Похоже, реверсенье всех микрух для УКНЦ (и всех версий) - это не один год работы)

NovaStorm
05.12.2014, 09:54
1515ХМ2-003 ... не БМК.

На википедии тогда нужно бы поправить. И чего они в одну серию всё запихали...

Titus
10.12.2014, 13:57
Как там обстоят дела с прогрессом в области 1515ХМ1/2? Не терпится)

Vslav
10.12.2014, 14:48
Как там обстоят дела с прогрессом в области 1515ХМ1/2? Не терпится)

Работы основной много, запарился чуток, один проект никак не вылижу, в хобби некоторая пауза.
Товарищ в Москве сегодня запросит по конторам списочек по КА1515ХМ1 (-031, -032, -036/136, -039), если чего будет в наличии - то прикупит и мне перешлет. А если уже не найдется - то тогда попрошу помочь в поиске микросхем на форуме. А пока все это будет тянуться - перефотографирую ВП1-120 и ВП1-055. Я посмотрел схему и описание УКНЦ - микросхемы простые, больших сложностей с реверсом не ожидается. Кстати, вечерами допиливаю (уже в пикаде готова) схему ВП1-119, а то "хвост" недоделанный остался, надо вопрос закрыть.
ХМ2-003 успешно вскрыта, можно тоже фотографировать. ХМ2-001 у меня еще есть в наличии, но, наверное, буду ждать ХМ1 чтобы сразу всю кучку размочить в ДМСО.
Фотографии постараюсь сделать и выложить пораньше, но реверсить, наверное, уже буду после окончания реплики ВМ1. Или может кто еще желающий найдется.

Titus
10.12.2014, 23:27
Я посмотрел схему и описание УКНЦ - микросхемы простые, больших сложностей с реверсом не ожидается.

Ну вот, все микрухи простые, а вы нагоняли страху, что они монстроидальные) Сейчас в два счета среверсите.

---------- Post added at 00:27 ---------- Previous post was at 00:27 ----------


Фотографии постараюсь сделать и выложить пораньше, но реверсить, наверное, уже буду после окончания реплики ВМ1. Или может кто еще желающий найдется.

Скорее бы фотки, может кто-то возьмется помочь с реверсом.

Vslav
10.12.2014, 23:31
Ну вот, все микрухи простые, а вы нагоняли страху, что они монстроидальные) Сейчас в два счета среверсите.
Не все, пока я имел ввиду пока только ВП1-055/120 :)
Горячий диметилсульфоксид рулит для 1515ХМ, легко и красиво открылась за пару часов 1515ХМ2-001. Еще сегодня вечером открыл 1801ВП1-055, кристалл целый, чуток покоцался, но микросхема ОЧЕНЬ простая - меньше четверти ячеек использовано, отреверсится. Также обточил 581ИК1, ИК2, РУ2. Но на них ДМСО, похоже, не действует, придется жечь, увы.

Titus
10.12.2014, 23:52
Горячий диметилсульфоксид рулит для 1515ХМ, легко и красиво открылась за пару часов 1515ХМ2-001.

Так скорее же фотки всех слоев! Это же загадка десятилетия - таймер работает, но как, никому доподлинно неизвестно.

---------- Post added at 00:52 ---------- Previous post was at 00:34 ----------

Вот каким образом я навострился в своем тесте различать ХМ1-031 (в которой больше глюков) и ХМ2-001 (в которой меньше глюков, но и они имеются).
Если в вероятностном тесте неснятия бита готовности есть значения отличные от 0%, то это ХМ1-031. Иначе - ХМ2-001.

http://s04.radikal.ru/i177/1412/8d/933cd0100c34.png (http://www.radikal.ru)

1Ж24Б
11.12.2014, 18:57
У меня есть подозрение, что "весёлый молочник" успел отметиться на нескольких кристаллах "Ангстрема".

Vslav
12.12.2014, 12:45
Микросхемы ХМ1-032 и ХМ1-039 нашлись и запланированы к покупке.
ХМ1-031, -036, -136 - нет. Кто-нибудь может помочь с приобретением/доставанием этих микросхем? Отправка товарищу в Москву, он уже мне переправит. Почту и другие расходы я компенсирую.

SKcorp.
12.12.2014, 18:57
Микросхемы ХМ1-032 и ХМ1-039 нашлись и запланированы к покупке.
ХМ1-031, -036, -136 - нет. Кто-нибудь может помочь с приобретением/доставанием этих микросхем? Отправка товарищу в Москву, он уже мне переправит. Почту и другие расходы я компенсирую.

У меня на дохлой плате УК-НЦ есть 136 и 031.

Vslav
12.12.2014, 20:30
У меня на дохлой плате УК-НЦ есть 136 и 031.
Личка переполнена :)
Можно эти микросхемы аккуратно "сдуть" и отправить в Киев или в Москву? Стоимость? Ответ можно в личку, у меня почищено :)

Бонус для нетерпеливых - свежеободранный 1515ХМ2-001 (http://s.zeptobars.ru/xm2-001.jpg) (ахтунг - 600+ МБ!). Есть небольшие шероховатости, но на реверс не влияет, ногами меня не пинать :)

Titus
13.12.2014, 04:53
Бонус для нетерпеливых - свежеободранный 1515ХМ2-001 (http://s.zeptobars.ru/xm2-001.jpg) (ахтунг - 600+ МБ!). Есть небольшие шероховатости, но на реверс не влияет, ногами меня не пинать :)

Это для меня) Что-нибудь по нему видно на первый взгляд? Легко, сложно его реверсить?
(Посмотреть картинку не могу, кунг-фу моего компьютера недостаточное для его открытия).

Vslav
13.12.2014, 13:16
Это для меня) Что-нибудь по нему видно на первый взгляд? Легко, сложно его реверсить?
(Посмотреть картинку не могу, кунг-фу моего компьютера недостаточное для его открытия).
На Win32 с 4ГБ памяти должно открываться.
Вот уменьшенный вариант (http://sderni.ru/253897) (35МБ). Реверсить как обычный БМК, распознать и составить библиотеку ячеек и вперед. Много ячеек правда, около 1000 шт.

Vslav
13.12.2014, 21:34
Собрал панораму 1515XM2-003.
Низкое разрешение: 41МБ (http://u.zeptobars.ru/yuot/1515/xm2-003qd.jpg)
Полное разрешение:500МБ (http://u.zeptobars.ru/yuot/1515/xm2-003hd.jpg)
Обновил первый пост в теме.

hobot
13.12.2014, 21:46
Vslav, у вас уже во втором сообщение подряд ссылки на фото меньшего размера
какие-то не правильные ) Что то вы не так копируете вставляете ?

Vslav
13.12.2014, 22:06
Vslav, у вас уже во втором сообщение подряд ссылки на фото меньшего размера
какие-то не правильные ) Что то вы не так копируете вставляете ?

Угу, это на хостинге что-то закешировалось - файл с таким именем был сначала низкого разрешения. Добавил высокое разрешение как новый файл, ссылки откорректировал, пробуйте.

hobot
13.12.2014, 22:18
ссылки откорректировал, пробуйте.
А в предыдущем не кликабельная осталась http://zx-pk.ru/showpost.php?p=761106&postcount=166 на 35мб которая )

Vslav
13.12.2014, 22:40
А в предыдущем не кликабельная осталась http://zx-pk.ru/showpost.php?p=761106&postcount=166 на 35мб которая )
Тоже поправил :)

Titus
14.12.2014, 15:17
На Win32 с 4ГБ памяти должно открываться.
Вот уменьшенный вариант (http://sderni.ru/253897) (35МБ). Реверсить как обычный БМК, распознать и составить библиотеку ячеек и вперед. Много ячеек правда, около 1000 шт.

Отнес файл на комп с 4Гб оперативы и Win7, ни одним вьювером даже посмотреть не удалось) Пишут, что файл 'поврежден или слишком велик'. Пробовал IrfanView, Paint и стандартный просмотрщик изображений.

Вопрос - в чем смотреть? В чем вы их отрисовываете? И вообще как?

hobot
14.12.2014, 15:21
Вопрос - в чем смотреть?
Погоди ка, уточни свою проблему, поскольку 35мб вариант у меня даже браузер открывает )

Titus
14.12.2014, 15:26
Погоди ка, уточни свою проблему, поскольку 35мб вариант у меня даже браузер открывает )

я имею ввиду 600мб вариант.

Vslav
14.12.2014, 19:35
Вопрос - в чем смотреть? В чем вы их отрисовываете? И вообще как?

Хм, у меня уже Win32 с большой памятью нигде и не осталось - попробовать негде. Везде Win7x64 (есть только Win2K на старом ноуте с 128Мбайтами), на этом компьютере Win7x64 и 16ГБ памяти - открывает и стандартный вьюер и IrfanView. Paint - не открывает. Я уперся в нехватку памяти 16ГБ когда пытался собрать панораму ВМ1 на 1.6 гигапикселя, пришлось удовольствоваться всего 0.4 гигапикселя.

Хорошо, попробуем так:
1515XM2-001 (половинное разрешение - 193МБ) (http://u.zeptobars.ru/yuot/1515/xm2-001qd.jpg)
1515XM2-003 (половинное разрешение - 148МБ) (http://u.zeptobars.ru/yuot/1515/xm2-003qd.jpg)

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

Titus
14.12.2014, 20:29
У меня виндовс 7 64 с 4гигами.
Можно краткую инструкцию, как реверсить по фотке и в чем?

Vslav
14.12.2014, 21:09
У меня виндовс 7 64 с 4гигами.
Можно краткую инструкцию, как реверсить по фотке и в чем?
Другие полезные темы по реверсу:
Потактовый клон i8080 на FPGA/CPLD (http://zx-pk.ru/showthread.php?t=23349)
Reverse engineering 1818ВГ93 (http://zx-pk.ru/showthread.php?t=24276)

Описание маршрута реверса БМК:
- берем SprintLayout 6.0, ставим фото фоновым изображением
- рисуем слои металла и поликремния как два слоя платы
- для БМК отдельные транзисторы не рисуем, изображаем ячейки как микросхемы с определенными фиксированными позициями выводов - чтобы потом в PCAD туда ровно встали компоненты
- делаем из SprintLayout экспорт слоев в формате гербер
- герберы импортируем в PCAD 2004
- потом набрасываем туда созданные ячейки как компоненты из библиотеки (которую нужно создать по результатам анализа примененных ячеек и опираясь на информацию из книжки по БМК)
- при этом включен ECO по которому делаем обратную аннотацию в схему в PCAD-е же
- схему "руками" приводим в удобочитаемый вид (она после обратной аннотации получается в "диком" виде)
- проводим постоянный автоматический контроль изменяемой схемы с файлом "платы" путем сравнения нетлистов
- описываем ячейки как модули верилога с временнЫми параметрами (взятыми из документации на 1515ХМ1) для моделирования
- из готовой схемы PCAD извлекаем нетлист
- переводим нетлист в верилог (утилиту я дам, когда дойдет до этого этапа)
- моделируем верилог и убеждаемся что работает правильно
- если неправильно - ищем ошибки и исправляем

Vslav
15.12.2014, 00:14
Да, если нужна будет помощь - то могу начать реверс в SprintLayout, создам проект с нужными настройками, произведу разметку, выберу сетку, места под площадки ячеек.

Titus
15.12.2014, 02:29
Хорошо, попробуем так:
1515XM2-001 (половинное разрешение - 193МБ) (http://u.zeptobars.ru/yuot/xm2-003qd.jpg)
1515XM2-003 (половинное разрешение - 148МБ) (http://u.zeptobars.ru/yuot/xm2-003qd.jpg)

Опять косяк со ссылками) Обе указывают на -003.

---------- Post added at 03:29 ---------- Previous post was at 02:36 ----------



Описание маршрута реверса БМК:
- берем SprintLayout 6.0, ставим фото фоновым изображением
- рисуем слои металла и поликремния как два слоя платы

Как на счет ликбеза, что такое полисиликон, металл и поликремний (в теории и на примере фотки)? И как из них составляются транзисторы?

Vslav
15.12.2014, 14:58
Опять косяк со ссылками) Обе указывают на -003.
Спасибо, поправил.



Как на счет ликбеза, что такое полисиликон, металл и поликремний (в теории и на примере фотки)? И как из них составляются транзисторы?
На примере ХМ2-001.
Открываем картинку и видим стройные вертикальные столбцы каких-то структур. Эти структуры объединяют в себе несколько транзисторов и называются ячейкой. Обычно ячейка выполняет какую-то законченную логическую функцию - НЕ, И-НЕ, ИЛИ-НЕ, или посложнее - D-триггер, мултиплексор 2-в-1 итд. Такие ячейки удобно представлять как готовые компоненты, типа микросхем - не надо вникать и прорисовывать структуру вплоть до транзистора. Ячейки следует пронумеровать, я столбцы обзываю буквами латинского алфавита слева направо, и далее в каждом столбце нумерую сверху вниз, получаются нумерованные ячейки A0, A1, A2.. A30, B0, B1... K10 итд. Открываем файл с ХМ2-001 и в правом верхнем углу видим то что можно назвать ячейкой A0 (картинки кликабельны):
http://i077.radikal.ru/1412/bc/6c6826897668t.jpg (http://i077.radikal.ru/1412/bc/6c6826897668.jpg)

В данной серии 1515ХМ2 Имеется три электрически значимых слоя:
- металл
- поликремний (он же полисиликон)
- диффузия

Слой металла - самый верхний, на фотографиях желтого цвета. В этом слое можно четко выделить линии питания - GND (земля) и +E (положительное питание для серии 1515). Нарисуем синими линиями:
http://s018.radikal.ru/i506/1412/e0/a1878976f204t.jpg (http://s018.radikal.ru/i506/1412/e0/a1878976f204.jpg)
Металл - он просто металл, формирует проводники. Обычно это алюминий с небольшим процентом меди. Интересный факт, что если нет этих нескольких процентов меди, то при протекании токов из-за эффектов электромиграции со временем происходит разрушение проводников в тонких местах и последующий отказ схемы.

Под металлом находится слой поликремния, на фотографиях красноватый (вообще бывает разных оттенков), зарисуем зеленым цветом. На первых моих реверсируемых 1801ВП1 поликремний имел зеленый оттенок, поэтому традиция уже такая - поликремний-зеленый:
http://s018.radikal.ru/i509/1412/60/a1d055625f73t.jpg (http://s018.radikal.ru/i509/1412/60/a1d055625f73.jpg)
Поликремний может формировать как проводники, так и затворы транзисторов. Может соединяться электрически со слоем металла при помощи переходных отверстий (бирюзовые кольца).

И самый нижний электрический слой - диффузия, формируется в самой кремниевой подложке ионной имплантацией примесей нужного типа. Может формировать как проводники (с относительно высоким сопротивлением), так и транзисторы.
http://s020.radikal.ru/i702/1412/85/72ad00a596edt.jpg (http://s020.radikal.ru/i702/1412/85/72ad00a596ed.jpg)
В зависимости от того, чем легировано (Ангстрем использовал бор и фосфор), получаем области проводимости n или p-типа. По фотографии тип легирования определить обычно нельзя, но я сделал это логически, потому что часть транзисторов присоединена к соответствующим линиям питания. Для нас тип легирования не очень важен, работа схемы обычно понятна без вникания в такие детали.

Там где поликремниевый проводник проходит над областью диффузии - формируется транзистор. Поликремний играет роль затвора, диффузия под поликремнием образует канал, а области диффузии по сторонам от затвора формируют симметричные сток и исток.
http://i067.radikal.ru/1412/f7/d0a7bd219beet.jpg (http://i067.radikal.ru/1412/f7/d0a7bd219bee.jpg)

Области диффузии, не пересеченные поликремнием следует рассматривать как единый проводник.
Продолжение следует.

Titus
15.12.2014, 15:26
Пока пишется продолжение, сразу несколько вопросов)

1) Почему поликремний иногда заканчивается тупиком, ни с чем не соединяясь?
2) Все ли переходные отверстия соединяют все 3 слоя, или же есть переходные отверстия соединяющие только два слоя?
3) Почему переходные отверстия натыканы иногда друг за другом? Для уменьшения сопротивления переходного отверстия или для чего-то еще?
4) Почему диффузия отливает то зеленым оттенком, то красным?

bigral
15.12.2014, 15:27
Почему вокруг области "дифузии" видна тонкая черная полоска??? как её сделали? к стати такая же черная линия по борту поликремния когда его пересекает металл. Может это просто тень? А там не ровная поверхность а впадина?

Titus
15.12.2014, 15:40
1) Почему поликремний иногда заканчивается тупиком, ни с чем не соединяясь?

Про тупики сам понял) Это же база, ей необязательно с чем-то соединяться в другом месте, главное пересечь N или P область.

Но возник другой вопрос - в некоторых местах размер поликремния очень малый, соединяется лишь с металлом и ничего не пересекает - это что?

http://s011.radikal.ru/i315/1412/ed/144cc03a755f.png (http://www.radikal.ru)

Vslav
15.12.2014, 16:38
Вопросы - это хорошо, всегда приятно их услышать :)


1) Почему поликремний иногда заканчивается тупиком, ни с чем не соединяясь?

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



2) Все ли переходные отверстия соединяют все 3 слоя, или же есть переходные отверстия соединяющие только два слоя?

Зависит от технологии. Для 1515ХМ пока видны переходные только одного типа, соединяющие все три слоя одновременно. Для процессора 1801ВМ1 применялись переходные двух типов - все три слоя одновременно, и второй тип переходных, соединяющий только диффузию и поликремний.



3) Почему переходные отверстия натыканы иногда друг за другом? Для уменьшения сопротивления переходного отверстия или для чего-то еще?

Да, снижение паразитных параметров (сопротивления и индуктивности) и повышение надежности схемы, а также ПВГ (процент выхода годных).



4) Почему диффузия отливает то зеленым оттенком, то красным?

Цвет тут понятие условное, может быть зависит от типа легирования - (бор или фосфор для Ангстрема), может быть это интерференция в тонкой пленке оксида (подложка покрыта слоем оксида кремния, на нем уже лежит поликремний, слой оксида - это изолятор, для реверса неинтересен). Поликремний в разных микросхемах тоже по-разному окрашен, даже для ХМ2-001 и ХМ2-003. Я предполагаю что это цвет использованного фоторезиста. Кстати, в термически обоженных микросхемах цвета все плывут и меняются. Поэтому факторов очень много и сказать "почему оно такого цвета" - сложно.

---------- Post added at 15:38 ---------- Previous post was at 15:34 ----------


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

Titus
15.12.2014, 17:13
Правильно ли я понял этот кусочек схемы?

http://s020.radikal.ru/i704/1412/5f/87eb392a958e.png

Vslav
15.12.2014, 18:12
Продолжение.
Вот так выглядит картинка, если прорисовать все значимые слои и добавить переходные отверстия. Там где имеется несколько переходных отверстий, электрически параллельных, то рисуем только одно - для восстановления принципиальной схемы количество отверстий не играет никакой роли, а нагрузка на графический редактор будет снижена (при большом количестве объектов начинаются эффекты подтормаживания), да и банально меньше времени потратим на прорисовку.
http://s50.radikal.ru/i130/1412/82/1c0964ca2b81t.jpg (http://s50.radikal.ru/i130/1412/82/1c0964ca2b81.jpg)

Далее я удалю области диффузии, заменив их на отдельные проводники в областях стока и истока, и только там где они нужны. Если оставить область сплошной, то PCAD будет считать что это единая цепь, а ведь на самом деле это отдельные сток и исток.
http://s011.radikal.ru/i316/1412/cd/38b265f2fe25t.jpg (http://s011.radikal.ru/i316/1412/cd/38b265f2fe25.jpg)

Предварительный анализ показывает что тут скорее всего две библиотечные ячейки, на рисунке показаны выделенные области:
http://i067.radikal.ru/1412/a7/968aaf8139e4t.jpg (http://i067.radikal.ru/1412/a7/968aaf8139e4.jpg)

Для начала рассмотрим ячейку А1 как более простую, на ней тонкими желтыми линиями нарисованы транзисторы и эквивалентная электрическая схема:
http://i077.radikal.ru/1412/f8/70fcdd759d02t.jpg (http://i077.radikal.ru/1412/f8/70fcdd759d02.jpg)

Далее, очень рекомендую такую книжку: Мальцев Петр Павлович, Цифровые интегральные схемы (http://publ.lib.ru/ARCHIVES/M/MAL'CEV_Petr_Pavlovich/_Mal'cev_P.P..html). В этой книге описаны различные советские БМК, в частности 1515ХМ1. Находим там в приложении описание библиотеки для серии 1515 и видим такое:
http://i053.radikal.ru/1412/60/cbb560ae10e5t.jpg (http://i053.radikal.ru/1412/60/cbb560ae10e5.jpg)

Напрашивается вывод что ячейка A1 это библиотечная ячейка типа 614, выполняющая функцию 2И-НЕ, то есть самый банальный элемент ЛА3, который любят приводить во всех примерах. Там какие-то циферки еще написаны - это и будут наши номера выводов "микросхемы", которой мы будем представлять ячейку (схемку я удалил, чтобы виднее цифры были):
http://s011.radikal.ru/i315/1412/a2/f9f3d65032c0t.jpg (http://s011.radikal.ru/i315/1412/a2/f9f3d65032c0.jpg)


Желающие могут попрактиковаться и расшифровать ячейку А0, которая гораздо сложнее и состоит из 14 транзисторов, ответ - под спойлером. ячейка A0 представляет собой тактируемый D-триггер с асинхронным сбросом. Хинт - используется проходная логика как в ячейке типа 616


Правильно ли я понял этот кусочек схемы?

Да, правильно.

Titus
15.12.2014, 20:37
Пока что остался неотвеченным мой вопрос: http://zx-pk.ru/showpost.php?p=761629&postcount=183

И еще возник вопрос - если сплошная область диффузии - это фактически проводник, то почему:
Почему, диффузия над которой расположен полисиликон (затвор) становится непроводником? Или под полисиликоном в диффузии разрыв?

---------- Post added at 21:37 ---------- Previous post was at 21:23 ----------



Да, правильно.

И номер по книжке моей ячейки будет 615! )

Vslav
15.12.2014, 20:50
Пока что остался неотвеченным мой вопрос: http://zx-pk.ru/showpost.php?p=761629&postcount=183

Это такой же "тупик" - неиспользуемая ножка "микросхемы". Кусочек поликремния там может быть по разным технологическим причинам. Возможно просто выравнивание, чтобы не было резких перепадов по высоте. А может быть банально "пин" дублированный в слое поликремния.

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



И еще возник вопрос - если сплошная область диффузии - это фактически проводник, то почему:
Почему, диффузия над которой расположен полисиликон (затвор) становится непроводником? Или под полисиликоном в диффузии разрыв?

Нет, там нет разрыва. Насколько я знаю - видимые области диффузии вне затвора дополнительно легированы, поэтому сами по себе имеют значительную проводимость в сравнении с подзатворной областью. Это так называемый самосовмещенный затвор. Ионную имлантацию проводят дополнительно уже после нанесения затворов, они сами служат как бы дополнительным трафаретом, легируются только сток-истоковые области, получается затворы автоматически выравнены относительно областей легирования подложки.

Я достаточного далек от микроэлектроники, для таких нюансов лучше технологов спрашивать или читать соответствующую литературу. Кратко технология Ангстрема для n-МОП описана в ТО на 1801ВМ2, во второй части. Это описание значительно помогло разобраться с процессором.

Транзисторы в 1801, кстати, бывают двух типов - с индуцированным и встроенным каналами, характеристики у них разные, но по фото не видно, поэтому делаем выводы только из схемы. Подзатворная область у транзисторов со встроенным каналом легирована сильнее, и там фактически имеется постоянная проводимоть, чтобы закрыть такой транзистор - надо приложить минус. Транзисторы со встроенным каналом ставятся по схеме в верхнее плечо мостового ключа и позволяют всей схеме работать от единого питания. В 580ВМ80А транзисторов со встроенным каналом нет, поэтому требуется второе питание в +12В.

Серия 1515 - это КМОП, предполагается что тут все транзисторы с индуцированным каналом, подзатворная область легирована слабо, транзистор в исходном (при нулевом смещении относительно земли/питания) закрыт, для открытия нужно приложить соответствующее напряжение.

Titus
15.12.2014, 20:57
Вот теперь все прояснилось.

Вернее, осталась пара нюансов - как на нашем 1515 выглядят диоды и резисторы, с примерами?

И еще - какая есть самая простейшая программа, где можно рисовать схему из таких элементов - триггер, инвертор и т.д., и соединять их проводниками? И чтобы обязательно эти элементы можно было отображать в отечественном виде (когда инвертор - это прямоугольник с кружочком, а не треугольник с кружочком, как принято зарубежом)?

bigral
15.12.2014, 21:10
Еще есть вопрос по поводу областей "дифузии". В обьяснениях строения МОП транзисторов говорится что сами по себе транзисторы должны быть изолированны обратным смещением на pn-переходе на границе подложки и области "дифузии". Для этого якобы бывает еще 4-й вывод транзистора который соответственно подключен к "0" для n-канального и к "1" для p-канального.

Так вот шото не видно тут на снимке такого вот 4-го провода... ?

Vslav
15.12.2014, 21:36
Вернее, осталась пара нюансов - как на нашем 1515 выглядят диоды и резисторы, с примерами?

Диодов в этой схемотехнике почти нет. Те немногие, что есть (например, защитные на входе), выглядят как транзистор с посаженным на землю/питание затвором. Резисторы тоже редкость, иногда можно распознать на входе от внешней ножки собственно микросхемы. Выглядят как проводник в области диффузии. Сопротивление и степень легированности определить по фото не представляется возможным.

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

Кстати, с ячейками ввода-вывода (где все эти диоды и резисторы могут встретиться) вообще можно особо не разбираться, достаточно только понять тип - ввод, вывод, двунаправленный, ОК и прочее. Я их в 1801ВП1 даже не рисовал, ставил пады для подключения и все.



И еще - какая есть самая простейшая программа

Тут не подскажу, я PCAD-ом пользуюсь, он позволяет нарисовать библиотеку элементов в любом виде - "отечественном", "импортном" и для существ с альфа-центавры. В последнем еще рисовать не приходилось :)



Так вот шото не видно тут на снимке такого вот 4-го провода... ?

Он есть - это вся подложка, на нее должно быть в теории подано отрицательное смещение. Но я в 1515ХМ2 встроенного генератора такого смещения не нашел. Любопытно что входной контакт "земля" прострочен кучей переходных отверстий на подложку. Получается что подложка банально заземлена и этого достаточно для надежной работы микросхемы. Уже писали что современные микросхемы имеют подложку достаточно высокой степени чистоты и им уже не нужно отрицательное смещение. В частности 580ВМ80А практически могут работать без него, с подачей "земли" на вход питания -5V (питает только подложку).



И номер по книжке моей ячейки будет 615! )

Не-а :), это только часть бОльшей ячейки. "Заезд" входа нестандартный -изнутри. Обратите внимание что в книжке нарисованы только некоторые ячейки библиотеки - нумерация типов там идет несплошная. Ячейка А0 похожа на тип 645, только не имеет входа асинхронной установки. Возможно имеет тип 644 или 646 - тут мы можем только гадать.

Кстати, Ангстрем вроде может выпустить 1515ХМ1, на сайте у них написано, и должны давать документацию и какой-то кит чтобы разрабатывать свои варианты. Возможно есть смысл им написать и запросить материалы, хотя бы описание библиотечных ячеек.

bigral
15.12.2014, 21:39
Он есть - это вся подложка, на нее должно быть в теории подано отрицательное смещение.

Так тогда бы все "дифузии" должны были бы быть n-канальными? Но у нас то есть p-канальные транзисторы в схеме, по идее ихний слой дифузии должен находиться в так называемом "n-well" и на него должно быть поданно "1". Или я че-то не понял про n-моп p-моп?

Vslav
15.12.2014, 21:50
Так тогда бы все "дифузии" должны были бы быть n-канальными? Но у нас то есть p-канальные транзисторы в схеме, по идее на ихний слой дифузии должен находиться в так называемом "n-well" и на него должно быть поданно "1". Или я че-то не понял про n-моп p-моп?
Ну я не технолог, не знаю, возможно для p-канальных транзисторов было предварительное n-легирование и p-канал и подложку разделяет n-область (снизу и по краям). Возможно что-то аналогичное имеет место и для n-каналов. В том же ТО на ВМ2 описана куча операций и разрисована достаточно сложная структура, вот там есть какие-то защитные p-области по краям транзистора. Возможно они и показывают нам ту "кайму" по краям области диффузии. Но это все только мои предположения. Я думаю любой студент-микроэлектронщик может больше деталей рассказать.

Сейчас, кстати, никто технологии не раскрывает, изготовитель микросхем дает PDK с библиотечными ячейками и проектными нормами и все. Разрабочик рисует топологию, моделирует, проверяет на нормы и отдает фабу на изготовление. Бывает что и схемотехника самой ячейки неизвестна, только модель.

Titus
15.12.2014, 21:58
Кратко технология Ангстрема для n-МОП описана в ТО на 1801ВМ2, во второй части. Это описание значительно помогло разобраться с процессором.

Значит реверсить ВМ1 было сложнее из-за того, что это n-МОП, и ячейки не библиотечные а произвольные?

Интересно, зачем в УКНЦ одновременно применялись менее совершенные 1801ВП1 (н-моп), и более совершенные и экономичные 1515ХМ1 (кмоп)?

Vslav
15.12.2014, 22:05
Значит реверсить ВМ1 было сложнее из-за того, что это n-МОП, и ячейки не библиотечные а произвольные?

Угу, в несколько раз сложнее, приходилось распознавать и прорисовывать каждый транзистор отдельно. И топология у них разнообразная, там "свободные художники" оторвались по-полной! Как акын - "что вижу - о том пою", вот и у них так было, какое место есть - так и впихнем схемку, согнув, повернув, развернув, растянув, обрезав пару углов, и, при желании, отзеркалив :)

Кстати, топологически зеркальный вариант ячеек - вполне легитимный вариант для современных библиотек. То есть, одна и та же ячейка может в одном проекте применятся как в прямом так и зеркальном исполнении.

Titus
16.12.2014, 00:34
Поставил P-CAD 2004. Чуть разобрался с редактором компонентов.
Сделал такой компонент простейший, но почему-то нумерацию внутреннюю выводов он разрешает только с номера 2, а когда делаю с 1, ругается.

http://s018.radikal.ru/i520/1412/92/94a9311b63c0.png

Vamos
16.12.2014, 00:46
Наверное потому что 1 вывод на микросхемах gnd или +5, точно не помню

Titus
16.12.2014, 01:31
Еще вопрос по P-CAD'у.

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

Vamos
16.12.2014, 01:53
Наверное потому что 1 вывод на микросхемах gnd или +5, точно не помню
Не-а, наврал :) , 7 и 14 gnd или +5. надо смотреть в настройках P-CAD

Titus
16.12.2014, 02:01
Не-а, наврал :) , 7 и 14 gnd или +5. надо смотреть в настройках P-CAD

Нет, тут что-то другое) В других элементах у меня с 1 начинается нормально.

---------- Post added at 03:01 ---------- Previous post was at 02:55 ----------

Нарисовалась вот такая структура:

http://s014.radikal.ru/i329/1412/7a/e2656ac9f3c8.png

Выше написано, что это 'проходная логика', элемент D-триггера. Можно ли описать принцип ее работы, и как она будет выглядеть в виде логического элемента, если не считать, что она часть D-триггера, а сама по себе?

Vslav
16.12.2014, 09:36
Сделал такой компонент простейший, но почему-то нумерацию внутреннюю выводов он разрешает только с номера 2, а когда делаю с 1, ругается.

Там справа внизу пин какой-то без видимого номера. Возможно он имеет номер 1.

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

Второй тип номеров называется "pin designator", вот это и есть тот номер, который видно на схеме. Может быть любой, в том числе буквенный (на BGA в частности номера выводов состоят из буква-цифра). Два вывода не могут иметь одинаковые pin designator, но нумерация тут не сплошная а произвольная.

Raydac
16.12.2014, 09:40
вспомнилось
создатель языка Форт, так как чиподеланием увлечен, то сделал себе тулзу для их проектирования и гейты вот какие юзает http://colorforth.com/gates.htm

Vslav
16.12.2014, 10:16
Выше написано, что это 'проходная логика', элемент D-триггера

Это не совсем элемент D-триггера, это отдельный класс вентилей. В данном случае применен как часть схемы триггера. Я просто не знаю как оно по-русски звучит, вероятно неправильно перевел. Исходное название - transmission logic.



Можно ли описать принцип ее работы, и как она будет выглядеть в виде логического элемента

Как вентиль оно нарисовано в ячейке тип 616. Логики в классическом понимании там нет, это практически аналоговый двунаправленный ключ.
Ну вот нашел картинку, где логику попытались изобразить:
http://s42.radikal.ru/i095/1412/6d/918dc11466a6t.jpg (http://s42.radikal.ru/i095/1412/6d/918dc11466a6.jpg)

Titus
16.12.2014, 11:47
Спасибо, теперь все понятнее)

Вот этот вопрос еще остался неотвеченным:

Еще вопрос по P-CAD'у.

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

Vslav
16.12.2014, 12:22
Соединять надо не линией, а проводником (wire). Линия - это просто картинка, никакой схемной нагрузки не несет. А проводник - это цепь.
Нажимаем кнопочку (на картинке нажата) и рисуем:
http://s013.radikal.ru/i324/1412/68/74d3e8191454t.jpg (http://s013.radikal.ru/i324/1412/68/74d3e8191454.jpg)

Titus
16.12.2014, 13:36
Нарисовал на пробу 3 библиотечные ячейки, как я их понимаю.
Разбил по самым маленьким ячейкам, т.е. когда каждая библиотечная ячейка это одна пара N и P диффузий.
Получилось 3 ячейки A1, A2 и A3.
Первая - это элемент из библиотеки под номером 654.
Вторая - номер не опознан
Третья - это аналоговый мультиплексор (а ведь это именно аналоговый МУЛЬТИПЛЕКСОР) под номером 616.

Удивляюсь, как Vslav сразу смог в этих трех элементах увидеть законченный D-триггер.

http://s017.radikal.ru/i427/1412/25/3f76203eb7af.png

CodeMaster
16.12.2014, 14:45
Удивляюсь, как Vslav сразу смог в этих трех элементах увидеть законченный D-триггер.

Я тоже, в свете последних его сообщений, что он слабо представляет технологию изготовления кристалла, удивляюсь на каких кошках он тренировался ;-) что с такой скоростью восстанавливает его схемотехнику.

Vslav
16.12.2014, 14:52
Начало просто замечательное!
ИМХО, хорошо бы таки нарисовать полную ячейку - ведь там единая ячейка, похожая на 645 :) Вы посмотрите дальше на все это оставшееся непаханное поле микросхемы - там таких устойчивых сочетаний этих трех субячеек встречается достаточно много. Понятно что, например, ТМ2 можно изобразить схемой из 6 штук ЛА4, но обычно никто так не делает - все рисуют элемент именно ТМ2. От этого выигрывает понятность и читабельность схемы.

В пример приведу тот же ТМ2 (из Шило):
http://s014.radikal.ru/i329/1412/b8/f54dfeee01c0t.jpg (http://s014.radikal.ru/i329/1412/b8/f54dfeee01c0.jpg)

Или ячейка 1515ХМ1 типа 645 (из Мальцева):
http://i057.radikal.ru/1412/92/5834ca4b3857t.jpg (http://i057.radikal.ru/1412/92/5834ca4b3857.jpg)

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

И я предположительно догадываюсь, почему у этого триггера "типа 644" два тактовых входа - прямой и инвесрный, дальше эти триггера будут объединяться в пары, и образовывать триггер срабатывающий по фронту или срезу.

Titus
16.12.2014, 15:04
Начало просто замечательное!
ИМХО, хорошо бы таки нарисовать полную ячейку - ведь там единая ячейка, похожая на 645 :)

Действительно, что-то я слона под именем 645 и не заметил!
А там именно такая структура за исключением того, что у нас отсутствует S.

Значит подобные ячейки A1, A2, A3 можно обьединять в одну, но для понятности называть ее, как сумма, например A1,2,3.

Vslav
16.12.2014, 15:16
Я тоже, в свете последних его сообщений, что он слабо представляет технологию изготовления кристалла, удивляюсь на каких кошках он тренировался ;-) что с такой скоростью восстанавливает его схемотехнику.
Так схемотехника отвязана от материальной базы. Большую часть вентилей можно сделать на чем угодно - на механике, на пневматике, на оптике, схемотехнические принципы одинаковы - "нажимай да дуй" (c) :)
У меня вообще классическое университетское образование (радиофизика), но курсы по электротехнике (в том числе по цифре) тоже были и были достаточно сильными, проходились с большим удовольствием, сейчас с неменьшим удовольствием это все вспоминается.

---------- Post added at 14:16 ---------- Previous post was at 14:12 ----------



Значит подобные ячейки A1, A2, A3 можно обьединять в одну, но для понятности называть ее, как сумма, например A1,2,3.

Можно и так.
Или просто A1 (я там смотрю библиотеку дальше - как бы не попались ячейки из 4 или даже 5 субячеек)
Или A1-2-3
Или A1-3.
Тут уже смотрите как удобнее, просто учтите - оно потом сильно надоест вводить все эти букво-цифры руками. А в PCAD есть встроенный инструмент для автоматической нумерации. Формат A1, A2, A3 и тд он поддержит, а вот A1-2-3 и прочие - уже нет. Поэтому лучше просто A1.
Да и к ЕСКД такое наименование ближе.

Titus
16.12.2014, 15:20
Можно и так.
Или просто A1 (я там смотрю библиотеку дальше - как бы не попались ячейки из 4 или даже 5 субячеек)
Или A1-2-3
Или A1-3.
Тут уже смотрите как удобнее, просто учтите - оно потом сильно надоест вводить все эти букво-цифры руками. А в PCAD есть встроенный инструмент для автоматической нумерации. Формат A1, A2, A3 и тд он поддержит, а вот A1-2-3 и прочие - уже нет. Поэтому лучше просто A1.
Да и к ЕСКД такое наименование ближе.

Лучше A1,2,3, ибо я даже на фотографии кристалла в Medium-качестве (200Мб) не могу ничего нарисовать, а только посмотреть его (памяти не хватает). Поэтому мне удобно, когда я могу по фотке быстро отсчитать номер ячейки сверху вниз, и сориентироваться. Я вообще ничего на фотке не рисую, просто смотрю на нее и сразу рисую схему)

Vslav
16.12.2014, 15:29
Я вообще ничего на фотке не рисую, просто смотрю на нее и сразу рисую схему)

Это титанический труд :(. Считайте отказались от использования "дралоскопа", мало того что он ускоряет работу, так еще и вполне психоделическое занятие :)
Памяти не хватает для SprintLayout 6.0? 4ГБ должно хватать, он Win32, больше 2ГБ все равно не использует (я мониторил). Попробуйте .jpg преобразовать в .bmp и поставить его фоном, иногда у него бывают такие залеты.
Маршрут с "дралоскопом" еще стоит пройти потому что появляются наработки в виде библиотеки, и тогда следующие 1515ХМ идут существенно быстрее и проще. Не говоря уже про мощнейшие вещи типа Ctrl-C/Ctrl-V :)

Titus
16.12.2014, 15:31
Памяти не хватает для SprintLayout 6.0? 4ГБ должно хватать, он Win32, больше 2ГБ все равно не использует (я мониторил). Попробуйте .jpg преобразовать в .bmp и поставить его фоном, иногда у него бывают такие залеты.

На моем рабочем компе всего один гиг. Так что никак.
Есть и другой комп, на котором 4, но я на нем не работаю, так что смотри пункт первый)

CodeMaster
16.12.2014, 15:39
Так схемотехника отвязана от материальной базы. Большую часть вентилей можно сделать на чем угодно - на механике, на пневматике, на оптике, схемотехнические принципы одинаковы - "нажимай да дуй"

Это как раз понятно, но глядя в книгу (фото) надо видеть не фигу. Возможно, конечно, зная принципы построения процессоров эти вентили легче отличать и не вдаваясь в технологию :-/

Titus
16.12.2014, 15:42
Это титанический труд :(. Считайте отказались от использования "дралоскопа", мало того что он ускоряет работу, так еще и вполне психоделическое занятие :)

Кстати, чем у меня сейчас не дралоскоп? Ячейки заношу в библиотеку, и на схему ставлю уже готовые. Чем больше ячеек в библиотеке, тем быстрее реверс.

CodeMaster
16.12.2014, 15:43
Сопротивление и степень легированности определить по фото не представляется возможным.

Т.е. ТТЛ логику по фото не отреверсишь? Получается и SID с его аналоговой частью восстановлению тоже не поддаётся?

Vslav
16.12.2014, 15:52
Это как раз понятно, но глядя в книгу (фото) надо видеть не фигу.
Так я сначала на фотографиях именно фигу и видел :biggrin:
Потом покурил описание ВМ2, какие-то статьи, помедитировал над фотками чуток...
"Наша кошечка сначала боялась пылесоса, а потом ничего - втянулась" :biggrin:

---------- Post added at 14:52 ---------- Previous post was at 14:46 ----------


Кстати, чем у меня сейчас не дралоскоп? Ячейки заношу в библиотеку, и на схему ставлю уже готовые. Чем больше ячеек в библиотеке, тем быстрее реверс.
Дралоскоп - он позволяет "мимодумно бросить апельсин в воду" (c). Когда я рисую по фоновому изображению - я вообще не думаю, чистая нирвана. Обычно это вечером, когда я устал и на никакую другую работу не способен. Считайте заменяет пасьянс. А вот глядеть на фото и переносить с него схему, это уже требует умственного напряжения и хоть сколько-то рабочей головы, жалко такое время тратить.
Ну, принцип повторного использования (библиотека в PCAD) задействован у Вас, уже хорошо. Но Ваш метод - это не дралоскоп, это осмысленный и тяжелый труд.

CodeMaster
16.12.2014, 15:58
Потом покурил описание ВМ2, какие-то статьи, помедитировал над фотками чуток...

Да, по этих "кошек" я и спрашивал + академическое образование и дало результат.


Так я сначала на фотографиях именно фигу и видел

Потому-что у меня фотографии кристалла ассоциируются только с техпроцессом, леса за деревьями я не вижу.

Vslav
16.12.2014, 15:59
Т.е. ТТЛ логику по фото не отреверсишь? Получается и SID с его аналоговой частью восстановлению тоже не поддаётся?
Ну, может быть когда-нибудь доживем до реверса серии 1527 (ТТЛШ), в том же Мальцеве библиотека нарисована. Посмотрим что и как. Во всяком случае - "что один человек сделал, то другой всегда разломать сможет", есть шанс что разберемся в топологии. Очень большой набор номиналов вряд ли встретится, да и обычно не так они важны для понимания схемотехники. А SID (речь же о звуковом чипе?) вроде хорошо документирован, неужели его надо реверсить?

Titus
16.12.2014, 16:09
Интересный вообще-то триггер.
Надо учесть, что запись нового значения (сквозное открытие триггера) происходит при C=0, и /C=1. А удержание значения, соответственно, наоборот.

http://i057.radikal.ru/1412/92/5834ca4b3857.jpg

---------- Post added at 17:09 ---------- Previous post was at 17:06 ----------

Дополнительный вопрос - как из библиотеки элементов в P-CAD удалять компоненты?

CodeMaster
16.12.2014, 16:09
А SID (речь же о звуковом чипе?) вроде хорошо документирован, неужели его надо реверсить?

Ну, насколько я в курсе, в железе его так и не воспроизвели.

Titus
16.12.2014, 16:33
Интересный вообще-то триггер.
Надо учесть, что запись нового значения (сквозное открытие триггера) происходит при C=0, и /C=1. А удержание значения, соответственно, наоборот.

Это правильно, когда при C=0 триггер отрывается? Или же поменять маркировку C и /C местами?

Vslav
16.12.2014, 16:37
Дополнительный вопрос - как из библиотеки элементов в P-CAD удалять компоненты?
В программе Library Executer (запустить можно из sch или pcb с пункта меню Utils) выбираем пункт меню - Library/Delete и в открывшемся окне указываем что удалить. Бывает что в окне Library Executer удаленные компоненты продолжают отображаться, тогда просто перезапустить его.

---------- Post added at 15:37 ---------- Previous post was at 15:36 ----------



Это правильно, когда при C=0 триггер отрывается? Или же поменять маркировку C и /C местами?
Да, наверное лучше поменять.

Titus
16.12.2014, 16:47
Сделал элемент триггер (пока что не выяснил, сквозное открытие его по правилам советской маркировки должно быть по C=0, или по C=1?).

Заменил 3 прежних элемента на новый:

http://s018.radikal.ru/i502/1412/19/ca52a27fe3c6.png

---------- Post added at 17:39 ---------- Previous post was at 17:39 ----------



Да, наверное лучше поменять.

Значит в книге у элемента 625 C и /C расположены неправильно.

---------- Post added at 17:47 ---------- Previous post was at 17:39 ----------

Как увеличивать размер поля в P-CAD?

Vslav
16.12.2014, 16:54
Значит в книге у элемента 625 C и /C расположены неправильно.

Следует помнить что в книге описана библиотека 1515ХМ1, для ХМ2 оно может несколько отличатся. И ячейка 645 тоже явно составная (состоит из субячеек), потому что книжка уверяет что в одной ячейке 28 контактов, а там нумерация уже содержит цифры 34, 35, 37. Нумерация сама по себе условность, ее еще правильно разгадать на топологии надо, и в нумерации бывают опечатки, для ВП1 несколько попалось. На схеме просто следует знать что при высоком уровне на С - триггер захватывает.



Как увеличивать размер поля в P-CAD?

Зум? Клавиши +/- на дополнительной или основной клавиатуре.
Или Ctrl+колесико мыши. Просто колесико - прокрутка по вертикали, Shift+колесико - прокрутка по горизонтали.

Titus
16.12.2014, 16:58
Зум? Клавиши +/- на дополнительной или основной клавиатуре.
Или Ctrl+колесико мыши. Просто колесико - прокрутка по вертикали, Shift+колесико - прокрутка по горизонтали.

Нет, увеличение площади поля, негде рисовать)

Vslav
16.12.2014, 17:03
Нет, увеличение площади поля, негде рисовать)

Ну что ж Вы так, бумаги на Вас не напасешься :)
Меню Options->Configure..., там выставить Width и Height листа.
В Options/Sheets... при необходимости добавить еще листиков.

Вот как выглядит ячейка 1515ХМ1, у нас немножко похоже, но не полная
копия, поэтому нумерация весьма условна.
http://i064.radikal.ru/1412/2c/322e2f43f560t.jpg (http://i064.radikal.ru/1412/2c/322e2f43f560.jpg)

Titus
16.12.2014, 17:19
Элемент A5 оказался двумя последовательными инверторами, как A1, с выходов которых управляется C и /C триггера A1,2,3. Таким образом, уже можно A1,2,3,5 сделать в один нормальный триггер)

Vslav
16.12.2014, 17:22
Элемент A5 оказался двумя последовательными инверторами, как A1, с выходов которых управляется C и /C триггера A1,2,3. Таким образом, уже можно A1,2,3,5 сделать в один нормальный триггер)
Все, "кошечка втянулась" :biggrin:

Titus
16.12.2014, 17:24
Все, "кошечка втянулась" :biggrin:

Действительно, P-CAD не разрешает нумеровать A1-2-3 или с запятыми. Ему подавай буковки и цыферки и все.

Vslav
16.12.2014, 17:27
Действительно, P-CAD не разрешает нумеровать A1-2-3 или с запятыми. Ему подавай буковки и цыферки и все.
А я и не знал :eek:
http://s010.radikal.ru/i311/1412/f7/52fb543aa033t.jpg (http://s010.radikal.ru/i311/1412/f7/52fb543aa033.jpg)

Titus
16.12.2014, 19:23
Какая нумерация ножек у кристалла ХМ2-001?

И можно пример схемы ножки? Почему-от многих ножек отходят по два вывода.

Vslav
16.12.2014, 20:15
Какая нумерация ножек у кристалла ХМ2-001?
И можно пример схемы ножки? Почему-от многих ножек отходят по два вывода.
С нумерацией просто все, это "земля":
http://s008.radikal.ru/i306/1412/b2/6f35ad879bb9t.jpg (http://s008.radikal.ru/i306/1412/b2/6f35ad879bb9.jpg)

Это питание:
http://s56.radikal.ru/i152/1412/d4/be36f99cc970t.jpg (http://s56.radikal.ru/i152/1412/d4/be36f99cc970.jpg)

Их номера надо подсмотреть на схеме УКНЦ. Ну и остальные ножки нумеруются против часовой стрелки.

По две подсоединенных линии - бывает по-разному, это может быть вход, и от него на ядро подается прямой и инверсный сигнал, а может быть выход с разрешением ~OE. А может быть и три-четыре линии отходит - для двунаправленных выходов. Схемы I/O ячеек я даже особо не разбирал - обычно и так понятно что с ними и как. Тут на входе сразу видно сдвоенный инвертор (как раз тот случай когда в ядро отдается два сигнала):
http://s013.radikal.ru/i322/1412/f3/58c9c811c114t.jpg (http://s013.radikal.ru/i322/1412/f3/58c9c811c114.jpg)

Вы резистор хотели увидеть? Ну вот та фиолетовая "подкова", похоже и есть резистор.

Titus
16.12.2014, 22:32
Вот такая встретилась занимательная конструкция:

http://s018.radikal.ru/i516/1412/50/d2f0305f2418.png


Как в P-CAD указать, что вывод микросхемы ни к чему не подключен? (типа крестика чтобы было на нем или надписи NC)?

Vslav
16.12.2014, 22:58
Как в P-CAD указать, что вывод микросхемы ни к чему не подключен? (типа крестика чтобы было на нем или надписи NC)?

"Options->Display->Miscellaneous" поставить галочку "Display Open Ends". Но, судя по тому, что у Вас уже квадратики есть на окончаниях проводников, эта галочка уже включена. Вот эти желтые квадратики и показывают незавершеность цепи. Просто не проводите провод от вывода и тогда этот квадратик будет на нем.

Titus
16.12.2014, 23:01
"Options->Display->Miscellaneous" поставить галочку "Display Open Ends". Но, судя по тому, что у Вас уже квадратики есть на окончаниях проводников, эта галочка уже включена. Вот эти желтые квадратики и показывают незавершеность цепи. Просто не проводите провод от вывода и тогда этот квадратик будет на нем.

А потом, когда вся схема нарисуется (если она когда-нибудь нарисуется), не будет ли ругаться P-CAD, что есть болтающиеся в воздухе ножки?

Vslav
16.12.2014, 23:08
А потом, когда вся схема нарисуется (если она когда-нибудь нарисуется), не будет ли ругаться P-CAD, что есть болтающиеся в воздухе ножки?

Для того чтобы он ругался - надо запустить ERC (Electronic Rules Check, Utils->ERC) - автоматическая проверка электрических правил. В диалоге ERC есть галочки - ругаться на unconnected pins и unconnected wires или нет.

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

И один раз я прогоняю ERC с включенной только опцией unconnected pins - позволяет перебрать свободные выводы и найти действительно пропущенные подключения (реальные косяки).

Titus
17.12.2014, 02:43
Скажу вам я - восстанавливать схему по кристаллу увлекательнейшее, но и трудоемко-утомительнейшее занятие! )

Vslav
17.12.2014, 11:13
Скажу вам я - восстанавливать схему по кристаллу увлекательнейшее, но и трудоемко-утомительнейшее занятие! )
Так надо добавить памяти в комп и освоить "дралоскопию" :)
Тогда увлекательность останется, а трудоемко-утомительность значительно уменьшится :)

Titus
17.12.2014, 15:50
Столкнулся с неприятностью - высота листа в P-CAD 2004 не делается выше 1500мм (1.5 метра). Мне не хватает для умещения кристалла по высоте процентов 20 :-(

---------- Post added at 16:39 ---------- Previous post was at 15:58 ----------

Можно ли сохранить схему из P-CAD в виде картинки?

---------- Post added at 16:47 ---------- Previous post was at 16:39 ----------

Значит так - отрисовал первый столбец из ХМ2-001. Всего в нем 59 логических элементов. Разнообразие - 9 типов элементов.
Встречаются RS-триггеры, D-триггеры, элементы 2-И-НЕ, НЕ, 4-И, два типа силовых инверторов и еще один экзотический, не знаю как его назвать 2-НЕ-И, 2-НЕ-И, И, может так. Он выше в теме на картинке есть.
Ближе к низу кристалла четкость картинки хуже, а так же больше помех, пятен, но ввиду того, что базовые элементы хорошо понятны, подобные помехи не вызывают проблем с распознаванием.
Частенько встречаются стандартные библиотечные ячейки, но отзеркаленные кверх ногами. Понятно почему - размещали, как удобнее для подводки проводников.
После того, как вьехал в тему, библиотечные ячейки стали читаемы, как детская книга - сиди, да рисуй в пикаде.
Интересно, но трудоемко.
Да еще и PCAD не хочет делать листок выше 1500мм, еле вместил первый столбец.
Судя по картинке, ХМ2-003 значительно проще и беднее (в библиотечном плане), чем ХМ2-001.

---------- Post added at 16:50 ---------- Previous post was at 16:47 ----------

Да, большое спасибо Vslav'у, что сфотографировал и обьяснил, что к чему!

Vslav
17.12.2014, 18:07
Столкнулся с неприятностью - высота листа в P-CAD 2004 не делается выше 1500мм (1.5 метра). Мне не хватает для умещения кристалла по высоте процентов 20

Могу посоветовать два варианта решения проблемы:
1) многолистовая схема
2) нарисовать ячейки в меньшем масштабе и рисовать в сетке с меньшим шагом



Можно ли сохранить схему из P-CAD в виде картинки?

Такие варианты:
1) клавиша PrtScr
2) отметить нужный блок в самом P-CAD и сделать Ctrl-C - вставит в буфер обмена в векторном формате
3) установить какой-нибудь виртуальный принтер для печати в файл, я так печатаю в pdf

Titus
17.12.2014, 18:51
1) клавиша PrtScr
2) отметить нужный блок в самом P-CAD и сделать Ctrl-C - вставит в буфер обмена в векторном формате
3) установить какой-нибудь виртуальный принтер для печати в файл, я так печатаю в pdf

1) PrtScr не подходит, т.к. мне нужно ВСЮ схему преобразовать в картинку (а это тысячи на тысячи пикселей), в окно оно не влазит.
2) В векторном формате она мне не нужна, нужна в картиночном.
3) Да уж, сложности. Придется поискать виртуальный принтер.

---------- Post added at 19:51 ---------- Previous post was at 19:48 ----------


Могу посоветовать два варианта решения проблемы:
1) многолистовая схема
2) нарисовать ячейки в меньшем масштабе и рисовать в сетке с меньшим шагом


1) Неудобно в виде многих листочков. Хочется видеть схему целиком, да и переходы проводников с листа на листок это как?
2) Уже перерисовывать не буду. С трудом, но по высоте впихнулось. Отбил еще 20мм у пикада, установив размерность в дюймах, а потом переведя в миллиметры, и получилось 1520) Видимо, он может оперировать и большими листами, но это зачем-то заблокировано.

Vslav
17.12.2014, 18:55
2) В векторном формате она мне не нужна, нужна в картиночном.

Так а какие проблемы? Отметили всю схему и потом Ctrl-V в IrfanView, например. Потом сохраните в желаемом виде и масштабе. Или в MS Word можно вставить. Векторный формат хорош тем что его можно масштабировать без потери качества или деталей изображения.

Titus
17.12.2014, 19:06
Так а какие проблемы? Отметили всю схему и потом Ctrl-V в IrfanView, например. Потом сохраните в желаемом виде и масштабе. Или в MS Word можно вставить. Векторный формат хорош тем что его можно масштабировать без потери качества или деталей изображения.

Рад бы, но:
1) Ирфанвью не понимает векторный формат.
2) Ворд вставляет, но портит изображение (пропадают ножки у эелементов)
3) Фотошоп вставляет, но так уменьшает картинку, что ничего различить нельзя, и увеличить нельзя тоже.

Vslav
17.12.2014, 19:29
1) Ирфанвью не понимает векторный формат.

Хм, странно, у меня копи-пастится в irfanview нормально:
http://s010.radikal.ru/i312/1412/92/e25ad93d639at.jpg (http://s010.radikal.ru/i312/1412/92/e25ad93d639a.png)
Тут еще с цветами (темновато и линии тонкие) надо поиграться, но то такое.

Vslav
18.12.2014, 01:22
Вернемся к нашим баранам 1801ВМ1. Извлеченный микрокод в приложении.

Краткий комментарий:
ir - регистр инструкции
mr - регистр адреса микрокода (младшие 7 бит адрес, потом 5 флагов (включая T), оставшиеся 3 пока неясны).

Код автоматически извлечен из нетлиста написанной утилитой, таким образом, мгновенно обработано почти 9 листов из 19 листов всей схемы. Теперь надо это проанализировать и двигаться дальше

Titus
18.12.2014, 01:33
Краткий комментарий:
ir - регистр инструкции
mr - регистр адреса микрокода (младшие 6 бит адрес, потом 5 флагов (включая T), оставшиеся 3 пока неясны).

Что такое p[] и pl[]?

Vslav
18.12.2014, 01:36
Что такое p[] и pl[]?
Это цепи, которые на схеме обозначены как Pномер (P2 ... P249) и PLномер.
Кстати там была опечатка - для PL 'and' надо заменить на 'or'.

Titus
18.12.2014, 04:11
Хм, странно, у меня копи-пастится в irfanview нормально:
Тут еще с цветами (темновато и линии тонкие) надо поиграться, но то такое.

Скачал и поставил самый новый IrfanView. В него копипастится, только... фон он делает белый, а на белом фоне белые проводники не видны. Видимо, пикад не передает цвет фона.

Vslav
18.12.2014, 09:38
фон он делает белый
Irfaview, меню Image->Replace Color :)

И что бы два раза не вставать - таки декодирования инструкции MUL я пока не нашел. Она точно кодируется как 070Rss?
Спрощу у Отрохова, может быть, они для 1801ВМ1Г микрокод отдельно допиливали.