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.