OpenHBMC: Xilinx 7-series FPGA용 고성능 HyperBus 메모리 컨트롤러
요약
OpenHBMC는 Xilinx 7-series FPGA를 위한 오픈 소스 AXI4 기반의 고성능 HyperBus 메모리 컨트롤러 IP 코어입니다. 이 코어는 HyperRAM 1.0 및 2.0을 지원하며, 최대 64비트 주소 폭과 200MHz의 높은 클럭 속도를 구현했습니다. Vivado 블록 디자인 통합이 용이하도록 패키징되어 개발 편의성을 높였습니다.
핵심 포인트
- Xilinx 7-series FPGA용 오픈 소스 메모리 컨트롤러입니다.
- AXI4 기반으로 HyperRAM 1.0/2.0을 지원하며, 최대 64비트까지 확장 가능합니다.
- 최대 200MHz의 고성능 클럭 속도를 달성했습니다.
- Vivado 환경에서 IP 코어 통합 및 사용이 간편하도록 설계되었습니다.
OpenHBMC
OpenHBMC는 Xilinx 7-series FPGA를 위한 오픈 소스 AXI4 기반의 고성능 HyperBus 메모리 컨트롤러입니다.
IP 코어는 Vivado 2020.2 블록 디자인 통합이 쉽도록 패키징되었습니다.
기능 (Features):
- HyperRAM 1.0 및 HyperRAM 2.0 지원
- 3.3V 및 1.8V 전원 모드 지원
- 16/32/64비트 AXI4 데이터 폭 지원
- 최대 64비트까지의 AXI4 주소 폭 지원
- 모든 AXI4 버스트 유형 및 크기 지원:
- AXI4 INCR 버스트: 최대 256 데이터 비트(긴 전송은 최대 CS# Low 제한을 충족하도록 부분으로 자동 분할됨)
- AXI4 FIXED 버스트는 INCR 버스트 유형으로 처리됨
- AXI4 WRAP 버스트: 2, 4, 8, 16 데이터 비트
- 최대 200MHz의 HyperBUS 주파수 지원
- 새로운 DRU(data recovery module)와 함께 별도의 보정 작업이 필요하지 않음
- 리소스 활용률: 781-LUT, 975-FF, 1-RAMB36E1 (RAMB36E1 = 2 x RAMB18E1)
사용 방법 (How to use):
- OpenHBMC 폴더와 모든 파일을 로컬 IP-repo 디렉터리로 다운로드하고 복사합니다.
- Vivado를 열고 Tools - Settings - IP - Repository로 이동하여, "+" 버튼을 클릭해 IP-repo 디렉터리 경로를 추가한 후, "Refresh All"을 클릭합니다.
- 이제 OpenHBMC가 IP-catalog에 나타나며, 독립형 또는 블록 디자인 통합 모두에서 사용 가능할 수 있습니다.
상태 (Status):
- 실제 하드웨어(Spartan-7 + W956D8MBYA5I)에서 200MHz로 메모리 테스트를 성공적으로 통과함 (즉, < 400MB/s)
- 여러 AXI 트래픽 생성기를 사용하여 부하 테스트를 진행 중입니다.
TODO:
200MHz HyperBus 클럭 주파수 달성.완료.고급 RWDS 스트로브 지연 보정 절차 추가.완료. 더 이상 보정이 필요하지 않습니다.Hello World 예제 프로젝트.완료.- HyperRAM 버스 활용을 극대화하기 위해 명령어 큐잉(command queuing) 추가.
- Xilinx FIFO IP 코어를 사용자 정의 FIFO로 교체.
- 설정 레지스터 접근을 위한 AXI4-Lite 슬레이브 포트 추가.
- 메모리 대역폭 증가를 위한 다중 뱅크(common data bus) 모드 추가. 듀얼 또는 쿼드 랭크 모드?
- HyperFlash 지원 추가.
- 형식 검증(Formal verification).
기부:
이러한 종류의 프로젝트가 가능하게 하는 것은 여러분의 지원 덕분입니다! =)
<p align="left"> <img src="https://raw.githubusercontent.com/OVGN/OpenHBMC/HEAD/OpenHBMC/data/wallets.png"> </p>AI 자동 생성 콘텐츠
본 콘텐츠는 GitHub ML Hardware의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기