日立の通信システム開発のためのモデルベースデザイン適用と普及の取り組み
著者 Noritaka Kosugi, Kazuyuki Hori, and Yuji Ishida, Information & Telecommunication Systems Company Telecommunications & Network Systems Division, Hitachi, Ltd., and Makoto Hasegawa, Hitachi Information & Telecommunication Engineering, Ltd.
信号処理技術は、日立で開発されている通信サービス向け無線基地局、アクセス ポイント、伝送装置、そして企業ネットワーク向け IP-PBX やビデオ会議システムなどの大半の製品に組み込まれています。 以前は、これらのアルゴリズムは ASIC として実装されていました。 しかしながら、通信市場が多様化し、ニーズが少量多品種に移行していく中で、FPGA の採用が急速に拡大しています。
当社は、FPGA 設計のための社内における標準開発ワークフローとして MATLAB® および Simulink® を使用したモデルベース デザインを採用しています。 結果として、設計プロセスの初期にシステム 性能を評価することにより、チーム間のコミュニケーションの改善、開発時間の短縮およびリスクの軽減を実現できました。
従来のワークフローの限界
日立における通信システム向けの典型的な FPGA 開発プロジェクトは、次の 3 つのチームから構成されます。
- 方式設計チームは、機能的な要件を満たす信号処理アルゴリズムを構築し、ブロック線図、アルゴリズムのコード、状態遷移表などを用いて仕様書を作成します。
- FPGA 設計チームは、最終的な実装アルゴリズムを検証用のテストベンチを含む機能図および HDL コードを作成します。 このチームはまた、FPGA 実装の検証だけでなく論理合成および配置配線も実行します。
- 機能検証チームは、各コンポーネント単体の実機によるプロトタイプ検証を実施します。 それからコンポーネントを統合し、無線 RF およびアナログコンポーネントを含むシステム全体を実機検証します。
以前の文書に基づく設計フローでは、各チームが独自の仕様書を作成していました。 これにより、チーム間でコミュニケーション ギャップが発生しており、遅延やエラーのリスクが増大していました。
方式設計チームおよび FPGA 設計チームの両方が FPGA 設計チームの仕様に基づく機能図を介して作業を行っていました (図 1)。 この機能図は方式設計チームが必要な機能を HDL コードで記述するための確認や追加情報が必要かどうかを見極めるために使う必要がありました。 これは不必要な遅延や労力の重複につながり、特に FPGA 設計チームにとってはこのプロセスがボトルネックとなっていました。
![図 1. モデルベース デザイン導入前の開発ワークフロー。 図 1. モデルベース デザイン導入前の開発ワークフロー。](https://jp.mathworks.com/company/technical-articles/driving-the-adoption-of-model-based-design-for-communications-system-development-at-hitachi/_jcr_content/mainParsys/image_0.adapt.full.medium.jpg/1702499388902.jpg)
図 1. モデルベース デザイン導入前の開発ワークフロー。
モデルベース デザインでコミュニケーション ギャップを解決
各チームが共有シミュレーション環境上のモデルを介して仕様を検証できるようにするためにモデルベース デザインが採用されました。 この新しいワークフローでは、MATLAB および Simulink を用いて信号処理アルゴリズムをモデル化します。 方式設計チームと FPGA 設計チームは、モデルを実行可能な仕様として使用します。 モデルは設計プロセスを経て改良され、詳細化されていきます。 さらにこのモデルからHDLコードが自動生成され、論理合成、配置配線を経てハードウェアに実装されます。
モデルベース デザインにより開発された FPGA 実装は、結果として従来のワークフローで実現していたのとほとんど同じレベルの処理性能とリソース効率であることがわかりました。 消費電力もほとんど同じでした。
さらに、FPGA 設計チームは従来のワークフローで必要な技術者のほぼ半数でこのプロジェクトに対応することができました。 これ以上人数を削減できなかった理由の一つに、Simulink モデルの改良に時間が必要な点がありました。
モデルベース デザインの適用: 重要な考慮事項と例
多くの点で、モデルベース デザインは理想的なワークフローであることがわかりました (図 2)。 この手法を実際の FPGA 設計で評価した時に、うまく結果を出すために重要な 3 つの事項を発見しました。 それはモデルの改良、テストパターンの生成および合成後のシミュレーションです。
Simulink モデルの改良
通常、方式設計チームが信号処理アルゴリズムを作成します。 正確を期するために、アルゴリズムは倍精度浮動小数点データでモデル化されます。 ターゲットとなるFPGA が処理できるのは固定小数点データのみであるため、モデルを固定小数点に変換する必要があります。 ハードウェア実装向けにアルゴリズムを準備するには、量子化誤差、ビット幅と語長の設定およびベクトルデータの取り扱いなどを考慮した追加の修正作業が含まれます。 さらに、コード生成の準備として、DSP ユニットや RAM などのFPGA に搭載されているリソースを有効活用し、かつプロセッサーの性能を最適化するためにアルゴリズム モデルを改良する必要があります。
テストパターン生成
HDL Coder™ により、HDL テストパターンデータを Simulink モデルへのインターフェイスと共に自動的に生成できます。 これによりテストベンチを手作業で作成するために必要な時間と労力が大幅に削減されます。
論理合成後のシミュレーション
論理合成後のシミュレーションの実行は、実装の検証には必要不可欠ですが非常に時間がかかります。 この作業は、従来の手書きによるHDL コードに対する設計ルールチェックの代替として実施されなければなりません。 HDL Verifier™ による FPGA-in-the-Loop (FIL) シミュレーションを使用することで、この作業に必要な時間が削減されることがわかりました (表 1)。
シミュレーション手法 |
シミュレーション時間 |
---|---|
論理合成後のシミュレーション (ゲートレベルのネットリスト シミュレーション) |
約 200 時間 |
FPGA-in-the-loop4 |
4 分 30 秒 |
Simulink | 60 分 |
VHDL | 370 分 |
FIL では、Simulink モデルは標準的な FPGA テスト ボードに直接接続されます (図 3)。
![Setup for FPGA-in-the-loop simulation.](https://jp.mathworks.com/company/technical-articles/driving-the-adoption-of-model-based-design-for-communications-system-development-at-hitachi/_jcr_content/mainParsys/image_2.adapt.full.medium.jpg/1702499389122.jpg)
図 3. FPGA-in-the-Loop シミュレーションの構成。
検証時間の短縮は、さらに多くのテストケースを実行できることを意味します。 日立では、タイミング系回路の不具合や回路初期化に関する問題を検出するために、この手法を有効に利用しました。
全体的な結果
表 2 は、当社の無線通信システムの開発プロセスにモデルベース デザインを導入した結果を示します。
![Figure 4. Time savings achieved following the adoption of Model-Based Design.](https://jp.mathworks.com/company/technical-articles/driving-the-adoption-of-model-based-design-for-communications-system-development-at-hitachi/_jcr_content/mainParsys/image_3.adapt.full.medium.jpg/1702499389158.jpg)
表 2. モデルベース デザイン採用後に実現された工数削減。
事例 1: FIR フィルターでの DSP ユニットの活用
この例では、有限インパルス応答 (FIR) フィルター内のDSP ユニットについてベクトル表現を用いて記述します (図 4)。
![Figure 5. FIR filter design and implementation: refined for better performance.](https://jp.mathworks.com/company/technical-articles/driving-the-adoption-of-model-based-design-for-communications-system-development-at-hitachi/_jcr_content/mainParsys/image_4.adapt.full.medium.jpg/1702499389185.jpg)
図 4. FIR フィルターの設計と実装: 第一段階。
しかしながら、このモデルから直接生成された HDL コードを実装したところ、DSP ユニット外部に加算器が構成されてしまいました。 結果として、この設計は 110 MHz のクロック レートでの動作速度要件を満たしませんでした。
DSP ユニットに搭載された加算器チェーンを最も有効に活用するために、FPGA ベンダーの推奨事項に従ってモデルを改良しました。 この結果、パフォーマンスが 78 MHz から 340 MHz に改善され (Figure 5)、要件を満たすことができました。
![Figure 6. FIR filter design and implementation: refined for better performance.](https://jp.mathworks.com/company/technical-articles/driving-the-adoption-of-model-based-design-for-communications-system-development-at-hitachi/_jcr_content/mainParsys/image.adapt.full.medium.jpg/1702499389206.jpg)
図 5. FIR フィルターの設計と実装: 性能向上のための改良。
事例 2: 複素乗算器での DSP ユニットの活用
この例では、複素乗算器ブロックをSimulink で記述しています (図 6)。
![Figure 7. FIR filter design and implementation: refined for better performance.](https://jp.mathworks.com/company/technical-articles/driving-the-adoption-of-model-based-design-for-communications-system-development-at-hitachi/_jcr_content/mainParsys/image_5.adapt.full.medium.jpg/1702499389240.jpg)
図 6. 複素乗算器の設計と実装: 第一段階。
出力の直後に遅延子が挿入されることに注意してください。 この遅延子を実装する際、DSP ユニット外部のフリップフロップ (FF)によって構成されてしまいました。 目標は、乗算器と加算器の間にある DSP ユニット内部のフリップフロップに遅延子を実装することでした。
FF 構造を変更することでモデルを改良しました。 DSP System Toolbox™ により、2 番目の遅延ブロックを追加しました (図 7)。 さらに、リタイミングを禁止し、パイプラインを許可する論理合成の制約を追加で設定しました。 この結果、DSP ユニット内部のFFにより効率的に実装されました。
![Figure 8. Complex multiplier design and implementation: first iteration.](https://jp.mathworks.com/company/technical-articles/driving-the-adoption-of-model-based-design-for-communications-system-development-at-hitachi/_jcr_content/mainParsys/image_6.adapt.full.medium.jpg/1702499389264.jpg)
図 7. 複素乗算器の設計と実装: 性能向上のための改良。
モデルベースデザインへの移行支援
モデルベース デザインをうまく導入するために当社は技術セミナーを開催し、方式設計者および FPGA 設計者がモデルベース デザインの概念とメリットの理解促進を支援しています。 また包括的なガイドライン一式を作成し、FPGA 設計ワークフローを標準化し、方式設計者および FPGA 設計チームが Simulink を“実行可能な仕様書”として効率的に利用できるようにしました。 ガイドラインは以下のとおりです。
Simulink 仕様書スタイルガイド このガイドでは、Simulink モデルの作成方法を規定する約 50 のルールを提供します。 これにはモデルの動作条件や信号やデータの命名ルールなどなどの一般的なルールだけでなく、階層や記述ルールなどモデル構造に関する規約、ブロック線図の書式を指定するルールが含まれます。
検証標準化ガイドライン。このガイドは、ハードウェア詳細設計の検証、FPGA 実装および FPGA単体検証について規定します。 これには作業プロセス、必要となる確認事項および検証文書が含まれます。
HDL Coder ノウハウ集。 この文書は、HDL Coder の効率的な使用方法に関する当社のノウハウをまとめたものです。 HDL Coder の操作方法や設定方法など40項目が含まれます。
FIL利用マニュアル。 この文書は、HDL Verifier で FIL 機能を使用する際に当社が経験したことをまとめたもので、FIL シミュレーション環境のセットアップ方法および操作方法が含まれます。
モデルベース デザインの適用深化
私たちのチームが自ら率先して、日立でのモデルベース デザインの適用を推進しました。 モデルベース デザインに自らが習熟し、さまざまな開発の概念を実証するために、回路選択からハードウェア テストまでのプロジェクト全体を自分たちで完了させたこともあります。
現在まで、日立ではモデルベース デザインを無線基地局、光通信機器および画像処理システムの信号処理コンポーネントの設計および開発などの、10 以上の製品開発プロジェクトで採用してきました。 モデルベース デザインの採用を新しい開発プロジェクトに拡大し、当社が蓄積してきた経験を日立社内の他部門や当社のパートナー企業と共有していきたいと考えています。
公開年 2013 - 92144v00