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

    1. Характеризация логических элементов

Для формирования моделей логических элементов (ЛЭ) выполняется многократное моделирование электрических схем ЛЭ с помощью соответствующих программ (типа Spice). Этот процесс получил название характеризация ЛЭ.

Для получения зависимостей функциональных параметров ЛЭ от длительности фронтов входных сигналов Sinp и от величины нагрузочных емкостей Соut моделирование должно быть выполнено для заданных наборов этих величин:

{Sinp}, k [1:NS], {Clout}, l [1: NC],

где значения NS и NC обычно не превышают 10-20.

Таким образом, для получения табличных значений этих зависимостей необходимо провести NS*NC циклов моделирования, т.е. порядка нескольких сотен расчетов схем ЛЭ.

Учитывая, что модели ЛЭ должны быть сформированы для различных значений напряжения питания Vdd и температуры T, число циклов моделирования возрастает еще в несколько раз. При этом предполагается, что на одном цикле моделирования вычисляются все необходимые параметры, т.е. задержки и фронты для всех выходов ЛЭ от всех его входов, входные емкости всех входов, потребляемые мощности и т.д. Таким образом, задача характеризации ЛЭ является весьма трудоемкой процедурой, требующей значительных вычислительных ресурсов. Обычно характеризация всех элементов библиотеки требует порядка нескольких десятков часов только процессорного времени. Поэтому актуальной является проблема ускорения процесса характеризации.

Обычно для характеризации используются коммерческие программы электрического моделирования, которые позволяют пользователю изменять параметры схемы посредством внесения изменений в ее описание. Это означает, что для того, чтобы выполнить моделирование, например, с другим значением Sinp, нужно внести изменения в описания входных источников, выполнить трансляцию измененного описания, предварительную подготовку данных для моделирования, а затем только собственно электрический расчет схемы. Если для схем большого объема «накладные расходы» составляют сравнительно небольшую часть от общего времени моделирования, то для ЛЭ они могут даже превысить затраты на собственно моделирование. Кроме того, далеко не все параметры, необходимые для характеризации, можно непосредственно получить от стандартных программ. Например, такой параметр, как входная емкость ЛЭ Сinp, может быть вычислен только с помощью соответствующей обработки данных из файла результатов моделирования. Следовательно, в процесс характеризации включается еще и работа с файлами результатов, что также сказывается на общих затратах.

Указанные выше обстоятельства явились мотивом для разработки специального режима программы электрического моделирования, предназначенного для характеризации ЛЭ. Главные свойства такой программы - это возможность внесения необходимых изменений в схему непосредственно в рабочих структурах данных программы и вычисление функциональных параметров ЛЭ «на лету», т.е. не выходя из основного вычислительного процесса, полностью, исключая работу с файловой системой. Задание на характеризацию ЛЭ описывается на входном языке программы (расширение языка Tel) и транслируется один раз вместе с описанием самой схемы. На рис. 7 приведен пример такого задания для ЛЭ AND2.

Рассмотрим некоторые записи в этом задании. В первой части задания описываются входы и выходы ЛЭ, задаются наборы {Skinp} и {Сlout} и указываются уровни измерения задержек и фронтов. Далее, каждый цикл моделирования для пары {Skinp, Сlout} делится на периоды одинаковой длительности time_slice, которые идентифицируются номерами 1, 2, ... . Значение time_slice должно заведомо превосходить предполагаемую длительность переходного процесса в схеме. Задание может включать один или несколько тестов. Для каждого теста задаются свои описания входных сигналов и наборы необходимых измерений.

Формы входных сигналов описываются инструкциями вида:

f_loop_waveform (имя входа) «(строка состояний)»,

где (строка состояний) состоит из последовательности символов: r - передний фронт (rise), f- задний фронт (fall), 1 - уровень input_level_high, 0 - уровень input_level_low.

Измерения задержек и фронтов выходных сигналов задаются инструкциями вида:

f_ loop_measure delay

В этих инструкциях состояния входов и выходов (rf) служат для контроля правильности логического функционирования схемы.

Измерения входных емкостей задаются инструкциями вида:

f_loop_measure cap (имя входа) (номер периода).

