Избранные главы САПР · 2015. 1. 5. · 12/30/2014 Математические...

42
12/30/2014 Математические вопросы проектирования топологии интегральных схем 1 Лекции 8-9

Upload: others

Post on 05-Sep-2020

31 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Избранные главы САПР · 2015. 1. 5. · 12/30/2014 Математические вопросы проектирования топологии интегральных

12/30/2014 Математические вопросы проектирования

топологии интегральных схем 1

Лекции 8-9

Page 2: Избранные главы САПР · 2015. 1. 5. · 12/30/2014 Математические вопросы проектирования топологии интегральных

12/30/2014 Математические вопросы проектирования

топологии интегральных схем 2

Эйлеровы пути

Определение 5: Эйлеровым путем в графе называется путь v1,…,vm+1, такой, что каждое ребро eE появляется в последовательности v1,…,vm+1 в точности один раз как e={vi,vi+1}. Если v1 = vm+1, то такой путь называется эйлеровым циклом.

Теорема 2: Эйлеров путь в графе существует тогда и только тогда, когда граф связный и содержит не более чем две вершины нечетной степени .

Page 3: Избранные главы САПР · 2015. 1. 5. · 12/30/2014 Математические вопросы проектирования топологии интегральных

12/30/2014 Математические вопросы проектирования

топологии интегральных схем 3

Алгоритм нахождения эйлерова цикла

begin 2. СТЕК ; CE ; //CE-цикл в виде последовательности вершин 3. v произвольная вершина графа 4. СТЕК v 5. while СТЕК do

6. begin v top(СТЕК) 7. if ЗАПИСЬ[v] then

8. begin u первая из ЗАПИСЬ[v] 9. СТЕК u //удалить ребро из {v,u} графа 10. ЗАПИСЬ[v] ЗАПИСЬ[v] \{u}; 10. ЗАПИСЬ[u] ЗАПИСЬ[u] \{v}; 11. v u

12. end 13. else // ЗАПИСЬ[v] = 14. begin v СТЕК ; CE v;

15. end 16. End end

Page 4: Избранные главы САПР · 2015. 1. 5. · 12/30/2014 Математические вопросы проектирования топологии интегральных

12/30/2014 Математические вопросы проектирования

топологии интегральных схем 4

1

2

3

4

5

6

7

8

9

10 11

СТЕК={}

CE={}

ЗАПИСЬ

1: (2,3,4,10)

2: (1,4)

3: (1,4,10,11)

4: (1,2,3,7,6,11)

5: (6,7,8,9)

6: (4,5)

7: (4,5)

8: (5,9)

9: 5,8()

10: (1,3)

11: (3,4)

V=

U=

Page 5: Избранные главы САПР · 2015. 1. 5. · 12/30/2014 Математические вопросы проектирования топологии интегральных

12/30/2014 Математические вопросы проектирования

топологии интегральных схем 5

СТЕК={}

CE={1,10,3,11,4,3,1,4,7,5,9,8,5,6,4,2,1}

ЗАПИСЬ

1: (2,3,4,10)

2: (1,4)

3: (1,4,10,11)

4: (1,2,3,7,6,11)

5: (6,7,8,9)

6: (4,5)

7: (4,5)

8: (5,9)

9: (5,8)

10: (1,3)

11: (3,4)

V=?

U=?

1

2

3

4

5

6

7

8

9

10 11

Page 6: Избранные главы САПР · 2015. 1. 5. · 12/30/2014 Математические вопросы проектирования топологии интегральных

12/30/2014 Математические вопросы проектирования

топологии интегральных схем 6

Утверждение 1. Для последовательной цепочки транзисторов Эйлеров путь всегда существует.

Утверждение 2. Для параллельной цепочки транзисторов Эйлеров цикл всегда существует.

Page 7: Избранные главы САПР · 2015. 1. 5. · 12/30/2014 Математические вопросы проектирования топологии интегральных

Нахождение Эйлеровых путей в электрической схеме

Transistor Placement for Noncomplementary Digital VLSI Cell Synthesis, MICHAEL A. RIEPE and KAREM A. SAKALLAH, ACM Transactions on Design Automation of Electronic Systems, Vol. 8, No. 1, January 2003.

12/30/2014 Математические вопросы проектирования

топологии интегральных схем 7

An example of a complex gate designed in the “functional cell” style of Uehara and Van-Cleemput [1981]

Page 8: Избранные главы САПР · 2015. 1. 5. · 12/30/2014 Математические вопросы проектирования топологии интегральных

Иллюстрация идеи

12/30/2014 Математические вопросы проектирования

топологии интегральных схем 8

Page 9: Избранные главы САПР · 2015. 1. 5. · 12/30/2014 Математические вопросы проектирования топологии интегральных

12/30/2014 Математические вопросы проектирования

