Вступление

Это набор для тех, кто хочет дальше: продолжение бесплатной «Фрактальной машины» из серии «Основы железа». В нём схема из транзисторов считает с дробными числами и сама рисует три знаменитых фрактала на трёх экранах 128 × 128: треугольник Серпинского, папоротник Барнсли и множество Мандельброта, которое тумблер превращает в множества Жюлиа.

Внутри:

  • экран 128 × 128 — семибитные счётчики и развёртка;
  • дробные числа — фиксированная запятая, сложение и вычитание;
  • умножитель целиком — 14 × 14 бит со знаком, за один такт;
  • папоротник Барнсли — случай, ПЗУ коэффициентов и четыре умножителя;
  • множество Мандельброта — z = z² + c для каждой точки, до 32 повторов;
  • множества Жюлиа — тумблер J и 28 тумблеров числа c: каждое положение — свой мир.

Сколько это

Это самый большой из наших наборов: итоговая машина — 106 610 транзисторов и 9 резисторов. В «Фрактальной машине» было три тысячи. Сборка займёт несколько вечеров и потребует внимания: в умножителе 14 одинаковых строк по 43 ноги, в уроке 6 — 59 перецепок. Повторяющиеся части удобно вставлять готовыми — у каждого урока есть вставка Cmd+I; руками стоит собрать по одному разу то, что объясняет урок, — строку умножителя, столбец ПЗУ, проверку «убежала».

В каждом уроке есть врезка ⚠ Частая ошибка — это ошибки, которые на самом деле случились при сборке этой машины. Ни одна из них не видна сразу: схема работает, но рисует не то. Поэтому после каждого урока — проверка по таблице.

Что нужно

Вентили NOT, AND, OR, NOR, XOR и триггер DFF из «Фрактальной машины» (уроки 0 и 1) — она бесплатная. Остальное собираем здесь.

Что получится

Шесть уроков: экран 128 × 128 → дробные числа → умножитель → папоротник Барнсли → множество Мандельброта → множества Жюлиа. В конце три экрана рисуют рядом, каждый своим способом, и это видно по скорости: папоротник проступает за секунды, треугольник — за кадр, Мандельброт — точка за точкой, как на домашних компьютерах 80-х.