FPGAの基礎 – 第2部:Lattice Semiconductor FPGAの概要

著者 Clive "Max" Maxfield(クライブ・マックスフィールド)氏

DigiKeyの北米担当編集者の提供

編集者メモ:RISC、CISC、グラフィックスプロセッサとFPGAの組み合わせ、FPGA単独、またはファブリックの一部としてハードプロセッサコアを強化するFPGAによって最適な処理ソリューションが得られることがよくあります。一方で、多くの設計者はFPGAの機能、その進化の過程や使い方をよく知りません。この複数部構成シリーズの第1部では、FPGAの概要とFPGAが必要な理由について簡単に概要を説明しています。この第2部では、FPGAベンダであるLattice Semiconductorが提供するFPGAデバイスファミリと設計ツールについて説明します。第3部第4部、および第5部では、AlteraMicrochip、およびXilinxが提供しているFPGAについて説明します。

第1部で説明したように、フィールドプログラマブルゲートアレイ(FPGA)は、スタンドアロンでも異種アーキテクチャでも重要なコンピューティング資産となることができる多くの特性を備えています。しかし、設計者はFPGAの機能や、これらのデバイスを設計に取り込む方法を十分に理解していません。

この状況を解決するための1つの方法は、大手ベンダーが提供しているFPGAアーキテクチャとその関連ツールについて理解を深めることです。最初に、Lattice Semiconductorの製品から見ていきます。

高度なFPGAオプションの概要

市場にはさまざまな種類のFPGAが出回り、それぞれに異なる機能が組み合わされています。FPGAの中心となるのがプログラマブルファブリックです。これは、プログラマブルロジックブロックの配列として表されます(図1a)。次のFPGAファブリックの拡張には、ブロックRAM(BRAM)と呼ばれるSRAMのブロック、位相ロックループ(PLL)、クロックマネージャなどが含まれています(図1b)。デジタル信号処理(DSP)ブロック(DSPスライス)と高速シリアライザ/デシリアライザ(SERDES)ブロックを追加することもできます(図1c)。

プログラマブルファブリックと構成可能な汎用IO(GPIO)のみ含まれる最も簡易なFPGAの図図1:プログラマブルファブリックと構成可能な汎用IO(GPIO)のみ含まれる最も簡易なFPGA(a)、基盤のファブリックをSRAMブロック、PLL、クロックマネージャで拡張する各種アーキテクチャ(b)、DSPブロックとSERDESインターフェース(c)、およびハードプロセッサコアと周辺機器(d)。(画像提供:マックス・マックスフィールド氏)

CAN、I2C、SPI、UART、USBなどのペリフェラルインターフェース機能はプログラマブルファブリックにソフトコアとして実装できますが、多くのFPGAではハードコアとしてシリコンに組み込まれています。同様に、マイクロプロセッサをプログラマブルファブリックにソフトコアとして、またはシリコンにハードコアとして実装できます(図1d)。各FPGAが提供する機能や容量は、対象となる市場やアプリケーションに応じて異なります。

Altera(Intelが買収)、Atmel(Microchip Technologyが買収)、Lattice Semiconductor、Microsemi(Microchip Technologyが買収)、Xilinxなど、多くのFPGAベンダーが存在します。

これらのベンダーはすべて複数のFPGAファミリを提供しています。システムオンチップ(SoC)のFPGA(ハードプロセッサコアを含む)を提供しているベンダーや、宇宙などの高放射線環境を対象にした放射線耐性デバイスを提供しているベンダーもあります。それぞれ異なるリソースを提供する多くのファミリが存在するため、作業に最適なデバイスをすぐに選択するのは難しい場合があります。ここでは、Lattice Semiconductorが提供しているデバイスファミリと設計ツールに焦点を当てます。

Lattice Semiconductor FPGAの概要

Lattice SemiconductorのFPGA製品は小規模から中規模まで多岐にわたり、急拡大している通信、コンピューティング、産業、自動車、コンシューマ市場で、エッジからクラウドまでネットワークにおける顧客の問題に対処する低電力デバイスに焦点を当てています。

