Altifigence добавляет поддержку Google XLS в Digital Design Studio

От замысла аппаратной схемы, выраженного на DSLX, — к реализации на RTL.

Разделы статьи

Altifigence добавила поддержку Google XLS в Digital Design Studio. Теперь пользователи могут описывать функции аппаратной схемы на DSLX и с помощью XLS преобразовывать их в синтезируемый RTL. Это обновление добавляет в Digital Design Studio возможность начинать проектирование с высокоуровневого кода и оценивать варианты реализации.

Что такое Google XLS?

Google XLS — это инструмент синтеза с открытым исходным кодом, предназначенный для реализации высокоуровневого описания вычислений в виде цифровых схем. Он преобразует проект на DSLX в промежуточное представление IR, а затем выполняет оптимизацию и планирование операций и генерирует Verilog или SystemVerilog. Таким образом, XLS связывает код, описывающий функциональность, с аппаратной реализацией. Официальная документация Google XLS

DSLX — это язык, позволяющий явно задавать типы данных и разрядность, необходимые для аппаратной схемы. Разработчик может конкретизировать требуемое поведение, описав в коде входы и выходы, правила вычислений и представление данных. Затем можно изучать результаты реализации и вносить изменения в проект. Официальная документация DSLX

От описания функций к организации конвейера

При проектировании аппаратуры одна и та же функция может иметь разные реализации в зависимости от организации вычислений и конвейера. Планировщик XLS распределяет операции по стадиям конвейера с учётом зависимостей между операциями и временных ограничений. Задавая такие условия, как целевой период тактового сигнала или число стадий конвейера, можно оценивать соотношение между задержкой и количеством используемых регистров. Документация по планированию операций в XLS

Такой подход полезен при сравнении вариантов проекта. Сначала можно описать нужную функциональность, а затем менять структуру вычислений или условия реализации и изучать результаты, постепенно выбирая вариант, соответствующий требованиям. Сгенерированный RTL впоследствии оценивается с учётом реальных условий на этапах синтеза, верификации и физической реализации.

Пример проектирования вычислительного блока

Рассмотрим вычислительный блок, который умножает несколько входных значений на весовые коэффициенты и складывает результаты. Для него нужно определить разрядность и знаковость входных данных, диапазон выходных значений и способ обработки переполнения, а затем выразить это на DSLX. Подготовка тестовых входных данных и ожидаемых выходных значений также помогает предметно проверить функциональность.

Далее XLS генерирует RTL, выполняя преобразование, оптимизацию и планирование операций. Если требования меняются, можно скорректировать высокоуровневое описание или условия реализации и рассмотреть другие варианты. Этот пример иллюстрирует подход к проектированию с использованием XLS; фактические производительность и площадь зависят от самого проекта и условий последующей реализации.

От кода, написанного с помощью ИИ, к аппаратной реализации

ИИ можно использовать, чтобы конкретизировать требования к проекту в коде, рассмотреть типы данных и граничные условия, а также подготовить тестовые входные данные. XLS связывает подготовленное и доработанное таким образом высокоуровневое описание с RTL. Разработчик может совершенствовать реализацию, проверяя соответствие задуманной функциональности и сгенерированных результатов.

Altifigence также поддерживает модель ChatGPT GPT-6 Astra. Главное в этом обновлении — поддержка Google XLS, которая позволяет связать написание и анализ кода с помощью ИИ с процессом высокоуровневого проектирования аппаратуры.

Начните работу в Digital Design Studio

Поддержка Google XLS расширяет возможности проектирования в Digital Design Studio. Наряду с написанием RTL теперь можно выбрать подход, при котором нужная функциональность описывается на DSLX и затем развивается в аппаратную реализацию.

Начните проектирование аппаратуры на основе Google XLS в Digital Design Studio.