- Цифровая археология: тайна кристалла 030
-
? Vslav - 27.09.2013 21:30
Я просто оставлю это здесь :)
http://forum.pk-fpga.ru/viewtopic.php?f=43&t=5451
-
? RePost: - 28.09.2013 14:11
Несколько обнаруженных в ходе раскопок интересных фактов про 1801ВП1-030:
микросхема использует чуть более четверти объема матрицы ячеек - всего 168 из 600
микросхема содержит менее 300 цепей - по сложности это уступает многим простым современным радиолюбительским платам
присутствуют устаревшие (но простые) схемотехнические решения типа ripple counter
всего один внутренний регистр (декодируется по входу RSEL, поэтому это не обязательно имеет адрес 177716), этот регистр содержит всего два бита, все цепи AD[15:0] являются входами. Но как выходы служат только два из них - AD[3:2] - именно чтение регистра
выход nRPLY построен по схеме "открытый коллектор"
на шаблоне металлического слоя микросхемы присутствуют мелкие погрешности - остатки никуда не ведущих трасс. Все-таки по тем временам (когда оно разрабатывалось) шаблон занимал наверняка большой стол посередине большой комнаты и "глазками" найти такие "косячки" было сложно
обнаружен тестовый заводской режим - если одновременно подать активные низкие уровни на nDIN и nDOUT то на выходах адреса динамической памяти будет выдаваться значение, инкрементируемое с каждым тактом входной частоты, это позволяет быстро проверить частотные свойства конкретного экземпляра микросхемы
наконец стал понятен механизм запуска цикла регенерации динамической памяти (вопрос интересный, чуть дальше расскажу подробнее)
¤
При наличии полноценной схемы в электронном формате несложно написать программку для получения списка цепей и трансляции его в Verilog HDL. Что и было немедленно сделано. Пришлось немного повозиться с написанием библиотечки функциональных ячеек и, гип-гип-ура, получили полноценную функциональную модель 1801ВП1-030 на Verilog HDL.
¤
На всех этапах экстракции структуры производится непрерывный контроль. При начальной векторизации было допущено в общей сложности около сотни ошибок. Потом они все по мере продвижения проекта исправлялись. Например, PCAD имеет простенькие средства ERC (Electronic Rules Check). Грубо говоря, можно указать что вот этот вывод компонента является выходом, а вот этот - входом. Когда они объединяются в цепи ERC довольно быстро показывает цепи где конфликтуют два выхода, и какие цепи вообще не имеют выходов или входов. На этом этапе удалось выловить более 90 процентов ошибок векторизации и экстракции схемы. Далее при перерисовывании схемы в "человеческую" форму выявилось несколько смысловых ошибок, пришлось откатиться назад к фотографии и тщательно поизучать возможные варианты. К сожалению, фотографии разрешения 10К на 10К точек не всегда позволяют однозначно определить рисунок (а это и так склеено около 200 фотографий, огромный труд, еще раз спасибо BarsMonster), но в итоге все эти проблемы удалось решить. На этапе моделирования схемы средствами Verilog-симулятора ошибок восстановления схемы уже выявлено не было.
¤
Ну и в завершение "вкусняшка" - несколько слов об алгоритме запуска цикла регенерации динамической оперативной памяти. 1801ВП1-030 поддерживает управление микросхемами типа 565РУ6, период регенерации которых должен составлять не более двух миллисекунд. 565РУ6 содержит 128 страниц, значит циклы регенерации должны осуществляться с периодом не более 2мс/128 = порядка 16 мкс. Микросхема -030 внутри содержит шестиразрядный счетчик. Цикл регенерации запускается каждые 64 такта входной частоты (кстати, из этого следует что сама входная частота не может быть менее 4МГц, иначе мы превысим период регенерации микросхем памяти). Каждые 64 такта счетчик выставляет запрос на регенерацию. Если в течение 32 тактов после момента выставления запроса выполняется цикл доступа к памяти со стороны внешних устройств (обычно это микропроцессор), то после окончания этого внешнего цикла будет немедленно запущен цикл регенерации. Это оправдано, так как после обращения к памяти процессор обычно тратит несколько тактов на обработку данных/команд внутри себя и следующее обращение к памяти, как правило, не будет следовать немедленно. Если же в течение 32 тактов после выставления запроса на регенерацию никто к динамической памяти не обращается, то микросхема 030 просто ждет. По истечении интервала в 32 такта запрос на регенерацию переводится на агрессивный уровень - регенерация будет запущена немедленно.
¤
Подытоживая - в ходе "цифровых раскопок" было получено море удовольствия. Практический результат - можно сделать на FPGA полную функцинальную копию, например, платы МС1201.01. Весело наработана методика, скромный инструментарий и библиотеки для дальнейшего реверса других 1801ВП1 - это можно сделать очень быстро.
-
? Vslav - 14.10.2013 15:18
Продолжим мероприятие? :)
http://forum.pk-fpga.ru/viewtopic.php?f=43&t=5482
-
? RePost: - 14.10.2013 17:13
Цифровая археология 1801: неудержимое диско 128
¤
В отличие от ситуации в анекдоте у нас прекрасный реальный повод устроить сегодня дискотеку - закончен полный реверс-инжиниринг микросхемы 1801ВП1-128. Данная микросхема является контроллером накопителей на гибких магнитных дисках (в быту используется более простое название - "дисковод"). Ранее компьютеры БК-001х использовали для сохранения программ и данных магнитофон. С появлением 1801ВП1-128 стала возможной разработка простого, компактного и массового контроллера НГМД и магнитофоны наконец освободились для прямого назначения - для устройства дискотек (конец 80-х, про компакт диски в СССР мало вообще кто хотя бы слышал. Мда, а каким шиком было иметь "Шарп")
¤
Микросхема ВП1-128 фактически является венцом советского БМК-строения на основе матрицы серии 1801ВП1. 128 - это последний широкоизвестный номер в серии который пошел в массовое производство. Микросхема является относительно сложной (пока могу сравнить только с 030), использует 308 ячеек матрицы и содержит 525 связей.
¤
Фотографии высокого разрешения кристалла традиционно выполнены BarsMonster, за что ему отдельное спасибо.
¤
Качество фотографий 128-ой получилось лучше чем для 030-ой. Фактически ошибки векторизации возникали только из-за моей невнимательности. Ошибки представляются любопытными - достаточно одной небольшой дополнительной черточки на ячейке и мультиплексор превращается в триггер. Ну как тут не вспомнить еще один старый анекдот "надо же, всего одна циф'га - а какая г'азница" :). В процессе декапа кристалла случился небольшой скол, но основная часть схемы осталась неповрежденной и на процесс реверса этот скол никак не повлиял.
¤
При "раскопках" не обнаружено никаких дополнительных регистров или битов, не указанных в имеющейся скудной документации. А вот алгоритмы работы некоторых штатных блоков вызывают недоумение и, скажем так, некоторое неприятие, но - обо всем по порядку. Чтобы не придумывать ничего нового воспользуемся описанием блоков из имеющейся документации на микросхему. 1801ВП1-128 содержит следующие функциональные блоки (нумерация ячеек приведена по восстановленной схеме):
¤
декодер адреса шины MПИ. Основная часть декодера реализована на ячейках A3, N3, B3, L4, B4, A5, A6, A7. Из особенностей отмечу что микросхема не защелкивает по ниспадающиему фронту nSYNC адрес обращения целиком, а только результаты предварительного его декодирования. В связи с чем выдвигаются вполне естественные требования к времени предустановки адреса относительно ниспадающего фронта nSYNC. Декодируется всего два адреса - 177130 (регистр управления при записи и регистр состояния при чтении) и 177132 (регистр для чтения-записи 16-битного слова данных).
схема управления сигналом RPLY. Данный сигнал вырабатывается в ответ на обращение к регистрам контроллера по шине МПИ. Установка данного сигнала в активный (низкий) уровень синхронизирована с фронтом тактового сигнала CLK. Снятие происходит немедленно после снятия сигналов nDIN или nDOUT. Реализована на ячейках B6, B7, B9, B10, B11. Триггер на элементах B6, B7, B9 является интересным схемотехническим образчиком - на этих трех элементах реализован D-триггер (вход данных - контакт 8 элемента B6), срабатывающий на ниспадающем фронте тактового сигнала (CLK).
регистр данных записи это просто 16-битный региcтр. На схеме банально представлен шестнадцатью D-триггерами
N4, N5, M4, M5, L5, J4, H5. H4, G5, G4, F5, F4, D5. D4, C5 и C4. Данные в этот регистр переписываются непосредственно с шины МПИ при обращении на запись по адресу 177132. Выход этого регистра через мультиплексор подключен к сдвиговому регистру, через который записываемые данные будут последовательно поступать для записи на гибкий диск.
мультиплексор регистра данных записи. Реализован на элментах C7, D7, F7, G7, H7, I7, J7, L7 и представляет собой восьмиканальный мультиплексор два-в-один, коммутирует младший и старший байты регистра данных записи ко входам сдвигового регистра.
восьмибитный сдвиговый регистр. Реализован на L9, L11, L12, I9, I11, I12, J9, J11, J12, H9, H11, H12, G9, G11, G12, F9, F11, F12, D9, D11, D12, C9, C11, C12. Может работать или в режиме сдвига (только в одну сторону - от младших разрядов к старшим) или в режиме параллельной загрузки. Стоит отметить что старший бит байта данных записывается или считывается первым.
демультиплексор данных чтения. Поочередно подключает старший и младший байты шестнадцатибитового регистра данных
чтения к выходам воcьмибитного сдвигового регистра. Наличие этого блока явно избыточно - достаточно просто соединить регистры напрямую - байт сдвигового регистра непосредственно выдается одновременно на оба байта регистра данных чтения, а логика работы реализуется через стробы записи - она так на этих стробах по факту и реализована. Поэтому, по мнению автора, элементы C2, D2, F2, G2, H2, I2. L2, M2 являются избыточными и могли бы быть удалены из схемы.
шестнадцатибитный регистр данных чтения принимает два байта данных из сдвигового регистра. В процессе считывания данных с диска сначала сохраняется старший байт, затем младший данных. Регистр реализован на шестнадцати D-триггерах, разбитых на две группы - для старшего (I0, H0, F0, D0, B0, A0, B2, B1) и младшего (O10, O6, O4, O1, O0, N0, M0, J0) байта данных соответственно.
регистр управления, содержит десять D-триггеров (O23, O27, O32, O36, O38, O39, N39, G39, F39, G36), которые сохраняют данные записываемые при обращении по адресу 177130. Разряды DS0-DS3, MSW, HS, DIR, REZ отображаются с инвертированием на соответствующие внешние выходы микросхемы и более никакого влияния на работу остальных блоков не оказывают. Разряд ST фактически в отдельном триггере не запоминается, вместо этого на выходе ST формируется импульс отрицательной полярности в момент записи единичного значения в данный разряд. Поэтому последующая запись в регистр управления с обнулением значения разряда не нужна. Состояние разряда GDR дополнительно стробируется импульсами данных чтения. Поэтому если ранее был установлен GDR и с дисковода более не поступают импульсы чтения (допустим вставили неформатированную дискету) то запись осуществить невозможно (по крайней мере без подачи активного низкого INIT) - так как внутрений стробируемый GDR зафиксировался в активном состоянии и удерживает часть схемы синхронизации в сбросе.
регистр состояния ВП1-128 содержит всего два триггера - для фиксации сигнала готовности (M12) и результатов контрольной суммы/окончания записи (J34). Остальные сигналы регистра состояния считываются непосредственно с входов микросхемы. Сигналы TR0, RDY вообще никак не влияют на работу микросхемы. Высокий уровень на входе WRP запрещает запись. Сигнал IND на работу микросхемы также влияет очень слабо - никак не прерывает режимы поиска маркера, чтения или записи данных. По крайней мере об этом говорят результаты моделирования. Поскольку они несколько странны, то были приняты дополнительные усилия по поиску ошибок восстановления схемы, никаких ошибок на данный момент не выявлено.
мультиплексор чтения (O11, O7, O3, L0, A1, A2) подключает к шине данных МПИ или регистр данных чтения или регистр/флаги состояния в зависимости от адреса обращения
схема синхронизации импульсов данных чтения собрана на элементах C39, D39, D38, G27, F35. На вход поступают положительные импульсы с инвертированного входа nDI. На выходе генерируются импульсы длительностью один период тактовой частоты CLK (250нс), передний фронт которых синхронизирован с ниспадающим фронтом CLK.
схема синхронизации. Содержит генератор с подсистемой фазовой автоподстройки частоты и схемы формирования различных синхроимпульсов. В режиме чтения выход ФАПЧ находится в фазовом соотвествии с импульсами данных чтения. Если таковые импульсы отсутствуют или схема находится в режиме записи, то схема находится в свободном режиме (free-running) и на выходах генерируются повторяющиеся сигналы с периодом 250кГц.
схема декодирования читаемых данных (G32) является очень простой - схема синхронизации вырабатывает меандр, фаза которого привязана к потоку импульсов данных чтения. Частота этого меандра соответствует битовой частоте 250кГц. Если в течение высокого уровня данного сигнала поступил импульс данных чтения, то фиксируется единичное значение бита данных, если импульса на входе nDI не было, то фиксируется нулевое значение. Таким образом, только МФМ-импульсы в середине битового интервала влияют на формирование данных. МФМ-импульсы на границе интервала участвуют только в управлении схемой ФАПЧ.
схема распознавания маркера - постоянно проверяет значение сдвигового регистра на соответствие коду 0xA1 (элементы I5, D13). Также имеется теневой четырехбитный сдвиговый регистр (F25, H23, I23, J23), который детектирует имульсы данных чтения на границе битовых интервалов - работает на том же принципе что и схема декодирования читаемых данных, только захватывает импульсы в противофазе. Захваченное значение также постоянно анализируется на предмет пропущенного синхроимпульса в младших четырех битах маркера 0xA1. Таким образом, можно утверждать что при чтении микросхема распознает только маркер 0xA1 с пропущенным синхробитом.
схема кодирования записываемых данных. Кодирует последовательный битовый поток данных в импульсы длительностью 500нс на выходах DO1-DO3. Данные выходы, по видимому, соответствуют значениям "номинальный импульс", "запаздывающий импульс" и "опережающий импульс" и предназначены для организации работы схемы предкомпенсации записи. Результаты моделирования показывают что фаза импульсов является постоянной и импульс может появиться только на одном из этих выходов. Поэтому использование элементов "И" в схемах многих контроллеров НГМД на ВП1-128 выглядит ненужным и избыточным - вполне достаточно одного сдвигового регистра.
генератор CRC вырабатывает циклический контрольный код. Любопытно что занимает он целых 48 ячеек - почти одну шестую часть всей микросхемы. В-общем-то ничего интересного из себя не представляет - обычный шестнадцатибитный сдвиговый регистр с обратными связями, реализован на длинной цепочке RS триггеров с двумя противофазными тактами.
¤
При реверсе cхема ФАПЧ показалась мне особенно сложной. Она содержит около двух десятков отдельных триггеров, каждый из которых собран на "рассыпных" элементах "ИЛИ-НЕ". Все это густо переплетено непростыми обратными связями, которые зачастую являются распределенными по нескольким дополнительным ячейкам функциями нескольких триггерных выходов. Нет, я, конечно, знал - что вот эта беспорядочная кучка ячеек на схеме "где-то тут" содержит ФАПЧ. И после нескольких вечеров даже как-то ухитрился их сгруппировать. Но тут очень удачно вспомнилась такая книжка - Шевкопляс Б.В. - Микропроцессорные структуры. Более того, на работе у меня нашелся бумажный экземпляр и было приятно поработать с реальной бумагой :). Так вот, этот антикварный фолиант содержит подробное описание структуры и принципов работы ФАПЧ, реализованной именно в 1801ВП1-128. Любопытно что на эту схему в 1990 году получено Авторское свидетельство СССР. С книжкой и описанием дело пошло существенно веселее и схема была быстренько "разложена по полочкам".
¤
¤
Но, сожалению, в бочке с медом нашлась и ложка кое-чего менее вкусного - несмотря на блестящую схему фазовой автоподстройки, авторы ВП1-128 не смогли обеспечить надежное распознавание маркера и переход в режим чтения данных. Дело в том, что ФАПЧ подстраивает генератор на удвоенную частоту битового интервала. И результирующая битовая частота может иметь две фазы. Если повезет и первыми битами будут нулевые данные (часто это так и есть - перед маркером записывается преамбула из нескольких нулевых байт) то фаза будет корректной и маркер будет распознан. А вот если сначала попадется несколько единичных бит (МФМ-импульсы в середине интервала), то фаза будет повернута на 180 градусов и маркер не будет распознан. Это подтверждается моделированием и экспериментально - вот в этой теме обсуждался эмулятор флоппи-дисковода с которым у 1801ВП1-128 были проблемы - не опознавался маркер. В-общем, у 128-ой шанс распознать маркер 50/50 - это как блондинке встретить динозавра на улице - "или встречу или не встречу".
¤
Ну а в остальном все выглядит достаточно симпатично, несмотря на то что 1801ВП1-128 является достаточно простым контроллером НГМД (можно ведь сравнить, например, с 1818ВГ93, который сам умеет анализировать заголовок сектора). Надеюсь, что статья вышла не очень скучной и многие ее смогли осилить до конца :)
-
? anonymous - 14.10.2013 18:55
Замечательно! Какую следующую ВПшку вскрывать будете?
-
? Vslav - 14.10.2013 19:37
Можно я не буду пока рассказывать? Не из высокомерия или неуважения, а чтобы интрига была :)
В принципе, интересны все ВП-шки из БК, УКНЦ и ДВК - всего там примерно 15 моделей, из них интересных штук 10-12. Но когда и сколько - зависит, в-основном, от BarsMonster-a, когда у него найдется "час та натхнэння" (время и вдохновение) сварить в дымящейся азотной кислоте и склеить полторы-две сотни микрофотографий очередного чипа. С моей стороны разбор 128-ой занял примерно две недели по вечерам, но похоже что это - один из самых сложных и больших чипов серии, остальные попроще и побыстрее должны быть.
¤
¤
-
? шПионер - 14.10.2013 20:51
%) 065-ю
-
? Vslav - 26.12.2013 19:04
Из свежеоткопанного: http://forum.pk-fpga.ru/viewtopic.php?f=43&t=5506
-
? tim - 26.12.2013 19:25
Респектище ! спасибо за "несокрытие" информации
-
? MM@ - 26.12.2013 22:23
Уважаемый Vslav, не теряйте время на плюшки и кренделя - переходите сразу к М1801ВМ3А - это реальный шанс увидеть живую БК на матрице с частотой, большей 10 мгц - а это ждут не менее 20 чел, включая меня. Других шансов у БКшечников совсем немного.
-
? Vslav - 26.12.2013 23:33
Я предпочитаю как тот старый бык - "щаз мы медленно спустимся с холма и покроем абсолютно все стадо" :)
На самом деле реверс процессора это уже новый уровень технологии. При реверсе БМК не нужно прорисовывать всю топологию - достаточно распознать тип ячейки и сделать привязку точек ввода-вывода. С процессором ВМ1 так не получается - там достаточно большой зоопарк транзисторов и их взаимных расположений, значит надо прорисовывать всю топологию и распознавать каждый транзистор отдельно, и только потом объединять их в логические элементы. Это работы сразу больше на порядок (причем ровно - одна распознанная чейка БМК содержит 10 транзисторов :). Второй момент - в БМК 1801ВП1 всего около 5500 транзисторов, в ВМ1 заявлено 50000 (в ВМ3 100000, но что-то я сильно в этих цифрах сомневаюсь), вот еще порядок сложности и объема. Итого - если разобрать ВП1 занимает 2-3 недели вечерами (или несколько дней полностью с утра до вечера), то анализ ВМx уже на полтора-два порядка дольше. То есть уйдет год-два. Для сравнения - зарубежные реверсеры топологию 6502 тоже несколько месяцев распознавали, а там всего ~3500 транзисторов.
Кроме того, для надежного ручного распознавания отдельных транзисторов надо поднять в 2-4 раза разрешение фотографий и их качество. Но существующий инструментарий уже с трудом переваривает разрешение 10к*10к используемое при реверсе ВП1. Значит надо бить фотографии на части и обрабатывать частями. И самих фотографий станет в 4 или 16 раз больше.
Следующий момент - если БМК можно распознавать по единственной фотографии верхнего слоя металла и проглядывающего через него слоя поликремния, то для процессора уже надо дополнительные отдельные фотографии слоя поликремния и слоя диффузии - то есть для ВМ1 надо минимум три фото, да еще после процессов селективного травления. Процессы эти могут идти неоднородно, поэтому есть значительная вероятность что придется фотографировать не один экземпляр процессора.
Тем не менее, несмотря на все предполагаемые сложности, куплен металлографический микроскоп (на той неделе приехал "под елочку", но сейчас у меня нет времени с ним плотно разбираться - работы очень много), буду осваивать потихоньку софт для сшития панорам, и прочее. Может быть через несколько лет у нас и будет точная модель ВМ1/2/3.
2 ММ: Иван Иваныч, сфотографируйте все таки, пожалуйста, всю схему МС1201.04. А то процесс по ВП1-119 застопорился. Есть у меня мыслишка где там косячок, может получится "малой кровью" память на 1201.03/04 заставить нормально работать.
-
? MM@ - 27.12.2013 03:39
1.Овчинка выделки стоит - насчет реверса ВМ3А . Это объясняется тем, что полученный результат - на 99.9% единственное реальное решение по созданию чего-то сложнее БК11М или т.п. Практически это сопоставимо с изобретением "холодного синтеза" в мире драгметаллов. Для мало разбирающихся - на матричном аналоге ВМ3-50 мгц с достаточным к-вом СОЗУ пойдут большие ОС типа Уникс и
т.п. практически без тормозов. Конечно, там необходим и аппаратный обвяз - например, отдельный терминал и т.п. - но как раз еще один матричный ВМ3-50 мгц может и терминалом заняться - а там и до моста МПИ-ИСА - рукой подать. Таким образом можно наконец выйти из мира конца 1970-х с его 4-8 мгц. ( В общем, это ключик к одному всем извесному проекту ... )
2.Насчет МС1201.03-04 - ошибка ДОЗУ там абсолютно одинакова на обоих платах. Я даже в начале 1990-х специально в Москве у одного ДВКшника решил удостоверится, что это не мое личное мнение - типа давай заспорим на 1$, что твоя 1201.03 - лажа. ДВКшник сказал - докажи за 1 час ! Ну я засел за клаву и порядка получаса набирал "Т4" - тест проходил хорошо, в это время господин злорадствовал и требовал платеж именно зелененькой бумажкой. Но не прошло и 50 мин, как выскочил столбец групповых ошибочек - я ему бакс простил,
но с той поры уверен, что разработчики этого славного МС1201.03 и МС1201.04 - олигофрены.
У меня от инсайдера даже была МС1201.04 - с паспортом о прохождении термоциклов - она вредничала только при частоте 5.00 и более
мгц, а на частоте 4 мгц могла по полчаса и более держать себя в исправности, даже на термоцилах в тепло +50 по Цельсию. Я к ней тестер самопальный написал тогда - со звоночком ( что бы знать, что в термокамере еще не уголечки...)
Как я предполагаю, в цикле ДОЗУ нет достаточного времени на т.н. презарядку - когда после очередного обращения должен
выдерживаться тайминг, равный типовому времени сигнала выборки "CAS" - он меньше необходимого примерно раза в 2-3. Доказательство - при установк быстрых СИММ-30 ( 4 х 1 метр ) в к-ве 4 шт. ошибок я от МС1201.04 так и не дождался.
3.Насчет измерения быстродействия. У меня была коллекция тестеров от ДВК - измерители быстродействия по таймеру. По традиции, все врали как следует - я сверял их на одной МС1201.02 - разброс порядка 50%. Вот думаю как-нибуть для блока с ВМ3А написать тестер и откалибровать его на 48.5 гц и т.п. тонкости - разумеется, с математическим коэффициентом вранья - т.е. от измерительного процесса будет получаться некотрое абстрактное число, а потом простыми математическими действиями приводится к тому, что я получаю, измеряя быстродейтвие с секундомером ( механическим спортивным ).
4.Сейчас разрабатываю 01 исполнение блока с ВМ3А - пока появился призрачный результат, но он неустойчив во времени. Кстати, в ВМ3А предвыборка просто офигенная - 3 слова после программы : 000777 . К тому же явно видно баг, связанный с моментом прихода сигнала SSYNC - в какой-то момент сразу за SYNC он четко вырубает ЕМТ и т.п. фичи камня.
5.На днях подойду к фотографированию по-научному, надо только разобраться со светом.
( Кое-кто шибко передовой из Кремля запретил с 1 января все лампочки накаливания - 1 страница нецензурных комментов вырезана цензурой ).
-
? Дмитрий - 27.12.2013 10:26
Интересно, сколько будет стоить готовая плисина с ВМ3-50 мгц? И практический смысл от пары таких в призрачном компе для никсов? Мы, таким образом, постепенно приближаемся к тому, что придется писать эмулятор БК11М или даже БК12 для такой машины. Софт для 10/11М будет криво работать на такой частоте. Мы удаляемся от идеи ретро-компа с расширенными возможностями.
-
? tim - 28.12.2013 22:08
Vslav, возможно-ли получить файлы - "исходники" PCAD ВП-шек ?
-
? Vslav - 28.12.2013 22:37
А зачем они Вам? Полный Верилог же выложен и проект для моделирования под Квартус/МоделСим.
Но проблем поделится нет, там в 037.pdf почта в правом нижнем углу указана, напишите мне, я вышлю.
-
? anonymous - 30.12.2013 07:31
「3.Насчет измерения быстродействия.」 MM, тест от Patron довольно точно тактовую частоту выдает при известной частоте таймера. У меня четко выдает частоты кварца для стенда, для мс1201.03 и для М8.
-
? Vslav - 06.01.2014 00:08
"Я так хочу - чтобы лето не кончалось" :)
Расширяем свой лексикон:
http://forum.pk-fpga.ru/viewtopic.php?f=43&t=5514
-
? anonymous - 06.01.2014 07:27
А комплект из -095й и -096й будет вскрываться?
-
? Vslav - 06.01.2014 12:29
Если кому-то интересен комплект 095/096 - то будет. Но пока микросхем живых нет (мне их покупают и присылают из Москвы), только одна штука 095, может помереть при вскрытии. И чтобы грамотно нарисовать схему придется разобраться с контроллером MY, прочитать его описание и тд. Пока вот над 119-ой процесс идет, разбираю схему 1201.03, хотелось бы также схему 1201.04, но ее нету.
-
? anonymous - 06.01.2014 12:36
Ну вот на днях Patron как раз интересовался логикой ее работы, как какой бит управляется в регистре состояния. А еще интересно посмотреть, что и как там напахали, что она работает с ВМ1/2/3 и М2/М6, но не работает с М8.
-
? Дмитрий - 06.01.2014 13:28
"Снимаю шляпу перед маэстро" - Vslav'у респект за проделанный труд!
-
? олег - 07.01.2014 10:45
Что полезного несёт зашивка микросхемы кр565рт4? их 2штуки формируют адрес интерфейса оператора пультового и инжинерного режима.
первая вход символ разряды старшие 8-5 и вторая младшие 1-4 разряда символа выход получается адрес
пример пульт инженерный код адреса 11111011-код символа 01110001
01111011-01010001
11001100-00111011
пультовый
00000010-10101010
00110001-00001100
и т.д
это адресация на пзу 573РФ4 или что то другое?
-
? anonymous - 07.01.2014 10:59
Вы это вообще о чем, олег?
-
? олег - 07.01.2014 11:23
Это плата от чпу интерфейса пульта оператора на ней такие микросхемы и они как я понял формируют адрес так вот мне интересно
этот адрес на пзу озу или на плату с мс1201.02?
-
? олег - 07.01.2014 11:42
Они там как я пониаю в роли дешефратора?
Вот книжка http://yadi.sk/d/TNsJlOWPFZzoT
в ней тоже есть пример работы с ними.
-
? олег - 07.01.2014 11:46
И уменя есть зашивка на эти микрухи в виде печатанных таблиц
там отдельно по режимиам пультовый и инженерный.
-
? anonymous - 07.01.2014 13:03
Во-первых, вы засоряете чужую тему, не относящимся к ней материалом. Заведите свою отдельную. Здесь обсуждают вскрытие БМК с воспроизводством их модели.
Во-вторых, у вас должна быть схема вашего пульта и по схеме вы увидите, что делают ваши пзу в ней. Без схемы конкретного устройства пзу бессмысленны.
-
? sav - 07.01.2014 13:05
Vslav, в описании БМК указано, что усилительная ячейка имеет коэффициент разветвления 10. На схеме 013 во входном регистре адреса на одной усилительной ячейке висит 12 тригеров, а в 037 - 16 тригеров и три логических элемента. Это действительно так?
-
? Vslav - 07.01.2014 14:30
Увы, единственный имеющийся у меня кристалл ВП1-096 (а не 095 как я писал ранее, ошибся) не пережил вскрытия - раскололся. Сегодня вскрывалось 4 кристалла, только один неудачно и это был 096 :(. Буду заказывать партейку 055/095/096/120 и ждать. ВМ1 вкрывается еще хуже - там кристалл в полтора раза больше, раскалывается чаще.
2sav: да, в описании много чего написано, а на практике проектировали как хотели. Мне в схемах попадалось до 40 входов (хотя часть из них просто сдвоенные) на одну усилительныю ячейку. В 037-ой строб записи в регистр смещения (9 триггеров) вообще на выход обычной ячейки заведен. ИМХО, явный косяк. Но вероятно скажется только на быстродействии - верхний транзистор в nМОП очень слабенький, может не успеть емкость перезарядить.
Относительно часто встречаются косяки помельче - в 013-ой есть лишний разряд счетчика регенерации, который никуда не выведен - смотрел по снимкам двух экземпляров микросхемы - вроде так и есть. Также бывают просто висячие трассы - похоже на мусор от предыдущих вариантов трассировки - видимо девочки, лазившие по фотошаблону, не доглядели :)
-
? anonymous - 07.01.2014 17:07
Да, 96ю жалко, в ней как раз секвенсор шины сидит. При установке с платой процессора М8 - MY не работает, пока в М8 включено кеширование. Тогда М8, работая в пределах кеша, не выставляет на магистраль SYNC, но это не мешает ему обрабатывать запросы ПДП, однако MY это почему-то не нравится. Запрос ПДП 96я должна сформировать и получить доступ за время, от фиксации 95ми адреса окна со стороны ВМ1 MY (040000) и успеть провести цикл с трансляцией адресов на МПИ основного проца, пока ВМ1 не выработал таймаут - весьма жестко им приходится крутиться.
-
? Alex_K@ - 07.01.2014 17:36
anonymous, у -095 есть выход WD, с таким же названием у -096 есть вход. Предполагаю, что WD от слова window. Так что как только -095 по SYNC фиксирует попытку доступа к "окну", то сразу же дает об этом знать -096-й. Ну а -096 должна сразу же начать запрос ПДП. А уже далее с помощью сигналов DLA, DLD, CLD идет обмен. Наиболее интересен момент, когда со стороны КМД через "окно" идет обращение к самой себе по адресу 172140, но как это реализовано, может показать только вскрытие кристалла.
-
? anonymous - 07.01.2014 19:48
Меня другое удивляет, то, о чем я жаловался выше, почему она не может ПДП запросить, если не было "вражеского" SYNC. А в ответе самой себе нет ничего особенного, оба ее регистра имеют по входному и выходному буферу на каждую сторону, и действует комплект как пассивное устройство независимо, отвечая сам себе.
-
? Patron - 07.01.2014 22:14
> действует комплект как пассивное устройство независимо, отвечая сам себе
Т.е. когда КМД обращается через окно к своим регистрам - этот запрос не выходит на шину ДВК ?
-
? anonymous - 07.01.2014 22:21
Выходит конечно. Каждый пин, и SYNC/DIN/DOUT/RPLY в том числе, являются независимыми входом и выходом одновременно, объединенными внутри микросхем. Потому, когда выход на пин выключен, входной буфер принимает внешний сигнал, а когда выход активен - свой собственный, параллельно выдавая его наружу.
-
? SPY@ - 11.01.2014 18:49
Немного "воспоминаний о будущем" :
http://radiopicture.listbb.ru/viewtopic.php?f=3&t=28&st=0&sk=t&sd=a&start=140
-
? Дмитрий - 12.01.2014 16:51
Ужас, как народ разбирается в этом хитросплетении?
-
? Vslav - 28.06.2014 17:59
Одноклавишный 014 - http://forum.pk-fpga.ru/viewtopic.php?f=43&t=5550
- << Форум