2014-12-18 6 views
0

저는 VHDL을 처음 사용하고 프로젝트에 문제가 생겼습니다. 한 통신 프로토콜을 다른 통신 프로토콜로 변환하는 FPGA를 만들려고하는데,이 목적을 위해 변환하기 전에 여러 패킷을 저장하는 것이 유용 할 것입니다.스파르탄 6 SP605 VHDL 외부 램 사용?

이 데이터를 배열에 저장하려고하기 전에 FPGA에서 너무 많은 공간을 차지한다는 것이 빠르게 나타났습니다. 따라서 SP605 보드의 DDR3 램에 데이터를 저장하는 방법을 찾고있었습니다 (http://www.xilinx.com/support/documentation/boards_and_kits/xtp067_sp605_schematics.pdf, 9 페이지). 그러나 나는 이것으로부터 데이터를 쓰거나 읽는 방법에 대한 지침을 찾을 수 없다. 나중에 액세스 할 수있는 클럭주기 당 하나의 8 비트 std_logic_vector 저장하려면 노력하고있어.

진행 방법에 대해 누구에게 조언 할 수 있습니까?

+0

기본 IP 코어를 사용할 수있는 자일링스 ISE/Vivado 라이센스가 있습니까? – Paebbels

+0

[스파르탄 -6 FPGA 메모리 컨트롤러 사용자 가이드] (http://www.xilinx.com/support/documentation/user_guides/ug388.pdf) (UG388), 물론 샘플 구현 보드 2 개, UG526 및 UG527. – user1155120

+0

기본 IP 코어를 사용할 수 있어야합니다. 링크를 제공해 주셔서 감사 드리며이를 구현하기 위해 UG486 및 UG486을 읽어 보겠습니다. –

답변

1

자일링스는 IP 코어 생성기를 제공합니다. 이 IP 카탈로그에는 서로 다른 메모리 유형에 액세스하기 위해 IP 코어를 생성하는 메모리 인터페이스 생성기 (MIG)가 포함되어 있습니다. 이 코어를 DDR3 용으로 구성하십시오.

DDR3 컨트롤러를 VHDL로 작성하는 것은 경험이 많은 디자이너가 아닌 초보자를위한 프로젝트가 아닙니다. 상태 머신은 간단하고 잘 알려져 있지만 보정 로직은 매우 비쌉니다.

매주기마다 DDR 메모리에 액세스 할 수 없으므로 캐싱 또는 버스트 읽기/쓰기 기술을 고려해야합니다.

+0

및 [Virtex-6 FPGA 메모리 인터페이스 솔루션 사용 설명서] (http://www.xilinx.com/support/documentation/ip_documentation/mig/v3_92/ug406.pdf) (UG486), 시작하는 방법을 알려줍니다 . – user1155120

+0

두 분 모두 도와 주셔서 감사합니다. 이제 IP 코어를 생성하고 이러한 문서를 철저히 검토하는 방법에 대해 알아 보겠습니다. –