Автоматическая проверка синтезируемости описаний аппаратуры


Автоматическая проверка синтезируемости описаний аппаратуры

Шевцов А.А. (МГУ, Москва, Россия; ИСП РАН, Москва, Россия)
Чуркин Я.А. (ИСП РАН, Москва, Россия)
Бучацкий Р.А. (ИСП РАН, Москва, Россия)
Камкин А.С. (МГУ, Москва, Россия; ИСП РАН, Москва, Россия)
Мельник Д.М. (ИСП РАН, Москва, Россия)

Аннотация

Современное проектирование цифровых СБИС предполагает использование языков описания аппаратуры Verilog и SystemVerilog как для логического синтеза, так и для симуляции, однако не все конструкции этих языков синтезируемы, а множество поддерживаемых конструкций различается между инструментами синтеза. При этом инструменты синтеза не всегда диагностируют несинтезируемые конструкции и могут молча изменять семантику схемы, что приводит к расхождению поведения RTL-модели и синтезированной схемы, а исправление проблем, обнаруженных на поздних этапах маршрута проектирования, требует значительных временных и экономических затрат. В работе описано формирование набора правил синтезируемости для описаний аппаратуры на языках Verilog и SystemVerilog на основе стандарта IEEE/IEC 62142-2005, руководства STARC RTL Design Style Guide и Reuse Methodology Manual, а также опыта коммерческих инструментов: сформулировано 34 правила, охватывающих не используемые при синтезе конструкции, семантику описаний аппаратных элементов и расхождение синтеза и симуляции. В рамках системы статического анализа SVAN реализованы статические детекторы для проверки соответствия исходного кода этим правилам: разработано 10 новых детекторов (SYNTH14–SYNTH23), обновлен 1 существующий (SYNTH13), часть правил покрывается ранее реализованными детекторами системы. Предложен механизм настройки уровня консервативности, позволяющий адаптировать строгость проверок к возможностям конкретного инструмента синтеза, в том числе с применением анализа потока данных; получены рекомендуемые конфигурации детекторов для инструментов синтеза Yosys, Vivado и Genus. Апробация на открытом инструменте Yosys показала, что несинтезируемые конструкции могут обрабатываться им без предупреждений с изменением семантики схемы, что подтверждает практическую значимость раннего статического анализа. Сравнение с коммерческим анализатором SpyGlass выявило конкретные пробелы в его анализе; нарушения правил найдены во всех десяти открытых проектах, на которых запускались детекторы, об одном из нарушений сообщено разработчикам проекта OpenC910.

Ключевые слова

статический анализ; синтезируемость; логический синтез; язык описания и верификации аппаратуры SystemVerilog; язык описания аппаратуры Verilog; язык описания аппаратуры; язык передачи регистров RTL; сверхбольшие интегральные схемы СБИС; системы автоматиза

Издание

Труды Института системного программирования РАН, том 38, вып. 4, часть 2, 2026, стр. 45-66.

ISSN 2220-6426 (Online), ISSN 2079-8156 (Print).

DOI: 10.15514/ISPRAS-2026-38(4)-18

Для цитирования

Шевцов А.А., Чуркин Я.А., Бучацкий Р.А., Камкин А.С., Мельник Д.М. Автоматическая проверка синтезируемости описаний аппаратуры. Труды Института системного программирования РАН, том 38, вып. 4, часть 2, 2026, стр. 45-66. DOI: 10.15514/ISPRAS-2026-38(4)-18.

Полный текст статьи в формате pdf (на английском) Вернуться к содержанию тома