Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

FPGA と ASIC の無線通信の設計

FPGA ハードウェアにアルゴリズム モデルを展開すると、無線テストと検証を行うことができます。ただし、ハードウェアの無線通信システムを設計するには、ハードウェアのリソースとスループットの設計トレードオフが必要です。ハードウェアに適したインターフェイスとアーキテクチャ、LTE および 5G NR 物理層の一部を実装するリファレンス アプリケーション、自動 HDL コード生成を備えた HDL 最適化ブロックを使用すると、ハードウェアの設計と展開を高速化できます。またハードウェア サポート パッケージを使用すると、実際のハードウェアでの設計の展開と検証に役立ちます。

Wireless HDL Toolbox™ などの MathWorks® HDL 製品を使用すると、LTE Toolbox™ や 5G Toolbox™ の MATLAB® コードなどの数学モデルから開始して、FPGA と ASIC に適したアルゴリズムのハードウェア実装を設計できます。

数学的アルゴリズムからハードウェア実装まで

無線通信設計は、多くの場合、MATLAB 関数を使用するアルゴリズムの開発とテストから開始します。MATLAB コードは通常、浮動小数点データの行列に対して作用するため、数学的アルゴリズムの開発、大容量のデータセットの操作、およびデータの可視化に適しています。

一般的に、ハードウェア エンジニアはアルゴリズム チームから数学的な仕様を受領し、ハードウェアのアルゴリズムを再実装します。ハードウェアの設計では、クロック速度と全体的なスループットを高めるためにリソース配分のトレードオフが必要です。通常、このトレードオフは、ストリーミング データの操作、およびいくつかのロジックを使用するデータのストレージとフローの制御を意味します。ハードウェア エンジニアは通常、サイクルベースのモデル化と並列化を行う VHDL や Verilog などのハードウェア記述言語 (HDL) を使用します。

数学的アルゴリズムとハードウェア実装の間にあるこのような差を埋めるには、MATLAB アルゴリズム モデルをハードウェア実装の開始点として使用します。ハードウェアに適するように設計を段階的に変更し、HDL Coder™ を使用して HDL コードを自動的に生成するために使用できる Simulink® モデルに進展させます。

次の図は、MATLAB での数学的なアルゴリズムから、Simulink でのハードウェア互換性のある実装への設計の進展、および生成される VHDL コードを示します。

MATLAB と Simulink のどちらでも HDL コードの自動生成がサポートされますが、設計を構築する際にはハードウェア要件に注意しなければなりません。また、ハードウェアのサイクルベースのモデル化には Simulink の方が適しています。これは、並列データ パスとストリーミング データを、データ ストリームのタイミングを管理する制御信号と共に表すことができます。固定小数点のデータ型を選択しやすくするため、設計でのデータ型の伝播が明確に可視化されます。また、算術演算のパイプラインを容易にして、ハードウェアでの最大クロック周波数を改善できます。

独自のハードウェアに対応した設計を作成する間、MATLAB アルゴリズムを "ゴールデン リファレンス" として使用して、各バージョンの設計が数学的な要件を満たしていることを確認します。図に示すワークフローでは、MATLAB および Simulink を、アルゴリズム設計チームとハードウェア設計チーム間の連携とコミュニケーションのツールとして使用しています。

たとえば、LTE または 5G 無線規格に適合する設計を行う場合、LTE Toolbox と 5G Toolbox の関数を使用して、MATLAB でゴールデン リファレンスを作成します。次に、Simulink に移り、HDL コード生成をサポートする Wireless HDL Toolbox のライブラリ ブロック、および Communications Toolbox™ と DSP System Toolbox™ のブロックを使用して、ハードウェアと互換性のある実装を作成します。MATLAB のテストおよびデータ生成インフラストラクチャを再利用するには、MATLAB から Simulink モデルにデータをインポートし、モデルの出力を MATLAB に返して、"ゴールデン リファレンス" に対して検証します。

HDL 最適化ブロック

Wireless HDL Toolbox のライブラリ ブロックは、LTE、5G、または一般的な無線通信システムで使用する符号化器、復号化器、変調器、復調器、およびシーケンス発生器を実装します。これらのブロックは、ハードウェアに対して標準ストリーミング データ インターフェイスを使用します。このインターフェイスによって、アルゴリズムのパーツを連結し、データのフローを管理してフレーム境界にマークを付ける制御信号を含めることが容易になります。これらのブロックでは、HDL Coder による自動 HDL コード生成がサポートされます。HDL コード生成をサポートする Communications Toolbox と DSP System Toolbox のブロックを使用することもできます。

ブロックは、ハードウェアに適した、リソースの使用を最適化するアーキテクチャを提供します。たとえば、FPGA DSP スライスに適合するように加算器と乗算器のパイプラインを含めます。また、自動型の構成変更可能な固定小数点データ型がサポートされます。事前定義されたブロックを使用して、残りの設計を変更せずに異なるパラメーター構成を試すこともできます。

HDL コード生成をサポートしているブロックのリストについては、Wireless HDL Toolbox ブロック リスト (HDL コード生成) (Wireless HDL Toolbox)Communications Toolbox ブロック リスト (HDL コード生成)、および DSP System Toolbox ブロック リスト (HDL コード生成) を参照してください。

リファレンス アプリケーション

Wireless HDL Toolbox は、大部分の LTE および 5G NR 物理層のハードウェアに対応した実装が含まれる、リファレンス アプリケーションを提供します。これらの設計は、LTE Toolbox および 5G Toolbox によって提供される "ゴールデン リファレンス" 関数に対して検証されます。これらは FPGA ボードでテストされ、無線波形を符号化および復号化すること、および合理的な量のハードウェア リソースを使用することが確認されています。モジュール型で拡張可能になるように設計されているため、追加の物理チャネルを挿入できます。受信機の設計は、有線で取得された波形を使用してテストされています。

一連のリファレンス アプリケーションには次のものが含まれます。

  • LTE および 5G NR プライマリおよびセカンダリ同期信号 (PSS/SSS) の生成と検出

  • LTE ダウンリンク共有制御チャネル検出器とマスター情報ブロック (MIB) の生成と復元

  • LTE 第 1 システム情報ブロック (SIB1) 復号化器

  • MIB と SIB1 のビット解析とチャネル推定データのインデックスのためのハードウェア-ソフトウェア インターフェイス モデル

  • 複数アンテナ送信のための LTE 波形生成

  • LTE 送信機と受信機のアプリケーションに対する FDD と TDD のサポート

これらのリファレンス アプリケーションをそのまま使用して、一意のアプリケーションにパケット情報を提供したり、HDL Coder で合成可能な VHDL または Verilog を生成することができます。また、FPGA または ASIC ハードウェアに通信アルゴリズムを実装するための推奨手法を示す例としても使用できます。

FPGA での HDL コードとプロトタイプの生成

Wireless HDL Toolbox には、HDL コード生成をサポートするブロックが用意されています。これらのブロックを使用する設計から HDL コードを生成するには、HDL Coder のライセンスが必要です。HDL Coder は、Simulink モデルに対応する信号名をもつデバイス非依存のコードを生成します。HDL Coder には、FPGA の合成およびターゲット プロセスを促進し、サードパーティ製の HDL シミュレーターで使用するスクリプトとテスト ベンチを生成できるツールも用意されています。

プロトタイプ ボードでのプログラミング可能なロジックの設定とターゲット設定を支援し、無線通信システムの設計をハードウェアで検証するには、Communications Toolbox Support Package for Xilinx® Zynq®-Based Radio などのハードウェア サポート パッケージをダウンロードします。

外部の Web サイト