топологии интегральных схем 9

Нахождение кратчайших путей в графе

Page 10: Избранные главы САПР · 2015. 1. 5. · 12/30/2014 Математические вопросы проектирования топологии интегральных

12/30/2014 Математические вопросы проектирования

топологии интегральных схем 10

Кратчайшие пути

Определение 7: Ориентированный граф G=V,E называется взвешенным, если каждой дуге u,vE поставлено в соответствие некоторое вещественное число a(u,v), называемое весом данной дуги, кроме того, a(u,v)=, если u не соединена с v. Если последовательность вершин v0,…,vp определяет путь в G, то его длина определяется как сумма a(vi-1, vi).

Лемма 1: При условии положительной длины всех контуров s,tV v : d(s,t)=d(s,v)+a(v,t) .

Page 11: Избранные главы САПР · 2015. 1. 5. · 12/30/2014 Математические вопросы проектирования топологии интегральных

12/30/2014 Математические вопросы проектирования

топологии интегральных схем 11

Алгоритм нахождения кратчайшего пути

Данные: расстояния D[v] от вершины s до всех остальных вершин v V, фиксированная вершина t, матрица весов ребер A[u,v], u,v V.

Результаты: СТЕК содержит последовательность вершин, определяющую кратчайший путь из s в t.

begin

СТЕК ; СТЕК t; v t;

while v s do

begin

u вершина, для которой D[v] = D[u] + A[u,v];

СТЕК u; v u;

end

end

Page 12: Избранные главы САПР · 2015. 1. 5. · 12/30/2014 Математические вопросы проектирования топологии интегральных

12/30/2014 Математические вопросы проектирования

топологии интегральных схем 12

Вычисление расстояний

Page 13: Избранные главы САПР · 2015. 1. 5. · 12/30/2014 Математические вопросы проектирования топологии интегральных

12/30/2014 Математические вопросы проектирования

топологии интегральных схем 13

Алгоритм Форда и Беллмана

Данные: орграф V,E с n вершинами и выделенным источником s V, фиксированная вершина t, матрица весов дуг A[u,v], u,v V. Контуры отрицательной длины отсутствуют.

Результаты: расстояние от источника до всех вершин графа D[v]=d(s,v), v V.

begin

for v V do D[v] A[s,v]; D[s] 0;

for k 1 to n-2 do

for v V \ {s} do

for u V do D[v] min(D[v], D[u]+A[u,v])

end

Page 14: Избранные главы САПР · 2015. 1. 5. · 12/30/2014 Математические вопросы проектирования топологии интегральных

12/30/2014 Математические вопросы проектирования

топологии интегральных схем 14

Работа алгоритма Форда и Беллмана

1

2 3

4 5

(1)

(3)

(1) (8)

(3)

(4)

(3)

(-5)

(2)

k D[1] D[2] D[3] D[4] D[5]

0 1 3

1 0 1 4 4 -1

2 0 1 4 3 -1

3 0 1 4 3 -1

1 3

3 3 8

1 -5

2

4

Page 15: Избранные главы САПР · 2015. 1. 5. · 12/30/2014 Математические вопросы проектирования топологии интегральных

12/30/2014 Математические вопросы проектирования

топологии интегральных схем 15

Алгоритм Дейкстры

Данные: орграф V,E с n вершинами и выделенным источником s V, фиксированная вершина t, матрица весов дуг A[u,v], u,v V. Все веса неотрицательны.

Результаты: расстояние от источника до всех вершин графа D[v]=d(s,v), v V.

begin

for v V do D[v] A[s,v]; D[s] 0;

T V \ {s};

while T do

begin

T T \ {u} // D[u] = min(D[p]: p T )

for v T do D[v] min { D[v], D[u]+A[u,v] }

end

end

Page 16: Избранные главы САПР · 2015. 1. 5. · 12/30/2014 Математические вопросы проектирования топологии интегральных

12/30/2014 Математические вопросы проектирования

топологии интегральных схем 16

Работа алгоритма Дейкстры

1

2 3

4 5

(1)

(1) (5)

(2)

(2)

(1) (1)

D[1] D[2] D[3] D[4] D[5] D[6]

0 1

0 1 6 3 8

0 1 6 3 7 8

0 1 6 3 7 7

0 1 6 3 7 7

6

(4)

(3)

(7)

Page 17: Избранные главы САПР · 2015. 1. 5. · 12/30/2014 Математические вопросы проектирования топологии интегральных

12/30/2014 Математические вопросы проектирования

топологии интегральных схем 17

Алгоритм Флойда

Данные: матрица весов дуг A[i,j] орграфа без контуров отрицательной длины.

Результаты: расстояния между всеми парами вершин D[i,j]=d(vi,vj),

begin

for i=1 to n do

for j=1 to n do D[i,j] A[i,j];

