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

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

Задача характеризации элементов микросхем заключается в получении зависимостей функциональных параметров библиотечного элемента или блока от длительности фронтов сигналов на входе и от величины нагрузочных емкостей для заданных наборов этих величин. В коммерческих системах характеризации (SiliconSmart [1], Virtuoso Liberate Characterization Solution [2], Virtuoso Variety Statistical Characterization Solution [3], Virtuoso Liberate MX Memory Characterization Solution [4], Kronos Characterizer Plus [5]) такие зависимости строятся на основе многократного электрического моделирования в Hspice [6], Spectre [7] и подобных программах схемотехнического моделирования. В случае характеризации СФ-блоков, как правило, используются программы быстрого схемотехнического моделирования (NanoSim [8], Ultrasim [9] и т.д.) для обработки большого объема данных.
В дальнейшем результаты характеризации библиотечных элементов и СФ-блоков могут быть использованы в программах временного анализа, анализа потребляемой мощности и анализа шумов.

Современные модели характеризации библиотек элементов микросхем[править | править код]

NLDM модель[править | править код]

Synopsys поддерживает несколько моделей задержек: универсальную модель задержки КМОП, кусочно-линейную модель задержки, нелинейную модель задержки (Non-Linear Delay Model, NLDM) и модель на основе составного источника тока (CCS). К настоящему времени первые две модели практически вышли из употребления в силу их неэффективности при оценке быстродействия. NLDM модель является наиболее распространенной моделью задержки, использующейся в процессе проектирования специализированных интегральных схем.
NLDM модель создается в процессе моделирования схемы при характеризации элементов с различными временами переключения выходов и нагрузочными емкостями выходов[1]. Результаты формируют таблицу с величиной задержки и времени переключения выхода в зависимости от входного фронта и нагрузочной емкости для каждого переключения:

Dout (Sinpk, Coutl), k є [1:NS], l є [1:NC],
Sout (Sinpk, Coutl), k є [1:NS], l є [1:NC],

где Dout – выходной сигнал, Sout – длительность выходного фронта сигнала, Sinp – длительность фронта входного сигнала, Cout – емкость нагрузки.
В дальнейшем такая таблица может использоваться для расчета критического пути в сложной схеме без полного моделирования всего элемента для вычисления результирующей задержки элемента. Такие таблицы строятся для каждой дуги логического графа arcij = (inpi, outj), если изменение логического состояния inpi может привести к переключению outj, причем для различных направлений переключений входа и выхода (rise или fall) для каждой дуги arcij строятся свои таблицы. Таким образом, с каждой дугой может быть связано до четырех таблиц Dout (Sinpk, Coutl) и столько же таблиц Sout (Sinpk, Coutl)[2]. Некоторые системы проектирования позволяют также различать для каждой дуги arcij логические состояния прочих входов. Тогда число таблиц, связанных с каждой arcij, соответственно увеличивается. Кроме моделей задержек и выходных фронтов, NLDM модель включает значения эффективных входных емкостей Cinpr и Cinpf для каждого входа схемы, отдельно для направлений переключения входного сигнала 0 -> 1 (rise) и 1 -> 0 (fall).
Задержки элемента получаются в результате многократного Spice-моделирования для каждого множества Sinp и Cout. Поскольку таблица соответствия содержит только небольшой набор Sinp и Cout, с помощью интерполяции или экстраполяции необходимо оценить Dout и Sout для требуемых значений Sinp и Cout.
Поскольку длительность выходного фронта зависит от двух характеристик, можно провести несколько точных измерений и занести их в таблицу. По столбцам таблицы будут откладываться значения емкости, по строкам – длительности входного фронта. В ячейках таблицы будут находиться значения длительности выходного фронта. Моделирующая программа считает эти данные и будет использовать их для вычисления длительности выходного фронта. Точно такую же таблицу необходимо составить для вычисления мощности и задержек переключения. Задержкой переключения считают время, прошедшее с момента перехода входного сигнала через пороговое значение до момента, когда порогового значения достигнет выходной сигнал. Это время также зависит от длительности входного фронта и суммарной емкости на выходе.
Проблемы использования NLDM модели возникают, когда выходы вентилей соединяются со входами других вентилей реальными межсоединениями, модели которых представляются RC-цепями (RLC-цепями). Появление новых нанометровых технологий сопровождается возникновением новых эффектов, формы сигналов становятся более нелинейными, сопротивления межсоединений достигают нескольких кОм. Эти эффекты необходимо учитывать для точных расчетов при проектировании и временном анализе.
Точность модели зависит от выбранной степени шага изменения нагрузочной емкости и длительности входного фронта, а также их диапазона допустимых значений для времени переключения и нагрузочных емкостей. Если значение входного фронта и нагрузки попадает в пределы таблицы характеризации, то задержки вычисляются методом интерполяции. Значения окружающих четырех точек используются для определения значения задержки числовыми методами. Проблема возникает, когда какой-нибудь параметр находится вне диапазона характеризации. САПР поддерживает алгоритмы экстраполяции для получения значения такой задержки, но она часто имеет завышенное значение. Это может оказаться очень полезным, так как завышенное значение легко заметить в процессе статического временного анализа, что предоставляет разработчикам возможность исправить ситуацию.
NLDM модель позволяет рассчитывать задержки быстро, однако из-за увеличения частоты и уменьшения технологического размера относительная погрешность, вносимая NLDM, больше не является приемлемой. Компаниями Synopsys и Cadence были разработаны новые модели, в которых формы выходных сигналов могут быть получены более точно, в том числе и значения задержек в схеме. К ним относится CCS модель (Composite current source) Synopsys [10] (недоступная ссылка) и ECSM модель (Effective current source model) Cadence [11].

