УДК 681.325.66
МНОГОРАЗРЯДНЫЙ ЦИФРОВОЙ КОМПАРАТОР В ГГЦ ДИАПАЗОНЕ ЧАСТОТ
В. А. Лементуев
Рассмотрены структуры и схемная реализация на современном технологическом уровне специализированных устройств логического сравнения — однотактовых многоразрядных цифровых компараторов для использования в микропроцессорных системах на основе СБИС, в том числе в спецпроцессорах обработки сигналов и изображений. Приведены результаты моделирования 32—64 разрядных компараторов по 0,13 мкм КМДП технологии.
ВВЕДЕНИЕ
Цифровые компараторы как эффективное средство аппаратной поддержки микропроцессорных систем применяются в процессорах цифровой обработки сигналов, в частности, при обработке изображений для сортировки адресов и данных.
Операция логического сравнения двух операндов A и B проще всего реализуется на основе
одноразрядных операторов P, = (A/ + Bt) и G¡ =
= (A/ - Bi). При этом функция сравнения Fn(An l
Bn) и ее дополнение Fn (An < Bn) при n-разрядных операндах вычисляются следующим образом:
n -1 / n Л
F„(A„ l Bn) = £ GI П Pjl + Gn [1]. Реализация
i = 1 7 = i + 1
данного алгоритма на основе традиционных схемотехнических решений (CMOS-Static Logic, Pass transistor Logic) связана с большим числом логических переходов между простейшими элементами 2И/ИЛИ-НЕ и, соответственно, с избыточными емкостными нагрузками. В результате интегральная реализация компараторов ограничена по числу разрядов при невысоком быстродействии. Поэтому алгоритм вычисления функций сравнения многоразрядных операндов требует более эффективных схемных решений.
АЛГОРИТМИЧЕСКАЯ СТРУКТУРА КОМПАРАТОРА
Для решения данной задачи может быть использована модифицированная дифференциальная (парафазная) КМДП логика на основе многофункциональных макроэлементов в сочетании с расширенным вариантом универсального алгоритма сравнения [2, 3]. Универсальность алгоритма заключается прежде всего в одновременном вычислении трех функций: равенства — Yn(An = Bn), больше — Yn(An > Bn) и меньше — Yn(An < Bn). Основа алгоритма — разрядный оператор распространения на основе функции "исключающее ИЛИ/НЕ" (A, = В) — p = A¡ • В, +
выполняется как Gг• = А/ • Вг и разрядная функция А < В/ — дополнительно как N = А г - В/.
Параллелизм вычислений предполагает разбиение «-разрядных операндов (/ = и, и — 1, ..., 2, 1) на j групп, в частном случае по к разрядов в каждой, т. е. j = 1, 2, ... и/к. Причем, группе j = 1 соответствуют старшие к разряды операндов (/ = = и ... (и — к + 1)), а группе с номером j = и/к — младшие к разряды операндов (/ = к...1). В каждой из j групп одновременно можно вычислить частные значения функций сравнения для соответствующих данной группе к разрядов, из которых "1" является старшим разрядом группы, а к — младшим разрядом:
Ykj = prp2-.pfc
Ykj = Gi + Pi + ...Pi
G2 + Pi*P2' P2...Pk - 1 Gk;
G3 +
(1)
Ykj = Ni + Pi
N2 + Pi • P2 • N3 + + ...Pi • P2...Pk - i Nk.
Поскольку КМДП схемотехника характеризуется инверсией результата на выходе логического элемента, реализация выражений (1) для дальнейшего вычисления полного результата сравнения сопровождается дополнительным инвертированием. На следующем этапе алгоритм сводится к процедуре одноступенчатой или иерархической свертки частных функций сравнения Ykj до получения конечного результата Yn по всем и разрядам. В первом случае (и = к*/) функции сравнения Yn вычисляются непосредственно от/ частных функций сравнения:
YT = j= 1
j 2 ■
Yj = п/к
n/к
П Y= j=1
+ A t • Bt = At Ф B¡. Разрядная функция A¡ > B¡
Y> = Y> 1 + j= 1 • Y> 2 + ... j 1 ■ j 2...
n/k n/k - 1
... Yj = п/к -1 ■ Yn/k = Yj = 1 + £ Ykj ■ П Ykj ; (2)
j + 1 j = 1
Yn< = j1 + j ! • j 2 +
j 1
j 2 ...
... Yj = n/k- 1
n/k n/k- 1
Yn/k = Yj = 1 + X Ykj ^ П Ykj
j + 1 j = 1
При иерархической свертке, например двухступенчатой (n = k-j-r), согласно выражениям (2) последовательно вычисляются сначала промежуточные значения функций сравнения (Yr , Y>,
Y<), а затем от промежуточных значений функций Yr таким же образом вычисляются конечные значения функции сравнения Yn. Число ступеней свертки частных функций сравнения связано с разрядностью операндов и определяется функцией качества интегральной реализации, например достижением требуемого быстродействия при минимальной площади кристалла или достижением максимального быстродействия при ограничении по площади, а также на основе компромисса между этими факторами. Выход Yn макроэлемента можно объединить с одним их выходов
макроэлементов Yn> или Y^ на базе выходного элемента ИЛИ/НЕ для формирования функций типа "равно или больше" — "меньше". Генераторы частных функций сравнения могут иметь разную разрядность, если число разрядов операндов не является степенью 2 (например, 54). Эффективность алгоритма основана на параллельной одновременной обработке всех n разрядов в n/k группах, затем также одновременно n/k групп в j группах свертки и далее до последнего блока свертки.
СХЕМОТЕХНИЧЕСКАЯ РЕАЛИЗАЦИЯ КОМПАРАТОРА
Динамическая схемотехника с предзарядом типа "домино" позволяет повысить сложность логических функций в базисе И—ИЛИ/НЕ на транзисторах n-типа, реализуемых за один логический переход, причем с меньшей задержкой на элемент, чем в случае традиционных схемных решений [3]. Логический макроэлемент представляет собой реализацию сложных функций, например систем выражений (1) или (2) при взаимосвязи логических частей функций и при работе на одном такте за один логический переход плюс инверсия. В этом состоит его отличие от макроэлементов типа "macros", которые являются конструктивными элементами, интегрированными из более простых. Модифицированная схемотехника типа "домино" предполагает использование противофазного однотактового тактирования при наличии одного предзарядового транзистора p-типа
в логической части и одного предзарядового транзистора п-типа инвертора на каждую функцию [4].
На рисунке приведена схема к-разрядного генератора частных функций сравнения, соответствующих выражениям (1), и схема блока свертки частных функций сравнения, выполненных в виде логических макроэлементов на основе предложенных принципов. Входные сигналы Аг- и Вг являются парафазными, но при любом их наборе в к-разрядом генераторе реализуется только одна
функция в виде (Yk¡ V Y> V У<) = 1. Разрядные
элементы Рг = А1Ф Вг, соединенные последовательно, выполнены на четырех попарно последовательно включенных транзисторах. Разрядные
элементы Gг• = Аг- • В г- и N = А г- • Вг требуют только по одному дополнительному транзистору и соединены по выходам проводным ИЛИ. Таким образом, частные функции сравнения реализуются на шести транзисторах п-типа на один разряд при отсутствии дублирования конъюнктивных компонентов для всех трех функций и при наличии тактируемого инвертора на каждом из выходов генератора.
Каждое логическое звено блока по входам соответствует к-разрядному генератору, начиная со старших разрядов как наиболее удаленных от выходов блока. Транзисторы звеньев, соответствующие функции Yкj , соединены последовательно и образуют цепь из j транзисторов п-типа. Транзисторы звеньев, соответствующие функциям Y> и
Y<j , объединены стоками. Каждой функции сравнения Yj соответствует также предзарядовый транзистор р-типа и выходной тактируемый инвертор. Блоки свертки второго (а если необходимо — и более высокого) уровня выполняются идентично, а на их логические входы поступают соответствующие сигналы Yjr с одноименных выходов блоков свертки более низкого уровня. Структура блока такова, что на каждый функциональный вход в звене содержится минимальное число транзисторов (три), и при каждом обращении реализуется только одна из трех функций сравнения.
С целью повышения надежности фиксации результата у, г, ... п = 0 для двух из трех функций во время рабочего полутакта, когда имеет место динамический режим хранения заряда на узловой емкости, полезно параллельно предзарядовому транзистору р-типа включить дополнительный транзистор также р-типа, затвор которого соединен с выходом инвертирующего элемента.
+
Схема к-разрядного генератора частных функций сравнения и схема блока свертки частных функций сравнения
Интегральная реализация и моделирование 32—64-разрядных устройств сравнения
Наихудший случай с точки зрения величины задержки имеет место при полном совпадении операторов Ап и Вп или при несовпадении только в младшем первом разряде. В этом случае генератор частных функций сравнения эквивалентен элементу типа 2кИ, а последующие блоки свертки — элементам jИ, гИ и так далее в зависимости от числа уровней. Таким образом, наиболее длинный путь распространения логического сигнала, характерный для функции равенства, эквивалентен последовательной структуре многовходовых элементов типа И (например, для двухуровневой свертки — 2кИ- j И- г И). При этом структура макроэлементов и их связей между собой такова (нагрузка логической части — транзистор р-типа инвертора, нагрузкой которого является логический транзистор п-типа макроэлемента), что опти-
мально использование минимальных размеров логических транзисторов n-типа (в логической части) и p-типа (в инверторе). Это гарантирует также минимальную площадь кристалла.
Минимальная ширина канала W логических транзисторов, как правило, связана с минимальной для конкретной технологии его длиной Lm,n соотношением W = (10...20)Lmin. Процесс восстановления исходного состояния на втором полутакте происходит параллельно на всех выходах, поэтому размеры предзарядовых транзисторов минимальны и ограничены снизу величиной Lmin. При этом также уменьшаются выбросы напряжения в узлах схем на фронтах тактовых сигналов.
Моделирование осуществлялось в системе PSPICE (версия 10.0,2004). Модели МДП (T55R) транзисторов — уровень 7 (BSIM3 model version 3.1) технологической библиотеки фирмы IBM-SCN013 (Lmin = 0,13 мкм, tox = 3,2 нм). Пороговые напря-
жения транзисторов п- и р-типов равны 0,42 и 0,44 В соответственно. Напряжение питания исс = 2 В. Ширина каналов логических транзисторов Ж = 3 мкм, предзарядовых транзисторов — 1 мкм. При моделировании производится формирование паразитных узловых емкостей за
Для дальнейшего прочтения статьи необходимо приобрести полный текст. Статьи высылаются в формате PDF на указанную при оплате почту. Время доставки составляет менее 10 минут. Стоимость одной статьи — 150 рублей.