В компьютерной технике , логика синтез представляет собой процесс , посредством которого абстрактного указание желаемой схемы поведения, как правило , на уровне передачи регистра (РТЛ), превращается в реализацию конструкции с точкой зрения логических вентилей , как правило , с помощью компьютерной программы , называемого инструментом синтеза . Общие примеры этого процесса включают синтез проектов, указанных на языках описания оборудования , включая VHDL и Verilog . [1] Некоторые инструменты синтеза генерируют потоки битов для программируемых логических устройств, таких какPAL или FPGA , в то время как другие нацелены на создание ASIC . Логический синтез - один из аспектов автоматизации проектирования электроники .
История логического синтеза
Корни логического синтеза можно проследить до обращения Джорджа Буля (1815–1864) к логике в том, что сейчас называется булевой алгеброй . В 1938 году Клод Шеннон показал, что двузначная булева алгебра может описывать работу коммутационных схем. Раньше логический дизайн предполагал манипулирование представлениями таблицы истинности как картами Карно . Минимизация логики на основе карт Карно руководствуется набором правил того, как записи в картах могут быть объединены. Человек-дизайнер обычно может работать только с картами Карно, содержащими от четырех до шести переменных.
Первым шагом к автоматизации логической минимизации было внедрение алгоритма Куайна – Маккласки, который можно было реализовать на компьютере. Этот точный метод минимизации представил понятие основных импликантов и минимальных затрат, которые станут краеугольным камнем двухуровневой минимизации . В настоящее время стандартным инструментом для этой операции стал гораздо более эффективный эвристический логический минимизатор Espresso . [ нуждается в обновлении ] Другой областью ранних исследований была минимизация состояний и кодирование конечных автоматов (FSM), задача, которая была проклятием для дизайнеров. Приложения для логического синтеза лежат в первую очередь в проектировании цифровых компьютеров. Таким образом, IBM и Bell Labs сыграли ключевую роль в ранней автоматизации логического синтеза. Эволюция от компонентов дискретной логики к массивам программируемой логики (PLA) ускорила потребность в эффективной двухуровневой минимизации, поскольку минимизация членов в двухуровневом представлении уменьшает площадь PLA.
Однако двухуровневые логические схемы имеют ограниченное значение в проекте очень крупномасштабной интеграции (СБИС); в большинстве проектов используется несколько уровней логики. Фактически, почти любое представление схемы в RTL или Behavioral Description является многоуровневым представлением. Ранней системой, которая использовалась для разработки многоуровневых схем, была LSS от IBM. Он использовал локальные преобразования для упрощения логики. Работа над LSS и Yorktown Silicon Compiler стимулировала быстрый прогресс исследований в области логического синтеза в 1980-х годах. Несколько университетов внесли свой вклад, сделав свои исследования доступными для общественности, в первую очередь SIS из Калифорнийского университета в Беркли , RASP из Калифорнийского университета в Лос-Анджелесе и BOLD из Университета Колорадо в Боулдере . В течение десятилетия технология перекочевала на продукты коммерческого логического синтеза, предлагаемые компаниями, занимающимися автоматизацией электронного проектирования.
Логические элементы
Конструкция Логики является шагом в стандартной конструкции цикле , в котором функциональный дизайн из электронной схемы преобразуется в представление , которое захватывает логические операции , арифметические операции , управление потоком и т.д. общий выход данного этапа является описание RTL . За логическим проектированием обычно следует этап проектирования схем . В современной автоматизации проектирования электронных устройств части логического проектирования могут быть автоматизированы с использованием инструментов синтеза высокого уровня, основанных на поведенческом описании схемы. [2]
Логические операции обычно состоят из логических операций AND, OR, XOR и NAND и являются наиболее основными формами операций в электронной схеме. Арифметические операции обычно реализуются с использованием логических операторов.
Синтез высокого уровня или поведенческий синтез
С целью повышения продуктивности разработчиков, исследовательские усилия по синтезу схем, заданных на поведенческом уровне, привели в 2004 г. к появлению коммерческих решений [3], которые используются для проектирования сложных ASIC и FPGA. Эти инструменты автоматически синтезируют схемы, указанные с использованием языков высокого уровня, таких как ANSI C / C ++ или SystemC, в спецификацию уровня передачи регистров (RTL), которая может использоваться в качестве входных данных для потока логического синтеза на уровне вентилей. [3] При использовании синтеза высокого уровня, также известного как синтез ESL, распределение работы по тактовым циклам и между структурными компонентами, такими как ALU с плавающей запятой, выполняется компилятором с использованием процедуры оптимизации, тогда как при синтезе логики RTL ( даже из поведенческого Verilog или VHDL, где поток выполнения может выполнять несколько операций чтения и записи в переменную за один такт), эти решения о выделении памяти уже приняты.
Минимизация многоуровневой логики
Типичные практические реализации логической функции используют многоуровневую сеть логических элементов. Начиная с RTL-описания проекта, инструмент синтеза создает соответствующую многоуровневую логическую сеть .
Затем эта сеть оптимизируется с использованием нескольких технологий, не зависящих от технологии, прежде чем будут выполнены технологически зависимые оптимизации. Типичная функция затрат во время оптимизации, не зависящей от технологии, - это полный буквальный счет факторизованного представления логической функции (который довольно хорошо коррелирует с площадью схемы).
Наконец, технологически зависимая оптимизация преобразует технологически независимую схему в сеть ворот в данной технологии. Простые оценки затрат заменяются более конкретными оценками, основанными на реализации, во время и после картирования технологий. Отображение ограничено такими факторами, как доступные вентили (логические функции) в технологической библиотеке, размеры привода для каждого логического элемента, а также характеристики задержки, мощности и площади каждого логического элемента.
Смотрите также
- Силиконовый компилятор
- Диаграмма двоичного решения
- Функциональная проверка
- Булево дифференциальное исчисление
Рекомендации
- ^ "Синтез: Verilog к воротам" (PDF) .
- ^ Навид А. Шервани (1999). Алгоритмы автоматизации физического проектирования СБИС (3-е изд.). Kluwer Academic Publishers. п. 4. ISBN 978-0-7923-8393-2.
- ^ a b EETimes: развертывание высокоуровневого синтеза позволяет использовать ESL [ постоянная мертвая ссылка ]
- Справочник по автоматизации проектирования электроники для интегральных схем , Лаваньо, Мартин и Шеффер, ISBN 0-8493-3096-3 Обзор области автоматизации проектирования электроники . Вышеприведенное резюме было взято с разрешения главы 2 тома 2 « Логический синтез » Сунила Хатри и Нарендры Шеной.
дальнейшее чтение
- Бургун, Люк; Грейнер, Ален; Прадо Лопес Эдес (октябрь 1994 г.). «Последовательный подход в логическом синтезе для архитектур FPGA». Материалы Международной конференции по ASIC (ASICON) . Пекин: 104–107.
- Цзян, Цзе-Хун «Роланд»; Девадас, Шринивас (2009). «Глава 6: Логический синтез в двух словах». Ин Ван, Лаунг-Тернг; Чанг, Яо-Вэнь; Cheng, Kwang-Ting (ред.). Автоматизация электронного проектирования: синтез, проверка, испытания . Морган Кауфманн. ISBN 978-0-12-374364-0.
- Hachtel, Gary D .; Соменци, Фабио (2006) [1996]. Алгоритмы логического синтеза и проверки . Springer Science & Business Media . ISBN 0-7923-9746-0. ISBN 0-387-31004-5 .
- Хассун, Соха ; Сасао, Цутому, ред. (2002). Логический синтез и проверка . Kluwer. ISBN 978-0-7923-7606-4.
- Perkowski, Marek A .; Григель, Станислав (1995-11-20). «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) из оригинала на 2017-08-09 . Проверено 28 марта 2021 . (4 + 60 страниц)