DCJ11 несколько вопросов
С DCJ11 в плане проектов есть два сюрприза.
Сюрприз первый, в обязательном порядке нужно прикручивать декодер шины AOI.
Без этого работать можно только в пределах самого процессора.
Т.е. если вам хватает исключительно регистров самого процессора и пультового режима, то можно и без декодирования.
Но вот если вам хочется память там внешнюю, то всё.
Так же нелишним оказывается РНП, что требует дополнительного декодирования циклов General-Purpose (GP) Read Cycle.
И если без второго оно как то ещё шевелится, то без первого полный затык.
И как работает широко известный PDP11/HACK совершенно непонятно
https://web.archive.org/web/20160908152 ... index.html
Второй сюрприз, не столь неприятный для самодельщиков, но по ряду причин очень неприятный для меня
заключается во времянках чтения шины. Без картинок оно неинформативно, а картинки я сейчас прицепить не могу
В двух словах, несмотря на наличие пары интересных пинов: DV (готовность данных!!!), и CONT мне так и не удалось
поуправлять длительностью цикла и моментом считываения данных с шины. При чём такое поведение противоречит ТО на камень.
Но косвенно мою правоту подтверждают известные мне конструкции, где скажем на DV подан просто постоянный уровень.
Но, для 90% применений это особого значения не имеет.
Сюрприз первый, в обязательном порядке нужно прикручивать декодер шины AOI.
Без этого работать можно только в пределах самого процессора.
Т.е. если вам хватает исключительно регистров самого процессора и пультового режима, то можно и без декодирования.
Но вот если вам хочется память там внешнюю, то всё.
Так же нелишним оказывается РНП, что требует дополнительного декодирования циклов General-Purpose (GP) Read Cycle.
И если без второго оно как то ещё шевелится, то без первого полный затык.
И как работает широко известный PDP11/HACK совершенно непонятно
https://web.archive.org/web/20160908152 ... index.html
Второй сюрприз, не столь неприятный для самодельщиков, но по ряду причин очень неприятный для меня
заключается во времянках чтения шины. Без картинок оно неинформативно, а картинки я сейчас прицепить не могу
В двух словах, несмотря на наличие пары интересных пинов: DV (готовность данных!!!), и CONT мне так и не удалось
поуправлять длительностью цикла и моментом считываения данных с шины. При чём такое поведение противоречит ТО на камень.
Но косвенно мою правоту подтверждают известные мне конструкции, где скажем на DV подан просто постоянный уровень.
Но, для 90% применений это особого значения не имеет.
-
- Advanced Member
- Сообщения: 634
- Зарегистрирован: 07.11.2014,18:19
- Откуда: Kaluga
-
Вклад в сообщество
Страничка с проектом http://www.chronworks.com/J11/
AI0...AI3 процессора заведены на регистр для обработки при помощи ATF22V10.
AI0...AI3 процессора заведены на регистр для обработки при помощи ATF22V10.
Просто Александр. Consul'oвед второго уровня.
Не спорю, однако в проекте с "которого всё и началось" этого нет.
Хотя память прикручена и продемонстрирована её работа.
И в этом же проекте есть упоминание о последователе, который немного видоизменил схему.
Точнее повторил из того, что у него было под рукой.
Вот это то и странно.
Хотя возможно ходили какие то разновидности микрокода, которые позволяли работать у совсем упрощённом режиме.
Хотя память прикручена и продемонстрирована её работа.
И в этом же проекте есть упоминание о последователе, который немного видоизменил схему.
Точнее повторил из того, что у него было под рукой.
Вот это то и странно.
Хотя возможно ходили какие то разновидности микрокода, которые позволяли работать у совсем упрощённом режиме.
Заработает. Для того, чтобы увидеть в терминале @ собирайте минимальный
вариант. Будет только одна трудность, без РНП оно стартует непредсказуемо.
Но это лечится кнопками HALT и RESET. Со временем вырабатывается навык правильного
нажимания.
Вдогонку, можно ещё упростить схему, прикупив 1818ВА19.
Хотя я в свое время прикручивал и 1002хл1...
вариант. Будет только одна трудность, без РНП оно стартует непредсказуемо.
Но это лечится кнопками HALT и RESET. Со временем вырабатывается навык правильного
нажимания.
Вдогонку, можно ещё упростить схему, прикупив 1818ВА19.
Хотя я в свое время прикручивал и 1002хл1...
-
- Advanced Member
- Сообщения: 634
- Зарегистрирован: 07.11.2014,18:19
- Откуда: Kaluga
-
Вклад в сообщество
На макетную плату запаял панельки под сборку М8К, развёл питание и кварцевый резонатор (4 МГц) с обвязкой. На шину AD15-AD0 поставил регистры ИР23. Т.е. повторил часть обвязки процессора по ссылке из первых сообщений темы.
На INIT процессор реагирует. На /ALE, /SCTL, и /BUFCTL импульсы. По сигналам BS0 и BS1 получилось, что сменяются режимы обращения к УВВ и регистрами процессора/GP/статуса. После защёлкивания AD7-AD0 увидел код "002" (в восьмиричной системе).
Вопрос после макетирования: как процессор обходится без подтяжки выводов AD15-AD0 ? Когда идёт чтение линий AD7-AD0 при старте, к ним подключены входа регистров (ТТЛШ) для защёлкивания, выхода приёмника 6402 в третьем состоянии и входа передатчика (КМОП). Сам процессор КМОП. Или я что-то упускаю ?
На INIT процессор реагирует. На /ALE, /SCTL, и /BUFCTL импульсы. По сигналам BS0 и BS1 получилось, что сменяются режимы обращения к УВВ и регистрами процессора/GP/статуса. После защёлкивания AD7-AD0 увидел код "002" (в восьмиричной системе).
Вопрос после макетирования: как процессор обходится без подтяжки выводов AD15-AD0 ? Когда идёт чтение линий AD7-AD0 при старте, к ним подключены входа регистров (ТТЛШ) для защёлкивания, выхода приёмника 6402 в третьем состоянии и входа передатчика (КМОП). Сам процессор КМОП. Или я что-то упускаю ?
Просто Александр. Consul'oвед второго уровня.
Регистры на AD0-AD15 ставить излишне.
Вам нужно защелкнуть только BS0, BS1 AD1 и AD2.
BS1 и BS2 отправляете на одну половинку дешифратора, AD1 и AD2 на вторую. Для порта вполне достаточно. Далее, шину процессора подтягивать не нужно. Там честные единица и ноль.
Сам камень КМОП, но правило .8 питания у него только на тактовые пины ЕМНИП.
Во всяком случае у меня он отлично работает от 3.3в CPLD. Или я не там понял вопрос?
Вам нужно защелкнуть только BS0, BS1 AD1 и AD2.
BS1 и BS2 отправляете на одну половинку дешифратора, AD1 и AD2 на вторую. Для порта вполне достаточно. Далее, шину процессора подтягивать не нужно. Там честные единица и ноль.
Сам камень КМОП, но правило .8 питания у него только на тактовые пины ЕМНИП.
Во всяком случае у меня он отлично работает от 3.3в CPLD. Или я не там понял вопрос?
Ну так я же и писал выше про наличие/отсутствие РНП.
Поскольку вам сейчас достаточно просто пультовогого режима, используйте
кнопку HALT. Вы в пульт попадёте принудительно.
Не гарантированно по включению питания, но у вас же есть еще кнопка INIT.
Так что для простого теста будет работать и так.
Ну или действительно декодировать AIO, отлавливать нужный GP Read,
и выставлять на шину слово начальной установки.
Поскольку вам сейчас достаточно просто пультовогого режима, используйте
кнопку HALT. Вы в пульт попадёте принудительно.
Не гарантированно по включению питания, но у вас же есть еще кнопка INIT.
Так что для простого теста будет работать и так.
Ну или действительно декодировать AIO, отлавливать нужный GP Read,
и выставлять на шину слово начальной установки.
-
- Advanced Member
- Сообщения: 5894
- Зарегистрирован: 02.08.2013,22:13
- Откуда: Павловский Посад Мск.обл.
- Контактная информация:
-
Вклад в сообщество
Если есть задача сделать минимальный М-ЭВМ J11 - целесообразно задать направление проектирования "переходник J11 для платы с М1801ВМ3А", или хотя бы рассмотреть такую возможность.
*
ИМХО - для меня J11 интересен в первую очередь как проц для графической полуплаты для ДВК, ввиду его высокого быстродействия, т.к. на упрощенной графической карте придется регулярно работать с массивом порядка 40 Кбайт ( 640х240х2 точек = ~40 Кбайт ) ( программный скролл ).
Примерная конфа АП :
0-37777 - СОЗУ программ и данных, 16 Кбайт.
040000 - 157777 - экранный массив данных ( 2 страницы ), 40 Кбайт, или массив ППЗУ - при старте программа из ППЗУ переписывается в СОЗУ адреса 0-037777.
Примерные ИС :
ППЗУ - 1801РР1 или аналог, 2 шт.
СОЗУ - 621000 - 25 нс., 2 шт.
Виды разверток - ТВ или VGA.
*
ИМХО - для меня J11 интересен в первую очередь как проц для графической полуплаты для ДВК, ввиду его высокого быстродействия, т.к. на упрощенной графической карте придется регулярно работать с массивом порядка 40 Кбайт ( 640х240х2 точек = ~40 Кбайт ) ( программный скролл ).
Примерная конфа АП :
0-37777 - СОЗУ программ и данных, 16 Кбайт.
040000 - 157777 - экранный массив данных ( 2 страницы ), 40 Кбайт, или массив ППЗУ - при старте программа из ППЗУ переписывается в СОЗУ адреса 0-037777.
Примерные ИС :
ППЗУ - 1801РР1 или аналог, 2 шт.
СОЗУ - 621000 - 25 нс., 2 шт.
Виды разверток - ТВ или VGA.
Коллекционирование радиодеталей : http://collectingrd.kxk.ru/
Если вдруг то регистр начального пуска для J11 выглядит так
В плане оптимизации под МГТФ стоит заменить OR4 на какой нибудь NAND, но мне и так пока хорошо.
Axx и AIOxx подавать уже защёлкнутыми. Ну или защёлкивать сигнал разрешения шинников. Кому уж какая религия тут больше нравится.
Минимальный J11 уже худо бедно и так шевелится. Прикрутить его на место ВМ3 можно, но не совсем уж просто.
Точнее не обойтись без горсти мелкой логики или CPLD. Горсть мелкой логики не нравится лично мне, CPLD - лично вам
Такая вот дилемма.
По поводу видеокарточки. Смотрите какая штука, если до конца идити в натягивании совы на глобус, нужно иметь режим с 1024 точкой по горизонтали. ну или 132 символа в строке.
Под натягиванием я имею в виду потенциальное использование максимально возможного количества потенциального софта.
Далее, 1024 на более менее современном мониторе требует пиксельклока в 65 мегагерц.
И снова вылезает дилемма, когда гайка неприемлима для вас, а делать дизайн для частот в 65 мегагерц на мелкой логике... ну
как бы толи глупо толи очень дорого в плане итераций.
Вот повверьте на слово, когда у вас после синтеза проекта скажем вывод символов в строке сдвинулся на одну точку, это поправить можно.
Хотябы втупую подобрать место, где нужно проинвертировать клок. Как мы будем это делать на плате? Скальпелем? Ну допустим.
А выравнивать цепочки гейтов в разных ветках? допаивать инверторы? Или сразу угадаем?
Вот смотрите, последний "аэродром" был то ли CGA толи MDA. Всё, даже EGA была уже на БИС.
А Мы хотим на россыпи сваять (S)VGA.
В плане оптимизации под МГТФ стоит заменить OR4 на какой нибудь NAND, но мне и так пока хорошо.
Axx и AIOxx подавать уже защёлкнутыми. Ну или защёлкивать сигнал разрешения шинников. Кому уж какая религия тут больше нравится.
Минимальный J11 уже худо бедно и так шевелится. Прикрутить его на место ВМ3 можно, но не совсем уж просто.
Точнее не обойтись без горсти мелкой логики или CPLD. Горсть мелкой логики не нравится лично мне, CPLD - лично вам
Такая вот дилемма.
По поводу видеокарточки. Смотрите какая штука, если до конца идити в натягивании совы на глобус, нужно иметь режим с 1024 точкой по горизонтали. ну или 132 символа в строке.
Под натягиванием я имею в виду потенциальное использование максимально возможного количества потенциального софта.
Далее, 1024 на более менее современном мониторе требует пиксельклока в 65 мегагерц.
И снова вылезает дилемма, когда гайка неприемлима для вас, а делать дизайн для частот в 65 мегагерц на мелкой логике... ну
как бы толи глупо толи очень дорого в плане итераций.
Вот повверьте на слово, когда у вас после синтеза проекта скажем вывод символов в строке сдвинулся на одну точку, это поправить можно.
Хотябы втупую подобрать место, где нужно проинвертировать клок. Как мы будем это делать на плате? Скальпелем? Ну допустим.
А выравнивать цепочки гейтов в разных ветках? допаивать инверторы? Или сразу угадаем?
Вот смотрите, последний "аэродром" был то ли CGA толи MDA. Всё, даже EGA была уже на БИС.
А Мы хотим на россыпи сваять (S)VGA.