Важная информация

User Tag List

Страница 1 из 7 12345 ... ПоследняяПоследняя
Показано с 1 по 10 из 65

Тема: Экспериментальные процессорные модули 2х1801ВМ1 и 1801ВМ2

  1. #1
    Guru Аватар для Vslav
    Регистрация
    31.03.2013
    Адрес
    г. Киев
    Сообщений
    2,413
    Спасибо Благодарностей отдано 
    132
    Спасибо Благодарностей получено 
    755
    Поблагодарили
    353 сообщений
    Mentioned
    86 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Экспериментальные процессорные модули 2х1801ВМ1 и 1801ВМ2

    Загорелся я сделать проект "ево-БК" по типу 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) и/или процессор осуществляет доступ к внутренним регистрам парного процессора.

    Ссылки на исходники текущего проекта для платы DE0:
    Версия 1.0a
    Вложения Вложения
    Последний раз редактировалось Vslav; 27.11.2015 в 23:17. Причина: обновление вложений схемы и платы

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2
    Guru Аватар для Vslav
    Регистрация
    31.03.2013
    Адрес
    г. Киев
    Сообщений
    2,413
    Спасибо Благодарностей отдано 
    132
    Спасибо Благодарностей получено 
    755
    Поблагодарили
    353 сообщений
    Mentioned
    86 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Схема модуля на основе 1801ВМ2

    Схема модуля на 1801ВМ2 выглядит чуть-чуть попроще. Сигналы WAKI/WRQ совместного доступа к окну старших адресов для многопроцессорной системы просто заведены на коммутатор на EPM3064, пока их использование никак не планируется.
    Вложения Вложения
    Последний раз редактировалось Vslav; 30.04.2013 в 23:09. Причина: Обновление вложенной схемы и платы

  4. #3
    Guru Аватар для Vslav
    Регистрация
    31.03.2013
    Адрес
    г. Киев
    Сообщений
    2,413
    Спасибо Благодарностей отдано 
    132
    Спасибо Благодарностей получено 
    755
    Поблагодарили
    353 сообщений
    Mentioned
    86 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Схема модуля на основе 1801ВМ3

    1801ВМ3 имеет несколько больше сигналов чем ВМ1/2. Чтобы их все "утолкать" в 40-пиновый разъем предполагается использовать быстрый синхронный интерфейс а-ля SPI - MISOx, MOSIx, MSPI - с передачей нескольких значений по параллельной шине (4 ввод с модуля, 2 вывод на модуль) и тактированием учертверенной частотой процессора. Таким образом за каждый такт можно будет получать обновление 16 сигналов с процессора (A16-A21, UMAP, SEL, HLTM и выдавать обновление 8 сигналов (IRQx, HALT, EVNT, DCLO, ACLO).
    Вложения Вложения
    Последний раз редактировалось Vslav; 19.05.2013 в 13:33. Причина: Обновление схемы и добавление файла печатной платы

  5. #4
    Guru Аватар для bigral
    Регистрация
    12.07.2006
    Адрес
    г. Киев, Украина
    Сообщений
    2,147
    Спасибо Благодарностей отдано 
    25
    Спасибо Благодарностей получено 
    95
    Поблагодарили
    82 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vslav Посмотреть сообщение
    1801ВМ3 имеет несколько больше сигналов чем ВМ1/2. Чтобы их все "утолкать" в 40-пиновый разъем предполагается использовать быстрый синхронный интерфейс а-ля SPI - MISOx, MOSIx, MSPI - с передачей нескольких значений по параллельной шине (4 ввод с модуля, 2 вывод на модуль) и тактированием учертверенной частотой процессора. Таким образом за каждый такт можно будет получать обновление 16 сигналов с процессора (A16-A21, UMAP, SEL, HLTM и выдавать обновление 8 сигналов (IRQx, HALT, EVNT, DCLO, ACLO).
    На этих же платах 2 разьема по 40 pin, может всетаки отказаться от этих SPI до момента когда уже система будет запущенна\отлаженна? А потом уже начать отдельный проект - "адаптер процессора ВМ1 ВМ2 ВМ3 для serial интерфейсов".

    Без этого дополнительного CPLD никак нельзя обойтись?

    И опять встает вопрос про правильное согласование ВМx с Cyclone-ами, не хотелось бы чтоб скорость была ограниченна преобразователем уровней а также не хотелось бы чтоб этот преобразователь много потреблял. Вот тут доку интересную нашел по этому поводу: http://www.ti.com/lit/ml/scyb018e/scyb018e.pdf но она достаточно мутная для моего понимания и наполненная маркетинговым мусором. Кто-то может детально разобрать сильные и слабые стороны предлагаемых в ней решений?

  6. #5
    Guru Аватар для Vslav
    Регистрация
    31.03.2013
    Адрес
    г. Киев
    Сообщений
    2,413
    Спасибо Благодарностей отдано 
    132
    Спасибо Благодарностей получено 
    755
    Поблагодарили
    353 сообщений
    Mentioned
    86 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от bigral Посмотреть сообщение
    На этих же платах 2 разьема по 40 pin, может всетаки отказаться от этих SPI до момента когда уже система будет запущенна\отлаженна?
    Второй 40-пиновый разъем на ките хочется использовать для подключения ретро-дисковода и CompactFlash или IDE-диска или кто там чего еще пожелает. Сразу занять его под ВМ3 - имхо, грустно как-то.
    Если оно все пойдет нормально - то позже можно будет и модуль на 1810ВМ86/88 сделать - и получить допустим "Поиск-1/2" или скажем "Винницу".
    Цитата Сообщение от bigral Посмотреть сообщение
    А потом уже начать отдельный проект - "адаптер процессора ВМ1 ВМ2 ВМ3 для serial интерфейсов".
    Я думаю что все нормально с этим "SPI" будет, на самом деле там много сигналов не особо нужны - TA например, SSYNC тоже под вопросом, BS.
    Адреса старшие вообще стабильны должны быть все время цикла обмена. Ну и SPI будет привязан к частоте проца, фазу потом уже подобрать можно, то есть - каждый такт процессора в нужной фазе можно получать состояние этих сигналов процессора на "материнской плате" кита. Ну если уж во что-то упремся (пока я не вижу во что можно), то недолго ведь сделать новый модуль, имея опыт-то с первой версией.

    Цитата Сообщение от bigral Посмотреть сообщение
    И опять встает вопрос про правильное согласование ВМx с Cyclone-ами, не хотелось бы чтоб скорость была ограниченна преобразователем
    Судя по документации - входные уровни "высокого" у ВМx вполне доступны для формирования Max-омт - >= 2.4В. Выходные драйверы у Max достаточно мощные (8mA), не говоря уже про 74LVC245, будем надеяться что все выйдет OK.

    Цитата Сообщение от bigral Посмотреть сообщение
    Вот тут доку интересную нашел по этому поводу: http://www.ti.com/lit/ml/scyb018e/scyb018e.pdf
    Смотрел я эти согласователи - у них недостаток есть - чтобы "сдернуть" уровень надо миллиампер-полтора приложить, а наши ВМ-ы - дохлятины, только 200мкА наверх выдадут. Экпериментировать с подбором подтягивющих резисторов не очень хочется. (Надо кстати откатить номиналы на процессоре на 2к2 обратно).

    ---------- Post added at 12:43 ---------- Previous post was at 12:21 ----------

    Цитата Сообщение от bigral Посмотреть сообщение
    Без этого дополнительного CPLD никак нельзя обойтись?
    Пока мне MAX представляется самым оптимальным вариантом - задержка на нем по сравнению с обычной логикой типа 74LVC/ABT незначительно больше, также предоставляет возможность быстрой перекоммутации сигналов без массированного применения паяльника, ну и какую быструю локальную (то есть на самой плате модуля) логику на нем можно реализовать. Надеюсь что однотактовый RPLY получится реализовать (смотря как контроллер SDRAM сделать - надо чтобы страницы умел держать открытыми). Для ВМ1/ВМ3 на 6МГц особых сложностей быть не должно, для оверклоченного ВМ2 @ 10МГц - посмотрим.

    Модули - экспериментальные, опыты на них и должны ответить на эти вопросы. Если потом возникнет желание/интерес - можно будет сделать "начисто" плату БК на младшем подходящем Асеx1К (нужные ресурсы уже оценены будут, HDL-код откатан), например. Он 5V напрямую переживает, согласующая CPLD уйдет.

  7. #6
    Guru Аватар для bigral
    Регистрация
    12.07.2006
    Адрес
    г. Киев, Украина
    Сообщений
    2,147
    Спасибо Благодарностей отдано 
    25
    Спасибо Благодарностей получено 
    95
    Поблагодарили
    82 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Чето мне кажеться было бы лучше вот эти всякие FDD и IDE covox-ы вешать на SPI (тем более что тогда они будут универсальными контроллерами подходящими и к UEXT разьему olimex-a и к другим MCU их навесить можно будет при желании). А процессор это самый быстрый в системе кристалл и самый главный обьект исследований в этой конструкции для него не жалко пожервовать и GPI/O-шки.

    5V CPLD по-моему уже неактуальны, при такой-то их цене? На aliexpress уже появилось много "minimal FPGA" плат по нормальной цене готовых к программированию и подключению в свои устройства (есть модели подороже и с паматью сразу), так что если проблема с преобразованием уровней будет решена (именно "доступным" для аматора способом, DIP микрухой(?) или платкой с MOSFET преобразователями) то популярность такого новодела побьет все рекорды. Напоминаю что цена на б.у. плату процессора ДВК стартует с ~100$, а тут можно будет спаять самому за те же деньги.

    SDRAM там действительно нужен? В новых FPGA есть RAM да и внешний SRAM не проблема сейчас.

  8. #7
    Moderator Аватар для MM
    Регистрация
    20.04.2013
    Адрес
    г. Павловский Посад
    Сообщений
    4,130
    Спасибо Благодарностей отдано 
    468
    Спасибо Благодарностей получено 
    516
    Поблагодарили
    410 сообщений
    Mentioned
    42 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Хочется напомнить, что в 1801-й серии нет открытых коллекторов,
    втекающий ток в выход может быть до 10 ма динамический, вытекающий с выхода при высоком электрическом уровне на нем - тип. 1 ма., может быть
    до 5 ма реально. Согласователи единственные и неповторимые - КР531АП2 -
    хорошо работают даже с 1.8 вольт ИС. Правда, вытекающий ток входа у них - 3.2 ма. Зато постоянный ток электрич. 0 выхода - 96 ма по ТУ.

  9. #8
    Guru Аватар для Vslav
    Регистрация
    31.03.2013
    Адрес
    г. Киев
    Сообщений
    2,413
    Спасибо Благодарностей отдано 
    132
    Спасибо Благодарностей получено 
    755
    Поблагодарили
    353 сообщений
    Mentioned
    86 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от bigral Посмотреть сообщение
    Чето мне кажеться было бы лучше вот эти всякие FDD и IDE covox-ы вешать на SPI (тем более что тогда они будут
    Речь шла не про Covox-ы. Я планирую сделать простой дешевый переходник на CompactFlash или IDE HDD, для подключения его во второй 40-пиновый разъем кита DE0 (или DE1). Если получится (хватит ножек) на тот же переходник будет впихнута "физика" интерфейса к FDD - получится простой и дешевый переходник от кита к HDD/FDD.

    Цитата Сообщение от bigral Посмотреть сообщение
    А процессор это самый быстрый в системе кристалл и самый главный обьект исследований в этой конструкции для него не жалко пожервовать и GPI/O-шки.
    А зачем жертвовать если по прикидкам и так все получается? Фаза выдачи адреса длится у ВМ3 не менее такта, все успеет пройти через мультиплексор (то что в предыдущих постах я не совсем удачно назвал SPI) даже на максимальной частоте. Тем более там еще есть возможности расширения этого мультиплексора скажем до 6 линий - весь адрес можно будет получить в основной ПЛИС (на материнке) в течение первой половины адресного такта, даже видится вариант просто тупо мултиплексирования по SYNC - пока SYNC неактивен CPLD транслирует старшие разряда адреса на выход мультиплексора, при активизации SYNC - остальные сигналы - SEL, HLTM, BS, UMAP, TA, INS. На SSYNC при этом вполне можно сразу постоянно выдавать низкий уровень, то есть фаза адреса выходит максимально короткой. OK, я заложу еще один резервный разъем и выведу туда немультиплексированные сигналы. Но не думаю что оно реально понадобится.

    По документации процессор ВМ3A работает максимум на 6МГц. Ну пусть будет пробоваться оверклок до 10МГц (что сомнительно, но вдруг будет работать), при этом задержка передачи данных на примененном в моей схеме CPLD при наихудшей speed grade чипа -10N, составит всего 10нс. При этом не проблема чуть дороже купить CPLD со speed grade -7N и получить уже гарантированную задержку не более 7нс. Для схемы работающей на частоте 10МГц (время цикла 100нс) такие задержки вполне приемлемы и маловероятно что они станут причиной замедления работы всей системы. К тому же EPM3064ATC100 бывает в версии -4N (еще дороже и надо поискать, но решаемо) и имеет Tpd не более 4нс.

    Кстати, 40-пиновый GPIO на DE2-115 только один - для меня это еще одна причина "втискиваться" в единый разъем. А дальше рядом на DE2 стоит мезонинный высокоскоростной разъем, к которому я не нашел в доступной продаже дешевой "ответки".

    Цитата Сообщение от bigral Посмотреть сообщение
    5V CPLD по-моему уже неактуальны, при такой-то их цене?
    Да, 5V-толерантные CPLD/FPGA - все старых серий и дорогие. Последний альтеровский FPGA, который принимал непосредственно 5 вольт - это был Acex1K, цены на младшие EP1K10 и EP1K30 вполне приемлемые сейчас, но таки заметно повыше чем на последние Циклоны. Надо искать баланс - дороговатый Acex1K или недорогой Циклон+схема сопряжения. Имхо, пока рановато об этом думать - это чисто проблема следующего этапа (если он вообще будет кому-нибудь интересен).

    Цитата Сообщение от bigral Посмотреть сообщение
    преобразованием уровней будет решена (именно "доступным" для аматора способом, DIP микрухой(?) или платкой с MOSFET преобразователями) то
    популярность такого новодела побьет все рекорды. Напоминаю что цена на б.у. плату процессора ДВК стартует с ~100$, а тут можно будет спаять самому за те же деньги.
    Примененный мной в обсуждаемых процессорных модулях EPM3064ATC100 стоит в розницу около $3-4. Мне не кажется это заоблачной ценой. Файлы для изготовления печатных плат я выложу в открытый доступ, если у общественности будет интерес - то, думаю, найдутся люди, которые предложат такую плату как конструктор. В итоге детали и материалы для изготовления процессорного модуля на основе ВМ3 обойдутся аматору в цену не более $10 (без учета стоимости самого ВМ3) - CPLD + плата + мелочовка. Имхо, вполне доступно. К тому же платы не ожидаются особо сложными, планирую разработать максимум по 3-ему классу - при сильном желании такие можно изготовить по "лазерно-утюжной" технологии.

    Цитата Сообщение от bigral Посмотреть сообщение
    SDRAM там действительно нужен? В новых FPGA есть RAM да и внешний SRAM не проблема сейчас.
    Посмотрим, на DE2-115 у меня есть и SRAM и SDRAM - можно будет опробовать систему на обоих типах памяти. SDRAM память - очень дешевая, имеет большой объем, поддерживает пакетный режим (полезно если на ней реализована также и видеопамять) и занимает меньше ножек ПЛИС, поэтому вполне есть резоны для ее применения. На недорогом ките DE0 - стоит только SDRAM, там вообще без вариантов.

    ---------- Post added at 00:25 ---------- Previous post was at 00:11 ----------

    Цитата Сообщение от MM Посмотреть сообщение
    Хочется напомнить, что в 1801-й серии нет открытых коллекторов,
    У ВМ1 - вход-выходы DMR, SACK разве не открытый коллектор? Они в шину должны же объединяться в многопроцессорке?

    Цитата Сообщение от MM Посмотреть сообщение
    Согласователи единственные и неповторимые - КР531АП2 -
    Они неповторимые для реализации "настоящего" МПИ в реальной корзине. А тут немного другая задача. Еще момент, 531-ая даст задержку рапространения Tpd порядка 3-4нс, при этом изрядно нашумит и пожрет. На обсуждаемых модулях аналогичный результат, только с меньшим шумом и жором, можно получить на CPLD с грейдом -4N, но я пока думаю что это не понадобится.

  10. #9
    Master
    Регистрация
    22.07.2007
    Адрес
    St.Petersburg
    Сообщений
    593
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    3 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    А нафига железный процессор нужен ? Есть же HDL реализация ВМ1 достаточно полная.

    https://code.google.com/p/bk0010/

  11. #10
    Guru Аватар для Vslav
    Регистрация
    31.03.2013
    Адрес
    г. Киев
    Сообщений
    2,413
    Спасибо Благодарностей отдано 
    132
    Спасибо Благодарностей получено 
    755
    Поблагодарили
    353 сообщений
    Mentioned
    86 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от AlecV Посмотреть сообщение
    А нафига железный процессор нужен ? Есть же HDL реализация ВМ1 достаточно полная.
    Ну вот.. Пришел поручик и опошлил все мероприятие
    Хобби такое - бессмысленное и беспощадное - прикрутить железный процессор и иметь кусочек настоящего ретро в системе. Кстати, при желании можно будет в паралель запустить HDL-имплементацию и попытаться "допилить" ее до потактовой аутентичности, сравнивая в реал-тайме с оригинальным процессором.

    P.S. Сегодня за вечер двухпроцессорник начерно оттрасировал. Вероятно на праздниках закончу первый модуль на 2хВМ1, а он самый сложный - дальше веселее.

  12. Этот пользователь поблагодарил Vslav за это полезное сообщение:

    Sergey (22.09.2020)

Страница 1 из 7 12345 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Модули памяти
    от moxjemi в разделе Барахолка (архив)
    Ответов: 3
    Последнее: 21.03.2011, 12:49
  2. 1801ВМ2 А и Б
    от dk_spb в разделе ДВК, УКНЦ
    Ответов: 2
    Последнее: 03.05.2010, 11:51
  3. Ответов: 26
    Последнее: 14.04.2010, 23:55
  4. музыкальные модули
    от Sinus в разделе Программирование
    Ответов: 14
    Последнее: 20.11.2006, 13:04
  5. Библиотеки-модули-программы...
    от Vitamin в разделе Программирование
    Ответов: 319
    Последнее: 19.10.2006, 15:37

Ваши права

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