УМК «Ядро-74» — от NAND до Тетриса
Честная рамка и родословная
Паспорт программы
| Параметр | Значение |
|---|---|
| Аудитория | Смешанная 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 байта: код операции + операнд/адрес.
| Мнемоника | Код | Действие |
|---|---|---|
| NOP | 0x00 | ничего |
| LDA addr | 0x01 | A ← RAM[addr] |
| ADD addr | 0x02 | A ← A + RAM[addr], флаги |
| SUB addr | 0x03 | A ← A − RAM[addr], флаги |
| STA addr | 0x04 | RAM[addr] ← A |
| LDI imm | 0x05 | A ← imm |
| JMP addr | 0x06 | PC ← addr |
| JC addr | 0x07 | если C=1: PC ← addr |
| JZ addr | 0x08 | если Z=1: PC ← addr |
| OUT | 0x0E | OUT ← A |
| HLT | 0x0F | стоп такта |
Одна 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 | макетку целиком, если цель — только ПЛИС-двойник |
Компонентная стратегия (суверенитет + современность)
| Функция | Основной | Отечественная альтернатива | Современный резерв |
|---|---|---|---|
| Вентили | 74HC00/02/04/08/32/86 | КР1533ЛА3/ЛЕ1/ЛН1/ЛИ1/ЛЛ1/ЛП5 | 74HCT (при смешении с 5-В TTL-уровнями) |
| Сумматор | 74HC283 | КР1533ИМ6 | сборка из вентилей (учебно ценна) |
| Регистры/буферы | 74HC173, 74HC245, 74HC377 | КР1533ИР37, АП6 | — |
| Счётчики | 74HC161 | КР1533ИЕ10 | — |
| RAM | SRAM 32K×8 (62256-класс) | — | FRAM (энергонезависимость, без стирания) |
| Микрокод | параллельная EEPROM 28C256 | — | NOR-flash SST39SF010A (дешевле, живее в продаже) |
| Отладка/прошивка | RP2350 (PIO: пассивный монитор шины + программатор RAM/EEPROM) | — | любой RP2040 как fallback |
| ПЛИС | Tang Primer 25K (Gowin GW5A-25) | (следить за отечественными ПЛИС-инициативами) | Tang Nano 20K как бюджетный дубль |
Оценивание программы (рамка)
- Каждый модуль: входной retrieval-квиз, практикум с чек-листом, мини-защита или дебаг-кейс — по шаблону, средство соответствует уровню цели.
- Межмодульные кумулятивные точки: после М4 (арифметика), М9 (тракт данных), М13 (пробный «тур»: оживить CPU с заложенными 3 неисправностями за 45 мин), М17 (кросс-проверка: программа из М14 без изменений исполняется на ПЛИС), М19 (демонстрация Тетриса + стресс-тест жюри).
- Итог программы: защита по рубрике М20 + пре/пост-тест по архитектуре ЭВМ (доказательная база для грантов и педсекции).
Данные и итерация
Метрики: доля узлов «с первого чек-листа»; обращения к наставнику/занятие (кривая самостоятельности SSDL — ожидаем спад после М7); баллы кумулятивных точек; тепловая карта проседающих модулей; сравнение протоколов дебага топ-30/боттом-30. Журнал BOM: отказы и замены компонентов по партиям. После каждого запуска — правки в модули с фиксацией «что изменили и почему».