Размещение стандартных ячеек СБИС трехмерной

advertisement
Информатика, вычислительная техника и инженерное образование. – 2013. − № 2 (13)
Раздел II. Автоматизация проектирования
УДК 658.512
Кулаков А.А.
РАЗМЕЩЕНИЕ СТАНДАРТНЫХ ЯЧЕЕК СБИС ТРЕХМЕРНОЙ
КОМПОНОВКИ МЕТОДОМ ИМИТАЦИИ ОТЖИГА
В работе рассмотрена проблема решения задачи размещения ячеек в трехмерных многослойных СБИС по технологии сквозных кремниевых межсоединений
с учетом тепловой оптимизации. Приведена постановка и математическая модель задачи. Для решения задачи размещения блоков и ячеек предложен подход,
основанный на алгоритме имитации отжига, учитывающий взаимное тепловое
влияние ячеек СБИС. Приведены достоинства и недостатки алгоритма, дана
сравнительная оценка быстродействия и качества решения. Экспериментальные исследования алгоритма показали уменьшение температурного градиента и
длины межсоединений в среднем на 10%.
Автоматизация проектирования интегральных схем, размещение элементов, трехмерные СБИС, тепловая оптимизация.
Kulakov A.A.
METHOD OF CELL PLACEMENT ON THREE-DIMENSIONAL
INTEGRATED CIRCUIT USING SIMULATED ANNEALING APPROACH
This paper describes the approach to the cell placement problem in threedimensional multi-layer through-silicon vias VLSI with the heat distribution optimization. Described formulation and the objective function of the cell placement optimization problem. Proposed the algorithm based on simulated annealing approach, considering cell’s mutual thermal effect. Concluded the advantages and disadvantages of the
algorithm, the comparative evaluation of performance and placement solution quality.
Experimental results show that thermal gradient and wiring length are reduced by 10%
each.
Computer-aided design of integrated circuits, cell placement, three-dimensional
VLSI, thermal optimization.
Введение. С развитием современных субмикронных технологических процессов изготовления СБИС перед проектировщиками встали новые проблемы, такие как увеличение задержек в соединениях, увеличение энергопотребления и температуры. Они, в свою очередь, отрицательно влияют на надежность и работоспособность электронных устройств. Таким образом, уменьшение технологических
норм без учета вышеперечисленных недостатков, требует решения проблем с тепло- и энергоэффективностью.
Трехмерные интегральные схемы (3D-ИС) по технологии «through-silicon
vias» («cвязи сквозь кремний») это попытка преодолеть ограничения двумерной
1
Информатика, вычислительная техника и инженерное образование. – 2013. − № 2 (13)
СБИС, главным образом, интеграцией нескольких слоев кристалла в монолитную
структуру. Компоненты, традиционно располагаемые друг рядом с другом в одной
плоскости, теперь могут быть расположены друг над другом. Выгода такого вертикального расширения СБИС включает лучшее использование площади чипа,
уменьшение длины проводников, и увеличение количества транзисторов, размещенных на единице площади, что приводит к росту быстродействия и энергоэффективности [1]. Несмотря на несколько преимуществ перед классическими двумерными СБИС, существует критическое ограничение: в трехмерной СБИС присутствует высокое влияние тепловых эффектов, из-за более высокой удельной
мощности и большего теплового сопротивления вдоль путей теплоотдачи.
Подавляющее большинство существующих инструментов и средств автоматизации проектирования традиционных двумерных СБИС не всегда могут быть использованы для работы с 3D-ИС. Для ускорения реализации проектов на основе
технологии 3D-ИС необходима разработка новых средств автоматизации проектирования, способных решить проблемы специфичные для данной технологии, такие
как повышенное тепловыделение [2]. Высокая рассеиваемая мощность на единицу
площади кристалла СБИС непосредственно влияет на его рабочую температуру, а
следовательно, негативно сказывается на надежности КМОП-схем [103,108]. Кроме того, плотность рассеиваемой мощности зависит от длины межсоединений.
В настоящей работе рассмотрена проблема размещения элементов трехмерной СБИС по технологии «through-silicon vias» с учетом теплового распределения
(тепловой эффективности) и предложен алгоритм, решающий поставленную задачу.
Постановка задачи. Рассмотрим метод проектирования СБИС на основе
стандартных ячеек. Предварительно формируются библиотечный набор ячеек.
Любая проектируемая схема покрывается ячейками библиотечного набора.
В трехмерных СБИС предпочтительно размещать наиболее тепловыделяющие ячейки на нижних слоях структуры 3D-ИС, располагая их в непосредственной
близости от теплоотводов. Таким образом, распределение слоев устройства с соответствующими им максимальными температурами, уменьшающимися от основания до вершины трехмерной структуры, уменьшит влияние тепловых эффектов на
производительность устройства. Кроме того, при размещении ячеек необходимо
минимизировать количество сквозных межслойных соединений, равно как и общую длину межсоединений в слоях [4].
Задачу размещения ячеек в многослойной трехмерной СБИС с учетом тепловой оптимизации можно сформулировать следующим образом. Имеется множество ячеек K (матриц вентилей или стандартных ячеек). Все ячейки рассматриваются как источники тепла, а их перегрев обусловлен взаимным тепловым влиянием друг на друга [5]. Каждой ячейке поставлено в соответствие неотрицательное
действительное число, отражающие еѐ удельную рассеиваемую мощность. Имеется множество N слоев, каждому из которых ставится в соответствие некоторый
набор ячеек R из множества K, таким образом, чтобы на одном слое располагались ячейки с максимальным количеством взаимных межсоединений. Матрицу
соответствующих каждой ячейке мощностей обозначим как Ml, где l=1…N, при
этом позиция ячейки в матрице соответствует еѐ положению на коммутационном
поле.
Разобьем матрицу Ml на множество несвязных подматриц St(Ml) размерностью t x t соответствующих областям коммутационного поля. Значение фактора
2
Информатика, вычислительная техника и инженерное образование. – 2013. − № 2 (13)
разбиения t определяется экспериментально и в настоящей работе используется
значение t=2 как оптимальное на основе экспериментальных исследований.
Пусть σ (Ml) − это сумма всех значений матрицы Ml, тогда максимальное
значение рассеиваемой мощности среди всех подматриц St определяется выражением:
(1)
Подматрица St(Ml), имеющая самую большую сумму элементов, представляет
собой «область перегрева» слоя СБИС.
Для снижения рассеиваемой мощности на единицу площади необходимо минимизировать значение рассеиваемой мощности θMl среди всех возможных размещений элементов в Ml:
(2)
Например, имеется коммутационное поле слоя l размером m x n, где m=4,
n=3, параметр разбиения t=2 задан оператором. Имеется набор ячеек, которым
поставлены
в
соответствие
их
удельные
рассеиваемые
мощности:
R = [0,3,7,8,7,0,4,8,2,3,1]. Первоначальное размещение ячеек на коммутационном
поле выражается матрицей Ml:
Для данного размещения значение максимальной рассеиваемой мощности
μt (Ml) = 27. Результатом оптимизации размещения ячеек на коммутационном поле
с учетом теплового распределения является размещение M’l, для которого
μt (Ml) = 13:
Для каждого слоя l, необходимо разместить ячейки таким образом, чтобы минимизировать температуру «области перегрева» и общую длину соединений между
ячейками.
Общее длина взаимных соединений между всеми ячейками в слое l определяется как:
(3)
где cij − это число связей между ячейками i и j;
dij − это расстояние между ячейками i и j.
Тогда общая целевая функцию задачи тепло-оптимального размещения имеет
вид:
3
Информатика, вычислительная техника и инженерное образование. – 2013. − № 2 (13)
где
− общая длина взаимных соединений между ячейками в слое l,
− оценка максимального тепловыделения слоев,
− весовые коэффициенты,
Описанная задача размещения тепловыделяющих ячеек в трехмерной СБИС с
учетом взаимного теплового влияния относится к классу задач дискретной оптимизации.
Описание алгоритма. Предлагаемый подход основан на алгоритме имитации отжига. Он относится к так называемым алгоритмам, инспирированным природными явлениями. Эти алгоритмы имитируют физические явления, например
имитацию отжига металлов, эволюцию, поведение живых существ [6]. Алгоритм
имитации отжига является вероятностным алгоритмом, применяемым для решения
задач комбинаторной и дискретной оптимизации. В основу его положена имитация
физического процесса, который происходит при переходе вещества из жидкого
состояния в твердое. Алгоритм имитации отжига успешно применяется для решения сложных комбинаторных задач и задач оптимизации функций [7].
Входные данные алгоритма: N − число слоев интегральной схемы, M − множество удельных мощностей ячеек, A − матрица коннективности ячеек, t − константа разбиения. Результатом работы алгоритма является оптимальное с точки
зрения температурного градиента размещение ячеек на решетке коммутационных
полей N слоев.
Структурная схема алгоритма приведена на рис.1.
4
Информатика, вычислительная техника и инженерное образование. – 2013. − № 2 (13)
Рис. 1. Структурная схема алгоритма размещения стандартных ячеек в
трехмерной СБИС
Основные процедуры алгоритма – генерация стартового размещения, размещение ячеек в слое, переразмещение ячеек между слоями. Рассмотрим особенности
каждой процедуры.
Процедура генерации стартового (начального) размещения решает задачу
кластеризации: каждой ячейке из множества K ставится в соответствие номер кластера (слоя)
, при этом количество кремниевых межсоединений TSV
между слоями, т.е. число связей
зировано:
между кластерами должно быть миними-
где
−
число
связей
между
N
−
количество
частей
G − суммарное количество связей.
Метрика связности ячеек определяется как:
кластерами
при
i
и
j;
разбиении;
где cij − число связей между ячейками i и j образовавшими пару;
ci и c j − это число связей, соединяющих выбранную пару со всеми остальными
ячейками.
Критерий качества кластеризации должен отвечать стандартной концепции
компактности классов разбиения: внутри кластеров ячейки должны быть тесно
связаны между собой, ячейки разных кластеров должны быть наименее связаны
друг с другом. Кроме этого, при прочих равных условиях, распределения ячеек по
кластерам должны быть равномерными.
Описанная задача является частным случаем задачи разбиения взвешенного
неориентированного графа, которая относится к классу NP-полных. Для решения
такого класса комбинаторных задач высокую эффективность показывает генетический алгоритм (ГА) [8]. ГА представляет собой эвристический алгоритм поиска,
используемый для решения задач оптимизации и моделирования путем последовательного подбора, комбинирования и вариации искомых параметров с использованием механизмов, напоминающих биологическую эволюцию.
Для решения задачи разбиения графа с помощью генетического алгоритма
необходим способ кодирования решений в хромосомах. Очевидным способом является кодирование ячейки номером гена и принадлежность ячейки кластеру значением гена, например:
Хромосома №1: 1 2 2 1 3 1 3.
Хромосома #1 в данном примере кодирует принадлежность ячеек (1,4,6) кластеру «1», ячеек (2,3) кластеру «2», ячеек (5,7) кластеру «3». Недостатком такого
кодирования является существование других хромосом, кодирующих такое же решение, например:
Хромосома №2: 2 3 3 2 1 2 1.
Хромосомы №1 и №2 различны, но кодируют одно и то же решение, что искусственно увеличивает пространство поиска. Для решения этой проблемы необходимо дополнительно ре-кодировать хромосомы: номера кластеров, соответствующих ячеек, последовательно перенумеровываются слева направо, начиная с 1. В
5
Информатика, вычислительная техника и инженерное образование. – 2013. − № 2 (13)
результате хромосома №2 примет вид хромосомы №1, это исключает обработку
алгоритмом «лишних» решений.
Для задачи размещения используется стандартная фитнесс-функция ГА
Временная сложность ГА лежит в пределах от
коэффициенты, а n − число входов алгоритма. Генетические алгоритмы, сами по себе, способны решать задачу кластеризации с заданной точностью за приемлемое
время.
По окончании работы генератора начального размещения применяется метод
трехмерной компоновки полученного разбиения схемы. Этот метод представляет
собой последовательную процедуру. Сначала каждого t-го кластера строятся матрицы Mt и вычисляются значения σ (Ml). После этого, выбирается кластер, имеющий максимальное значение σ (Ml), т.е. имеющий максимальную удельную мощность. Затем просматривается множество кластеров и выбирается тот кластер, который имеет максимальное число связей с текущим кластером. Выбранный таким
образом кластер размещается над предыдущим кластером и далее рассматривается
как текущий. В случае, если кластер имеет несколько сильносвязных кластеров, то
рассматривается возможность их расположение рядом друг с другом. Процедура
продолжается до тех пор, пока во множестве остаются незадействованные кластеры.
После генерации начального размещения производится переразмещение ячеек
в слоях, а так же перемещение ячеек между слоями.
Переразмещение ячеек в слое производится следующим образом. Все ячейки
слоя сортируются по убыванию рассеиваемой мощности. Матрица ячеек слоя разбивается на подматрицы размером t x t, для каждой подматрицы выполняются
следующие шаги:

