Floorplanning & Power Planning:
Floorplanning: วางผังชิปก่อน P&R
01 บทนำ: Floorplan คืออะไร
Floorplanning คือขั้นตอนแรกของ physical design — กำหนดขนาด die, วาง macro/memory blocks, กำหนด I/O pad ring, สร้าง power grid, และ define placement regions
Floorplan ที่ดี = timing closure ง่าย, floorplan ที่แย่ = ไม่มีทาง close timing ได้ไม่ว่า P&R จะ optimize แค่ไหน
วาง floorplan, ทำ power planning, place & route, CTS (Clock Tree Synthesis), routing optimization, IR drop / EM analysis — จนได้ GDSII พร้อม tape-out
Tools: Cadence Innovus / Synopsys ICC2, RedHawk, Tempus
Related: Place & Route · Clock Tree Synthesis (CTS) · IR Drop & EM Analysis
Path: IC Design Engineer
02 Die Size & Utilization
Die size ขึ้นกับ: cell area (from synthesis) + macro area + I/O ring area + margins
Target utilization: 70-80% สำหรับ digital designs, ต่ำกว่าสำหรับ designs ที่มี congestion สูง
ต้องเผื่อ: routing tracks, decap cells, filler cells, antenna diodes
03 Macro Placement
วาง macros (SRAM, ROM, analog IP, PLL) ก่อน standard cells:
- วาง SRAM ใกล้กับ data path ที่ access บ่อย
- PLL วางใกล้ clock root
- เว้น channel ระหว่าง macros สำหรับ routing
- Halos/blockages รอบ macros ป้องกัน cell placement ชิดเกินไป
04 Power Planning
Power grid ต้อง deliver current ให้ทุก cell โดย IR drop < 5% ของ supply:
- Power rings รอบ die boundary
- Power stripes (horizontal + vertical) across die
- Via stacking เชื่อม metal layers
- Decap cells ลด local IR drop
Power grid ใช้ ~20-30% ของ routing resources — ต้อง balance กับ signal routing capacity
05 Tools & Flow
ICC2 (Synopsys), Innovus (Cadence) — ทั้งคู่มี floorplan GUI + Tcl scripting
Key commands: initialize_floorplan, create_placement_blockage, add_power_mesh, check_floorplan
06 Sign-off Checks
ก่อนเข้า P&R ต้อง sign off floorplan: congestion analysis, power grid IR drop estimation, timing estimation, DRC clean boundaries