stringtranslate.com

График И-инвертора

Граф and-inverter (AIG) — это направленный ациклический граф , представляющий структурную реализацию логической функциональности схемы или сети . AIG состоит из двухвходовых узлов, представляющих логическое соединение , терминальных узлов, помеченных именами переменных, и ребер, опционально содержащих маркеры, указывающие на логическое отрицание . Такое представление логической функции редко бывает структурно эффективным для больших схем, но является эффективным представлением для манипулирования булевыми функциями . Обычно абстрактный граф представляется в виде структуры данных в программном обеспечении.

Два структурно различных AIG для функции f(x1, x2, x3) = x2 * ( x1 + x3 )

Преобразование из сети логических вентилей в AIG выполняется быстро и масштабируемо. Требуется только, чтобы каждый вентиль был выражен в терминах вентилей AND и инверторов . Это преобразование не приводит к непредсказуемому увеличению использования памяти и времени выполнения. Это делает AIG эффективным представлением по сравнению с диаграммой бинарных решений (BDD) или формой «суммы произведения» (ΣoΠ), [ требуется ссылка ], то есть канонической формой в булевой алгебре, известной как дизъюнктивная нормальная форма (DNF). BDD и DNF также можно рассматривать как схемы, но они включают формальные ограничения, которые лишают их масштабируемости. Например, ΣoΠ — это схемы с максимум двумя уровнями, в то время как BDD являются каноническими, то есть они требуют, чтобы входные переменные оценивались в одном и том же порядке на всех путях.

Схемы, состоящие из простых вентилей, включая AIG, являются «древней» темой исследований. Интерес к AIG начался с основополагающей статьи Алана Тьюринга 1948 года [1] о нейронных сетях, в которой он описал рандомизированную обучаемую сеть вентилей NAND. Интерес продолжался до конца 1950-х годов [2] и продолжился в 1970-х годах, когда были разработаны различные локальные преобразования. Эти преобразования были реализованы в нескольких системах логического синтеза и проверки, таких как Darringer et al. [3] и Smith et al., [4], которые сокращают схемы для улучшения площади и задержки во время синтеза или для ускорения формальной проверки эквивалентности . Несколько важных методов были открыты рано в IBM , такие как объединение и повторное использование многовходовых логических выражений и подвыражений, теперь известных как структурное хеширование.

Недавно вновь возник интерес к AIG как к функциональному представлению для различных задач синтеза и верификации. Это связано с тем, что популярные в 1990-х годах представления (такие как BDD) достигли пределов масштабируемости во многих своих приложениях. [ необходима цитата ] Другим важным достижением стало недавнее появление гораздо более эффективных решателей булевой выполнимости (SAT). В сочетании с AIG как схемным представлением они приводят к значительному ускорению решения широкого спектра булевых задач . [ необходима цитата ]

