Principles of Asynchronous Circuit Design




НазваниеPrinciples of Asynchronous Circuit Design
страница6/64
Дата публикации14.05.2014
Размер3.5 Mb.
ТипРеферат
literature-edu.ru > Авто-ремонт > Реферат
1   2   3   4   5   6   7   8   9   ...   64

.2.3Конвейер Миллера


На рисунке 2.8 изображена схема построенная на C-элементах и инверторах. Эта схема известна как конвейер Миллера. Ее варианты и расширения основной элемент почти всех асинхронных схем. Это не всегда очевидно, но если убрать все лишие детали конвейер Миллера всегда является центром системы. Схема обладает красивым и симметричным поведением и понимание ее поведения лучший базис для понимания большинтсва асинхронных схем.

Конвейер Миллера изображенный на рисунке Figure 2 .9 реализует механизм квитирования. После того как все C-элементы будут инициализированы 0 левая среда может начать обмен с квитированием. Для понимания происходящего рассмотрим i-й C-элемент, C[i] Он будет рапространять (т.е. принимать и хранить) 1 от своего предшественника, C[i-1], только если его последователь, C[i + 1], находится в 0. Подобным образом происходит распространение 0. Довольно часто распространение сигналов в подобных схемах рассматривается как последовательность волн, как показано внизу рисунка Figure 2 .9. При таком рассмотрении роль C-элемента в конвейере – распространять гребни и впадины волн по пути, сохраняющему целоствность каждой волны.

В каждом уровне конвейера на C-элементах наблюдатель увидит кореектное квитирование, но время может отличаться от времени квитирования в левой среде – как только «волна» вошлда в конвейер ее распространение определяется действительными задержками в схеме.

В итоге первый квиток (запрос) выставленный левой средой достигнет правой среды. Если правая среда не ответит на запрос, то в конце концов конвейер заполнится.. И если это произвойдет то конвейер перестанет отвечать на зпросы левой среды — поведение конвейера Миллера подобно FIFO!

В дополнение к этому елегантному поведению конвейер имеет ряд симметрий. Прежде всего не имеет значения используется 2-фазный или 4-фазный протокол, схема одинкова. Разницап лишь в интерпретации сигналов и использовании в схеме. Во-вторых, схема одинково хорошо работает и с права налево. Можно сменить полярность сигналов, назначение сигналов запроса и подтверждения, а так же использовать схему справа налево.




Figure 2.9 The Muller pipeline or Muller distributor.

И наконец схема имеет интересное свойство корректно работать независимо от задержек в цепях – конвейер Миллера delay-insensitive.

.2.4Способы реализации схем


Как было сказано ранее, выбор протокол квитирования определяет реализацию схемы в целом (площадь, быстродействие, потребляемую мощьность, утойчивость и т.п.). Большинство практических схем используют один из следующих протоколов, описанных в разделе 2.1:

4-phase bundled-data – наиболее сходный с синхронными схемами которые дает лучший результат при широком использовании предположений о временных характеристиках схемы.

2-phase bundled-data – известьный под названием Микроконвейер предложенный Ivan Sutherland в 1988г. на лекции Turing Award.

4-phase dual-rail – классически подход Дэвида Миллера, предложеный им в одной из первых работ в 1950х.

Общая деталь всех этих протоколов это использование вариант ов реализации конвейера Миллера для управления элементами памяти. Ниже описана основа конвейера использующего прозрачные защелки как элементы памяти. Тема следующих разделов более оптимальные и продуманные реализации и более сложные структуры схем.

.2.4.14-фазный конвейер со связными данными


4-фазный конвейер со связными данными очень прост. Конвейер Миллер используется для формирования локальных синхросигналов. Тактовые импульсы, формируемые одним слоем, перекрываются импульсами, формируемыми соседними, способом с точно управляемыми блокирвками. Рисунок Figure 2 .10 (a) отображает FIFO, т.е. конвейер без обработки данных, а рисунок Figure 2 .10 (b) показывает как комбинационные цепи (так же называемые функциональными блоками) могут быть вставлены между защелками. Для корреткной работы необходимо добавление в пути сигналов запроса соотвествующих задержек.

Эту схему можно рассматривать как традиционную «синхронный» канал данных, состоящий из комбинационных цепей и защелок, которые защелкиваются распределенным синхросигналом или как структуру с асинхронным потоком данных сформированную 2 типами компонент: защелками и функциональными блоками.

