User Tag List

Страница 21 из 67 ПерваяПервая ... 171819202122232425 ... ПоследняяПоследняя
Показано с 201 по 210 из 661

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

  1. #201

    Регистрация
    05.10.2016
    Адрес
    г. Санкт-Петербург
    Сообщений
    1,080
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    5
    Поблагодарили
    5 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от andreil
    перемудрил в пятницу - Z80-Test опять не принимает диспетчер памяти
    Есть у кого-либо исходники этого теста, что бы понять как оно должно работать?
    Исходников, естественно, ни у кого не сохранилось. Но я сейчас дизассемблировал Z80CARD-II TEST-1.03 и посмотрел.

    Алгоритм теста диспетчера там такой. Проверяется, что порт F9 коммутирует банки. После чего в окно диспетчера ОЗУ последовательно включаются все сегменты памяти и по адресу 2FFF записывается номер этого сегмента. Затем, уже с помощью коммутации банок портом F9 соответствующие ячейки 2FFF, 6FFF, AFFF, EFFF во всех банках контроллируются на числа которые в них записывались.
    Последний раз редактировалось barsik; 26.02.2018 в 20:46.

  2. #202

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

    По умолчанию

    Цитата Сообщение от barsik Посмотреть сообщение
    Исходников, естественно, ни у кого не сохранилось. Но я сейчас дизассемблировал Z80CARD-II TEST-1.03 и посмотрел.

    Алгоритм теста диспетчера там такой. Проверяется, что порт F9 коммутирует банки. После чего в окно диспетчера ОЗУ последовательно включаются все сегменты памяти и по адресу 2FFF записывается номер этого сегмента. Затем, уже с помощью коммутации банок портом F9 соответствующие ячейки 2FFF, 6FFF, AFFF, EFFF во всех банках контроллируются на числа которые в них записывались.
    Только по порту F9 или по FB тоже?
    "Байт-48"

  3. #203

    Регистрация
    05.10.2016
    Адрес
    г. Санкт-Петербург
    Сообщений
    1,080
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    5
    Поблагодарили
    5 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от andreil Посмотреть сообщение
    Цитата Сообщение от barsik
    Затем, уже с помощью коммутации банок портом F9 соответствующие ячейки 2FFF, 6FFF, AFFF, EFFF во всех банках контроллируются на числа которые в них записывались.
    Только по порту F9 или по FB тоже?
    Вопрос не понял.

    Читать сразу же после записи в какой либо сегмент из того же самого адреса, куда была запись, - бесполезно. Поэтому для тестирования во все сегменты что-то записывается в окне 16К, а читается для проверки уже обычным способом, по физическим адресам, коммутируя банки целиком портом F9. При этом, естественно, диспетчер с окном 16К отключается записью в порт FB числа 80H. Т.к во все сегменты записаны разные числа, то если сегмент 16К неверно коммутируется, например, если сегменты "слиплись", то это обнаружится.

    Для полной проверки можно ещё сделать наоборот, записать в сегменты используя порт F9, а читать используя доступ сквозь окно 16К. Но объём ПЗУ ограничен, потому одного теста достаточно.
    Последний раз редактировалось barsik; 27.02.2018 в 00:54.

  4. #204

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

    По умолчанию

    Цитата Сообщение от barsik Посмотреть сообщение
    Вопрос не понял.

    Читать сразу же после записи в какой либо сегмент из того же самого адреса, куда была запись, - бесполезно. Поэтому для тестирования во все сегменты что-то записывается в окне 16К, а читается для проверки уже обычным способом, по физическим адресам, коммутируя банки целиком портом F9. При этом, естественно, диспетчер с окном 16К отключается записью в порт FB числа 80H. Т.к во все сегменты записаны разные числа, то если сегмент 16К неверно коммутируется, например, если сегменты "слиплись", то это обнаружится.

    Для полной проверки можно ещё сделать наоборот, записать в сегменты используя порт F9, а читать используя доступ сквозь окно 16К. Но объём ПЗУ ограничен, потому одного теста достаточно.
    Понял.
    То есть при записи используем порт FB (который по 16Кб коммутирует), а при чтении - F9 (который целиком коммутирует).
    "Байт-48"

  5. #205

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

    По умолчанию

    Итак, схему базового варианта почти "отшлифовал".
    Поскольку процессор - только Z80, то часть логики переделал вообще полностью.
    Для проверки гонял Test128, на 2,5МГц с коркой T80a есть глитчи по линии MREQN от корки - на более высоких частотах не наблюдается вообще.
    Корку T80pa так и не смог запустить - не понял, что там с тактированием =/
    "Байт-48"

  6. #206

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

    По умолчанию

    Сижу, отлаживаю схему, и вижу ошибку в корке - в цикле записи сигнал WR стробируется по восходящему фронту, а в даташите - по нисходящему.

    (корка тактируется сигналос clk_F1)
    Из-за этого цикл записи получается совсем коротким и наблюдаются проблемы =/
    Вот и вопрос - или корка не корректно формирует этот сигнал или я не тот ДШ смотрю? Документ - UM008004-1204, циклы чтения/записи на стр. 12.
    "Байт-48"

  7. #207
    HardWareMan
    Гость

    По умолчанию

    andreil, согласно моим опытам на железе в МХ2, Z80 требует данные по фронту тактового импульса в цикле М1 (опкод), по спаду тактового импульса в цикле чтения данных, запись данных так же синхронизируется со спадом. Именно поэтому в Ленине процессор засинхронизирован к инвертированному RAS сигналу (получается циклы чтения и записи данных автоматически), а в цикле М1 тормозится на 1 такт (и использует регистр для хранения опкода). Для полноты картины добавьте в диаграмму сигнал М1.

  8. #208

    Регистрация
    04.05.2006
    Адрес
    St.-Petersburg
    Сообщений
    2,234
    Спасибо Благодарностей отдано 
    490
    Спасибо Благодарностей получено 
    989
    Поблагодарили
    641 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от HardWareMan Посмотреть сообщение
    ...Именно поэтому в Ленине процессор засинхронизирован к инвертированному RAS сигналу ...
    Критиковать - значит объяснять автору, что он делает не так, как делал бы я, если бы умел

  9. #209

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

    По умолчанию

    Значительно переработал интеграцию Z80-Card-II, в сторону полного отказа от ВМ80.
    Так же упростил формирование сигналов обращения процессора и видео к памяти, поскольку счётчик у нас синхронный. Из минусов - на память теперь отводится только 25нс на любой частоте. Из плюсов - в худшем случае видеобуфер считывается 3 раза, что позволит сделать работу с изображением в 4-х плоскостях.
    Модуль видео - почти без изменений с прошлого раза.
    Модуль процессора.
    Так же написал простейший эмулятор i8255, с которым Z80Test проходит проверки PIO.
    Осталось решить последнюю проблему с тестом и буду двигать архитектуру в сторону Прошки...

    PS: Если порт FB изменится на Прошный, то половинка 7474 в карте освободится и будет использоваться для формирования тактов (где сейчас только половинка 7474 и используется).
    "Байт-48"

  10. #210

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

    По умолчанию

    Цитата Сообщение от andreil Посмотреть сообщение
    Из минусов - на память теперь отводится только 25нс на любой частоте. Из плюсов - в худшем случае видеобуфер считывается 3 раза, что позволит сделать работу с изображением в 4-х плоскостях.
    С такими минусами плюсы как бы уже и не интересны.
    С 250нс РУ5х дооптимизироваться до 25нс да еще при SRAM которым не нужна регенерация это ИМХО перебор.
    Лучше сделать и жалеть, чем не сделать и жалеть.

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

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

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

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

Эту тему просматривают: 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

Ваши права

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