- •Введение
- •Обзор современного состояния субмикронной и глубоко-субмикронной технологий
- •Проектирование цифровых интегральных схем
- •Задачи и методы схемотехнического моделирования сбис
- •Этапы проектирования сбис
- •Общие вопросы характеризации цифровых библиотек
- •Характеризация логических элементов
- •Характеризация элементов памяти
- •Анализ переходных процессов
- •Описание характеристик ячеек из библиотеки
- •Языки моделирования цифровых библиотек
- •Обзор средств, существующих в настоящее время
- •Средства проектирования компании cadence
- •Системное проектирование
- •Аппаратное проектирование и верификация
- •Математическое макетирование
- •Топологическое проектирование
- •Средства проектирования компании synopsys
- •Средства проектирования компании mentor graphics
- •Системный уровень
- •Уровень регистровых передач
- •Логический уровень
- •Заказное проектирование аналоговых и смешанных схем
- •Топологическое проектирование
- •Краткое описание возможностей SystemC
- •Контекст SystemC
- •Аспекты SystemC
- •Точность моделирования
- •Модели вычислений
- •Функциональное моделирование
- •Моделирование на уровне транзакций
- •Уровень rtl и связь с реализацией
- •Верификационные расширения
- •Построение модели функционального виртуального прототипа
- •Модели использования fvp
- •Создание встроенных программ
- •Функциональная верификация
- •Анализ fvp с помощью транзакций
- •Программы для характеризации цифровых библиотек
- •Spice-подобные программы моделирования
- •Интерфейс к пользовательским моделям
- •Программная система Charisma
- •Характеризация цифровой ячейки по помехоустойчивости
- •Помехоустойчивость цифровых бис к воздействию внешних помех
- •Устойчивость цепей питания цифровых бис
- •Анализ устойчивости цифровых бис к воздействию внутренних помех
- •Влияние помех в шинах питания на входы бис
- •Рекомендуемые схемотехнические методы борьбы с помехами в шинах питания бис
- •Помехи, генерируемые в сигнальных шинах из-за перекрестного взаимодействия
- •Помехи в сигнальных шинах, вызванные «состязаниями» сигналов
- •Конечная верификация проекта
- •Электрическая верификация
- •Временная верификация
- •Функциональная верификация
- •Заключение
- •Библиографический список
- •Оглавление
- •394026 Воронеж, Московский просп., 14
Модели вычислений
Модель вычислений (model of computation - МоС) является фундаментальным понятием в проектировании на системном уровне. Интересно отметить, что это понятие редко обсуждалось на уровне аппаратного проектирования и поэтому может оказаться интересным для многих читателей. Модель вычислений неформально можно представить как конкретный стиль моделирования, лучше всего соответствующий данному проекту или прикладной области и при этом обладающий свойствами, полезными в симуляции, синтезе и/или анализе. Например, системную модель многих приложений по обработке сигналов и изображений можно создать с помощью модели потока данных - точнее одного из ее вариантов SDF (synchronous data flow - синхронный поток данных). Если системная модель соответствует SDF принципам, то можно создать эффективные симуляционные модели и планы реализации. Другие МоС могут поддерживать некоторые методы формального анализа.
Более формально модель вычислений можно задать тремя определениями:
• Базовая временная модель (без времени, либо на основе действительных или целых чисел, с заданной точностью) и семантика упорядочивания событий на основе временной модели (строгое упорядочивание, нон-детерминизм, частичное упорядочивание, случайное упорядоыивание, и .т.д.).
• Взаимодействие процессов между собой. Семантика событий, объектов, токенов и передачи данных от одного процесса к другому.
• Условия активации или »запуска» процесса (иногда называемые «правилами запуска процесса»). В модели потока данных, например, процесс запускается при условии наличия определенного количества токенов на входах.
Многие языки проектирования, такие как традиционные HDL языки, используют одну модель вычислений (отдельное событие, упорядоченное глобально на общей «временной шкале», наряду с семантикой «временных интервалов» для сходимости симуляции системы). Хотя SystemC также использует одну модель вычислений, заложенную в язык и его симуляционное ядро, эта модель является более общей и позволяет накладывать на нее различные частные модели вычислений. Она поддерживает настраиваемые события и возможность синхронизации, возможность создания проектировщиками специализированных каналов, портов, интерфейсов и модулей, также в нее входит очень общая временная модель. Все это позволяет создание специализированных моделей вычислений. В случае системных моделей, полностью попадающих в один специализированный класс МоС, можно также оптимизировать симуляционное ядро SystemC для достижения более эффективной симуляции данного класса МоС — например, в случае статически спланированного потока данных можно создать статически спланированную симуляционную модель, которая будет выполняться значительно быстрее.
Язык SystemC поддерживает многие возможные модели вычислений и его открытость позволяет больше экспериментировать. Было успешно проведено много экспериментов, например сети процессов и потоков данных (сети процессов Кана (Kahn)), аппаратное моделирование на уровне RTL, сетевое моделирование, связывание симуляционного ядра SystemC с непрерывным временным моделированием и симулированием (для AMS проектов), и сетевые симуляторы.