Глава 1 – Введение Физическое Проектирование СБИС: Авторы книги:

advertisement
© KLMH
Физическое Проектирование СБИС:
от Разбиения Графов до Оптимизации Временных Характеристик
Глава 1 – Введение
Авторы книги:
VLSI Physical Design: From Graph Partitioning to Timing Closure
Chapter 1: Introduction
1
Lienig
Andrew B. Kahng, Jens Lienig, Igor L. Markov, Jin Hu
1.1
Системы Автоматизированного Проектирования (САПР)
1.2
Маршруты проектирования СБИС
1.3
Стили проектирования СБИС
1.4
Уровни раскладки и правила проектирования
1.5
Задачи оптимизации при физическом проектировании
1.6
Алгоритмы и сложность алгоритмических задач
1.7
Терминология теории графов
1.8
Общая терминология САПР
VLSI Physical Design: From Graph Partitioning to Timing Closure
Chapter 1: Introduction
2
Lienig
© KLMH
Глава 1 – Введение
Системы Автоматизированного Проектирования (САПР)
© KLMH
1.1
В 1965 году, Гордон Мур (один из
будущих основателей компании
Intel) заметил что количество
транзисторов на интегральных
схемах удваивалось каждый год.
Через 10 лет, он поправил это
утверждение, отметив удвоение
каждые 18 месяцев. Вскоре, эта
закономерность называлось
правилом (законом) Мура.
VLSI Physical Design: From Graph Partitioning to Timing Closure
Chapter 1: Introduction
3
Lienig
Moore: „Cramming more components onto integrated circuits"
Electronics, Vol. 38, No. 8, 1965
Правило (закон) Мура
Moore’s Law
Системы Автоматизированного Проектирования (САПР)
© KLMH
1.1
Значимость технологий САПР для продуктивности
и стоимости проектирования микросхем
ITRS 2009 Cost Chart
(in Millions of
Dollars)
Стоимость Проектирования
в Мил.
Долларов из Международной Дорожной Карты Полупроводниковых Технологий
(издание 2009го года)
120.0
100.0
120.0
80.0
100.0
60.0
80.0
40.0
60.0
20.0
40.0
29.6
40.7
40.7
29.6
15.7 20.3
56.4
79.0
56.4
19.4
26.3
55.7
46.7
79.0
33.6
33.6
32.9
46.7
44.9
42.5
31.1
31.1
29.5
46.6
35.2
42.5
39.8
27.2
27.2
25.2
35.2
32.6
34.0
34.0
27.0
40.5 55.7
46.6
29.4
21.4
36.9
29.4
23.1
40.5
31.7
43.5
16.9
21.4
43.5
44.9
0.0
20.0
39.8
36.9
32.9
32.6
31.7
29.5
27.0
26.3
25.2
23.1 2023 2024
20.3 2011
19.4 2012
16.9 2022
15.7 2010
2009
2013 2014 2015 2016 2017 2018 2019 2020 2021
0.0
2009
2010
2011 2012 Costs
2013 + 2014
2015
2016 Total
2017SW2018
2019 2020
2022
2023 2024
Total
HW Engineering
EDA Tool
Costs
Engineering
Costs 2021
+ ESDA
Tool Costs
VLSI Physical Design: From Graph Partitioning to Timing Closure
Стоимость создания программного обеспечения
Chapter 1: Introduction
4
Lienig
Стоимость Аппаратного Проектирования + САПР
Системы Автоматизированного Проектирования (САПР)
Прогресс в системах проектирования
1950 -1965
Проектирование «руками»
1965 -1975
Редакторы раскладки, средства размещения и трассировки,
разработаны сначала для печатных плат.
1975 -1985
Полее продвинутые средства для кристаллов и плат,
с использованием более сложных алгоритмов.
1985 -1990
Методы оптимизации производительности, параллельные
алгоритмы для раскладки; понимание теоретигеских вопросов
(теория графов, сложность алгоритмов, и т.д.)
1990 -2000
Трассировка над ячейками, первые меторды 3D трассировки.
Логический синтез и проектирование с упором на трассировку
находят широкое употребление. Появление физического
синтеза.
2000 - now
Проектирование для производства (DFM), корректировка для
оптической близости (OPC), и прочие методы на пересечении
проектирования и производства. Повторние использование
блоков, блоки интеллектуальной собственности (IP).
VLSI Physical Design: From Graph Partitioning to Timing Closure
Chapter 1: Introduction
5
Lienig
Примерное
время
© 2011 Springer Verlag
© KLMH
1.1
Маршруты проектирования СБИС
© KLMH
1.2
Спецификация систем
Разбиение
ENTITY test is
port a: in bit;
end ENTITY test;
Архитектурное
проектирование
Функциональное
проектирование
Планированние
кристалла
Проектирование схем
Размещение
Физическое
проектирование
Синтез синхросигналов
Физическая верификация
DRC
LVS
ERC
Трассировка сигналов
Упаковка и тестирование
Коммерческий продукт
VLSI Physical Design: From Graph Partitioning to Timing Closure
Chapter 1: Introduction
6
Lienig
Временная оптимизация
© 2011 Springer Verlag
Производство
Стили проектирования СБИС
© KLMH
1.3
Редактор раскладки
Menu Bar
Toolbar
Drawing Tools
Layer Palette
Locator
Cell Browser
Mouse Buttons Bar
Text Windows
Layout Windows
Chapter 1: Introduction
7
Lienig
VLSI Physical Design: From Graph Partitioning to Timing Closure
© 2011 Springer
Status Bar
Стили проектирования СБИС
© KLMH
1.3
Типичные цифровые вентили
IN1 IN2
OR
OUT
IN1 IN2
INV
NAND
OUT
IN
OUT
IN1 IN2
NOR
OUT
IN1 IN2
OUT
0
0
0
0
0
0
0
1
0
0
1
0
0
1
1
0
0
1
0
1
1
0
1
0
1
1
0
0
0
1
0
0
1
1
1
0
0
1
1
0
1
0
1
1
1
1
1
1
1
1
1
1
0
1
1
0
VLSI Physical Design: From Graph Partitioning to Timing Closure
Chapter 1: Introduction
8
Lienig
AND
VLSI Design Styles
Vdd
Contact
Metal layer
Vdd
IN2
OUT
IN1
IN2
Poly layer
OUT
Diffusion layer
IN1
p-type
transistor
n-type
transistor
GND
GND
OUT
VLSI Physical Design: From Graph Partitioning to Timing Closure
Chapter 1: Introduction
9
Lienig
IN1
IN2
© KLMH
1.3
VLSI Design Styles
Vdd
Контакт
Уровень металла
Vdd
IN2
OUT
IN1
IN2
Уровень поли-Si
OUT
Уровень
диффузии
© KLMH
1.3
IN1
p-транзистор
GND
n-транзистор
GND
OUT
Рельса питания (Vdd)
Рельса заземления (GND)
VLSI Physical Design: From Graph Partitioning to Timing Closure
Chapter 1: Introduction
10
Lienig
IN1
IN2
Стили проектирования СБИС
© KLMH
1.3
Раскладка стандартных ячеек
с проходными ячейками
Раскладка стандартных ячеек
с трассировкой над ячейками
Стандартные
Контакт сети
Контакт сети
Контакт ячейки
питания
заземления
Контакт сети Стандартные Контакт сети
питания
ячейки
заземления
A
A
VDD
VDD
GND
A’
GND
Каналл
трассировки
VLSI Physical Design: From Graph Partitioning to Timing Closure
Chapter 1: Introduction
11
Lienig
Проходная
ячейка
© 2011 Springer Verlag
A’
Стили проектирования СБИС
© KLMH
1.3
Раскладка с макро-блоками
Память
ПЛИС
VDD
АЦП
Аналог.
схема
Области трассировки
VLSI Physical Design: From Graph Partitioning to Timing Closure
Chapter 1: Introduction
12
Lienig
Контакт
GND
© 2011 Springer Verlag
Блок
стандартных
ячеек
Стили проектирования СБИС
© KLMH
1.3
Программуемая логическая
интегральная схема (ПЛИС)
ЛЭ
LB
ЛЭ
LB
Коммутатор
К
SB
ЛЭ
LB
SB
К
SB
К
ЛЭ
LB
ЛЭ
LB
ЛЭ
LB
ЛЭ
LB
VLSI Physical Design: From Graph Partitioning to Timing Closure
ЛЭ
Chapter 1: Introduction
13
Lienig
SB
К
ЛЭ
LB
Соединение
© 2011 Springer Verlag
ЛЭ
LB
Логический элемент
Уровни раскладки и правила проектирования
© KLMH
1.4
Уровни раскладки ячейки инвертера
с внешними соединениями
Ячейка инвертера
Vdd
Металл2
Контакт
Металл1
Прорез
Поли-кремний
p/n диффузия
Внешние соединения
VLSI Physical Design: From Graph Partitioning to Timing Closure
Chapter 1: Introduction
14
Lienig
© 2011 Springer Verlag
GND
Уровни раскладки и правила проектирования
© KLMH
1.4

