물리 플로어플랜

pccx v002 물리 플로어플랜

그림 2 Figure 2. pccx v002 의 물리 플로어플랜. L2 Cache 가 중앙에 배치되어 상하 대칭으로 배치된 GEMV·SFU 뱅크와 양측에 위치한 시스톨릭 어레이에 액티베이션을 공급합니다.

1. 대칭형 배치 전략

pccx v002 의 핵심 물리적 특징은 중앙 공유 L2 캐시 + 대칭 컴퓨트 슬라이스 구조입니다.

  • 중앙 L2 캐시: 플로어플랜의 기하학적 중심에 배치되어, 상하 슬라이스가 동일한 레이턴시로 액티베이션에 접근합니다.

  • 상하 대칭 슬라이스: 각 슬라이스에는 32×1 GEMV 코어 2 개 (양 슬라이스 합 4 개) 와 코어별 Constant Cache, L1 Cache 가 포함됩니다. 디코딩 단계에서 두 슬라이스가 병렬로 서로 다른 배치 / 헤드 또는 multi-query 를 처리할 수 있습니다. SFU 는 단일 인스턴스로 두 슬라이스 사이에 배치되어, 양쪽 GEMV↔SFU 직결 FIFO 의 배선 길이를 대칭으로 유지합니다.

  • 우측 시스톨릭 어레이: 32×32 GEMM 코어 1 개 (cascade 가 16 행에서 끊겨 32×16 서브체인 2 개로 나뉨) 가 프리필 단계의 대규모 GEMM 을 담당합니다.

2. 버스 구조

버스

용도

WEIGHT BUS

Weight Buffer → GEMM/GEMV 코어의 파이프라인 레지스터로 가중치 브로드캐스트. 파이프라인 레지스터(Pipeline REG - WEIGHT BUS) 가 각 뱅크 직전에 배치되어 타이밍을 완화.

ACTIVATION BUS

L2 Cache ↔ GEMV / SFU / Systolic Array. 수직 축으로 중앙 L2 에서 상하로 분배되며, 양방향 기록/판독이 가능.

AXI DMA HP Port [2, 3]

상단·하단 슬라이스 각각이 독립적인 HP 포트를 통해 호스트 DDR4 로부터 가중치를 스트리밍. 256 bit/clk @ 250 MHz 의 유효 대역폭.

3. 캐시 뱅크 구성

각 슬라이스 내부의 캐시는 기능별 분할 됩니다.

캐시

용도

설명

L1 Cache

코어 로컬

GEMV 연산의 직접 액세스용. 코어당 private.

Constant Cache

상수 저장

ISA 의 shape/size 포인터, weight scale factor 등 저장. MEMSET 으로 프리셋.

L2 Cache

중앙 공유

액티베이션, KV 캐시, 중간 결과. 양측 슬라이스가 동시 접근.

Weight Buffer

가중치 스트림

순환 큐 형태로 HP 포트에서 스트리밍된 INT4 가중치 일시 저장.

4. 물리 설계상의 고려사항

4.1 라우팅 대칭성

L2 Cache 와 상·하 슬라이스 간 배선 길이를 대칭화하여, 두 슬라이스의 액티베이션 접근 레이턴시를 동일하게 유지합니다. 이는 소프트웨어 측에서 양 슬라이스를 대칭적 작업 분할(symmetric work partitioning) 에 매핑하기 위한 전제입니다.

4.2 DSP 슬라이스 집중 배치

KV260 의 1,248 개 DSP48E2 중 대부분이 우측 시스톨릭 어레이 영역에 배치되며, GEMV 및 SFU 뱅크는 LUT/BRAM 기반 연산으로 DSP 사용을 최소화합니다. 자세한 배치는 리소스 활용 섹션 (추후 합성 결과 반영) 에서 다룹니다.

4.3 BRAM/URAM 배분

  • L2 Cache: URAM 기반 (64 개 중 ~50 개; 1.75 MB 전체).

  • L1 / Constant Cache: BRAM 기반 (144 개 중 ~140 개).

  • Weight Buffer: URAM 기반 FIFO (HP 포트 당 4096 깊이 × 4 채널).

참고

리소스 사용량은 generate 파라미터에 따라 변동됩니다. KV260 기준 권장 구성은 타겟 하드웨어: Xilinx Kria KV260 참조.