Lattice Semiconductorは9月17日(米国時間)、セキュアプラットフォーム向けFPGA「Mach-N2シリーズ」ならびにAI駆動型開発ツール「Lattice Prompt」を発表した。これらについて事前に説明会が開催されたので、その内容を基にご紹介したい。

PQCに対応するMach-N2 DQ

セキュアプラットフォーム向けFPGA「Mach-N2/N2 DQ」だが、同社は2011年に投入した「Mach XO2」以降、2014年の「Mach XO3」、2019年の「Mach XO3D」、2020年の「Mach-NX」、2022年の「MachXO5-NX」と続き、2025年に「Mach XO4」を追加するなど製品拡充を図っている。

その最新世代の製品が今回のMach-N2/N2 DQとなる(Photo01)。

  • 横軸は時系列ではなく機能なので、必ずしも製品出荷タイミングと一致していない

    Photo01:この図、横軸は時系列ではなく機能なので、必ずしも製品出荷タイミングと一致していない

ベースとなるのはLatticeが2024年末に発表した「Nexus 2 Platform」で、ここにセキュアプラットフォーム向けの機能を統合した形になる(Photo02)。

  • 主要なMach-N2シリーズの特徴

    Photo02:主要なMach-N2シリーズの特徴

ちなみに後で出てくるが、現状、ポスト量子暗号(PQC)に対応しているのはMach-N2 DQのみで、Mach-N2の方はPQC未対応である。

ちなみに以前のロードマップではMach-N2に加えてCrossLinkも登場予定となっていたが、現時点でもリリースの時期はまだ公開されていない(Photo03)。

  • CrossLink-N2と名前が確定

    Photo03:以前のロードマップでは単に“CrossLink”とだけ説明があったが、今回はCrossLink-N2と名前が確定したのが前回との違い

さてMach-N2も基本はNexus 2の特徴をそのまま引き継いでいるが、Mach-N2ではセキュアプラットフォーム向けの追加機能が用意されている(Photo04)。

  • Mach-N2特有の機能

    Photo04:右側下段の黄色で囲った部分がMach-N2特有の機能となる

まずは内蔵Flashと改竄防止(Photo05)。

  • 改竄防止モジュールは電圧や温度などをリアルタイムで監視し、Side channel Attachを検出する

    Photo05:Nexus 2 Platform発表時、いくつかのSKUは内蔵Flashに対応という話があり、今回のMach-N2がそれに該当する事が今回分かった格好。改竄防止モジュールは電圧や温度などをリアルタイムで監視し、Side channel Attachを検出するとの事

外部にFlashが必要無いから、ここで物理的にデータ傍受とか改竄される危険が減る。また改竄防止モジュールが常時リアルタイムで監視を行う、必要なら恒久的な無効化を含む様々な対処を行える(ここはユーザーが選べる)という話であった。

ちなみに恒久的な無効化をしてしまうと、リモートからの復旧は出来ないが、物理的には対策が可能らしい。少なくともMach-N2を基板から引っぺがして新品に交換する、というほどの手間にはならないようだ。

もう1つがPQCへの対応である。これは先も述べたがMach-N2 DQのみの機能であるのだが、CNSA 2.0に準拠したPQCへの対応が済んでいる事に加え、そのPQCアクセラレータをユーザーロジックからAPI経由でアクセスする事も可能となっている(Photo06)。

  • PQC以外の暗号に関してもユーザーロジックからAPI経由で利用可能かは不明

    Photo06:PQC以外の暗号に関してもユーザーロジックからAPI経由で利用可能かどうかは確認し忘れた

Photo07が主要な競合製品との性能比較である。高速ブートとかはNexus 2 Platformの特徴であるが、特にPQC Boot/Serviceなどは明らかにMach-N2 DQの特徴と言える。

  • PQCの対応そのものはMachXO5-NXの世代から搭載されていた

    Photo07:もっともPQCの対応そのものはMachXO5-NXの世代から搭載されており、CNSA 2.0対応も済んでいる訳で、このPQC対応をNexus 2 Platformに移植したのがMach-N2というのが正確なのかもしれない

