User Tag List

Страница 22 из 67 ПерваяПервая ... 181920212223242526 ... ПоследняяПоследняя
Показано с 211 по 220 из 661

Тема: Еще один Орион на ПЛИС

  1. #211

    Регистрация
    20.06.2005
    Адрес
    Светлогорск
    Сообщений
    885
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    23
    Поблагодарили
    20 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Error404 Посмотреть сообщение
    С такими минусами плюсы как бы уже и не интересны.
    С 250нс РУ5х дооптимизироваться до 25нс да еще при SRAM которым не нужна регенерация это ИМХО перебор.
    Это пока что самый неоптимальный вариант, завтра буду изменять пару мест.
    Но без WAIT'ов всё равно максимальное время цикла будет около 75нс - меньше при частоте 10МГц уже невозможно, и так выход за фактический строб WR от процессора. Всё упирается именно во время записи - у чтения строб в 2 раза больше, но на малых частота его надо укорачивать, иначе видео-подсистема не получит доступ для нескольких столбцов подряд.

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

    В схеме, по сути, процессор имеет доступ к памяти синхронно сигналу тактированию самого процессора - если ввести ещё один элемент ИЛИ (clk_F1 OR mem_req), то строб расширится в 2 раза.
    Если делать с триггером, как было, то при чтении на частоте 2,5МГц доступ к памяти занимает сильно много времени - видео-модуль не имеет доступа к памяти около 20 пикселей, то есть 3 столбца сразу выпадает. У ВМ80 строб чтения был короче =/
    "Байт-48"

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

  3. #212

    Регистрация
    14.08.2006
    Адрес
    Владимир
    Сообщений
    4,581
    Спасибо Благодарностей отдано 
    64
    Спасибо Благодарностей получено 
    112
    Поблагодарили
    97 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от andreil Посмотреть сообщение
    Это пока что самый неоптимальный вариант, завтра буду изменять пару мест.
    Но без WAIT'ов всё равно максимальное время цикла будет около 75нс - меньше при частоте 10МГц уже невозможно, и так выход за фактический строб WR от процессора. Всё упирается именно во время записи - у чтения строб в 2 раза больше, но на малых частота его надо укорачивать, иначе видео-подсистема не получит доступ для нескольких столбцов подряд.

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

    В схеме, по сути, процессор имеет доступ к памяти синхронно сигналу тактированию самого процессора - если ввести ещё один элемент ИЛИ (clk_F1 OR mem_req), то строб расширится в 2 раза.
    Если делать с триггером, как было, то при чтении на частоте 2,5МГц доступ к памяти занимает сильно много времени - видео-модуль не имеет доступа к памяти около 20 пикселей, то есть 3 столбца сразу выпадает. У ВМ80 строб чтения был короче =/
    75нс это уже практически вся номенклатура современных ширпотребовских SRAM, т.е. нормуль, а вот 25нс - это только кэши от РС, ёмких SRAM (512кб) с такими выборками не найти.
    Лучше сделать и жалеть, чем не сделать и жалеть.

    Некоторые из моих поделок тут: https://github.com/serge-404

  4. #213

    Регистрация
    20.06.2005
    Адрес
    Светлогорск
    Сообщений
    885
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    23
    Поблагодарили
    20 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Error404 Посмотреть сообщение
    75нс это уже практически вся номенклатура современных ширпотребовских SRAM, т.е. нормуль, а вот 25нс - это только кэши от РС, ёмких SRAM (512кб) с такими выборками не найти.
    Ну почему же не найти. Только уже в SMD-исполнении 100%, с шагом 0.8мм и 0.5мм. Хотя есть ещё SOJ с 1.25мм.
    И нам надо 2 микросхемы по 256Кб - обязательно 16 бит по данным иметь для видео

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

    И да - в эти 75нс надо ещё уложить задержки в логике, что сразу "выстреливает" ориентировочно до 20нс в худшем случае. То есть у нас по факту остаётся 55нс, если не меньше - надо считать по задержкам в полной цепи CPU->MEM->CPU.

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

    Вот, набросал кусочек схемы с синхронным формированием сигналов. Номера тактов взял примерные, можно поменять после проверки в симуляции.
    Суть такова, что при наличии активных clk1 и обращения памяти (zwrn или zrdn и mreq) на dsyn выставится лог.1.
    По активному сигналу clk3 тактируется процессор.
    По активному сигналу clk4 (спад clk3) сбрасывается dsyn.

    Завтра эту схему повторю в проекте и проверю на "живучесть".
    При такой реализации уже получается 3 такта на доступ к памяти, то есть 75нс. Можно максимум ещё на 25нс продлить, хотя уже здесь будет выход за строб WR (по ДШ за такт до него данные уже должны быть на шине, но тогда придётся стробировать только по MREQN, без ZWRN и ZRDN).
    Последний раз редактировалось andreil; 01.03.2018 в 22:07.
    "Байт-48"

  5. #214

    Регистрация
    20.06.2014
    Адрес
    г. Орск, Оренбургская обл.
    Сообщений
    813
    Спасибо Благодарностей отдано 
    33
    Спасибо Благодарностей получено 
    80
    Поблагодарили
    60 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от andreil Посмотреть сообщение
    При такой реализации уже получается 3 такта на доступ к памяти, то есть 75нс. Можно максимум ещё на 25нс продлить...
    А откуда взялись эти 25 нс? При основном клоке 25 МГц длительность такта будет 40 нс, ну никак не 25 нс...
    И еще. А как ты из 25 МГц получил 10 МГц (я так понял, что это турбоклок проца)?
    Турбо АГАТ-9/16 (ЦП 65C802, 5 Махов, dual-port SRAM).

  6. #215

    Регистрация
    14.08.2006
    Адрес
    Владимир
    Сообщений
    4,581
    Спасибо Благодарностей отдано 
    64
    Спасибо Благодарностей получено 
    112
    Поблагодарили
    97 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от andreil Посмотреть сообщение
    Ну почему же не найти. Только уже в SMD-исполнении 100%, с шагом 0.8мм и 0.5мм. Хотя есть ещё SOJ с 1.25мм.
    И нам надо 2 микросхемы по 256Кб - обязательно 16 бит по данным иметь для видео
    SOJ с 1.25мм - это меньшее что я смогу спаять.
    В табличке по ссылке средняя стоимость 5$ за штуку (не считая доставки). На Али за 5$ с бесплатной доставкой сразу десяток (0.5$ штука) с доступом 55ns (для нас самое то) можно найти, еще есть 70 ns (но их работоспособность на 10М уже конечно надо проверять).
    2 микросхемы по 512Кб оптимально было бы, зачем себя ограничивать за те же деньги.
    Лучше сделать и жалеть, чем не сделать и жалеть.

    Некоторые из моих поделок тут: https://github.com/serge-404

  7. #216

    Регистрация
    20.06.2005
    Адрес
    Светлогорск
    Сообщений
    885
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    23
    Поблагодарили
    20 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от LeoN65816 Посмотреть сообщение
    А откуда взялись эти 25 нс? При основном клоке 25 МГц длительность такта будет 40 нс, ну никак не 25 нс...
    И еще. А как ты из 25 МГц получил 10 МГц (я так понял, что это турбоклок проца)?
    1) Да, ошибся. Путаюсь в периодах Тогда сейчас получается 40нс, с расширением до полной ширины WR на 10МГц будет 120нс.
    2) Счётчик считает до 10 И за этот период счёта идут 4 импульса для 10МГц - форма сигналов как и в посте #97, только схема формирования иная.
    "Байт-48"

  8. #217

    Регистрация
    20.06.2005
    Адрес
    Светлогорск
    Сообщений
    885
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    23
    Поблагодарили
    20 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    В процессорном модуле теперь используется частота 20МГц - иначе сигналы очень несимметричные и получается очень громоздкая логика арбитража памяти.
    В текущем варианте на доступ CPU к памяти отводится фиксированный промежуток в 100нс, что будет достаточно для практически всех типов памяти.
    Самый тяжёлый случай, с частотой 2,5МГц - здесь за цикл чтения успевает выполниться 2 цикла обращения к памяти.
    Приступаю к имплементации портов с Прошки...
    "Байт-48"

  9. #218

    Регистрация
    16.12.2008
    Адрес
    Kharkov, Ukraina
    Сообщений
    2,221
    Спасибо Благодарностей отдано 
    4
    Спасибо Благодарностей получено 
    21
    Поблагодарили
    18 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Тоже с такой проблемой столкнулся на FPGA. Наладишь на 20MГц, не работает на 2.5MГц. Или наоборот. Так и не дожал этот вопрос в свое время.
    Электроника КР-02, MSX YIS-503IIR, Орион-128, Ленинград-2, Pentagon-128k, MSX2 YIS-503IIIR, MSX-EXT, ...

  10. #219

    Регистрация
    20.06.2005
    Адрес
    Светлогорск
    Сообщений
    885
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    23
    Поблагодарили
    20 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от OrionExt Посмотреть сообщение
    Тоже с такой проблемой столкнулся на FPGA. Наладишь на 20MГц, не работает на 2.5MГц. Или наоборот. Так и не дожал этот вопрос в свое время.
    Нет, у меня всё работало, но для организации более длительного цикла обращения к памяти (для реальных чипов) требовалась очень сложная логика арбитража. В основном это усложнялось именно несимметричностью тактирования (на 10МГц каждые 2 или 3 такта по импульсу).

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

    И нынешняя схема абсолютно стабильно работает на всех 3-х частотах.
    "Байт-48"

  11. #220

    Регистрация
    14.08.2006
    Адрес
    Владимир
    Сообщений
    4,581
    Спасибо Благодарностей отдано 
    64
    Спасибо Благодарностей получено 
    112
    Поблагодарили
    97 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ну и как вишенку на торт - добавить к "честным" 10М еще режим "20М с Wait" (т.е. разгоняется только проц а остальной синхронный автомат остается как есть на 10М и имеет приоритет относительной проца) и получим самый быстрый русский клон на железном Z80.
    Лучше сделать и жалеть, чем не сделать и жалеть.

    Некоторые из моих поделок тут: https://github.com/serge-404

Страница 22 из 67 ПерваяПервая ... 181920212223242526 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Эмулятор ZX-Poly
    от Raydac в разделе Эмуляторы
    Ответов: 109
    Последнее: 07.12.2024, 21:42
  2. ОРИОН-2010 на ПЛИС.
    от Ewgeny7 в разделе Орион
    Ответов: 447
    Последнее: 23.11.2016, 12:27
  3. Еще один Ленинград 48
    от Ewgeny7 в разделе Ленинград
    Ответов: 0
    Последнее: 16.10.2007, 22:31
  4. Ещё один Д.Р.
    от GNTB в разделе Поздравления
    Ответов: 4
    Последнее: 19.07.2006, 01:52
  5. Ещё один подраздел
    от CityAceE в разделе Форум
    Ответов: 2
    Последнее: 22.05.2005, 11:57

Ваши права

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