Реализации конвейера показанная на рисунке Figure 2 .10 проста, но он имеет некоторые изъяны, например, когда заполнается состояние C-элементов (0, 1, 0, 1, и т.п.), и все остальные защелки хранят данные. Это не хуже чем в синхронных схемах, использующих master-slave flip-flops, но возможно разработать асинхронные конвейер и FIFO которые были бы лучше в этом отношении. Другой недостаток это быстродействие. Пропускная способность конвейера или FIFO зависит от времени полдного цикла квитирования влючая обоих соседей. В главе 7 описаны альтернативные реализации, которые более быстрые и используют лучшее заполнение кристалла.
(a)

(b)

Figure 2.10 A simple 4-phase bundled-data pipeline.

.2.4.22-фазный конвейер со связными данными (Микроконвейер)


2-фазный микроконвейер со связными данными так же использует конвейер Миллера. Как основу для управляющей логики, но как сигналы управления интерпретируются переходы или события, Figure 2 .11. Для этого необходимы специальные защекивающие-и-пропускающие зещелки: события на входах C и P чередуются таким образом защлка попеременно находится в режимах защелкивания или пропускания. Для этого необходим особая модель защелкикак показано на рисунке Figure 2 .12 и описано ниже. Симвыол ключа на рисунке Figure 2 .12 это мультиплексор, и защелка управляемая событием может быть представлена как две обычные защелки чувствительные к уровню (работающие в ином режиме) с мультиплексором или буфером на выходе.

На рисунке Figure 2 .11 показан конвейер без обработки данных. Комбинационные цепи с соотвествующими задержками могут быть вставлены между защелками так же как и для 4-фазного подхода изображенного на рисунке Figure 2 .10.

2-фазный подход был исследован Ivan Sutherland в конце 1980х и представлен в 1988г на лекциях Turing Award [128]. Название Микроконвейер часто используется как синоним для 2-фазного конвейера со связными данными, но оно так же привязано к использованию некоторого набора компонент основанного на событийном представлении данных. Кроме защелки, изображенной на рисунке Figure 2 .12, так же имеются вентили: AND, OR, Select, Toggle, Call и Arbiter. Рисунки Figure 2 .11 и Figure 2 .12 подобны рисункам 15 и 12 в [128], но в них уделено большее внимание тому что управляющая структура – конвейер Миллера. В [128] так же представлены несколько альтернативных вариантов защелок, которые меньше и медленее.



Figure 2.11 A simple 2-phase bundled-data pipeline.


Figure 2.12 Implementation and operation of a capture-pass event controlled latch. At time to the latch is transparent (i.e. in pass made) and signals and P are both low. An event on the  input turns the latch into capture mode, etc.


Figure 2.13 A simple 3-stage 1-bit wide 4-phase dual-rail pipeline.

На концептуалдьном уровне 2-фазный подход элегентнее и эффективнее 4-фазного, в нем отсутвуют потери потребления и быстродействия, возникающие при возвращении к 0 при квитировании. Однако, как было показано на модели защелки, реализация компонет, реагирующих на переходы, зачастую значительно сложнее, чем реализация компонент работающих по уровню. В добавок к элементам памяти описанным логика управления выбором реагирующая на события так же сложнее работающейц по уровню. Этот эффект был исследован автором [123], University of Manchester [42, 45] и многими другимиисследователями.

Одним словом, 2-фазный подход может быть предпочтительным решением в системах с безусловным потоком данных и очень высокими требованиями по быстродействию. Но как и было сказано ранее платой за это будет большая площадь кристалла и более высокое потребление. В этом отношении асинхронное решение не будет отличаться от синхронного.

.2.4.34-фазный двухпроводный конвейер


4-фазный двухпроводный конвейер также основан на конвейере Миллера, но более обдуманный путь это совмещение данных и запроса. На рисунке Figure 2 .13 показана реализация 1-битного конвейера глубиной в 3 стадии без обработки данных. Он может быть представлен как 2 соединенных параллельно конвейера Миллера сообщим сигналом подтвержения для каждого уровня конвейера. Пара C-элементов в стадии конвейера может хранить пустое кодовое слово {d.t, d.f} = {0, 0}, при этом сигнал подтверждения, выдаваемый этой стадией, будет в 0, или она может содержать достоверное кодовое слово {0, 1} или {1, 0}, при этом сигнал подтверждения будет выставлен в логическую 1. Как было упомянуто в разделе 2.2, необходимо помнить что кодовое слово {1, 1} запрещено и не возникает, т.о. сигнал подтверждения, выдаваемый вентилем OR, отображает состояние стадии конвейера или как «действительное» или как «пустое».


