ГОСТ Р 71267-2024
НАЦИОНАЛЬНЫЙ СТАНДАРТ РОССИЙСКОЙ ФЕДЕРАЦИИ
Системы автоматизированного проектирования электроники
МАРШРУТ ПРОЕКТИРОВАНИЯ И ВЕРИФИКАЦИИ ПРОГРАММИРУЕМЫХ ЛОГИЧЕСКИХ ИНТЕГРАЛЬНЫХ СХЕМ
Electronics automated design systems. Design and verification flow for field programmable gate arrays (FPGA)
ОКС 31.020
29.100.01
Дата введения 2024-04-01
Предисловие
1 РАЗРАБОТАН Обществом с ограниченной ответственностью "Научно-исследовательский институт "АСОНИКА" (ООО "НИИ "АСОНИКА"), Обществом с ограниченной ответственностью "Платформ" (ООО "Платформ") и Обществом с ограниченной ответственностью "ПСБ Софтвер" (ООО "ПСБ Софтвер")
2 ВНЕСЕН Техническим комитетом по стандартизации ТК 165 "Системы автоматизированного проектирования электроники"
3 УТВЕРЖДЕН И ВВЕДЕН В ДЕЙСТВИЕ Приказом Федерального агентства по техническому регулированию и метрологии от 29 февраля 2024 г. № 262-ст
4 ВВЕДЕН ВПЕРВЫЕ
Правила применения настоящего стандарта установлены в статье 26 Федерального закона от 29 июня 2015 г. № 162-ФЗ "О стандартизации в Российской Федерации". Информация об изменениях к настоящему стандарту публикуется в ежегодном (по состоянию на 1 января текущего года) информационном указателе "Национальные стандарты", а официальный текст изменений и поправок - в ежемесячном информационном указателе "Национальные стандарты". В случае пересмотра (замены) или отмены настоящего стандарта соответствующее уведомление будет опубликовано в ближайшем выпуске ежемесячного информационного указателя "Национальные стандарты". Соответствующая информация, уведомление и тексты размещаются также в информационной системе общего пользования - на официальном сайте Федерального агентства по техническому регулированию и метрологии в сети Интернет (www.rst.gov.ru)
Введение
Причиной разработки стандарта является необходимость стандартизации процесса проектирования программируемых логических интегральных схем (ПЛИС) в составе электронной аппаратуры.
Стандарт распространяется на весь маршрут проектирования кода, который загружается в программируемую логическую интегральную схему и задает алгоритм ее функционирования в составе электронной аппаратуры (ЭА), а также проведение виртуальных испытаний, процедур оптимизации, выбор оптимального решения, верификации на соответствие требованиям технического задания и устойчивость к воздействию нештатных ситуаций, с применением автоматизированных систем проектирования и моделирования ПЛИС. Его цель - автоматизация процесса разработки ПЛИС с помощью логических схем, машин состояний, кода на языках описания аппаратуры, верификация проектов ПЛИС с применением математического моделирования и снижение затрат на разработку, производство и обслуживание ЭА за счет повышения качества разработок и скорости проектирования.
Разнообразие типов ПЛИС на рынке крайне велико, имеются системы проектирования, ориентированные на работу с конкретными типами ПЛИС или микросхемами производства конкретных вендоров, но ни одна автоматизированная система проектирования не сможет удовлетворить потребности всех разработчиков и решение всех задач. Однако на рынке существуют достаточно универсальные решения, содержащие множество специализированных программных инструментов и позволяющие организациям-разработчикам выстроить оптимальный и при этом унифицированный маршрут проектирования ПЛИС, в том числе на основе рекомендаций данного стандарта.
1 Область применения
1.1 Настоящий стандарт предназначен для применения предприятиями промышленности и организациями при использовании электронных систем проектирования и верификации ПЛИС. Особенности устройства и функционирования ПЛИС требуют применения интегрированных систем, содержащих в своем составе инструменты разработки загружаемого в ПЛИС кода, определяющего функционирование ПЛИС в составе аппаратуры. Такие системы проектирования и верификации ПЛИС позволяют создавать и моделировать проект, загружаемый в ПЛИС, с использованием принципиальных электрических схем, схем машин состояний, а также языков описания аппаратуры на уровне регистровых передач (RTL languages).
1.2 Системы проектирования и верификации ПЛИС применяются при проектировании ЭА и электронной компонентной базы (ЭКБ) следующего назначения: для оборонно-промышленного комплекса, для аэрокосмической отрасли, для судостроения, медицины, автомобильной отрасли, для навигации и радиолокации, потребительской электроники, для связи (телекоммуникации), для систем безопасности, для автоматизированного транспорта и движущейся робототехники.
1.3 Моделирование ПЛИС не может полностью заменить натурные испытания, однако может дополнить их и позволить получить данные, которые сложно и иногда даже невозможно получить методом натурных испытаний.
1.4 Важной характеристикой при выборе САПР для проектирования и верификации ПЛИС является возможность и качество ее интеграции с другими применяемыми в организации САПР, в том числе с САПР ПП.
1.5 Настоящий стандарт базируется на [1].
2 Нормативные ссылки
В настоящем стандарте использована нормативная ссылка на следующий стандарт:
ГОСТ 15.016 Система разработки и постановки продукции на производство. Техническое задание. Требования к содержанию и оформлению
Примечание - При пользовании настоящим стандартом целесообразно проверить действие ссылочных стандартов в информационной системе общего пользования на официальном сайте Федерального агентства по техническому регулированию и метрологии в сети Интернет или по ежегодному информационному указателю "Национальные стандарты", который опубликован по состоянию на 1 января текущего года, и по выпускам ежемесячного информационного указателя "Национальные стандарты" за текущий год. Если заменен ссылочный стандарт, на который дана недатированная ссылка, то рекомендуется использовать действующую версию этого стандарта с учетом всех внесенных в данную версию изменений. Если заменен ссылочный стандарт, на который дана датированная ссылка, то рекомендуется использовать версию этого стандарта с указанным выше годом утверждения (принятия). Если после утверждения настоящего стандарта в ссылочный стандарт, на который дана датированная ссылка, внесено изменение, затрагивающее положение, на которое дана ссылка, то это положение рекомендуется применять без учета данного изменения. Если ссылочный стандарт отменен без замены, то положение, в котором дана ссылка на него, рекомендуется применять в части, не затрагивающей эту ссылку.
3 Термины, определения и сокращения
3.1 Термины и определения
В настоящем стандарте применены термины по ГОСТ 15.016, а также следующие термины с соответствующими определениями:
3.1.1 электроника: Электронная аппаратура и входящая в ее состав электронная компонентная база.
3.1.2 виртуальные испытания электроники: Воспроизведение на компьютере с помощью математического моделирования условий натурных испытаний или реальных условий эксплуатации электроники в соответствии с техническим заданием на разработку электроники.
3.1.3 печатный узел: Печатная плата с установленными на ней электрорадиоэлементами (конденсаторами, резисторами, интегральными схемами и т.д.), в совокупности выполняющая определенные электронные функции и взаимодействующая с другими печатными узлами в составе электронной аппаратуры через соединяющие элементы.
3.1.4 система автоматизированного проектирования электроники в части виртуальных испытаний; САПР электроники ВИ: Составная часть системы автоматизированного проектирования электроники, предназначенная для автоматизированного схемотехнического и конструкторского моделирования и виртуальных испытаний электроники.
3.2 В настоящем стандарте применены следующие сокращения:
ВИ - виртуальные испытания;
ИС - интегральная схема;
МИС - монолитная интегральная схема;
НИОКР - научно-исследовательские и опытно-конструкторские работы;
ПЛИС - программируемая логическая интегральная схема;
ПП - печатная плата;
ПУ - печатный узел - печатная плата с установленными на ней ЭРЭ (конденсаторами, резисторами, ИС и т.д.);
САПР - система автоматизированного проектирования;
ТЗ - техническое задание;
ЭА - электронная аппаратура;
ЭУ - электронный узел (может являться функциональной частью печатного узла либо, наоборот, совокупность нескольких печатных узлов, объединенных единым функциональным назначением);
ЭКБ - электронная компонентная база;
ЭРЭ - электрорадиоэлемент.
4 Общие положения
4.1 Целью разработки настоящего стандарта является установление требований к автоматизированному процессу проектирования ПЛИС и проведения виртуальных испытаний (ВИ).
Для достижения поставленной цели в стандарте устанавлены следующие единые требования:
к порядку и виду проводимых работ, в совокупности составляющих целостный унифицированный маршрут проектирования ЭУ;
к составу виртуальных испытаний, по результатам которых выдается заключение о корректности проекта ПЛИС с точки зрения соответствия требованиям ТЗ в части функционирования в штатном режиме и устойчивости к нештатным ситуациям.
4.2 Организация работ по применению систем автоматизированного проектирования и моделирования ПЛИС.
В зависимости от выбранного типа ПЛИС и производителя ПЛИС разработчики могут выбирать различные САПР, ориентированные на эти конкретные ПЛИС. Однако более перспективным представляется применение универсальных САПР, поддерживающих библиотеки ПЛИС разных вендоров - тем самым снижается привязка к конкретному производителю и конкретному типу ПЛИС, что повышает гибкость предприятия и снижает возможные затраты на перенос проектов на новые типы ПЛИС.
5 Этапы проектирования и верификации ПЛИС
5.1 Маршрут проектирования
На языке описания аппаратуры (HDL) и/или с помощью логической схемы разработчик описывает поведение или структуру разрабатываемого устройства, затем с помощью моделирования проверяет код и избавляется от ошибок в нем, после чего синтезирует проект для конкретной ПЛИС и реализует свой проект в кристалле микросхемы программируемой логики.
5.2 Типовая последовательность работы пользователя с проектом в САПР начинается с создания нового проекта и ввода различных его частей, содержащих код описания аппаратуры или схемотехническое описание аппаратуры, или описание в виде машин состояний.
5.3 Этап создания схемотехнического описания в схемном редакторе может состоять из следующих шагов:
5.3.1 Первый шаг: необходимо найти в библиотеке и разместить на чертеже схемы графические изображения нужных элементов.
5.3.2 Второй шаг: элементы схемы необходимо соединить связями, представляющими передачу сигналов, в соответствии с функциональным назначением данной части.
5.3.3 Третий шаг: линиям связи схемы надо назначить имена. В простых схемах этот шаг можно пропустить. Однако если пользователь собирается контролировать сигналы на внутренних цепях, надо присвоить им осмысленные названия. Тогда их станет легче находить.
5.3.4 Четвертый шаг: выполнить электрический контроль схемы. Эта процедура весьма полезна, если у разработчика остаются сомнения относительно правильности нарисованной схемы. Система должна не только проинформировать о числе ошибок и предупреждений, но и показать те места на схеме, где они обнаружены.
5.3.5 Пятый шаг: графическое описание проекта в виде схемы (или диаграммы состояний цифрового автомата) должно быть автоматически конвертировано в текстовое описание (например, в формат языка VHDL).
5.3.6 Если проект изначально представлен в виде текста на языке описания аппаратуры, процедура его создания и модификации состоит в редактировании текста, с использованием специальных автоматизирующих возможностей и библиотечных функций САПР, что позволяет существенно упростить и ускорить работу над проектом.
5.4 Когда все необходимые части проекта подготовлены, необходимо выполнить в САПР ПЛИС его компиляцию. Успешная компиляция позволяет приступить к моделированию, а в случае неудачи разработчик должен найти проблемные места в проекте и устранить их, чтобы добиться успешного выполнения этапа компиляции.
5.5 Перед тем, как перейти к этапу моделирования, разработчик должен выполнить подготовительные действия, в частности, задать временные диаграммы внешних воздействий. Как правило, их задают в специальном окне редактора сигналов САПР в графическом виде, либо с помощью программного кода на языках описания внешних воздействий, в которые заложены специальные возможности автоматизации испытательных стендов (таких как VHDL/Verilog/C/SystemC, SystemVerilog) и массивов данных. Также разработчик должен определить, какие выходные и внутренние сигналы проекта необходимо анализировать в процессе моделирования.
5.6 Симулятор, входящий в состав САПР ПЛИС, как правило, позволяет настроить все необходимые параметры моделирования, такие как шаг моделирования, временной интервал для процесса моделирования, перечень планируемых событий в процессе моделирования и определение реакции симулятора на каждое событие, а также применять принудительный останов моделирования по команде разработчика или по достижению определенных условий.
5.7 Процедура задания внешних воздействий
Прежде чем начать моделирование схемы, загруженной в ПЛИС, следует определить сигналы на ее входах. Обычно внешние воздействия задаются несколькими способами:
с помощью виртуальных генераторов сигналов, называемых стимулами или стимуляторами;
для сложных проверочных тестов - с использованием языков VHDL, Verilog, SystemC, SystemVerilog (создание испытательных стендов - Test Bench);
с вводом команд в систему из командной строки;
с применением существующих или рисованием новых временных диаграмм в графическом редакторе.
Большинство разработчиков цифровой аппаратуры предпочитают моделировать свои проекты, ориентируясь на временные диаграммы, то есть описания сигналов в графической форме (waveform). Кому-то больше нравится текстовое описание сигналов на языках описания аппаратуры (испытательные векторы - test vectors). Однако для оптимальной верификации проекта требуются и те, и другие способы описания.
5.8 Результаты моделирования могут быть визуализированы в графическом редакторе просмотра диаграмм, а также сохранены в файле для последующего анализа или для использования при генерации внешних воздействий на дальнейших этапах моделирования или верификации ПЛИС.
5.9 Ниже приведены рекомендуемые функции САПР ПЛИС, которые можно включить в типовой маршрут верификации и которые позволяют повысить эффективность процесса проведения виртуальных испытаний, то есть моделирования и верификации ПЛИС.
5.9.1 Моделирование смешанных проектов, включающих описания на языках VHDL, Verilog, списки цепей в формате EDIF и модели SystemC. Встроенные интерфейсы моделирования, которые позволяют дополнительно использовать поведенческие модели на языках C/C++/Handel-C, функциональные модели SWIFT, модели памяти Denali, а также встроенные и М-функции системы Matlab.
5.9.2 Механизм совместного моделирования, который дает возможность подключить к САПР ПЛИС систему Matlab/Simulink компании Mathworks для верификации аппаратных блоков в их системном окружении. Моделирование может проводиться в интерактивном, фоновом и регрессивном режимах. Для формирования заданий и управления процессом моделирования используется встроенный язык макро-команд САПР, а также языки Tcl/Tk, Perl и VisualBasic. Специализированные редакторы с функциями сравнения временных диаграмм значительно упрощают анализ результатов.
5.9.3 Генератор тестовых воздействий, который руководит последовательностью действий инженера в диалоговом режиме и создает шаблон теста. Один и тот же тест может использоваться на любом уровне абстракций (поведенческом, уровне регистровых передач или временном). Возможна также генерация тестов из графических временных диаграмм или диаграмм автоматов конечных состояний. Набор инструментов отладки может включать: встроенный отладчик С-кода; трассировку кодов VHDL/Verilog и диаграмм автоматов состояний; просмотр и редактирование (внесения временных значений для отладки) текущих состояний сигналов, переменных, процессов и состояний памяти; просмотр стека вызовов подпрограмм; анализ потоков данных; анализ тестового покрытия; профилирование проекта.
5.9.4 Средства кросс-отладки сигналов позволяют не только отслеживать правильность временных диаграмм сигнала в нужных точках проекта, но и обеспечивают переход из редактора диаграмм к соответствующему элементу исходного описания (HDL-текст, блок-диаграммы). Помогает в отладке и верификации возможность организации в заданных внутренних точках дополнительного анализа событий для автоматического выявления ошибочных и сомнительных ситуаций. Для больших проектов и в случае возможности заранее провести моделирование удобна отладка в отложенном режиме. В таком режиме разработчик использует в процессе отладки заранее подготовленные данные, не затрачивая времени на ожидание отклика системы моделирования.
5.9.5 В процессе моделирования также можно генерировать графическое представление потоков данных в модели, которое позволяет исследовать связность модели и провести анализ обмена данными между любыми ее объектами (компонентами, регистрами, сигналами, операторами). Визуализация путей распространения сигнала с помощью диаграмм потоков данных позволяет легче определить потенциальные источники ошибок на внутренних сигналах.
5.9.6 С помощью профилирования проекта можно получить информацию о времени моделирования каждого оператора, процесса и блока, определить и провести оптимизацию наиболее критичных фрагментов. Средства анализа тестового покрытия, интегрированные в ядро моделирования, помогают разработчику выявить те части проекта, которые не были задействованы во время выполнения теста. Данные можно получить как по тестовому покрытию строк кода, так и по переключениям, а также по интегральному покрытию на множестве тестов.
Приложение А
(справочное)
Пример системы автоматизированного проектирования и верификации ПЛИС - САПР Active-HDL[2]
Одним из самых популярных инструментов для проектирования и верификации ПЛИС заслуженно считается программный продукт Active-HDL производства компании ALDEC. Этот инструмент постоянно обновляется и имеет простой, доступный для понимания интерфейс.
Инструмент Active-HDL является автоматизированной программной системой, позволяющей провести разработку проекта ПЛИС в составе ЭА, создать код проекта на основе электрической схемы, схемы цифрового автомата и/или кода на языке описания аппаратуры (VHDL или Verilog), провести виртуальные испытания проекта ПЛИС и выполнить верификацию проекта.
Инструмент Active-HDL предоставляет разработчикам ПЛИС редактор для создания проекта на языке RTL, симулятор смешанного RTL-кода, который включает в себя: подтвержденный использованием в промышленности механизм мультиязычного моделирования на языках IEEE VHDL, Verilog® и SystemVerilog (Design), с ускорением до двух раз относительно штатных симуляторов, поставляемых вместе с ПЛИС Xilinx или Intel (Altera), а также поддержку закодированных IP-ядер и отсутствие ограничения на размеры устройства FPGA. Используя Active-HDL, команда разработчиков ПЛИС может в разы ускорить процесс разработки прошивок для ПЛИС по сравнению с использованием только штатных симуляторов от Xilinx, Altera или Atmel.
Основные возможности Active-HDL
Языки:
поддержка мульти-язычных проектов ПЛИС;
VHDL IEEE 1076 (1987, 1993, 2002 и 2008);
Verilog® HDL IEEE 1364 (1995, 2001 и 2005);
SystemVerilog IEEE 1800™ (Design).
Отладка:
интерактивная трассировка выполнения кода;
продвинутое управление точками останова;
просмотр памяти;
отладка FSM;
просмотр формы сигнала;
множественные окна просмотра сигналов;
управление формой входных сигналов.
Закодированные IP-ядра:
поддержка SecurelP;
поддержка IEEE VHDL и Verilog IP.
Поддержка проектов любого размера
Инструменты проектирования HDL:
редактор языка HDL, текстов, блок-схем и машины состояний;
языковой помощник с шаблонами и автоподстановкой текста;
иерархический просмотр с поддержкой конфигураций;
поддержка скриптов Macro, Tcl/TK, Perl;
прекомпилированные библиотеки от поставщиков FPGA.
Управление проектами:
менеджер управления маршрутом проекта для всех типов FPGA;
управление версиями;
рабочее пространство и архивирование проектов.
Библиография
[1] | Шалумов А.С. Дорожная карта развития "САПР электроники выше мирового уровня". - Ковров: ООО "НИИ "АСОНИКА", 2020. - 24 с. - Режим доступа: https://asonika-online.ru/news/432/ |
[2] | Шалагинов А. Изучаем Active-HDL 7.1 // Компоненты и технологии. - 2009. - № 3 |
УДК 621.865:8:007.52:006.354 | ОКС 31.020 29.100.01 |
Ключевые слова: система автоматизированного проектирования, программируемые, логические, интегральные схемы, маршрут проектирования, электронная аппаратура |