44
Design Partitioning for 3D IC 張張張

Design Partitioning for 3D IC 張 至 詹久儀. 2/23 Outline Introduction & problem definition Algorithm -BFS-Based Initial Partitioning -FM-Based Partition Optimization

  • View
    221

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Design Partitioning for 3D IC 張 至 詹久儀. 2/23 Outline Introduction & problem definition Algorithm -BFS-Based Initial Partitioning -FM-Based Partition Optimization

Design Partitioning for 3D IC

張 至 詹久儀

Page 2: Design Partitioning for 3D IC 張 至 詹久儀. 2/23 Outline Introduction & problem definition Algorithm -BFS-Based Initial Partitioning -FM-Based Partition Optimization

2/23

Outline

• Introduction & problem definition • Algorithm

- BFS-Based Initial Partitioning- FM-Based Partition Optimization

• Experimental results• Analysis

Page 3: Design Partitioning for 3D IC 張 至 詹久儀. 2/23 Outline Introduction & problem definition Algorithm -BFS-Based Initial Partitioning -FM-Based Partition Optimization

3/23

Introduction & Problem Definition

• 跨層的繞線以 TSV 傳遞• TSV 種類有:

- TSV_IO( 都在最底層 )- TSV_CELL( 具有面積 )- TSV_LAND( 不具面積 )- TSV_THROUGHT( 由一個 CELL 及 LAND 組成 )

• 以下 TSV_CELL 以 TSV 簡稱之• 每個 PI/PO 都各有一個 TSV_IO 在最底層• 一個 TSV 所傳遞的 signal 可 fanout 給多個 nodes

三維電路

Page 4: Design Partitioning for 3D IC 張 至 詹久儀. 2/23 Outline Introduction & problem definition Algorithm -BFS-Based Initial Partitioning -FM-Based Partition Optimization

4/23

Outline

• Introduction & problem definition • Algorithm

- BFS-Based Initial Partitioning- FM-Based Partition Optimization

• Experimental results• Analysis

Page 5: Design Partitioning for 3D IC 張 至 詹久儀. 2/23 Outline Introduction & problem definition Algorithm -BFS-Based Initial Partitioning -FM-Based Partition Optimization

5/23

BFS-Based Initial Partitioning Flow

Update Layer Priorities

Assign to Highest Priority Layer

Queues Initialization

Working Layer Selection

Seed Dequeue

DONE

YES

Initial Partitioning Complete?

Unassigned Neighbors Exist?

YES

NO

NO

Page 6: Design Partitioning for 3D IC 張 至 詹久儀. 2/23 Outline Introduction & problem definition Algorithm -BFS-Based Initial Partitioning -FM-Based Partition Optimization

6/23

Queues Initialization

Layer 4

Layer 3

Layer 2

Layer 1

Queue 4

Queue 3

Queue 2

Queue 1

seed

seed

seed

seed seed seed seed

Page 7: Design Partitioning for 3D IC 張 至 詹久儀. 2/23 Outline Introduction & problem definition Algorithm -BFS-Based Initial Partitioning -FM-Based Partition Optimization

7/23

Update Layer Priorities

Assign to Highest Priority Layer

Queues Initialization

Working Layer Selection

Seed Dequeue

DONE

YES

Initial Partitioning Complete?

Unassigned neighbors exist?

YES

NO

NO

BFS-Based Initial Partitioning Flow

Page 8: Design Partitioning for 3D IC 張 至 詹久儀. 2/23 Outline Introduction & problem definition Algorithm -BFS-Based Initial Partitioning -FM-Based Partition Optimization

8/23

Working Layer Selection & Dequeue

Layer 4

Layer 3

Layer 2

Layer 1

Queue 4

Queue 3

Queue 2

Queue 1

seed seed

seed seed seed seed

seed

seed seed seed seed

Area 10 5 27

L4 L3 L2 L1

seed seed seed

Page 9: Design Partitioning for 3D IC 張 至 詹久儀. 2/23 Outline Introduction & problem definition Algorithm -BFS-Based Initial Partitioning -FM-Based Partition Optimization

9/23

Update Layer Priorities

Assign to Highest Priority Layer

Queues Initialization

Working Layer Selection

Seed Dequeue

DONE

YES

Initial Partitioning Complete?

Unassigned neighbors exist?

YES

NO

NO

BFS-Based Initial Partitioning Flow

Page 10: Design Partitioning for 3D IC 張 至 詹久儀. 2/23 Outline Introduction & problem definition Algorithm -BFS-Based Initial Partitioning -FM-Based Partition Optimization

10/23

Working Layer Selection & Dequeue

Layer 4

Layer 3

Layer 2

Layer 1

Queue 4

Queue 3

Queue 2