for i=1 to n do D[i,i] 0

for m=1 to n do

for i=1 to n do

for j=1 to n do

D[i,j] min(D[i,j], D[i,m]+ D[m,j] )

end

Page 18: Избранные главы САПР · 2015. 1. 5. · 12/30/2014 Математические вопросы проектирования топологии интегральных

Инкрементальный алгоритм поиска кратчайших путей в графе

Статическая задача:

Алгоритм Флойда-Уоршелла O(V3)

Алгоритм Дейкстры O(V2)

Динамическая задача:

Нет эффективных алгоритмов, известные алгоритмы работают слишком долго

12/30/2014 Математические вопросы проектирования

топологии интегральных схем 18

Page 19: Избранные главы САПР · 2015. 1. 5. · 12/30/2014 Математические вопросы проектирования топологии интегральных

12/30/2014 Математические вопросы проектирования

топологии интегральных схем 19

Маршрут проектирования топологии СБИС

Ввод схемы

Разбиение

Планировка

Оценка качества

Глобальная трассировка

Определение областей трассировки

Начальное размещение

Запись в БД

Сжатие

Оценка качества

Детальная трасссировка

Упорядочивание областей трассировки

Page 20: Избранные главы САПР · 2015. 1. 5. · 12/30/2014 Математические вопросы проектирования топологии интегральных

12/30/2014 Математические вопросы проектирования

топологии интегральных схем 20

Топология на основе стандартных ячеек

Page 21: Избранные главы САПР · 2015. 1. 5. · 12/30/2014 Математические вопросы проектирования топологии интегральных

12/30/2014 Математические вопросы проектирования

топологии интегральных схем 21

Классификация алгоритмов трассировки

Page 22: Избранные главы САПР · 2015. 1. 5. · 12/30/2014 Математические вопросы проектирования топологии интегральных

12/30/2014 Математические вопросы проектирования

топологии интегральных схем 22

Detailed

Routing

V-based methodology

Concrete View

Split in MFG

Region

coarsening

and resource

reservation Global

Routing

Route

refinement

Coarse MFG

for detailed

routing

Restore MFG

Make DRC-clean layout

by compaction

Page 23: Избранные главы САПР · 2015. 1. 5. · 12/30/2014 Математические вопросы проектирования топологии интегральных

23

N3

N3

N1 N2 N1

N3

N1 N2

N3

N3

N1 N2 N1

N3

N1 N2

Horizontal Segment

Via Vertical

Segment

Глобальная трассировка

*литературный источник[6] слайды 49-50

Детальная трассировка

Page 24: Избранные главы САПР · 2015. 1. 5. · 12/30/2014 Математические вопросы проектирования топологии интегральных

24

1 2 3 4 5

6 7 8 9 10

11 12 13 14 15

16 17 18 19 20

21 22 23 24 25

1 2 3 4 5

6 7 8 9 10

11 12 13 14 15

16 17 18 19 20

21 22 23 24 25

Граф трассировки (Grid graph model)

ggrid = (V,E), where the nodes v V represent the routing grid cells (gcells) and the edges represent connections of grid cell pairs (vi,vj)

Представление областей трассировки

*литературный источник[6] слайды 53-55

Page 25: Избранные главы САПР · 2015. 1. 5. · 12/30/2014 Математические вопросы проектирования топологии интегральных

25

1 2 3

4

5

6

7

8

9 1 2 3

4

5

6

7

8

9

Граф связности каналов (Channel connectivity graph)

G = (V,E), where the nodes v V represent channels, and the edges E represent adjacencies of the channels

Представление областей трассировки 2

Page 26: Избранные главы САПР · 2015. 1. 5. · 12/30/2014 Математические вопросы проектирования топологии интегральных

26

1

2

3

4

5

6

7

8

9

10

11

12

13

14

1

2

3

4

5

6

7

8

9

10

11

12

13

14

Граф связности пересений каналов (Switchbox connectivity graph)

G = (V, E), where the nodes v V represent switchboxes and an edge exists between two nodes if the corresponding switchboxes are on opposite sides of the same channel

Представление областей трассировки 3

Page 27: Избранные главы САПР · 2015. 1. 5. · 12/30/2014 Математические вопросы проектирования топологии интегральных

27

B (2, 6)

A (2, 1)

C (6, 4)

B (2, 6)

A (2, 1)

C (6, 4) S (2, 4)

Rectilinear Steiner minimum tree (RSMT)

Rectilinear minimum spanning tree (RMST)

Прямоугольная трассировка (Rectilinear Routing)

*литературный источник[6] слайды 59-60

Page 28: Избранные главы САПР · 2015. 1. 5. · 12/30/2014 Математические вопросы проектирования топологии интегральных

12/30/2014 Математические вопросы проектирования

топологии интегральных схем 28

