1 Отредактировано x0Dh (29-12-2016 02:44)

Тема: Агат-9 6502+ПЛИС

Начем!

Доброе время суток. Этот форум с подвиг на "копание" своих старых архивов.
Вот тут нашел свою старую идею (с 2009г).

(не разобрался еще как тут картинки вставлять. Картинка во вложении).
Поясню:
Идея на "вентилях" организовать всю логику АГАТ-9 и связать с живым 6502 на современной элементной базе.
Даже нашел весь это "набор" элементов у себя в коробочке в шкафчике...
Сохранилось часть кода на VHDL(начинал в то время на нем).
В данный момент думаю все переписать на Verilog (позже Алексей aka AlexBel "подсадил" на него), если хватит времени.

Какие мысли? :-)

29.12.2016 - подправил файлик с архитектурой.

Post's attachments

Attachment icon Архитектура_2016.jpg 87.11 kb, 219 downloads since 2016-12-28 

2 Отредактировано LeoN (27-12-2016 23:58)

Re: Агат-9 6502+ПЛИС

Ну, как бы стандартная блок-схема... Однако есть вопросы:
1. Направление сигналов CPU_Phi1, R, G, B, HSync, VSync, nInhRAM, nInhROM верное?
2. Напомни, пожалуйста, User1 - это что за сигнал?
3. Вместо Parallel FlashROM/EEPROM указана Serial FlashROM. Пуркуа?
4. Какую развертку VGA планируешь как для АГАТа, так и для яблока? Какова частота выборки видиеоданных из памяти? Как это будет "дружить" с 1МГц проца?
5. Дополнительные видеорежимы планируешь?
6. Турба будет?
7. Этот XC95288XL не FPGA, а CPLD на 288 макроячеек (я в альтеровской терминологии), верно? А хватит? Плюс еще в CPLD есть ограничения на количество внутренних связей между блоками...

Турбо АГАТ-9/16 (ЦП 65C802, 5 Махов, dual-port SRAM).

3 Отредактировано x0Dh (28-12-2016 04:04)

Re: Агат-9 6502+ПЛИС

Все это давно было, так что вот такие ответы:
1. Направления в схеме указанны "отбалды". То есть я понимаю и помню их направления, тут это не актуально...скорее всего я рисовал и не обратил внимания (зарисовывал мысли)...исправлю..обновлю (Спасибо)
2. У Агата сигнал User1 (на сколько я помню, не полезу в доку по агату, она  на даче) это типа аналог сигнала DMA, но от спец-устройства (задел чтоли был). Надо точнее? Найду тут..в сканах мануалов...но если время будет.
3. ДА..тут сериал....шустрый сериал...(блок HDL планировал...MemoryManager). Помоем Сашка Голов рекомендовал.
4. Развертку не считал, так нарисовал...но "развернуть" хотел на 1024х768 60Гц с "ресайзом" четыре к трем точкам.
С МегаГерцем "подружу"...1,024МГц на 64 - 65.6МГц минус задержки внутри ПЛИС...современный монитор вытянет.
5. А какие нужны?
6.Не люблю TURBO....пока это не надо...
7. Все верно..хватит не хватит не задумывался на момент рисунка....микруха лежала на столе....Вот с ограничениями я думал и в курсе, но пока не дописал ядро.....не знаю...

Вообще это как бы концепция..я тогда (2009) тока начал изучать ПЛИС....амбиций много...а знаний мало..потому сюда и выложил...А так как я уже не помню (изучал) 9500XL...Решил возродить проект...

Все обсуждаемо... :-)

P.S. Стал изучать ПЛИС и ушел от CPLD в FPGA....начал сразу проект на Спартане 3-м без физического 6502...потому и забросил проект.

4 Отредактировано LeoN (28-12-2016 11:30)

Re: Агат-9 6502+ПЛИС

Ха! "User1" - это в семерке так назывался сигнал "блокировки ввода-вывода", в девятке он называется "Бл В/В". В девятке, кроме блокировки RAM и ROM (в семерке можно блокировать только ROM), есть еще новый сигнал "ПМ" - признак машины, то есть режим работы памяти (АГАТ или Apple).

