Сравнение систем цифрового моделирования электронной аппаратуры

Материал опубликован в журнале СОВРЕМЕННАЯ ЭЛЕКТРОНИКА № 4/2023

Это вторая статья из анонсированной нами серии статей по работе с отечественной системой цифрового моделирования, в которой она сравнивается с системами-аналогами по функциональности и быстродействию.

Предисловие

Уважаемые читатели, коллеги. Это вторая статья из серии статей по работе с отечественной системой цифрового моделирования, в которой сравнивается её работа с системами-аналогами.

Введение

Под системами цифрового моделирования (СЦМОД) в статье подразумеваются системы проектирования, реализующие стандартные языки описания аппаратуры VHDL и Verilog/SystemVerilog [1]. Они являются важной частью систем автоматизации проектирования интегральных схем (СБИС) и программируемых интегральных схем (ПЛИС) [2]. Основная масса СЦМОД создана фирмами США. Разработка таких систем является весьма сложной задачей. Например, трудоёмкость создания САПР ПЛИС Vivado, одной из компонентов которой является СЦМОД Xsim, оценивается в 1000 человеко-лет, а стоимость разработки САПР в 200 миллионов долларов [3]. Созданный российской компанией ЭРЕМЕКС САПР Delta Design [2, 4] с включённой в неё СЦМОД Simtera [5, 6] относится к первым отечественным ласточкам в области импортозамещения в данной области.

Сравнение систем цифрового моделирования

Сравнение характеристик СЦМОД в некотором смысле подобно поиску ответа на вопросы типа «кто сильнее – кит или слон?». Но всё же оно позволяет дать определённые рекомендации пользователям, определить тенденции развития и показать плюсы и минусы конкретных продуктов. Конечно, возникает вопрос: «А судьи кто?» В своё время один из авторов данной статьи работал в Силиконовой долине США в фирме SEVA, основателями которой были председатель комитета по разработке языка VHDL Ларри Саундерс (Larry Saunders) и один из первых авторов пособия по языку Verilog Ятин Триведи (Yatin Trivedi). Ясно, что столь авторитетным представителям фирмы – разработчика СЦМОД и САПР доверяли и присылали новые версии своих систем для тестирования и сравнения с конкурентами. Не имея таких возможностей, авторы были вынуждены из зарубежных систем моделирования использовать только их не подсанкционные и бесплатные версии. Пробные (evaluation) версии HDL-симуляторов, как и открытые типа IcarusVerilog, Verilator, GHDL, Tina и др. [1, 7], а также онлайн-симуляторы, в статье не рассматриваются. Критические оценки систем можно разделить на качественные: простота освоения и использования, наличие поддержки пользователей, в том числе онлайн. И количественные: требования к компьютеру и ОС, время действия лицензии, объём скачиваемого установочного файла, число поддерживаемых языков проектирования, доступность версии ПО под различные ОС, скорость моделирования и компиляции, полнота соответствия стандартам языков моделирования, количество библиотек и IP-core, включая поддержку стандарта VITAL, наличие и текстового, и графического способа описания модели, виды дополнительных сервисов типа: конверторы графика-текст и наоборот. А также: графический способ задания временных диаграмм входных сигналов, графическое описание автоматов, системы оценки полноты покрытий кода, профилировщики и др. Что касается качественных критериев – то они важны в первую очередь при использовании СЦМОД в учебных целях. Это понятие включает устойчивость системы к ошибкам пользователей и сбоям компьютеров, развитую, полную и точную диагностику ошибок и простоту их исправления. В табл. 1 представлены САПР, в которых реализованы СЦМОД, ОС и минимальные требования к параметрам компьютеров. В табл. 2 представлены поддерживаемые СЦМОД версии HDL. Таблица 1. Сравнительный анализ САПР, доступных для использования Таблица 2. Поддерживаемые СЦМОД версии HDL * В качестве инструментальной машины при сравнении СЦМОД был использован компьютер с процессором Intel Pentium G4400 с тактовой частотой 3,30 ГГц, оперативной памятью 8 ГБ, 64-разрядной операционной системой Windows 10. Что касается скорости компиляции Verilog-кода, то сравнительный анализ на группе тестов IVLTest (Icarus Verilog) в сравнении с ModelSim Pro 2020 приведён на рис. 1. Среднее время разбора и компиляции в Simtera – 695 мс, в Modelsim Pro 2020 – 841 мс. Рис. 1. Время компиляции Verilog-проектов в Simtera и Modelsim Для тестирования скорости работы симулятора известно несколько наборов (benchmarks), рекомендуемых для СЦМОД [4], но мы использовали свои. Обосновано это практическими целями. В качестве тестовых задач были использованы Verilog-модели версии синтезабельной поведенческой модели простого АЛУ-микросхемы 74181 (ИП4). Модель содержит 240 строк HDL-кода. Тестбенч – 102 строки. Для возможности измерения времени моделирования секундомером в тестбенче организован цикл из 1 млн повторений выполнения трёх операций в АЛУ. На XSIM и Modelsim время прогона теста примерно одинаковое – 30 секунд, на Active-HDL оно было в 5 раз больше и равно 150 секундам. У Simtera при 100 повторений было 15 секунд, т.е. система моделирования работает на несколько порядков медленнее. Тестирование проводилось на версии Delta Design Simtera версии от декабря 2022. В данной версии отсутствует разбиение независимых Verilog-процессов на отдельные потоки. Если посмотреть на часть запускаемого теста (листинг теста доступен в электронной версии статьи на сайте журнала), она состоит из 69 блоков assign, которые могут обрабатываться параллельно, что значительно ускорит работу системы. Данный функционал в настоящее время в разработке, об успехах ускорения работы моделирования сообщим в отдельной статье по завершении работ. В табл. 3 представлены некоторые дополнительные параметры HDL-симуляторов, связанные с графическими средствами, оценкой полноты покрытия кода тестами и методическим обеспечением. Таблица 3. Дополнительные параметры HDL-симуляторов, связанные с графическими средствами, оценкой полноты покрытия кода тестами и методическим обеспечением С точки зрения тестирования и работы с VHDL-проектами в Simtera дела обстоят следующим образом: сравнение производилось с ModelSim – Altera 10.1 и Aldec Active-HDL 8.2 Expert Edition. Быстродействие проверялось на тесте, симулирующем запуск программы мигания светодиодами в ОС FX-RTOS на модели микроконтроллера PIC32. Результаты тестирования быстродействия приведены в табл. 4. Таблица 4. Результаты тестирования быстродействия *Машина 1: Intel Core i7-2600K 3.4 GHz, RAM 16 GB, Windows 7 Ultimate x64 Машина 2: Intel Core i7-2630QM 2.00 GHz, RAM 6 GB, Windows 7 Ultimate x64 В ходе проверки выяснилось, что Aldec уступает в поддержке, реализованной в Simtera части стандарта. Характерные тесты, демонстрирующие этот факт, можно скачать и посмотреть на странице ЭРЕМЕКС со сравнительными данными [8]. Необходимо отметить, что в настоящий момент VHDL-язык не развивается в Simtera, так как прерогатива отдана на поддержку Verilog в части поведенческого моделирования и синтеза. Так, например, структурная несинтезабельная VHDL модель усечённой версии микроЭВМ MC51 (Intel 8051) [9]. Модель была сгенерирована учебной системой цифрового моделирования DEEDS [10] из графического (блок-диаграммного) представления и содержит три раздела: модели компонентов – 11 400 строк, модель MC51 – 2500 строк и тестбенч – 550 строк. На этой модели оценивалась и скорость компиляции. Компиляция быстрее всего идёт на ModelSim и Active-HDL, немного медленнее на XSIM. На Simtera компиляция проходила на порядок дольше.