AIG нашли успешное применение в различных приложениях EDA . Хорошо настроенное сочетание AIG и булевой выполнимости оказало влияние на формальную верификацию , включая как проверку моделей, так и проверку эквивалентности. [5] Другая недавняя работа показывает, что эффективные методы сжатия схем могут быть разработаны с использованием AIG. [6] Растет понимание того, что проблемы логического и физического синтеза могут быть решены с использованием моделирования и булевой выполнимости для вычисления функциональных свойств (таких как симметрии) [7] и гибкости узлов (таких как термины don't care , повторные замены и SPFD). [8] [9] [10] Мищенко и др. показывают, что AIG являются многообещающим объединяющим представлением, которое может объединить логический синтез , технологическое отображение, физический синтез и формальную верификацию. Это во многом связано с простой и единообразной структурой AIG, которая позволяет переписывать, моделировать, отображать, размещать и проверять, чтобы совместно использовать одну и ту же структуру данных.

В дополнение к комбинационной логике, AIG также применялись к последовательной логике и последовательным преобразованиям. В частности, метод структурного хеширования был расширен для работы с AIG с элементами памяти (такими как триггеры D-типа с начальным состоянием, которое, в общем случае, может быть неизвестным), что привело к структуре данных, которая специально предназначена для приложений, связанных с повторной синхронизацией . [11]

Текущие исследования включают внедрение современной системы логического синтеза, полностью основанной на AIG. Прототип под названием ABC включает пакет AIG, несколько методов синтеза и проверки эквивалентности на основе AIG, а также экспериментальную реализацию последовательного синтеза. Один из таких методов объединяет технологическое отображение и повторное синхронизирование в одном шаге оптимизации. Эти оптимизации могут быть реализованы с использованием сетей, состоящих из произвольных вентилей, но использование AIG делает их более масштабируемыми и простыми в реализации.

Реализации

Смотрите также

Ссылки

  1. Статья Тьюринга 1948 года была перепечатана как Turing AM. Intelligent Machinery. В: Ince DC, editor. Collected works of AM Turing — Mechanical Intelligence. Elsevier Science Publishers, 1992.
  2. ^ L. Hellerman (июнь 1963 г.). «Каталог логических схем ИЛИ-инвертор и И-инвертор с тремя переменными». IEEE Trans. Electron. Comput . EC-12 (3): 198–223. doi :10.1109/PGEC.1963.263531.
  3. ^ A. Darringer; WH Joyner, Jr.; CL Berman; L. Trevillyan (июль 1981 г.). «Логический синтез через локальные преобразования». IBM Journal of Research and Development . 25 (4): 272–280. CiteSeerX 10.1.1.85.7515 . doi :10.1147/rd.254.0272. 
  4. ^ GL Smith; RJ Bahnsen; H. Halliwell (январь 1982 г.). «Булево сравнение оборудования и блок-схем». IBM Journal of Research and Development . 26 (1): 106–116. CiteSeerX 10.1.1.85.2196 . doi :10.1147/rd.261.0106. 
  5. ^ A. Kuehlmann; V. Paruthi; F. Krohm; MK Ganai (2002). «Надежное логическое обоснование для проверки эквивалентности и функциональной верификации свойств». IEEE Trans. CAD . 21 (12): 1377–1394. CiteSeerX 10.1.1.119.9047 . doi :10.1109/tcad.2002.804386. 
  6. ^ Пер Бьессе; Арне Борэльв (2004). «Сжатие схем с поддержкой DAG для формальной проверки» (PDF) . Proc. ICCAD '04 . С. 42–49.
  7. ^ K.-H. Chang; IL Markov; V. Bertacco (2005). "Перемонтаж и повторная буферизация после размещения с помощью исчерпывающего поиска функциональных симметрий" (PDF) . Proc. ICCAD '05 . С. 56–63.
  8. ^ А. Мищенко; Дж. С. Чжан; С. Синха; Дж. Р. Берч; Р. Брайтон; М. Чжановска-Йеске (май 2006 г.). «Использование моделирования и выполнимости для вычисления гибкости в булевых сетях» (PDF) . IEEE Trans. CAD . 25 (5): 743–755. CiteSeerX 10.1.1.62.8602 . doi :10.1109/tcad.2005.860955. S2CID  13099806. 
  9. ^ S. Sinha; RK Brayton (1998). «Реализация и использование SPFD при оптимизации булевых сетей». Proc. ICCAD . С. 103–110. CiteSeerX 10.1.1.488.8889 . 
  10. ^ S. Yamashita; H. Sawada; A. Nagoya (1996). «Новый метод выражения функциональных допустимостей для ПЛИС на основе LUT и его приложений» (PDF) . Proc. ICCAD . стр. 254–261.
  11. ^ J. Baumgartner; A. Kuehlmann (2001). "Минимальная площадь повторной синхронизации на гибких схемных структурах" (PDF) . Proc. ICCAD'01 . С. 176–182.