Важная информация

User Tag List

Страница 9 из 21 ПерваяПервая ... 5678910111213 ... ПоследняяПоследняя
Показано с 81 по 90 из 201

Тема: FPGA-реплика ЭВМ ДВК-3 и платы МС1201

  1. #81
    Guru
    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    4,367
    Спасибо Благодарностей отдано 
    123
    Спасибо Благодарностей получено 
    239
    Поблагодарили
    201 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vslav Посмотреть сообщение
    Подавление дребезга - это старая и давно решенная проблема, о ней даже неудобно говорить
    Я о ней и не говорил, просто пояснил - что за сигнал

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

    Кстати, код очень старый (когда я только начинал с VHDL), поэтому - std_logic_vector(9 downto 0). Сейчас я бы сделал так - std_logic_vector(0 to 9). Хотя конкретно в этом случае - скорее всего нет, потому как движки на плате нумеруются с 9 до 0. Но - оно работает, поэтому и не трогал. Только новый функционал добавляю на движки и кнопки.

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

    Переключится с одной частоты на другую могу в любой момент. Но есть проблема с обработкой прерывания от внешнего устройств на 1 Гц. С этим пока не разбирался.

    Так что могу визуально увидеть, как происходит отработка команд. Надо бы ещё восстановить функционал тактовой кнопки - тогда будет время на то, что бы посмотреть не один сигнал на цифровой панели. А так же сделать весь этот код отключаемым на этапе синтеза. Но пока не до этого.

  2. #82
    Activist
    Регистрация
    17.04.2011
    Адрес
    Санкт-Петербург
    Сообщений
    265
    Спасибо Благодарностей отдано 
    12
    Спасибо Благодарностей получено 
    118
    Поблагодарили
    31 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vslav Посмотреть сообщение
    Итак, во все мои модели процессоров встроен "дульный компенсатор" - специальный блок позволяет имитировать работу ядра на низкой частоте, при этом внешняя шина Wishbone продолжает работать на общей (высокой) частоте SoC, позволяя периферии (например, SDRAM) не замедляться.
    Вот, спасибо! Попробовал, все отлично работает. Хватило замедления в 16 раз (4-битовым регистром). Что совсем замечательно в таком подходе - тормозится только процессор, диск через DMA работает на прежней скорости. Красота.
    Правда, в игрушку поиграть все равно не получается, не реагирует она на кнопки управления, хоть убейся. Но это уже проблемы совсем из другой области. Для начала КСМ сделать надо.

  3. Этот пользователь поблагодарил forth32 за это полезное сообщение:

    Vslav (24.01.2021)

  4. #83
    Guru Аватар для Vslav
    Регистрация
    31.03.2013
    Адрес
    г. Киев
    Сообщений
    2,243
    Спасибо Благодарностей отдано 
    115
    Спасибо Благодарностей получено 
    487
    Поблагодарили
    268 сообщений
    Mentioned
    70 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от forth32 Посмотреть сообщение
    Для начала КСМ сделать надо.
    По КСМ у меня такие мысли (конечно, я не настаиваю чтобы делалось именно так, просто соображения):
    - строить на vm80a, на сегодня это самое экономное ядро, и родная прошивка оригинального КСМ тоже на 8080. Могу выложить полностью разобранный листинг родной прошивки
    - память урезать до 4К и сделать на внутренней статике, 4К хватит для буфера 80x48 и останется место для служебной строки и память для переменных программы
    - для аппаратного курсора сделать регистр, куда записывать знакоместо где он выводится
    - на имитацию "снега" можно забить
    ИМХО, такой подход сэкономил бы ресурсы и позволил бы влезть в младшие ПЛИС. Я планировал КСМ делать в таком ключе.

  5. #84
    Guru
    Регистрация
    07.10.2007
    Адрес
    п.Пудость Гатчинского р-на Лен.обл.
    Сообщений
    2,771
    Спасибо Благодарностей отдано 
    220
    Спасибо Благодарностей получено 
    329
    Поблагодарили
    220 сообщений
    Mentioned
    35 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vslav Посмотреть сообщение
    - для аппаратного курсора сделать регистр, куда записывать знакоместо где он выводится
    Да вот в КСМ строго определённого места для курсора нет. Насколько я помню, курсор имитируется мигающим символом в последних трёх строках знакоместа. Потому есть видеопамять для символов и видеопамять для курсоров. И эти курсоры могут быть на каждом знакоместе. Просто для курсора в видеопамять курсоров заносят символ с кодом 127 (у нас в КОИ-7 это закрашенное знакоместо), и он будет высвечиваться и моргать в последних трёх строках знакоместа.

  6. #85
    Guru Аватар для Vslav
    Регистрация
    31.03.2013
    Адрес
    г. Киев
    Сообщений
    2,243
    Спасибо Благодарностей отдано 
    115
    Спасибо Благодарностей получено 
    487
    Поблагодарили
    268 сообщений
    Mentioned
    70 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Alex_K Посмотреть сообщение
    Да вот в КСМ строго определённого места для курсора нет. Насколько я помню, курсор имитируется мигающим символом в последних трёх строках знакоместа. Потому есть видеопамять для символов и видеопамять для курсоров. И эти курсоры могут быть на каждом знакоместе. Просто для курсора в видеопамять курсоров заносят символ с кодом 127 (у нас в КОИ-7 это закрашенное знакоместо), и он будет высвечиваться и моргать в последних трёх строках знакоместа.
    Да, все верно. Только никому толпа курсоров одновременно на экране не нужна, он по смыслу должен быть один. Поэтому - "память курсоров" сразу нафиг, а для указания где должен быть курсор - регистр с адресом знакоместа, в этом и был смысл моего пункта.

  7. #86
    Guru
    Регистрация
    07.10.2007
    Адрес
    п.Пудость Гатчинского р-на Лен.обл.
    Сообщений
    2,771
    Спасибо Благодарностей отдано 
    220
    Спасибо Благодарностей получено 
    329
    Поблагодарили
    220 сообщений
    Mentioned
    35 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vslav Посмотреть сообщение
    Да, все верно. Только никому толпа курсоров одновременно на экране не нужна, он по смыслу должен быть один. Поэтому - "память курсоров" сразу нафиг, а для указания где должен быть курсор - регистр с адресом знакоместа, в этом и был смысл моего пункта.
    В восемь разрядов адрес не уместится, надо два регистра. Ну и прошивку переделать, там где высвечивается курсор в нужном месте. Память для хранения параметров и собственно видеопамять символов расположены довольно далеко друг от друга, тоже придётся переделать.

  8. #87
    Activist
    Регистрация
    17.04.2011
    Адрес
    Санкт-Петербург
    Сообщений
    265
    Спасибо Благодарностей отдано 
    12
    Спасибо Благодарностей получено 
    118
    Поблагодарили
    31 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vslav Посмотреть сообщение
    По КСМ у меня такие мысли (конечно, я не настаиваю чтобы делалось именно так, просто соображения):
    - строить на vm80a, на сегодня это самое экономное ядро, и родная прошивка оригинального КСМ тоже на 8080. Могу выложить полностью разобранный листинг родной прошивки
    Ядро компактнее, это да... Но ну нафиг писать под 8-битные камни. Наелся этим за глаза в свое время. Особенно весело там делать 16-битные адресные вычисления, коих в программе довольно много.
    У меня в этом проекте уже есть терминальный модуль, на ядре 1801ВМ2. Вот из него я и сделал КСМ. По сути, разница только в разрешении экрана - у меня она была 640*480, а надо 800*600. Терминал вместе со все остальным проектом спокойно влезает в EP4CE10, а если выкинуть из проекта часть дисков - влезет и в CE6. Тут все больше упирается не в размер процессорного ядра, а в объем внутренней памяти, который от применяемого процессора не зависит.

    А вот от листинга я бы не отказался, псомотреть некоторые тонкости реализации протокола. Конечно, в чистом виде прошивка, к сожалению неприменима, хотя бы из за PS/2 клавиатуры.
    Цитата Сообщение от Vslav Посмотреть сообщение
    - память урезать до 4К и сделать на внутренней статике, 4К хватит для буфера 80x48 и останется место для служебной строки и память для переменных программы
    Я пока урезал память до 2К и сделал буфер 80*25 (24 строки данных + служебная строка). Сделать полные 80*48 несложно, но я пока не знаю, стоит ли лишний расход дефицитной внутренней памяти ради возможности скроллинга текста назад. Ни разу не видел софта, который бы этим пользовался. И даже не представляю, где такое может пригодиться. А у меня и так КГД сходу отъел 16К под видеобуфер.
    Цитата Сообщение от Vslav Посмотреть сообщение
    - для аппаратного курсора сделать регистр, куда записывать знакоместо где он выводится
    А это у меня изначально сделано. В КСМ/15ИЭ как-то совсем коряво сделано - половина ОЗУ отводится только для хранения признака курсора.
    Цитата Сообщение от Vslav Посмотреть сообщение
    - на имитацию "снега" можно забить
    Уж это точно. И в мыслях не было. А в остальном получившийся модуль полностью совместим к КСМ, точнее, с 15ИЭ-00-013, что вроде бы почти то же самое. Разница только в формате статусной строки - у меня там текстовые маркеры вместо битовых полей.

    Вообщем, сейчас результирующий переделанный модуль занимает 2440 ячеек. Наверное, на ВМ80 получилось бы поменьше, потом можно и попробовать для интереса.

  9. #88
    Guru Аватар для Vslav
    Регистрация
    31.03.2013
    Адрес
    г. Киев
    Сообщений
    2,243
    Спасибо Благодарностей отдано 
    115
    Спасибо Благодарностей получено 
    487
    Поблагодарили
    268 сообщений
    Mentioned
    70 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от forth32 Посмотреть сообщение
    У меня в этом проекте уже есть терминальный модуль, на ядре 1801ВМ2. Вот из него я и сделал КСМ.
    ...
    Тут все больше упирается не в размер процессорного ядра, а в объем внутренней памяти, который от применяемого процессора не зависит.
    Есть еще ПЗУ для управляющей программы, ВМ80 точно попросит меньше ПЗУ, его бинарный код компактнее чем PDP-11, прошивка терминала работает с байтами в-основном, и без инструкции умножения тоже можно жить. Ну, такое, вопрос личных предпочтений.

    Цитата Сообщение от forth32 Посмотреть сообщение
    А вот от листинга я бы не отказался, псомотреть некоторые тонкости реализации протокола. Конечно, в чистом виде прошивка, к сожалению неприменима, хотя бы из за PS/2 клавиатуры.
    Исходник КСМ (компилируемый). Да, оригинал сделан под МС7004, надо переписывать под PS/2.

    Цитата Сообщение от forth32 Посмотреть сообщение
    Я пока урезал память до 2К и сделал буфер 80*25 (24 строки данных + служебная строка).
    Сделать полные 80*48 несложно, но я пока не знаю, стоит ли лишний расход дефицитной внутренней памяти ради возможности скроллинга текста назад. Ни разу не видел софта, который бы этим пользовался. И даже не представляю, где такое может пригодиться. А у меня и так КГД сходу отъел 16К под видеобуфер.
    Можно и 80х25. Я так понимаю что 48 строк внутреннего буфера это особенность КСМ которой никто не пользовался особо. На автономный режим тоже можно забить.
    А с КГД не вижу другой возможности, только отдать 16К и все. Двухпортовый контроллер SDRAM видится бОльшим злом.

  10. Эти 2 пользователя(ей) поблагодарили Vslav за это полезное сообщение:

    Elias (25.01.2021), forth32 (24.01.2021)

  11. #89
    Activist
    Регистрация
    17.04.2011
    Адрес
    Санкт-Петербург
    Сообщений
    265
    Спасибо Благодарностей отдано 
    12
    Спасибо Благодарностей получено 
    118
    Поблагодарили
    31 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Более-менее получилось наконец совместить текст и графику. Выглядит это примерно так:

    текст+графика

    [свернуть]


    Обрезанный левый край картинки - это некорректная работа устройства видеозахвата. На мониторе все выглядит правильно.

    У меня, кроме этого графического бейсика, больше нет ни одной программы, выводящей текст и графику одновременно. Поэтому трудно судить о точности стыковки обоих изображений.
    Ну и осталось еще привести схему в человеческий вид и дописать документацию. И будет готов полноценный ДВК-3.

    Vslav, спасибо за исходники. Отлично откомментированы, я и сам так люблю делать. Теперь надо вспомнить еще эту извратную систему команд...
    Оказывается, у нас есть wishbone-ядро ВМ80. Получается, его можно будет попытаться воткнуть в мою схему КСМ без серьезных изменений остальных периферийных модулей.
    Последний раз редактировалось forth32; 25.01.2021 в 08:31.

  12. Эти 4 пользователя(ей) поблагодарили forth32 за это полезное сообщение:

    Elias (25.01.2021), Hunta (25.01.2021), Vslav (25.01.2021), xolod (25.01.2021)

  13. #90
    Guru Аватар для Vslav
    Регистрация
    31.03.2013
    Адрес
    г. Киев
    Сообщений
    2,243
    Спасибо Благодарностей отдано 
    115
    Спасибо Благодарностей получено 
    487
    Поблагодарили
    268 сообщений
    Mentioned
    70 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от forth32 Посмотреть сообщение
    Vslav, спасибо за исходники. Отлично откомментированы
    Там не все комментарии мои, я брал какой-то листинг из Сети за основу. Но мой исходник компилируется ZASM и дает точно оригинальный бинарник.
    Цитата Сообщение от forth32 Посмотреть сообщение
    Оказывается, у нас есть wishbone-ядро ВМ80
    Так я его и имел ввиду . Вот ВН59 нет пока, а остальное делается несложно.

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

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

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

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

  1. Vslav

Похожие темы

  1. Реплика всего семейства ДВК
    от Daniil Chislov 86 в разделе ДВК, УКНЦ
    Ответов: 21
    Последнее: 13.11.2019, 16:36
  2. Ответов: 6
    Последнее: 30.07.2018, 09:04
  3. Реплика контроллера НГМД ДВК MY4
    от anasana в разделе ДВК, УКНЦ
    Ответов: 46
    Последнее: 02.03.2017, 16:23
  4. Аукцион плат ДВК МС1201.02, НМЛ СМ5300.01 и др.
    от OS в разделе Барахолка (архив)
    Ответов: 45
    Последнее: 19.11.2011, 14:02
  5. Реплика КМД ДВК (MY)
    от KALDYH в разделе ДВК, УКНЦ
    Ответов: 19
    Последнее: 12.11.2009, 15:43

Ваши права

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