ファームウェアの更新方法

Step 0. Quartus Primeのインストール

FPGAのコンフィギュレーションを更新するためには、Intelr (旧Altera) のFPGAの開発環境である Quartus Prime をインストールする必要があります。

インテルのサイトからダウンロードしてください。

Quartus Primeには有料のライセンスが必要なエディションもありますが、無料で使える「ライト・エディション」をインストールすればOKです。Quartus Primeのインストール方法はネット上にいろいろな記事が出ていますが、日本語の記事としては マクニカさんの記事 がわかりやすいかもしれません。

なお、Quartus Primeは、64bit Windows環境、もしくは Linux環境が必要です。また、USB-Blasterという書き込みケーブルのドライバが x86_64 の物しか存在しないため、残念ながら ARM CPU上で動く Windowsや Linuxを使用することはできません(Linuxはためしたことがないので、もしかしたら可能性はあるかも?)。たとえば、M1 Mac + Parallels + Windows の環境などもNGです。ARM版のドライバが欲しいという声は インテルのコミュニティ にも出ていますが、2023年7月8日現在、存在しません。

Step 1. 最新ファームウェア (.jicファイル) のダウンロード

Resources ページから最新のファームウェアをDLしてください。

Step 2. Kepler-XをUSBで接続する

Quartus PrimeをインストールしたPCとKepler-XをUSBで接続します。FPGAボードのフロント側にMini USBの端子が見えていると思いますので、そちらに同梱したUSBケーブル(DE0 Nanoの箱の中に入っています)を接続してください。

X68000に装着したままでも書き換えは可能ですが、写真のように取り外した状態でもUSB給電で書き換えが可能です。

KeplerX-USB.jpg

なお、この状態で書き換える場合は、ショートしたりしないように絶縁体の上におくようにしてください。

Step 3. Programmerの起動

Windowsから Programmer を選択して起動してください。

quartus-programmer.png

起動したら、File → Open... で先ほどDLした .jic ファイルを開いてください。するとこんな感じの画面になります。

quartus-programmer-file-opened.png

もし Hardware Setup のところが写真のように No hardware になっていたら、Hardware Setup ボタンを押して、USB Blaster を選択してください。

quartus-programmer-hardware-select.png

もし、KeplerXを繋いでいるのに USB Blasterが出てこない場合は、一度 Programmerを立ち上げ直してみてください。それでも出てこない場合は、USB Blasterのドライバーがうまくインストールされていない可能性があるので、マクニカのページにあるように直接ドライバファイルを指定してインストールしてください。

quartus-programmer-program-start.png

USB Blasterを認識していれば、このように Program / Configureや Verifyのところにチェックが入れられるようになるので、このスクショの通りにして、Startボタンを押してください。 プログレスが2回ほど動いて、30-60秒くらいで書き換えが終わると思います。

なお、まれにUSB Blaster認識後1回目の書き換えにが失敗することがあります。失敗した場合はそのままもう一度 Startボタンを押してみてください

Step 4. X68000への装着

書き換えが終わったらUSBケーブルを抜いて電源の供給を切ります。

もし、X68000本体に装着したまま書き換えを行った場合は、必ず一度USBケーブルを抜き、X68000本体の電源も切って、FPGAボードの電源がOFFになる(LEDが光っていない状態になる)ようにしてください(FPGAの電源を入れ直さないと新しいコンフィギュレーションが読み込まれないため)。

無事に装着したらX68000の電源を導入します。

起動しない場合など、異常があった場合はご連絡ください。問題のないバージョンに戻すなどしてみていただけると助かります。

 

Step 5. バージョンが上がったことの確認方法

db.x で $ECB000 番地から $ECB07F番地あたりをダンプしてみてください。

-dw ecb000

と入力すると、以下のような出力が出てきます。

keplerx-version.jpg

赤い囲みの部分($ECB004-$ECB005) の2バイトがバージョンを表しています。1128は、以下のような意味を持ちます。

  • 112
    • バージョン1.1.2を意味します
  • 8-f
    • リリース版であることを意味します
  • 0-7
    • ベータ版であることを意味します(通常目にすることはないはずです)