stringtranslate.com

Логический синтез

В компьютерной инженерии логический синтез — это процесс, посредством которого абстрактная спецификация желаемого поведения схемы , обычно на уровне передачи регистров (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-описания проекта, инструмент синтеза строит соответствующую многоуровневую булевую сеть .

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

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

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

Рекомендации

  1. ^ «Синтез: Verilog для Гейтса» (PDF) .
  2. ^ Навид А. Шервани (1999). Алгоритмы автоматизации физического проектирования СБИС (3-е изд.). Академическое издательство Клувер. п. 4. ISBN 978-0-7923-8393-2.
  3. ^ ab EETimes: развертывание высокоуровневого синтеза включает ESL [ постоянная мертвая ссылка ]

дальнейшее чтение

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