Latticeでは、主に次の4つのFPGAファミリを提供しています。

  • iCE(世界最小の超低電力FPGAと呼ばれている)
  • CrossLinkおよびCrossLinkPlus(高速ビデオおよびセンサアプリケーション向け)
  • MachXO(ブリッジング、拡張、およびプラットフォーム管理とセキュリティアプリケーション向け)
  • ECP(コネクティビティおよび加速アプリケーションを対象とした汎用デバイス)

Latticeは、Lattice Diamond Software(CrossLink/CrossLinkPlus、MachXO、およびECPデバイス向け)とLattice Radiant Software(iCE FPGAと将来のアーキテクチャ向け)に加え、LatticeMico(ソフトマイクロプロセッサベースの設計を作成するためのグラフィカルツール)とLattice sensAI StackおよびNeural Network Compiler(人工知能(AI)と機械学習(ML)設計用)などの設計および検証ツールスイートも多数提供しています。

従来型:ECP FPGA

LatticeのECPデバイスは、多くの設計者が「従来型」FPGAと見なしているデバイスです。これらのデバイスには、10mm x 10mm、0.5mmピッチパッケージに最大85,000(k)の4入力ルックアップテーブル(LUT)を含めることができます。このデバイスでは、0.25W未満のシングルチャンネルのプロトコルに依存しないSERDES機能と0.5W未満のクワッドチャンネルSERDES機能により、静的および動的低電力消費を実現します。

SRAMブロック、デジタル信号処理(DSP)ブロック、位相ロックループ(PLL)、およびクロックマネージャに加え、ECP FPGAでは、LVCMOS 33/25/18/15/12、XGMII、LVTTL、LVDS、Bus-LVDS、7:1 LVDS、LVPECLおよびMIPI D-PHY入力/出力インターフェースに対するプログラム可能なI/Oサポートが強化されています。

ECP FPGAの構成セルはSRAMベースです。つまり、他のすべてのSRAMベースのFPGAと同様に、電力がシステムに供給されるときに構成を外部ソース(フラッシュメモリデバイス、マイクロプロセッサ、マイクロコントローラなど)からロードする必要があります。

ECPデバイスの良い例が、 10mm x 10mmパッケージのLFE5UM5G-25F-8BG381C ECP5 5G SERDES対応FPGAです。設計者がECP5 FPGAファミリの機能を効率よく調査、実験できるように、Latticeは対応するECP5-5G開発ボードとしてLFE5UM5G-45F-VERSA-EVNも提供しています(図2)。

Lattice Semiconductor ECP5評価ボードの画像図2:ECP5評価ボードは、 多くのロジック、I/O、5G SERDES、および拡張ヘッダを備えるプロトタイピングボードです。(画像提供:Lattice Semiconductor)

小型で強力:Lattice iCE FPGA

iCEデバイスは最小のFPGAで、1.4mm x 1.4mmパッケージで18のI/Oを提供するファミリ最小の製品です。iCE FPGAは、最大5kの4入力LUT、最大128KビットのLatticeの組み込みsysMEM BRAM、1MビットのシングルポートRAM(SPRAM)、高速DSPブロック、およびカスタマイズ可能なI/Oを使用する柔軟な論理アーキテクチャを提供します。

iCE FPGAは小型で、ほとんどのアプリケーションに対応する75マイクロアンペア(µA)のスリープ電流と1~10mAのアクティブ電流により低電力ですが、機能は強力です。たとえば、常時オンのインテリジェンスをエッジに導入するために必要なパターンマッチング用の人工ニューラルネットワーク(ANN)を実装できます。

iCE FPGAの構成データは不揮発性メモリ(NVM)に保存されます。つまり、これらのデバイスはOne-Time Programmable(OTP)です。前に説明したように、iCE FPGAにはSRAMベースの構成セルも含まれています。開発時に、外部からSRAMベースの構成セルを直接ロードして設計をテストできます。設計はコミットされると、NVMにロードできます。デバイスの電源がオンになると、NVMに保存されている構成が超並列方式でSRAMベースの構成セルに自動的にコピーされます。

iCEデバイスの例としてICE40UL1K-SWG16ITR1K iCE40 UltraLiteがあります。これは(この記事の投稿時点で)世界最小のフォームファクタであり、1.4mm x 1.4mmパッケージで42µWの静的電力を提供します。代表的な開発ボードはHM01B0-UPD-EVN Himax HM01B0 UPduinoシールドおよびsensAIモジュール式デモンストレーションボードです(図3)。

