- •Введение
- •Обзор современного состояния субмикронной и глубоко-субмикронной технологий
- •Проектирование цифровых интегральных схем
- •Задачи и методы схемотехнического моделирования сбис
- •Этапы проектирования сбис
- •Общие вопросы характеризации цифровых библиотек
- •Характеризация логических элементов
- •Характеризация элементов памяти
- •Анализ переходных процессов
- •Описание характеристик ячеек из библиотеки
- •Языки моделирования цифровых библиотек
- •Обзор средств, существующих в настоящее время
- •Средства проектирования компании cadence
- •Системное проектирование
- •Аппаратное проектирование и верификация
- •Математическое макетирование
- •Топологическое проектирование
- •Средства проектирования компании synopsys
- •Средства проектирования компании mentor graphics
- •Системный уровень
- •Уровень регистровых передач
- •Логический уровень
- •Заказное проектирование аналоговых и смешанных схем
- •Топологическое проектирование
- •Краткое описание возможностей SystemC
- •Контекст SystemC
- •Аспекты SystemC
- •Точность моделирования
- •Модели вычислений
- •Функциональное моделирование
- •Моделирование на уровне транзакций
- •Уровень rtl и связь с реализацией
- •Верификационные расширения
- •Построение модели функционального виртуального прототипа
- •Модели использования fvp
- •Создание встроенных программ
- •Функциональная верификация
- •Анализ fvp с помощью транзакций
- •Программы для характеризации цифровых библиотек
- •Spice-подобные программы моделирования
- •Интерфейс к пользовательским моделям
- •Программная система Charisma
- •Характеризация цифровой ячейки по помехоустойчивости
- •Помехоустойчивость цифровых бис к воздействию внешних помех
- •Устойчивость цепей питания цифровых бис
- •Анализ устойчивости цифровых бис к воздействию внутренних помех
- •Влияние помех в шинах питания на входы бис
- •Рекомендуемые схемотехнические методы борьбы с помехами в шинах питания бис
- •Помехи, генерируемые в сигнальных шинах из-за перекрестного взаимодействия
- •Помехи в сигнальных шинах, вызванные «состязаниями» сигналов
- •Конечная верификация проекта
- •Электрическая верификация
- •Временная верификация
- •Функциональная верификация
- •Заключение
- •Библиографический список
- •Оглавление
- •394026 Воронеж, Московский просп., 14
Верификационные расширения
Библиотека верификации SystemC (SCV) предлагает SystemC сообществу много новых возможностей тестирования, она была создана как библиотека расширений на основе SystemC и базовых библиотек SystemC.
SCV позволяет создавать верификационные IP-блоки, которые можно рассматривать и как IP для проектирования SoC, и как IP для повторного использования в других проектах. Учитывая, насколько много усилий (в процессе проектирования) уходит на верификацию (по неформальным оценкам - 50-70%), возможность создания верифицированного IP становится очень важной [6].
В основные верификационные возможности SCV библиотеки входит:
• Самодиагностика (introspection) данных, и возможность манипулировать элементами данных произвольных типов. На базе этого SCV может манипулировать заданными пользователем типами и ссылаться на них - например, структуры, отображающие пакеты и фреймы. Это обеспечивает возможность PLI (Programming Language Interface - Verilog) доступа к таким объектам и позволяет определить все атрибуты или характеристики этих типов.
• Запись транзакций, что делает верификацию на основе транзакций (TBV) дополняющей частью моделирования систем на уровне транзакций. При этом TBV, с помощью маркировки набора событий как одной «транзакции», позволяет записать симуляцию на уровне отдельных событий и абстрагировать результат на уровень общих транзакций тестовой платформы, а также позволяет маркировать и записывать транзакции на этом уровне абстракции. SCV позволяет группировать связанные транзакции в потоки, что дает возможность проведения поиска по результатам симуляции, создания верификационных транзакций высокого уровня, а также наблюдающих и контролирующих программ.
• Рандомизация - простая, взвешенная и на основе заданных ограничений. Рандомизация является мощным методом в современных процессах функциональной верификации. SCV поддерживает несколько типов, включая простую рандомизацию (в которой значения, например, адресов данных, генерируются на основе простой интервальной функции от набора корректных адресов). Простая рандомизация позволяет создавать распределение значений на основе более сложных наборов корректных интервалов, а также позволяет задавать пустые интервалы.
• Взвешенная рандомизация позволяет связывать вероятностные распределения со значениями или с подмножеством значений в заданном интервале, так что сложные распределения (например биномиальное, Пуассона, нормальное) могут быть ассоциированы с тестовыми платформами. Это также хороший способ отразить в тестовой платформе реальные статистические распределения.
• Заданные ограничения позволяют достичь большей абстракции при генерации на тестовых платформах сложных случайных сценариев. Они позволяют вводить сложные условия и комбинации при задании наборов допустимых значений переменных тестирования. Например, в коммуникационных приложениях можно сгенерировать распределение пакетов в зависимости от интервалов адресов, возникновения ошибок, и некоторых других ограничений. SCV поддерживает механизм задания ограничений и нахождения удовлетворяющих всем ограничениям решений, при этом: решения распределяются равномерно по всем допустимым значениям; производительность механизма приемлема при увеличении числа ограничений и тестовых переменных; механизм не зависит от порядка и поддерживает отладку нерешаемых систем (с избыточным набором ограничений).
• SCV также: предоставляет простую базу данных для хранения и изучения результатов верификации; предоставляет простой механизм связывания SystemC с HDL симулятором; совместимый механизм обработки и отладки ошибок.