Skip to content
УМК «Ядро-74»

УМК «Ядро-74» — от NAND до Тетриса

Честная рамка и родословная

Программа стоит на плечах трёх известных источников и не скрывает этого: курс Nand2Tetris (Нисан, Шокен) — идея «компьютер снизу вверх до работающей игры»; игра Turing Complete — тренажёр логики с мгновенной обратной связью; 8-битный компьютер Бена Итера — референс физической сборки на 74-й серии. Новизна «Ядра-74» — не в схеме, а в продукте: серийный отечественный комплект + полная методика (цели, оценивание, дифференциация 5–11 кл., измеряемые результаты) + три технологические линии в одной системе команд: макетка на 74HC ↔ отладка через RP2350 ↔ двойник на ПЛИС. Ни у одного из прототипов такого методического и отладочного контура нет.

Паспорт программы

ПараметрЗначение
АудиторияСмешанная 5–11 кл.: 🟢 уроки труда (М0–М9 выборочно, сборка и проверка), 🟡 индивидуальный трек 8–9 кл. (проектирование, пайка, ассемблер), 🔴 индивидуальный трек 10–11 кл. (микрокод, ПЛИС, Verilog, олимпиадная связка)
Аутентичная задачаПостроить работающий компьютер собственной архитектуры (макетка + ПЛИС-двойник), написать для него ассемблер и Тетрис; защитить на конференции; конвертировать базу в НТО/ВсОШ
Объём21 модуль × 3–6 занятий × 60–90 мин (полный цикл ≈ 90–110 ч; входить можно с любого модуля своей линии)
Оборудование74HC-серия (+КР1533-альтернативы), макетные платы, БП 5 В ≤200 мА, осциллограф/логический пробник, RP2350 (монитор шины, программатор RAM/EEPROM), ПЛИС Tang Primer 25K (Gowin GW5A), Python 3, симулятор Digital, игра Turing Complete (опционально), Gowin EDA / открытый тулчейн, Icarus Verilog + GTKWave
ОграниченияТолько 5 В и 3,3 В (ПЛИС!); пайка с 8 кл. под надзором; лицензии: материалы nand2tetris — CC BY-NC-SA (для класса пригодны), Turing Complete — платная игра, закладывается как опция
Источники анализаШаблон и «Основы педдизайна» гл. 1–7 (файлы проекта); регламенты олимпиад — загрузить для финальной калибровки 🔴-заданий

Сквозная архитектура: система команд Я74-ISA v1

Все линии программы реализуют одну учебную архитектуру (аккумуляторная, вдохновлена SAP-1/Итером, расширена до 256 байт RAM):

  • Регистры: A (аккумулятор), B (операнд), IR (команда), PC (счётчик команд), MAR (адрес), OUT (вывод); флаги C, Z.
  • Команда = 2 байта: код операции + операнд/адрес.
МнемоникаКодДействие
NOP0x00ничего
LDA addr0x01A ← RAM[addr]
ADD addr0x02A ← A + RAM[addr], флаги
SUB addr0x03A ← A − RAM[addr], флаги
STA addr0x04RAM[addr] ← A
LDI imm0x05A ← imm
JMP addr0x06PC ← addr
JC addr0x07если C=1: PC ← addr
JZ addr0x08если Z=1: PC ← addr
OUT0x0EOUT ← A
HLT0x0Fстоп такта

Одна ISA — три реализации: микрокод на макетке (М11–М13), эмулятор на Python (М14), Verilog на ПЛИС (М17). Это главный методический ход программы: обучающийся трижды встречает одно и то же на разных уровнях абстракции — интервальный возврат, встроенный в саму архитектуру курса.

Карта программы (21 модуль)

    flowchart TB
    subgraph L1["Линия А: железо 74-й серии"]
        M0["М0 Биты и тренажёры"] --> M1["М1 NAND-универсальность"]
        M1 --> M2["М2 Дешифраторы, MUX, 7-сегм."]
        M2 --> M3["М3 Сумматор"]
        M3 --> M4["М4 АЛУ: доп. код, флаги"]
        M4 --> M5["М5 Триггеры и дребезг"]
        M5 --> M6["М6 Тактирование"]
        M6 --> M7["М7 Регистры и шина"]
        M7 --> M8["М8 Счётчик команд"]
        M8 --> M9["М9 Память SRAM"]
    end
    subgraph L2["Линия Б: отладка и софт"]
        M10["М10 RP2350: монитор и программатор"]
        M11["М11 УУ-I: конечные автоматы"]
        M12["М12 УУ-II: микрокод в EEPROM"]
        M13["М13 Интеграция CPU"]
        M14["М14 Ассемблер на Python"]
    end
    subgraph L3["Линия В: ПЛИС Tang Primer 25K"]
        M15["М15 Первый Verilog"]
        M16["М16 АЛУ и регистры в Verilog"]
        M17["М17 CPU на ПЛИС + UART"]
        M18["М18 Видеовывод"]
        M19["М19 ТЕТРИС"]
    end
    M9 --> M10 --> M11 --> M12 --> M13 --> M14 --> M15 --> M16 --> M17 --> M18 --> M19
    M19 --> M20["М20 Защита, олимпиады, методичка учителя"]
  