Lattice Semiconductor Himax HM01B0 UPduinoシールドの画像図3:Himax HM01B0 UPduinoシールドは、感覚入力のようにビジョンとサウンドを使った人工知能(AI)を実装するための開発キットです。(画像提供:Lattice Semiconductor)

このキットは、iCE40 UltraPlus FPGAの性能とI/O機能を備えたArduinoフォームファクタの迅速なプロトタイピング開発ボードであるUPduino 2.0ボードに基づいています。また、Himax HM01B0低消費電力画像センサモジュールと2つのI2Sマイクロフォンも付属しています。

専門化:CrossLink FPGAおよびCrossLinkPlus FPGA

CrossLinkおよびCrossLinkPlusファミリは、プログラマブルロジックおよび相当量のI/O機能に加え、産業および車載用アプリケーションで幅広く使用されている仕様の強化バージョンを含む特殊なFPGAです。これらのファミリでは、Mobile Industry Processor Interface(MIPI)D-PHY高速データ通信物理層基準、Camera Serial Interface 2(CSI2)、およびDisplay Serial Interface 2(DSI2)コアがすべて寸法6mm x 6mm(CrossLink)および3.5mm x 3.5mm(CrossLinkPlus)のパッケージに含まれています。

iCE FPGAと同様に、CrossLinkデバイスの構成データはOTP NVMに保存され、開発中にテスト用として直接ロードできるSRAMベースの構成セルも含まれます。設計がコミットされると、電源投入時に設計はNVMにロードされて、超並列方式でSRAMベースの構成セルに自動的にコピーされます。比較すると、CrossLinkPlusデバイスの構成セルはフラッシュベースであるため、これらのデバイスは必要に応じて再プログラムすることができます。また、10ms未満の瞬時オン機能もあります。

CrossLinkデバイスの例として、5,936の論理要素/セル、184,320の合計RAMビット、および37のI/Oを使用するLIF-MD6000-6JMG80Iがあります。組み込みビジョンの設計を始める場合、設計者はLF-EVDK1-EVNエンベデッドビジョン開発キットを使用してCrossLinkベースのMIPI入力とECP5 FPGA処理を結合し、組み込みビジョンの設計を試作できます。

LatticeのLF-EVDK1-EVNエンベデッドビジョン開発キットの画像図4:LatticeのLF-EVDK1-EVNエンベデッドビジョン開発キットは、組み込みシステムの設計者向けに、さまざまなイメージセンサやディスプレイとインターフェースする入出力ボードを組み合わせる機能を含むソフトウェアおよびハードウェアプロトタイピング環境を提供します。(画像提供:Lattice Semiconductor)

I/Oおよび電源管理機能:MachXO FPGA

数百のI/Oを持つMachXO FPGAは、GPIO拡張、インターフェースブリッジング、電源管理機能を必要とする幅広いアプリケーションに最適です。最新のファミリ製品はNISTに準拠した設計で、システムのハードウェアとファームウェアの安全を確保するセキュリティ機能が追加されています。

MachXO FPGAには、電源レールの状態に関係なく電圧をI/Oに供給できる「ホットソケット」機能などの機能を含む、堅牢なGPIOセットが含まれています。さらに、ほとんどのFPGA入力はデフォルトでプルアップ状態に設定されていますが、MachXO入力のデフォルトはプルダウンであるため、MachXO入力は機能アプリケーションを制御するのに適しています。10ms未満の瞬時オン機能を備えるMachXO FPGAは、システムの電源投入および切断時に他のコンポーネントを管理し、シーケンシングする「最初にオン、最後にオフ」制御デバイスに最適なソリューションを提供します。

MachXOデバイスの構成データはフラッシュメモリに保存されます。MachXOデバイスには、SRAMベースの構成セルも含まれています。デバイスの電源がオンになると、フラッシュに保存されている構成データが超並列方式でSRAMベースの構成セルに自動的にコピーされます。さらに、デバイスの稼働中に新しい構成をフラッシュにロードできるため、この新しい構成が最適なタイミングでSRAMセルにコピーされます。

MachXOデバイスの良い例は、9,400の論理要素/セル、442,368の合計RAMビット、および206のI/Oを備えるLCMXO3LF-9400C-6BG256Cです。代表的な開発ボードは、LCMXO3LF-6900C-S-EVN MachXO3スターターキット(MachX03Lバージョン)です。

