Ответить на тему  [ 1 сообщение ] 
 
Автор Сообщение

Зарегистрирован: 20 май 2013, 11:45
Сообщений: 18
Сообщение Цифровая археология 1801: Северный мост 119
1801ВП1-119 представляет собой микросхему-компаньон для микропроцессора 1801ВМ3. Основным функционалом, который выполняет 1801ВП1-119, является контроллер динамической памяти и сопряжение процессора с остальными устройствами системной платы, поэтому микросхему условно можно назвать "северным мостом чипсета" в рамках современной терминологии. Массово применялся этот "северный мост" в составе плат микроЭВМ типа МС1201.03 и МС1201.04. На структурных схемах этих плат микросхема 1801ВП1-119 обозначена как "блок управления" и выполняет следующие функции:
  • дешифрацию адреса обращения по системной магистрали
  • формирование сигналов управления динамическим ОЗУ - nRASx, nCAS, nWE, nWEC
  • формирование сигналов управления системным статическим ОЗУ - nLA, nCSx
  • формирование сигнала выборки системного ПЗУ - nSROM
  • выдачу сигналов управления блока обнаружения и коррекции ошибок (на 555ВЖ1) - S0 и S1, а также прием ответного сигнала DEF при обнаружении некорректируемой (двойной и более) ошибки
  • управление буферными регистрами данных - сигналы CBx, nRB, используемых для выполнения байтовых операций записи, а также хранения данных после завершения цикла
  • выдачу сигналов nIN и nOUT для управления буферными элементами между внешней магистралью МПИ и внутренней шиной системной платы
  • формирование сигнала nESYNC для микропроцессора
  • формирование сигналов nRPLY и nFRPLY для завершения циклов обмена МПИ

Процесс реверс-инжиниринга для данной микросхемы был выполнен по стандартному маршруту для матриц 1801ВП1, поэтому нет смысла останавливаться на нем особо.
Фотография кристалла 1801ВП1-119 в полном разрешении:         (97MБайт)    Зеркало
Фотография кристалла 1801ВП1-119 в половинном разрешении: (24MБайт)    Зеркало
Архив со схемой, HDL-исходниками и материалами для моделирования: здесь

Изображение Изображение


Поскольку в Сети не было обнаружено подробное описание цоколевки, а схемы плат МС1201.0x не полностью отображают особенности, признано целесообразным привести цоколевку микросхемы по результатам реверса:

1 - CLK, основной тактовый сигнал, используется для тактирования внутренней машины состояний, состояние меняется как по фронтам, так и по срезам
2 - RCLK, запрос на цикл регенерации памяти, про фронту на этом входе будет активирован внутренний запрос на цикл регенерации
3 - nHLTM, признак пультового режима. При обращении к DRAM в пультовом режиме вход DEF (признак некорректируемой ошибки) игнорируется
4 - DEF, признак некорректируемой ошибки DRAM. Фронт на данном входе при активном цикле (на выходе nLA низкий) и не в пультовом режиме (на входе nHLTM высокий), и не зависимо от сигнала DCE, вызывает блокировку генерации nRPLY (nFRPLY генерируется всегда) и возникает тайм-аут обращения по шине.
5 - nSACK, признак доступа внешнего контроллера. Блокирует выработку активного nESYNCx и nFRPLY, влияет на nOUT 6 - nLA, строб адреса, активен при активном nSYNC или nRPLY
7 - nESYNC, выход синхронизации nSYNC, активируется по срезу CLK, далее подается на nSSYNC процессора, неактивен при nSACK (доступ внешнего агента к памяти и устройствам системной платы)
8 - nESYNCO, копия сигнала nESYNC, открытый коллектор
9 - nFRPLY, выдается при чтении процессором по фронту CLK при активном nCAS (примерно полтакта CLK после nCAS)
10 - nIN, разрешение трансляции данных с МПИ на внутреннюю шину платы. Активен при чтении с внешних устройств и записи внешним контроллером.
11 - nOUT, разрешение трансляции внутренней шины платы на МПИ. Активен почти всегда, кроме записи данных внешним контроллером.
12 - DCE, высокий уровень разрешает коррекцию ошибок. Влияет на выработку S0, S1, CB0, CB1, nWEC и nRB.
13 - S0, управление режимом 555ВЖ1
14 - S1, управление режимом 555ВЖ1
15 - не используется
16 - nRB, разрешение буферов прочитанных данных. Используется при записи байта с предварительным чтение комплементарного байта для формирования полного записываемого слова.
17 - CB0, запись младшего байта буфера
18 - CB1, запись старшего байта буфера
19 - nA0, младший разряд адреса, в том числе используется для разрешения nSRAM
20 - nA11, разряд адреса, используется для выбора nSROM/nCSx
21 - земля
22 - nA12, разряд адреса, используется для выбора nSROM/nCSx
23 - nSEL, низкий уровень генерируется процессором при обращении к системной памяти в режиме пульта, разрешает активацию nSROM и nCSx
24 - nSROM, выборка системного ПЗУ
25 - nCS0, разрешением младшего байта системного статического ОЗУ
26 - nCS1, разрешением младшего байта системного статического ОЗУ
27 - nDCLO, системный сброс
28 - nWEC, запись слова контрольных разрядов в DRAM
29 - nWE, запись слова данных в DRAM
30 - nRAS0, строб младшей половины DRAM, выбор определяется входом nA19
31 - nRAS1, строб старшей половины DRAM, выбор определяется входом nA19
32 - nCAS, общий строб всей DRAM
33 - nA19, адрес, старший разряд области DRAM, определяет nRAS0/nRAS1
34 - nTA, процессор начинает цикл чтения низким уровнем на этой линии
35 - nA20, адрес, используется для дешифрации области DRAM (обращение к младшему мегабайту)
36 - nA21, адрес, используется для дешифрации области DRAM (обращение к младшему мегабайту)
37 - nDOUT
38 - nDIN
39 - nRPLY, генерируется как ответ при обращении к динамическому и статическому ОЗУ, ПЗУ
40 - nWTBT
41 - nSYNC
42 - +5V, питание

