stringtranslate.com

Схема, квазинечувствительная к задержке

Обзор

Плюсы

Минусы

Чипсы

Схемы QDI использовались для производства большого количества исследовательских микросхем, небольшая подборка которых приведена ниже.

Теория

Цепь трубопровода QDI
Система правил событий конвейера QDI

Простейшая схема QDI — это кольцевой генератор, реализованный с использованием цикла инверторов . Каждый вентиль управляет двумя событиями на своем выходном узле. Либо подтягивающая сеть управляет напряжением узла от GND до Vdd, либо подтягивающая сеть от VDD до GND. Это дает кольцевому генератору шесть событий в общей сложности.

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

Если известно, что циклы являются взаимоисключающими , то их можно соединить с помощью комбинационной логики ( И , ИЛИ ). Это позволяет активному циклу продолжаться независимо от неактивных циклов и обычно используется для реализации кодировок, нечувствительных к задержкам .

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

Стабильность и невмешательство

Для правильной работы схемы QDI требуется, чтобы события ограничивались монотонными цифровыми переходами. Нестабильность ( сбой ) или помехи ( короткое замыкание ) могут привести систему в недопустимые состояния, что приведет к неверным/нестабильным результатам, тупиковой ситуации и повреждению схемы. Ранее описанная циклическая структура, которая обеспечивает стабильность, называется подтверждением . Переход T1подтверждает другой T2, если существует причинно-следственная последовательность событий от T1до T2, которая предотвращает T2возникновение до тех пор, пока T1не завершится. [время 1] [время 2] [время 3] Для схемы DI каждый переход должен подтверждать каждый вход в связанный с ним вентиль. Для схемы QDI есть несколько исключений, в которых свойство стабильности поддерживается с использованием предположений о синхронизации, гарантированных ограничениями компоновки, а не причинностью. [компоновка 1]

Предположение об изохронной вилке

Изохронная вилка — это проводная вилка, в которой один конец не подтверждает переход, управляющий проводом. Хороший пример такой вилки можно найти в стандартной реализации полубуфера предварительной зарядки. Существует два типа изохронных вилок. Асимметричная изохронная вилка предполагает, что переход на неподтверждающем конце происходит до или после того, как переход был замечен на подтверждающем конце. Симметричная изохронная вилка гарантирует, что оба конца наблюдают переход одновременно. В схемах QDI каждый переход, управляющий проводной вилкой, должен быть подтвержден по крайней мере одним концом этой вилки. Эта концепция была впервые введена А. Дж. Мартином для различения асинхронных схем, которые удовлетворяют требованиям QDI, и тех, которые им не удовлетворяют. Мартин также установил, что невозможно спроектировать полезные системы без включения по крайней мере некоторых изохронных вилок, учитывая разумные предположения о доступных элементах схемы. [синхронизация 3] Изохронные вилки долгое время считались самым слабым компромиссом вдали от полностью нечувствительных к задержкам систем.

Фактически, каждый вентиль КМОП имеет одну или несколько внутренних изохронных вилок между подтягивающими и подтягивающими сетями. Подтягивающая сеть распознает только восходящие переходы входов, тогда как подтягивающая сеть распознает только нисходящие переходы.

Предположение о состязательном пути

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

Предположение о времени полупериода

Это предположение немного смягчает требования QDI в стремлении к производительности. Элемент C фактически представляет собой три вентиля, логику, драйвер и обратную связь и является неинвертирующим. Это становится громоздким и дорогим, если требуется большой объем логики. Теорема подтверждения гласит, что драйвер должен подтверждать логику. Предположение о тайминге полупериода предполагает, что драйвер и обратная связь стабилизируются до того, как входам логики будет разрешено переключаться. [тайминг 4] Это позволяет разработчику использовать выход логики напрямую, минуя драйвер и делая более короткие циклы для обработки с более высокой частотой.

Атомные комплексные вентили

В большом количестве литературы по автоматическому синтезу используются атомарные сложные вентили . Предполагается, что дерево вентилей полностью переходит, прежде чем любой из входов на листьях дерева снова сможет переключиться. [время 5] [время 6] Хотя это предположение позволяет инструментам автоматического синтеза обходить проблему перетасовки пузырьков, надежность этих вентилей, как правило, трудно гарантировать.

Относительное время

Relative Timing — это фреймворк для создания и внедрения произвольных предположений о времени в схемах QDI. Он представляет предположение о времени как виртуальную дугу причинности для завершения разорванного цикла в графе событий. Это позволяет разработчикам рассуждать о предположениях о времени как о методе реализации схем с более высокой пропускной способностью и энергоэффективностью, систематически жертвуя надежностью. [timing 7] [timing 8]