CCS модель[править | править код]

CCS (Composite Current Source) обеспечивает высокую точность расчета задержек ячеек, межсоединений, длительностей входного фронта и нагрузочной емкости при наличии паразитных элементов. Для достижения необходимой точности вычислений задержек в CCS используются три компоненты: компонента источника, компонента приемника, редуцированная упорядоченная компонента для расчета паразитных RC соединений [12].
Временная модель CCS состоит из двух частей:

  • Нелинейная компонента источника переменного (во времени) тока, зависящего от напряжения:
Iout = F(t, Sinp, Cout),

где Sinp - длительность фронта входного сигнала, Cout - емкость нагрузки. Компонента источника может использоваться как с компонентой приемника, так и без нее.
Функция F(t, Sinp, Cout) при фиксированных значениях Sinp и Cout определяется как ток через нагрузочную емкость Cout при подаче на вход вентиля сигнала с фронтом Sinp.
В CCS модели та часть функции тока Iout(t), которая имеет знак плюс для rise-фронта выходного сигнала и минус для fall-фронта, запоминается в виде набора дискретных точек {tk, Ioutk} на интервале [t0, t1]. При пересечении порогового уровня 0.5·Vdd входным сигналом Vinp(t) значение времени Tref запоминается в модели.
Таблицы функций Iout = F(t, Sinp, Cout) строятся для каждой дуги логического графа вентиля arcij и отдельно для каждого возможного сочетания rise/fall переключений входа и выхода. Зависимости Iout(t), полученные в результате моделирования электрической схемы, сохраняются в модели в форме одномерных таблиц. Число временных точек в таких таблицах не регламентируется. Очевидно, что здесь должен быть соблюден компромисс между требуемой точностью восстановления функции Iout(t) по табличным данным и требуемым объемом памяти для хранения таблиц F (t, Sinp, Cout).

  • Компонента приемника представляет собой вход приемного элемента, описывающего характер изменения величины емкости в зависимости от длительности входного фронта и емкости на выходе. Для динамической корректировки значения емкости в течение перехода используются два значения – C_1 и C_2 (отдельные величины для переднего и заднего фронтов):
C_1inpr|f (Sinp, Cout),
C_2inpr|f (Sinp, Cout),

где C_1 – это таблица значений эффективных входных емкостей, рассчитанных для первой половины фронта входного сигнала, а C_2 – это таблица значений емкостей, вычисленных для второй половины фронта входного сигнала. Если эффективное значение входной емкости слабо зависит от емкости выходной нагрузки (это имеет место для многокаскадных схем), то допускается упрощенное представление модели входов, а именно:

C_1inpr|f (Sinp),
C_2inpr|f (Sinp).

В этом случае одномерные таблицы C_1 и C_2 связываются не с дугами arcij, а со входами вентиля.
Перед характеризацией проводятся измерения выходного тока как функции времени для указанных длительности входного фронта и выходной емкости. Форма сигнала напряжения восстанавливается на основе токов и соответствующих емкостей. Для емкостей и входных фронтов, в которых не были проведены измерения тока, используется интерполяция.
Объем выходных данных для CCS модели значительно превышает объем результирующих данных для NLDM модели, однако количество моделирований электрической схемы в обоих случаях одинаково, при этом точность CCS модели близка к точности полного электрического моделирования.

