HTLAB.NET Efinix ダウンロードケーブル

Efinix Download Cable 001 Efinix Download Cable 002

Trion FPGA コンフィギュレーション方法 を踏まえて、作成した Efinix ダウンロードケーブルを紹介します。

ダウンロードケーブルの使用方法から解説します。

作り方についてはページ下部をご覧ください。

 

必要なファイルのダウンロード

GitHubを使用して開発をしているため、以下に置いてあります。

こちらのリンクからファイルをダウンロードしておきます。

 

Efinix Download Cable 003

このようにクリックするとGitが無くてもZIP形式でダウンロードできます。

その場合は解凍してわかりやすいディレクトリに置いてください。

 

ドライバのインストール方法(Windows)

Efinix ダウンロードケーブルをコンピュータと接続し、ドライバのインストールを行います。

デバイスマネージャーを開くと「ほかのデバイス」に「HTLAB.NET Efinix Download Cable」というデバイスが複数見えると思います。

(それ以外の場所に見える場合は、既に別のドライバが当たっている可能性があるので、後述の通りアンインストールします)

Efinix Download Cable Windows Driver Install 01

表示されている「HTLAB.NET Efinix Download Cable」全てに対してドライバをインストールします。

右クリックで「ドライバーの更新」を開きます。

 

Efinix Download Cable Windows Driver Install 02 Efinix Download Cable Windows Driver Install 03

「コンピューターを参照してドライバーを検索(R)」をクリックし、ダウンロードしたGitHubのレポジトリ内、Driverフォルダを指定して次に進みます。

(サブフォルダーを検索する(I)にチェックを入れてください)

 

Efinix Download Cable Windows Driver Install 04 Efinix Download Cable Windows Driver Install 05

ドライバのインストールが終わるまで待ちます。

全ての「HTLAB.NET Efinix Download Cable」デバイスに対して繰り返しドライバのインストールを行います。

 

Efinix Download Cable Windows Driver Install 06

このように、「libusb-win32 devices」が増えます。

これでドライバのインストールが完了しました。

 

もし、ドライバのインストールがうまくいかない場合は、Zadigを使用してインストールを行います。

Efinix Download Cable Windows Driver Install 07

「libusb-win32」のドライバをインストールします。

 

ドライバのアンインストール方法(Windows)

何らかの理由でドライバを削除する場合や、別のドライバが当たってしまっている場合の対処法です。

 

Efinix Download Cable Windows Driver Uninstall 01

デバイスを探し、右クリック、「デバイスのアンインストール(U)」を選択します。

 

Efinix Download Cable Windows Driver Uninstall 02

必ず、「このデバイスのドライバーを削除しようとしました。」にチェックを入れて、アンインストールボタンをクリックします。

全ての「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」をダブルクリックで実行します。

 

Efinix Download Cable Windows Patch 01

管理者権限が要求されるので、変更を許可して進むと、このような表示になりパッチが完了します。

 

バッチファイルの詳細

詳しくはバッチファイルをテキストエディタで見てもらえればわかります。

行っていることは単純です。

 

  • 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」が見えると思います。

 

Efinix Download Cable 004

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モードに変更されます。

 

推奨ピン配置

https://github.com/htlabnet/Efinix_Download_Cable/blob/master/Document/Recommended_SPI_JTAG_Header_Pin_Assignment.md