Queue 1

seed seed

seed seed seed

seed seed

seed seed seed seed

Area 10 5 27

L4 L3 L2 L1

Priority 0.05 0.066 0.1250.071

seed seed seed

0.047

Page 11: Design Partitioning for 3D IC 張 至 詹久儀. 2/23 Outline Introduction & problem definition Algorithm -BFS-Based Initial Partitioning -FM-Based Partition Optimization

11/23

Update Layer Priorities

Assign to Highest Priority Layer

Queues Initialization

Working Layer Selection

Seed Dequeue

DONE

YES

Initial Partitioning Complete?

Unassigned neighbors exist?

YES

NO

NO

BFS-Based Initial Partitioning Flow

Page 12: Design Partitioning for 3D IC 張 至 詹久儀. 2/23 Outline Introduction & problem definition Algorithm -BFS-Based Initial Partitioning -FM-Based Partition Optimization

12/23

Outline

• Introduction & problem definition • Algorithm

- BFS-Based Initial Partitioning- FM-Based Partition Optimization

• Experimental results• Analysis

Page 13: Design Partitioning for 3D IC 張 至 詹久儀. 2/23 Outline Introduction & problem definition Algorithm -BFS-Based Initial Partitioning -FM-Based Partition Optimization

13/23

FM-Based Partition Optimization

• 反覆的呼叫 Optimizer 函式來移動 nodes• Optimizer 可以接受以下參數

- 移動來源 / 目標層- 面積誤差上限 ( 平衡的權重 )- TSV gain 下限 (TSV 數的權重 )

• 透過設定參數便可依照不同的策略來進行最佳化• 移動策略 :

- 降低最大層面積- 減少整體 TSV 數

Page 14: Design Partitioning for 3D IC 張 至 詹久儀. 2/23 Outline Introduction & problem definition Algorithm -BFS-Based Initial Partitioning -FM-Based Partition Optimization

14/23

FM-Based Partition Optimization

Page 15: Design Partitioning for 3D IC 張 至 詹久儀. 2/23 Outline Introduction & problem definition Algorithm -BFS-Based Initial Partitioning -FM-Based Partition Optimization

15/23

Runtime Strategy

RT = Current RunTime

KT = Kill Time

Page 16: Design Partitioning for 3D IC 張 至 詹久儀. 2/23 Outline Introduction & problem definition Algorithm -BFS-Based Initial Partitioning -FM-Based Partition Optimization

16/23

Outline

• Introduction & problem definition • Algorithm

- BFS-Based Initial Partitioning- FM-Based Partition Optimization

• Experimental results• Analysis

Page 17: Design Partitioning for 3D IC 張 至 詹久儀. 2/23 Outline Introduction & problem definition Algorithm -BFS-Based Initial Partitioning -FM-Based Partition Optimization

17/23

Experimental Results

Bench 2 Bench 3 Bench 4

TSV Area TSV Area TSV Area

TeamA 977

(4)

232114

(3)

-- -- 748

(3)

278127

(1)

TeamB 836

(2)

240862

(4)

17664

(3)

2224978

(4)

843

(4)

299677.5

(4)

TeamC 663

(1)

221068

(1)

171

(2)

1412973

(1)

501

(2)

283519.5

(2)

TeamD 914

(3)

251638

(5)

164

(1)

1413955

(2)

242

(1)

309630

(5)

Our 1011

(5)

221914

(2)

22380

(4)

1975022.5

(3)

883

(5)

288188

(3)

Page 18: Design Partitioning for 3D IC 張 至 詹久儀. 2/23 Outline Introduction & problem definition Algorithm -BFS-Based Initial Partitioning -FM-Based Partition Optimization

18/23

Outline

• Introduction & problem definition • Algorithm

- BFS-Based Initial Partitioning- FM-Based Partition Optimization

• Experimental results• Analysis

Page 19: Design Partitioning for 3D IC 張 至 詹久儀. 2/23 Outline Introduction & problem definition Algorithm -BFS-Based Initial Partitioning -FM-Based Partition Optimization

19/23

Analysis: Case 4

Page 20: Design Partitioning for 3D IC 張 至 詹久儀. 2/23 Outline Introduction & problem definition Algorithm -BFS-Based Initial Partitioning -FM-Based Partition Optimization

20/23

Analysis: Case 2

Page 21: Design Partitioning for 3D IC 張 至 詹久儀. 2/23 Outline Introduction & problem definition Algorithm -BFS-Based Initial Partitioning -FM-Based Partition Optimization

21/23

Analysis: Case 3

Page 22: Design Partitioning for 3D IC 張 至 詹久儀. 2/23 Outline Introduction & problem definition Algorithm -BFS-Based Initial Partitioning -FM-Based Partition Optimization

