Студент 816 группы Трихин П. О. Научный руководитель: Терентьев Ю. И.
Задачи: Создать маршрут проектирования с использованием план групп (plan_groups) Провести оптимизацию тайминга и добиться работы блока на частоте 1 Ггц (рабочий блок cu_cu и alc0_int_com) Написать скрипты для ручной трассировки дизайна
Маршрут проектирования: Логический синтез Планирование кристалла Топологический синтез блока Размещение элементов в макроблоках (plan groups) Оптимизация тайминга Трассировка Установка пинов Фиксация плангрупп
Временной анализ slack – разница между временем необходимым для установки сигнала на элементе и реальным временем которое для этого имеется. Критический путь – путь с наименьшим значением slack Основная задача при оптимизации тайминга: уменьшить (по модулю) значение slack в критическом пути вплоть до 0.
Оптимизация тайминга Автоматическая оптимизация Буферизует длинные пути Изменяет размер ячеек Изменяет расположение ячеек Исследование зависимости slack в дизайне от числа итераций Резултат: оптимальным является использование двух итераций
Оптимизация тайминга Оптимизация путем корректировки частоты синхросигнала Частота синхросигнала влияет на алгоритм оптимизации САПР Минусы: выигрыш в тайминге отрицательно сказывается на площади дизайна, при clock = 0,1 нс - количество ячеек возросло на 3.5 % Исследование зависимости Slack от частоты Clock На графике возле каждой точки указано количество ячеек в дизайне.
Оптимизация тайминга DC – ICC итерации В маршруте использовались два САПР (Средство автоматического проектирования) DC (Design Compiler) IC Compiler Результат: - Slack уменьшился на 0.3 нс ( ) - оптимизация негативно сказалась на площади дизайна увеличив ее на 34% (725× ×850) - в процессе оптимизации на внешнем уровне иерархии появились дополнительная 371 ячейка что испортило созданную иерархию. Проблема: DC оптимизирует лучше чем ICC, но DC не работает с plangroups. Решение: использовать DC повторно после создания plangroups, выгрузив всю информацию о них из ICC. Вывод: применение такой оптимизации нецелесообразно
Трассировка Проблема: При автоматической трассировке САПР прокладывает провода не оптимальными способом. Решение: Прокладка части проводов вручную Для облегчения ручной трассировки написаны вспомогательные скрипты: -Скрипт, позволяющий объединить неветвящиеся провода двух план групп в шину -Скрипт, соединяющий шинами соседние план группы -Скрипт, соединяющий шинами все план группы Ручная трассировка завершается автоматической до разводкой проводов и установкой пинов.
Фиксация плангрупп ДоПосле Последний этап маршрута – фиксация плангрупп позволяющая работать с ними как с обычными стандартными ячейками
Результаты работы - Создан новый маршрут проектирования с использованием plangroups. - Придуманы и проанализированы несколько оптимизаций для тайминга - Обеспечена работа тестовых блоков на частоте 1 Ггц - Написаны вспомогательные скрипты для ручной трассировки ПлоскийИерархический Количество ячеек Утилизация0.75(75%) Общая площадь блока мкм 2 Колличество ячеек
Спасибо за внимание!