Проектирование и проверка на уровне электронной системы


Проектирование и проверка уровня электронной системы (ESL) — это методология электронного проектирования, ориентированная на проблемы более высокого уровня абстракции. Термин « Уровень электронной системы» или ESL Design был впервые определен Gartner Dataquest , отраслевой аналитической фирмой, 1 февраля 2001 г. [1] Он определяется в ESL Design and Verification [2] как «использование соответствующих абстракции, чтобы улучшить понимание системы и повысить вероятность успешной реализации функциональности экономически эффективным способом».

Основная предпосылка заключается в моделировании поведения всей системы с использованием языка высокого уровня, такого как C , C++ , или с помощью графических инструментов проектирования «на основе моделей». Появляются новые языки, которые позволяют создавать модели на более высоком уровне абстракции, включая языки проектирования систем общего назначения, такие как SysML , а также языки, специфичные для проектирования встроенных систем, такие как SMDL и SSDL. Быстрая и правильная по построению реализация системы может быть автоматизирована с использованием инструментов EDA , таких как высокоуровневый синтез и встроенные программные инструменты, хотя сегодня большая часть этого выполняется вручную. ESL также можно реализовать с помощью SystemC .как абстрактный язык моделирования .

ESL является устоявшимся подходом во многих ведущих мировых компаниях, занимающихся разработкой систем на кристалле (SoC), и все чаще используется при проектировании систем . [3] От своего зарождения как методологии моделирования алгоритмов без «связи с реализацией» ESL превращается в набор дополнительных методологий, которые позволяют проектировать, проверять и отлаживать встроенные системы, до аппаратной и программной реализации пользовательских SoC , системы . -на - ПЛИС , система-на-плате и целые многоплатные системы.

Проектирование и проверка являются двумя отдельными дисциплинами в рамках этой методологии. Некоторые методы предполагают разделение этих двух элементов, в то время как другие выступают за более тесную интеграцию между проектированием и проверкой. [4]

Будь то ESL или другие системы, дизайн относится к «одновременному проектированию аппаратных и программных частей электронного продукта». [5]

Существуют различные типы инструментов EDA, используемых для проектирования ESL. Ключевым компонентом является виртуальная платформа, которая по сути является симулятором. Виртуальная платформа чаще всего поддерживает моделирование на уровне транзакций (TLM), где операции одного компонента над другим моделируются с помощью простого вызова метода между объектами, моделирующими каждый компонент. Эта абстракция дает значительное ускорение по сравнению с моделированием с точностью до цикла, поскольку тысячи событий сетевого уровня в реальной системе могут быть представлены простой передачей указателя, например, для моделирования получения пакета Ethernet, часто используется SystemC.