소개
이 페이지는 Xillybus 또는 XillyUSB를 시작하는 방법에 대한 간략한 요약입니다. 이것은 일반적으로 많은 지침이 필요하지 않은 빠르고 간단한 절차입니다. 그러나 다른 FPGAs간에는 약간의 차이가 있습니다.
여기서는 가장 일반적인 사용 사례와 최신 FPGAs 만 다룹니다. 이 페이지의 정보가 명백히 부족한 경우 보다 자세하고 구체적인 정보가 포함된 Xillybus의 설명서 페이지를 참조하십시오.
절차가 약간 다르기 때문에 여기서는 Xillinux에 대해 설명하지 않겠습니다.
개요
Xillybus를 시작하는 세 단계가 있습니다.
- demo bundle에서 FPGA 용 bitstream 파일 생성.
- 컴퓨터에 driver 설치(종종 필요하지 않음).
- 컴퓨터에서 Xillybus가 작동하는지 보여주는 간단한 테스트를 수행합니다( Linux 및 Windows에 대한 별도의 페이지에서 설명).
나중에 IP Core Factory 에서 맞춤형 IP core를 생성할 수 있습니다 . 이렇게 하면 streams를 원하는 만큼 선택할 수 있습니다. 그러나 그것에 도달하기 전에 demo bundle을 사용해 보면 Xillybus 의 작동 방식을 이해하는 데 도움이 될 것입니다.
Xillybus 대 XillyUSB
XillyUSB사용을 고려 중이라면 현실적인 옵션인 경우 Xillybus for PCIe를 대신 선택하는 것이 좋습니다. PCIe bus는 USB보다 훨씬 강력합니다.
XillyUSB는 FPGA가 물리적으로 컴퓨터 외부에 있어야 하는 경우에만 선택해야 합니다(예: 랩톱을 host로 사용하는 경우).
demo bundle 및 소프트웨어 다운로드
Xillybus의 웹사이트에서 다운로드할 수 있는 모든 기능은 완벽하게 작동합니다. 여기에는 IP Core Factory 의 IP cores 와 demo bundles가 포함됩니다. activation code 나 그와 유사한 것을 요청할 필요가 없습니다. 그러나 IP core를 사용할 수 있는 법적 권한은 다음과 같이 제한됩니다. IP core는 평가용으로만 사용할 수 있습니다. 그 후에 IP core를 합법적으로 계속 사용하려면 라이센스를 구입해야 할 수 있습니다. 따라서 조건을 이해 했는지 확인하십시오.
파일 다운로드를 위한 두 개의 개별 웹 페이지가 있습니다. PCIe를 사용하는Xillybus 의 경우 및 XillyUSB 의 경우. 해당 웹 페이지로 이동하여 다음 항목을 다운로드합니다.
- board를 위한 demo bundle .
- Linux 또는 Microsoft Windows용 driver . Linux를 사용 중이고 driver가 Linux distribution의 일부인 경우에도 이 작업을 수행하십시오.
- Windows 사용자만 해당: Xillybus package for Windows.
- XillyUSB 의Windows 사용자만 해당: diagnostic utility for Windows.
이러한 모든 파일은 .zip 또는 .tar.gz 형식입니다. 따라서 콘텐츠의 uncompression을 디스크에 저장하는 것으로 시작하십시오.
board가 demo bundles목록에 없으면 이 demo bundle에서 수정해야 합니다. 동일한 FPGA family를 기반으로 하는 demo bundle을 선택하고 Xilinx 또는 Intel FPGA설명서의 지침을 따르십시오.
다음 단계는 AMD / Xilinx 와 Altera (이전에는 Intel FPGA)가 다릅니다.
AMD / Xilinx용 bitstream 만들기
컴퓨터에 Vivado를 설치해야 합니다. 설명서에는 각 FPGA에 적합한 versions 목록이 포함되어 있습니다. 하지만 이미 Vivado를 설치했다면 사용해 보세요. Vivado의 version이 적합하지 않으면 아래에 자세히 설명된 절차가 실패합니다. 새로운 version이 필요하다는 오류가 발생합니다. 이러한 오류가 발생하지 않으면 version 또는 Vivado는 정상입니다.
다음은 bitstream 파일을 만드는 단계입니다.
- Vivado내부에서 Tools > Tcl Script…를 선택하고 xillydemo-vivado.tcl을 찾습니다. 이 파일은 이름이 verilog/ 또는 vhdl/인 subdirectory 에 있습니다. 당신은 아마 당신이 선호하는 것을 알고 있습니다. 잘 모르겠다면 verilog/을 선택하세요.
- Vivado는 응답으로 새로운 FPGA project를 생성합니다. Vivado의 Tcl console은 "INFO: Project created: xillydemo"라고 표시됩니다.
- 그런 다음 "Generate Bitstream"를 클릭합니다.
- Vivado는 프로젝트의 implementation을 실행하여 응답합니다. 이 프로세스가 끝나면 사용할 준비가 된 bitstream 파일이 있습니다. 이 파일의 이름은 xillydemo.bit입니다.
Vivado는 implementation중에 여러 개의 warnings를 생성하지만 Critical Warnings 나 errors는 없어야 합니다.
자세한 설명은 이 문서에 있습니다. Getting started with the FPGA demo bundle for Xilinx . Vivado는 Virtex-5, Spartan-6 및 Virtex-6에서 작동하지 않습니다. 이러한 FPGAs중 하나를 사용하는 경우 이 문서를 참조하십시오.
Tcl script없이 FPGA project를 만들려고 하지 마십시오. 새 project를 만들고 source files를 가져오려고 하면 제대로 작동하지 않을 수 있습니다.
Altera용 bitstream 만들기
컴퓨터에 Quartus를 설치해야 합니다. 설명서 에는 각 FPGA에 적합한 versions 목록이 포함되어 있습니다. 하지만 이미 Quartus를 설치했다면 사용해 보세요. Quartus의 version이 적합하지 않으면 아래에 자세히 설명된 절차가 실패합니다. 새로운 version이 필요하다는 오류가 발생합니다. 이러한 오류가 발생하지 않으면 version 또는 Quartus는 정상입니다.
다음은 bitstream 파일을 만드는 단계입니다.
- "xillydemo.qpf" 파일을 두 번 클릭합니다. 이 파일은 verilog/ 또는 vhdl/라는 이름으로 subdirectory 에 있습니다. 당신은 아마 당신이 선호하는 것을 알고 있습니다. 잘 모르겠다면 verilog/을 선택하세요.
- Quartus는 응답으로 FPGA project를 엽니다.
- "Compile Design"를 클릭합니다.
- Quartus는 프로젝트의 implementation을 실행하여 응답합니다. 이 프로세스가 끝나면 사용할 준비가 된 bitstream 파일이 있습니다. 이 파일의 이름은 xillydemo.sof입니다.
Quartus는 implementation실행 중에 여러 번 경고를 발생시키지만 Critical Warnings 나 errors는 발생하지 않아야 합니다.
자세한 설명은 이 문서에 있습니다. Getting started with the FPGA demo bundle for Intel FPGA . FPGA가 series-V 보다 이전 버전(예: Cyclone IV)인 경우 절차가 약간 더 깁니다. 자세한 내용은 이 문서를 참조하십시오.
Microsoft Windows용 driver 설치
Windows 용Xillybus의 driver는 표준 방식으로 설치됩니다. FPGA board가 들어 있는 컴퓨터를 시작합니다. 컴퓨터를 켜기 전에 Xillybus가 들어 있는 bitstream을 FPGA 에 로드해야 합니다.
먼저 driver가 포함된 Zip archive를 로컬 디스크에 엽니다. 이 파일은 demo bundle의 다운로드 페이지에서 찾을 수 있습니다. 이 파일의 이름은 xillybus-windriver-1.2.0.0.zip와 같습니다.
Device Manager내부에는 "Other Devices" 아래에 나열된 device가 있어야 합니다. 이 device의 icon은 device가 제대로 설치되지 않았음을 나타냅니다(느낌표 표시). 이 icon을 마우스 오른쪽 버튼으로 클릭하고 "Update Driver Software…"를 선택합니다. 컴퓨터에서 파일을 선택하도록 선택합니다("Browse my computer for driver software"). 그런 다음 이름이 "xillybus-windriver-1.2.0.0"(또는 유사)인 directory를 선택합니다. "Next"를 클릭한 다음 "Install"를 클릭합니다.
driver를 제대로 설치하면 Device Manager에 "Xillybus"라는 이름의 새 그룹이 생성됩니다. 이 그룹 안에는 제목이 "Xillybus driver for generic FPGA interface"인 device가 있습니다. device의 icon은 오류를 표시하지 않아야 합니다(즉, 이 icon에 느낌표가 없음).
XillyUSB를 사용하는 경우 device는 "Universal Serial Bus controllers"라는 그룹 아래에 나타나고 driver는 xillyusb-windriver-1.1.2.0-win10.zip에 있습니다.
이 설치 절차는 Windows용 가이드 의 screenshots 에 대해 자세히 설명되어 있습니다.
Windows용 driver를 설치한 후 다음 단계는 간단한 테스트를 수행하는 것입니다. 이것은 별도의 페이지 에 설명되어 있습니다.
Linux용 driver 설치(?)
Xillybus의 driver는 많은 desktop computers용 Linux distributions 에 포함되어 있습니다. 따라서 Fedora, Ubuntu 또는 Mint를 사용하고 있다면 Xillybus의 driver가 컴퓨터에 이미 설치되어 있을 것입니다.
driver가 이미 설치되어 있는지 확인하려면 shell prompt에 다음을 입력하십시오.
$ modinfo xillybus_core
응답이 여러 줄의 출력인 경우: driver는 이미 설치되어 있으므로 아무 것도 할 필요가 없습니다. 대답이 "modinfo: ERROR: Module xillybus_core not found"인 경우에만 driver를 설치해야 합니다.
XillyUSB를 사용하고 싶으시다면 command를 사용하세요.
$ modinfo xillyusb
driver가 이미 설치되어 있더라도 Xillybus의 udev 파일을 설치하는 것이 좋습니다. 이 페이지 하단을 참조하십시오. 이것을 건너뛰고 간단한 테스트 로 바로 이동할 수도 있습니다.
driver가 설치되지 않은 경우 두 가지 옵션이 있습니다.
- driver를 kernel module로 설치. 이를 수행하는 방법은 아래에 설명되어 있습니다. 이 옵션은 kernel을 직접 준비하지 않은 경우에 적합합니다(예: distribution 또는 BSP (Board Support Package)의 일부로 kernel을 받은 경우).
- kernel tree내부에 있는 driver를 활성화합니다. 이 방법은 전체 kernel의 compilation이 필요합니다. kernel compilation이 작업 절차의 일부인 경우 이것이 더 쉬운 방법입니다. 관련 flags는 CONFIG_XILLYBUS 및 CONFIG_XILLYBUS_PCIE (또는 CONFIG_XILLYUSB)입니다.
Xillybus 용 driver는 version v3.12이후의 Linux kernel tree 의 일부입니다. kernel의 version is v4.6 이상인 경우 driver를 업그레이드할 이유가 없습니다. 그 version 이후로 의미 있는 변화는 없었습니다(코딩 스타일만 변경). XillyUSB 용 driver가 Linux v5.14에 추가되었습니다.
Linux 시작에 대한 자세한 내용은 관련 가이드 에서 확인할 수 있습니다.
kernel module의Compilation
Xillybus의 kernel module 중 compilation을 사용하려면 compilation을 수행하는 컴퓨터에 세 가지가 이미 설치되어 있어야 합니다.
- gcc compiler
- "make"
- Xillybus와 함께 사용되는 kernel 용 kernel headers
Linux에 대한 관련 가이드는 이러한 요소가 설치되어 있는지 확인하는 방법과 그렇지 않은 경우 설치하는 방법을 제안합니다.
driver 의 compilation은 다음과 같이 수행됩니다.
$ tar -xzf xillybus.tar.gz $ cd xillybus/module/ $ make make -C /lib/modules/4.15.0/build M=/home/01signal/xillybus/module modules make[1]: Entering directory '/usr/src/linux-headers-4.15.0' CC [M] /home/01signal/xillybus/module/xillybus_core.o CC [M] /home/01signal/xillybus/module/xillybus_pcie.o Building modules, stage 2. MODPOST 2 modules CC /home/01signal/xillybus/module/xillybus_core.mod.o LD [M] /home/01signal/xillybus/module/xillybus_core.ko CC /home/01signal/xillybus/module/xillybus_pcie.mod.o LD [M] /home/01signal/xillybus/module/xillybus_pcie.ko make[1]: Leaving directory '/usr/src/linux-headers-4.15.0'
kernel modules를 설치하려면 "make install"를 입력합니다( root필요).
다음에 kernel이 bus에 있는 Xillybus device 로 시작하면 driver가 자동으로 로드됩니다. insmod를 사용하여 driver를 수동으로 로드하는 것도 가능합니다.
embedded Linux device 에서 Xillybus를 사용하려는 사용자는 cross compiler을 사용해야 할 수도 있습니다. embedded kernel 와 관련된 kernel headers 도 이 상황에서 필요합니다.
"make install"를 사용하지 않으려면 동일한 작업을 수동으로 수행할 수 있습니다. module 파일을 kernel modules가 포함된 directory 로 복사합니다. 이 directory 의 이름에는 Xillybus와 함께 실행될 kernel 의 version 번호가 포함되어야 합니다.
예를 들어,
# cp xillybus_core.ko /lib/modules/4.15.0/kernel/drivers/char/ # cp xillybus_pcie.ko /lib/modules/4.15.0/kernel/drivers/char/
그런 다음 depmod를 실행하여 kernel이 새 modules를 인식하도록 합니다. 예를 들어:
# depmod -a 4.15.0-20
udev file (Linux)
driver가 이미 설치되어 있어도 Xillybus의 udev file을 설치하는 것을 권장합니다. 이를 통해 root user가 아닌 Xillybus 에 액세스할 수 있습니다. 이 파일은 driver (xillybus.tar.gz 또는 xillyusb.tar.gz)를 포함하는 패키지의 일부입니다.
Xillybus를 위한 udev file 의 설치는 이 command (또는 유사한 것)로 구성됩니다. root user로서:
# cp 10-xillybus.rules /etc/udev/rules.d/
작동 되나요?
다음 단계는 모든 작업을 올바르게 수행했는지, Xillybus가 하드웨어에서 작동하는지 확인하는 것입니다. 이를 수행하는 방법은 Linux 및 Windows에 대해 별도로 표시됩니다.