22/23

Analysis: Case 3

Page 23: Design Partitioning for 3D IC 張 至 詹久儀. 2/23 Outline Introduction & problem definition Algorithm -BFS-Based Initial Partitioning -FM-Based Partition Optimization

23/23

Thank you

Page 24: Design Partitioning for 3D IC 張 至 詹久儀. 2/23 Outline Introduction & problem definition Algorithm -BFS-Based Initial Partitioning -FM-Based Partition Optimization

Backup Slides

cadb013

Page 25: Design Partitioning for 3D IC 張 至 詹久儀. 2/23 Outline Introduction & problem definition Algorithm -BFS-Based Initial Partitioning -FM-Based Partition Optimization

Outline

• Introduction & problem definition • Algorithm

- BFS-Based Initial Partitioning- FM-Based Partition Optimization

• Experimental results

Page 26: Design Partitioning for 3D IC 張 至 詹久儀. 2/23 Outline Introduction & problem definition Algorithm -BFS-Based Initial Partitioning -FM-Based Partition Optimization

Introduction & Problem Definition

二維電路三維電路

Page 27: Design Partitioning for 3D IC 張 至 詹久儀. 2/23 Outline Introduction & problem definition Algorithm -BFS-Based Initial Partitioning -FM-Based Partition Optimization

Outline

• Introduction & problem definition • Algorithm

- BFS-Based Initial Partitioning- FM-Based Partition Optimization

• Experimental results

Page 28: Design Partitioning for 3D IC 張 至 詹久儀. 2/23 Outline Introduction & problem definition Algorithm -BFS-Based Initial Partitioning -FM-Based Partition Optimization

BFS-Based Initial Partitioning

• 以一個 heuristic 的方法來控制 TSV 數量的增長- 盡量把 TSV 使用在有 mutiple fanout 的 hyperedge

• 不斷避免面積懸殊的 partitions ,達到各層面積相近- 動態切換、輪流進行多層 BFS

Page 29: Design Partitioning for 3D IC 張 至 詹久儀. 2/23 Outline Introduction & problem definition Algorithm -BFS-Based Initial Partitioning -FM-Based Partition Optimization

BFS-Based Initial Partitioning – Data structure

Layer 4

Layer 3

Layer 2

Layer 1

Queue 4

Queue 3

Queue 2

Queue 1

Seed : 已經被 assign 入指定 layer ,需要檢查其他與之相鄰的 neighbors。但可能有尚未被 assign 的 neighbor (untraveled neighbor)

seed

seed seed seed seed seed

seed seed

seed seed seed seed

針對每一層建立一個 seed Queue ,以達成動態切換、輪流進行多層 BFS 的目的

Page 30: Design Partitioning for 3D IC 張 至 詹久儀. 2/23 Outline Introduction & problem definition Algorithm -BFS-Based Initial Partitioning -FM-Based Partition Optimization

Determine Working Layer (Lw)

1. 在我們多層 seed Queue 的架構下,各層間存在互搶node(seed) 的競爭關係,為了達成產生各層面積相近的 (initial solution) 目標,我們發展一套動態切換Working Layer 的機制來進行 BFS 。

2. 每個 node 只會被 assign 入指定 layer 一次且不會被重新修正 ( 只會進入 seed queue 一次 ) 。

3. Working Layer (Lw) 可以同時 push seeds 到每一層Queues ,不限定僅能把 node 放入自己的 Queue 。

4. 動態切換至最小的 layer 直到該 layer 成為面積最大的layer 或是當 Lw 的 seed Queue 中以無 seed 。

Page 31: Design Partitioning for 3D IC 張 至 詹久儀. 2/23 Outline Introduction & problem definition Algorithm -BFS-Based Initial Partitioning -FM-Based Partition Optimization

Determine Working Layer (Lw)

1 2

11

1

1

1

1

1

1

1

1

1 2

1 1

2

22

2

1

1

1

1TSV 個數: 3

面積比: 11 : 1

TSV 個數: 3

面積比: 7 : 5

Dead Seed !

Page 32: Design Partitioning for 3D IC 張 至 詹久儀. 2/23 Outline Introduction & problem definition Algorithm -BFS-Based Initial Partitioning -FM-Based Partition Optimization

Determine Span for Each Hyperedge

1 TSV for 1 node

1 TSV for MANY nodes

Span

MAX Span_size = Hyperedge fanout node 數 / 2 或 layer 數

Page 33: Design Partitioning for 3D IC 張 至 詹久儀. 2/23 Outline Introduction & problem definition Algorithm -BFS-Based Initial Partitioning -FM-Based Partition Optimization

Layer 3

Determine direction for each hyperedge

Upper_avg_area = SUM(area_L3, area_4) / 2

