После некоторого перерыва 16-й столбец из 19.
Весьма интересная линия задержки(?) Q37.R20.Q2 в цепи /RPLY.
Выглядит весьма странновато)
После некоторого перерыва 16-й столбец из 19.
Весьма интересная линия задержки(?) Q37.R20.Q2 в цепи /RPLY.
Выглядит весьма странновато)
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Столбец 17 из 19!
Из интересненького:
1. Впервые встретился RS-триггер с инверсными входами, т.е. построенный не на элементах '2ИЛИ-НЕ', а на элементах '2И-НЕ'. Сходу чуть не перепутал его со стандартным, т.к. очень похожи внешне. Пришлось прошерстить всю схему, и проверить, не перепутывал ли ранее. Нет, все окейно.
2. Начинают вырисовываться дешифраторы и всякое интересненькое.
И... столбец 18 из 19!
Из интересненького:
Даже невооруженным глазом четко прорисовывается регистр счетчика таймера. Видно, как в него загружается значение, и как каскадно соединены триггеры счетчика.
Избыточность, на мой взгляд, большая. Если все упаковать в функциональные блоки - регистры, счетчики, дешифраторы - схема станет очень читаемой и понятной. Но это второй этап.
В размер аттача на форуме схема уже не влезает (лимит 640Кб), поэтому размещаю на Яндекс-диске.
Заметки по реверсу 1515ХМ2-001:
По нумерации ячеек:
1. В нумерации отсутствуют буквы 'I' и 'O', чтобы не путать с единицей и нулем.
2. В первых столбцах присутствуют несколько номеров вида C6a, C21a, D3a, D3b.
3. Всего в матрице 1296 логических ячеек.
Порты (всего 60):
Замечание: не все входы и выходы портов могут быть задействованы.
1. Двунаправленных портов с комплиментарным выходом: 21 (P1, P9-P24, P28, P30, P56, P62).
Каждый порт содержит 4 мощных транзистора, 2 сверхмощных и 1 резистор.
2. Двунаправленных портов с открытым коллектором: 31 (P2-P6, P25, P27, P29, P33-P55).
Каждый порт содержит 4 мощных транзистора, 1 сверхмощный и 1 резистор.
3. Входы: 8 (P7, P8, P26, P31, P57-P59, P61).
Каждый порт содержит 4 мощных транзистора и 1 резистор.
Итого, порты содержат 60 резисторов, 240 мощных транзисторов и 73 сверхмощных транзистора (в сумме 313 транзисторов)
troosh(08.11.2019)
Итак - финальная версия первого этапа реверса 1515ХМ2-001.
Разумеется, могут быть ошибки и все такое прочее.
В архиве, схема для P-CAD, и схема в виде PDF.
В логических элементах много избыточности. Явно была библиотека различных блоков типа - регистра, счетчика, буфера и т.д. Т.е. никто не делал эту схему на уровне триигеров и простейших логических элементов. А автоматической оптимизации логики у САПР'а скорее всего не было. Отсюда и избыточность.
В общем, реверсить было явно сложнее и дольше, чем делать эту схему)
Последний раз редактировалось Titus; 08.11.2019 в 20:44.
Немножко живой математики.
Логические элементы:
* НЕ: 2 транзистора - 115 штук + ~4 штук тупиковые
* НЕ x 2: 4 транзистора - 87 штук
* НЕ x 4: 8 транзисторов - 32 штуки
* НЕ-НЕ: 4 транзистора - 22 штуки
* 2И-НЕ: 4 транзистора - 149 штук
* 2ИЛИ-НЕ: 4 транзистора - 102 штуки
* 3И-НЕ: 6 транзисторов - 40 штук
* 3ИЛИ-НЕ: 6 транзисторов - 44 штуки
* 3ИЛИ: 8 транзисторов - 1 штука
* 4И: 10 транзисторов - 49 штук
* 4ИЛИ: 10 транзисторов - 9 штук
* НЕ-2И (кое-где оптимизирован до 2И): 10 транзисторов (из них 2 посажены на землю) - 2 штуки
* 2И,2И-2ИЛИ-НЕ: 8 транзисторов - 17 штук
* 2ИЛИ,2ИЛИ-2И-НЕ: 8 транзисторов - 1 штука
* 2MUX1: 4 транзистора - 3 штуки
+ НЕ-НЕ: 4 транзистора - 2 штуки
* BUF (НЕ-НЕ): 4 транзистора - 14 штук
* RS-Trigger A: 8 транзисторов - 38 штук
* RS-Trigger B: 8 транзисторов - 1 штука
* D-Trigger-One: 12 транзисторов (3 ЛЯ) - 63 штуки
+ НЕ-НЕ: 4 транзистора - 63 штуки
* D-Trigger-One-R: 14 транзисторов (3 ЛЯ) - 28 штук
+ НЕ-НЕ: 4 транзистора - 28 штук
* D-Trigger-One-S: 14 транзисторов (3 ЛЯ) - 1 штука
+ НЕ-НЕ: 4 транзистора - 1 штука
* D-Trigger-Edge-S: 24 транзистора (5 ЛЯ) - 19 штук
+ НЕ-НЕ: 4 транзистора - 19 штук
* D-Trigger-Edge-R: 24 транзистора (5 ЛЯ) - 3 штуки
+ НЕ-НЕ: 4 транзистора - 3 штуки
* D-Trigger-Edge-RS: 28 транзисторов (5 ЛЯ) - 12 штук
+ НЕ-НЕ: 4 транзистора - 1 штука
Всего 1277 элементов (6064 транзисторов + около 80 недосчитались)
+ 313 транзисторов на порты,
Итого: ~6457 транзисторов.
Потерянные элементы:
1296 - 1277 = 19 недосчитались
Где могли недосчитаться.
Скорее всего при подсчетах элементов не учел что-то, что упаковалось в более крупные, или промахнулся при подсчетах.
Напомню, что в официальной документации заявлено 15200 элементов (вентилей). 15200 против реальных 6457. Как тебе такое, Илон Маск?
Замечу, что для ХМ2-000 (тестовая микросхема) там заявлено вообще 23550 вентилей.
А вообще, ХМ2-001 самая жирная из всех ХМ2. В ХМ2-002 по документации 14800 вентилей, а ХМ2-003 - 12100 вентилей.
Последний раз редактировалось Titus; 09.11.2019 в 03:29.
Небольшое дополнение к вопросу - откуда в схеме тупиковые элементы, а так же логическая избыточность.
Я думаю, что это так же появилось в следствие того, что проектировщики оперировали крупными блоками, в составе которых в обязательном порядке находилось определенное количество элементов. И если какие-то выходы блока не использовались, то появлялись такие тупиковые инверторы. Т.е. САПР эти элементы автоматически не обрезал.
Тоже самое с логической избыточностью в тактовом генераторе. Там используются два специфических триггера, модифицированных дополнительным элементом НЕ-2И в управляемые делители на 2. И элемент E55, который должен был бы по логики выкинуться, просто находился внутри этого управляемого делителя.
Обновил в первом посту библиотеку элементов. Теперь она включает в себя подробные схемы всех элементов, встретившихся в ХМ2-001.
Картинки залил вместо рекламного радикала на https://pic.maxiol.com/ по совету Hobot'а.
Последний раз редактировалось Titus; 09.11.2019 в 13:19.
Ув. доктор г.к. @Titus, можно простой популистский вопросец - вот вы узнали, что хотели про начинку этой
схемы, эти знания помогут в доработке эмулятора УК-НЦ ?
Всякий раз читая твое 'г.к.' произношу это как 'Горячего копчения')))
Я еще не все узнал, а только перевел схему с кристалла в понятный человеку вид. Но не каждому человеку. Теперь надо перевести в понятный каждому)
Разумеется, это поможет доработать все имеющиеся в мире эмуляторы УКНЦ, а так же создать реплику микросхемы, если кто захочет)
hobot(09.11.2019)
Вопрос - как положено маркировать регистры, в которые можно загружать/читать значение, а так же значение которого может декрементироваться по такту?
Я обозвал входы D0..D11, выходы Q0..Q11, вход загрузки L, вход тактирования C, а на регистре написал REG, а под ним -1.
Это корректно?
Последний раз редактировалось Titus; 09.11.2019 в 17:27.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)