Правила размеров, например минимальная толщина и длина грани: размер
любой компоненты (формы) – не может быть меньше данного значения. Эти
значения варьируются между уровнями раскладки.

Правила разводки, например минимальное удаление: два многоугольника,
на одном уровне или на смежных уровнях, должны быть отдалены
на определённое расстояние (Эвклидово или Манхэттанское).

Правила перекрытия, например минимальное перекрытие: Два связанных
многоугольника на смежных уровнях должны перекрываться на определённую
глубины на случай неточного расположения оптического шаблона по
отношению к прямоугольникам ранее отображённым на кремниевой пластине.
VLSI Physical Design: From Graph Partitioning to Timing Closure
Chapter 1: Introduction
15
Lienig
Типы правил проектирования
Уровни раскладки и правила проектирования
© KLMH
1.4
Типы правил проектирования
: наименьший возможный шаг для
данной технологии - единица длины

a
c
Мин. ширина: a
Мин. удаление: b, c, d
e
Мин. перекрытие: e
d
VLSI Physical Design: From Graph Partitioning to Timing Closure
Chapter 1: Introduction
16
Lienig
© 2011 Springer Verlag
b
Оптимизация физического проектирования
© KLMH
1.5

Технологические ограничения делают возможным производство для
конкретного узла технологии и выведены из деталей технологии. Например,
мин. ширина и мин. удалние между прямоугольниками.