В описании задания на характеризацию явно не указан набор {{Skinp}. Вместо этого помещена ссылка на описание входного драйвера:

f_loop_set input_driver (имя драйвера) (множитель).

( имя входа) (rf) (номер периода) (имя выхода) (rf).

Рис. 7. Пример задания для AND2 (# - комментарии)

Это связано еще с одним приемом, применяемым для характеризации ЛЭ. Практически все функциональные параметры ЛЭ зависят от формы входных сигналов. Например, линейные фронты дают одни значения задержек, экспоненциальные - другие значения и т.д. Необходимо приближать форму входных импульсов к импульсам на выходах, идентичных ЛЭ. Обычно для этой цели при характеризации ЛЭ сигналы на входы подаются не непосредственно от источников напряжения, а через специальные схемы входных драйверов (рис. 8). На вход такого драйвера подаются сигналы с очень коротким фронтом (обычно сотые доли пикосекунды). Выходное напряжение формируется управляемым генератором напряжения Vc, воспроизводящим форму напряжения на емкости . Значения емкостей в этих схемах подбираются таким образом, чтобы длительности выходных фронтов соответствовали заданному набору {Skinp} («калибровка драйвера»). Применение таких входных драйверов имеет ряд недостатков. Во-первых, необходимо скорректировать схему характеризуемого ЛЭ, включив в нее схемы драйверов. Во-вторых, это увеличивает размер схемы, например, схема элемента NOR2 вместо четырех будет содержать двенадцать транзисторов. Наконец, входные источники драйверов со сверхкороткими фронтами «заставят» программу моделирования выполнять интегрирование с очень мелким шагом, что, конечно, отражается на общем времени характеризации.

Чтобы исключить эти недостатки, включают в программу моделирования специальный тип источников входных сигналов, воспроизводящих форму сигналов на выходе схемных драйверов с заданным набором фронтов {Sinp} и управляемых строками состояний из инструкций f_loop_waveform.

Рис. 8. Схема входного драйвера

Фронты этих источников описываются сплайн-функциями, информация для построения которых получается в результате процесса характеризации схемного драйвера.

Этот процесс выполняется следующим образом:

1. Назначается достаточно произвольная последовательность значений выходной емкости схемного драйвера { }, обеспечивающая получение выходных фронтов, лежащих в диапазоне [min{Skinp}, max{Skinp}].

2. Выполняется моделирование схемного драйвера для каждого значения { }, и запоминаются дискретные значения функций S_f( ), S_r( ), где S_f, S_r - длительности прямых (г) и обратных (f) фронтов на выходе драйвера.

3. Используя дискретные значения S_f( ), S_г( ), строятся сплайн-аппроксимации обратных функций Сl_f (Sinp), Сl_r (Sinp) - зависимости нагрузочных емкостей драйвера от Sinp.

4. Для заданного набора значений фронтов {Skinp}, используя сплайн-функции Сl_f (Sinp), Сl_r (Sinp), вычисляются дискретные значения нагрузочных емкостей, _f , _r, k=1, 2,...Ns, отдельно для переднего (rise) и заднего (fаll) фронтов.

5. Для каждой пары ( _f , _r) выполняется моделирование драйвера, причем на переднем фронте включается емкость С а на заднем - С, у. В процессе моделирования запоминаются таблицы, дискретные значения функции Vma(t) - выходного напряжение драйвера.

6. По полученным таблицам Tr, Tf строятся сплайн-аппроксимации функции Vout(t) для rise- и fall-фронтов для каждой пары ( _f, _r), т.е. для каждого значения Skinp.

Для аппроксимации функций в приведенном выше процессе используются бикубические сплайны. На i-м отрезке области определения сплайна ( ) значение функции y вычисляется по формуле:

где {хi} -узловые значения аргумента,

{fi}-узловые значения функции;

r1 = xi-x, r2 = x-xi-1, f1=fi-1, f2=fi, hi= xi-xi-1, m1, m2 - коэффициенты сплайна, вычисляемые для каждого i-го отрезка.

Коэффициенты сплайнов запоминаются в файле, на который и указывает инструкция f_1оор_set input_drive. Масштабный множитель в этой инструкции позволяет использовать один и тот же файл для различных напряжений Vdd. Очевидно, что процесс построения характеризации драйвера может быть выполнен один раз перед характеризацией всех ЛЭ библиотеки вентилей. Такая аппроксимация обеспечивает точное совпадение в узловых точках, гладкость по первой производной и минимальную норму второй производной аппроксимирующей функции. Типичный вид входного сигнала, формируемого сплайн-источником показан на рис. 9.

П редлагаемые приемы совершенствования процесса характеризации ЛЭ: отсутствие перезагрузок программы электрического моделирования, вычисление «на лету» функциональных параметров, применение входных сплайн-источников, позволили, как минимум, на порядок сократить затраты машинного времени на характеризацию библиотек логических элементов.

Рис. 9. Входной сигнал сплайн-источника напряжения