Lattice SemiconductorのMachXO3Lスターターキットの画像図5:MachXO3Lスターターキットは、基礎的なブレイクアウトボードで、MachXO3Lベース設計の簡単な評価および開発を可能にします。(画像提供:Lattice Semiconductor)

このキットボードでは外部ブートまたはデュアルブート機能の評価にSPIフラッシュを使用できます。LCMXO3L-DSI-EVN MachXO3L DSIブレイクアウトボードはMIPI DSIやCSI2 I/Oの評価用に推奨され、LCMXO3L-SMA-EVN MachXO3L SMAブレイクアウトボードは、高速差動I/Oの評価用に推奨されます。

Lattice Semiconductor FPGAを使用した設計と開発

FPGAでの開発に使用される最も一般的な手法の1つが言語駆動設計(LDD)です。この手法では、VerilogやVHDLなどのハードウェア記述言語(HDL)を使用してレジスタ転送レベル(RTL)と呼ばれる抽象レベルで設計の意図を表します。論理シミュレーションによる検証の後に、この表現は、ターゲットのFPGAタイプ、ピン割り当て、タイミング制約(入力から出力への最大遅延など)などの追加の情報とともに、合成エンジンに送られます。合成エンジンからの出力は構成ファイルです。このファイルはFPGAに直接ロードされるか、SRAMベースのFPGAの場合は外部メモリデバイスにロードされます(図6)。

合成エンジンに送られるRTL設計の説明の画像図6:論理シミュレーションによる検証の後、RTL設計の説明が、FPGAタイプ、ピン割り当て、タイミング制約などの追加の設計詳細とともに合成エンジンに送られます。合成エンジンからの出力は構成ファイルで、FPGAに直接ロードされるか(NVMまたはフラッシュベースのデバイスの場合)、外部メモリデバイスにロードされます(SRAMベースのデバイスの場合)。(画像提供:マックス・マックスフィールド氏)。

Lattice Diamondはこのツールクラスに分類され、CrossLink、MachXO、ECPデバイス向けの完全なGUIベースのFPGA設計および検証環境を提供します。

Lattice Diamondと同様に、Lattice Radiantも完全なGUIベースのFPGA設計および検証環境を提供しますが、Lattice RadiantはiCE FPGAと将来のアーキテクチャを対象にしています。

Lattice Radiantには次のようなさまざまな機能が用意されています。

  • 業界標準のIEEE 1735知的財産(IP)暗号化と、最大の互換性を実現するSynopsys Design Constraints(SDC)
  • 統合型のツールセット環境で設計ナビゲーションとデバッグが容易に
  • 新しいプロセスツールバーで簡単な「ワンクリック」設計実装が可能
  • 完全な閉ループの物理設計から論理設計への実装によるクロスプロービング
  • 開発者とサードパーティIPプロバイダが暗号化されたIPを配布に適したフォームにパッケージングすることができるIPパッケージング機能

LatticeMicoシステム開発ツール

Latticeは、LatticeMico8およびLatticeMico32の2つのソフトプロセッサコアを提供しており、どちらもFPGAのプログラマブルファブリックに実装することができます。

LatticeMico8は、プログラマブルロジックデバイスのMachXO2ファミリに対して最適化され、完全にテストされた8ビットマイクロコントローラです。また、LatticeMico8はFPGAの他のファミリのリファレンス設計として使用することもできます。マイクロコントローラコアは、完全な18ビット幅の命令セットと32の汎用レジスタを結合し、幅広い機能セットを維持しながら、消費するデバイスリソースは最小限(最小構成では200未満のLUT)に抑えます。

LatticeMico32は、32ビットのHarvard、RISCアーキテクチャマイクロプロセッサです。32ビット幅の命令セットと32の汎用レジスタを結合することで、LatticeMico32は、さまざまな市場に適したパフォーマンスと柔軟性を提供します。RISCアーキテクチャを使用することで、コアは、幅広いアプリケーションセットに必要なパフォーマンスを維持しながら、使用するデバイスリソースを最小限に抑えます。マイクロプロセッサシステムの開発を迅速化するために、いくつかの最適なWISHBONEコントローラに互換するペリフェラルコンポーネントをLatticeMico32に統合できます。