Электрические ограничения обеспечивают желаемые электрические
соединения и переключения, например, соблюдения временных ограничений
на задержку сигнала а также непревышение максимума ёмкости нагрузки.

Геометрические ограничения по методологии проектирования добавляются
чтобы уменьшить общую сложность процесса проектирования. Наприме,
использование предпочтительных направлений проводов на каждом уровне
металла, и размещение стандартных ячеек в строках.
VLSI Physical Design: From Graph Partitioning to Timing Closure
Chapter 1: Introduction
17
Lienig
Типы ограничений
Алгоритмы и сложность
© KLMH
1.6
Сложность по времени

Сложность по времени: время выполнения алгоритма как функция естественной
метрики размера задачи (входных данных), позволяет сравнить разные
алгоритмы

Сложность представляется асимптотически, по отношению к размеру входных
данных n, с использованием символики О-большого или просто O(…)

Время работы t(n) считается порядка f (n),
записывается как t(n) = O(f (n)) в случае когда имеет место
для k>0
n 
t ( n)
k
f ( n)
Пример: t(n) = 7n! + n2 + 100, тогда t(n) = O(n!)
потому что n! растёт быстрее других слагаемых при n  .
VLSI Physical Design: From Graph Partitioning to Timing Closure
Chapter 1: Introduction
18
Lienig

(достаточное условие, не общее определение)
lim
Алгоритмы и сложность
© KLMH
1.6
Сложность по времени

Пример: полный перебор всевозможных размещений

Даётся: n стандартных ячеек

Задача: разместить n ячеек в одной строке с наименьшей длиной проводов,
используя полный перебор

Решение: пространство возможных решений состоит из n! размещений. Если
перечисление и оценка длины проводов каждого возможного размещения занимает
1 s, то при n = 20, чтобы найти оптимальное решение требуется 77,147 лет!

Для многих задач физического проектирования, наилучшие известные алгоритмы
требуют экспоненциального времени по n, например
O(n!), O(nn), или O(2n).

Многие такое задачи NP-трудные (NP: non-deterministic polynomial time)

Известные алгоритмы не могут обеспечить оптимальные решения за разумное время
VLSI Physical Design: From Graph Partitioning to Timing Closure
Chapter 1: Introduction
19
Lienig
 Эвристики (как правило) находят почти-оптимальные решения
Алгоритмы и сложность
© KLMH
1.6
Эвристические алгоритмы

Детерминистические: все решения принимаемые алгоритмом можно повторить,
так как они не случайны.

Стохастические: Некоторые решения принимаемются алгоритмом случайно,т.е.,
с использованием (псевдо-)случайных чисел. Таким образом, запуская алгоритм
два раза, с большой вероятностью получим два разных решения.
Пример: алгоритм моделирования отжига.

По своей структуре, эвристический алгоритм может быть
 Конструктивными: компоненты решения добавляются последовательно
пока не готово полное решение.
VLSI Physical Design: From Graph Partitioning to Timing Closure
Chapter 1: Introduction
20
Lienig
 Итеративные: начиная с полного решения, улучшаем его
