Main Content

ASIC、FPGA、および SoC の無線通信の設計

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

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

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

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

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

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

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

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

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

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

HDL 最適化ブロック

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

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

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

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

Wireless HDL Toolbox は、大部分の LTE、5G NR、衛星、WLAN、およびカスタム OFDM ベースの通信物理レイヤーのハードウェアに対応した実装が含まれるリファレンス アプリケーションを提供します。これらのリファレンス アプリケーションのサブシステムは、ハードウェア ボードでもテストされています。これらの設計は、LTE Toolbox、5G Toolbox、WLAN Toolbox、または Satellite Communications Toolbox によって提供される "ゴールデン リファレンス" 関数に対して検証されます。モジュール型で拡張可能になるように設計されているため、追加の物理チャネルを挿入できます。

これらのリファレンス アプリケーションをそのまま使用して、一意のアプリケーションにパケット情報を提供したり、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 RadioSoC Blockset™ Support Package for Xilinx Devices などの必要なハードウェア サポート パッケージをダウンロードします。

外部の Web サイト

関連するトピック