序章
このページは、 XillybusまたはXillyUSBを使い始める方法を簡単にまとめたものです。これは通常、多くのガイダンスを必要としない、迅速で簡単な手順です。ただし、 FPGAsごとに若干の違いがあります。
ここでは、最も一般的なユース ケースと最新の FPGAs のみを扱います。このページの情報が明らかに不足している場合は、より詳細で具体的な情報が含まれているXillybusのドキュメント ページを参照してください。
Xillinuxの手順は少し異なるため、ここでは説明しません。
概要
Xillybusを使い始めるには、次の 3 つの手順があります。
- 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の Web サイトからダウンロードできるものはすべて、完全に機能します。これには、IP Core Factoryおよび demo bundlesからの IP cores が含まれます。 activation code などを要求する必要はありません。ただし、 IP core を使用する法的許可は制限されています。 IP core は評価目的でのみ使用できます。その後、 IP core を合法的に使用し続けるには、ライセンスの購入が必要になる場合があります。そのため、条件を理解していることを確認してください。
ファイルをダウンロードするための 2 つの別個の Web ページがあります。 PCIeを使用するXillybus の場合、およびXillyUSBの場合。関連する Web ページに移動し、次の項目をダウンロードします。
- 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 がインストールされていない場合は、次の 2 つのオプションがあります。
- 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を実行するコンピューターに次の 3 つが既にインストールされている必要があります。
- 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が必要です)。
driver は、 bus上に存在する Xillybus device で kernel が次回起動したときに自動的にロードされます。 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について別々に示されています。