Физическое проектирование подсистемы кэш-памяти второго уровня микропроцессора “Эльбрус-S” Магистерская диссертация студента 213 группы ФРТК Мороза Ярослава Николаевича Москва 2008 Цель работы Физическое проектирование подсистемы кэш-памяти НА ТЕХНОЛОГИИ 90нм Требования : . УВЕЛИЧЕНИЕ ОБЪЁМА ПАМЯТИ ДО 2MB . ЗАДАННОЕ БЫСТРОДЕЙСТВИЕ – не менее 500МГц . МИНИМИЗАЦИЯ ПЛОЩАДИ . МИНИМИЗАЦИЯ ЭНЕРГОПОТРЕБЛЕНИЯ Маршрут проектирования(Design Flow) RTL Компиляция памяти Синтез (DC), gate_verilog Physical Compiler Оптимизация размещения. ASTRO,Jipiter размещение, построение дерева синхросигнала, трассировка. GDS II, Gate_verilog Hercules: DRC, LVS Физическая верификация STAR RCXT Получение моделей паразитных емкостей и сопротивлений Prime Time точные временные оценки полученной схемы Компиляция памяти dpsram2048x4 - массив LRU битов spsram2048x29 - массив тегов spsram4096x19 - массив данных Результат работы компилятора RAMpiler Dolphin inc.: . Verilog-файл. Библиотеки(.lib, .lef) . ASCII-описание. PostScript Datasheet НАПИСАНЫ КОМАНДНЫЕ СКРИПТЫ ДЛЯ ПОЛУЧЕНИЯ ДОПОЛНИТЕЛЬНЫХ БИБЛИОТЕК: . Verilog-temp-файл. Библиотека для синтеза(.db) . Библиотеки для ASTRO(.FRAM, .CEL, .LM, .NETL ) ПРОБЛЕМЫ И ИХ РЕШЕНИЯ: . Системы питания Power Mesh и PwrRing . Выбрана система питания Power Mesh. . Использование сигнального порта T_RWM (read write margin). Для этапа проектирования выбрано строго определённое значение (011). СИНТЕЗ УСТРОЙСТВ Для оптимального проектирования, всё устройство было разделено на ряд отдельных блоков: l2_arb_com, l2_mx_algn, l2_bank, l2_queues При синтезе устройств выполняется следующие оптимизации: . Оптимизация по временным характеристикам. . Оптимизация по площади. Заданы необходимые временные ограничения (файл .sdc): выявлен ряд критических цепочек. Заданы необходимые входные и выходные задержки. Для синтеза каждого из блоков и всего устройства самостоятельно были созданы командные скрипты и файлы с ограничениями проектирования. СИНТЕЗ УСТРОЙСТВ Построение единой scan-цепи с учётом иерархии и особенностей используемых синхросигналов. Начальная организация дерева синхросигнала. Se SI So So Проблемы: 1. Наличие синхросигналов с прямой и обратной фазой. 2. Необходимость создания дополнительных усилителей в дереве синхросигналов. SI So SI Bank_0 Bank_2 L L L SI So L Bank_1 Решения: Были подготовлены L L необходимые командные файлы с помощью которых строится единая scan-цепь и создаются дополнительные усилители в дереве синхросигналов Bank_3 L L Использовался САПР фирмы synopsys: Design Compiler (DC) РАЗМЕЩЕНИЕ Выполнен Floorplanning: создана топология, определяющая размер и границы проектируемого устройства с целью минимизации занимаемой площади. Основные решения: 1. Все элементы разделены на два типа: макро-блоки и стандартные элементы. Всё устройство разделено на плангруппы, которые в дальнейшем преобразуются в soft-макросы. 2. Выполнено взаимнооднозначное, оптимальное назначение сигнальных контактов. 3. Подготовлены командные файлы и файлы содержащие ограничения проектирования. РАЗМЕЩЕНИЕ Оптимизация размещения отдельных устройств Основные методы и решения: 1. Выполнено ручное размещение элементов памяти. 2. Проведено оптимальное размещение стандартных элементов относительно элементов памяти за счёт так называемого «магнитного размещения» (magnet-place). 3. Проведена оптимизация размещения с учётом построенной на этапе синтеза scan-цепи. 4. Созданы командные файлы, с помощью которых удалось автоматизировать весь процесс размещения. РАЗМЕЩЕНИЕ Сборка и оптимизация размещения всего устройства Основные методы и решения: 1. Устройство l2_bank было выполнено в виде макро-блока. 2. Проведена пошаговая оптимизация остальных устройств с удалением иерархии. Оптимизация размещения всего устройства на верхнем уровне иерархии. 3. Выполнено ручное размещение усилителей в дереве синхросигнала для устройства l2_bank. Использовались САПР фирмы synopsys: ASTRO, Jupiter, Physical Compiler. ТРАССИРОВКА M4 Проблемы: M9 M8 Pins 1. Стандартная трассировка в 8-м и 9-м металлах не давала возможности трассировки над блоками памяти. Слишком частая Последовательность шин в 4-м металле. Проблема со сквозными контактами(via), многочисленные DRC-нарушения. 2. DRC-нарушения при подключении шин питания между 2-м и 8-9 металлами. Решения: 1. Был написан скрипт, создающий дополнительные сетки питания в 5-6-7 металлах чтобы подключить сетку 4-го металла в элементах памяти к 8-9 металлам. 2. Организация промежуточных контактных площадок в 5 металле. Организация дополнительных запретов на подключение в виде RouteGuides ТРАССИРОВКА Система питания в элементе памяти Шины земли и Питания в 4-м металле Система питания в устройстве Шины земли и Питания во 2-м металле контактные площадки в 5 металле. дополнительные сетки питания в 5-6-7 металлах Шины земли и питания в 8-9-м металле Физическая верификация HERCULES Проводится ряд проверок: Проверка правил проектирования (соблюдение заводских правил). DRC. Проверка на соответствие топологической схемы исходному схемному описанию (соответствие физического и логического уровней).LVS. Проверка на наличие слишком длинных проводников, подключенных к затворам транзисторов. РЕЗУЛЬТАТЫ Выполнено физическое проектирование подсистемы кэш-памяти второго уровня: Проведён синтез отдельных блоков и всего устройства. Получена топология размещения. Занимаемая площадь:4.3х10.1=43.4мм2. 30%площади ядра процессора. Выполнено размещение и трассировка отдельных устройств и всей подсистемы кэш-памяти второго уровня. Подготовлены командные “скрипты” и ограничения проектирования в виде файлов .sdc, .tdf, учитывающие технологию 90нм. Проведена физическая верификация и точный временной обсчёт устройства. Требуемая тактовая частота- 500МГЦ. Полученная тактовая частота- 510МГЦ. Благодаря результатам физического проектирования, были внесены изменения в RTL описание, с целью достижения заданных временных характеристик и прочих требований. Спасибо за внимание