Статическая верификация проектов (линтинг)

ALINT-PRO™ решает задачу верификации RTL-кода, написанного на языках VHDL, Verilog или SystemVerilog. В центре внимания:
• соблюдение стандартов по оформлению кода и соглашений об именах,
• несоответствия между результатами симуляции до и после синтеза модели;
• оптимальность синтеза,
• корректность описания конечных автоматов (FSM),
• устранение потенциальных проблем на следующих этапах проектирования,
• корректность проектирования деревьев тактовых сигналов и сигналов сброса,
• пересечение тактовых доменов (CDC), доменов асинхронного сброса (RDC),
• проектирование с ориентацией на тестопригодность (DFT),
• переносимость и возможность повторного использования кода.
Статический анализ RTL-описания и проектных ограничений (SDC™) позволяет выявлять критические проблемы на начальной стадии проектирования устройства, избегая значительных временных затрат. Запуск ALINT-PRO™ в преддверии симуляции RTL-кода и логического синтеза предотвращает проникновение ошибок на последующие стадии проектирования и снижает количество итераций, необходимых для завершения проекта.

Единая среда для проверки правил проектирования и CDC/RDC анализа

ALINT-PRO™ представляет собой интуитивно понятную среду, обеспечивающую эффективный анализ проектов, в том числе предусмотрены: графическое представление RTL-схем (RTL Schematic Viewer) и распространения тактовых сигналов и сигналов сброса (Control Schematics Viewer); визуальное отображение деревьев тактовых сигналов и сигналов сброса (Clocks and Resets Viewer) и иерархии проекта (Elaboration Viewer); окно для отображения результатов линтинга (Violation Viewer). Также в состав ALINT-PRO™ входят специальные инструменты для CDC/RDC анализа (CDC Viewer, RDC Viewer, CDC Schematics).
Подготовка уже существующих проектов к анализу в среде не требует больших усилий: ALINT-PRO™ поддерживает различные форматы проектных файлов (таких как Aldec Active-HDL, Aldec Riviera-PRO, Xilinx Vivado, Xilinx ISE, Intel Quartus). Кроме того, можно использовать типовые симуляционные сценарии (в частности, команды наподобие vcom, vlog, vsim, vlib), списки файлов для пакетной обработки или специальный мастер импорта.

Используемые методики линтинга

В ALINT-PRO™ реализованы две различные методики линтинга: полный линтинг (full linting) и модульный линтинг (unit linting). Они дополняют друг друга и, обычно, применяются на различных стадиях проектирования.
В ходе полного линтинга анализируется иерархия проекта в целом, передаются конкретные значения настраиваемых параметров (generics) от верхнего уровня иерархии до листовых модулей. Также применяются заданные пользователем временные ограничения. Такой подход является традиционным для инструментов статического анализа. Он часто используется на завершающих стадиях проектирования или при верификации проекта в целом как уже интегрированной системы. Методика предусматривает проверку тактовых и сигналов сброса, а также анализ тестопригодности. При этом предполагается, что весь или, по крайней мере, большая часть проверяемого проекта уже реализована.
Модульный линтинг – относительно новый подход, хорошо сочетаемый с режимом “плоского развертывания” (flat elaboration). В этом режиме каждый HDL-модуль рассматривается независимо от других модулей, а для настраиваемых параметров используются значения по умолчанию. Данный режим позволяет не учитывать пока отсутствующие элементы проекта (например, еще нереализованные части иерархической структуры) и особенно привлекателен для обработки файлов с исходным кодом независимо от других файлов, или отдельных файлов, в которые недавно были внесены изменения. Таким образом, большинство важных правил проверяется на ранней стадии проектирования, практически сразу после написания кода. То есть, цикл обратной связи сокращается от нескольких дней или недель до нескольких секунд. Модульный линтинг находит естественное применение в сочетании с редакторами HDL-кода, работая в фоновом режиме. Эта возможность предусмотрена в последних версиях продуктов компании ALDEC – Active-HDL™ и Riviera-PRO™ – и HDL-редакторах некоторых других производителей.
Модульный линтинг не исключает традиционного полного линтинга, поскольку при объединении независимых модулей в единое целое может возникнуть ряд дополнительных проблем. Однако, регулярное применение модульного линтинга помогает существенно снизить объем верификации на завершающих этапах проекта.

