Имитационное моделирование в исследовании и разработке информационных систем Лекция 9 Имитационное моделирование аппаратных и программных средств вычислительных систем. Связь моделирования и проектирования информационных систем Моделирование аппаратных средств на системном уровне (продолжение) Open SystemC Initiative (OSCI) c 1999 г. IEEE Std 1666-2005, 1666-2011 с 2011 объединена с Accellera Initiative www.accellera.org Библиотека классов C++ для моделирования аппаратных средств, со средствами организации событийного моделирования 2 Интерфейс Transaction Level Modeling Назначение SystemC • Моделирование функций системы, которые могут быть реализованы как программно, так и аппаратно • Моделирование совместной работы аппаратных и программных компонентов • Обмен информацией между разработчиками 3 Возможности SystemC • • • • • • • • Модули Порты Каналы Интерфейсы Процессы Сигналы События Таймеры Типы данных: - битовые массивы - целые - вещественные - с фиксированной запятой 4 Возможности SystemC (2) Процессы • методы модуля (methods) – списки чувствительности по портам • нити (threads) – возможно параллельное выполнение разных нитей, ожидание условия • тактируемые нити (clocked threads) – wait_until() – wait() // next clock 5 TLM • Представление системы в виде набора компонентов, связанных абстрактными каналами • Конкретные каналы (шины, FIFO и т.д.) описываются как компоненты • Стандартизован интерфейс компонент-канал • Отделение функционирования от взаимодействия 6 TLM 2.0 (2) • Часть стандарта SystemC 2011 г. • Используется для стыковки моделей аппаратуры между собой (например, процессор <–> устройство на шине) • Может быть использован для объединения моделей, созданных с помощью различных средств 7 TLM (2) неблокирующий однонаправленный канал put() // действие can_put() // проверка event ok_to_put() событие 8 Возможности TLM • Взаимодействие компонентов разной степени детальности (через вспомогательные компоненты) • Детализация работы реального канала • Взаимодействие программных (прикладных и системных) и аппаратных компонентов • Взаимодействие компонентов, созданных в разных средах моделирования! 9 • • • • Связь проектирования и моделирования инф. систем Автоматизация построения реализации по модели Совместное моделирование аппаратных и программных компонентов. Виртуальный прототип, полунатурное моделирование Разбиение на аппаратные и программные компоненты. Перебор вариантов, поиск оптимального варианта 10 Пошаговая интеграция Автоматизация построения реализации по модели • Для аппаратуры – Синтез описания на уровне RTL – Синтез описания на уровне вентилей или конфигурации ПЛИС – Синтез топологии кристалла • Для программы • Генерация исходного текста для некоторой программной платформы (например, Simulink) 11 Виртуальный прототип аппаратных средств Выполнение исполняемого кода программы на заданной конфигурации аппаратных средств • эмулятор ЦП • модели шин и периферии (TLM) • среда выполнения моделей 12 Simics от Wind River Systems www.windriver.com/simics • Возможность выполнения с потактовой точностью • средство для описания моделей внешних устройств (вплоть до сетей) • возможность создания и использования модели управляемого объекта • трассировка и отладка 13 Vista от Mentor Graphics • Библиотека конфигурируемых TLMсовместимых моделей (процессоры, блоки памяти, контроллеры DMA, шины …) • Графический редактор • Отладка • Трассировка и определение характеристик производительности • Использование QEMU 14 Ещё примеры • Synopsis – Virtualizer • National Instruments – LabView ориентация на моделирование объекта, управляемого ВС РВ 15 Cовместная разработка (codesign) • Исполняемая спецификация системы • Разделение на программную и аппаратную части – перебор вариантов, оценка вариантов – интенсивное применение методов оптимизации • Параллельная разработка обеих частей • Совместная отладка и тестирование 16 Platform Architect от Synopsys • Traffic Generators – Generic File Reader Bus Master (GFRBM) for trace-driven traffic generation – Generic Virtual Processing Unit (VPU) for application task-mapping and task-driven traffic generation • Interconnect Models – Cycle-accurate SystemC TLM bus libraries for ARM AMBA® 2 AHB™/APB™, AMBA 3 AXI™, and AMBA 4 AXI™ protocols 17 Продолжение – Generic approximately-timed SystemC TLM bus libraries for industry-standard IEEE 1666-2011 SystemC TLM-2.0 protocols, plus support for the approximately-timed models available from Arteris® for the Arteris FlexNoC™ Network on Chip (NoC) interconnect, which provide on-chip connectivity for AMBA® AXI™, AHB™, AHB-Lite, APB™, and PIF protocols. 18 Продолжение • Memory Subsystem Models – Generic approximately-timed SystemC TLM memory subsystem models for ARM AXI and IEEE-1666 2011 SystemC TLM-2.0 interfaces, including the Synopsys DesignWare Enhanced Universal DDR Memory Controller (uMCTL2) – Cycle-accurate memory subsystem models are available for Platform Architect through HDL co-simulation with user-provided, third-party and Synopsys RTL memory controller IP 19 Продолжение • Processor Models – Cycle-accurate SystemC TLM processor support packages (PSPs) are available for Tensilica and MIPS processor families, and through HDL co-simulation with userprovided RTL for ARM processor families. 20 Ссылки по SystemC http://www.asicworld.com/systemc/tutorial.html http://accellera.org/downloads/standards/ http://accellera.org/downloads/standards/ ieee - бесплатно доступные стандарты IEEE в части SystemC http://www.ece.iastate.edu/~zambreno/cl asses/cpre588/documents/RosSwa05A. pdf 21 Спасибо за внимание! 22