Обзор маршрутов проектирования прикладного программного обеспечения для ПЛИС/ASIC/SoC на основе языков С/С++ Аспирант: Колесников Е.И. Научный руководитель: д.т.н., профессор Шалыто А. А. Кафедра компьютерных технологий Санкт-Петербургского государственного университета информационных технологий, механики и оптики
2 Исследовательский центр СПбГУ ИТМО «Технологии автоматного программирования» Задачи обзора Сравнить маршруты проектирования ПЛИС/ASIC/SoC и показать их преимущества и недостатки Рассмотреть и сравнить аппаратные версии языков С/С++ с языками описания аппаратуры – HDL- языками Показать целесообразность использования языков С/С++ в маршрутах проектирования ПО для ПЛИС/ASIC/SoC (в отличие от HDL-проектирования) Рассмотреть возможность использования автоматного программирования на системном уровне (ESL) проектирования ПЛИС/ASIC/SoC
3 Исследовательский центр СПбГУ ИТМО «Технологии автоматного программирования» Маршруты проектирования ПЛИС/ASIC/SoC Традиционный нисходящий маршрут проектирования Маршрут с абстракцией проекта на системном уровне (ESL-проектирование или проектирование «сверху вниз»)
4 Исследовательский центр СПбГУ ИТМО «Технологии автоматного программирования» Традиционный маршрут проектирования
5 Исследовательский центр СПбГУ ИТМО «Технологии автоматного программирования» Маршрут проектирования с использованием общесистемного уровня Специальные языки: UML-FB/RT SpecWare Simulink (HLL) Межблочные языки – cхемные, подобные HDL Внутриблочные языки – подобные С/С++ Уровень передач Совместная аппаратно- программная верификация модели ESL-уровень Спецификация системы Архитектура Уровень сообщений SystemC SystemVerilog
6 Исследовательский центр СПбГУ ИТМО «Технологии автоматного программирования» Устраняется разрыв между алгоритмическим описанием системы и RTL-описанием Основная нагрузка по отладке и верификации проекта переносится на более высокий уровень абстракции, а на этап синтеза поступает практически полностью отлаженный проект на системном уровне Анализ альтернативных вариантов реализции алгоритмов на С/С++ и внесение возможных изменений выполняется быстро и эффективно Описание проекта на С/С++ не привязано к выбору микроархитектуры и конкретной технологии реализации Преимущества автоматического синтеза RTL-описаний из алгоритмов на С/С++
7 Исследовательский центр СПбГУ ИТМО «Технологии автоматного программирования» Разработка библиотек на С/С++: SystemC и Cynlib Разработка специальных языков, основанных на синтаксисе ANSI C – HandelC и SpecC Разработка языка на базе Verilog и C++ - SystemVerilog Направления развития по использованию языков С/С++ для описания архитектуры
8 Исследовательский центр СПбГУ ИТМО «Технологии автоматного программирования» Сравнение аппаратных языков С/С++ и HDL-языков по охвату стадий проектирования
9 Исследовательский центр СПбГУ ИТМО «Технологии автоматного программирования» Этапы проектирования с использованием автоматного программирования: 1) Использование UniMod для проектирования на системном уровне для ПЛИС/ASIC/SoC 2) Генерация SystemC-кода из UniMod модели 3) Дальнейшая конвертация SystemC-кода в SystemVerilog в специализированной САПР 4) Реализация на кристалле Использование автоматного программирования на системном уровне проектирования ПЛИС/ASIC/SoC
10 Исследовательский центр СПбГУ ИТМО «Технологии автоматного программирования» Выводы Значительными преимуществами обладает маршрут проектирования на общесистемном уровне Перспективные аппаратные версии языков С/С++: SystemC и SystemVerilog. Но каждый из этих языков эффективен на своих определенных уровнях проектирования Отмеченные недостатки HDL-проектирования показывают целесообразность использования языков С/С++ в маршрутах проектирования ПО для ПЛИС/ASIC/SoC (в отличие от HDL-проектирования)
11 Исследовательский центр СПбГУ ИТМО «Технологии автоматного программирования» Заключение Внедрение автоматического синтеза ПЛИС/ASIC/SoC непосредственно из C-описаний может расширить круг разработчиков аппаратного обеспечения, повысить их производительность труда, сократив тем самым сроки и стоимость разработки. Применение маршрута проектирования с общесистемным уровнем и систем мультиязычного проектирования на основе языков SystemC– SystemVerilog обеспечивают создание высококачественной системы в кратчайшие сроки. В дальнейшем планируется разработка методологии применения автоматного программирования на системном уровне (ESL) проектирования ПЛИС/ASIC/SoC.
12 Исследовательский центр СПбГУ ИТМО «Технологии автоматного программирования» Спасибо за внимание