Представления

Взаимодействие аппаратных процессов (CHP)

Коммуникационные аппаратные процессы (CHP) — это программная нотация для схем QDI, вдохновленная коммуникационными последовательными процессами (CSP) Тони Хоара и защищенными командами Эдсгера В. Дейкстры . Синтаксис описан ниже в порядке убывания приоритета. [синтез 2]

Расширения рукопожатий (HSE)

Расширения рукопожатия являются подмножеством CHP, в котором протоколы каналов расширяются до охранников и назначений, и разрешены только операторы без данных. Это промежуточное представление к синтезу схем QDI.

Сети Петри (ПН)

Сеть Петри (PN) — это двудольный граф позиций и переходов, используемый в качестве модели для схем QDI. Переходы в сети Петри представляют собой переходы напряжения на узлах схемы. Места представляют собой частичные состояния между переходами. Маркер внутри позиции действует как программный счетчик, определяющий текущее состояние системы, и в сети Петри может одновременно существовать несколько токенов. Однако для схем QDI наличие нескольких токенов в одном месте является ошибкой.

Когда переход имеет токены на каждой входной позиции, этот переход включен. Когда переход срабатывает, токены удаляются из входных позиций, а новые токены создаются на всех выходных позициях. Это означает, что переход с несколькими выходными позициями является параллельным разделением, а переход с несколькими входными позициями является параллельным слиянием. Если у позиции есть несколько выходных переходов, то любой из этих переходов может сработать. Однако, сделав это, вы удалите токен из позиции и предотвратите срабатывание любого другого перехода. Это эффективно реализует выбор. Следовательно, позиция с несколькими выходными переходами является условным разделением, а позиция с несколькими входными переходами является условным слиянием.

Системы событий-правил (ER)

Системы событий-правил (ER) используют похожую нотацию для реализации ограниченного подмножества функциональности сетей Петри, в которых есть переходы и дуги, но нет мест. Это означает, что базовая система ER не имеет выбора, реализованного условными разбиениями и слияниями в сети Петри, и дизъюнкции, реализованной условными слияниями. Базовая система ER также не допускает обратной связи.

В то время как сети Петри используются для моделирования логики схемы, система ER моделирует синхронизацию и трассировку выполнения схемы, записывая задержки и зависимости каждого перехода. Это обычно используется для определения того, какие вентили должны быть быстрее, а какие могут быть медленнее, оптимизируя размер устройств в системе. [sizing 1]

Системы повторяющихся событий-правил (RER) добавляют обратную связь, складывая след обратно на себя, отмечая точку сгиба галочкой. [размер 1] Системы расширенных событий-правил (XER) добавляют дизъюнкцию. [размер 2]

Набор правил производства (PRS)

Правило производства определяет либо подтягивающую, либо подтягивающую сеть вентиля в схеме QDI и следует синтаксису G -> S, в котором Gесть охранник, как описано выше, и Sесть одно или несколько назначений без данных параллельно, как описано выше. В состояниях, не охваченных охранниками, предполагается, что назначенные узлы остаются в своих предыдущих состояниях. Этого можно достичь с помощью статиста либо слабой, либо комбинационной обратной связи (показано красным). Самым простым примером является C-элемент , в котором охранники не покрывают состояния, где Aи Bне являются одинаковыми значениями.

Синтез

Половина буфера слабого состояния без данных
Re & Lr -> _Rr-~_Рр -> Рр+Рр -> Ле-~Ре и ~Лр -> _Рр+_Рр -> Рр-~Рр -> Ле+
Полубуфер предварительной зарядки без данных
ru & Lr -> _Rr-~_Рр -> Рр+Лр и Пр -> _Лв-~_Ур. -> Ур.+Lv -> Le-~Ле и ~Ре -> _en+_ru -> ru-~ru -> _Rr+_Рр -> Рр-~Лр и ~Пр -> _Лв+_Уровень -> Уров-~Ур -> Ле+Le & Re -> _en-~_ru -> ru+

Существует множество методов построения схем QDI, но их можно разделить на две стратегии.

Формальный синтез

Формальный синтез был введен Аленом Мартином в 1991 году. [синтез 2] Метод включает в себя выполнение последовательных преобразований программы, которые, как доказано, поддерживают корректность программы. Цель этих преобразований — преобразовать исходную последовательную программу в параллельный набор взаимодействующих процессов, каждый из которых хорошо отображает один этап конвейера. Возможные преобразования включают:

