Оплата электронных книг находится в тестовом режиме. Деньги с карты НЕ СНИМАЮТСЯ и книги не высылаются.

Рекомендуем

Основы компьютерного проектирования и моделирования радиоэлектронных средствТрухин М.П. Основы компьютерного проектирования и моделирования радиоэлектронных средств
Программа схемотехнического моделирования Micro-CAP 8Амелина С.А., Амелин М.А. Программа схемотехнического моделирования Micro-CAP 8
Systemview 6.0 (SystemVue).Системное проектирование радиоэлектронных устройствЗлатин И.Л. Systemview 6.0 (SystemVue).Системное проектирование радиоэлектронных устройств

Книга

SystemC. Моделирование электронных систем

Учебное пособие для вузов
2018 г.
320 стр.
Тираж 500 экз.
Формат 60х90/16 (145x215 мм)
Исполнение: в мягкой обложке
ISBN 978-5-9912-0722-5
ББК 32.85я73
УДК 004.434:004.94+621.38(075.8)
Аннотация

Рассмотрены вопросы практического использования языка SystemC, который находит все более широкое применение для моделирования сложных электронных систем на разных уровнях абстракции: системное описание, уровень транзакций, уровень регистровых пересылок и т.д. Являясь надстройкой к языку С++, SystemC успешно применяется для проектирования «систем на кристалле», верификации сложных систем, разработок смешанных аналогово-цифровых систем.

Изложена методика установки библиотек, подробное описание языка и даны многочисленные примеры программ с решениями в средах Eclipse и Microsoft Visual Studio. Отдельная глава посвящена описанию моделирования на уровне транзакций TLM-2.0. Приложение содержит справочные сведения о языке С++ и методику установки SystemC в среде Microsoft Visual Studio.

Для бакалавров и магистров, обучающихся по направлению «Информатика и вычислительная техника» и изучающих дисциплину «Технологии проектирования устройств и систем вычислительной техники средствами САПР», будет полезно разработчикам современных электронных систем.

Оглавление

1. Проблемы проектирования систем на кристалле
1.1. Цели SystemC
1.2. Уровни моделирования в SystemC
1.3. Краткая история создания и развития SystemC
1.4. Методология проектирования SystemC
1.5. Стандартные графические обозначения
1.6. Как изучать эту книгу

2. Установка SystemC в интерактивных средах разработки Eclipse и Micrisoft Visual Studio
2.1. Установка SystemC в Eclipse c компилятором Cygwin
2.1.1. Краткие сведения об Eclipse
2.1.2. Cygwin
2.1.3. Установка Cygwin
2.1.4. Загрузка программы SystemC-2.3.1
2.1.5. Компиляция SystemC-2.3.1 в Cigwin64
2.1.6. Создание переменных сред для SystemC
2.1.7. Запуск Eclipse и настройки рабочего пространства
2.1.8. Создание нового проекта С++ 4
2.1.9. Создание проекта «Hello-SystemC»
2.2. Как работать в Eclipse CDT
2.2.1. Главное меню, перспективы, workspace
2.2.2. Перспективы в Eclipce.
2.3. Программа GTKWave
2.3.1. Главное окно GTKWave
2.3.2. Маркеры и масштабы
2.3.3. Главное меню.
2.3.4. Установка и использование GTKWave
2.4. Установка SystemC-2.3.1 в операционной системе Ubuntu 16.04
2.4.1. Полезные команды для работы в терминале Ubuntu
2.4.2. Установка SystemC-2.3.1a
2.4.3. Установка JAVA в Ubuntu
2.4.4. Установка Eclipse в Ubuntu
2.4.5. Установка GTKWave
2.5. Об установке SystemC в Microsoft Visual Studio

3. Основы языка SystemC-2.3.1
3.1. SystemC — надстройка к языку С++
3.2. Ядро моделирования (Kernel)
3.3. Состав ядра языка SystemC (Core Language)
3.4. Инициализация процесса
3.5. Модель времени в SystemC
3.6. Модули SC MODULE
3.6.1. Порты модулей
3.6.2. Сигналы модуля
3.6.3. Создание экземпляров модулей
3.6.4. Внутренние переменные
3.7. Конструктор SC CTOR
3.8. Альтернативные конструкторы: SC HAS PROCESS
3.9. Процессы
3.9.1. Процесс SC THREAD
3.9.2. Процесс SC METHOD 10
3.9.3. Процесс SC CTHREAD 10
3.10. Глобальное и локальное наблюдение
3.11. Порты и сигналы
3.11.1. Чтение и запись портов и сигналов
3.11.2. Массив порты и сигналы
3.11.3. Привязка сигналов
3.11.4. Разрешенные логические векторы
3.11.5. Разрешенные векторные сигналы
3.12. Тактирование
3.13. Время
3.14. События
3.14.1. Функция wait()
3.14.2. Next trigger()
3.15. Методы
3.15.1. Методы sc start() и sc stop()
3.15.2. Метод wait()
3.15.3. Метод sc time stamp()
3.16. Динамическая чувствительность для SC METHOD: next trigger()
3.17. Статическая чувствительность для процессов
3.18. Типы данных и операторы
3.18.1. Тип sc bit
3.18.2. Тип sc logic
3.18.3. Битовый вектор произвольной длины sc bv
3.18.4. Беззнаковые и знаковые целые с фиксированной точностью sc int < n> и sc uint < n>
3.18.5. Знаковые и беззнаковые типы целых с произвольной точностью sc bigint и sc biguint
3.18.6. Логический вектор произвольной длины sc lv
3.19. Оператор сравнения
3.20. Трассировка определенного пользователем типа
3.22. Типы с фиксированной точкой
3.23. Каналы и интерфейсы
3.23.1. Канал sc mutex
3.23.2. Канал sc semaphore
3.23.3. Канал sc fifo
3.23.4. Иерархические каналы
3.24. Коммуникации в SystemC
3.25. Моделирование уровня транзакций
3.26. Моделирование и отладка с помощью SystemC
3.26.1. Планировщик SystemC
3.26.2. Контроль моделирования
3.26.3. Расширенные методы техники контроля моделирования
3.27. Трассировка осциллограмм
3.27.1. Создание файла трассировки
3.27.2. Трассировка скалярной переменной и сигналов
3.27.3. Трассировка переменных и сигналов совокупного типа
3.27.4. Трассировка переменных и массивов сигналов
3.27.5. Отладка SystemC