Пик сложности (Такман, активная фаза) — М11–М13 и М17; шторм ожидаем на М5 (первая «нечестная» схема: дребезг и метастабильность ломают интуицию) и на М15 (смена парадигмы: HDL — не программирование). SSDL: М0–М4 — инструктаж и worked examples; М5–М12 — фасилитация (спецификация вместо схемы); М13–М19 — делегирование (обучающийся ведёт проект, наставник консультирует); М20 — консультант на защите.

Уровневые маршруты через программу

Все модули

Линия А — железо 74-й серии: М0 Биты · М1 NAND · М2 Дешифраторы и MUX · М3 Сумматор · М4 АЛУ · М5 Триггеры · М6 Тактирование · М7 Регистры и шина · М8 Счётчик команд · М9 Память SRAM

Линия Б — отладка и софт: М10 RP2350 · М11 УУ-I: автоматы · М12 УУ-II: микрокод · М13 Интеграция CPU · М14 Ассемблер

Линия В — ПЛИС Tang Primer 25K: М15 Первый Verilog · М16 АЛУ в Verilog · М17 CPU на ПЛИС · М18 Видеовывод · М19 Тетрис

Завершение и методический контур: М20 Защита и олимпиады · Диагностика и данные · Пакет учителя · BOM комплекта

Предпосылки модулей (для входа с середины)

Паспорт обещает «входить можно с любого модуля своей линии», но граф выше линеен. Обещание корректно только при выполненных предпосылках — вот они явно:

Вход вМинимально необходимоЧто можно пропустить
М4 (АЛУ)М1 (XOR), М3 (сумматор, перенос)М0, М2 — при уверенном счёте в двоичной системе
М7 (регистры)М5 (триггеры), М6 (такт)М2–М4, если узлы берутся готовыми из фонда
М10 (RP2350)М9 (SRAM), базовый Pythonвсю арифметическую ветвь — монитор шины от неё не зависит
М12 (микрокод)М11 (автоматы), М7 (шина)— предпосылки жёсткие
М14 (ассемблер)М12 (система команд), Pythonмакеточную сборку: эмулятор работает без железа
М15 (ПЛИС)ничего из линий А и Бвсю линию А — HDL начинается с чистого листа
М17 (CPU на ПЛИС)М15, М16, знание Я74-ISAмакетку целиком, если цель — только ПЛИС-двойник
М15 — законная точка входа «с нуля». Линия В опирается на систему команд, а не на макетку: Я74-ISA описана на этой странице, и её достаточно. Поэтому 🔴-трек с ПЛИС можно начинать, не собрав ни одной платы на 74HC — правда, тогда теряется главный методический ход программы (одна ISA на трёх уровнях абстракции), и это стоит проговорить с обучающимся.

Компонентная стратегия (суверенитет + современность)

ФункцияОсновнойОтечественная альтернативаСовременный резерв
Вентили74HC00/02/04/08/32/86КР1533ЛА3/ЛЕ1/ЛН1/ЛИ1/ЛЛ1/ЛП574HCT (при смешении с 5-В TTL-уровнями)
Сумматор74HC283КР1533ИМ6сборка из вентилей (учебно ценна)
Регистры/буферы74HC173, 74HC245, 74HC377КР1533ИР37, АП6
Счётчики74HC161КР1533ИЕ10
RAMSRAM 32K×8 (62256-класс)FRAM (энергонезависимость, без стирания)
Микрокодпараллельная EEPROM 28C256NOR-flash SST39SF010A (дешевле, живее в продаже)
Отладка/прошивкаRP2350 (PIO: пассивный монитор шины + программатор RAM/EEPROM)любой RP2040 как fallback
ПЛИСTang Primer 25K (Gowin GW5A-25)(следить за отечественными ПЛИС-инициативами)Tang Nano 20K как бюджетный дубль
Электрическая совместимость линий — источник №1 сгоревших плат: 74HC питается от 5 В, входы/выходы ПЛИС — 3,3 В и не толерантны к 5 В. Любая стыковка макетки с Tang Primer — только через преобразователь уровней (резистивный делитель для медленных сигналов, TXS0108E/74LVC245 для шин). Это правило повторяется warning-блоком в каждом ПЛИС-модуле.

Оценивание программы (рамка)

  • Каждый модуль: входной retrieval-квиз, практикум с чек-листом, мини-защита или дебаг-кейс — по шаблону, средство соответствует уровню цели.
  • Межмодульные кумулятивные точки: после М4 (арифметика), М9 (тракт данных), М13 (пробный «тур»: оживить CPU с заложенными 3 неисправностями за 45 мин), М17 (кросс-проверка: программа из М14 без изменений исполняется на ПЛИС), М19 (демонстрация Тетриса + стресс-тест жюри).
  • Итог программы: защита по рубрике М20 + пре/пост-тест по архитектуре ЭВМ (доказательная база для грантов и педсекции).

Данные и итерация

Метрики: доля узлов «с первого чек-листа»; обращения к наставнику/занятие (кривая самостоятельности SSDL — ожидаем спад после М7); баллы кумулятивных точек; тепловая карта проседающих модулей; сравнение протоколов дебага топ-30/боттом-30. Журнал BOM: отказы и замены компонентов по партиям. После каждого запуска — правки в модули с фиксацией «что изменили и почему».