【JSNUG】SystemCモデル/CPUモデルを使わずにバス性能を評価-ニコン荒蔭氏
2010年10月15日、都内のホテルで開催された「SYNOPSYS USERS MEETING 2010」のレポート。
株式会社ニコン 映像カンパニー 開発本部 第二開発部 第三開発課 荒蔭 雅治氏の講演:
「Platform Architect を使ったバス・アーキテクチャ探求の導入に向けて」
ニコンの荒蔭氏は、デジカメ開発を主体とする映像カンパニーの中で様々な解析業務を担当するCAE部隊の一員。数年前からデジカメにおける電気的領域のシミュレーションに取り組んでいるという事で、デジカメ内部のSoCを想定したバスのパフォーマンス評価について講演した。
荒蔭氏によると、同社ではソフトウェア開発やSoCのアーキテクチャの検討に向けて、以前から市販のESLツールやシステム記述言語の動向に着目。情報収集を進める中でSystemCモデルを用いたシミュレーション手法を一つの解と考えたが、ターゲットをソフト開発とするかハード開発とするかによって用意するモデルに違いがある事を認識していたため、「二兎は追わず」と、まずはハード開発をターゲットにSystemC手法を評価する事に決めた。
評価の題材は社内のニーズを考えSoCのバス・パフォーマンスの検証とし、シノプシスのESLツール「Platform Architect」を使用する事に決めた。ツール選定にあたっては、SystemCおよびOSCI-TLM2.0のサポートやバス・アーキテクチャの検討機能を重要視したが、「Platform Architect」に備えられている「簡易負荷モデル」の作成機能がその選定を決定付けた。SystemCの経験が少ない現場にとって、SystemCモデルやCPUモデルが無くてもバス・パフォーマンスを検証できるかもしれないという可能性は大きかったようだ。
評価に当たり荒蔭氏はバス・パフォーマンスを検証するためのカメラとして最小限のシステム構成を検討。(下図の通り)CPUモデルは簡易シーケンサーで代用し、メモリのモデルは標準的なライブラリを使用。イメージ・データの入力、処理、記録の各モデルを簡易負荷モデルで実装する形とした。合わせてバス・トラフィックの生成方法も検討し、まず「Platform Architect」で用意している汎用バス・マスタ・モデル「GFRBM(Generic File Read Bus Master)」を利用した評価に着手した。
「GFRBM」は、汎用バス・マスタ・モデルとして、トラフィックの発生を簡単に記述でき、インタラプトを制御する機能も備えていたため、荒蔭氏はこれらを活用してイニシエータとCPU側のシーケンスを実現。AXIバスをターゲットにGFRBMでデジカメを想定したトラフィックを発生させ、バスのトラフィックを観測した。観測にあたっては、AXIバスモデルのアビトレーション機能を使ってトラフィックのプライオリティを設定。イメージ入力部の優先度を高くし、イメージ入力のインターバル時間を変えることで他の処理の動きがどう変わるかを確認した。
評価の結果、CPUモデル無し、自作SystemCモデル無しの評価環境であっても、簡易的な負荷モデルを利用することでバス・トランザクションの動きを確認しその数をカウントする事に成功。合わせてバス・モデルをAXIからSBL-301に置き換えた評価にも成功した。
荒蔭氏は、機能的な制約を考えるとGFRBMベースの評価には限界があるとしながらも、GFRBMによる簡易モデルを用いた評価手法は、机上検討よりもSoCをイメージできたと評価。「Platform Architect」の可視化能力については、解析対象が簡単なほど「直感的で分り易い」と褒めていた。
SystemCとESLツールを使って性能評価となると、とかく話が大きくなりがちであるが、今回の取り組みは「的を絞って必要最小限の評価」というコンセプトに首尾一貫されたもので、ある意味新鮮、ESL導入の正攻法と感じられた。次なるステップへの課題出しという隠れた目的も達成された様子で、同社の今後の展開に期待したい。
= EDA EXPRESS 菰田 浩 =
(2010.10.30
)