まもなく打ち上げられる予定の火星探査ローバー「Perseverance」(パーサヴィアランス)。"忍耐"を意味する名前のこのローバーは、様々な観測装置を搭載し、生命の痕跡などを探す計画なのだが、機体の各所でFPGAが活用されているという。今回、XilinxのシステムアーキテクトであるMinal Sawant氏から話を聞くことができたので、ここで紹介したい。

  • Xilinx

    Xilinx航空宇宙マーケティング部門システムアーキテクトおよびマーケティングリードのMinal Sawant(ミナール・サワン)氏 (提供:Xilinx)

宇宙でも存在感を増すFPGA

探査機やローバーの活躍が華々しく報じられる一方、その内部でどんな部品が使われているのかということは、あまり伝わってこないし興味を持っている人も少ない。しかし2000年以降、宇宙でもFPGAの利用が拡大しつつあり、通信衛星「Iridium Next」や小惑星探査機「OSIRIS-REx」などでも、同社製FPGAが使われたという。

  • Xilinx
  • Xilinx
  • 同社のFPGAが使われた衛星や探査機の例。JAXAの衛星でも採用例があるという (提供:Xilinx)

米国の火星探査ローバーでは、1996年の「Sojourner」ではまだ使われていなかったものの、続く2003年の「Spirit」と「Opportunity」のモーター制御基板では、Virtex-1シリーズを初搭載。このうちOpportunityは、約3カ月だった想定寿命を遙かに超える15年もの長い間、火星表面を探査し続け、信頼性の高さを証明した。

  • Xilinx

    これまでの米国の火星探査ローバー。どんどん大型化・高性能化している (提供:Xilinx)

  • Xilinx

    Spirit/Opportunity以降では、これらの同社製FPGAが搭載されている (提供:Xilinx)

2011年の「Curiosity」では、Virtex-2シリーズを搭載。重量が約900kgへと一挙に大型化が進み、観測装置が増えたことから、FPGAの利用も拡大しており、「MAHLI」「ChemCam」などの観測装置やバス機器で使われた。

そして今年2020年に打ち上げられるPerseveranceでは、「LVS」(Lander Vision System)でVirtex-5シリーズの「XQR5VFX130」が使われるという。

今回のPerseveranceは、Curiosityと同様の「スカイクレーン」方式で火星への着陸を行う。まずパラシュートで減速してから、高度1マイル(1.6km)付近で分離。そこからは降下モジュールのロケット噴射で減速してホバリング、ロープを垂らして、先に吊り下げたローバーを地表にそっと降ろす。まさに「空中のクレーン」だ。

  • Xilinx

    これはCuriosityのイラストだが、「Perseverance」も同様のスカイクレーンで地表に降ろす方式となる (C)NASA/JPL-Caltech

注意が必要なのは、火星表面にも危険な山や谷があるということ。ローバーを安全に着陸させるためには、事前に選んだ平坦な地点に降ろす必要があり、降下中に地表を観測するLVSは、そのナビゲーションに利用される。カメラからの映像とマップデータを比較すれば、現在の位置が分かるというわけだ。

XQR5VFX130は、画像処理のハードウェア・アクセラレータとして活用。Spirit/Opportunityでは、20MHzのCPU(RAD6000)のみで行っており、計算に約160秒かかっていたが、Perseveranceは200MHzのCPU(RAD750)とFPGAで処理を分担したことで、これを18倍高速化、わずか8.8秒に短縮することができたそうだ。

  • Xilinx

    PerseveranceのLVS。中央の「Vision Compute Element」でFPGAが使われている (提供:Xilinx)

Perseveranceではそのほかにも、「PIXL」「Mastcam-Z」「SHERLOC」といった観測装置やバス機器で同社製FPGAが搭載されている。

  • Xilinx

    同社製FPGAが使われているPerseveranceの機器 (提供:Xilinx)

なぜFPGAが使われるのか

FPGA(Field Programmable Gate Array)は、ユーザー側で自由に再構成(プログラム)可能な集積回路である。CPUは自由度が高い反面、消費電力も大きい。一方ASICは高性能で低消費電力だが、回路は変更できない。自由度が高く、電力効率にも優れるFPGAは、CPUとASICの「いいとこ取り」と言える。

また大量生産する製品であれば、専用のASICを開発しても採算が合うだろうが、衛星や探査機だと基本的に多くても数10機レベル。大きなイニシャルコストが不要ですぐに設計に着手できるFPGAは、宇宙とは本質的に相性がいいと言えるかもしれない。

Xilinxは、2000年前後から、宇宙グレードのFPGAの提供を開始しているという。宇宙でも、FPGAには地上と同様のメリットがあるのだが、特に、打ち上げ後でも書き換えられるというメリットは大きいだろう。ミッションの変更に柔軟に対応できるため、Sawant氏は、「衛星自体の長寿命化にも繋がる」と指摘する。

  • Xilinx

    同社の宇宙用FPGA。特殊なセラミックパッケージが採用されている (提供:Xilinx)

しかし宇宙空間は放射線が強く、これによって半導体回路には「シングルイベント効果」(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は「アーキテクチャやデザインを工夫することで、シングルイベントを起きにくくしている」(同)という。

  • Xilinx

    最新の宇宙用FPGA「RT Kintex UltraScale」。宇宙用FPGAでは初の20nmとなる (提供:Xilinx)

Perseveranceは今のところ、7月30日(米国時間)に打ち上げられる予定。火星への着陸は2021年2月になる見込みで、Sawant氏は「火星表面の探査を個人的にも楽しみにしている」とコメント。さらに、「有人月探査のアルテミス計画にも関わっていて、こちらにもワクワクしている」と、期待を述べた。