По развертке: во-первых, если XGA 1024x768@60, то таймерные NMI, синхронизированные с кадровым синхроимпульсом "уплывут"... IRQ соответственно. Во-вторых, даже при 16-битной памяти выборка данных для дисплейного контроллера требуется с много большей частотой, чем в штате (1 МГц фаза ЦП и фаза ДК). А при 8-битной памяти - еще в 2 раза выше. Какой выход?

Я не критикую, а обсуждаю. ;)

Турбо АГАТ-9/16 (ЦП 65C802, 5 Махов, dual-port SRAM).

5

Re: Агат-9 6502+ПЛИС

Ну с синхронизацией и прерываниями надо будет подумать.
Про память вспомнил, решено было 16 бит, но в схеме отразить не успел.
Займусь после праздников досконально. Попробую даже модель синхронизации и прерываний расписать с таймингами.

А Вы и обсуждайте и критикуйте :-) У меня мыслей фантастических много :-)

6 Отредактировано LeoN (28-12-2016 15:46)

Re: Агат-9 6502+ПЛИС

Ну а я "вынашиваю" 512x768@50 при pixelclock 28.6МГц. Не так уж и редки LCD-моники, которые кадровую от 50 Гц тянут.

При 16-битной памяти выборку надо делать на всех режимах кроме МГВР при 28.6/16=1.7875МГц (в МГВР при 28.6/(16*2)=0.89375МГц). При штатном 1 Махе (1.021МГц) проца надо или разрядность памяти увеличивать (до 32), или двухпортовку ставить (первые 128КБ). Есть еще вариант. Во внутренней памяти FPGA развертываем двухпортовую память размером 16КБ, один порт только на чтение ДК, второй порт только на прозрачную запись процом данных в ОЗУ текущей ЭС/ЭПС. Но тут подводный камень: как только меняем режим экрана - отображается не реальное содержимое ЭС/ЭПС в ОЗУ, а от предудыщего режима... И так пока проц не перерисует. То есть мультискриновым прогам - привет! Например, демонстрашка ЯЗС (несколько страниц МГВР).

Так же продумываю 256x256x256colors из палитры 16-24 бита.

Турбо АГАТ-9/16 (ЦП 65C802, 5 Махов, dual-port SRAM).

7 Отредактировано x0Dh (28-12-2016 16:22)

Re: Агат-9 6502+ПЛИС

Я наверное не совсем правильно понимаю, но причем тут выборка памяти и частота процессора? Менеджер памяти (в ПЛИС) работать будет на своей частоте...скажем 10МГц....(скорее на частоте PixelClock).....А Дисплейный Контроллер на частоте минимум PixelClock(скажем 65МГц).... При тупом подсчете я смогу за 0,5МГц (фаза ДК) считать менеджером памяти нужные два-три  16-ти разрядных слова и отправить их в ДК. Который их отрисует.

Или я снова где-то просчитался?

P.S. Отрисовка будет примерно как в файле. Там правда работает пока один режим. Но читать успевает достаточно.

Post's attachments

Attachment icon DK.v 6.38 kb, 380 downloads since 2016-12-28 

8

Re: Агат-9 6502+ПЛИС

x0Dh пишет:

При тупом подсчете я смогу за 0,5МГц (фаза ДК) считать менеджером памяти нужные два-три  16-ти разрядных слова и отправить их в ДК. Который их отрисует.

Бесспорно, за 500нс фазы ДК ты сможешь считать 4-5 слов (при 10МГц). А в остальные 500нс фазы ЦП память безраздельно занята процом!

Турбо АГАТ-9/16 (ЦП 65C802, 5 Махов, dual-port SRAM).

9 Отредактировано x0Dh (28-12-2016 16:31)

Re: Агат-9 6502+ПЛИС

