Основной целью в процессе
спецификации проекта является определение и спецификация основных функций системы и создание исполняемой системной модели. С использованием моделирования, эта системная модель используется для
верификации корректности работы системы с функциональной точки зрения в операционной среде, в которой она должна работать, а также для определения необходимых аппаратных ресурсов для работы и архитектуры системы. Общий
маршрут проектирования системы-на-кристалле на концептуальном уровне приведён на рис. 3.
Рис. 1. Маршрут проектирования на концептуальном уровне
На этапе общей спецификации проекта определяется операционная среда, в которой должна работать система, основные сценарии работы, общие функциональные характеристики и протоколы. Так, здесь могут моделироваться различные электронные приводы, системы управления, зоны покрытия, взаимное расположение и движение объектов, например, для распределённых систем типа "базовые станции — мобильные терминалы" и другое.
Далее создаётся функциональная спецификация системы, целью которой является определение и моделирование функционирования системы с точки зрения выполняемых алгоритмов. Здесь может быть задано и промоделировано поведение всей системы в целом или её отдельных блоков. Как правило, на этом уровне функции системы моделируются с реальными данными и сигналами. Например, можно описать цифровой приёмник-передатчик и протестировать его с использованием реалистичной модели радиотракта.
На этапе исследования проекта моделируемые функции трансформируются и разделяются для выполнения на ряде платформ, или архитектур, которые содержат различные наборы компонентов, такие как программируемые процессоры, память,
ASIC,
ПЛИС или блоки
системы на кристалле. Используя различные виды оценок, целью здесь является нахождение оптимальной архитектуры, которая отвечает заданным критериям, таким как работа в реальном времени, производительность, стоимость, потребляемая мощность. Программные функции оцениваются с точки зрения размера кода и наихудшего времени выполнения, измеряемого количеством тактов процессора, а аппаратные функции — в количестве эквивалентных вентилей.
Наконец, производится уточнение спецификации системы, где создаётся более детальное описание системной архитектуры, которая передаётся на проектирование. Такое описание на
системном уровне может содержать некоторые детали последующей реализации, но функциональная часть состоит из
поведенческих моделей на языках С/С++/SystemC. Далее уже используется совместное программно-аппаратное проектирование с применением моделей конкретных процессоров и шин (функциональных моделей), блоков, описанных на языках проектирования аппаратуры VHDL/Verilog и так далее.
Система проектирования MLDesigner компании MLDesign Technologies (www.mldesigner.com) позволяет решать все эти задачи, а именно:
- проектирование на уровне миссии и выбор оптимальных решений: моделирование "операционной" среды, определение статических и динамических сценариев, планирование целевых задач и моделирования среды их выполнения (например, топография местности, модели каналов), тестирование сложных проектов на уровне целевых задач;
- проектирование на системном уровне и выбор оптимальных решений: моделирование и анализ производительности, цифровая обработка сигналов и архитектура DSP, сетевая архитектура и протоколы, компьютерные архитектуры, встроенные системы;
- проектирование на функциональном уровне и выбор оптимальных решений: выбор оптимальных алгоритмов, выбор оптимальных протоколов, анализ алгоритмов с фиксированной точкой, программное/аппаратное разделение, выбор оптимальной реализации, схемы разрешения конфликтов на шинах, методы управления памятью.
Список литературы
1. А. Бухтеев. Методы и средства проектирования систем на кристалле. - http://www.chipnews.ru/html.cgi/arhiv/03_04/1.htm