Photo08がSKU一覧であり、まずはPQC対応の無いMach-N2のMH-16とMH-20が本日より提供を開始し、残りのSKUとPQC対応のMH-21Dは2027年後半にエンジニアリングサンプルの提供を開始としている。

  • Radiantなどの開発ツールのMach-N2対応はすでに完了

    Photo08:ちなみにRadiantなどの開発ツールのMach-N2対応はすでに完了しており、こちらも本日より入手可能とされる

開発キット(Photo09)もやはり本日より提供開始との話であった。

  • 従来の評価ボードに比べると割とシンプルな気もする

    Photo09:Certus-N2の評価ボードも画像が“Coming Soon”とかになっていて判断できないのだが、従来の評価ボードに比べると割とシンプルな気もする

自然言語ベースでのFPGA開発を可能とするLattice Prompt

続いてはLattice Promptである。最近はAIを利用したコーディングが急速に普及し始めているのはご存じの通りであるが、当たり前ながら既存のIDEやLLMはFPGAのプログラミングなどには未対応である(Photo10)。

  • FPGAのプログラミングにAIを活用しようというアプローチ

    Photo10:だからといって対応を待っていてもいつになるか分からないので、何とかしようという訳だ

そこで提供されるのがLattice Promptである(Photo11)。

  • 細かく記述する必要がある

    Photo11:流石に入力がこれだけだと、デバイスの選択とか「低消費電力」の定義(それが10Wなのか1Wなのか0.1Wなのか、これだけで判断するのは難しい)とか足りない項目が多いので、もっと細かく記述する必要があるとの事だった

Lattice Promptそのものは、様々なIDEに対応するMCPと、LatticeのFPGAを利用する際に必要となるスキルをまとめたものであり、別にLattice自身がLLMを提供するという訳では無い。

なのでユーザーはまず自身でIDEとLLMを用意するのだが、その際にLattice Promptで用意されるスキルを読み込ませることで、自然言語ベースでのFPGAの開発ができ、さらに同社のFPGA設計ソフトウェアである「Lattice Radiant」と連携してビットストリームの生成までを自動で行える、とする。

これを利用する事で、例えばOCT(Optical Coherence Tomography)用のコードをミッドレンジFPGAである「Lattice Avant」向けに移植させる(Photo12)とか、量子エラーデコーダのタイミングエラーの解決(Photo13)といった作業が極めて高速に行えるようになった、とする。

  • CUDAを一度Pythonに置き換え、そこからRTLに変換する

    Photo12:CUDAを一度Pythonに置き換え、そこからRTLに変換するというのが面白い

  • 200MHz(つまりサイクル時間5ns)に対して5nsのタイミング違反というのは要するにサイクル時間が10nsという事

    Photo13:200MHz(つまりサイクル時間5ns)に対して5nsのタイミング違反というのは要するにサイクル時間が10nsという事である。実際当初は200MHzがターゲットだったのに98MHzでしか動かなかったらしい

ちょっと気になったのは、こうした事をやらせようとすると、当然IDEというかLLMの側でトークンを相当消費しそうなものなのだが、それがどの程度か? については今回確認したものの明快な回答はなかった。まぁこの辺はLLMの種類とか処理の内容で大きく変化しそうなので、一概に数字を示すのは難しそうであるが。

  • LLMを利用したFPGAコーディングが可能になった

    Photo14:ついにLLMを利用したFPGAコーディングが可能になったというのは、なかなか感慨深いものがある

先も述べたようにIDEやLLMとの契約はユーザー側が行う必要がある(無償利用枠でどの程度まで実用的かはかなり疑わしい)が、Lattice Promptそのものは本日より無償で提供される。またLatticeは継続的にPromptの改良を続けるとしており、そうした改良を反映させることで、より性能の最適化が図りやすくなりそうだ。