Важная информация
Страница 1 из 9 12345 ... ПоследняяПоследняя
Показано с 1 по 10 из 84

Тема: SQRUM 1M

  1. #1
    Activist
    Регистрация
    20.01.2016
    Адрес
    п. Власиха, Московская обл.
    Сообщений
    249
    Благодарностей: 162

    По умолчанию SQRUM 1M

    Планирую делать клон на CPLD EPM7128SLC84-15 (MAX 7000S)
    Решил, короче, запихнуть свой кворум, в том виде как он у меня сейчас в CPLD.

    Будет смесь Кворум БК-04 и Scorpion 1024

    Памяти будет 1Мб на 2 чипах NN514405 или аналогичных мелких чипах с симов 4/8 мб, где 8-16 чипов.

    Первые попавшиеся аналоги MB814400C TMS44400DJ M514400DL KM44C1000J HM514400CS6 V53C404HK60

    Процессор, память, ПЗУ и порты ввода-вывода будут внешние, менеджер памяти и видеоконтроллер будут внутри.

    Порты расширения
    -------- Память ------------
    1) #FD - реально работает #7FFD, но можно обращаться и через #FD
    2) #7FFD
    D0 = bank 0 ;128 kB memory
    D1 = bank 1 ;128 kB memory
    D2 = bank 2 ;128 kB memory
    D3 = select screen 0/1
    D4 = ROM A14 (128/48)
    D5 = disable paging
    3) #1FFD
    D0 = 1 - disable rom and connect ram page 0 in adress space 0-3FFF
    D1 = ROM A15 (когда установлен, то ROM A14 выбирает Сервис ROM / TR-DOS)
    D4 = bank 3 ;256 kB memory
    D6 = bank 4 ;512 kB memory
    D7 = bank 5 ;1024 kB memory
    Структура ПЗУ 0 - 128, 1 - 48, 2 - Service (например Real Commander), 3 - TR-DOS
    Сервисная страница выбирается пропатченным 128 Basic, можно взять здесь http://www.avray.ru/ru/zx-spectrum-256k-upgrade/
    Возможно еще буду что-то делать с ПЗУ, а то 4 банка маловато конечно же )
    ------------------------------
    4) #FE запись
    D0 = BORDER B
    D1 = BORDER R
    D2 = BORDER G
    D3 = TAPE OUT
    D4 = BEEPER


    Пока что ваяю схему в квартусе, буду делать именно в схемном виде.


    Первое, что у меня вызвало некоторые затруднения - это видеовыход, будет ли он работать в таком виде или всё же нужно резисторами смешивать?
    Т.е. вопрос, как смиксовать сигнал с яркостью с сигналом без ярокости без резисторов?
    Или проще вывести отдельно RGBY, а потом уже снаружи с ними делать то что нужно?

    Спасибо vlad, буду выводить RGBY

    Горизонтальные тайминги:


    Вертикальные тайминги:



    PS: любая помощь приветствуется, т.к. я в этом деле еще новичок, в основном АВРками занимался...

    PS2: выложу пожалуй то что наваял на данный момент, может у кого-то будет время глянуть, что там можно улучшить... Пока что меня еще смущают ИР23 4 штуки для задержки цвета (из схемы кворума)... а так же регистр D47 для задержки пикселей, если бы обойтись как-то без них, то это сильно бы разгрузило схему. Этот вопрос решу когда сделаю макетку, может они там и не нужны


    UPD:
    - v1.03 добавил еще поддержку порта #FD
    - v1.04 разбил на блоки, убрал много соединительных линий и убрал задержки с видеовыхода
    - v2.01 сделал отдельно видеоконтроллер, убрал 2 буфера для памяти, переделал менеджер памяти, модуль выбора RAM/ROM, и сделал формирователь /INT
    - v2.02 исправил видеовыход, яркость для черного и отключение бордюра при выводе пикселей
    - v2.03 исправил ошибку в мультиплексоре и вынес его в отдельный модуль
    - v2.04 вынес клок-генератор в отдельный модуль
    - v2.05 (86 MC, 63 pin) добавлен генератор FLASH (моргалка курсора), поправлен сигнал /OE памяти для выдачи данных видеоконтроллеру
    - v2.06 Исправил ошибку в формирователе /INT, добавил дешифрацию портов #FE, #FF, #1F
    - v2.07 Исправлена работа генераторов и некоторые другие ошибки, эта версия сделана под отладочную плату с Cyclone II (EP2C5T144C8)
    - v2.08 Окончательно исправлена работа генераторов и туда же добавлен /INT, времянки как на картинках
    - v2.09 Переделан сигнал /INT (возвращены /M1 и /IORQ), шина данных теперь только на вход, добавлен вывод 1.75МГц для AY
    Вложения Вложения
    Последний раз редактировалось EvgenRU; 19.03.2017 в 01:51.

  2. Эти 3 пользователя(ей) поблагодарили EvgenRU за это полезное сообщение:
    fifan (05.03.2017), HardWareMan (06.03.2017), polikarpov76 (06.03.2017)

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

  4. #2
    Activist
    Регистрация
    24.05.2005
    Адрес
    г. Запорожье, Украина
    Сообщений
    433
    Благодарностей: 322

    По умолчанию

    рекомендую в будущем всё же отказаться от схемного ввода.

  5. #3
    Guru Аватар для HardWareMan
    Регистрация
    26.02.2011
    Адрес
    Павлодар
    Сообщений
    2,326
    Благодарностей: 1121

    По умолчанию

    shurik-ua, это почему же?

  6. #4
    Moderator
    Регистрация
    25.11.2007
    Адрес
    Симферополь
    Сообщений
    1,924
    Благодарностей: 377

    По умолчанию

    Цитата Сообщение от HardWareMan Посмотреть сообщение
    shurik-ua, это почему же?
    Vhdl в отличие от схемного ввода - позволяет портировать код практически на любой кристал. А схемный ввод ограничен средой разработки и семейством CPLD. Чистое ИМХО.
    Amiga 1200+Blizzard 1260 72 Mb+Mtek 68030,Compozit 128, Leningrad 2,
    Atari STE 1040,ZX Spectrum +2,Pentagon 48, Speccy2007 - 2 , ATAS 256k.
    ZX Evo 4Mb- в строю.
    Speccy2010 v1
    Специалист (пока готовлюсь к восстановлению).
    Это все мое!
    Родное!
    Все люблю на свете я! Это родина моя!

  7. #5
    Member Аватар для omercury
    Регистрация
    13.02.2016
    Адрес
    г. Королёв
    Сообщений
    39
    Благодарностей: 10

    По умолчанию

    Цитата Сообщение от balu_dark Посмотреть сообщение
    схемный ввод ограничен средой разработки и семейством CPLD.
    Если юзать встроенные в среду макро/мегафункции и встроенные в кристалл модули, то HDL "прилипает" к среде и семейству ничуть не меньше.
    Хотя согласен, текст будет гибче.

  8. #6
    Activist
    Регистрация
    20.01.2016
    Адрес
    п. Власиха, Московская обл.
    Сообщений
    249
    Благодарностей: 162

    По умолчанию

    Спасибо за дельные советы но меня пока что интересует конкретный вопрос, можно ли избавиться от 5 корпусов, которые я перечислил в первом сообщении, чтобы освободить макроячейки. Прочему схема, потому что у меня есть несколько схем, которые я объединил в одну, вот как-то так.

  9. #7
    Member Аватар для omercury
    Регистрация
    13.02.2016
    Адрес
    г. Королёв
    Сообщений
    39
    Благодарностей: 10

    По умолчанию

    EvgenRU, чёй-то у Вас вся схема арабской вязью выполнена - заблудился сразу на синхрогенераторе...

    Цитата Сообщение от EvgenRU Посмотреть сообщение
    Пока что меня еще смущают ИР23 4 штуки для задержки цвета (из схемы кворума)... а так же регистр D47
    Мда, более четверти Альтеры на задержку всего видеоряда крутовато... явно сигналы стробирования буферов (либо H/V синхронизация) выполнены невовремя. Подсмотрите формирование видео хотя бы на Ленинграде.

    По поводу общей концепции:
    - Всё это безобразие в 128 ячеек всё равно не влезет, так что лучше перерисовать сразу;
    - Регистры #FE (клава, кемпстон, вход/выход tape, бипер и пр.) придётся сделать внешними - тупо не хватит ножек;
    - Разбейте схему на функциональные блоки (синхрогенератор, контроллер памяти, формирователь видеовыхода), оформите их отдельными модулями - в дальнейшем сильно упростит работу да и читабельности схеме в общем добавит сильно. От количества внутренних шин трассировка кристалла не изменится;
    - Квартус прекрасно понимает соединение по именам/псевдонимам, так что длинные соединения тащить через всю схему совсем не обязательно.

    З.Ы.
    Девятый Quartus ещё поддерживает MAX и первый циклон а также ещё содержит в себе Мультисим.


    UPD:
    По поводу блочного построения схемы. Модули делайте отдельными файлами, потом на общей блок-схеме их соберёте. В HDL после этого их тоже проще переводить.
    Синхрогенератор придётся перерисовывать 100%
    Контроллер памяти тоже. Не забывайте, что оперативка у Вас на мегабайт, а шина адреса для неё 8 бит вместо 10... Регенерация её хоть и выполняется сканированием видеопамяти, но адресная шина должна обежать все адреса A0-A9 иначе данные Вы потеряете. Битики придётся переставлять, но это уже по ходу оперы.
    Последний раз редактировалось omercury; 06.03.2017 в 02:53.

  10. Этот пользователь поблагодарил omercury за это полезное сообщение:
    EvgenRU (06.03.2017)

  11. #8
    Guru Аватар для HardWareMan
    Регистрация
    26.02.2011
    Адрес
    Павлодар
    Сообщений
    2,326
    Благодарностей: 1121

    По умолчанию

    Цитата Сообщение от balu_dark Посмотреть сообщение
    Vhdl в отличие от схемного ввода - позволяет портировать код практически на любой кристал. А схемный ввод ограничен средой разработки и семейством CPLD. Чистое ИМХО.
    Дану? А я, дурак, под циклон V делал схемным и оно работало, а ведь не должно было, да?

    - - - Добавлено - - -

    Цитата Сообщение от omercury Посмотреть сообщение
    Хотя согласен, текст будет гибче.
    Текст удобнее для редактирования. И копипасты. А так же, когда мозги встанут на синхронные рельсы. А вот в схеме, новичок может рулить тем же триггером по всем сигналам от разных событий искаропки. Попробуйте это сделать в тексте, когда надо чтобы один и тот же регистр управлялся из разных always блоков.

    - - - Добавлено - - -

    Цитата Сообщение от omercury Посмотреть сообщение
    По поводу блочного построения схемы. Модули делайте отдельными файлами, потом на общей блок-схеме их соберёте. В HDL после этого их тоже проще переводить.
    И это самый дельный совет. Если рисовать блоками, то даже редактирование будет не в тягость.

    - - - Добавлено - - -

    Можно просто на зоны поделить, как это я делал во время проектирования МХ2:

    Скрытый текст

    [свернуть]


    - - - Добавлено - - -

    Потом он разучит массивы и станет их паковать и после этого схема станет компактнее и читабельней (подсказка: кактус понимает массив элементов, если соединять их шиной а не проводом).

    Скрытый текст

    [свернуть]


    - - - Добавлено - - -

    Цитата Сообщение от EvgenRU Посмотреть сообщение
    Как-то так пока что получается

    Скрытый текст

    [свернуть]
    Ой, ма... А зачем на выходе 8ми тактовая задержка всех сигналов изображения? А бордюр у тебя будет рисоваться по всему экрану: он у тебя по ИЛИ с обычным выходом, но ты его не гасишь во время экрана. И еще, приведи схему к стандарту, когда слева входы а справа выходы, мы же не арабы какие наоборот считывать. И это только то, что я увидел за секунду просмотра.

  12. Этот пользователь поблагодарил HardWareMan за это полезное сообщение:
    EvgenRU (06.03.2017)

  13. #9
    Activist
    Регистрация
    24.05.2005
    Адрес
    г. Запорожье, Украина
    Сообщений
    433
    Благодарностей: 322

    По умолчанию

    Цитата Сообщение от HardWareMan Посмотреть сообщение
    shurik-ua, это почему же?
    всё равно к нему (HDL) рано или поздно придёшь, так что лучше сразу )

  14. #10
    Guru Аватар для HardWareMan
    Регистрация
    26.02.2011
    Адрес
    Павлодар
    Сообщений
    2,326
    Благодарностей: 1121

    По умолчанию

    Цитата Сообщение от shurik-ua Посмотреть сообщение
    всё равно к нему (HDL) рано или поздно придёшь, так что лучше сразу )
    Ага, и отпугнуть новичка, да? Придет он, когда созреет и будет готов. А пока пусть схемками балуется.

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

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

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

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

Ваши права

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