После того, как программа разложена на набор небольших коммуникационных процессов, она расширяется до расширений рукопожатия (HSE) . Действия каналов расширяются в их составляющие протоколы, а многобитовые операторы расширяются в их реализации схем. Затем эти HSE перетасовываются для оптимизации реализации схемы за счет сокращения количества зависимостей. [синтез 5] После того, как перетасовка определена, переменные состояния добавляются для устранения неоднозначности состояний схемы для полного кодирования состояния . [синтез 6] Затем для каждого назначения сигнала выводятся минимальные защитные функции, что создает правила производства. Для этого существует несколько методов, включая усиление защитных функций , ослабление защитных функций и другие. [синтез 2] Правила производства не обязательно реализуемы в КМОП на этом этапе, поэтому перетасовка пузырьков перемещает инверсии сигналов по схеме в попытке сделать это. Однако перетасовка пузырьков не гарантирует успеха. Именно здесь в программах автоматизированного синтеза обычно используются атомарные сложные вентили.

Синтаксически направленный перевод

Вторая стратегия, синтаксически направленная трансляция , была впервые представлена ​​в 1988 году Стивеном Бернсом. Она ищет более простой подход за счет производительности схемы путем сопоставления каждого синтаксиса CHP с вручную скомпилированным шаблоном схемы. [синтез 7] Синтез схемы QDI с использованием этого метода строго реализует поток управления, как предписано программой. Позднее это было принято исследовательскими лабораториями Philips в их реализации Tangram. В отличие от подхода Стивена Бернса с использованием шаблонов схем, Tangram сопоставил синтаксис со строгим набором стандартных ячеек, что облегчило как компоновку, так и синтез. [синтез 8]

Шаблонный синтез

Гибридный подход, представленный Эндрю Лайнсом в 1998 году, преобразует последовательную спецификацию в параллельные спецификации, как в формальном синтезе, но затем использует предопределенные шаблоны конвейера для реализации этих параллельных процессов, аналогичных синтаксически-управляемому переводу. [синтез 9] Лайнс описал три эффективных логических семейства или перестановки .

Слабое состояние полубуфера (WCHB)

Слабое условие полубуфера (WCHB) является самым простым и быстрым из логических семейств с 10 циклами конвейера переходов (или 6 с использованием предположения о тайминге полуцикла). Однако он также ограничен более простыми вычислениями, поскольку более сложные вычисления, как правило, требуют длинных цепочек транзисторов в подтягивающей сети прямого драйвера. Более сложные вычисления, как правило, можно разбить на более простые этапы или обрабатывать напрямую с помощью одного из семейств предварительной зарядки. WCHB является полубуфером, что означает, что конвейер Nэтапов может содержать не более N/2токенов одновременно. Это связано с тем, что сброс запроса на выход Rrдолжен ждать до сброса ввода Lr.

Предварительно заряженный полубуфер (PCHB)

Предварительная зарядка полубуфера (PCHB) использует логику домино для реализации более сложного этапа вычислительного конвейера. Это устраняет проблему длинной подтягивающей сети, но также вводит изохронную вилку на входных данных, которая должна быть разрешена позже в цикле. Это приводит к тому, что цикл конвейера становится 14-переходным (или 10-переходным, если использовать предположение о тайминге полуцикла).

Предварительная зарядка полного буфера (PCFB)

Предварительно заряженные полные буферы (PCFB) очень похожи на PCHB, но корректируют фазу сброса перетасовки для реализации полной буферизации. Это означает, что конвейер из Nстадий PCFB может содержать не более Nтокенов одновременно. Это связано с тем, что сброс запроса на вывод Rrдопускается до сброса запроса на ввод Lr.

Проверка

Наряду с обычными методами проверки тестирования, покрытия и т. д., схемы QDI могут быть проверены формально путем инвертирования формальной процедуры синтеза для получения спецификации CHP из схемы. Затем эту спецификацию CHP можно сравнить с оригиналом, чтобы доказать ее правильность. [проверка 1] [проверка 2]

Ссылки

