DekatronPC эмулятор: различия между версиями

Материал из DekatronPC
Строка 32: Строка 32:
* Впоследствии, программные блоки реализуются физически и замещают программные блоки. В итоге при наличии эмулятора компьютер всегда работает.
* Впоследствии, программные блоки реализуются физически и замещают программные блоки. В итоге при наличии эмулятора компьютер всегда работает.
* Данный подход позволяет своевременно находить аппаратные проблемы и устранять их.
* Данный подход позволяет своевременно находить аппаратные проблемы и устранять их.
== Блок индикации ==
[[Файл:Эмулятор лицевая 1.jpg|600px|без]]


== Прогресс ==
== Прогресс ==

Версия 11:12, 12 мая 2021

Описание

Проект по созданию эмулятора лампового компьютера на ПЛИС. Аппаратная часть сделана на базе отладочной платы Altera De0 Nano и дисплея МС6205

Цель проекта

  • На ПЛИС создается полная копия будущей ламповой машины. которая позволяет упростить процесс разработки микроархитектуры лампового компьютера, а также отладить взяимодействие всех ключевых элементов.
  • Укрупненные блоки:
    • Блок счетчика IP - 6 декатронов, работающих в восьмеричной системе. Счетчик умеет делать +1 и -1, а также,
      • При сигнале IP_READY=1 - на выходе счетчика его текущее значение.
      • Можно сбросить счетчики в нуль.
      • Максимальное число 0777777 - или 263143. для 7 декатронов - 07777777 или 2097151
    • Блок памяти программ
    • Блок декодера инструкций
    • Блок счетчика Loop на базе двух декатронов умеет считать +1 и -1 от 0 до 99 в десятичном режиме.
      • При сигнале LOOP_READY=1 разрешается считать состояние сигнала LOOP_ZERO
      • Сигнал LOOP_ZERO=1 показывает что счетчик пуст
      • Сигнал LOOP_OVERFLOW=1 показывает, что счетчик переполнился - критическое состояние, вызывает SYSTEM_HALT
    • Блок счетчика AP - 5 декатронов, работающих в восьмеричной системе. Счетчик умеет делать +1 и -1
      • При сигнале AP_READY=1 - на выходе счетчика его текущее значение
      • Сигнал MEMORY_LOCK=1 - означает, что данные по данному адресу выгружены в счетчик данных и перед изменением состояния счетчика их необходимо записать обратно. Запрещает операции +1 и -1.
      • Максимальное число 077777 - или 32767.
    • Блок памяти данных
    • Блок счетчика данных - 3 декатрона в восьмеричной системе. Счетчик умеет делать +1 и -1, а также в него можно записать новые данные извне
      • При сигнале DATA_READY=1 - декатроны находятся в устойчивом состоянии
      • Сигнал MEMORY_LOCK=0 означает, что данных в счетчике еще нет и перед операциями +1 и -1 необходимо прочитать данные из ОЗУ
    • Блок ввода/вывода
  • Впоследствии, программные блоки реализуются физически и замещают программные блоки. В итоге при наличии эмулятора компьютер всегда работает.
  • Данный подход позволяет своевременно находить аппаратные проблемы и устранять их.

Блок индикации

Эмулятор лицевая 1.jpg


Прогресс

  • С апреля потихоньку пилится модель компьютера с помощью System Verilog.
    • Реализована модель декатронного счетчика
  • (15/11/2020) Заказал корпус 5U 360мм глубиной.
  • Рисую схему блока индикации. Представляет собой дисплей мс6205, блок индикаторов ИН12 и клавиатуру.


Ссылки