ECSM модель[править | править код]

В САПР фирмы Cadence применяется модель временных параметров вентилей, сходная с CCS моделью, – ECSM (Effective Current Source Model). ECSM является расширением формата Liberty, обеспечивающим способ хранения данных, которые совместимы с существующим форматом описания задержек [13].
ECSM – это метод вычисления задержек, который использует модель источника на основе тока и модель приемника с переменной емкостью выводов для точного вычисления задержки вентиля. Такой метод более эффективен для учета нелинейного поведения транзисторов при переключении и позволяет более точно моделировать межсоединения. В то время как CCS использует диаграммы токов явно, ECSM использует диаграммы напряжений, которые конвертируются в диаграммы токов во время расчета задержек:

Vout = G(t, Sinp, Cout),

где Vout – напряжение на выходе вентиля, Sinp – длительность фронта входного сигнала, Cout – емкость нагрузки.
В качестве моделей входов также используются таблицы емкостей, но без деления их на две таблицы C_1 и C_2, как это делается в CCS. Модель приемника ECSM записывается следующим образом:

Cinpr|f (Sinp, Cout).

Значения функции Vout(t) сохраняются в одномерные таблицы для интервала [t0, t1], где точки t0 и t1 определяются условием Vout(t) є [0+ε, Vdd–ε], ε=const.
При использовании диаграммы напряжений возможна более быстрая и точная характеризация библиотечных ячеек.
Теоретически модели CCS и ECSM модели драйверов эквивалентны, так как функции Iout(t) и Vout(t) связаны уравнением: Iout(t) = Cout·(dVout(t)/dt). Практически эти модели могут приводить к несколько различным результатам, так как функции Iout(t) и Vout(t) различаются областями определения. Кроме того, вычисление Iout(t) из уравнения неизбежно сопровождается числовыми погрешностями.

Современные тенденции в развитии методов характеризации[править | править код]

Характеризация логических элементов[править | править код]

Для формирования моделей логических элементов выполняется многократное моделирование электрических схем логических элементов с помощью соответствующих программ (например, Hspice) – так называемая характеризация логических элементов. Как было сказано выше, в современных САПР (Synopsys, Cadence, Mentor Graphics) наиболее распространенной моделью для характеризации библиотечных элементов и СФ-блоков является нелинейная модель задержки NLDM в формате Liberty. Для получения зависимостей функциональных параметров логических элементов от длительности фронтов входных сигналов Sinp и от величины нагрузочных емкостей Cout моделирование должно быть выполнено для заданных наборов этих величин:

{Sinpk}, k є [1 : NS],
{Coutl}, l є [1 : NC],

где значения NS и NC обычно не превышают 10-20. Таким образом, для получения табличных значений этих зависимостей необходимо провести NS·NC циклов моделирования, то есть порядка нескольких сотен расчетов схем логических элементов.
Учитывая, что модели логических элементов должны быть сформированы для различных значений напряжения питания Vdd и температуры T, число циклов моделирования возрастает еще в несколько раз. При этом предполагается, что на одном цикле моделирования вычисляются все необходимые параметры, то есть задержки и фронты для всех выходов логических элементов от всех его входов, емкости всех входов, потребляемая мощность и т.д. Таким образом, задача характеризации логических элементов является весьма трудоемкой процедурой, требующей значительных вычислительных ресурсов. Обычно характеризация всех элементов библиотеки требует порядка нескольких десятков часов процессорного времени. Поэтому актуальной является проблема ускорения процесса характеризации [14] [3] [4].
Обычно, для характеризации используется коммерческие программы электрического моделирования, которые позволяют пользователю изменять параметры схемы за счет внесения изменений в ее описание. Это означает, что для того чтобы выполнить моделирование, например, с другим значением Sinpk, нужно внести изменения в описания входных источников, выполнить трансляцию измененного описания, препроцессорную подготовку данных для моделирования, а затем только электрическое моделирование схемы. Если для схем большого объема этот процесс занимает сравнительно небольшую часть от общего времени моделирования, то для логических элементов он превышает затраты на моделирование. Кроме того, далеко не все параметры, необходимые для характеризации, можно непосредственно получить с помощью стандартных программ. Например, такой параметр, как входная емкость логического элемента Cinp, может быть вычислен только с помощью соответствующей обработки данных из файла результатов моделирования. Следовательно, в процесс характеризации включается еще и работа с файлами результатов, что также сказывается на общих затратах.
Временные затраты на характеризацию настолько высоки, что возникает необходимость в создании ускоренных методов характеризации с сохранением приемлемой точности [5]. К таким методам можно отнести:

  • анализ и исключение критических путей с учетом входных воздействий и начальных значений внутренних точек памяти (программа SpiceCut [15]);
  • анализ и исключение критических путей без учета входных воздействий (программа статического временного анализа Synopsys PrimeTime [16]);
  • метод, совмещающий редукцию схемы за счет замены неактивных частей схемы эквивалентными нагрузочными емкостями и сокращение количества моделирований схемы на основе структурного анализа с декомпозицией схемы на подсхемы элементов, связанных по постоянному току[6][7][8].

