Рентгеновская матрица научилась выпускать с кристалла только Bragg-пики
Дифракционный эксперимент часто ждёт от изображения вовсе не изображение. Ему нужны координаты и форма нескольких ярких островков — Bragg-пиков, по которым затем восстанавливают структуру и деформации материала. Всё вокруг этих островков обычно превращается в огромный транзитный груз: матрица считывает полный кадр, интерфейс выносит его с сенсора, компьютер ищет связные области, после чего большая часть данных исчезает.
В препринте arXiv:2608.18970 предложена архитектура, которая меняет место этого решения. Она принимает строки матрицы 192×168 пикселей, одновременно складывает поток в буфер и ищет превышения порога. Обнаруженный пик возвращает наружу фиксированный участок 11×11 пикселей. Полная рамка остаётся внутри системы, если её не потребовал буферный механизм; по внешнему каналу идут координаты событий и их маленькие patches.
Самая изящная часть работы — отказ от обычной маркировки связных компонент. Для неё аппаратуре нужны метки, таблицы эквивалентности и разрешение конфликтов между областями, которые встретились при сканировании изображения. Вместо глобальной бухгалтерии авторы запускают клеточный автомат. Каждый бинарный пиксель смотрит только на своё окружение Moore 3×3, а информация о кластере распространяется через цепочку одинаковых локальных стадий. Для пиков размером до 10×10 пикселей выбраны 11 итераций. Автомат оставляет центр события, включая отдельную обработку чётных кластеров, где центральная пара могла бы исчезнуть одновременно.
Такой алгоритм хорошо ложится на железо именно потому, что в нём нет поиска по большой памяти и глобального состояния. Систолическая структура развёрнута в размер матрицы на число итераций: данные текут через повторяющиеся ячейки, а не ждут завершения общего анализа кадра. RTL peak finder физически реализовали на AMD Alveo V80: Vivado закрыл timing при периоде 10 нс, критический путь составил 3.133 нс. Это проверка блока поиска пиков с тестовой обвязкой; SRAM-буфер и извлечение patches на этой FPGA не воспроизводились целиком.
Для ASIC авторы приводят результаты синтеза, а не измерения изготовленного кристалла. В 28-нм CMOS архитектуре приписана работа на 1.0 Мкадр/с с площадью 0.64 мм². В 130 нм прогноз составляет 0.535 Мкадр/с при 31.78 мм². Контраст между ними показывает, где спрятана цена идеи: 24 SRAM-макроса, держащие четыре полных кадра, занимают 82.8% площади в 28 нм и 94.9% в 130 нм. Локальная CA-логика дешёва; хранение полного потока, нужное для последующего чтения фрагмента, съедает почти весь кристалл.
Есть и честное ограничение, которое особенно важно для реального эксперимента. Извлечение идёт по одному patch за раз, а выходная FIFO хранит восемь координат. При плотном ливне событий очередь может переполниться, следующие patches будут потеряны, а счётчик лишь зафиксирует потерю. Поэтому мегагерцовая частота кадров описывает способность прогонять строки через конвейер, но не обещает без потерь пережить произвольную плотность дифракционных пятен.
Проверка на FF-HEDM-данных нержавеющей стали 304L показывает, что для выбранного набора и последующей MIDAS-реконструкции подход почти не меняет итог. Аппаратный вариант выдал 121367 patches против 122296 у software-CCL, разница составила 0.76%; реконструкция нашла 980 и 978 зёрен соответственно. Это пока не доказательство универсальности для любой рентгеновской матрицы и любого порога. Но идея уже выглядит как правильный ответ на конфликт скоростей: сенсор давно умеет видеть быстрее, чем система умеет выносить бессмысленные пиксели наружу. Значит, у матрицы появляется новая работа — решить, что вообще заслуживает стать данными.