Coder Social home page Coder Social logo

maverick-shark / dvk-fpga_mist Goto Github PK

View Code? Open in Web Editor NEW

This project forked from xolod79/dvk-fpga

0.0 0.0 0.0 19.95 MB

FPGA-Конструктор для сборки эвм ДВК и Электроника-60

License: GNU Affero General Public License v3.0

Shell 0.11% Perl 0.22% C 1.32% Tcl 1.96% Verilog 94.99% SystemVerilog 1.38% Makefile 0.03%

dvk-fpga_mist's Introduction

dvk-fpga

FPGA-версия старых советских микро-ЭВМ ДВК-1, ДВК-2, ДВК-3, Электроника-60

Этот проект является моей попыткой создать FPGA-версию советских микро-ЭВМ, основанных на процессорных ядрах от уважаемого VLSAV, полученных им путем реверса схемы кристаллов. Проект основан на wishbone-версии процессоров. Вся внутренняя шина получившейся схемы - это тоже wishbone, а не асинхронная МПИ. в данный момент реализованы следующие процессорные платы:

Плата Процессор ЭВМ Тактовая частота
МС1201.01 К1801ВМ1 ДВК-1,ДВК-2 100 Мгц
МС1201.02 К1801ВМ2 ДВК-3 100 Мгц
МС1260 М2 (LSI-11) Электроника-60 75 Мгц
МС1280 М4 (LSI-11M) 50 МГц

Как и в оригинальных ЭВМ, на верхнем уровне схемы находится соединительная корзина, в которую вставляется одна процессорная плата и несколько плат периферийных устройств. На данный момент реализованы следующие устройства:

  • ИРПС, контроллер последовательной передачи данных, используется в том числе для подключения консольного терминала
  • ИРПР, контроллер параллельной передачи, для поключения принтера
  • КСМ, терминальный моудль, работает с VGA-мониторами и PS/2 клавиатурой.
  • КГД, графический контроллер, работает в паре с КСМ
  • Контроллер RK11 (RK:) с подключенными у нему 8 дисками RK05
  • Контроллер RK611 (DM:) с подключенными у нему 8 дисками RK07
  • Контроллер HDD RD50C (DW:) в варианте ДВК с подключенным к нему виртуальным HDD объемом 64 Мб.
  • Контроллер RX11 (DX:) с подключенными к нему двумя дисководами RX01 (наш аналог - ГМД70)
  • Контроллер КГД (MY:) с подключенными к нему двумя сдвоенными дисководами НГМД-6121
  • Контроллер синхронной динамической памяти SDRAM
  • ПЗУ эмулятора пульта/загрузчика, аналогичное DEC М9312
  • ПЗУ пользователя размером 8К (в ДВК-1 там размещался резидентный Бейсик или Фокал).

Все дисковые контроллеры хранят свои данные на единой SD-карте, но можно разнести их и по отдельным картам. Карту распределения блоков под дисковые массивы также можно менять как угодно.

Кроме вышеуказанных модулей, в схему можно добавлять и свои самодельные модули с wishbone-интерфейсом.

Проект реализован на FPGA серии Altera Cyclone-4. В полной конфигурации вмещается в EP4CE10, но при отключении части устройств может уместиться даже в младшую EP4CE6. Из аппаратных особенностей этих FPGA используется только PLL и внутренняя память Altsyncram, поэтому проект должен легко портироваться на другие семейства FPGA Altera, и чуть сложнее - на FPGA других производителей. В данную разработку уже заложена возможность создания портов для различных плат, каждый порт в виде самостоятельного проекта хранится в отдельных подкаталогах boards/. Также выполнен порт проекта на плату Sipeed TANG PRIMER, основанной на китайской FPGA EG4S20BG256 фирмы Anlogic.

Эта разработка с середины лета 2020 года успешно трудится в лаборатории в качестве контроллера испытательного стенда и показала полную работоспособность. Все, кому надо заменить устаревшее оборудование, основанное на плате МС1201, МС1260, МС1280,могут доработать схему под свои конкретные нужды.

dvk-fpga_mist's People

Contributors

forth32 avatar xolod79 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.