Поддержка производителей ПЛИС (FPGA)

Для проверки в ALINT-PRO™ проектов с использованием ПЛИС таких производителей, как Xilinx®, Intel (Altera®), Microsemi™ (Actel) и Lattice®, необходимы лишь минимальные усилия по настройке. Предварительно собранные актуальные версии библиотек примитивов от производителей устанавливаются с продуктом по умолчанию. Библиотеки сконфигурированы для углубленного контроля временных характеристик и проверки правил CDC.

Работа в пакетном режиме

Основные функции ALINT-PRO™ могут быть реализованы с применением TCL-сценариев. Сценарии могут применяться для автоматизации проверки правил, часто повторяющихся наборов настроек параметров, генерирования отчетов. Выполнение сценариев возможно в интерактивной консольной оболочке продукта или в полностью автоматическом режиме. ALINT-PRO™ способен выполнять наиболее типовые сценарии ввода проекта и его линтинга в полностью пакетном режиме единым обращением к приложению из командной строки. Поэтому он идеально подходит для внедрения в более крупную среду регрессионного тестирования и системы непрерывной интеграции, такие как, Jenkins.

Библиотеки правил ALINT-PRO™

ALINT-PRO™ включает библиотеки правил, основанные на руководствах по проектированию STARC (Semiconductor Technology Academic Research Center) и RMM (Reuse Methodology Manual), тем самым используя передовой опыт проектирования, накопленный мировыми компаниями-производителями полупроводников. Для проектов с повышенным уровнем безопасности, ALDEC предоставляет библиотеки, основанные на руководствах стандарта DO-254 и нацеленные на анализ аспектов, критически важных для надежности устройств.
Перечисленные библиотеки дополняются библиотеками правил Aldec Basic и Premium, в которых отражен собственный опыт ALDEC по проектированию схем FPGA и ASIC и рекомендации пользователей ALINT-PRO™ по предотвращению серьезных ошибок при разработке крупных промышленных проектов. Библиотека правил ALDEC SV нацелена на новое множество RTL ошибок, совершаемых при проектировании на языке SystemVerilog.
Библиотека правил ALDEC_CDC превращает ALINT-PRO™ в функционально полную систему для CDC и RDC-верификации. ALINT-PRO™ выполняет комплексный анализ пересечений тактовых доменов и доменов асинхронного сброса, и выявляет переходы, потенциально вызывающие метастабильность в современных проектах с большим количеством сигналов управления. Стратегия верификации в ALINT-PRO™ включает в себя три ключевых составляющих: статическую структурную верификацию, задание проектных ограничений, а также динамическую функциональную верификацию. Первые два шага выполняются в ALINT-PRO™, в то время как динамическая функциональная верификация проводится при помощи интеграции с симуляторами (поддерживаются Riviera-PRO™, Active-HDL™ и ModelSim®), на основе автоматически сгенерированных HDL-файлов тестового окружения. Такой подход выявляет потенциальные проблемы метастабильности в ходе RTL-симуляции, которые, в противном случае, потребовали бы лабораторных испытаний для обнаружения. Отладка проблем, связанных с CDC и RDC, осуществляется с использованием мощных графических инструментов, навигации по HDL-коду, развернутых отчетов и TCL API, который позволяет просматривать результаты синтеза, деревья сигналов сброса и синхросигналов, пересечения их доменов и синхронизаторы.

Основные функции:

• Анализ распространения тактовых сигналов и сигналов сброса
• Устранение несоответствия между результатами симуляции RTL-кода и пост-синтез симуляции,
• Проверка корректности описания конечных автоматов
• Переносимость и возможность повторного использования кода
• Верификация пересечений доменов тактовых сигналов и сигналов сброса
• Схематическое представление результатов (Schematic Viewer)
• Анализ тестопригодности (DFT)
• Поддержка проектных ограничений SDC™
• Расширенный синтаксис проектных ограничений для описания IP-блоков
• Фоновый и пакетный режимы выполнения

Close Menu