Логический синтез в электронике — процесс получения списка соединений логических вентилей из абстрактной модели поведения логической схемы (например, на уровне регистровых передач). Наиболее распространенный пример этого процесса — синтез спецификаций, написанных на языках описания аппаратуры. Синтез выполняют программы-синтезаторы, способные оптимизировать проект согласно различным особенностям устройства, таким как временные ограничения, площадь и используемые компоненты. Такие программы обычно специализируются на генерации битовых потоков для программируемой логики или создании интегральных схем специального назначения. Логический синтез является составной частью автоматизации проектирования электронных приборов.
Синтез описания на уровне логических передач широко используется в индустрии. Спецификация, написанная на языке описания аппаратуры, таком как VHDL или Verilog может содержать комбинаторные и синхронные элементы, образующие операционный автомат, и конечные автоматы, выполняющие функции управляющего автомата.[1] Синтез состоит из двух этапов. На первом этапе программа оптимизирует код независимо от используемой технологии, производя необходимые минимизации и упращения. На втором этапе проект преобразовывается в соответствии с библиотекой компонентов используемой технологии.[2]
Синтез описаний на высоких уровнях абстрации, написанных на языках высокого уровня (таких как C/C++ и SystemC), давно является объектом интенсивной разработки. Такой подход к проектированию логических устройств позволяет экономить время и разрабатывать аппаратное обеспечение без знания языков описания аппаратуры. Первые коммерческие программы, поддерживающие синтез высокоуровнего описания появились в 2004 году.[3] В настоящее время высокоуровневый синтез набирает популярность[4][5][6] и развивается благодаря появлению таких продуктов, как Vivado ESL от Xilinx.[7]
Логический синтез.