본문 바로가기
VLSI

Floorplan

by 익명의레디 2024. 9. 12.
Floorplan?

오늘은 BackEnd Engineer의 중요한 작업 중 하나인 FloorPlan에 대해 깊이 있게 알아보겠습니다. FloorPlan은 칩의 성능, 전력 소비, 면적 등 최종 결과에 중요한 영향을 미치는 단계입니다. 동일한 디자인이라도 어떻게 FloorPlan을 구성하느냐에 따라 QoR(Quality of Results)이 크게 달라질 수 있어, 세심한 계획과 전략이 필수적입니다.

최근에는 AI 기술을 이용해 FloorPlan을 자동화하는 도구들이 개발되고 있지만, 아직까지는 사람이 직접 설계하는 것이 더 나은 성능을 보장하는 경우가 많습니다. AI가 해결할 수 없는 복잡한 문제들, 예를 들어 다양한 디자인 제약 조건과 타이밍 이슈 등을 사람이 더 유연하게 다룰 수 있기 때문입니다. 그러나 AI의 발전 가능성은 무시할 수 없으며, 미래에는 인간과 AI의 협력이 더 나은 결과를 가져올 것으로 기대됩니다.

이 글에서는 FloorPlan의 목표와 주요 요소, 그리고 실제 설계에서 고려해야 할 중요한 사항들을 자세히 다루겠습니다.

 

 


Goal

1. Area 최소화 
칩의 전체 크기를 줄여 비용을 절감하는 것이 첫 번째 목표입니다. 칩 크기를 줄이면 생산 비용이 낮아지고, 제조 수율이 높아질 가능성이 큽니다.

2. Power 최적화 
전력 소모를 최소화하여 효율적인 시스템을 구축하는 것이 두 번째 목표입니다. 특히, 모바일 기기나 전력 제한이 있는 환경에서는 전력 최적화가 중요한 성능 지표로 작용합니다.

3. Performance 
Timing을 고려하여 각 Macro 위치를 최적화함으로써, Data 전송 속도를 높이고 전체 시스템 성능을 극대화하는 것이 목표입니다.

4. Routing Length 최소화
Routing Length를 짧게 설계하여 Delay을 줄이고 Power 소모를 줄입니다. Routing Length가 짧으면 Signal Integrity도 향상되고 Short등의 DRC Fix가 용이하며 Timing 문제가 줄어들 확률이 커집니다.

 

Chip Size의 결정 

1. Core limit 
코어 영역이 칩의 크기를 결정하는 경우입니다. **Utilization(활용도)**에 따라 Core Limit이 결정되며, Utilization은 배치된 셀들이 전체 코어 영역에서 차지하는 비율을 나타냅니다. 너무 높으면 타이밍과 전력 문제가 발생할 수 있고, 너무 낮으면 칩 크기가 불필요하게 커질 수 있습니다.

2. Pad Limit
IO Pad의 수나 배치에 의해 칩 크기가 결정되는 경우입니다. 특히 패드 크기나 간격이 칩의 외곽을 결정짓기 때문에 이 요소는 Core Limit과 함께 신중하게 고려되어야 합니다.

 

주요 구성요소

1. partitionning
설계의 효율성을 높이기 위해 전체 설계를 여러 개의 Block으로 나누는 과정입니다. 이는 대규모 설계에서 필수적인 작업이며, 각 Block의 크기, 모양, 핀의 위치 등을 고려해 설계됩니다. Partitioning을 제대로 하지 않으면, 각 블록 간의 배선 복잡도가 높아지며 성능 저하와 전력 소모 증가로 이어질 수 있습니다

2. IO Placement
IO Cell을 배치합니다. 
IO는 Power를 공급하고, 외부 signal과 interface합니다.

3. Macro place
메모리나 IP와 같은 큰 Macro들을 배치하는 단계입니다. 이 단계에서는 향후 Standard Cell이 배치될 공간을 고려해야 하며, 성능에 직접적인 영향을 미치는 메모리나 CPU와 같은 중요한 요소들은 데이터 경로를 따라 적절히 배치해야 합니다.

4.PowerPlaning
IP 및 코어에 적절한 전원을 공급하기 위해 전원 네트워크를 설계하는 과정입니다. 특히 IR Drop을 방지하기 위해 가능한 범위 내에서 전원 배선을 촘촘하게 구성해야 하며, 전력 패드의 간격도 고려해야 합니다. 전력 소모가 많은 Macro에는 추가적인 전원 공급망을 설계하는 것이 필수입니다.

 

고려사항

1. Design Guide 
각 설계마다 주어진 Design Guide에 따라 FloorPlan을 진행해야 합니다. 이 가이드에는 Macro 배치 Rule, Timing constraint, Power Constraint 등 중요한 규칙들이 포함되어 있어, 이를 따르는 것이 효율적인 설계의 첫 걸음입니다.

2. Pin 방향

출처 : Adam Teman

 

Pin이 많은 Macro, 예를 들어 RAM7과 같은 경우, 가장자리에 배치하면 routing 우회하는 경향이 있습니다. 따라서 관련된 Macro 가깝게 배치하는 것이 중요합니다

Pin의 방향은 Routing 복잡도에 큰 영향을 미칩니다. 특히, 핀이 많은 Macro는  Routing deture가 발생하기 쉬우므로, 관련된 Macro와 가깝게 배치하는 것이 중요합니다. 이를 통해 배선 길이를 최소화하고 타이밍 문제를 해결할 수 있습니다.


3. Poly 방향성
Macro의 Power가 Mesh Tyoe이라면 Poly 방향성을 고려합니다.

4. Power 
전력 패드 간의 간격을 적절히 조정하여 전원 공급을 최적화해야 합니다. 전력 소모가 많은 Macro에는 추가적인 전력 공급 경로를 배치해 IR Drop을 방지합니다.

 

 

 

'VLSI' 카테고리의 다른 글

[STA] 1. STA와 Timing Path  (0) 2024.11.27
STA에서 GBA와 PBA  (0) 2024.10.22
Post Mask ECO?(Metal ECO)  (1) 2024.07.22
LEF와 Tech LEF의 차이? (Cell LEF, Site, Row, Track)  (0) 2024.06.23
SDC (Synopsys Design Constraint)  (1) 2024.06.05