LatticeMicoシステム開発ツールのグラフィカルユーザーインターフェースを使用して、LatticeMicoプロセッサコアや周辺機器をドラッグアンドドロップし、それらをバスに接続して、コンポーネントごとにさまざまなパラメータ(プロセッサのアドレス空間内の場所など)を定義することができます。システムが定義された後、このツールで、シミュレートおよび合成される対応のRTLを自動的に生成することができます。また、プロセッサコアで実行されるソフトウェアを生成できるツールもあります。

機械学習ツール:Lattice sensAI StackとNeural Network Compiler

機械学習(ML)と人工知能(AI)アプリケーションは現在幅広い組み込みシステムと、産業用IoT(IIoT)など、あらゆるモノのインターネット(IoT)に導入されています。

Lattice sensAI Stackには、モジュール式ハードウェアプラットフォーム、デモンストレーション例、リファレンス設計、ニューラルネットワークIPコア、開発用ソフトウェアツール、およびカスタム設計サービスを含む、FPGAベースのML/AIソリューションを評価、開発、導入するために必要なあらゆるものが含まれています。このスタックは、コンシューマおよび産業用IoTアプリケーションにおける柔軟な機械学習推論の開発者向けに、市場の投入への時間を短縮する設計になっています。

Latticeの畳み込みニューラルネットワーク(CNN)アクセラレータIPコアは、ディープニューラルネットワーク(DNN)用の計算エンジンです。このエンジンは畳み込みニューラルネットワーク用に最適化されているため、分類またはオブジェクトの検出やトラッキングなど、ビジョンベースのアプリケーションに使用できます。CNN IPコアは、必要な計算を実行できるため、追加のプロセッサは不要です。

一方、Lattice Neural Network Compilerを使用すると、設計者は一般的な開発フレームワーク(TensorFlow、Caffe、Kerasなど)で作成されたニューラルネットワークを取得して、それらをLattice CNNおよびコンパクトなCNNアクセラレータIPコアでの実装用にコンパイルできます。

まとめ

プロセッサとFPGAの組み合わせ、FPGA単独、またはファブリックの一部としてハードプロセッサコアを強化するFPGAによって最適な処理ソリューションが得られることがよくあります。FPGAは1つのテクノロジとしてここ数年で急速に進化しており、柔軟性、処理速度、および電力における現在の多くの設計要件に対応し、インテリジェントインターフェースからマシンビジョンやAIまで幅広いアプリケーションに活用することができます。

ここで説明したように、Lattice SemiconductorのFPGAは小規模から中規模まで多岐にわたり、急拡大している通信、コンピューティング、産業、自動車、コンシューマ市場で、エッジからクラウドまでネットワークの問題に対処する低電力デバイスに焦点を当てています。Latticeは、言語ベースの設計から、グラフィカルプロセッサベースの設計、機械学習や人工知能アプリケーションに特化した設計まで、複数の設計フローに対応する設計および検証ツールスイートもいくつか提供しています。

DigiKey logo

免責条項:このウェブサイト上で、さまざまな著者および/またはフォーラム参加者によって表明された意見、信念や視点は、DigiKeyの意見、信念および視点またはDigiKeyの公式な方針を必ずしも反映するものではありません。

著者について

Image of Max Maxfield

Clive "Max" Maxfield(クライブ・マックスフィールド)氏

Clive "Max" Maxfield氏は、1980年にイギリスのシェフィールドハラム大学で制御工学の理学士号を取得し、メインフレームコンピュータの中央処理装置(CPU)の設計者としてキャリアをスタートしました。Maxは長年にわたって、シリコンチップから回路基板まで、果ては脳波増幅器からスチームパンクな予測エンジンまであらゆる設計に携わってきました(細かいことは聞かない)。彼はまた、30年以上にわたってEDA(電子設計自動化)の最前線にいます。

また彼は、『Designus Maximus Unleashed』(アラバマ州で発禁)、『Bebop to the Boolean Boogie』(型破りなエレクトロニクス界へのガイド)、『Where Electronics Begins』(EDA関連)、『Instant Access』(FPGA関連)、『How Computers Do Math』(同)をはじめとする多くの書籍の著者や共著者として活動しています。彼のブログ Max's Cool Beans をチェック!

出版者について

DigiKeyの北米担当編集者