пока улучшения возможны.
Алгоритмы и сложность
© KLMH
1.6
Эвристические алгоритмы
Исходная задача
Конструктивный алгоритм
Исходная конфигурация
Итеративное улучшение
Проверить критерий
продолжить
окончания
закончить
VLSI Physical Design: From Graph Partitioning to Timing Closure
Chapter 1: Introduction
21
Lienig
Вернуть наилучшее найденное решение
Терминология теории графов
© KLMH
1.7
Граф
Гиперграф
b
Мультиграф
b
b
a
e
f
c
a
a
d
f
g
c
c
VLSI Physical Design: From Graph Partitioning to Timing Closure
Chapter 1: Introduction
22
Lienig
© 2011 Springer Verlag
d
e
Терминология теории графов
© KLMH
1.7
Ориентированный граф с циклами
c
Направленый ациклический граф
c
f
f
a
a
b
d
g
a
b
d
g
e
VLSI Physical Design: From Graph Partitioning to Timing Closure
Chapter 1: Introduction
23
Lienig
© 2011 Springer Verlag
e
b
Терминология теории графов
© KLMH
1.7
Направленное дерево
Неориентированный граф с вершинами
степени не больше трёх
a
b
a
f
c
b
d
c
e
g
e
f
g
h
i
j
k
VLSI Physical Design: From Graph Partitioning to Timing Closure
Chapter 1: Introduction
24
Lienig
© 2011 Springer Verlag
d
Вычислительная геометрия
© KLMH
1.7
Примоугольное минимальное
остовное дерево (RMST)
b (2,6)
Прямоугольное минимальное
дерево Штейнера (RSMT)
b (2,6)
Steiner point
VLSI Physical Design: From Graph Partitioning to Timing Closure
a (2,1)
Chapter 1: Introduction
25
Lienig
a (2,1)
c (6,4)
© 2011 Springer Verlag
c (6,4)
Стандартная терминология САПР
© KLMH
1.8
Нетлист (netlist) – список сетей
a
N1
b
x
N3
N2
N4
y
z
N5
c
(a: N1)
(b: N2)
(c: N5)
(x: IN1 N1, IN2 N2, OUT N3)
(y: IN1 N1, IN2 N2, OUT N4)
(z: IN1 N3, IN2 N4, OUT N5)
Сетевой нетлист
VLSI Physical Design: From Graph Partitioning to Timing Closure
Chapter 1: Introduction
26
Lienig
© 2011 Springer
Контактный нетлист
(N1: a, x.IN1, y.IN1)
(N2: b, x.IN2, y.IN2)
(N3: x.OUT, z.IN1)
(N4: y.OUT, z.IN2)
(N5: z.OUT, c)
Стандартная терминология САПР
© KLMH
1.8
Граф связности
a
N1
N3
N2
N4
z
N5
x
c
z
y
b
c
y
VLSI Physical Design: From Graph Partitioning to Timing Closure
Chapter 1: Introduction
27
Lienig
© 2011 Springer Verlag
b
a
x
Стандартная терминология САПР
© KLMH
1.8
Матрица связности
a
N1
N3
N2
N4
z
N5
c
y
b
x
y
z
c
a
0
0
1
1
0
0
b
0
0
1
1
0
0
x
1
1
0
2
1
0
y
1
1
2
0
1
0
z
0
0
1
1
0
1
c
0
0
0
0
1
0
VLSI Physical Design: From Graph Partitioning to Timing Closure
Chapter 1: Introduction
28
Lienig
© 2011 Springer Verlag
b
x
a
Стандартная терминология САПР
© KLMH
1.8
Расстояние между двумя точками P1 (x1,y1) и P2 (x2,y2)
d  n x2  x1  y2  y1
n
n
n = 2: Эвклидово расстояние
d E ( P1 , P2 )  ( x2  x1 ) 2  ( y2  y1 ) 2
n = 1: Манхэттанское расстояние
P1 (2,4)
d M ( P1 , P2 )  x2  x1  y2  y1
dM = 7
dE = 5
P2 (6,1)
VLSI Physical Design: From Graph Partitioning to Timing Closure
Chapter 1: Introduction
29
Lienig
dM = 7
© KLMH
Итоги Главы 1

Прозводство полупроводниковых кристаллов быстро росло с 1960х годов
 Экспоненциальное падение размера, стоимости и мощности транзисторов

Проектирование кристалла невозможно без упрощения и автомаизации
 Построчная раскладка со стандартными ячейками и правилами проектирования
 Исторически, каждый шаг в маршруте проектировки был автоматизирован
разделньно при помощи специализированного ПО для САПР

ПО использует сложные алгоритмы
 Многие задачи физического проектирования NP-трудны – решаются при
помощи эвристик которые (обычно) находят почти-оптимальные алгоритмы
 Детерминистические и стохастические алгоритмы
 Конструктивные алгоритмы и итеративное улучшение
 Алгоритмы на графах – работают со связностью схемы
VLSI Physical Design: From Graph Partitioning to Timing Closure
Chapter 1: Introduction
30
Lienig
 Алгоритмы вычислительной геометрии – работают с раскладкой схемы
Download