1 / 44

Design Partitioning for 3D IC

Design Partitioning for 3D IC. 張 至 詹久儀. Outline. Introduction & problem definition Algorithm BFS-Based Initial Partitioning FM-Based Partition Optimization Experimental results Analysis. 三維電路. Introduction & Problem Definition. 跨層的繞線以 TSV 傳遞 TSV 種類有: TSV_IO( 都在最底層 )

minowa
Download Presentation

Design Partitioning for 3D IC

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Design Partitioning for 3D IC 張 至 詹久儀

  2. Outline • Introduction & problem definition • Algorithm • BFS-Based Initial Partitioning • FM-Based Partition Optimization • Experimental results • Analysis

  3. 三維電路 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

  4. Outline • Introduction & problem definition • Algorithm • BFS-Based Initial Partitioning • FM-Based Partition Optimization • Experimental results • Analysis

  5. Queues Initialization Initial Partitioning Complete? YES NO Working Layer Selection Seed Dequeue NO Unassigned Neighbors Exist? YES Assign to Highest Priority Layer Update Layer Priorities DONE BFS-Based Initial Partitioning Flow

  6. Queues Initialization Queue 4 Queue 3 Layer 4 Queue 2 Layer 3 Layer 2 Queue 1 Layer 1

  7. Queues Initialization Initial Partitioning Complete? YES NO Working Layer Selection Seed Dequeue NO Unassigned neighbors exist? YES Assign to Highest Priority Layer Update Layer Priorities DONE BFS-Based Initial Partitioning Flow

  8. Working Layer Selection & Dequeue L4 L3 L2 L1 Area Queue 4 Queue 3 Layer 4 Queue 2 Layer 3 Layer 2 Queue 1 Layer 1

  9. Queues Initialization Initial Partitioning Complete? YES NO Working Layer Selection Seed Dequeue NO Unassigned neighbors exist? YES Assign to Highest Priority Layer Update Layer Priorities DONE BFS-Based Initial Partitioning Flow

  10. Working Layer Selection & Dequeue L4 L3 L2 L1 Area Priority Queue 4 Queue 3 Layer 4 Queue 2 Layer 3 Layer 2 Queue 1 Layer 1

  11. Queues Initialization Initial Partitioning Complete? YES NO Working Layer Selection SeedDequeue NO Unassigned neighbors exist? YES Assign to Highest Priority Layer Update Layer Priorities DONE BFS-Based Initial Partitioning Flow

  12. Outline • Introduction & problem definition • Algorithm • BFS-Based Initial Partitioning • FM-Based Partition Optimization • Experimental results • Analysis

  13. FM-Based Partition Optimization • 反覆的呼叫 Optimizer 函式來移動 nodes • Optimizer 可以接受以下參數 • 移動來源/目標層 • 面積誤差上限 (平衡的權重) • TSV gain下限 (TSV數的權重) • 透過設定參數便可依照不同的策略來進行最佳化 • 移動策略: • 降低最大層面積 • 減少整體TSV數

  14. FM-Based Partition Optimization

  15. Runtime Strategy RT = Current RunTime KT = Kill Time

  16. Outline • Introduction & problem definition • Algorithm • BFS-Based Initial Partitioning • FM-Based Partition Optimization • Experimental results • Analysis

  17. Experimental Results

  18. Outline • Introduction & problem definition • Algorithm • BFS-Based Initial Partitioning • FM-Based Partition Optimization • Experimental results • Analysis

  19. Analysis: Case 4

  20. Analysis: Case 2

  21. Analysis: Case 3

  22. Analysis: Case 3

  23. Thank you

  24. Backup Slides cadb013

  25. Outline • Introduction & problem definition • Algorithm • BFS-Based Initial Partitioning • FM-Based Partition Optimization • Experimental results

  26. Introduction & Problem Definition 二維電路 三維電路

  27. Outline • Introduction & problem definition • Algorithm • BFS-Based Initial Partitioning • FM-Based Partition Optimization • Experimental results

  28. BFS-Based Initial Partitioning • 以一個heuristic的方法來控制TSV數量的增長 • 盡量把TSV使用在有mutiple fanout的hyperedge上 • 不斷避免面積懸殊的partitions,達到各層面積相近 • 動態切換、輪流進行多層BFS

  29. BFS-Based Initial Partitioning – Data structure 針對每一層建立一個seed Queue,以達成動態切換、輪流進行多層BFS的目的 Queue 4 Queue 3 Layer 4 Layer 3 Queue 2 Layer 2 Layer 1 Queue 1 Seed : 已經被assign 入指定layer,需要檢查其他與之相鄰的neighbors。但可能有尚未被assign的neighbor (untraveled neighbor)

  30. Determine Working Layer (Lw) • 在我們多層seed Queue的架構下,各層間存在互搶node(seed)的競爭關係,為了達成產生各層面積相近的(initial solution)目標,我們發展一套動態切換Working Layer 的機制來進行BFS。 • 每個node只會被assign入指定layer一次且不會被重新修正(只會進入seed queue一次)。 • Working Layer (Lw)可以同時push seeds到每一層Queues,不限定僅能把node放入自己的Queue。 • 動態切換至最小的layer直到該layer成為面積最大的layer或是當Lw的seed Queue中以無seed。

  31. 1 1 2 1 2 2 1 2 1 1 2 1 Determine Working Layer (Lw) 1 TSV個數: 3 面積比:7 : 5 TSV個數: 3 面積比:11 : 1 1 1 1 1 1 1 1 1 1 Dead Seed ! 2 1

  32. Determine Span for Each Hyperedge Span 1 TSV for MANY nodes 1 TSV for 1 node MAX Span_size = Hyperedge fanout node數 / 2 或 layer數

  33. Determine direction for each hyperedge Span_size = 3 Lw = 3 Upper Layer 4 Layer 3 Layer 3 Lower Layer 2 Layer 1 • 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)

  34. 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)

  35. 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

  36. Push one neighbor into Queue with highest priority Priority Queue 4 Lw = Layer3 Span = 3 Area Fanout direction = 向下 Queue 3 Layer 4 Queue 2 Layer 3 Layer 3 Layer 2 Queue 1 Layer 1

  37. Outline • Introduction & problem definition • Algorithm • BFS-Based Initial Partitioning • FM-Based Partition Optimization • Experimental results

  38. FM-Based Partition Optimization

  39. FM-Based Partition Optimization

  40. FM-Based Partition Optimization

  41. 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已經空了

  42. Outline • Introduction & problem definition • Algorithm • BFS-Based Initial Partitioning • FM-Based Partition Optimization • Experimental results

  43. Experimental results

  44. Thank you

More Related