Main Content

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

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

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

Wireless HDL Toolbox™ などの MathWorks® HDL 製品を使用すると、MATLAB® コードなどの数学モデルを LTE Toolbox™ または 5G Toolbox™ から開始できるようになり、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 から Simulink モデルにデータをインポートし、モデルの出力を MATLAB に返すことで、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 コード生成) (Communications Toolbox)、およびDSP System Toolbox ブロックのリスト (HDL コード生成) (DSP System Toolbox) を参照してください。

参照アプリケーション

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

一連の参照アプリケーションには、次が含まれます。

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

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

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

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

  • 複数アンテナ転送の 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 サイト