В ходе моделирования выявлены следующие особенности работы микросхемы:
  • динамическое ОЗУ на платах МС1201.03/04 может выполнять циклы обращения только 16-битными словами. При чтении ненужный байт просто игнорируется процессором. При записи байта 1801ВП1-119 организует предварительную операцию чтения и затем формирует полное 16-битное слово для записи. В связи с чем байтовая запись работает на данных платах значительно медленее варианта с маскированием записываемых данных
  • сигнал nTA должен предпочтительно активироваться (ниспадающий фронт) только после установления стабильного адреса, иначе возможна ситуация когда дешифратор DR_ENA еще не отработал, а уже требуется старт по nTA. Это приводит к более позднему старту цикла чтения
  • nWTBT должен опережать ниспадающий фронт nDOUT (по нему осуществляется запуск циклограммы записи, а nWTBN нужен для выбора типа цикла - запись байта или слова)

Микросхема 1801ВП1-119 использует всего 236 ячеек матрицы, однако при реверсе возникли сложности. Схема содержит очень много триггеров, cделанных на отдельных ячейках типа ИЛИ-НЕ, с большим количеством обратных связей, что препятствовало линейному распознаванию схемы. Но в итоге удалось справится с сортировкой ячеек. Типовой триггер в составе ВП1-119 выглядит так:

Для определения логики работы триггер был промоделирован в logisim (материалы могут быть найдены в архиве):

Данная схема представляет собой синхронный D-триггер с запоминанием инвертированных данных nIN по срезу на тактовом входе CLK. Также имеется асинхронный сброс RST, при высоком уровне на котором триггер постоянно находится в состоянии низкого уровня. Данные триггеры служат основой внутреннего автомата состояний контроллера динамической памяти, все события происходят по фронтам и срезам, а не по уровням сигналов.

Далее приведены диаграммы для различных циклов обращения со стороны процессора. Также все диаграммы могут быть найдены в прилагаемом архиве в папке Images. Диаграммы получены как при моделировании, так и сняты логическим анализатором с реальной платы МС1201.03.

Циклы обращения к статическому ОЗУ (моделирование):


Цикл регенерации (реальная плата и моделирование):



Циклы на реальной плате с отключенной коррекцией ошибок:






Смоделированные циклы с отключенной коррекцией ошибок:


Циклы на реальной плате с включенной коррекцией ошибок:





Смоделированные циклы с отключенной коррекцией ошибок:



02 сен 2017, 21:53
Профиль
Показать сообщения за:  Сортировать по:  
Ответить на тему   [ 1 сообщение ] 

Кто сейчас на форуме

Сейчас этот форум просматривают: Google [Bot] и гости: 1


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

Найти:
Перейти:  
cron
Powered by phpBB © 2000 - 2011 phpBB Group.
Design creat de Florea Cosmin Ionut | Translation by WebSok.Ru

закрыть

Советскому бытовому " БК-0011М" посвящается...


Вопреки всем скептикам и недоброжелателям, дело БК живет и развивается. Не за горами день, когда будет выпущен в свет "БК-0012 Pulsar" - расширенный FPGA-клон БК-0011М. Пока же на данном форуме Вы можете ознакомиться с репликами БК-0011М(-01), приставкой Booster-11, репликой контроллера SMK64 (а также его FPGA-клоном - SMK512), аппаратным эмулятором ПЗУ КР1801РЕ2Б, блоками расширения с процессорами ВМ2/ВМ3, и другими интересными материалами и работами.
Ведутся работы по отрисовке в 3D корпусов БК, МСТД, оригинальных клавиатуры, джойстика и мыши, но пока не удается найти их производство по приемлемой цене при малом тираже. Выполнено производство новодельных пленок для клавиатур БК-0011М.
Важным для возрождения БК и его сообщества является новый софт (игры и демо в особености), и они периодически появляются!
Удалось решить многие hard-задачи, но нет системных программистов, востребованных в проекте БК-0012, как минимум для тестирования. Требуется разработка полноценного Win32-компилятора Си в bin-файлы БК.
Релизован полноценный каталогизатор всего софта БК, с удобным интерфейсом. Осталось выполнить собственно большую задачу каталогизации.

Ждем ваших откликов, идей. Сообщайте о данном ресурсе всем, кто увлекался в прошлом БКшкой, присылайте их и свои e-mail для рассылки новостей из мира БК.

nimamov@mail.ru