Main Content

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

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

Wireless HDL Toolbox™ などの MathWorks® HDL 製品を使用すると、MATLAB® コードなどの数学モデルを LTE Toolbox™、5G Toolbox™、WLAN Toolbox™ または Satellite Communications Toolbox から開始できるようになり、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 から Simulink モデルにデータをインポートし、モデルの出力を MATLAB に返すことで、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 Radio または SoC Blockset™ Support Package for Xilinx Devices) をダウンロードしてください。

外部の Web サイト

関連するトピック