Библиотека
Материалы к курсу — от первого провода до ассемблера.
Содержание
- Гайды по уровням — пошаговые прохождения 47 заданий
- Руководства по компонентам — даташиты всех элементов
- Статьи по схемотехнике — теория и концепции
- Verilog / Программирование железа — цикл статей «От кода к кремнию»
- Для преподавателей — методические материалы для внедрения курса
- Программа курса — таймлайн 47 уровней: задание, сложность, время и результат
- Схемотехника: с чего начать — хаб по теме: предмет, четыре навыка, маршрут на 47 уровней и книги
Гайды по уровням
Пошаговые описания заданий и решений для каждого из 47 уровней.
- 1. Да будет свет!
- 2. Отрицание
- 3. Идеальная пара
- 4. Хотя бы один
- 5. Строгий выбор
- 6. Полусумматор
- 7. Сумматор
- 8. 8-битный Сумматор
- 9. Перекрёсток
- 10. Замыкание
- 11. Умный запоминатель
- 12. Осязаемая память
- 13. Выбор операции
- 14. Сердце математики
- 15. Пульс системы
- 16. Счётчик команд
- 17. Анатомия дешифратора
- 18. ФИНАЛ: Компьютер Ершова
- 19. Шаг вперёд (PC+2)
- 20. Двойное чтение
- 21. Указатели
- 22. Конфликт на шине
- 23. Геймпад
- 24. Ручной пиксель
- 25. Проверка на минус
- 26. Бросок кубика
- 27. Hello, Ports!
- 28. Движущаяся точка
- 29. ФИНАЛ: Змейка
- 30. Hello, Wire!
- 31. Управление потоком (MUX)
- 32. Первое вычисление
- 33. Масштабирование схем
- 34. Переход к шинам данных
- 35. Центр вычислений (АЛУ)
- 36. ALU
- 37. Память и Время
- 38. Шаг за шагом
- 39. Оперативная память
- 40. Сердце процессора
- 41. Анатомия системы
- 42. Рентген для кремния
- 43. Остановка времени
- 44. Мозг процессора
- 45. Своя инструкция
- 46. Окно в реальный мир
- 47. Материализация
Руководства по компонентам
Все компоненты с изображениями — на одной странице →
Базовая логика
- Input (Вход) — источник сигнала, переключается кликом
- Output (Выход) — выходной порт схемы, проверка тестом
- NAND (И-НЕ) — универсальный логический элемент, таблица истинности
- NOT (Инвертор) — простейший логический элемент, инверсия сигнала
- AND (И) — логическое умножение, маскирование битов
- OR (ИЛИ) — логическое сложение, объединение условий
- XOR (Искл. ИЛИ) — контрольный инвертор, основа сумматоров
- NOR (ИЛИ-НЕ) — основа RS-триггеров, универсальный элемент
Арифметика и маршрутизация
- Half Adder — полусумматор, сложение двух битов
- Full Adder — полный сумматор, ripple-carry цепочка
- ADDER8 — 8-битный сумматор, награда уровня 8
- ALU8 — 8 операций: ADD, SUB, AND, OR, XOR, NOT, SHL, SHR
- MUX (2→1) — мультиплексор, цифровой переключатель
- BusMUX — шинный мультиплексор, выбор целого байта
- Splitter — разделитель шины на 8 битов
- Maker — сборщик 8 битов в шину
- BusInput — 8-битный вход, значение ползунком 0–255
- BusOutput — 8-битный выход, десятичный индикатор
- BusConstant — константа на шине, маски и адреса
- BusNOT — побитовое НЕ, дополнение до 255
- BusAND — побитовое И, защита от конфликтов на шине
- BusOR — побитовое ИЛИ, установка битов
- BusXOR — побитовое XOR, сравнение и toggle
- BusSHL — сдвиг влево, умножение на 2
- BusSHR — сдвиг вправо, деление на 2
- BusZero — детектор нуля на шине
Память и состояние
- DFF (D-триггер) — запоминание бита по фронту Clock
- Register8 — 8-битный регистр, аккумулятор процессора
- IndexRegister (IX) — индексный регистр, косвенная адресация
- RAM (256 байт) — оперативная память, чтение и запись
- ROM (256 байт) — постоянная память, хранение программы
Периферия (Memory-Mapped I/O)
- MatrixDisplay 16×16 — матричный дисплей, порты 0xFC/0xFD/0xFF
- Gamepad — 4-кнопочный геймпад, порт 0xFE
- LFSR (ГСЧ) — генератор случайных чисел, порт 0xFA
- LED8 — светодиодная линейка, визуализация байта
- Manual Clock — ручной тактовый генератор
Процессор и управление
- Clock — тактовый генератор, синхронизация схем
- Display — дисплей dec/bin/hex, отладка
- ProgramCounter — счётчик команд, +Inc за такт
- Decoder — дешифратор команд, 9 управляющих сигналов
- Decoder V2 — дешифратор команд V2: JZ/JN раздельно, WE аккумулятора, 12 сигналов
- AddrDecoder — дешифратор адреса, RAM vs I/O
- Ассемблер — архитектура, система команд, синтаксис, отладка
Статьи по схемотехнике
- Введение в схемотехнику
- Как устроен компьютер: гид для школьников и родителей
- Как работает процессор: от транзистора до программы
- 0 и 1: На каком языке говорят машины
- От транзистора к вентилю — как рождается логика
- Логические вентили И, ИЛИ, НЕ
- Законы де Моргана: Как собрать схему из того, что есть
- Исключающее ИЛИ (XOR)
- От таблицы истинности к схеме: СДНФ и СКНФ
- Минимизация логики: карты Карно
- Полином Жегалкина: любая булева функция одной формулой
- Двоичная математика для начинающих
- Шестнадцатеричная система счисления
- Дополнительный код: отрицательные числа
- Как компьютер хранит текст: ASCII и UTF-8
- Анатомия сумматора
- Информационные магистрали (Шины)
- Мультиплексор: электронный стрелочник
- АЛУ: Сердце математики
- Магия обратной связи
- Тактовый генератор и D-триггер
- Регистры: первый байт памяти
- Гарвардская архитектура: Разделяй и властвуй
- Счётчик команд (Program Counter)
- Дешифратор инструкций: Переводчик процессора
- Конфликты на шине и адресное пространство
- Memory-Mapped I/O: Гениальный обман процессора
- Флаги состояния: Как процессор понимает мир
- Битовые операции и маски
- Ассемблер: самый честный язык программирования
- Как выучить ассемблер с нуля: 15 команд и учебный эмулятор
- Указатели и индексные регистры (IX)
- Ветвления и циклы (JZ, JN, JMP)
- Временна́я диаграмма: как читать поведение схемы
- Задержка распространения: почему сигналы опаздывают
- «Искусство схемотехники»: Хоровиц и Хилл — разбор книги: что внутри и в каком порядке читать
- Книги по схемотехнике: пять учебников по логике и цифровым схемам
- Инженер-схемотехник: кто это, чем занимается и как им стать
- Архитектура RISC-V: открытый стандарт процессора простыми словами
- Сколько транзисторов в процессоре: от 2300 до 20 миллиардов
- Как читать принципиальную схему: символы, сети и типичные ошибки
- Комбинационная и последовательная логика: в чём разница
- Логические уровни: TTL и CMOS, почему 5 В и 3,3 В нельзя соединять напрямую
- Setup и hold: почему метастабильность нельзя исправить
- FPGA, ASIC или микроконтроллер: как выбрать под задачу
Для преподавателей
Методические материалы для внедрения курса «Компьютер Ершова» в учебную программу.
- Ершов и «Программирование — вторая грамотность» — почему курс носит это имя
- Методическое руководство — философия курса, аппаратная платформа, отладка, финальный проект
- Презентация проекта — питч для администрации школы: ценность, результаты, профориентация
- Ershov Board — Техническое задание — компонентная база, pin-mapping, шелкография, Ershov Loader
- Программа курса — таймлайн 47 уровней: задание, сложность, время и измеримый результат каждого
Verilog / Программирование железа
Цикл статей «От кода к кремнию» — о том, как писать на Verilog и создавать собственную аппаратуру.
- Кремний вместо кода: почему Verilog — это не программирование
- Verilog для начинающих: первый модуль за 15 минут
- Как железо принимает решения (Жизнь без if/else)
- Учим кремний математике (Секрет символа «+»)
- Иерархия: как не утонуть в проводах
- Шины данных: от отдельных битов к байтам
- АЛУ: Сердце вашего процессора
- Verilog: память и время — триггеры, регистры, RAM
- Tang Nano 9K: от ZIP до платы — путь проекта в реальное железо
Инструменты и разделы
Онлайн-инструменты для практики и тематические хабы.
- Симулятор логических схем — бесплатный онлайн-симулятор: 47 уровней от провода до процессора
- Генератор таблиц истинности — полная таблица по любой булевой формуле
- Конвертер систем счисления — двоичная, десятичная и шестнадцатеричная системы
- Калькулятор булевых функций — СДНФ, СКНФ, полином Жегалкина, минимизация и карта Карно
- Хаб «Verilog и FPGA» — с чего начать: статьи, гайд уровня 47, плата Ershov Board
- Сравнение с другими проектами — NandGame, Turing Complete, Nand2Tetris