![]() |
Экспериментальные процессорные модули 2х1801ВМ1 и 1801ВМ2
2 Attachment(s)
Загорелся я сделать проект "ево-БК" по типу ZX-evo - то есть берем ретро-процессор и делаем к нему обвязку ПЛИС. Поскольку сейчас достаточно много недорогих отладочных ПЛИС-плат, то на первом этапе решил не возиться с повторением ПЛИС-части, а сделать простой и недорогой съемный процессорный модуль, подключаемый к такой готовой отладочной плате.
На модуле размещается собственно оригинальный процессор и схема сопряжения с 3-вольтовыми уровнями ПЛИС отладочной платы. Для начала предполагается разработка двух экспериментальных ретро-процессорных модулей: 1) на 1801ВМ1. Чтобы было веселее и интереснее этим заниматься, на модуле устанавливается два процессора с задействованием механизма конкуренции за шину. Поскольку память и реализованная на современной ПЛИС шина МПИ предполагаются быстрыми (относительно даже работающего на 6МГц процессора ВМ1), то будет любопытно посмотреть как оно работает; 2) на 1801ВМ2, тут банально предполагается один микропроцессор на модуле; В качестве базовых ПЛИС-китов выбраны киты от Terasic на основе микросхем Altera, подключение модуля осуществляется к стандартизованному 40-пиновому разъему "GPIO" на плате кита. Сейчас у меня есть DE2-115, и заказан более дешевый DE0 (не nano), аналогичный разъем имеет и кит DE1. На базе ожидаемого DE0 планируется повторение БК-001x с оригинальным процессором ВМ1 и "апгрейды" - 2xВМ1 и на базе ВМ2. Также не исключается повторение MC1202.01/02. На упомянутых китах имеется SDRAM-память, VGA-выход, SD-карта и PS-2 разъем. В данном сообщении я хотел бы представить первый вариант схемы модуля 2xВМ1. Второй процессор может быть отключен (отсоединением перемычками от общих DMR/SACK и подачей нулевого уровня) для реализации однопроцессорного варианта. Обработка векторных прерываний предполагается только одним из процессоров, запросы коммутируемые, точную схему распределения прерываний можно будет установить в ходе экспериментов. Также предполагается режим когда внешняя (по отношению к модулю) схема осуществляет доступ к внутренним регистрам процессоров (через общий DMR/DMGO/SACK) и/или процессор осуществляет доступ к внутренним регистрам парного процессора. |
Схема модуля на основе 1801ВМ2
2 Attachment(s)
Схема модуля на 1801ВМ2 выглядит чуть-чуть попроще. Сигналы WAKI/WRQ совместного доступа к окну старших адресов для многопроцессорной системы просто заведены на коммутатор на EPM3064, пока их использование никак не планируется.
|
Схема модуля на основе 1801ВМ3
2 Attachment(s)
1801ВМ3 имеет несколько больше сигналов чем ВМ1/2. Чтобы их все "утолкать" в 40-пиновый разъем предполагается использовать быстрый синхронный интерфейс а-ля SPI - MISOx, MOSIx, MSPI - с передачей нескольких значений по параллельной шине (4 ввод с модуля, 2 вывод на модуль) и тактированием учертверенной частотой процессора. Таким образом за каждый такт можно будет получать обновление 16 сигналов с процессора (A16-A21, UMAP, SEL, HLTM и выдавать обновление 8 сигналов (IRQx, HALT, EVNT, DCLO, ACLO).
|
Quote:
Без этого дополнительного CPLD никак нельзя обойтись? И опять встает вопрос про правильное согласование ВМx с Cyclone-ами, не хотелось бы чтоб скорость была ограниченна преобразователем уровней а также не хотелось бы чтоб этот преобразователь много потреблял. Вот тут доку интересную нашел по этому поводу: http://www.ti.com/lit/ml/scyb018e/scyb018e.pdf но она достаточно мутная для моего понимания и наполненная маркетинговым мусором. Кто-то может детально разобрать сильные и слабые стороны предлагаемых в ней решений? |
Quote:
Если оно все пойдет нормально - то позже можно будет и модуль на 1810ВМ86/88 сделать - и получить допустим "Поиск-1/2" или скажем "Винницу". Quote:
Адреса старшие вообще стабильны должны быть все время цикла обмена. Ну и SPI будет привязан к частоте проца, фазу потом уже подобрать можно, то есть - каждый такт процессора в нужной фазе можно получать состояние этих сигналов процессора на "материнской плате" кита. Ну если уж во что-то упремся (пока я не вижу во что можно), то недолго ведь сделать новый модуль, имея опыт-то с первой версией. Quote:
Quote:
---------- Post added at 12:43 ---------- Previous post was at 12:21 ---------- Quote:
Модули - экспериментальные, опыты на них и должны ответить на эти вопросы. Если потом возникнет желание/интерес - можно будет сделать "начисто" плату БК на младшем подходящем Асеx1К (нужные ресурсы уже оценены будут, HDL-код откатан), например. Он 5V напрямую переживает, согласующая CPLD уйдет. |
Чето мне кажеться было бы лучше вот эти всякие FDD и IDE covox-ы вешать на SPI (тем более что тогда они будут универсальными контроллерами подходящими и к UEXT разьему olimex-a и к другим MCU их навесить можно будет при желании). А процессор это самый быстрый в системе кристалл и самый главный обьект исследований в этой конструкции для него не жалко пожервовать и GPI/O-шки.
5V CPLD по-моему уже неактуальны, при такой-то их цене? На aliexpress уже появилось много "minimal FPGA" плат по нормальной цене готовых к программированию и подключению в свои устройства (есть модели подороже и с паматью сразу), так что если проблема с преобразованием уровней будет решена (именно "доступным" для аматора способом, DIP микрухой(?) или платкой с MOSFET преобразователями) то популярность такого новодела побьет все рекорды. Напоминаю что цена на б.у. плату процессора ДВК стартует с ~100$, а тут можно будет спаять самому за те же деньги. SDRAM там действительно нужен? В новых FPGA есть RAM да и внешний SRAM не проблема сейчас. |
Хочется напомнить, что в 1801-й серии нет открытых коллекторов,
втекающий ток в выход может быть до 10 ма динамический, вытекающий с выхода при высоком электрическом уровне на нем - тип. 1 ма., может быть до 5 ма реально. Согласователи единственные и неповторимые - КР531АП2 - хорошо работают даже с 1.8 вольт ИС. Правда, вытекающий ток входа у них - 3.2 ма. Зато постоянный ток электрич. 0 выхода - 96 ма по ТУ. |
Quote:
Quote:
По документации процессор ВМ3A работает максимум на 6МГц. Ну пусть будет пробоваться оверклок до 10МГц (что сомнительно, но вдруг будет работать), при этом задержка передачи данных на примененном в моей схеме CPLD при наихудшей speed grade чипа -10N, составит всего 10нс. При этом не проблема чуть дороже купить CPLD со speed grade -7N и получить уже гарантированную задержку не более 7нс. Для схемы работающей на частоте 10МГц (время цикла 100нс) такие задержки вполне приемлемы и маловероятно что они станут причиной замедления работы всей системы. К тому же EPM3064ATC100 бывает в версии -4N (еще дороже и надо поискать, но решаемо) и имеет Tpd не более 4нс. Кстати, 40-пиновый GPIO на DE2-115 только один - для меня это еще одна причина "втискиваться" в единый разъем. А дальше рядом на DE2 стоит мезонинный высокоскоростной разъем, к которому я не нашел в доступной продаже дешевой "ответки". Quote:
Quote:
Quote:
---------- Post added at 00:25 ---------- Previous post was at 00:11 ---------- Quote:
Quote:
|
А нафига железный процессор нужен ? Есть же HDL реализация ВМ1 достаточно полная.
https://code.google.com/p/bk0010/ |
Quote:
Хобби такое - бессмысленное и беспощадное - прикрутить железный процессор и иметь кусочек настоящего ретро в системе. Кстати, при желании можно будет в паралель запустить HDL-имплементацию и попытаться "допилить" ее до потактовой аутентичности, сравнивая в реал-тайме с оригинальным процессором. P.S. Сегодня за вечер двухпроцессорник начерно оттрасировал. Вероятно на праздниках закончу первый модуль на 2хВМ1, а он самый сложный - дальше веселее. |
| All times are GMT +4. The time now is 02:33. |
Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.