Самосинхронные схемы. Принципы построения и элементная база


PDF версия

Это уже вторая статья по самосинхронным системам («Самосинхронная схемотехника: повышение энергоэффективности вычислений в микропроцесорных системах» см. в ЭК №12, 2008). Вполне вероятно, что благодаря широким возможностям и преимуществам эти системы будут очень востребованы, и потому мы продолжим публикации на данную тему. В статье рассмотрены принципы построения самосинхронных схем, дана их классификация, показаны отличия строгосамосинхронных и квазисамосинхронных подходов. Описан базис логических элементов для построения строгосамосинхронных схем, а также приведены примеры реализации логических элементов и конвейерных схем в этом базисе.

До настоящего времени общепринятым являлся синхронный подход к проектированию схем. При таком подходе для синхронизации элементов схемы используется глобальное тактовое дерево. С переходом к технологическим нормам 45 нм и меньше разработчики синхронных схем столкнулись с проблемами распространения тактового дерева, дальнейшего увеличения тактовой частоты, уменьшения размеров элементов, уменьшения энергопотребления и рядом других [1]. В самосинхронных схемах большинство этих проблем решено или вовсе отсутствует. Такие схемы обладают более низким энергопотреблением, характеризуются низким уровнем собственных шумов и электромагнитного излучения, обладают лучшей защитой от взлома (методом анализа спектра потребления мощности) и более просты для повторного использования блоков. Как свидетельство постепенного перехода проектов к самосинхронному исполнению может служить прогноз ITRS дальнейшего развития самосинхронных цепей в проектах. Так, по данным ITRS процент использования самосинхронных цепей в проектах в 2012 г. достигнет 20%, а к 2020 г. может быть уже 40% [2].

Классификация и принципы построения самосинхронных схем

Самосинхронная схемотехника является одним из способов локального решения проблемы синхронизации работы схемы. В отличие от синхронного подхода к проектированию, где для синхронизации работы схемы применяется глобальная цепь распространения тактового сигнала с высокими требованиями к расфазировке и дрожанию фронта, в самосинхронных схемах синхронизация работы осуществляется за счет непосредственного определения моментов окончания переходных процессов в отдельных блоках схемы и использования этих сигналов для синхронизации соседних блоков. Таким образом, скорость работы схемы определяется исключительно задержками распространения сигнала в схеме и является максимально возможной для текущих условий (температуры, напряжения питания), параметров полупроводниковой структуры и обрабатываемых данных. На рисунке 1 показан пример самосинхронной схемы, состоящий из двух блоков. В каждый блок входит асинхронный регистр (Р), осуществляющий хранение данных на время обработки, и комбинационная функция (КФ), которая выполняет обработку данных. К выходу комбинационной функции подключен индикатор (И), отслеживающий момент окончания переходного процесса.

Рис. 1. Построение самосинхронной схемы

В зависимости от реализации, индикатор может являться как отдельным блоком, так и частью комбинационной функции. Работа схемы происходит следующим образом: на вход блока подаются данные, сопровождаемые сигналом «Запрос». Если блок в текущий момент не активен и готов к приему новых данных, схема управления формирует сигнал «Старт», который осуществляет запись данных во входной регистр и активирует работу комбинационной функции блока. Кроме этого формируется сигнал «Подтверждение», указывающий на то, что блок готов к приему новых данных. Через какое-то время, по завершению переходных процессов, индикаторный блок формирует сигнал «Готов», указывающий, что вычисления закончены и на выходе блока находятся верные данные. Если от следующего блока приходит сигнал «Подтверждение», система управления формирует сигнал «Запрос». Время обработки данных блоком зависит от многих факторов режима работы и непосредственно обрабатываемых данных.
По способу определения момента окончания переходного процесса самосинхронные схемы можно разделить на два класса [1]: строгосамосинхронные схемы — схемы, в которых происходит непосредственное определение момента окончания переходного процесса, и квазисамосинхронные, где используются косвенные методы определения, и непосредственно момент времени окончания переходного процесса никак не фиксируется.
Наиболее распространенным способом построения квазисамосинхронных схем является метод модели максимальной задержки. В этих схемах для формирования сигнала окончания переходного процесса используется модель комбинационной схемы, выполненная на линии задержки и соответствующая максимальному времени распространения сигнала в комбинационной схеме с неким запасом, который позволяет устранить технологический разброс и ошибки оценки времени распространения сигнала. Такой подход, в отличие от синхронной схемы, дает возможность работать схеме при максимальной скорости при данных внешних условиях и параметров полупроводниковой структуры. Одним из недостатков такого решения являются жесткие требования к задержкам сигналов в схеме. При нарушении этих требований схема становится неработоспособной. Кроме того, такой подход не позволяет учесть зависимость задержки в комбинационной схеме от значения сигнала на входе.
Пример квазисамосинхронной схемы показан на рисунке 2. Данные между регистрами передаются с использованием специального протокола обмена и сопровождаются парой запрос/подтвержедние (Req/Ack) как показано на рисунке 3. Этот рисунок иллюстрирует два варианта реализации протокола. Наиболее широко используется 4-фазный протокол, т.к. он требует меньше аппаратных ресурсов для своей реализации.