Figure 2.14 An N-bit latch with completion detection.

N-битный конвейер может быть собран из соотвествующего числа 1-битных конвейеров, включенных параллельно. Это не гарантирует получателю что все биты слова будут получены одновременно и чаще всего синхронизация производится в функциональных блоках. В [124, 125] был разработан подобный образец с использованием комбаниционнных DIMS цепей, как описано ниже.

a

b

y.f

y.t

E

E

0

0




NO CHANGE







F

F

1

0

F

T

1

0

T

F

1

0

T

T

0

1




Figure 2.15 A 4-phase dual-rail AND gate: symbol, truth table, and implementation.

При параллельной синхронизации необходимо чтобы сигналы подтверждения каждого бита были объединены в один общай сигнал подтверждения при помощи C-элемента. На рисунке Figure 2 .14 показана N-битная защелка. Вентиль OR и C-элемент составляют детектор завершения, которые показывает, что в защелке содержится пустое или достоверное кодовое слово. На рисунке так же показан детектор завершения выполненный на 2-входовых C-элементах.

Теперь рассмотрим реализацию 4-фазного двухпроводного конфейера. Как было сказано в главе 1 комбинационные схемы между защелками должны быть прозрачными для механизма квитирования. Т.о. все выходы комбинационных схем не должны принимать действиельные значении до тех пор пока все их входы не станут действительными. В противном случае защелка-получаетель может преждевременно выставить сигнал подтверждения (до того как все выходы отправителя станут действиельными). То же самое касательно пустых значений. В противном случае приемник может преждевременно снятьсигнал подтверждения. В результате комбинационные схемы в таком конвейере включают элементы памяти и создают гистерезис при переключении из empty-to-valid и valid-to-empty.

Очень простой подход использование только C-элементов и вентилей OR как показано на рисунке Figure 2 .15, где показана реализация двухпроводного вентиля AND. Схема может быть получена прямым отображением в аппарутуру из логического выражения для каждых двух проводов. Схема ожидет пока все ее входы не станут достоверными. После этого ровно один С-элемент переключится в высокий уровень. Это в свою очередь приведет к тому что соотвествующий выход переключится в высокий уровень и в итоге вентиль выдаст достоверное значение. Кода все входы станут пустыми, все C-элементы будут установлены в 0 и выход двухпроводного вентиля AND снова станет пустым. Необходимо помнить, что C-элементы обеспечивают не только «and» функцию, но так же и гистерезис при переключениях empty-to-valid и valid-to-empty необходимых для прозрачного квитирования. Так же необходимо помнить, что на вентиле OR никогда не должно более одного сигнала быть в 1.

Прочие двухпроводные, такие как OR и XOR могут быть выполнены пообным образом, а двухпроводный инвертор всего лишь меняет местами провода true и false. В этих базовых двухпроводных реализациях число транзисторов велико и в главе 5 будут представлены более эффективные реализации цепей.

Данный набор основных двухпроводных вентилей позволяет разрабатывать двухпроводные комбинационные схемы для любых булевых выражений, используя обычную технику синтеза схем. Прозрачность для механизма квитирования – э то качество основных вентилей для составления больших комбинационных схем.

Основная идея этого подхода была сформулирована в работе Дэвида Миллера в конце 1950х начале 1960х [93, 92]. В то время как в [93] рассматривается фундаметнальная теория speed-independent схем, [92] есть так же несколько практических примеров, например последовательный умножитель построенный на защелках и вентилях, описанных ранее.
1   2   3   4   5   6   7   8   9   ...   64

Похожие:

Principles of Asynchronous Circuit Design iconСистема автоматизации проектных работ, или система автоматизированного...
Система автоматизации проектных работ, или система автоматизированного проектирования, сапр (cad, Computer-Aided Design) — программный...

Principles of Asynchronous Circuit Design iconВ. А. Геодакян Россия, Москва, Институт проблем экологии и эволюции им. А. Н. Северцова, ран
«asynchronous» theories are needed. This article suggests a theory, which gives interpretations and predictions

Литература


При копировании материала укажите ссылку © 2015
контакты
literature-edu.ru
Поиск на сайте

Главная страница  Литература  Доклады  Рефераты  Курсовая работа  Лекции