Характеризация элементов памяти[править | править код]

Особенно трудоемкой процедурой является процесс характеризации элементов памяти, в частности, триггеров. Дело не только в том, что схемы таких элементов, как правило, значительно сложней, чем схемы логических вентилей, но также в том, что для элементов памяти необходимо вычислять такие специфические параметры, как времена предустановки и удержания информационных сигналов – Tsetup и Thold[9][10]. Поясним сначала, что означают эти параметры. Триггеры D-типа имеют информационный вход D и тактирующий вход C. Изменение выходного состояния входа происходит при подаче на вход C фронта тактового сигнала. Выходное состояние триггера определяется значением сигнала на информационном входе D (и внутренним состоянием триггера). Для бесперебойной работы D-триггера необходимо установить на информационном входе требуемое логическое состояние (точнее, требуемое напряжение) несколько раньше, чем поступит фронт тактирующего импульса на вход C, и удерживать состояние входа D нужно некоторое время после прохождения фронта С (рис. 3).

Рис. 3. Определение параметров предустановки и удержания D-триггера

Сумма Tsetup + Thold фактически определяет предельное быстродействие триггера, поэтому важно знать минимально возможные значения этой суммы и каждого из слагаемых. Минимальные значения в сильной степени зависят от длительности фронтов импульсов D и C, и, в значительно меньшей степени, от емкости нагрузки на выходе триггера. Поэтому, как правило, при характеризации элементов памяти ограничиваются построением таблиц {Tsetup(SDk, SCl)}, {Thold(SDk, SCl)}, полученных при одном значении емкости нагрузки (SDk, SCl – длительности фронтов сигналов D и C соответственно).
Методов прямого вычисления минимальных значений Tsetup и Thold не существует, поэтому для их определения применяются методы поиска[8]. Для вычисления Tsetup сначала устанавливаются передний и задний фронты импульса D заведомо далеко от момента прихода тактового импульса TC. Такое положение фронтов должно обеспечивать правильную работу триггера и минимальную задержку выходного сигнала Tdel0. Положение переднего фронта сигнала D на временной оси обозначается как t_p и запоминается. При неизменном положении заднего фронта сигнала D передний фронт двигается вправо к точке TC на некоторую величину Δt. Если при этом триггер работает правильно, то вычисляется задержка выходного сигнала Tdel и сравнивается с Tdel0. Обычно при приближении фронта сигнала D к TC, начиная с некоторого момента, происходит увеличение задержки выходного сигнала. Если это увеличение задержки превысит некоторый предел, установленный пользователем (обозначается как t_f), то такое положение фронта D считается недопустимым. Если же при новом положении фронта D триггер работает неправильно, то такое положение также запоминается как t_f. Наконец, если триггер при новом положении фронта работает правильно и относительное увеличение задержки не превышает заданный уровень, то полученное положение переднего фронта обозначается как t_p, и процесс повторяется снова. В итоге получится отрезок [t_p, t_f], на левом конце которого триггер работает правильно, а на правом – неправильно.
Далее полученный отрезок делится пополам, передний фронт сигнала D смещается в полученную точку. Далее согласно алгоритму выше, полученное положение маркируется как t_p или t_f. Таким образом интервал поиска сокращается до тех пор, пока не стянется в одну точку. Эта точка и будет рассчитанным (с заданной точностью) временем предустановки Tsetup триггера. Аналогично вычисляется и время удержания Thold, для этого задний фронт сигнала D смещается влево при фиксированном переднем фронте.
Рассмотрим также алгоритм оценки минимального значения суммы Tsh = Tsetup + Thold. Фронты сигнала D устанавливаются заведомо далеко от точки TC, как и в предыдущем алгоритме, и вычисляется эталонная задержка Tdel0. При фиксированном положении переднего фронта сигнала D оценивается значение Thold0. Задний фронт сигнала D устанавливается в позицию TC + Thold0, и при этом положении фронта оценивается значение Tsetup0. Таким образом получается первое приближение Tsh0 = Tsetup0 + Thold0. Далее задний фронт сигнала D смещается вправо в позицию Thold1 = Thold0 + Δt, и вычисляются новые значения Tsetup1 и Tsh1 = Tsetup1 + Thold1. Если получится, что Tsh1 > Tsh0, то, следовательно, минимум Tsh нужно искать при положении заднего фронта на отрезке [TC + Thold0, TC + Thold1]. В противном случае нужно увеличить Δt и повторить вычисления до тех пор, пока не будет выполнено условие Tsh1 > Tsh0. Теперь, когда локализован интервал, на котором следует искать минимум Tsh, для его поиска можно применить любой алгоритм одномерного поиска. В частности, можно использовать метод квадратичной интерполяции.
Здесь нужно сделать одно замечание. Нередки случаи, когда передний и задний фронты сигнала D сближаются настолько, что они накладываются друг на друга (так называемое клиппирование импульса), но при этом триггер работает правильно [17]. При определении Tsh нужно ограничить это клиппирование так, чтобы не утратить возможность вычисления задержки выходного сигнала, то есть пик клиппированного импульса не должен быть ниже 0.5·Vdd. Заметим также, что это ограничение жестко связывает друг с другом положение переднего и заднего фронта сигнала D, что делает неоднозначным решение задачи определения минимума суммы Tsetup + Thold.

