- •Введение
- •Обзор современного состояния субмикронной и глубоко-субмикронной технологий
- •Проектирование цифровых интегральных схем
- •Задачи и методы схемотехнического моделирования сбис
- •Этапы проектирования сбис
- •Общие вопросы характеризации цифровых библиотек
- •Характеризация логических элементов
- •Характеризация элементов памяти
- •Анализ переходных процессов
- •Описание характеристик ячеек из библиотеки
- •Языки моделирования цифровых библиотек
- •Обзор средств, существующих в настоящее время
- •Средства проектирования компании cadence
- •Системное проектирование
- •Аппаратное проектирование и верификация
- •Математическое макетирование
- •Топологическое проектирование
- •Средства проектирования компании synopsys
- •Средства проектирования компании mentor graphics
- •Системный уровень
- •Уровень регистровых передач
- •Логический уровень
- •Заказное проектирование аналоговых и смешанных схем
- •Топологическое проектирование
- •Краткое описание возможностей SystemC
- •Контекст SystemC
- •Аспекты SystemC
- •Точность моделирования
- •Модели вычислений
- •Функциональное моделирование
- •Моделирование на уровне транзакций
- •Уровень rtl и связь с реализацией
- •Верификационные расширения
- •Построение модели функционального виртуального прототипа
- •Модели использования fvp
- •Создание встроенных программ
- •Функциональная верификация
- •Анализ fvp с помощью транзакций
- •Программы для характеризации цифровых библиотек
- •Spice-подобные программы моделирования
- •Интерфейс к пользовательским моделям
- •Программная система Charisma
- •Характеризация цифровой ячейки по помехоустойчивости
- •Помехоустойчивость цифровых бис к воздействию внешних помех
- •Устойчивость цепей питания цифровых бис
- •Анализ устойчивости цифровых бис к воздействию внутренних помех
- •Влияние помех в шинах питания на входы бис
- •Рекомендуемые схемотехнические методы борьбы с помехами в шинах питания бис
- •Помехи, генерируемые в сигнальных шинах из-за перекрестного взаимодействия
- •Помехи в сигнальных шинах, вызванные «состязаниями» сигналов
- •Конечная верификация проекта
- •Электрическая верификация
- •Временная верификация
- •Функциональная верификация
- •Заключение
- •Библиографический список
- •Оглавление
- •394026 Воронеж, Московский просп., 14
Модели использования fvp
Ниже приведены несколько моделей использования функциональных виртуальных проектных прототипов, созданных на основе SystemC.
Создание встроенных программ
С помощью FVP прототипа и модели набора инструкций CPU (ISS), соединенной с SystemC моделями, программисты могут отлаживать программы со скоростью в десятки тысяч тактов в секунду. Они также могут провести дополнительно анализ тестового покрытия. Ассерты (Assertions) вставленные в аппаратную часть (HW), могут использоваться программистами, если они проводят смешанные SystemC/Verilog или VHDL симуляции с помощью FVP модели и соответствующих средств разработки (таких как платформа верификации Incisive компании Cadence, поддерживающая симуляцию на SystemC, HDL, или смешанную - SystemC-HDL).
Функциональная верификация
FVP прототипы на уровне транзакций могут использоваться для представления системы на высоком уровне, с целью тестирования различных подсистем в контексте всего проекта перед тем, как закончить создание проекта на уровне RTL. Например, RTL версию контроллера прерываний можно протестировать до того, как будет готов RTL код всего проекта.
Так как FVP на уровне транзакций выполняется быстрее, чем эквивалентный RTL код, можно выполнить больше тестов и улучшить тестовое покрытие. FVP прототип является исполняемой спецификацией. Это объединяет проектную и системную команды.
FVP прототип может использоваться системной командой для выполнения анализа проекта на системном уровне. К такому анализу относится изучение загрузки шины, пропускной способности, размера кэша, иерархии памяти, числа процессоров, анализ алгоритмов арбитража и .т.д.
Конечный результат процесса создания кода, SW - скомпилированные SW приложения - могут выполняться на FVP, так как в прототип входит модель, симулирующая набор инструкций (ARM ISS) и взаимодействующая с остальными частями системы. В начале симуляции прикладное ПО загружается в память FVP, созданную на основе модели памяти на SystemC. Все запросы ARM на инструкции в ISS обслуживаются моделью памяти через SystemC интерфейс.
FVP прототип можно просматривать с помощью собственного окружения HDL-верификатора; данная методология поддерживает все типы HDL описаний структуры модели. Продвинутые средства верификации, такие как Cadence Incisive, поддерживают полный просмотр всех частей проекта, написанных на SystemC, VHDL и Verilog, в таких случаях как: смешанное проектирование (на нескольких языках) с SystemC и HDLs - которое становится более распространенным, так как позволяет, используя SystemC объединять проектирование «сверху-вниз» («top-down»), с проектированием «снизу-вверх» (с повторным использованием IP или старых HDL блоков) и с проектированием «с середины» («middle-out»), в котором могут использоваться либо SystemC либо HDLs на уровне RTL.
Анализ fvp с помощью транзакций
Конечно, существуют также другие проблемы проектирования и верификации, которые могут быть проанализированы с помощью FVP прототипа на более низком уровне, нежели системный. Например, детальный анализ на уровне такта может использовать транзакционный интерфейс для наблюдения за транзакциями между блоками, использованием шины или другими вещами. Среда верификации Incisive компании Cadence позволяет разработчикам наблюдать за симуляцией на уровне транзакций: В этом примере транзакции показаны в верхнем левом окне, а детали отдельной транзакции - в верхнем правом. В нижнем окне анализируется весь набор собранных транзакций и результат отображается в терминах использования шины master/slave.
На уровне транзакций анализ проблем и проектных возможностей гораздо более эффективен, чем на уровне индивидуальных сигналов и выводов. Конечно, если необходимо пользовательский интерфейс позволяет проектировщикам получить низкоуровневые детали отдельных транзакций (уровня сигналов, битов и выводов). Абстракция на уровне транзакций улучшает не только эффективность системного моделирования, но и эффективность отладки.