Рис. 2. Построение квазисамосинхронной схемы

 

Рис. 3. Протоколы передачи данных

Для синхронизации работы схемы используется блок задержки, равной времени прохождения критического пути комбинационной схемы, и набор G-триггеров с дополнительными элементами НЕ.
G-триггер представляет собой переключающий элемент с гистерезисом. Его переключение происходит, только когда входы имеют одинаковые логические уровни. Если уровни разные, то такой элемент сохраняет предыдущее состояние. Условное графическое изображение G-триггера и его таблица истинности показаны на рисунке 4.
В строгосамосинхронных схемах используется непосредственное определение момента окончания переходного процесса. Одним из способов построения таких схем является парафазное представление сигналов. Для передачи каждого бита информации используются две физические линии. Это позволяет кроме двух логических состояний передавать отдельно по времени разделитель передаваемых данных и определять с его помощью момент окончания переходного процесса. При проектировании таких схем к синтезу комбинационной функции предъявляются дополнительные требования на монотонность и возможность индицирования на выходе окончания всех переходных процессов внутри схемы. На рисунке 5 показан пример такой схемы.

Рис. 4. G-триггер
Рис. 5. Построение строгосамосинхронной схемы

Примером реализации этого подхода является NCL-логика (NULL Convention Logic), разработанная специалистами компании Theseus Research, Inc. [4].
Класс строгосамосинхронных схем имеет ряд преимуществ по сравнению с синхронными и квазисамосинхронными подходами. К ним относятся:
– предельно возможная скорость работы схемы, т.к. схема сама определяет темп своей работы в зависимости от внешних условий и обрабатываемых данных;
– независимость работоспособности схемы от задержек сигналов и логических элементов;
– более широкий рабочий диапазон схемы, при этом для работоспособности схемы требуется только сохранение переключательных свойств транзисторов;
– уменьшение энергопотребления за счет того, что при отсутствии данных в схеме не происходят переключения сигналов и остается только статическое потребление, в отличие от синхронной схемы, где без использования специальных мер в независимости от наличия данных тактовый сигнал подается на триггеры.

Базовые элементы самосинхронных схем

Основу NCL-схем составляют пороговые элементы THmn, показанные на рисунке 6.

Рис. 6. Пороговые элементы

Пороговый элемент THmn характеризуется двумя параметрами: количеством входов n и порогом срабатывания m, причем должно выполнятся соотношение  (1 ≤ m ≤ n). Переключение выхода этого элемента в логическую 1 происходит при поступлении логических 1 на m его входов и сохраняется до тех пор, пока на всех его входах не будет логических 0. Расширением элемента THmn является пороговый элемент с весовыми коэффициентами для указанных входов THmnw1w2w3w4, где wi — весовой коэффициент для входа i. На рисунке 6 показан пороговый элемент TH32w2 с весовым коэффициентом 2 для первого входа.
Порорговые элементы, у которых m = n, соответствуют G-триггерам с n входами, а если m = 1 — элементу ИЛИ с n входами (см. рис. 7). Остальные элементы являются расширением рассмотренных ранее G-триггеров и могут быть построены на их основе.

Рис. 7. Классификация пороговых элементов

Состояние на выходе Y таких пороговых элементов определяется двумя функциями — set и hold. Функция set определяет условие выставления логической 1 на выходе Y, а hold определяет условие удержания этого состояния на выходе. Общая функция переключения состояния на выходе для всех элементов Y = set + Y –1∙hold, где Y –1 — это предыдущее состояние на выходе. Функция hold для всех элементов одинаковая и определяется как операция ИЛИ над всеми входами (например, для 4-входового элемента это A + B + C + D). Функция set определяет функциональное назначение элемента. В таблице 1 показан  базовый набор из 27 таких элементов [5], который полностью определяет все возможные логические функции set для элементов с четырьмя и менее входами.

Таблица 1. Базовый набор пороговых элементов NCL

Элемент

Функция set

Элемент

Функция set

Элемент

Функция set

ТН12

А+В

ТН34

ABC+ABD+ACD+BCD

TH44W22

AB+ACD+BCD

ТН22

АВ

ТН44

ABCD

TH54W22

ABC+ABD

ТН13

А+В+С

TH24W2

A+BC+BD+CD

