MicrochipのFPGA評価ボードであるPolarFire SoC Icicle Kitを購入してから一か月くらい忙しくて放置してしまっていた。
しかしずっと放置していてもしょうがないので、電源を入れて使ってみることにした。
PolarFire SoC Icicle Kitの詳細については、FPGA部については正直あまり経験が無いので良く分からない。というかMicrosemiのFPGA自体を触ったことが無いので、どのように使ったらいいのかも分からないのだ。
とりあえずはこのボードを買った目的はRISC-VのSoCを使うことだったので、RISC-Vコアの方をいろいろと使ってみることにする。
PolarFire SoCのRISC-Vコアは以下のようにブロックダイアグラムが掲載されており、U54が4コアと、E51が1コアという合計5コアで構成されている。この構成どっかで見たことあるなあと思ったら、たぶんこれSiFive UnleashedのSoCの構成とたぶん一緒だな。SiFive UnleashedもFU540なので、U54とE51のペアのはずだ。
動作周波数の方は667MHzということになっており、おそらくHiFive Unleashedよりも低いと思われる。しかしHiFive Unleashedの動作周波数が明確に示されているわけではないので少し自信がない。
という訳で、まずはSoC部についてLinuxを立ち上げる試行から始めよう。Getting Startedの資料を読みながら進めると簡単に実行できる。
ジャンパーピンの位置については一応すべてのピンを確認した。2つくらいジャンパの設定を変えなければならなかったので注意が必要だ。J24、J35、J9のジャンパピンの設定変更を行った。それ以外は、シリアル通信を行うためにUSBポートをして、デバイスマネージャを開いてドライバをインストールした。
UARTのポートについては、2つ接続する必要があるようだ。認識された新たなCOMポートのうち、Interface0とInterface1をそれぞれTeraTermで接続し、Getting Startedに書いてある通り115200bpsに設定変更する。
この状態でPolarFireの電源を入れなおす。するとコンソールが動き出した。まずはMicrochipのロゴが登場し、もう一つのターミナルでLinuxが立ち上がった。やったぞ!(まあ何もしてないけど)
ログインには、ユーザ名としてroot
を入力するだけで良い。とりあえずこれだけでログインが完了した。
ログイン後、とりあえず/proc/cpuinfo
をチェックしてみる。コアは4つ、コアの種類はやはりRocket-Chipだった。HiFive Unleashedと構成はあまり変わらないな...
# cat /proc/cpuinfo
processor : 0 hart : 1 isa : rv64imafdc mmu : sv39 uarch : sifive,rocket0 processor : 1 hart : 2 isa : rv64imafdc mmu : sv39 uarch : sifive,rocket0 processor : 2 hart : 3 isa : rv64imafdc mmu : sv39 uarch : sifive,rocket0 processor : 3 hart : 4 isa : rv64imafdc mmu : sv39 uarch : sifive,rocket0
これ、HiFive Unleashedみたいな感じでDebianとかインストールできないのかな?HiFive UnleashedとSoCの構成はたぶん一緒だから、できると思うんだけど...