Имитационное моделирование аппаратных и программных средств вычислительных систем. Связь моделирования и

advertisement
Имитационное моделирование в исследовании
и разработке информационных систем
Лекция 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
Download