Логический синтез
Эта статья нуждается в дополнительных цитатах для проверки . ( январь 2013 г. ) |
В компьютерной инженерии логический синтез — это процесс, посредством которого абстрактная спецификация желаемого поведения схемы , обычно на уровне передачи регистров (RTL), превращается в проектную реализацию с точки зрения логических элементов , обычно с помощью компьютерной программы , называемой инструментом синтеза . Типичные примеры этого процесса включают синтез проектов, заданных на языках описания аппаратного обеспечения , включая VHDL и Verilog . [1] Некоторые инструменты синтеза генерируют потоки битов для программируемых логических устройств, таких как PAL или FPGA , тогда как другие предназначены для создания ASIC . Логический синтез - это один шаг в проектировании схем в автоматизации электронного проектирования , остальные - это размещение и маршрутизация , а также проверка и валидация .
История [ править ]
Корни логического синтеза можно проследить до трактовки логики Джорджем Булем (1815–1864) в том, что сейчас называется булевой алгеброй . В 1938 году Клод Шеннон показал, что двузначная булева алгебра может описывать работу коммутационных схем. На заре логического проектирования предполагалось манипулирование таблицы истинности представлениями в виде карт Карно . Минимизация логики на основе карт Карно руководствуется набором правил того, как можно комбинировать записи на картах. Человек-дизайнер обычно может работать только с картами Карно, содержащими от четырех до шести переменных.
Первым шагом на пути автоматизации логической минимизации стало внедрение алгоритма Куайна – МакКласки , который можно было реализовать на компьютере. Этот точный метод минимизации представил понятие основных импликантов и минимального покрытия затрат, которые стали краеугольным камнем двухуровневой минимизации . В настоящее время гораздо более эффективный эвристический логический минимизатор Espresso стал стандартным инструментом для этой операции. [ нужно обновить ] Другая область ранних исследований заключалась в минимизации состояний и кодировании конечных автоматов (FSM) — задача, которая была проклятием проектировщиков. Применение логического синтеза лежит в первую очередь в проектировании цифровых компьютеров. Таким образом, IBM и Bell Labs сыграли ключевую роль в ранней автоматизации логического синтеза. Эволюция от дискретной логики компонентов к программируемым логическим матрицам (PLA) ускорила необходимость эффективной двухуровневой минимизации, поскольку минимизация членов в двухуровневом представлении уменьшает площадь PLA.
Двухуровневые логические схемы имеют ограниченное значение в проектах сверхбольшой интеграции (СБИС); большинство проектов используют несколько уровней логики. Почти любое представление схемы в RTL или поведенческом описании является многоуровневым представлением. Первой системой, которая использовалась для проектирования многоуровневых схем, была LSS от IBM. Он использовал локальные преобразования для упрощения логики. Работа над LSS и Yorktown Silicon Compiler стимулировала быстрый прогресс исследований в области логического синтеза в 1980-х годах. Несколько университетов внесли свой вклад, сделав свои исследования доступными для общественности, в первую очередь SIS из Калифорнийского университета в Беркли , RASP из Калифорнийского университета в Лос-Анджелесе и BOLD из Университета Колорадо в Боулдере . В течение десятилетия эта технология перекочевала в коммерческие продукты логического синтеза, предлагаемые компаниями по автоматизации электронного проектирования.
Коммерческие инструменты [ править ]
Ведущими разработчиками и поставщиками программных пакетов логического синтеза являются Synopsys , Cadence и Siemens . Их инструментами синтеза являются Synopsys Design Compiler, Cadence First Encounter и Siemens Precision RTL.
Логические элементы [ править ]
Проектирование логики — это этап стандартного цикла проектирования, на котором функциональный проект электронной схемы преобразуется в представление, охватывающее логические операции , арифметические операции , поток управления и т. д. Общим результатом этого этапа является описание RTL . За логическим проектированием обычно следует этап проектирования схемы . В современной автоматизации проектирования электронных компонентов части логического проектирования могут быть автоматизированы с использованием инструментов синтеза высокого уровня, основанных на поведенческом описании схемы. [2]
Логические операции обычно состоят из логических операций «И», «ИЛИ», «ИСКЛЮЧАЮЩЕЕ ИЛИ» и «НЕ» и являются наиболее основными формами операций в электронной схеме. Арифметические операции обычно реализуются с использованием логических операторов.
Высокий уровень или поведенческий [ править ]
С целью повышения производительности проектировщиков исследовательские усилия по синтезу схем, заданных на поведенческом уровне, привели в 2004 году к появлению коммерческих решений. [3] которые используются для сложного проектирования ASIC и FPGA. Эти инструменты автоматически синтезируют схемы, заданные с использованием языков высокого уровня, таких как ANSI C/C++ или SystemC, в соответствии со спецификацией уровня передачи регистров (RTL), которую можно использовать в качестве входных данных для потока логического синтеза уровня вентиля. [3] При использовании высокоуровневого синтеза, также известного как синтез ESL, распределение работы по тактам и структурным компонентам, таким как ALU с плавающей запятой, выполняется компилятором с использованием процедуры оптимизации, тогда как при логическом синтезе RTL (даже из поведенческих Verilog или VHDL, где поток выполнения может выполнять несколько операций чтения и записи переменной в течение такта), эти решения о распределении уже приняты.
Многоуровневая логическая минимизация [ править ]
Типичные практические реализации логической функции используют многоуровневую сеть логических элементов. Начиная с RTL-описания проекта, инструмент синтеза строит соответствующую многоуровневую булеву сеть .
Затем эта сеть оптимизируется с использованием нескольких технологически независимых методов, прежде чем будут выполнены технологически зависимые оптимизации. Типичная функция стоимости во время технологически независимых оптимизаций представляет собой общее количество букв факторизованного представления логической функции (которое довольно хорошо коррелирует с площадью схемы).
Наконец, технологически-зависимая оптимизация преобразует технологически независимую схему в сеть вентилей данной технологии. Простые оценки затрат заменяются более конкретными оценками, ориентированными на реализацию, во время и после картирования технологий. Сопоставление ограничивается такими факторами, как доступные элементы (логические функции) в технологической библиотеке, размеры привода для каждого элемента, а также характеристики задержки, мощности и площади каждого элемента.
См. также [ править ]
- Кремниевый компилятор
- Бинарная диаграмма решений
- Функциональная проверка
- Булево дифференциальное исчисление
- Синтез Integral Design от DEC , инструмента 1980-х годов, используемого для проектирования процессоров мейнфреймов VAX 9000 и других микросхем.
Ссылки [ править ]
- ^ «Синтез: Verilog для Гейтса» (PDF) .
- ^ Навид А. Шервани (1999). Алгоритмы автоматизации физического проектирования СБИС (3-е изд.). Академическое издательство Клювер. п. 4. ISBN 978-0-7923-8393-2 .
- ↑ Перейти обратно: Перейти обратно: а б EETimes: внедрение высокоуровневого синтеза позволяет использовать ESL [ постоянная мертвая ссылка ]
- Справочник по автоматизации проектирования электронных систем для интегральных схем , автор: Лаваньо, Мартин и Шеффер, ISBN 0-8493-3096-3 Обзор области автоматизации проектирования электроники . Приведенное выше резюме было взято с разрешения из тома 2, главы 2 «Логический синтез» . Сунила Хатри и Нарендры Шеноя
Дальнейшее чтение [ править ]
- Бургун, Люк; Грейнер, Ален; Прадо Лопес Эудес (октябрь 1994 г.). «Последовательный подход к логическому синтезу для архитектур FPGA». Материалы Международной конференции по ASIC (ASICON) . Пекин: 104–107.
- Цзян, Цзе-Хун «Роланд»; Девадас, Шринивас (2009). «Глава 6: Логический синтез в двух словах». Ин Ван, Лаунг-Тернг; Чанг, Яо-Вэнь; Ченг, Кван-Тин (ред.). Автоматизация проектирования электроники: синтез, проверка и тестирование . Морган Кауфманн. ISBN 978-0-12-374364-0 .
- Хачтел, Гэри Д.; Соменци, Фабио (2006) [1996]. Алгоритмы логического синтеза и проверки . Springer Science & Business Media . ISBN 0-7923-9746-0 .
- Хассун, Соха ; Слова, Цутому, ред. (2002). Логический синтез и проверка . Клювер. ISBN 978-0-7923-7606-4 .
- Перковский, Марек А.; Грыгель, Станислав (20 ноября 1995 г.). «6. Исторический обзор исследований разложения». Обзор литературы по разложению функций (PDF) . Версия IV. Группа функциональной декомпозиции, факультет электротехники, Портлендский университет, Портленд, Орегон, США. CiteSeerX 10.1.1.64.1129 . Архивировано (PDF) из оригинала 28 марта 2021 г. Проверено 28 марта 2021 г. (188 страниц)
- Станкович, Радомир С. [на немецком языке] ; Сасао, Цутому; Астола, Яакко Тапио [на финском языке] (август 2001 г.). «Публикации за первые двадцать лет теории переключения и проектирования логики» (PDF) . Серия Международного центра обработки сигналов Тампере (TICSP). Технологический университет Тампере / TTKK, Монистамо, Финляндия. ISSN 1456-2774 . S2CID 62319288 . № 14. Архивировано (PDF) из оригинала 9 августа 2017 г. Проверено 28 марта 2021 г. (4+60 страниц)
Внешние ссылки [ править ]
- СМИ, связанные с логическим дизайном, на Викискладе?