FPGA Based IBM-PC-XT
Автор создал FPGA-версию IBM PC-XT 1980-х годов с целью запуска EGA-версии Monkey Island 1 со всеми функциями. Проект использует низковольтный NEC V20 CPU (совместимый с Intel 8088) и 1MB SRAM для 640KB памяти. Система включает FPGA board (icesugar-pro с Lattice LFE5U-25F), PS/2 разъемы для клавиатуры и мыши, Micro SD в качестве жесткого диска, YM3014B аудио-конвертер и пьезодинамик. Компоненты спроектированы в EasyEDA и собраны с использованием JLCPCB.
Разработка началась с создания контроллера шины для процессора, который распознает типы циклов и управляет данными. Первым тестом была простая программа мигания светодиода, загруженная в FPGA. Позже автор установил виртуальную копию BIOS и создал базовый CGA адаптер для видео, что позволило протестировать SRAM интерфейс и периферийные устройства. Текущая реализация поддерживает чтение и запись в память, с видео-паменью, доступной одновременно для CPU и VGA генератора.
Комментарии (44)
- Проект представляет собой FPGA-реализацию чипсета IBM PC/XT, использующего подлинные чипы V20, 1 МБ SRAM и контроллер флоппи-дисковода, что делает его уникальной вещью в контексте эмуляторов на FPGA.
- Участники обсуждали, что отсутствие звука винта в современных эмуляторах упускает важную часть ностальгического опыта, и что этот проект воплощает в себе идею "железного" подхода к эмуляции старых систем.
- Обсуждались вопросы лицензирования и открытости проекта, и автор выразил желание сделать его как можно более открытым.
- Участники делились воспоминаниями о своем первом ПК и обсуждали влияние проекта на сообщество.
- Было отмечено, что проект в целом является результатом итеративного улучшения и вдохновлен множеством других проектов в открытом доступе.
Clavier: An FPGA-based mechanical keyboard with USB hub and comms interfaces
Проект Clavier представляет собой механическую клавиатуру на базе FPGA, которая интегрирует USB-хаб и различные интерфейсы связи. Это позволяет не только набирать текст, но и подключать периферийные устройства напрямую через клавиатуру, что упрощает организацию рабочего пространства и снижает нагрузку на порты компьютера.
Использование FPGA обеспечивает гибкость в настройке и кастомизации, включая программирование клавиш, макросов и поддержку специализированных протоколов. Такой подход открывает возможности для экспериментов с аппаратным обеспечением и создания уникальных конфигураций под конкретные задачи.
Комментарии (31)
- Обсуждаются технические особенности FPGA-клавиатуры: выбор чипа (Lattice LFE5U-25F), его стоимость, причины отсутствия USB 3.0 и преимущества параллельной обработки сигналов без мультиплексирования.
- Участники спорят о целесообразности использования FPGA вместо микроконтроллера, отмечая сложность реализации сложной логики (макросы, слои) на VHDL против простоты QMK.
- Поднимаются вопросы безопасности: риски короткого замыкания из-за открытых контактов и сложность пайки BGA-компонентов.
- Обсуждаются инструменты проектирования: сравнение OpenSCAD и FreeCAD, а также альтернативы типа Cypress PSOC с упоминанием проблем с ПО.
- Затрагивается концептуальная идея проекта: создание чисто аппаратной, механической клавиатуры с минимальной задержкой и отсылками к телетайпам.