まもなく打ち上げられる予定の火星探査ローバー「Perseverance」(パーサヴィアランス)。"忍耐"を意味する名前のこのローバーは、様々な観測装置を搭載し、生命の痕跡などを探す計画なのだが、機体の各所でFPGAが活用されているという。今回、XilinxのシステムアーキテクトであるMinal Sawant氏から話を聞くことができたので、ここで紹介したい。
宇宙でも存在感を増すFPGA
探査機やローバーの活躍が華々しく報じられる一方、その内部でどんな部品が使われているのかということは、あまり伝わってこないし興味を持っている人も少ない。しかし2000年以降、宇宙でもFPGAの利用が拡大しつつあり、通信衛星「Iridium Next」や小惑星探査機「OSIRIS-REx」などでも、同社製FPGAが使われたという。
米国の火星探査ローバーでは、1996年の「Sojourner」ではまだ使われていなかったものの、続く2003年の「Spirit」と「Opportunity」のモーター制御基板では、Virtex-1シリーズを初搭載。このうちOpportunityは、約3カ月だった想定寿命を遙かに超える15年もの長い間、火星表面を探査し続け、信頼性の高さを証明した。
2011年の「Curiosity」では、Virtex-2シリーズを搭載。重量が約900kgへと一挙に大型化が進み、観測装置が増えたことから、FPGAの利用も拡大しており、「MAHLI」「ChemCam」などの観測装置やバス機器で使われた。
そして今年2020年に打ち上げられるPerseveranceでは、「LVS」(Lander Vision System)でVirtex-5シリーズの「XQR5VFX130」が使われるという。
今回のPerseveranceは、Curiosityと同様の「スカイクレーン」方式で火星への着陸を行う。まずパラシュートで減速してから、高度1マイル(1.6km)付近で分離。そこからは降下モジュールのロケット噴射で減速してホバリング、ロープを垂らして、先に吊り下げたローバーを地表にそっと降ろす。まさに「空中のクレーン」だ。
注意が必要なのは、火星表面にも危険な山や谷があるということ。ローバーを安全に着陸させるためには、事前に選んだ平坦な地点に降ろす必要があり、降下中に地表を観測するLVSは、そのナビゲーションに利用される。カメラからの映像とマップデータを比較すれば、現在の位置が分かるというわけだ。
XQR5VFX130は、画像処理のハードウェア・アクセラレータとして活用。Spirit/Opportunityでは、20MHzのCPU(RAD6000)のみで行っており、計算に約160秒かかっていたが、Perseveranceは200MHzのCPU(RAD750)とFPGAで処理を分担したことで、これを18倍高速化、わずか8.8秒に短縮することができたそうだ。
Perseveranceではそのほかにも、「PIXL」「Mastcam-Z」「SHERLOC」といった観測装置やバス機器で同社製FPGAが搭載されている。
なぜFPGAが使われるのか
FPGA(Field Programmable Gate Array)は、ユーザー側で自由に再構成(プログラム)可能な集積回路である。CPUは自由度が高い反面、消費電力も大きい。一方ASICは高性能で低消費電力だが、回路は変更できない。自由度が高く、電力効率にも優れるFPGAは、CPUとASICの「いいとこ取り」と言える。
また大量生産する製品であれば、専用のASICを開発しても採算が合うだろうが、衛星や探査機だと基本的に多くても数10機レベル。大きなイニシャルコストが不要ですぐに設計に着手できるFPGAは、宇宙とは本質的に相性がいいと言えるかもしれない。
Xilinxは、2000年前後から、宇宙グレードのFPGAの提供を開始しているという。宇宙でも、FPGAには地上と同様のメリットがあるのだが、特に、打ち上げ後でも書き換えられるというメリットは大きいだろう。ミッションの変更に柔軟に対応できるため、Sawant氏は、「衛星自体の長寿命化にも繋がる」と指摘する。
しかし宇宙空間は放射線が強く、これによって半導体回路には「シングルイベント効果」(SEE)と呼ばれる問題が起きることが知られている。シングルイベントには、メモリ反転のアップセット(SEU)、過電流のラッチアップ(SEL)などがある。これらは誤動作や故障の原因となるため、宇宙空間で使うためには、高い耐放射線耐性が求められる。
同社は宇宙グレードのFPGAとして、90nmプロセスの「Virtex-4QV」、65nmプロセスの「Virtex-5QV」を提供している。4QVは民生品と同じシリコンを使っていたが、5QVは放射線耐性が設計自体に組み込まれており(RHBD:Radiation Hardened by Design)、「アップセットの発生は年2回程度までに抑え込めている」(Sawant氏)という。
そして次世代製品として、同社は20nmプロセスの「RT Kintex UltraScale」を2020年5月に発表、現在サンプル出荷が行われているところだ。数世代分のプロセスを一気にスキップした高性能製品となるため、「画像処理に加えて、機械学習などにも利用できる」(同)見込みだ。
通常、製造プロセスの微細化が進むと、相対的に放射線の影響を受けやすくなるものだが、RT Kintex UltraScaleは「アーキテクチャやデザインを工夫することで、シングルイベントを起きにくくしている」(同)という。
Perseveranceは今のところ、7月30日(米国時間)に打ち上げられる予定。火星への着陸は2021年2月になる見込みで、Sawant氏は「火星表面の探査を個人的にも楽しみにしている」とコメント。さらに、「有人月探査のアルテミス計画にも関わっていて、こちらにもワクワクしている」と、期待を述べた。