Примечания[править | править код]

  1. Bhasker J., Chadha R. Static Timing Analysis for Nanometer Designs: A Practical Approach. Springer Science & Business Media, 2009. 572 p.
  2. А.Л. Стемпковский, С.В. Гаврилов, А.Л. Глебов. Методы логического и логико-временного анализа цифровых КМОП СБИС // Российская академия наук, Институт проблем проектирования в микроэлектронике, под общ. ред. А. Л. Стемпковского. Москва, 2007. 224 c.
  3. Parameswaran H., Shrivastava S. Accelerated characterization of circuits for within-die process variations. United States Patent 8813006, 12/055505, 2014.
  4. Gavrilov S.V., Gudkova O.N., Egorov Yu.B. Methods of Accelerated Characterization of VLSI Cell Libraries with Prescribed Accuracy Control // Russian Microelectronics. 2011. Vol. 40. No. 7. Pp. 476-482.
  5. Стемпковскнй А.Л., Гаврилов С.В., Глебов А.Л. Методы повышения эффективности временного анализа СБИС // Информационные технологии. 2006. № 12. С. 2-12.
  6. Гаврилов С.В., Глебов А.Л., Соловьев Р.А. Обнаружение ложных проводящих путей в статическом временном анализе на основе логических импликаций. Известия ВУЗов. Электроника, 2006, No. 6.
  7. Stempkovsky A., Glebov A., Gavrilov S. Calculation of Stress Probability for NBTI-Aware Timing Analysis // Proceedings of the 10th International Symposium on Quality Electronic Design, ISQED. San Jose, CA, 2009. Pp. 714-718.
  8. 1 2 Glebov A., Gavrilov S., Soloviev R., Zolotov V., Becer M.R., Oh C., Panda R. Delay noise pessimism reduction by logic correlations // IEEE/ACM International Conference on Computer-Aided Design, Digest of Technical Papers, ICCAD, 2004. Pp. 160-167.
  9. E. Salman, A. Dasdan, F. Taraporevala, K. Kuc¸ and E.G. Friedman. Pessimism Reduction In Static Timing Analysis Using Interdependent Setup and Hold Times // Proceedings of the 7th International Symposium on Quality Electronic Design, 2006. Pp. 159-164.
  10. Gavrilov S., Soloviev R., Sundareswaran S., Rajendran P. Interdependent setup-hold characterization and timing analysis. Physical Design & DFM Conference, Austin, USA, May14-16, 2008.