- •Введение
- •Обзор современного состояния субмикронной и глубоко-субмикронной технологий
- •Проектирование цифровых интегральных схем
- •Задачи и методы схемотехнического моделирования сбис
- •Этапы проектирования сбис
- •Общие вопросы характеризации цифровых библиотек
- •Характеризация логических элементов
- •Характеризация элементов памяти
- •Анализ переходных процессов
- •Описание характеристик ячеек из библиотеки
- •Языки моделирования цифровых библиотек
- •Обзор средств, существующих в настоящее время
- •Средства проектирования компании cadence
- •Системное проектирование
- •Аппаратное проектирование и верификация
- •Математическое макетирование
- •Топологическое проектирование
- •Средства проектирования компании synopsys
- •Средства проектирования компании mentor graphics
- •Системный уровень
- •Уровень регистровых передач
- •Логический уровень
- •Заказное проектирование аналоговых и смешанных схем
- •Топологическое проектирование
- •Краткое описание возможностей SystemC
- •Контекст SystemC
- •Аспекты SystemC
- •Точность моделирования
- •Модели вычислений
- •Функциональное моделирование
- •Моделирование на уровне транзакций
- •Уровень rtl и связь с реализацией
- •Верификационные расширения
- •Построение модели функционального виртуального прототипа
- •Модели использования fvp
- •Создание встроенных программ
- •Функциональная верификация
- •Анализ fvp с помощью транзакций
- •Программы для характеризации цифровых библиотек
- •Spice-подобные программы моделирования
- •Интерфейс к пользовательским моделям
- •Программная система Charisma
- •Характеризация цифровой ячейки по помехоустойчивости
- •Помехоустойчивость цифровых бис к воздействию внешних помех
- •Устойчивость цепей питания цифровых бис
- •Анализ устойчивости цифровых бис к воздействию внутренних помех
- •Влияние помех в шинах питания на входы бис
- •Рекомендуемые схемотехнические методы борьбы с помехами в шинах питания бис
- •Помехи, генерируемые в сигнальных шинах из-за перекрестного взаимодействия
- •Помехи в сигнальных шинах, вызванные «состязаниями» сигналов
- •Конечная верификация проекта
- •Электрическая верификация
- •Временная верификация
- •Функциональная верификация
- •Заключение
- •Библиографический список
- •Оглавление
- •394026 Воронеж, Московский просп., 14
Описание характеристик ячеек из библиотеки
Качество результатов, полученных с помощью синтеза логики, сильно зависит от уровня детализации и точности описания отдельных ячеек. Чтобы оценить задержку сложного модуля, программа синтеза логики должна опираться на высокоуровневые модели задержек отдельных ячеек; обращаться к полной модели схемы с учетом задержек на уровне цепей или переключателей для оценки каждой задержки просто невозможно, поскольку это потребует слишком много времени. Следовательно, важной составляющей процесса разработки библиотеки стандартных ячеек является генерация моделей задержек. В предыдущих главах мы показали, что задержка сложного логического элемента является функцией разветвления по выходу (состоящего из присоединенных логических элементов и проводов), а также времени нарастания и спада входных сигналов. Более того, задержка ячейки может отличаться для различных партий устройств из-за изменений параметров процесса.
Рис. 12. Составляющие задержки комбинационного логического элемента
К сожалению, общепринятой модели задержки для стандартных ячеек не существует. Каждый производитель имеет свои любимые методы описания характеристик ячеек. Довольно часто даже в одном средстве моделирования можно использовать несколько моделей задержки, отличающихся предлагаемой точностью или быстродействием. Остановимся на одном наборе моделей, используемом в Design Compiler (Synopsys) [DesignCompiler] — одном из наиболее популярных инструментов синтеза. Как только вы определитесь с моделью, ее нужно принять для всех ячеек блока; другими словами, менять ее для разных ячеек недопустимо [1].
Как показано на рис. 12, суммарная задержка состоит из четырех компонентов:
где – представляет внутреннюю (или собственную) задержку — задержку при нулевой выходной нагрузке; – это переходной компонент, или часть задержки, порожденная выходной нагрузкой; – это часть задержки, вызванная наклоном входного сигнала; – это задержка провода, следующего после логического элемента. Все задержки принято указывать для переходов в высокое и низкое состояние.
Простейшей моделью задержки перехода является линейная модель. Имеем:
где – это сумма всех входных емкостей элементов, соединенных с выходом данного логического элемента; – оценка емкости провода. Задержка наклона аппроксимируется линейной функцией задержки перехода предыдущего логического элемента и записывается следующим образом:
где – это коэффициент чувствительности к переходу; – задержка перехода предыдущего каскада.
Таким образом, при описании характеристик библиотечного элемента необходимо указывать следующие элементы (для переходов в высокое и низкое состояние и для каждого входного контакта):
• внутренняя задержка;
• емкость входного контакта;
• эквивалентное выходное внесенное сопротивление;
• чувствительность к переходу.
Помимо моделей ячеек, средства синтеза также должны иметь доступ к модели провода. Поскольку длина проводов неизвестна до размещения ячеек, оценки CWire и Rwtre делаются на основе размера блока и разветвления по выходу рассматриваемого логического элемента. Довольно часто длина провода пропорциональна числу пунктов назначения, которые он должен связать.
Хотя линейные модели задержки предлагают хорошие оценки в первом приближении, при синтезе часто применяются более точные модели (особенно, когда в разработке нужно учесть фактическую длину проводов). В таком случае необходимо использовать нелинейные модели. Наиболее распространенный подход заключается в записи нелинейных соотношений в виде таблиц соответствий для каждого из рассматриваемых параметров. Для повышения вычислительной эффективности и минимизации требований к памяти и характеристикам записывается только ограниченный набор нагрузок и переходов, а для определения пропущенных значений применяется линейная интерполяция.
Н иже приведено (частичное) описание характеристик ячейки И с двумя входами (AND2), разработанной по 0,25-микронной КМОП-технологии. Задержки записываются для выходных емкостей 7, 35, 70 и 140 фФ и времени выполнения перехода на входе 40, 200, 800 пс и 1,6 не соответственно.
Время установки ( ) представляет собой время, в течение которого информационный вход (D) должен быть действительным до тактового перехода (другими словами, перехода для регистра, активизируемого положительным фронтом). Время удержания ( ) – это время, в течение которого информационный вход должен быть действительным после фронта тактового импульса. Наконец, задержка распространения ( ) равна времени, которое требуется данным для копирования на выход Q после тактового события.
Защелки характеризуются немного более сложным поведением, поэтому для их описания требуется дополнительный временной параметр. Время соответствует задержке повторного запуска данных, прибывающих на закрытую защелку, a – задержке между терминалами D и Q, когда защелка находится в прозрачном режиме (рис. 13, б).
Охарактеризовать задержку ( ) довольно просто. Она состоит из задержки, измеряемой между точкой 50%-ного перехода между и Q, для различных значений входных наклонов и выходных нагрузок.
Рис. 13. Определение задержки распространения для последовательных компонентов: а — регистра; б — защелки
Охарактеризовать время установки и время удержания несколько сложнее, поскольку это зависит от того, что понимается под "действительным входом" в приведенных выше определениях. Рассмотрим, например, время установки. Сужение временного интервала между прибытием данных на вход D и событием приводит не к мгновенному сбою, а к постепенному ухудшению задержки регистра. Рассмотрим рис. 13, а, где показано поведение регистра, когда время прибытия данных близко ко времени установки. Если D меняется задолго до фронта тактового импульса, задержка имеет постоянное значение. Приближение перехода к фронту тактового импульса приводит к увеличению . Наконец, если данные будут меняться слишком близко к краю тактового импульса, регистр вообще не сможет зарегистрировать переход.
Очевидно, нам требуется более точное определение понятия "время установки". Однозначную спецификацию можно получить, построив зависимость задержки от сдвига между данными и тактовым импульсом, как показано на рис. 14, б. Мы видим, что для небольших значений сдвига наблюдается ухудшение задержки. Реальное определение времени установки выглядит несколько необоснованным. Если бы мы определили это понятие как минимальное смещение , приводящее к сбою триггера, тогда регистр характеризовался бы чрезмерной задержкой, если смещение близко к данному времени, но все же превышает его. Еще можно определить время установки через рабочую точку регистра, минимизирующую сумму задержки и смещения между данными и тактовым импульсом. Эта точка, минимизирующая общие служебные издержки триггера, достигается, когда наклон кривой задержки на рис. 14, б равен 45 градусам.
Хотя индивидуальные проекты могут выигрывать от приближения триггеров к точке сбоя (разумеется, принимая при этом все сопутствующие риски), полуиндивидуальные разработки должны использовать более консервативный подход. При описании характеристик регистров в библиотеке стандартных элементов времени установки и удержания обычно определяются как смещения между данным и тактовым импульсом, соответствующие определенному увеличению (в процентах) (обычно это 5%, как показано на рис. 14, б).
Рис. 14. Характеристики последовательных элементов: а — определение времени установки регистра; б — определение времени установки и удержания
Обратите внимание на то, что данные кривые отличаются для переходов 0-1 и 1-0, т.е. для значений 0 и 1 время установки и удержания будет различным. Кроме того, время установки зависит от наклонов кривых данных и тактовых импульсов и в нелинейных моделях задержки представляется двухмерными таблицами. Разумеется, все сказанное также относится и к защелкам.
В данном примере мы исследуем время установки и удержания регистра "master-slave" на передаточных элементах. Регистр нагружается конденсатором емкостью 100 фФ, и его время установки и удержания изучается, когда наклон сигналов данных и тактовых импульсов составляет 100 пс. Результаты моделирования показаны на рис. 15. Когда данные устанавливаются "задолго" до фронта тактового импульса, задержка между тактовым импульсом и выходом составляет 193 пс. Приближая переход к фронту, мы увеличиваем задержку , что становится заметно при смещении порядка 150 пс. Отказ регистра происходит, когда изменение сигнала данных происходит за 77 пс до фронта тактового импульса. Сумма смещения D — Q и времени минимальна при 93 пс. Увеличение на 5% наблюдается при 125 пс, и именно это время указано в библиотеке как время установки для данных наклонов сигналов данных и тактовых импульсов. При таком описании времени установки разработчик имеет в своем распоряжении порядка 30 пс. Из результатов моделирования мы также можем определить, что время удержания данного регистра равно —15 пс.
Рис. 15. Характеристики задержки между сигналом тактового импульса и выходов, времен установки и удержания регистра