소개
이 페이지는 커스텀 IP 코어(custom IP core)를 위한 빠른 시작 가이드입니다. 커스텀 IP 코어에 대한 자세한 내용은 커스텀 Xillybus IP 코어 정의하기 가이드에서 확인할 수 있습니다.
Xillybus로 시작하는 올바른 방법은 별도 페이지에 설명되어 있습니다. 특히 FPGA용 시작 프로젝트는 데모 번들(demo bundle)이며, Xillybus 웹 사이트에서 내려받을 수 있습니다.
더 진행한 뒤에는 IP 코어를 수정하고 싶을 수 있습니다. 예를 들어 여러분의 애플리케이션에 맞는 스트림을 여러 개 추가하고 싶을 수 있습니다. 이것이 IP Core Factory의 목적입니다. IP Core Factory는 여러분의 필요에 따라 커스텀 IP 코어를 만들 수 있는 웹 애플리케이션입니다. 이 도구로 IP 코어를 구성한 뒤, IP Core 번들을 zip 파일로 내려받게 됩니다.
IP 코어 파라미터의 의미는 커스텀 Xillybus IP 코어 정의하기 가이드에 자세히 설명되어 있습니다.
모든 커스텀 IP 코어에는 동일한 Linux 또는 Microsoft Windows 드라이버가 동작한다는 점에 유의하십시오. 드라이버는 초기화할 때 IP 코어 자체로부터 IP 코어에 관한 정보를 얻습니다. 따라서 드라이버를 처음 설치한 뒤에는 컴퓨터에 새로 설치할 것이 없습니다.
또한 IP Core Factory에서 내려받은 zip 파일을 사용하려면 이에 맞는 데모 번들이 필요합니다. 이는 별도 페이지에서 권장한 대로 데모 번들로 시작하는 이유 중 하나이기도 합니다.
커스텀 IP 코어를 데모 번들에 통합하기
IP Core Factory에서 커스텀 IP 코어를 내려받은 뒤에는 이 IP 코어가 포함되도록 데모 번들을 수정해야 합니다. 아래에 나열된 몇 가지 간단한 단계가 필요합니다.
비슷한 설명이 README.TXT에도 들어 있습니다. README.TXT는 IP Core Factory의 zip 파일에 포함되어 있습니다. 이 README 파일에는 그 밖의 유용한 정보도 담겨 있습니다.
- Core ID는 다섯 자리 숫자입니다. 이 숫자는 IP 코어의 고유 식별자입니다. 가격 견적을 요청할 때는 Core ID를 언급해야 합니다.
- IP 코어의 디바이스 파일 목록이 나와 있으며, 각 디바이스 파일의 기술적 세부 사항도 함께 표시됩니다. 이것이 IP 코어의 실제 특성에 대한 정확한 정보입니다.
커스텀 IP 코어를 데모 번들에 통합하려면 다음 단계를 따르십시오.
- 데모 번들에 있는 두 파일, 즉 xillybus.v와 xillybus_core.v(또는 xillybus_xl_core.v / xillybus_xxl_core.v)를 IP 코어 번들의 해당 파일로 교체하십시오.
- IP 코어 자체도 교체하십시오. 이 파일은 데모 번들의 core/ 하위 디렉터리에 있습니다. 교체할 파일은 xillybus_core.ngc, xillybus_core.edf, xillybus_core.qxp 또는 xillybus_core.vqm과 같은 이름을 가집니다.
- 원하는 애플리케이션을 이 커스텀 IP 코어와 통합하려면 xillydemo.v(또는 xillydemo.vhd)를 편집하십시오. 안내를 보려면 IP 코어 번들에 포함된 “instantiation templates” 디렉터리를 살펴보십시오. template.v(또는 template.vhd) 파일에는 따르면 되는 인스턴스화 템플릿(instantiation template)이 들어 있습니다.
인스턴스화 템플릿에는 FIFO가 없다는 점에 유의하십시오. 그렇지만 Xillybus IP 코어와의 데이터 교환에는 데이터 수집(data acquisition) 페이지에서 제안한 대로 FIFO를 사용하는 것이 좋습니다.
일반 지침
다음은 커스텀 IP 코어 작업 시 시간을 절약할 수 있는 일반적인 조언 목록입니다.
- 커스텀 Xillybus IP 코어 정의하기 가이드를 읽으십시오.
- IP Core Factory에서 “Autoset internals” 옵션을 사용하십시오. 이 옵션을 끌 수 있는 기능은 경험이 많은 Xillybus 사용자를 위한 것입니다. 그렇지 않은 경우에는 웹 도구가 자동으로 내린 결정이 더 나을 가능성이 높습니다.
- 그럼에도 README 파일을 읽고 웹 도구가 어떤 결정을 내렸는지 확인하십시오.
- 특히 각 DMA 버퍼의 크기와 전송하려는 데이터 사이에는 아무런 관계가 필요하지 않습니다. 이런 관계를 만들고 싶다는 생각이 든다면 데이터 수집(data acquisition)에 관한 설명이 도움이 될 수 있습니다.
- IP Core Factory의 드롭다운 메뉴에서 애플리케이션에 가장 잘 맞는 “Use” 항목을 선택하십시오. 이 선택은 해당 디바이스 파일이 동기(synchronous) 스트림인지 비동기(asynchronous) 스트림인지 등에 영향을 줍니다. 이러한 용어는 다른 페이지에 간략히 설명되어 있으며, 문서에는 더 자세히 설명되어 있습니다.