Выводы

Участвующие в сравнении продукты предлагают свои подходы к проектированию и моделированию цифровой аппаратуры. Авторы статьи, равно как и читатели, имеют свой опыт работы с ними. Хочется отметить, что Simtera представляется единственным импортонезависимым перспективным отечественным продуктом. В системе присутствуют инструменты по работе в схемотехническом виде, присутствует поддержка конструкций Verilog/SystemVerilog, VHDL, позволяющая проводить сравнительный анализ по работе с продуктами конкурентов на рынке. В системе есть и недостатки, сопутствующие развивающемуся продукту, – а именно, невысокая скорость работы симулятора, связанная в первую очередь с временным отсутствием multi-thread симуляции. Разработчики САПР Delta Design Simtera будут весьма признательны всем читателям, которые смогут прислать им самопроверяющиеся тесты. Напоминаем также, что открыто бета-тестирование Delta Design Simtera. Получить версию системы можно, отправив письмо на адрес info@eremex.ru, а также в Telegram-сообществе.

Литература

URL: https://en.wikipedia.org/wiki/List_of_HDL_simulators. URL: https://en.wikipedia.org/wiki/List_of_EDA_companies. URL: https://en.wikipedia.org/wiki/Xilinx_Vivado. URL: https://www.eremex.ru/. Малышев Н. Цифровое моделирование цифровых и цифро-аналоговых узлов в системе Delta Design Simtera // Современная электроника. 2021. № 1. С. 60–61. Поляков А.К., Малышев Н.М. Библиотеки HDL-тестов для систем моделирования цифровой аппаратуры. Отечественная САПР проектирования микроэлектроники (часть 1) // Современная электроника. 2023. № 3. URL: https://en.wikipedia.org/wiki/Comparison_of_EDA_software. URL: https://www.eremex.ru/knowleage-base/articles/sravnenie-simtera/. URL: https://en.wikipedia.org/wiki/Intel_8051. URL: https://www.digitalelectronicsdeeds.com/deeds.html.