Lower_avg_area = SUM(area_L1, area_L2, area_3) / 3

Direction = MIN(Upper_avg_area, lower_avg_area)

Layer 4

Layer 3

Layer 2

Layer 1

Lw = 3 Span_size = 3

Upper

Lower

Page 34: Design Partitioning for 3D IC 張 至 詹久儀. 2/23 Outline Introduction & problem definition Algorithm -BFS-Based Initial Partitioning -FM-Based Partition Optimization

Determine Span and direction for each hyperedge

• Span

MIN( Initial Span, Lw( 向下 ) 或最高層 -Lw+1( 向上 ) )

• Layer Span Direction- Upper_avg_area = SUM( Lw~ 最高層 ) / 層數- Lower_avg_area = SUM( 最底層 ~Lw ) / 層- fanout Direction = MIN(Upper_avg_area,

lower_avg_area)

Page 35: Design Partitioning for 3D IC 張 至 詹久儀. 2/23 Outline Introduction & problem definition Algorithm -BFS-Based Initial Partitioning -FM-Based Partition Optimization

Push one neighbor into Queue with highest priority

• 決定了 hyperedge 的 fanout span 及 direction 後,把fanout node 逐一分散到 Span 內的 layer 中 (push into seed Queue)

• 在 Span 內的所有 Layers 中,我們以 Priority 機制來挑選 Layer

• Priority[i] = 1/ (current_area[i]) * | Q[i] |

• Node 會被 Assign 到 Priority 最高的 Layer

Page 36: Design Partitioning for 3D IC 張 至 詹久儀. 2/23 Outline Introduction & problem definition Algorithm -BFS-Based Initial Partitioning -FM-Based Partition Optimization

Push one neighbor into Queue with highest priority

Layer 4

Layer 3

Layer 2

Layer 1

Queue 3

Queue 2

Queue 1

seed seed

seed seed seed seed

L3AreaLw = Layer3

Layer 3

Span = 3

Fanout direction = 向下

1 / ( L3 * 5 )Priority

L2 L1

1 / ( L1 * 4 )1 / ( L2 * 2 )

Queue 4

seed

seed seed seed seed seedseed seed seed seed seed

Page 37: Design Partitioning for 3D IC 張 至 詹久儀. 2/23 Outline Introduction & problem definition Algorithm -BFS-Based Initial Partitioning -FM-Based Partition Optimization

Outline

• Introduction & problem definition • Algorithm

- BFS-Based Initial Partitioning- FM-Based Partition Optimization

• Experimental results

Page 38: Design Partitioning for 3D IC 張 至 詹久儀. 2/23 Outline Introduction & problem definition Algorithm -BFS-Based Initial Partitioning -FM-Based Partition Optimization

FM-Based Partition Optimization

Page 39: Design Partitioning for 3D IC 張 至 詹久儀. 2/23 Outline Introduction & problem definition Algorithm -BFS-Based Initial Partitioning -FM-Based Partition Optimization

FM-Based Partition Optimization

Page 40: Design Partitioning for 3D IC 張 至 詹久儀. 2/23 Outline Introduction & problem definition Algorithm -BFS-Based Initial Partitioning -FM-Based Partition Optimization

FM-Based Partition Optimization

Page 41: Design Partitioning for 3D IC 張 至 詹久儀. 2/23 Outline Introduction & problem definition Algorithm -BFS-Based Initial Partitioning -FM-Based Partition Optimization

FM-Based Partition Optimization

• Tuner 會在 graph 上尋找- span 末端在來源層且 span 包含目標層的 net- 計算將該 net 所有位於來源層的 terminal 移動至目

標層對整個電路 tsv 的影響- 將 (net, tsv_gain) 存入 priority queue 並依據 tsv 減

少量排序• Tuner 會不斷從 priority queue 中 pop 出

(net,tsv_gain) 並實際進行移動• 直到 目標層面積 * 面積反差 >= 來源層面積或是

queue 已經空了

Page 42: Design Partitioning for 3D IC 張 至 詹久儀. 2/23 Outline Introduction & problem definition Algorithm -BFS-Based Initial Partitioning -FM-Based Partition Optimization

Outline

• Introduction & problem definition • Algorithm

- BFS-Based Initial Partitioning- FM-Based Partition Optimization

• Experimental results

Page 43: Design Partitioning for 3D IC 張 至 詹久儀. 2/23 Outline Introduction & problem definition Algorithm -BFS-Based Initial Partitioning -FM-Based Partition Optimization

Experimental results

Page 44: Design Partitioning for 3D IC 張 至 詹久儀. 2/23 Outline Introduction & problem definition Algorithm -BFS-Based Initial Partitioning -FM-Based Partition Optimization

Thank you