Синтез

  1. ^ Tse, Jonathan; Hill, Benjamin; Manohar, Rajit (май 2013 г.). "Немного анализа самосинхронных однобитовых встроенных связей" (PDF) . 2013 IEEE 19-й Международный симпозиум по асинхронным схемам и системам . Труды 19-го Международного симпозиума IEEE по асинхронным схемам и системам (ASYNC). стр. 124–133. CiteSeerX  10.1.1.649.294 . doi :10.1109/ASYNC.2013.26. ISBN 978-1-4673-5956-6. S2CID  11196963.
  2. ^ abc Мартин, Ален (1991). Синтез асинхронных схем VLSI (PDF) (Отчет). Калифорнийский технологический институт.
  3. ^ Манохар, Раджит; Ли, Так-Кван; Мартин, Ален (1999). «Проекция: метод синтеза для параллельных систем». Труды. Пятый международный симпозиум по перспективным исследованиям в области асинхронных цепей и систем (PDF) . стр. 125–134. CiteSeerX 10.1.1.49.2264 . doi :10.1109/ASYNC.1999.761528. ISBN  978-0-7695-0031-7. S2CID  11051137.
  4. ^ Манохар, Раджит; Мартин, Ален Дж. (1998-06-15). "Эластичность слабины в параллельных вычислениях". Математика построения программ (PDF) . Конспект лекций по информатике. Том 1422. Springer, Берлин, Гейдельберг. С. 272–285. CiteSeerX 10.1.1.396.2277 . doi :10.1007/bfb0054295. ISBN  9783540645917.
  5. ^ Manohar, R. (2001). "Анализ перетасованных расширений квитирования" (PDF) . Труды Седьмого международного симпозиума по асинхронным схемам и системам. ASYNC 2001 . стр. 96–105. CiteSeerX 10.1.1.11.55 . doi :10.1109/async.2001.914073. ISBN  978-0-7695-1034-7. S2CID  5156531. Архивировано из оригинала (PDF) 14 октября 2017 г.
  6. ^ Кортаделла, Дж .; Кишиневский, М.; Кондратьев, А.; Лаваньо, Л.; Яковлев, А. (март 1996 г.). «Полное кодирование состояний на основе теории регионов». Труды Второго международного симпозиума по перспективным исследованиям в области асинхронных цепей и систем (PDF) . стр. 36–47. doi :10.1109/async.1996.494436. hdl :2117/129509. ISBN 978-0-8186-7298-9. S2CID  14297152.
  7. ^ Бернс, Стивен; Мартин, Ален (1988). «Синтаксически-управляемая трансляция параллельных программ в самосинхронные схемы» (PDF) . Калифорнийский технологический институт.
  8. ^ Berkel, Kees van; Kessels, Joep; Roncken, Marly; Saeijs, Ronald; Schalij, Frits (1991). "Язык программирования VLSI Tangram и его перевод в схемы квитирования" (PDF) . Труды Европейской конференции по автоматизации проектирования . IEEE Design Automation. стр. 384–389. doi :10.1109/EDAC.1991.206431. S2CID  34437785.
  9. ^ Лайнс, Эндрю (1998). «Конвейерные асинхронные схемы» (PDF) (MS). Калифорнийский технологический институт. doi :10.7907/z92v2d4z.

Сроки

  1. ^ Manohar, R.; Moses, Y. (май 2015 г.). «Анализ изохронных вилок с потенциальной причинностью». 2015 21-й Международный симпозиум IEEE по асинхронным схемам и системам (PDF) . стр. 69–76. doi :10.1109/async.2015.19. ISBN 978-1-4799-8716-0. S2CID  10262182.
  2. ^ ab Келлер, С.; Кательман, М.; Мартин, А.Дж. (май 2009 г.). «Необходимое и достаточное предположение о синхронизации для схем, независимых от скорости». 2009 15-й симпозиум IEEE по асинхронным схемам и системам (PDF) . стр. 65–76. doi :10.1109/async.2009.27. ISBN 978-0-7695-3616-3. S2CID  6612621.
  3. ^ ab Martin, Alain J. (1990). "Ограничения нечувствительности к задержкам в асинхронных схемах" (PDF) . Шестая конференция Массачусетского технологического института по перспективным исследованиям в области СБИС . MIT Press.
  4. ^ LaFrieda, C.; Manohar, R. (май 2009 г.). «Снижение энергопотребления с помощью ослабленных квазизадержечно-нечувствительных схем». 2009 15-й симпозиум IEEE по асинхронным схемам и системам (PDF) . стр. 217–226. CiteSeerX 10.1.1.153.3557 . doi :10.1109/async.2009.9. ISBN  978-0-7695-3616-3. S2CID  6282974.
  5. ^ Meng, THY; Brodersen, RW; Messerschmitt, DG (ноябрь 1989). «Автоматический синтез асинхронных схем из спецификаций высокого уровня». IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems . 8 (11): 1185–1205. doi :10.1109/43.41504. ISSN  0278-0070.
  6. ^ Пастор, Э.; Кортаделла, Дж.; Кондратьев, А.; Ройг, О. (ноябрь 1998 г.). «Структурные методы синтеза схем, независимых от скорости» (PDF) . Труды IEEE по автоматизированному проектированию интегральных схем и систем . 17 (11): 1108–1129. doi :10.1109/43.736185. hdl :2117/125785. ISSN  0278-0070.
  7. ^ Стивенс, К. С.; Гиносар, Р.; Ротем, С. (февраль 2003 г.). «Относительное время» (PDF) . Труды IEEE по системам сверхбольшой интеграции (VLSI) . 11 (1): 129–140. doi :10.1109/tvlsi.2002.801606. ISSN  1063-8210.
  8. ^ Manoranjan, JV; Stevens, KS (май 2016 г.). «Квалификация относительных временных ограничений для асинхронных схем». 2016 22-й Международный симпозиум IEEE по асинхронным схемам и системам (ASYNC) (PDF) . стр. 91–98. doi :10.1109/async.2016.23. ISBN 978-1-4673-9007-1. S2CID  6239093.