А, Вы вот о чем... Да я столкнулся с этой проблемой когда сделал тестовый вариант (вкл и загружался монитор до курсора)..Реализация на Zynq-7000. Все работало, но "были" помехи в видео.
Выше я файлик приложил на verilog. дл\ этого у меня был буфер...он читал при фазе ДК не только те байты что при фазе ДК выводят, но и те, что выводят при фазе ЦП.

Но пока "помеху" победить не удалось.

P.S. В схемотехнике Агата это почти так и реализовано..потому там шина ДК 16-ти разрядная..при фазе ДК он читает сразу два байта, то что выводится при фДК и то что при фЦП.

10

Re: Агат-9 6502+ПЛИС

x0Dh пишет:

P.S. В схемотехнике Агата это почти так и реализовано..потому там шина ДК 16-ти разрядная..при фазе ДК он читает сразу два байта, то что выводится при фДК и то что при фЦП.

Нет. 16-битная потому, что в Т32 вместе с кодом символа одновременно нужна инфа об аттрибутах.

А что за помехи были? Можешь более конкретно описать? У меня в процессе турбирования тоже была борьба с артефактами на экране. Но победил!

Турбо АГАТ-9/16 (ЦП 65C802, 5 Махов, dual-port SRAM).

11

Re: Агат-9 6502+ПЛИС

Именно артефакты. Показать не могу..потому как рабочий проект пропал на работе :-(
Я возьму небольшую паузу и в первой половине 17-го года "восстановлю" проект...благо в голове бэд блоков пока нету :-)

Про 16-ти битную шину в Агате: Честно дальше в схеме не стал ковыряться, тогда как реализовано чтение данных ДК во время фазу ЦП? Память-то не двухпортовая в Агата?

12

Re: Агат-9 6502+ПЛИС

x0Dh пишет:

тогда как реализовано чтение данных ДК во время фазу ЦП?

Нет там такого. ЦП и память работают синхронно. ДК работает асинхронно от них (в самом ДК между его модулями тоже довольно много асинхроннизма). Он (ДК) не читает память в фазе ЦП (как и в фазе ДК), просто в нужный ему момент времени он забирает видеоданные (пишет в D58 и D59) уже готовые из буфера (D49 и D50), куда они с упреждением читаются в фазе ДК.

А вот в регистрах адреса упреждающего чтения есть сюрприз: часть адреса фиксируется в латчах D74, а часть в флипфлопах D75! Чувствуешь "подводный камушек"? ;)
На штатном одном Махе все "проканывает", а при турбировании лезут артефакты...

Здесь расписана работа всех модулей компа, дока - СУПЕР! Жаль в 80-90-х не было (были только Волжские) у меня этой доки... Ух я бы тогда!!!! ;)

Турбо АГАТ-9/16 (ЦП 65C802, 5 Махов, dual-port SRAM).

13

Re: Агат-9 6502+ПЛИС

Спасибо!
Ценная информация. Дока суппер...то же жаль, что раньше ее не было у меня...

14

Re: Агат-9 6502+ПЛИС

x0Dh, тебе предложение: вместо 6502 "приживить" W65C816S с полной поддержкой его сигналов и возможностей. В режиме эмуляции 6502 менеджер памяти работает по "старой" страничной схеме. В нативном режиме - и страничная и линейная адресация до 16 метров. Плюс "прикрутить" кнопочку "аля Magic", по которой входим в сервис-режим с монитором-дебаггером.
Как Вам эти мысли? ;)

Турбо АГАТ-9/16 (ЦП 65C802, 5 Махов, dual-port SRAM).

15

Re: Агат-9 6502+ПЛИС

Упомянутая книга конечно хороша, но скан очень плохой. Если у кого есть желание -- подарю оригинал (недавно нашел хороший), для сканирования нормального качества.

16

Re: Агат-9 6502+ПЛИС

Тут похоже такие же доки зёма мой продает, но нет у меня финансов на это...

Турбо АГАТ-9/16 (ЦП 65C802, 5 Махов, dual-port SRAM).

17 Отредактировано garnizon (30-12-2016 20:19)