Дерево Штейнера минимальной длины (SMT)

Теорема Ханана: дерево Штейнера минимальной

длины существует на Ортогональной Опорной Сетке

(ООС) .

Оценка числа точек Штейнера: s n-2.

Оценка длины дерева Штейнера: MST/SMT 3/2.

Простой эвристический алгоритм – использовать

сканирующую линию на ООС

Page 29: Избранные главы САПР · 2015. 1. 5. · 12/30/2014 Математические вопросы проектирования топологии интегральных

29

Преобразование связывающего дерева в дерево Штейнера

p1

p2 p3

p1

p3 p2

S1

p1

p3 p2

Construct L-shapes between points with (most) overlap of net segments

p1

p3 S

p2

Final tree (RSMT)

Page 30: Избранные главы САПР · 2015. 1. 5. · 12/30/2014 Математические вопросы проектирования топологии интегральных

30

A Sequential Steiner Tree Heuristic

1. Find the closest (in terms of rectilinear distance) pin pair, construct their minimum bounding box (MBB)

2. Find the closest point pair (pMBB,pC) between any point pMBB on the MBB and pC from the set of pins to consider

3. Construct the MBB of pMBB and pC

4. Add the L-shape that pMBB lies on to T (deleting the other L-shape). If pMBB is a pin, then add any L-shape of the MBB to T.

5. Goto step 2 until the set of pins to consider is empty

Page 31: Избранные главы САПР · 2015. 1. 5. · 12/30/2014 Математические вопросы проектирования топологии интегральных

31

1

Пример. Исходные данные.

Page 32: Избранные главы САПР · 2015. 1. 5. · 12/30/2014 Математические вопросы проектирования топологии интегральных

32

1

2

1

Пример. Шаг 1.

Page 33: Избранные главы САПР · 2015. 1. 5. · 12/30/2014 Математические вопросы проектирования топологии интегральных

33

1

2

3

1

MBB

pc

Пример. Шаг 1.

Page 34: Избранные главы САПР · 2015. 1. 5. · 12/30/2014 Математические вопросы проектирования топологии интегральных

34

1

2

3 1

2

3

1 2 4

pMBB

Пример. Шаг 2.

Page 35: Избранные главы САПР · 2015. 1. 5. · 12/30/2014 Математические вопросы проектирования топологии интегральных

35

1

2

3 1

2

3

4

5

1

2

3

4 1 2 3

Пример. Шаг 3.

Page 36: Избранные главы САПР · 2015. 1. 5. · 12/30/2014 Математические вопросы проектирования топологии интегральных

36

1

2

3 1

2

3

4

5

1

2

3

4

1

2

3

4

5 6

1 2 3

4

Пример. Шаг 4.

Page 37: Избранные главы САПР · 2015. 1. 5. · 12/30/2014 Математические вопросы проектирования топологии интегральных

37

1

2

3

4

5 6

7

1

2

3 1

2

3

4

5

1

2

3

4

1

2

3

4

5 6

1 2 3

4 5

Пример. Шаг 5.

Page 38: Избранные главы САПР · 2015. 1. 5. · 12/30/2014 Математические вопросы проектирования топологии интегральных

38

1

2

3

4

5 6

7

1

2

3 1

2

3

4

5

1

2

3

4

5 6

7

1

2

3

4

1

2

3

4

5 6

1 2 3

4 5 6

Пример. Шаг 6.

Page 39: Избранные главы САПР · 2015. 1. 5. · 12/30/2014 Математические вопросы проектирования топологии интегральных

39

1

2

3

4

5 6

7

1

2

3 1

2

3

4

5

1

2

3

4

5 6

7

1

2

3

4

1

2

3

4

5 6

1 2 3

4 5 6

Пример. Решение.

Page 40: Избранные главы САПР · 2015. 1. 5. · 12/30/2014 Математические вопросы проектирования топологии интегральных

12/30/2014 Математические вопросы проектирования

топологии интегральных схем 40

Классификация алгоритмов трассировки

Page 41: Избранные главы САПР · 2015. 1. 5. · 12/30/2014 Математические вопросы проектирования топологии интегральных

12/30/2014 Математические вопросы проектирования

топологии интегральных схем 41

Волновая трассировка (Maze)

Основная идея метода – волновой алгоритм (Lee, 1961)

Используется поиск в ширину (BFS)

Путь определяется обратным проходом с минимизацией по дополнительному критерию (число поворотов)

Всегда находится кратчайший путь, если он существует

Page 42: Избранные главы САПР · 2015. 1. 5. · 12/30/2014 Математические вопросы проектирования топологии интегральных

12/30/2014 Математические вопросы проектирования

топологии интегральных схем 42

Проблемы волновой трассировки

Большой расход памяти

Выч. Сложность O(n2)

Последовательный характер трассировки