HTLAB.NET Efinix ダウンロードケーブル
Trion FPGA コンフィギュレーション方法 を踏まえて、作成した Efinix ダウンロードケーブルを紹介します。
ダウンロードケーブルの使用方法から解説します。
作り方についてはページ下部をご覧ください。
必要なファイルのダウンロード
GitHubを使用して開発をしているため、以下に置いてあります。
こちらのリンクからファイルをダウンロードしておきます。
このようにクリックするとGitが無くてもZIP形式でダウンロードできます。
その場合は解凍してわかりやすいディレクトリに置いてください。
ドライバのインストール方法(Windows)
Efinix ダウンロードケーブルをコンピュータと接続し、ドライバのインストールを行います。
デバイスマネージャーを開くと「ほかのデバイス」に「HTLAB.NET Efinix Download Cable」というデバイスが複数見えると思います。
(それ以外の場所に見える場合は、既に別のドライバが当たっている可能性があるので、後述の通りアンインストールします)
表示されている「HTLAB.NET Efinix Download Cable」全てに対してドライバをインストールします。
右クリックで「ドライバーの更新」を開きます。
「コンピューターを参照してドライバーを検索(R)」をクリックし、ダウンロードしたGitHubのレポジトリ内、Driverフォルダを指定して次に進みます。
(サブフォルダーを検索する(I)にチェックを入れてください)
ドライバのインストールが終わるまで待ちます。
全ての「HTLAB.NET Efinix Download Cable」デバイスに対して繰り返しドライバのインストールを行います。
このように、「libusb-win32 devices」が増えます。
これでドライバのインストールが完了しました。
もし、ドライバのインストールがうまくいかない場合は、Zadigを使用してインストールを行います。
「libusb-win32」のドライバをインストールします。
ドライバのアンインストール方法(Windows)
何らかの理由でドライバを削除する場合や、別のドライバが当たってしまっている場合の対処法です。
デバイスを探し、右クリック、「デバイスのアンインストール(U)」を選択します。
必ず、「このデバイスのドライバーを削除しようとしました。」にチェックを入れて、アンインストールボタンをクリックします。
全ての「HTLAB.NET Efinix Download Cable」デバイスに対して繰り返し実行します。
次回、接続しなおしたときには、ドライバが適用されていない状態になっているはずです。
(注意:Zadigを使用してドライバを USB Serial (CDC) に変更しても、FTDI社のドライバに変更したことにはなりません。必ずアンインストールしましょう)
パッチの適用方法(Windows)
次に Efinity IDE にパッチを適用します。
パッチを適用しないと Efinity IDE でダウンロードケーブルが認識されませんので、必ずパッチを当てる必要があります。
パッチを当てる前に Efinity IDE は必ず終了させておきます。
WinMergeのインストール
パッチ中で、WinMerge(内のPatchコマンド)を使用します。
WinMerge をダウンロードしてインストールしておきます。
この例では、 WinMerge-2.16.38-x64-Setup.exe を使用しています。
インストールしておくだけで特別操作は必要ありません。
パッチの実行
ダウンロードしたGitHubのレポジトリ内、Efinity_Patchフォルダを開きます。
バージョンごとにパッチファイルが分かれているため、対象のバージョンのフォルダを開きます。
「Windows_Apply_Patch_WinMerge.bat」をダブルクリックで実行します。
管理者権限が要求されるので、変更を許可して進むと、このような表示になりパッチが完了します。
バッチファイルの詳細
詳しくはバッチファイルをテキストエディタで見てもらえればわかります。
行っていることは単純です。
- C:\Efinity\(バージョン)\pgm\bin\efx_pgm\efx_hw_common\boards\htlab_download_cable_ft232.json
- C:\Efinity\(バージョン)\pgm\bin\efx_pgm\efx_hw_common\boards\htlab_download_cable_ft2232.json
- C:\Efinity\(バージョン)\pgm\bin\efx_pgm\efx_hw_common\boards\htlab_download_cable_ft4232.json
以上のファイルは新規にコピーを行っています。
- C:\Efinity\(バージョン)\pgm\bin\efx_pgm\usb_resolver.py
以上のファイルはパッチを当てています。
バックアップファイルは「C:\Efinity\(バージョン)\pgm\bin\efx_pgm\usb_resolver.py.orig」にあります。
パッチのアンインストール
- C:\Efinity\(バージョン)\pgm\bin\efx_pgm\efx_hw_common\boards\htlab_download_cable_ft232.json
- C:\Efinity\(バージョン)\pgm\bin\efx_pgm\efx_hw_common\boards\htlab_download_cable_ft2232.json
- C:\Efinity\(バージョン)\pgm\bin\efx_pgm\efx_hw_common\boards\htlab_download_cable_ft4232.json
- C:\Efinity\(バージョン)\pgm\bin\efx_pgm\usb_resolver.py
上記4ファイルを削除します。
その後、「C:\Efinity\(バージョン)\pgm\bin\efx_pgm\usb_resolver.py.orig」を「C:\Efinity\(バージョン)\pgm\bin\efx_pgm\usb_resolver.py」に名前変更します。
Efinix ダウンロードケーブルの使用方法
ドライバのインストールと、パッチがうまくいっていれば、プログラマーから「HTLAB.NET Efinix Download Cable」が見えると思います。
SPI ActiveモードとJTAGモードを簡単にテストしていますが、SPI ActiveモードからJTAGモードへの切り替えがうまくいかない場合がありました。
エラーが出る場合は、一度プログラマーを開き直してみてください。
「TARGET」LEDはターゲットボードからVCCIOが供給されているかを表示します。
USBから電源が供給されていないと動作しないので、必ずUSBを接続した状態にしてください。
USBから電源が供給され、なおかつターゲットボードからVCCIOが供給されることで、初めて「TARGET」LEDが点灯します。
「ACTIVE」LEDは通信線のクロックで駆動されるLEDで、書き込み等の処理を行っている場合に点灯します。
プログラマーを開いた際に、ダウンロードケーブルが認識されているとJTAGモードで使用可能かチェックされるようで、JTAG側の「ACTIVE」LEDが一瞬点灯します。
ターゲットボードの電源が入っている状態であればJTAGモードが使用可能と認識され、JTAGモードが選択された状態になるようです。
それ以外の場合は、SPI Activeモードに変更されます。
推奨ピン配置