Проверка

  1. ^ Лонгфилд, С. Дж.; Манохар, Р. (май 2013 г.). «Инвертирование синтеза Мартина для проверки». 2013 IEEE 19-й Международный симпозиум по асинхронным схемам и системам (PDF) . стр. 150–157. CiteSeerX 10.1.1.645.9939 . doi :10.1109/async.2013.10. ISBN  978-1-4673-5956-6. S2CID  762078.
  2. ^ Лонгфилд, Стивен; Нкункоу, Бриттани; Манохар, Раджит; Тейт, Росс (2015). «Предотвращение сбоев и коротких замыканий в спецификациях высокоуровневых самосинхронных микросхем». Труды 36-й конференции ACM SIGPLAN по проектированию и внедрению языков программирования (PDF) . PLDI '15. Нью-Йорк, штат Нью-Йорк, США: ACM. стр. 270–279. doi :10.1145/2737924.2737967. ISBN 9781450334686. S2CID  6363535.

Размеры

  1. ^ ab Бернс, Стивен (1991). Анализ производительности и оптимизация асинхронных цепей (Ph.D.). Калифорнийский технологический институт.
  2. ^ Ли, Так-Кван (1995). Общий подход к анализу производительности и оптимизации асинхронных цепей (доктор философии). Центр технической информации Министерства обороны.[ мертвая ссылка ]

Макет

  1. ^ Кармазин, Р.; Лонгфилд, С.; Отеро, технический директор; Манохар, Р. (май 2015 г.). «Размещение с управлением по времени для квазинечувствительных к задержкам схем». 2015 21-й Международный симпозиум IEEE по асинхронным схемам и системам (PDF) . стр. 45–52. doi :10.1109/async.2015.16. ISBN 978-1-4799-8716-0. S2CID  10745504.

Чипсы

  1. ^ Мартин, Ален; Бернс, Стивен; Ли, Так-Кван (1989). «Проектирование асинхронного микропроцессора». ACM SIGARCH Computer Architecture News . 17 (4): 99–110. doi : 10.1145/71317.1186643 .
  2. ^ Мартин, Ален; Лайнс, Эндрю; Манохар, Раджит; Нистром, Мика; Пензес, Пол; Саутворт, Роберт; Каммингс, Ури; Ли, Так-Кван (1997). «Проектирование асинхронного микропроцессора MIPS R3000». Труды семнадцатой конференции по перспективным исследованиям в области СБИС . стр. 164–181. doi :10.1109/ARVLSI.1997.634853. ISBN 0-8186-7913-1.
  3. ^ Nanya, T.; Ueno, Y.; Kagotani, H.; Kuwako, M.; Takamura, A. (Лето 1994). "TITAC: проектирование квазинечувствительного к задержкам микропроцессора" (PDF) . IEEE Design and Test of Computers . 11 (2): 50–63. doi :10.1109/54.282445. ISSN  0740-7475. S2CID  9351043.
  4. ^ Takamura, A.; Kuwako, M.; Imai, M.; Fujii, T.; Ozawa, M.; Fukasaku, I.; Ueno, Y.; Nanya, T. (октябрь 1997 г.). "TITAC-2: асинхронный 32-разрядный микропроцессор на основе масштабируемой модели, нечувствительной к задержкам". Труды Международной конференции по компьютерному проектированию СБИС в компьютерах и процессорах (PDF) . стр. 288–294. CiteSeerX 10.1.1.53.7359 . doi :10.1109/iccd.1997.628881. ISBN  978-0-8186-8206-3. S2CID  14119246. Архивировано из оригинала (PDF) 14 октября 2017 г.

Внешние ссылки

Инструменты

Учебники