Re: Агат-9 6502+ПЛИС

Нет, он продает штатную документацию!!!! Я спецом написал тут:
http://agatcomp.ru/Reading/docs_shtat.shtml

Из-за достаточно большого кол-ва/объема книг существует заблуждение, что в них присутствуют принципиальные схемы. Уточняем: никогда, и ни в каком комплекте поставки документации схем не было. Все схемы - это исключительно внутризаводская документация, которая пользователям не предоставлялась.

А вот книга что тебя интересует, это доп опция, проданная 15 штуками, остальное сгорело на заводе. Понимаешь почему такой не было ни у кого?

Ну если тебе надо комплект обычной документации, то почему не сказал? Зачем покупать-то, да еще за такую цену...
тут у меня уже коробочка для тебя поднабралась, могу туда и книженции положить. Все класть?

18 Отредактировано LeoN (30-12-2016 21:24)

Re: Агат-9 6502+ПЛИС

Упс, "а что, можно?" ;)
Интересуют доки с описанием аппаратных средств и программирование аппаратных средств.

Быть может я старомоден, но листание бумажного варианта всегда доставляет особый кайф. Помню, в 80-90-х со смаком "изучал" только что пришедшие "Радио", "Моделист-конструктор", "Юный техник", "Техника - молодежи", "Наука и жизнь" и тд.

А про коробочку - "огласите весь список, пожалуйста". ;)

Турбо АГАТ-9/16 (ЦП 65C802, 5 Махов, dual-port SRAM).

19 Отредактировано garnizon (30-12-2016 22:39)

Re: Агат-9 6502+ПЛИС

LeoN пишет:

Упс, "а что, можно?" ;)

А про коробочку - "огласите весь список, пожалуйста". ;)

Нужно!

Ну мы при случае чего-то обсуждаем, я иной раз предлагаю, и когда ты соглашаешься - я в коробочку кладу, ну там 6502B, макетку низкую от агат-4 и еще чего-то, надо глянуть. Жду пока накопится для почтовой коробочки. Ты мне после 7 напомни в личку, чтоб тему эту не засорять.

20

Re: Агат-9 6502+ПЛИС

А-а-а! Наконец-то мой паровоз тронулся!

Турбо АГАТ-9/16 (ЦП 65C802, 5 Махов, dual-port SRAM).

21

Re: Агат-9 6502+ПЛИС

LeoN пишет:

А-а-а! Наконец-то мой паровоз тронулся!


Только Т64 это 448 точек, а Т32 это 224

22

Re: Агат-9 6502+ПЛИС

Да, ты уже говорил об этом. Вот потому то и не "клеится" текст+графика на девятке... А как же все-таки оно робит на семерке?

Турбо АГАТ-9/16 (ЦП 65C802, 5 Махов, dual-port SRAM).

23

Re: Агат-9 6502+ПЛИС

Владельцы семерок, подскажите, пожалуйста: посмотрите на бордюры слева и справа в тексте и в графике, они одинаковые? Или в тексте больше, чем в графике?

Турбо АГАТ-9/16 (ЦП 65C802, 5 Махов, dual-port SRAM).

24

Re: Агат-9 6502+ПЛИС

Еще вопрос: а в Apple-режиме ДК генерятся ли таймерные прерывания? К чему привязаны? В каких прогах используются?

Турбо АГАТ-9/16 (ЦП 65C802, 5 Махов, dual-port SRAM).

25

Re: Агат-9 6502+ПЛИС

Коллеги!
Дайте, пожалуйста как можно скорее .bin файлы образов узнаваемых экранов АГАТ-режимов. Например, для ЦГВР это картинки "Маркис" или "Гав-гав" и т.д. Хочу а ПЛИСке все режимы отработать.
Для Т32/64 это ровно 2КБ, для ЦГСР/МГВР это 8КБ, для ЦГВР/МГДП это 16КБ. БЕЗ адреса начала и длины, чистые битмапы.

Турбо АГАТ-9/16 (ЦП 65C802, 5 Махов, dual-port SRAM).