- •Введение
- •Обзор современного состояния субмикронной и глубоко-субмикронной технологий
- •Проектирование цифровых интегральных схем
- •Задачи и методы схемотехнического моделирования сбис
- •Этапы проектирования сбис
- •Общие вопросы характеризации цифровых библиотек
- •Характеризация логических элементов
- •Характеризация элементов памяти
- •Анализ переходных процессов
- •Описание характеристик ячеек из библиотеки
- •Языки моделирования цифровых библиотек
- •Обзор средств, существующих в настоящее время
- •Средства проектирования компании cadence
- •Системное проектирование
- •Аппаратное проектирование и верификация
- •Математическое макетирование
- •Топологическое проектирование
- •Средства проектирования компании synopsys
- •Средства проектирования компании mentor graphics
- •Системный уровень
- •Уровень регистровых передач
- •Логический уровень
- •Заказное проектирование аналоговых и смешанных схем
- •Топологическое проектирование
- •Краткое описание возможностей SystemC
- •Контекст SystemC
- •Аспекты SystemC
- •Точность моделирования
- •Модели вычислений
- •Функциональное моделирование
- •Моделирование на уровне транзакций
- •Уровень rtl и связь с реализацией
- •Верификационные расширения
- •Построение модели функционального виртуального прототипа
- •Модели использования fvp
- •Создание встроенных программ
- •Функциональная верификация
- •Анализ fvp с помощью транзакций
- •Программы для характеризации цифровых библиотек
- •Spice-подобные программы моделирования
- •Интерфейс к пользовательским моделям
- •Программная система Charisma
- •Характеризация цифровой ячейки по помехоустойчивости
- •Помехоустойчивость цифровых бис к воздействию внешних помех
- •Устойчивость цепей питания цифровых бис
- •Анализ устойчивости цифровых бис к воздействию внутренних помех
- •Влияние помех в шинах питания на входы бис
- •Рекомендуемые схемотехнические методы борьбы с помехами в шинах питания бис
- •Помехи, генерируемые в сигнальных шинах из-за перекрестного взаимодействия
- •Помехи в сигнальных шинах, вызванные «состязаниями» сигналов
- •Конечная верификация проекта
- •Электрическая верификация
- •Временная верификация
- •Функциональная верификация
- •Заключение
- •Библиографический список
- •Оглавление
- •394026 Воронеж, Московский просп., 14
Моделирование на уровне транзакций
Моделирование на уровне транзакций позволяет абстрагировать взаимодействие между модулями, так что функции модулей определяются точно, а взаимодействие между ними оптимизировано для ускорения симуляции. Эта оптимизация достигается с помощью использования абстрактных типов данных для описания передаваемой между модулями информации вместо индивидуальных битовых сигналов, определяемых индивидуальными событиями; а также с помощью интерфейсных методов, вместо сигнальных событий. В общем, симуляция на уровне сигналов и выводов заменяется эффективными методами обращений, которые передают целые структуры данных. Это позволяет увеличить скорость симуляции в 100-1000 раз по сравнению с симуляцией на RTL.
Вдобавок к этому при моделировании на уровне транзакций некоторые транзакции вначале могут вообще игнорироваться. Из полного набора транзакций шины некоторые транзакции ошибок или аварийной остановки могут не моделироваться вообще, или моделироваться только на следующем этапе, с целью концентрации начальных усилий на ключевых транзакциях передачи данных (передача слов и пакетные чтение/запись) поддерживаемых моделью шины. Стадия арбитража (выяснение приоритетов доступа к шине) может игнорироваться в начальном моделировании, и будет добавлена на следующем этапе, либо в процессе детализации на основе подстановки (из библиотеки).
У специалистов, связанных с OSCI (Open SystemC Initiative), существует большой интерес в определении стандартного набора типов транзакций, с целью их использования в системном моделировании и в обеспечении взаимодействия разных IP моделей, включая транзакции, как с точки зрения SW программиста ("программная модель»), так и с точки зрения аппаратного проектировщика ("аппаратная модель с точностью до такта»). Методы детализации на основе библиотечной подстановки могут поддерживать использование таких транзакционных моделей на указанных уровнях, на основе стандартного набора API интерфейсов.
Моделирование на уровне транзакций особенно важно для платформоориентированных SoC моделей, для обеспечения корректного моделирования и изучения различных эффектов в коммуникациях на высоком уровне, таких как загрузка шины, конфликты на шине, а также влияния шины на общую производительность системы. При этом эти платформоориентированные модели могут быть детализированы с точностью до такта, что необходимо для аппаратного проектирования, и могут послужить в качестве эталонных моделей или тестовых платформ в процессе аппаратного проектирования.
Уровень rtl и связь с реализацией
Язык SystemC позволяет детализировать существующую модель или создать новые модели и точно определить степень синтезабельности RTL моделей, в VHDL или Verilog.
В RTL модели вычислений все коммуникации между процессами должны проходить на уровне сигналов; процессы могут представлять последовательную или комбинаторную логику - в первом случае они чувствительны к фронтам синхроимпульсов, а во втором - ко входному набору сигналов. Порты RTL модулей должны соответствовать разъемам и соединениям конечной реализации, и, конечно же, они должны быть определены с точностью до такта.
В маршруте проектирования нет необходимости в детализации SystemC модели до RTL уровня, разве что по соображениям удобства. Возможность взаимодействия с программами HW симуляции позволяет объединить вместе модели на SystemC и HDL; поведенческий синтез позволяет избежать SystemC моделей на RTL уровне; также возможна трансляция подмножества SystemC в конструкции RTL.