
AI
Chip Placement on FPGA 프로젝트를 소개합니다!
두줄요약
FPGA의 소자 배치를 강화학습으로 자동화하기 위한 환경과 에이전트 구조를 소개했습니다.\nGrid·Mask·보상·그래프 임베딩 설계에서의 도메인 특화 고려사항을 정리했습니다.
문제 상황
- FPGA의 Netlist 연결 그래프를 입력으로 받아 소자 물리 위치를 결정하는 Placement 자동화 과제
- 작은 Netlist에서 Macro 2개만 배치하는 기존 논문 조건 대신 72개 Macro·Standard Cell 전체 배치
구조와 흐름
- Python 기반 FPGA 유사 강화학습 환경과 State Encoder·Policy로 구성된 에이전트
- Grid Cell 선택 뒤 해당 영역의 배치 가능 BEL을 임의 매핑하고, 소자 타입별 Mask 적용
- Macro Feature·Netlist Graph·Congestion Map·타입별 Mask를 Observation으로 제공
선택 이유
- 실제 보드 구동 검증이 가능한 FPGA와 Xilinx U250 Board 활용
- 느린 Vivado 시뮬레이션과 에이전트 연결 부담 대신 Python 학습 환경 개발
- Netlist 그래프 처리에 적합한 반복적 노드·엣지 Embedding 갱신 구조 채택
주의할 점
- Wire Length와 Routing Congestion을 함께 반영하는 Reward 설계 필요
- 활성화 함수 부재 시 Embedding 미수렴 문제
- 낮은 수렴 임곗값의 과도한 연산·PyTorch 계산 그래프 누적에 따른 OOM 위험
