- •Введение
- •Обзор современного состояния субмикронной и глубоко-субмикронной технологий
- •Проектирование цифровых интегральных схем
- •Задачи и методы схемотехнического моделирования сбис
- •Этапы проектирования сбис
- •Общие вопросы характеризации цифровых библиотек
- •Характеризация логических элементов
- •Характеризация элементов памяти
- •Анализ переходных процессов
- •Описание характеристик ячеек из библиотеки
- •Языки моделирования цифровых библиотек
- •Обзор средств, существующих в настоящее время
- •Средства проектирования компании cadence
- •Системное проектирование
- •Аппаратное проектирование и верификация
- •Математическое макетирование
- •Топологическое проектирование
- •Средства проектирования компании synopsys
- •Средства проектирования компании mentor graphics
- •Системный уровень
- •Уровень регистровых передач
- •Логический уровень
- •Заказное проектирование аналоговых и смешанных схем
- •Топологическое проектирование
- •Краткое описание возможностей SystemC
- •Контекст SystemC
- •Аспекты SystemC
- •Точность моделирования
- •Модели вычислений
- •Функциональное моделирование
- •Моделирование на уровне транзакций
- •Уровень rtl и связь с реализацией
- •Верификационные расширения
- •Построение модели функционального виртуального прототипа
- •Модели использования fvp
- •Создание встроенных программ
- •Функциональная верификация
- •Анализ fvp с помощью транзакций
- •Программы для характеризации цифровых библиотек
- •Spice-подобные программы моделирования
- •Интерфейс к пользовательским моделям
- •Программная система Charisma
- •Характеризация цифровой ячейки по помехоустойчивости
- •Помехоустойчивость цифровых бис к воздействию внешних помех
- •Устойчивость цепей питания цифровых бис
- •Анализ устойчивости цифровых бис к воздействию внутренних помех
- •Влияние помех в шинах питания на входы бис
- •Рекомендуемые схемотехнические методы борьбы с помехами в шинах питания бис
- •Помехи, генерируемые в сигнальных шинах из-за перекрестного взаимодействия
- •Помехи в сигнальных шинах, вызванные «состязаниями» сигналов
- •Конечная верификация проекта
- •Электрическая верификация
- •Временная верификация
- •Функциональная верификация
- •Заключение
- •Библиографический список
- •Оглавление
- •394026 Воронеж, Московский просп., 14
Функциональная верификация
Каждый компонент (транзистор, логический элемент или функциональный блок) схемы можно описать по его поведению как функцию входов и внутреннего состояния. Объединяя описания этих элементов, можно сгенерировать модель всей схемы, в символической форме описывающей поведение рассматриваемой структуры. При формальной верификации данное расчетное поведение сравнивается с исходной спецификацией разработчика. Хотя два данных описания и не идентичны, они должны быть математически эквивалентными.
Формальная верификация — это предел мечтаний разработчика, которого он желает добиться от средств автоматизированного проектирования: доказательство, что схема будет работать именно так, как задано. К сожалению, до настоящего момента не было создано ни одного универсального средства верификации, которое получило бы широкое распространение. Сложность данной проблемы иллюстрируется следующим аргументом: чтобы доказать, что два описания схемы идентичны, необходимо сравнить их выходы для всех возможных входных последовательностей сигналов. Проблема в том, что время требуемых для этого расчетов экспоненциально растет в зависимости от числа входов и состояний.
Тем не менее, сказанное не означает, что формальная верификация относится к области фантазий. Для определенных классов схем соответствующие принципы верификации были предложены и успешно реализованы. Например, существенно сузить пространство поиска позволяет предположение о синхронности схемы. Одним из основных направлений исследований является доказательство эквивалентности между конечными автоматами; определенный прогресс в данной сфере уже наблюдается. В общем, формальная верификация делится на два основных класса.
Доказательство эквивалентности. Проектирование часто следует по пути уточнения, когда исходное высокоуровневое описание последовательно уточняется до более подробного. Средства доказательства эквивалентности позволяют гарантировать, что получаемый результат функционально эквивалентен первоначальному описанию. Например, подобное средство может установить, что транзисторная схема статического КМОП-элемента НЕ-И с N входами действительно реализует задуманную функцию НЕ-И.
Доказательство свойств. Разработчику часто нужно знать, сохраняются ли в процессе проектирования некоторые заданные свойства. Возможно, к разработке применяется следующее требование: "В схеме никогда не должны возникать состязания". Добиться поставленной цели можно с помощью хорошего средства доказательства свойств; кроме того, средство может сообщить, почему условие не удовлетворяется.
Одним из необходимых условий реализации формальной верификации является описание проекта, не допускающее неоднозначности и имеющее четко определенное значение (или семантику). При выполнении этого условия техника формальной верификации весьма эффективна и полезна. Например, областью, в которой формальная верификация достигла существенных успехов, являются конечные автоматы (Finite State Machine — FSM). Секрет этих успехов кроется в хорошо определенной математической модели описания.
Хотя функциональная верификация еще не получила должного признания в сфере автоматизированного проектирования, она может стать одним из наиболее важных инструментов в арсенале разработчика цифровых систем. Чтобы этот прогноз подтвердился, необходима большая работа в сфере спецификации и интерпретации проектов.