InterDesign Technologies
VisualSpec™ Version4

VisualSpec™ Verion4 製品概要

ハードウェア・ソフトウェア協調設計のすべての局面に対応した最新バージョン!!

VisualSpecは、システムレベル設計において必須とされる、「仕様レベル(Un-timed)/トランザクション精度/サイクル精度」のすべての抽象度の設計に対応した、組み込みシステムシミュレータです。
「仕様モデルシミュレーション」は、アルゴリズムの動作・挙動を確認し、その性能を評価するために行います。「設計詳細化」は、“仕様モデル”の機能モジュールごとにCPU、メモリ、ハードウェアにマッピングして、それらを接続するバス・インタフェースを設計するプロセスです
「設計詳細化」によって得られる“トランザクショ精度モデル” を使ってシステム・アーキテクチャの特性を評価するのが「トランザクション精度HW-SW協調検証」です
「動作合成」によって、C言語記述からハードウェアのRTLモデルを得ることができます。「動作合成」が生成する“サイクル精度モデル”を利用することによって、信号レベルでシステム・アーキテクチャの挙動を評価するのが「トランザクション精度HW-SW協調シミュレーション」です。
VisualSpecは、設計詳細化ツールのSER(カリフォルニア大アーバイン校CECS製)、動作合成ツールCyberWorkBench(NECシステムテクノロジー製)などと連携して、システムレベル設計のための最適な設計ツールチェーンを構成することができます。

VisualSpecには、拡張C言語(SpecC言語)のコンパイラに加えて、モデル記述を図式などを使って視覚的に入力するための「モデルエントリーツール」を備えています。
また、シミュレーション実行時の補助機能として、次のオプションツールを備えています。
「モデルデバッガ」は、拡張C言語(SpecC言語)のソースコードデバッガです。並列に動作する各スレッドの実行を“ブレークポイント設定”、“ステップ実行”、“指定時間実行”などで制御することができ、ソースコード上の各変数値を適宜モニターすることができます。
「Waveformビューア」や「Strip Chartビューア」は、シミュレーション実行中にモデル記述に含まれる変数や信号の値の動的な変化をモニターするための機能です。
「プロファイリングツール」は、シミュレーション結果を分析するための機能です。関数ごとやブロック単位での実行回数や、実行に要した時間(シミュレーション上の論理時間による)の分析が行えます。

拡張C言語によるシミュレーション

PSL言語を使ったデザイン・プロパティのチェック機能を搭載

モデル記述(仕様モデル、トランザクション精度モデル、サイクル精度モデル)は、すべて、拡張C言語(SpecC言語)を使って記述します。また、モデル記述を検証するためのプロパティを、「PSL(Property Specification Language : IEEE P1850標準)」を使って定義することができます。
拡張C言語(SpecC言語)は、ANSI-C言語に対して、並列実行構文、例外処理構文や状態遷移マシン(FSM、FSMD)構文のような組み込みシステムのモデル化に必要な制御構文が追加されている。また、ビットベクター型、シグナル型、イベント型のような、通信や信号を表現するための変数型が追加されています。
シミュレータは、この拡張C言語(SpecC言語)を使って記述されたモデルを、言語変換処理によってC++に変換してから市販のC/C++コンパイラで実行形式ファイルを作って実行します。この言語変換処理の段階で、部分計算や静的スケジューリングの技術を使って、拡張C言語で書かれたモデル記述を高速にシミュレーションできる中間形式に変換している点が特徴です。
拡張C言語(SpecC言語)は、仕様モデルから、トランザクション精度モデル、サイクル精度モデルのすべての抽象度のモデルを扱うことができ、単一のシミュレータですべての抽象度のモデルをシミュレーションすることができます。

超高速なCPUモデルを搭載

VisualSpecには、半導体理工学研究センター(STARC)が開発した、「バジェット追加」技術を使った、演算時間見積り機能が搭載されてます。
「バジェット追加技術」は、ターゲットCPUでの組み込みソフトウェアの実行を、ホスト計算機のネイティブコードで模擬することにより、ISS(Instruction Set Simulator)に比べて100〜1000倍高速なシミュレーションを実現する技術です

仕組みを簡単に説明すると、C言語で書かれたソースコードを ターゲットCPUのクロスコンパイラでアセンブリコードに変換します。そのアセンブリコードを使ってブロック単位の実行サイクル数を解析し、C言語のソース コードにシミュレーション用の時間関数を埋め込んで時間精度付きのシミュレーションモデルを作り出します。こうして作ったモデルをシミュレータに掛けることで、元のC言語のソースコードを、ターゲットCPU上でソフトウェアを動作させるのと同じタイミングで、その実行を模擬してゆくことができるようになります。


Copyright 2001-2010 InterDesignTechnologies,inc. All rights reserved.
No reproduction or republication without written permission.