Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие 3000429.doc
Скачиваний:
23
Добавлен:
30.04.2022
Размер:
4.02 Mб
Скачать
    1. Описание характеристик ячеек из библиотеки

Качество результатов, полученных с помощью синтеза логики, сильно зави­сит от уровня детализации и точности описания отдельных ячеек. Чтобы оценить задержку сложного модуля, программа синтеза логики должна опи­раться на высокоуровневые модели задержек отдельных ячеек; обращаться к полной модели схемы с учетом задержек на уровне цепей или переключателей для оценки каждой задержки просто невозможно, поскольку это потребует слишком много времени. Следовательно, важной составляющей процесса раз­работки библиотеки стандартных ячеек является генерация моделей задер­жек. В предыдущих главах мы показали, что задержка сложного логического элемента является функцией разветвления по выходу (состоящего из присо­единенных логических элементов и проводов), а также времени нарастания и спада входных сигналов. Более того, задержка ячейки может отличаться для различных партий устройств из-за изменений параметров процесса.

Рис. 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. Характеристики задержки между сигналом тактового импульса и выхо­дов, времен установки и удержания регистра