Логический синтез в цифровой электронике
Процесс разделения на составные части или анализа, интерпретации, перевода, оптимизации (перестановки или перезаписи для повышения эффективности) и отображения кода RTL (уровень передачи регистра) в конкретную и указанную библиотеку ячеек.
Запрограммированное производство логических компонентов в конкретной цифровой схеме, которая может включать различные сложные комбинации логических элементов и транзисторов. Если цифровой образец находится на уровне регистрации-передачи логический синтез, а затем преобразовать его в реализацию Gate-Level . Он играет важную роль в устранении разрыва и связывании высокоуровневого синтеза и механизации физического проектирования.
История логического синтеза:
На ранних этапах развития логического синтеза инженеры проектировали и оптимизировали электронные схемы с помощью ручки и бумаги (традиционный метод) и выполняли итерации таблицы истинности с помощью карт Карно. После технологических разработок это было сделано с помощью компьютерных систем для минимизации логики.
Недостатки существующей системы:
- Код и логические схемы приходилось писать вручную на бумаге.
- Существовало ограничение на количество переменных, которые можно было использовать в логическом проекте.
- Мог только проектировать очень маленькие и простые конструкции, которые не могли решать сложные задачи.
Необходимость логического синтеза:
Осуществляя логический синтез, мы можем использовать большее количество электронных устройств. По закону Мура количество электронных компонентов, таких как логические элементы и транзисторы, продолжает удваиваться в течение 18 месяцев, что дополнительно приводит к более компактным требованиям к конструкции и очень высокой плотности ИС.
Для большей производительности мы должны производить более компактные конструкции и размещать затворы и другие компоненты как можно ближе друг к другу, чтобы уменьшить расстояние между ними. В конечном итоге это приведет к более быстрой проводимости, уменьшению задержек и вызовет работу на более высокой частоте.
Развитие Logic Design привело к сокращению цикла проектирования ASIC.
ASIC Дизайн:
Проектирование ASIC — это процедура снижения стоимости и размера электронной схемы за счет сокращения и интеграции различных видов электронных микросхем в один единственный элемент, который называется — специализированная интегральная схема.
Цикл проектирования ASIC включает в себя такие этапы, как:
- Концепция дизайна
- Оптимизация чипа
- Логическая и физическая реализация
- Утверждение и проверка дизайна.
- Спецификация чипа: определены микроархитектура, спецификации, функциональные возможности и функции.
- Функциональная проверка: запуск моделирования на уровне проекта и проверка функциональности схемы.
- Синтез блока RTL: Преобразование кода RTL в список соединений на уровне шлюза путем логического синтеза при ограничениях.
- Разделение микросхемы: микросхема разделена на множество функциональных блоков, связанных друг с другом в иерархическом порядке таким образом, чтобы микросхема была энергоэффективной, занимала небольшую площадь и была недорогой.
- Планировка этажа: это план физической реализации чипа.
- Синтез дерева часов: настройка дерева часов и просмотр предопределенных временных параметров, требований к мощности и площади.
- Окончательная проверка: последний шаг физической проверки — просто проверить, есть ли какие-либо ошибки в цепи.
Цикл проектирования ASIC
Предпосылка для синтеза логического вентиля:
- Мы должны знать, что хотим, чтобы мы хотели, как выход
- Определить характеристики цепи
- Мы должны знать его эффективность, частоту, используемую мощность, время, размер и возможность изготовления.
- Какая технология должна быть реализована для синтеза.
- Поместите дизайн в виде кода Verilog, который называется RTL.
RTL: уровень передачи регистра:
Это язык описания оборудования (HDL) для синтеза цифровых схем. Схемы могут быть определены как набор регистров, логических уравнений и операторов управляющей логики.
Например, операторы if-then-else могут использоваться для выполнения контролируемых функций, которые можно комбинировать вместе для выполнения сложной операции. Он используется для создания высокоуровневых представлений цепей.
Логический дизайн:
Компьютеры не понимают никакого языка, кроме двоичного, они работают по двузначной логической системе 1 и 0. Компьютеры должны выполнять несколько арифметических операций, которые они выполняют через логические вентили.
Логические элементы состоят из интегральных схем, которые имеют входные и выходные сигналы и работают в двоичной системе счисления. Различные виды комбинаций логических вентилей используются для выполнения различных видов программ.
Например, сложение, вычитание, умножение (повторное сложение), инвертирование и т. д.
Существует семь типов логических вентилей:
- И ВОРОТА
- ИЛИ ВОРОТА
- НЕ ВОРОТА
- НАНД ВОРОТА
- НО ВОРОТА
- ВОРОТА ИСКЛЮЧАЮЩИЕ
- СЕВЕРНЫЕ ВОРОТА
Путем соединения различных последовательностей логических элементов различными способами можно создавать новые устройства, способные выполнять базовые или даже сложные арифметические функции.
Цели логического синтеза:
- Минимизируйте размер числа ячеек логического вентиля и размер ячейки
- Минимизируйте мощность при переключении между гейтами
- Максимальная производительность с точки зрения тактовой производительности синхронных систем и пропускной способности асинхронных
- Быстрое создание точных функциональных моделей
- Получение предсказуемых и точных результатов. Расчеты временной области и энергопотребления должны соответствовать фактическим значениям, измеренным на физическом устройстве после его изготовления.
Поток логического синтеза:
- Анализ синтаксиса: принимает входные данные HDL-файлов и проверяет наличие синтаксических ошибок.
- Определение библиотеки: Предоставляет и распределяет стандартные ячейки и библиотеки IP.
- Разработка и связывание: переводит RTL в логическую структуру. Связывает все ячейки и делает библиотеки доступными.
- Определение ограничения: для создания специализированного и конкретного чипа нам необходимо определить ограничения, в соответствии с которыми чип будет функционировать. Например, тактовая частота, энергоэффективность и т. д.
- Оптимизация перед сопоставлением: выполняется сопоставление с общими ячейками в библиотеке.
- Сопоставление технологий: выполняет сопоставление универсальных библиотек с технологическими библиотеками.
- Оптимизация после сопоставления: изменяет дизайн ворот в соответствии с ограничениями.
- Отчет и экспорт: Выдайте конечные результаты с отчетами о времени и экспорте.
Реализация логического синтеза:
1. ИЛИ Мультиплексор:
/*Register transfer Language*/
module OR (i, j, s0, s1, k);
input [3:0] i;
input [3:0] j;
input s0, s1;
output [3:0] k;
reg k;
always @ (i or j or s0 or s1)
if (!s0 && s1 || s0)
k=i;
else
k=j;
endmodule2. Полный сумматор:
/*Register Transfer Language*/
module fulladder (input [3:0] a,
input [3:0] b,
input c_in,
output c_out,
output [3:0] sum);
assign {c_out, sum} = a+b+c_in;
endmodule