横河電機が光ネットワーク機器の開発にMATLABプロダクトファミリを適用

“従来は各ブロックを個別に開発を進めていましたが、システム全体に対して検証を行うというこの手法は十分な可能性を持っている と感じました。実機検証を行う前にほとんど全てのバグも発見することもでき、確かに開発期間が短縮されました。”

課題

全く新しい方式を採用した次世代光ネットワーク機器の開発

ソリューション

MATLAB プロダクトファミリを用いた光パケットスイッチのスケジュール制御回路、および光メディアマネージャの主信号処理システムのアルゴリズム開発と検証

結果

  • 開発時間の短縮
  • 実機試験の前にほとんど全てのバグを検出
  • システムモデルをHDL検証用に再利用し、工数を削減

横河電機の光メディアマネージャー

今日、ブロードバンド通信の普及、多チャンネルデジタルテレビなどの光ファイバを利用したサービスが本格化し、映像などのコンテンツの流通が急増していることにより、ネットワーク、特に中長距離の基幹回線の高速・大容量化の必要性がますます高まってきています。従来の技術でこれを実現するのは非常に困難です。その理由の一つとして、ルータやスイッチなど既存のネットワーク機器の電子的な処理速度が理論限界に近く、将来的にはボトルネックとなりうることが指摘されています。

このような背景の中、次世代のネットワークとして光パケット交換による通信網が注目を浴びています。光パケットネットワークの実用化は、一般的には2015年頃とされています。横河電機では、2003年に、光パケットネットワークのキーデバイスである超高速光スイッチ素子の開発に成功しました。このデバイスを核として、応用分野をローカルエリアネットワーク(LAN)に限定することにより、技術的要件を絞り、通信用モジュール開発で培った自社技術を利用することで、40Gbpsの光パケットネットワークの2005年実用化を目指しています。

課題

光パケット交換を実現するにあたり、横河電機で開発されている光ネットワーク機器の中心となるのが「光パケットスイッチ」と「光メディアマネージャ」です。まず光パケットスイッチに必要な機能としては、パケットの経路を切り替えるスイッチング機能、パケットのラベルを識別し、経路を決定する機能があります。これに加え、パケットの衝突を回避するためにパケットを一時的に蓄積するバッファリング機能、パケットの送信タイミングを調整するスケジューリング機能が非常に重要です。従来、このようなネットワーク機器の開発においては、デバイスの開発が完了しないと制御ロジックの開発に着手できないという問題がありました。しかしながら、開発期間短縮のために、実際には制御ロジックの開発をデバイスの開発と並行して進められており、開発中の制御ロジックの仕様に変更が生じることが少なくありませんでした。

もう一つの光メディアマネージャとは、既存のネットワーク機器と接続するためのインターフェースを提供する機器です。これに必要な機能としては、既存ネットワークのパケットを受信し、光パケットに変換して送信する、また、その逆に光パケットを受信し、既存ネットワークのパケット、例えばEthernetなどに変換して送信する機能が挙げられています。横河電機の提案する光パケットネットワークでは、最初のステップとして、オリジナルなプロトコルを用いるため、そのプロトコルの実装、パケットの多重化、さらに、誤り訂正符号についても、オリジナルなアルゴリズムに基づく処理を開発し、実装する必要がありました。

ソリューション

まず、光パケットスイッチの開発においては、スケジューリング機能を担う制御回路の仕様をStateflow®にてモデル化し、制御アルゴリズムの設計を行いました。その後、Stateflowで記述した制御仕様をHDLで記述し、HDL Verifier™を用いてRTLの仕様が所望の仕様を満たすかどうかの検証を行いました。

光メディアマネージャの主信号処理部にはFPGAを用いており、多重化、誤り訂正の双方向の処理が2つのFPGAに実装されています。まず、システム全体のアルゴリズムはMATLAB®/Simulink®によって設計しました。その後、一つひとつの処理部をHDLにて個別に開発を行いました。システム全体の動作については入力データをいろいろ変えながらHDL Verifierを使用してすべてSimulink上で統合して検証しました。具体的にはMATLABを用いて任意のフレーム間隔で、任意のEthernetフレームを発生させてシステムモデルへの入力信号とし、ModelSimからの出力結果とMATLAB/Simulinkでアルゴリズム設計したモデルの出力結果を比較し、期待した値が出力されているかを検証することができました。

「この手法はとても有効でした。実際の開発ではどうしてもスケジュールが計画どおりに進まない部分も出てきますし、実機テストの段階で予期せぬ様々なトラブルがあったりするのですが、シミュレーションで様々な条件において評価、検証をすることが実現できました。少なくとも、この手法で開発したFPGA実装部分の動作にはある意味自信を持つことができ、設計エラーの原因をうまく切り分けることができました。」

結果

  • 開発時間の短縮. 従来、非常に時間のかかっていたシステム全体の検証にMATLAB/Simulinkのアルゴリズムモデルを再利用することにより、テストベンチ作成の工数を大幅に削減することができ、その結果、開発期間を短縮することができました。
  • 実機試験の前にほとんど全てのバグを検出. テスト信号を様々な条件、パターンで柔軟に生成することができ、実機試験以前にシミュレーションで非常に多くのバグを検出し、修正することができました。これにより、実機での検証をスムーズに進めることができました。
  • システムモデルをHDL検証用に再利用し、工数を削減. 検証用のデータ生成にはEthernetの負荷試験機などの測定器を用いることも可能ですが、測定器そのものの持つ揺らぎなどもあり、検証データの一貫性に疑問が残ります。この手法ではアルゴリズム設計に用いたデータをそのままHDLの検証に再利用することが可能です。アルゴリズム開発からRTLまで統一した環境下で実施することができ、それぞれの抽象度において新たにテスト信号を用意する工数を削減することができました。