HDLязыки, или языки описания аппаратуры, широко используются с конца XX века для цифрового моделирования, а также известны как языки, описывающие логику конфигурации программируемых логических интегральных схем. Преимущество языков описания аппаратуры заключается в их модульности, то есть в разбиении сложных проектов на более простые с последующим их объединением в единый проект. Модульность также позволяет быстро выявить и исправить обнаруженные ошибки. Используя все эти преимущества, инженерпроектировщик может не только верифицировать цифровую часть устройства, но и создать прототип цифрового устройства для реализации его в ПЛИС с последующей проверкой его работоспособности и функциональности.
Возможности инженера по моделированию и верификации цифровых частей электроники значительно увеличиваются при использовании модуля Delta Design Simtera. Помимо цифрового моделирования с использованием HDLязыков, у него появляется возможность прототипирования изделия в режиме реального времени. При этом разработчику необходимо лишь один раз создать библиотеку компонентов с цифровыми моделями или же воспользоваться готовой.
Гораздо удобнее, когда в системе проектирования уже заложены инструменты, способные решить данные задачи без дополнительных операций экспорта/импорта изделия в сторонние системы. При этом необходимо понимать, что при переносе проектов данные могут быть потеряны, некорректно загружены или интерпретированы, или же могут отсутствовать модели для проведения верификации. Всех этих недостатков лишена система, изначально имеющая возможности цифрового и аналогового моделирования. Если говорить о цифровом моделировании, то именно модуль Delta Design Simtera решает вопросы по моделированию и верификации цифровой части изделий в САПР проектирования Delta Design. Для моделирования разработчику необходимо лишь однажды позаботиться о наполнении цифровой модели компонентов при создании библиотеки. То есть совместно с созданием УГО (условнографического обозначения) и посадочного места стоит добавить цифровую модель компонента и не беспокоиться о дальнейшем наполнении библиотеки. Введённой информации будет достаточно для проектирования изделий с возможностью их цифрового моделирования и получения документации для производства печатных плат.
Рассмотрим работу системы на примере создания JKтриггера [1], состоящего из логических элементов. Промоделируем работу устройства, а также создадим его прототип на ПЛИС, работающий в режиме реального времени. В примере не будем учитывать и создавать посадочные места для логических элементов, так как данная статья ставит целью описание работы именно цифрового моделирования. Создание же посадочных мест компонента требует отдельного рассмотрения [2].
Описание цифровой модели компонента возможно с помощью языков описания аппаратуры, таких как Verilog и VHDL. В библиотеке уже предусмотрено автоматическое создание шаблона цифрового компонента по пинам условнографического обозначения. Разработчику достаточно лишь задать логику работы изделия. Сделать это довольно просто. Например, для компонента логического «2И» необходимо выходному порту поставить в соответствие выражение «Выход = ВХОД1 AND ВХОД2», где AND – операция конъюнкции (см. рис.1).
В системе также предусмотрены готовые библиотеки цифрового моделирования для большого числа часто используемых компонентов, таких как логика, RAM, ROMпамять, сумматоры, счётчики, мультиплексоры, демультиплексоры и пр. Готовые модели можно использовать при создании собственных компонентов, руководствуясь описанием работы цифровой части из предоставляемых пользователям библиотек.
После создания компонентов «2ИНЕ» и «3ИНЕ» можно перейти к работе над принципиальной схемой. Проектирование схемы происходит в схемотехническом редакторе, знакомом и понятном всем инженерамсхемотехникам. После создания электрической схемы моделирование происходит в два этапа, которые выполняются нажатием двух кнопок: «Генерировать HDLнетлист» и «Запустить моделирование» в графической части системы моделирования. При нажатии первой кнопки происходит создание netlist (списка соединений) цифрового описания в соответствии со схемой. При нажатии второй кнопки запускается непосредственно моделирование.
На рисунках 2–3 представлены соответственно схема в графическом виде и полученный из неё netlist на языке описания аппаратуры, полученный благодаря наличию у каждого из компонентов цифровой модели. На рисунке 4 показаны осциллограммы, полученные в результате моделирования цифровой части изделия.
Генерация HDLпроекта (netlist цифрового проекта) представляется в явном виде в системе неслучайно. HDLпроект можно далее использовать в качестве проекта по прототипированию изделия в режиме реального времени. HDLпроект описывает работу изделия, и для того, чтобы перейти к прототипированию разрабатываемого узла, можно воспользоваться программируемой логической интегральной схемой. ПЛИС – интегральная микросхема, задать желаемую структуру работы которой можно воспользовавшись языками HDL. Именно они и используются в системе цифрового моделирования Delta Design Simtera. Для работы с ПЛИС в системе предусмотрен синтезатор – инструмент, позволяющий переводить исходный HDLкод в базис библиотечных элементов выбранной интегральной схемы. Поддерживаются ПЛИС от Intel, Xilinx, что позволяет подготовить разрабатываемый цифровой модуль для прототипирования в чипах указанных вендоров и убедиться в правильности работы изделия. На рисунке 5 представлен результат конфигурирования логики в ПЛИС Intel (отладочная плата Arria V Starter Kit), в котором отладочные данные выведены на светодиоды, по которым можно судить о правильности работы изделия при внешних управляющих воздействиях (нажатиях на кнопки).
Закончив проект цифрового моделирования, разработчик может не только верифицировать работу цифровой части устройства путём отладки и просмотра данных на ПК, но и создать прототип изделия, сконфигурировав ПЛИС, а также проверить его работу в режиме реального времени. Такие решения доступны благодаря тому, что Delta Design Simtera поддерживает использование HDLязыков. На HDLязыках также возможно описание работы цифроаналоговых узлов, их описание производится на AMS (Analog Mixed Signal) расширениях VHDL и Verilog. В следующих статьях мы расскажем о том, как использовать VerilogAMS для моделирования цифроаналоговых частей устройств в Delta Design Simtera.
Литература
JKтриггер. https://digteh.ru/digital/JK_trigg.php.
Видеоуроки и демонстрации работы. https://www.youtube.com/c/EremexDD/videos.
Если вам понравился материал, кликните значок — вы поможете нам узнать, каким статьям и новостям следует отдавать предпочтение. Если вы хотите обсудить материал —не стесняйтесь оставлять свои комментарии : возможно, они будут полезны другим нашим читателям!