4. Практическое программирование в SystemC
4.1. Два основных стиля
4.2. Традиционный шаблон
4.3. Рекомендуемая альтернативная форма шаблона
4.4. Описание библиотек SystemC
4.5. Еще одно приветствие в SystemC
4.6. Базовый пример канала связи для сложных моделей
4.7. Использование SystemC для RTL синтеза устройств
4.8. Испытательные программы Testbench
4.8.1. Основные конструкции испытательных программ
4.8.2. Сигналы
4.9. Пример моделирования D-триггера с испытательной программой
4.10. Программы First counter и Testbench
4.11. Пример мультиплексора MUX
4.12. Базовый пример моделирования простой шины на уровне транзакций

5. Моделирование на уровне транзакций в SystemC
5.1. Концепции моделирования
5.2. Инициаторы, цели и сокеты
5.3. Общая полезная нагрузка и блокирующий транспорт
5.4. Временная аннотация
5.5. Взаимодействие и базовый протокол
5.6. Интерфейсы TLM-2.0
5.7. Исходный код и документация
5.8. Моделирование на уровне транзакций, варианты использования и абстракция
5.9. Стили кодирования
5.9.1. Стиль untimed
5.9.2. Стиль Loosely-timed и временная развязка
5.9.3. Характеристика свободно-временных и приближенно-временных стилей кодирования
5.9.4. Переключение между свободно-временным и приближенно-временным моделированием
5.10. Мосты транзакций
5.11. Интерфейсы DMI и отладки
5.12. Комбинированные интерфейсы и сокеты
5.13. Пространства имен
5.14. Заголовочные файлы и номера версий
5.15. Информация о версии программного обеспечения
5.16. Примеры использования основных интерфейсов TLM-2.0
5.16.1. Транспортные интерфейсы
5.16.2. Блокирующий транспортный интерфейс
5.16.3. Определение класса блокирующего интерфейса
5.16.4. Аргумент шаблона TRANS
5.16.5. Правила
5.16.6. График последовательности сообщений — блокировка транспорта
5.16.7. График последовательности сообщений — временная развязка
5.16.8. Схема последовательности сообщений — квантование времени
5.16.9. Неблокирующий транспортный интерфейс
5.16.10. Определение класса неблокирующего интерфейса
5.16.11. Аргументы шаблона TRANS и PHASE
5.16.12. Запросы nb transport fw и nb transport bw
5.16.13. Аргумент trans
5.16.14. Фазовый аргумент
5.16.15. Возвращаемое значение tlm sync enum
5.16.16. Диаграмма последовательности сообщений с использованием пути назад
5.16.17. Схема последовательности сообщений с использованием обратного пути
5.16.18. Диаграмма последовательности сообщений — раннее завершение
5.16.19. График последовательности сообщений — аннотация времени
5.16.20. Аннотации синхронизации с транспортными интерфейсами
5.16.21. Примеры стилей кодирования
5.17. Интерфейс прямой памяти
5.18. Примеры программ с использованием TLM-2.0
5.18.1. Пример блокирующего интерфейса 31
5.18.2. Пример неблокирующего интерфейса at 1 phase
5.19. Выводы: Основные характеристики TLM-2

Приложение А. Введение в язык С++
А.1. Краткое введение в язык С++
А.1.1. Происхождение языка С++
А.1.2. Первая программа в С++
А.2. Переменные С++
А.2.1. Типы данных
А.3. Операторы С++
А.4. Конструкции ветвления
А.5. Массивы в С++
А.6. Функции в С++
А.7. Указатели в С++ . Статические и динамические переменные
А.7.1. Пример использования статических переменных
А.7.2. Пример использования динамических переменных
А.8. Запуск из командной строки
А.9. Структуры в С++
А.10. Классы в С++
А.10.1. Модификаторы доступа public и private
А.11. Создание объекта через указатель
А.12. Конструктор и деструктор класса
А.13. Векторы в C+ +
А.14. Наследование классов в C+ +
А.15. Дополнительные вопросы по С+ +

Приложение Б. Установка SystemC-2.3.1 в среде Microsoft Visual Studio 2012
Б.1. Системные требования и указания от Accellera
Б.2. Создание библиотек SystemC-2.3.1
Б.3. Системные переменные
Б.4. Создание SystemC Application
Б.5. Установка свойств проекта
Б.6. Компиляция и проверка проекта

Литература