TH34W32

A+BC+BD

ТН23

АВ+АС+ВС

TH34W2

AB+AC+AD+BCD

TH54W32

AB+ACD

ТНЗЗ

ABC

TH44W2

ABC+ABD+ACD

TH44W322

AB+AC+AD+BC

TH23W2

А+ВС

TH34W3

A+BCD

TH54W322

AB+AC+BCD

TH33w2

АВ+АС

TH44W3

AB+AC+AD

THxorO

AB+CD

ТН14

A+B+C+D

TH24W22

A+B+CD

THandO

AD+BC+AD

ТН24

AB+AC+AD+BC+BD+CD

TH34W22

AB+AC+AD+BC+BD

TH24comp

AC+BC+AD+BD

Для построения строгосамосинхронной схемы используется парафазное представление сигналов, где каждый сигнал А передается по двум проводникам — A.f и A.t. Таким образом, А может принимать три значения: «0» (A.f = 1, A.t = 0); «1» (A.f = 0, A.t = 1) и NULL (A.f = 0, A.t = 0). Состояние (A.f = 1, A.t = 1) не используется и говорит только об ошибке в работе схемы. Состояние NULL (разделитель, или спейсер) используется для разделения отдельных данных во времени.
На рисунке 8 показана реализация базовых логических элементов И, ИЛИ, НЕ и ИСКЛЮЧАЮЩЕЕ ИЛИ в базисе NCL.
На рисунке 9 показан пример организации самосинхронного конвейера в NCL-базисе. Он состоит из двух регистров и комбинационной схемы. Каждый регистр состоит из двух частей — схемы запоминания состояния и индикатора, который показывает, что все переходные процессы закончены и правильные данные появились на выходе регистра. Синхронизация работы схемы осуществляется при помощи обратной связи и блока формирования сигнала готовности, который подключен к каждому самосинхронному регистру в конвейере. Порядок прохождения данных в конвейере определяется сигналами запроса и подтверждения (Ki и Ko, соответственно).

Рис. 8. Реализация логических функций в NCL-базисе
Рис. 9. Организация самосинхронного конвейера в NCL-базисе

Протокол передачи данных в конвейере следующий: самосинхронные регистры принимают состояние DATA («0» или «1»), только когда приходит запрос rfd (request for data) на вход Ki (Ki = 1), и принимают состояние NULL только по запросу frn (request for null) на входе Ki (Ki = 0). Также генерируются и сигналы подтверждения Ko: когда на выходе регистра состояние DATA — на выходе Ko (Ko = 1) выставляется сигнал подтверждения rfn (ready for null); когда выходы регистра принимают состояние NULL — на выходе Ko (Ko = 0) выставляется сигнал подтверждения rfd (ready for data).
В заключение можно отметить широкие возможности и преимущества использования самосинхронных схем при построении различных портативных устройств и устройств, использующих алгоритмы шифрования данных, по сравнению с синхронными аналогами. Так, по данным компании Achronix [1], некоторые образцы выпускаемых ими микросхем (самосинхронные ПЛИС по технологии 90 нм с напряжением питания ядра 1,2 В) остаются  работоспособным при снижении напряжения питания до 0,2 В. Кроме того, снижение напряжения питания с 1,2 до 0,6 В приводит к 87-% уменьшению энергопотребления. Еще одним примером может служить самосинхронное процессорное ядро ARM996HS, разработанное фирмой Handshake Solution [1] и имеющее в 2,8 раз меньшее энергопотребление, по сравнению со своим синхронным аналогом ARM968E-S при той же производительности. Токовые выбросы такого процессора меньше в 2,4 раза во время работы.

Литература
1. A. Taubin, J. Cortadella, L. Lavagno, A. Kon­dratyev, A. Peeters. Design Automation of Real-Life Asynchronous Devices and Systems. Foundations and Trends(r) in Electronic Design Automation — Vol.2, No.1, September, 2007, pp.1—133.
2. International Technology Roadmap for Semiconductors 2007. Design.
3. S. C. Smith, R. F. DeMara, J. S. Yuan, M. Ha­gedorn, D. Ferguson. Delay-Insensitive Gate-Level Pipelining. Integration, the VLSI Journal, Vol. 30/2, pp. 103—131, October 2001.
4. Karl M. Fant, Logically Determined Design: Clockless System Design with NULL Convention Logic. Wiley. 2005.
5. S. C. Smith, R. F. DeMara, J. S. Yuan, D. Ferguson, D. Lamb. Optimization of NULL Convention Self-Timed Circuits. Integration, The VLSI Journal, Vol. 37/3, pp. 135—165, August 2004.

Оставьте отзыв

Ваш емейл адрес не будет опубликован. Обязательные поля отмечены *