Micro80_on_FPGA — это проект по реализации ретрокомпьютера «Микро 80» на FPGA (ПЛИС). В качестве центрального процессора используется HDL-модель КР580ВМ80А от vslav (GitHub). Видео выводится через HDMI в разрешении 1024×768 (цветной и монохромный режимы).
Выбор типа памяти: условная компиляция (закомментировать/раскомментировать строки 'define SRAM и 'define SDRAM в файлах micro80.v и programmer.v).
Архитектура и память
| Компонент | Реализация |
|---|---|
| Видеопамять | 2×2048 байт (символы и атрибуты), двухпортовая блочная RAM FPGA |
| Знакогенератор | 4096 байт, блочная ROM FPGA. Режим 64×32 символа (8×10 пикселей), программно ограничено 25 строками |
| ОЗУ/ПЗУ | SDRAM или SRAM (8-битная шина, ≥128 КБ). Реализована дополнительная ОЗУ на 48 КБ |
| SPI Flash | Прошивка монитора и CP/M хранятся во флеш-памяти 25-й серии, при старте переписываются в SDRAM/SRAM |
Выбор типа памяти: условная компиляция (закомментировать/раскомментировать строки 'define SRAM и 'define SDRAM в файлах micro80.v и programmer.v).
Программное обеспечение
| ПО | Описание |
|---|---|
| Монитор | Доработанная версия (не оригинальная 1983 г.) |
| CP/M | Доработанная версия |
| BASIC | Интерпретатор записан в дополнительное ОЗУ, запускается командой G 0000 (или G0) из монитора. Важно: перед использованием BASIC введите NEW. |
| Шрифт | 8×10 (из репозитория Алексея Морозова) |
Клавиатура
| Тип | Описание |
|---|---|
| PS/2 клавиатура | Работает нестабильно (возможны залипания) |
| USB клавиатура | Через переходник на «Black pill» (STM32F411CEU) |
Поддерживаемые ПЛИС
| Производитель | Семейство |
|---|---|
| Altera (Intel) | Cyclone IV, Cyclone 10LP |
| Gowin | TangNano 9k |
| Xilinx | Spartan 6, Artix 7 |
Прошивка SPI Flash
Для прошивки SPI Flash 25-й серии без программатора и без снятия флешки с платы можно использовать проект автора: UART_SpiFlash_Programmer_on_FPGA.Источники
- HDL-модель КР580ВМ80А: https://github.com/1801BM1/vm80a
- Доработанные прошивки «Монитор», CP/M и шрифт 8×10: https://github.com/alemorf/retro_computers
Файлы для загрузки
| Название файла / Папка | Описание | GitHub | Yandex.Диск |
|---|---|---|---|
| Micro80 (папка) | Файлы проектов для FPGA Altera, Gowin и Xilinx (HDL + IP-блоки) | Ссылка на GitHub | Ссылка на Яндекс.Диск |
| USB_Keyboard (папка) | Переходник для USB-клавиатуры на «Black pill» (STM32F411CEU) | Ссылка на GitHub | Ссылка на Яндекс.Диск |
| firmware (папка) | Прошивки монитора, CP/M и шрифта (из репозитория alemarf) | Ссылка на GitHub | Ссылка на Яндекс.Диск |
| Скачать все файлы | Все файлы находятся в одном архиве | Ссылка на GitHub | Ссылка на Яндекс.Диск |
Полезные ссылки проекта:
- HDL-модель КР580ВМ80А (vslav) — https://github.com/1801BM1/vm80a
- Доработанные прошивки и шрифт (Алексей Морозов) — https://github.com/alemorf/retro_computers
- UART SpiFlash Programmer на FPGA — https://github.com/AndrejChoo/UART_SpiFlash_Programmer_on_FPGA
- Репозиторий проекта — GitHub