486Tang – 486 on a credit-card-sized FPGA board
486Tang — 486 на FPGA размером с банковскую карту.
Вчера выложил на GitHub 486Tang v0.1: порт ядра ao486 (MiSTer) на китайскую Tang Console 138K. Первый запуск x86 вне Altera.
Архитектура
- SDRAM вместо DDR3: 16-бит, читаем по 32 бита за такт (2× частота).
- IDE на SD: BIOS, VGA-BIOS, CMOS и IDENTIFY в первых 128 КБ карты; загрузчик FPGA читает их сам.
- DDR3 отдана только фреймбуферу.
Отладка
- Verilator: загрузка до DOS за минуту, полные вейвформы.
- Bochs-BIOS пишет в порт 0x8888; вывод в терминал симулятора и UART.
- Флаги
--sound,--ideдля быстрого трассирования подсистем. - 90 % багов — новый «клей»; пара сломалась из-за странного поведения синтезатора Gowin.
Производительность
Из коробки — 25 МГц 386-уровня.
Ускоряли:
- Разбили сеть сброса (5 000 фан-аут → репликация вручную).
- Укоротили путь выборки: в
decoder_regs.vвынесли расчётconsume_countиз критического пути, добавив регистр. - Проверяли изменения тестом test386.asm.
Цель — 33 МГц 486DX2.
Комментарии (51)
- Проект реализует 486 на FPGA с DDR3-памятью; автор признаёт, что эпохе соответствовали бы FPM/EDO, но SDRAM проще синхронизировать.
- Логики занято 44 %, BRAM — 59 %, место для периферии ещё есть.
- «Живые» 486-совместимые чипы сейчас — Vortex86, устаревшие Quark, Eden; китайские «586»-SoC пока редки.
- DDR3 имеет минимальную частоту, поэтому для ретро-проектов её приходится подстраивать, в отличие от старой SDRAM.
- Сообщество мечтает о кредито-карточной плате в корпусе Amiga-600, способной запускать DOOM и, теоретически, HL1.
Tiny-tpu: A minimal tensor processing unit (TPU), inspired by Google's TPU
tiny-tpu — минималистичный тензорный процессор, вдохновлённый Google TPU v1/v2.
Цель: дать студентам и исследователям открытый, понятный RTL-код для изучения архитектуры TPU без закрытых деталей Google.
Основное
- Ядро:
rtl/,sim/,fpga/— SystemVerilog, тесты, PYNQ-образ. - Производительность: 8×8 систолическая матрица, 32-бит INT, 200 МГц на Artix-7.
- Поток данных: команды DMA → веса/активации → вычислительный массив → аккумуляторы → DRAM.
- Инструменты: Verilator, Vivado, Python-библиотека для генерации инструкций.
Быстрый старт
git clone https://github.com/tiny-tpu-v2/tiny-tpu.git
cd tiny-tpu
make sim # симуляция
make fpga # битстрим для PYNQ-Z2
Примеры
examples/mnist/— инференс MNIST за 3 мс.examples/resnet/— слой ResNet-18 (пока симуляция).
Лицензия
MIT.
Комментарии (13)
- Участники мечтают о «3D-принтере для кремниевых чипов», но большинство считает это нано-технологией, недоступной домашнему пользователю.
- Как промежуточный шаг упоминается TinyTapeout: онлайн-заказ микрочипов по стандартному процессу за сотни долларов.
- Кто-то спрашивает, сколько TPU нужно для запуска Gemini 2.5 Flash/Pro для одного пользователя и можно ли купить PCIe-карту с 4 TPU и 8 слотами ОЗУ за $5 000.
- Отдельная ветка хвалит красивую SVG-анимацию на сайте, предполагая, что это слоистые экспорты из Excalidraw.