выбирается ячейка us, имеющая наибольшее количество связей с другими
ячейками слоя;

заменяются все ячейки подматрицы, кроме выбранной us, на ячейки u с
наименьшей длиной соединений между us и u’;

заменяемые ячейки помечаются как посещенные и более не перемещаются;
После этого вычисляется значение
это вычисленное
значение целевой функции, Fcurr это сохраненное значение целевой функции.
Если
, вычисленное значение F становится сохраненным. Если
, вычисленное значение F может стать сохраненным с вероятностью p.
Вероятность принять вычисленное значение целевой функции в качестве сохраненного определяется как:
После этого вычисляется новое значение T для текущей итерации. В классическом алгоритме имитации отжига на каждой итерации T уменьшается с фиксированным шагом
Для ускорения работы алгоритма
предлагается вычислять значение T на n-той итерации следующим образом:
6
Информатика, вычислительная техника и инженерное образование. – 2013. − № 2 (13)
где Tinit − это начальная температура, заданная оператором;
n − это номер итерации;
− это нормированное значение
;
r, q − это параметры, задаваемые оператором (для целей настоящей работы
определим r=7, q=100).
После завершения итерационной процедуры переразмещения ячеек в слое,
производится перемещение ячеек между слоями. Для пары слоев n, n-1 выбирается пара ячеек (i,f) наиболее подходящая для обмена на основе максимального весового фактора:
(9)
где Cn – общее число межсоединений с ячейками слоя n;
Cn-1– общее число межсоединений с ячейками слоя n-1.
Выбранная пара ячеек меняется местами, полученное размещение сохраняется как текущее.
Алгоритм завершается по достижению максимального количества итераций
или значения T=0.
Экспериментальное исследование. Предлагаемый алгоритм реализован на
языке С/С++ в виде программного приложения и исследован на рабочей станции
AMD 3.0GHz под управлением Windows. Начальная температура T для алгоритма
имитации отжига в экспериментальном исследовании равна 10000, шаг снижения
температуры на каждой итерации равен 10, количество слоев СБИС N равно 3.
Значения рассеиваемой мощности ячеек сгенерированы случайным образом в диапазоне (0,100). Результаты работы алгоритма размещения приведены в
таблице 1.
Для всех экспериментальных наборов достигнуто снижение максимального
тепловыделения слоев
и общей длины межсоединений
Так же было отмечено, что при увеличении количества слоев СБИС время сходимости целевой
функции уменьшается. Это обусловлено тем, что для фиксированного количества
ячеек увеличение числа слоев приводит к уменьшению количества межсоединений
в слое.
7
Информатика, вычислительная техника и инженерное образование. – 2013. − № 2 (13)
Заключение. В КМОП СБИС увеличение рабочей температуры на каждые
10° увеличивает вероятность отказов вдвое [9]. Установлено, что разработанный
метод размещения снижает максимальное тепловыделение слоев на 10-12%, что в
абсолютных значениях температур от 20 до 100 °C может составить 8-10°C. Таким
образом, предлагаемый метод позволяет существенно увеличить надежность электронных устройств, а так же снизить их энергопотребление за счѐт уменьшения
числа межсоединений.
В дальнейшем, на основе предложенных алгоритмов планируется разработать метод размещения разногабаритных сложнофункциональных блоков для монолитных трехмерных СБИС.
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1.
2.
3.
4.
5.
6.
7.
8.
9.
Юдинцев В.А. Трѐхмерная кремниевая технология. Что, где, когда? Ч. 1 // Электроника: наука, технология, бизнес. – 2011. – № 4. – С.70-75.
The International Technology Roadmap for Semiconductors report, 2012. URL:
http://www.itrs.net/Links/2012ITRS/2012Chapters/2012Overview.pdf (Дата обращения:
22.04.2013).
Ковалев А.В. Технологии энергосбережения в микроэлектронных устройствах // Монография. Таганрог: Изд-во ТТИ ЮФУ. – 2009. – 100 с.
Y. Xie, J. Cong and S. Sapatnekar, "Three-Dimensional Integrated Circuit Design: EDA,
Design and Microarchitectures". Springer Publishers, 2009.
Лебедев О.Б. Оптимальное размещение дискретных источников тепла с использованием метода генетического поиска // Перспективные информационные технологии и
интеллектуальные системы. – 2005. – №4. – С. 24-29.
Курейчик В.М., Кажаров А.А. Алгоритмы эволюционного роевого интеллекта в решении задачи разбиения графа // Проблемы разработки перспективных микро- и
наноэлектронных систем – 2012. Сборник трудов / под общ. ред. академика РАН А.Л.
Стемпковского. М.: ИППМ РАН, 2012. – С. 237-242.
Новакова Н. Е. Модели и методы принятия проектных решений в сложноструктурированных предметных областях. Монография. СПб. Изд-во СПбГЭТУ «ЛЭТИ», 2010.
– 168 с.
Кулаков А.А. Извлечение знаний. Состояние, проблемы, перспективы // Перспективные информационные технологии и интеллектуальные системы. – 2010. – №3-4 (3940). – С. 42-66.
C. Small, " Shrinking devices put the squeeze on system packaging". EDN. – 1994 – vol.
39, №4 – P. 41-46.
Кулаков Андрей Анатольевич
Федеральное государственное автономное образовательное учреждение высшего
профессионального образования «Южный федеральный университет».
E-mail: kulakov@icwtu.ru.
347928, г. Таганрог, Некрасовский, 44.
Тел.: (904) 346-74-51.
Кафедра дискретной математики и методов оптимизации, аспирант.
8
Информатика, вычислительная техника и инженерное образование. – 2013. − № 2 (13)
9
Download