Нам ASAP не надо. Нам бы итоги трансляции.
Вид для печати
Я постепенно рисую схему. Не хватает пинов в плисине под ввод цвета с вв55. Но есть выход: можно в плисине эмулировать один порт вв55 на вывод. В любом случае необходим схемный или языковой ввод в плисине, сравнить с моей распиновкой схемы.
P.S. в Орионе автор использует даже два 100 выходных таракана и это не выглядит, как высказался vlad "Ехали медведи на велосипеде, а за ними кот, задом на перёд... ".
Предварительные данные без оптимизации и, что важнее, без проверки (небольшая симуляция не в счет, нужна проверка на железе):
http://jpegshare.net/images/a2/a4/a2...adeb5db237.png
Что внутри: синхрогенератор, видеовыход, дешифратор (карта памяти МХ2), SPI модуль. Требуемые сигналы:
Как и в случае с дискретным МХ2, пользователь при установке Z80 удаляет ВМ80 и ЛА8 либо удаляет Z80 и устанавливает ВМ80 и ЛА8. ЛА8 инвертирует фазовые сигналы nF1 и nF2 приводя их к размаху в 12в. Генерация -5В может быть осуществлена по старой схеме на элементе ЛА8 от сигнала nF2.Код:// Системные входы
Clk Тактирование с генератора 40МГц.
nRES Сброс
Fast Сигнал выбора скорости процессора 2.5МГц/2.0МГц
// Интерфейс процессора
nF1 Инверсная фаза F1 для ВМ80
nF2 Инверсная фаза F2 для ВМ80, тактовая для Z80, частота для генератора -5В (если используется старая схема)
nRD Сигнал чтения процессора (Z80 подключен напрямую, ВМ80 подключен через элемент ЛА8 в режиме инверсии, как в оригинальной схеме)
nWR Сигнал записи процессора
A[15:0] Входной адрес от процессора
D[7:0] Шина данных процессора
// Интерфейс основного ОЗУ
nOE Строб чтения основного ОЗУ
nWE Строб записи основного ОЗУ
MA[15:0] Адрес на основное ОЗУ
MD[7:0] Шина данных основного ОЗУ (и графики)
CD[7:0] Шина данных теневого ОЗУ (и цвета)
// Управляющие сигналы
BA[2:0] Выход номера банка ОЗУ
nROM Выбор ПЗУ
nDSK Выбор дополнительного ОЗУ
nU7 Выбор системного ППА
nU6 Выбор дополнительного ППА
nU5 U5
nU4 Выбор ВИ53
nU3 U3
// Сигналы SPI
nSEL Сигнал выбора карты
SCK Сигнал тактирования карты
MISO Сигнал входных данных
MOSI Сигнал выходных данных
nRED Сигнал красной лампочки
nGREEN Сигнал зеленой лампочки
nINS Сигнал вставления карты
// Видеовыход
Pix[3:0] Выводимый пиксель в формате IGRB
HSync Строчная синхронизация
VSync Кадровая синхронизация
CR Входной сигнал R цвета с ВВ55
CG Входной сигнал G цвета с ВВ55
CB Входной сигнал B цвета с ВВ55
Прикидывайте ресурсы по ногам и элементам. Уточнения будут появляться по мере продвижения проекта (например, если потребуются дополнительные выводы для управления буферами шины).
Лёд тронулся. Возник вопрос по сигналу:
// Интерфейс основного ОЗУ
nOE Строб чтения основного ОЗУ
раньше он был инверсный от nWE, сейчас отдельный?
Судя по приведённому количеству пинов (и это только начало) одной плисиной не обойдёмся (имя ввиду 100 пиновые). Приведу названия сигналов на схеме согласно принятым выше в посте единобразно.
Кстати, HardWareMan, пора переходит на Квартус 13.0.1. Он понимает большинство старых CPLD и поддерживает новые.
Ещё. Наверное достаточно вывести только сигналы сразу на VGA монитор, без эмиттерных повторителей, напрямую через резисторы.
Так и есть, не будешь же ты снаружи инвертор вешать? К тому же, у нас появится возможность запирать его при ненадобности, если это понадобиться.
Я могу раздробить данный проект на 2 составляющие: синхрогенератор с адресами и порты В/В (вместе с регистрами сдвига изображения и т.д.). Можно уложиться в 2шт EPM7128SLC84.
Кстати я активно использую 9.1.2, 13.1.0 и 15.1.0. И пока я не освою ModelSim (постоянно не хватает времени) никакого 13.х в треде про CPLD.
При 2-х чиповом варианте это, вероятно, возможно.
Я тут посмотрел, можно все же сдвиг утянуть в первую CPLD. Тогда получится, что первая это видеогенератор в сборе + арбитраж главного ОЗУ. А вторая практически свободная, т.е. можно попробовать внутри нее уложить даже кусок ВВ55, которую вы тут хотели упразднить.
К сожалению, в Орионе целый зоопарк портов и прочего. И всё это в 1 чип не влезло - самый минимум портов (управление RAM/ROM, видео, конфигурационные) уже еле-еле влезли в 1 чип EPM7128 =| А ведь есть ещё клавиатура, дисковод и прочее...
И да - один 100-ногий чип у меня является памятью. Для безвейтовости решил его использовать, что бы не заморачиваться с таймингами арбитра памяти - в симуляции это место было самым проблемным.
;)
Если не использовать Flash-диск, то нам вторая ВВ55 нужна только для ввода сигнала на KA0? И всё. Тем более у меня, я уже писал ранее, при работе Flash-диска SPI интерфейс отваливается. Я выборку ВВ55 №2 отключал (есть такой джампер) и SPI работал.
Сигнал:
nRES Сброс
Необходимо удлинить в плисине, как сделано в оригинальном Специалисте и вывести наружу уже два сигнала: прямой (для ВМ80 и ВВ55) и инверсный (для Z80).
Исправил схему, в ней добавил:
- преобразователь +12 В -> -5 В по схеме Экспресса;
- используется две ПЛИС: EPM7128SLC84;
- все резисторы (кроме 0,5 Вт и сборок) и конденсаторы (кроме электролитов) используются SMD.
Хочу добавить:
- интерфейс магнитофона, но с обратной стороны платы по схеме Павла Рябцова из Специалиста SRAM;
- вывести в разъём на переднюю плату сигналы: динамик, светодиоды, переключатель "Норма-Турбо".
Вот внешний вид платы размером miniITX 17 на 17 см. Не разведены сейчас обе ПЛИС и блокировочные конденсаторы.