Метод логических усилий , термин, введенный Иваном Сазерлендом и Бобом Спроуллом в 1991 году, представляет собой простую технику, используемую для оценки задержки в схеме КМОП . При правильном использовании он может помочь в выборе вентилей для заданной функции (включая количество необходимых каскадов) и определении размеров вентилей для достижения минимально возможной задержки для схемы.
Задержка выражается в терминах базовой единицы задержки, τ = 3RC , задержки инвертора, управляющего идентичным инвертором без какой-либо дополнительной емкости, добавленной межсоединениями или другими нагрузками; безразмерное число, связанное с этим, известно как нормализованная задержка . (Некоторые авторы предпочитают определять базовую единицу задержки как разветвление 4 задержек — задержку одного инвертора, управляющего 4 идентичными инверторами). Абсолютная задержка затем просто определяется как произведение нормализованной задержки затвора, d , и τ :
В типичном 600-нм процессе τ составляет около 50 пс. Для 250-нм процесса τ составляет около 20 пс. В современных 45-нм процессах задержка составляет около 4–5 пс.
Нормализованная задержка в логическом вентиле может быть выражена как сумма двух основных членов: нормализованной паразитной задержки , p (которая является внутренней задержкой вентиля и может быть найдена, если рассматривать вентили без нагрузки), и усилия этапа , f (которое зависит от нагрузки, как описано ниже). Следовательно,
Усилие каскада делится на два компонента: логическое усилие , g , которое является отношением входной емкости данного вентиля к емкости инвертора, способного выдавать тот же выходной ток (и, следовательно, является константой для определенного класса вентилей и может быть описано как улавливающее внутренние свойства вентиля), и электрическое усилие , h , которое является отношением входной емкости нагрузки к емкости вентиля. Обратите внимание, что «логическое усилие» не учитывает нагрузку, и, следовательно, у нас есть термин «электрическое усилие», который учитывает нагрузку. Усилие каскада тогда просто:
Объединение этих уравнений дает базовое уравнение, которое моделирует нормализованную задержку через один логический вентиль:
КМОП-инверторы вдоль критического пути обычно проектируются с гаммой, равной 2. Другими словами, pFET инвертора проектируется с шириной, вдвое большей (и, следовательно, с емкостью, вдвое большей), чем nFET инвертора, чтобы получить примерно такое же сопротивление pFET , как и сопротивление nFET, чтобы получить примерно равные подтягивающий и понижающий токи. [1] [2]
Выберите размеры всех транзисторов таким образом, чтобы выходной сигнал затвора был равен выходному сигналу инвертора, собранного из PMOS-транзистора размера 2 и NMOS-транзистора размера 1.
Выходной привод вентиля равен минимуму — среди всех возможных комбинаций входов — выходного привода вентиля для этого входа.
Выходной привод вентиля для данного входа равен приводу в его выходном узле.
Привод в узле равен сумме приводов всех транзисторов, которые включены и чей исток или сток контактирует с рассматриваемым узлом. PMOS-транзистор включен, когда его напряжение затвора равно 0. NMOS-транзистор включен, когда его напряжение затвора равно 1.
После выбора размеров логическое усилие выхода затвора представляет собой сумму ширин всех транзисторов, чей исток или сток контактирует с выходным узлом. Логическое усилие каждого входа затвора представляет собой сумму ширин всех транзисторов, чей затвор контактирует с этим входным узлом.
Логическое усилие всего вентиля — это отношение его выходного логического усилия к сумме его входных логических усилий.
Главным преимуществом метода логических усилий является то, что его можно быстро распространить на схемы, состоящие из нескольких этапов. Общая нормализованная задержка пути D может быть выражена через общее усилие пути , F , и паразитную задержку пути P (которая является суммой отдельных паразитных задержек):
Усилие пути выражается через логическое усилие пути G (произведение индивидуальных логических усилий вентилей) и электрическое усилие пути H (отношение нагрузки пути к его входной емкости).
Для путей, где каждые ворота управляют только одними дополнительными воротами (т. е. следующими воротами на пути),
Однако для цепей, которые разветвляются, необходимо учитывать дополнительное усилие разветвления b ; это отношение общей емкости , управляемой затвором, к емкости на интересующем пути:
Это дает усилие разветвления пути B , которое является произведением усилий разветвления отдельных этапов; тогда общее усилие пути равно
Видно, что b = 1 для вентилей, управляющих только одним дополнительным вентилем, фиксируя B = 1 и сводя формулу к более ранней версии без ветвлений.
Можно показать, что в многоступенчатых логических сетях минимально возможная задержка вдоль определенного пути может быть достигнута путем проектирования схемы таким образом, чтобы усилия на этапах были равны. Для заданной комбинации вентилей и известной нагрузки B , G и H являются фиксированными, что приводит к фиксированию F ; следовательно, отдельные вентили должны быть такого размера, чтобы усилия на отдельных этапах были
где N — количество ступеней в цепи.
По определению логическое усилие g инвертора равно 1. Если инвертор управляет эквивалентным инвертором, электрическое усилие h также равно 1.
Паразитная задержка p инвертора также равна 1 (ее можно найти, рассмотрев модель задержки Элмора инвертора).
Таким образом, общая нормализованная задержка инвертора, управляющего эквивалентным инвертором, составляет
Логическое усилие двухвходового вентиля NAND вычисляется как g = 4/3, поскольку вентиль NAND с входной емкостью 4 может управлять тем же током, что и инвертор с входной емкостью 3. Аналогично, логическое усилие двухвходового вентиля NOR может быть найдено как g = 5/3. Из-за более низкого логического усилия вентили NAND обычно предпочтительнее вентилей NOR.
Для более крупных ворот логические усилия выглядят следующим образом:
Нормализованная паразитная задержка вентилей NAND и NOR равна количеству входов.
Таким образом, нормализованная задержка двухвходового вентиля NAND, управляющего идентичной копией самого себя (так, что электрическое усилие равно 1), равна
а для двухвходового вентиля ИЛИ-НЕ задержка составляет