(57)【要約】【課題】回路仕様記述の多義性を把握することができ、且つ、回路仕様記述中の各部分式が、信号波形中のどの部分に対応するかを容易に把握することができる回路仕様記述視覚化装置を提供する。【解決手段】設計解析装置１は、アサーション記述の構造データを生成する回路仕様記述解析部２２と、構造データからアサーション記述が成立する複数の成立パターンのデータを生成する成立パターン生成部２３と、各成立パターンのデータに基づいてアサーション記述により規定された回路における各信号の波形データと、各信号の波形とアサーション記述の部分式との対応関係を示す対応関係データとを生成する適合波形演算部２４と、構造データと波形データと対応関係データに基づいて、各成立パターンにおいて各部分式と各信号の波形との対応関係を示す図を表示するための表示データを出力する表示データ出力部２５とを有する。【選択図】図２
2010198363.tif 000002
【特許請求の範囲】
【請求項１】
回路仕様記述を構文解析して、前記回路仕様記述に含まれる部分式の構造データを生成する回路仕様記述解析部と、
前記回路仕様記述解析部によって生成された前記構造データから、前記回路仕様記述が成立するパターンを場合分けした複数の成立パターンのデータを生成する成立パターン生成部と、
前記成立パターン生成部によって生成された各成立パターンのデータに基づいて、前記回路仕様記述により規定された回路における少なくとも１つの信号の波形データを生成する波形データ生成部と、
前記各成立パターンのデータに基づいて、前記少なくとも１つの信号の波形と、前記回路仕様記述に含まれる部分式との対応関係を示す対応関係データを生成する対応関係データ生成部と、
前記構造データと前記波形データと前記対応関係データとに基づいて、前記各成立パターンにおいて、前記回路仕様記述に含まれる部分式と前記少なくとも１つの信号の波形との対応関係を示す図を表示するための表示データを出力する表示データ出力部と、
を有することを特徴とする回路仕様記述視覚化装置。
【請求項２】
前記表示データ出力部は、前記対応関係の一部、或いは前記波形の一部が指定されたときに、指定された対応関係部分に対応する波形部分と部分式、或いは指定された波形部分に対応する対応関係部分と部分式を識別可能に表示することを特徴とする請求項１に記載の回路仕様記述視覚化装置。
【請求項３】
前記表示データ出力部は、前記対応関係の一部、或いは前記波形の一部が指定されたときに、指定された対応関係部分についての親或いは子の関係を有する対応関係部分と部分式を識別可能に表示することを特徴とする請求項１に記載の回路仕様記述視覚化装置。
【請求項４】
前記成立パターン生成部により生成された前記複数の成立パターンのデータは、所定の条件に基づいて、グループ分けされることを特徴とする請求項１に記載の回路仕様記述視覚化装置。
【請求項５】
回路仕様記述を構文解析して、前記回路仕様記述に含まれる部分式の構造データを生成し、
生成された前記構造データから、前記回路仕様記述が成立するパターンを場合分けした複数の成立パターンのデータを生成し、
生成された各成立パターンのデータに基づいて、前記回路仕様記述により規定された回路における少なくとも１つの信号の波形データを生成し、
前記各成立パターンのデータに基づいて、前記少なくとも１つの信号の波形と、前記回路仕様記述に含まれる部分式との対応関係を示す対応関係データを生成し、
前記構造データと前記波形データと前記対応関係データに基づいて、前記各成立パターンにおいて、前記回路仕様記述に含まれる部分式と前記少なくとも１つの信号の波形との対応関係を示す図を表示するための表示データを出力する、
ことを特徴とする回路仕様記述視覚化方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、回路仕様記述視覚化装置及び回路仕様記述視覚化方法に関し、特に、回路仕様記述を用いた半導体集積回路を設計するための回路仕様記述視覚化装置及び回路仕様記述視覚化方法に関する。
【背景技術】
【０００２】
従来より、半導体集積回路の設計において、回路仕様は、自然言語、あるいはプロパティ記述言語を用いて記述され、その記述に基づいて、その半導体集積回路の設計が行われている。
【０００３】
回路仕様記述が自然言語で記述される場合、自然言語の持つ多義性すなわち曖昧さによって、設計者間で認識の不一致が生じ、結果として設計された回路が動作しない、等の不具合が発生する虞がある。回路仕様記述をプロパティ記述言語（SVA、PSL等）で記述することにより、記述の多義性すなわち曖昧さの一部は、解消され得るが、十分に解消されるわけではない。
【０００４】
例えば、「reqがアサートされたら、ackがアサートする」という自然言語で書かれた回路仕様をプロパティ記述言語で記述するときに、信号の極性及び、req-ack間のサイクル数が曖昧なままではプロパティ記述を記述することは出来ない。そのため、通常は、これらの曖昧さは自然言語からプロパティ記述言語へ変換する際に解消される。
【０００５】
しかし、たとえプロパティ記述言語を用いて回路仕様を記述したとしても、回路仕様記述の多義性すなわち曖昧さを十分に解消できるとは言いきれない。例えば、自然言語で記述された「reqがアサートされたら、ackがアサートする」という回路仕様を、プロパティ記述言語であるSVAで記述した「req  |=>  ack」という回路仕様で記述しても、reqが１になった次のサイクルでreqが１と０のいずれになるのか、ackは1に成るサイクルの前のサイクルで１と０のいずれであるのか、は不明である。なお、「req  |=>  ack」という回路仕様は、自然言語で正確に表現すると、reqが１のとき１サイクル後にackが１になる、ということを意味する。さらに、reqが１になる前のサイクルにおける、reqのステータス、すなわち１なのか０なのかも不明である。
【０００６】
言い換えれば、上述したようなプロパティ言語で記述した回路仕様においても、１つの回路仕様記述に対して複数の信号のパターン、すなわちパスパターン、が存在し得る。ところが、設計者は自分の記述した回路仕様記述がどの程度の曖昧さを持っているかを知る手段が無いために、設計者の意図が正確に伝わらない場合が多々生じて、上述したような不具合の発生に繋がっていた。
【０００７】
設計対象の回路の検証を円滑かつ効率的に行う論理回路動作検証装置も提案されている（例えば、特許文献１参照）。しかし、その提案においても、設計者は自分の記述した回路仕様記述がどの程度の曖昧さを持っているかを知る方法についてはなんら開示されていない。
【０００８】
そして、回路仕様記述中の各部分式が、信号波形中のどの部分に対応するかが解りづらいため、設計者は、そのアサーションの意味を容易に理解できず、アサーションの修正も容易ではない。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開平５−１０１１３２号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
そこで、本発明は、回路仕様記述の多義性を把握することができ、且つ、回路仕様記述中の各部分式が、信号波形中のどの部分に対応するかを容易に把握することができる回路仕様記述視覚化装置及び回路仕様記述視覚化方法を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明の一態様によれば、回路仕様記述を構文解析して、前記回路仕様記述に含まれる部分式の構造データを生成する回路仕様記述解析部と、前記回路仕様記述解析部によって生成された前記構造データから、前記回路仕様記述が成立するパターンを場合分けした複数の成立パターンのデータを生成する成立パターン生成部と、前記成立パターン生成部によって生成された各成立パターンのデータに基づいて、前記回路仕様記述により規定された回路における少なくとも１つの信号の波形データを生成する波形データ生成部と、前記各成立パターンのデータに基づいて、前記少なくとも１つの信号の波形と、前記回路仕様記述に含まれる部分式との対応関係を示す対応関係データを生成する対応関係データ生成部と、前記構造データと前記波形データと前記対応関係データに基づいて、前記各成立パターンにおいて、前記回路仕様記述に含まれる部分式と前記少なくとも１つの信号の波形との対応関係を示す図を表示するための表示データを出力する表示データ出力部と、を有する回路仕様記述視覚化装置を提供することができる。
【００１２】
本発明の一態様によれば、回路仕様記述を構文解析して、前記回路仕様記述に含まれる部分式の構造データを生成し、生成された前記構造データから、前記回路仕様記述が成立するパターンを場合分けした複数の成立パターンのデータを生成し、生成された各成立パターンのデータに基づいて、前記回路仕様記述により規定された回路における少なくとも１つの信号の波形データを生成し、前記各成立パターンのデータに基づいて、前記少なくとも１つの信号の波形と、前記回路仕様記述に含まれる部分式との対応関係を示す対応関係データを生成し、前記構造データと前記波形データと前記対応関係データとに基づいて、前記各成立パターンにおいて、前記回路仕様記述に含まれる部分式と前記少なくとも１つの信号の波形との対応関係を示す図を表示するための表示データを出力する回路仕様記述視覚化方法を提供することができる。
【発明の効果】
【００１３】
本発明によれば、回路仕様記述の多義性を把握することができ、且つ、回路仕様記述中の各部分式が、信号波形中のどの部分に対応するかを容易に把握することができる回路仕様記述視覚化装置及び回路仕様記述視覚化方法を提供することができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の第１の実施の形態に係わる回路仕様記述設計解析装置の構成を示す構成図である。
【図２】本発明の第１の実施の形態に係わる、設計解析装置のアサーション視覚化プログラムのソフトウエア構成を示すブロック図である。
【図３】本発明の第１の実施の形態に係わる成立パターン生成部の処理内容を説明するための図である。
【図４】本発明の第１の実施の形態に係わる適合波形演算部の処理内容を説明するための図である。
【図５】本発明の第１の実施の形態に係わる画面表示部に表示される画面の例を示す図である。
【図６】本発明の第１の実施の形態に係わる、設計解析装置のアサーション視覚化処理の流れの例を示すフローチャートである。
【図７】本発明の第２の実施の形態に係わる画面例を示す図である。
【図８】本発明の第２の実施の形態に係わる他の画面例を示す図である。
【図９】本発明の第２の実施の形態に係わる適合波形演算部の処理内容の例を説明するための図である。
【図１０】本発明の第３の実施の形態に係わる画面例を示す図である。
【図１１】本発明の第３の実施の形態に係わる他の画面例を示す図である。
【図１２】本発明の第４の実施の形態に係わるグループ分けを説明するための図である。
【図１３】本発明の第４の実施の形態に係わる、グループ分けされた各ケースを選択するための波形選択部の例を示す図である。
【図１４】条件が値の範囲を規定する場合における波形の表示形式の例を説明するための図である。
【発明を実施するための形態】
【００１５】
以下、図面を参照して本発明の実施の形態を説明する。  
（第１の実施の形態）
（構成）
まず、図１に基づき、本発明の第１の実施の形態に係わる回路仕様記述設計解析装置の構成を説明する。図１は、本実施の形態に係わる回路仕様記述設計解析装置の構成を示す構成図である。以下、回路仕様記述設計解析装置を、設計解析装置という。
【００１６】
設計解析装置１は、中央処理装置（CPU）、ROM、RAM等を含む装置本体１１と、キーボード、マウス等の入力装置１２と、表示装置１３と、ハードディスク装置等の外部記憶装置１４とを有してなるパーソナルコンピュータ（PC）等のコンピュータである。設計者が作成する設計データが外部記憶装置（以下、単に記憶装置ともいう）１４に記憶されている。さらに、後述するような回路仕様記述を解析して視覚化するアサーション視覚化プログラム（AVP）１４ａが、外部記憶装置１４に記憶されている。記憶装置１４は、視覚化のためのデータを記憶するための領域であるデータ部１４ｂを有する。
【００１７】
半導体装置の回路を設計する設計者は、設計解析装置１を用いて、回路設計をするが、特に、後述するような回路仕様を各種言語で入力することができる。  
設計解析装置１は、設計された回路仕様記述の内容を、後述するように視覚化するので、回路仕様記述視覚化装置ということができる。
【００１８】
なお、本実施の形態では、設計解析装置１は、１つのコンピュータであるが、複数の設計者が設計解析装置１を利用する場合には、ネットワークに接続された端末装置からセンタ装置としての設計開発装置にアクセスできるようにして、複数の設計者が同様の回路仕様記述を入力して視覚化できるようにしてもよい。
【００１９】
また、回路仕様記述視覚化装置としての設計解析装置１には、一般にEDA(Electronic Design Automation)等の設計支援のソフトウエアが搭載されており、その機能の一部を実現するツールとして、本実施の形態のおよび後述する他の実施の形態における視覚化処理部が設けられている。よって、以下の説明では、その一部の機能としての視覚化処理部について説明し、他の機能の処理部については、説明は省略する。
【００２０】
図２は、設計解析装置１のアサーション視覚化プログラムのソフトウエア構成を示すブロック図である。  
図２に示すように、設計解析装置１のアサーション視覚化プログラム（AVP）１４ａは、回路仕様記述解析部２２と、成立パターン生成部２３と、適合波形演算部２４と、表示データ出力部２５とを含んで構成される視覚化処理部である。
【００２１】
回路仕様記述解析部２２は、設計者が記述した回路仕様記述であるアサーション記述ADのテキストデータを入力して構文解析して、回路仕様記述に含まれる部分式の構造データとしてのアサーション構造データASを生成する処理部である。
【００２２】
回路仕様記述解析部２２により生成されて得られたアサーション構造データASは、一般的には、構文解析木データである。以下、次のアサーション記述例を挙げて説明する。
【００２３】
a##[2:4]$rose(b) or c  ・・・  （記述例１）
記述例１のアサーション記述は、全体がOR演算を示す「or」で分割され、さらに、遅延が「2,3,4」の３つの場合を有することを意味する記述である。回路仕様記述解析部２２によって得られるアサーション構造データASは、そのアサーション記述ADを構文解析処理して得られる、構文木構造のデータである。構文木構造のデータは、アサーション記述ADに含まれる部分式の木構造データである。アサーション構造データASは、成立パターン生成部２３と、表示データ出力部２５において利用される。
【００２４】
成立パターン生成部２３は、アサーション構造データASを読み込み、成立パターンデータAPを生成する処理部である。成立パターンデータAPは、上述したアサーション記述ADの記述例１の場合、OR（論理和）演算の左辺が成立する場合と右辺が成立する場合、遅延時間が２の場合と３の場合のように、記述されたアサーションがどの様に成立するかを場合分けした場合分けを示すデータである。すなわち、成立パターン生成部２３は、回路仕様記述解析部２２によって生成されたアサーション構造データASから、アサーションが成立するパターンを場合分けした複数の成立パターンデータAPを生成する。
【００２５】
ここで、図３を用いて、成立パターン生成部２３の処理内容を説明する。図３は、成立パターン生成部の処理内容を説明するための図である。
【００２６】
成立パターン生成部２３が出力する成立パターンデータAPは、アサーション構造データASに基づいて、アサーション記述の内容を可能な限り場合分けした場合のデータである。記述例１の場合、符号１２１で示すアサーション構造データASが読み込まれる。その符号１２１で示すアサーション構造データASは、まず、OR演算について左辺部が成立するケース１２２と、右辺部が成立するケース１２３とに場合分けされる。
【００２７】
更に、ケース１２２は、遅延が２のケース１２４、遅延が３のケース１２５、遅延が４のケース１２６の３つに場合分けされる。ケース１２３、１２４、１２５及び１２６は、それぞれ、それ以上場合分けできないので、これらの４つが成立パターンとなる。これらの４つの成立パターンを示すデータが、適合波形演算部２４における処理において利用される成立パターンデータAPである。
【００２８】
適合波形演算部２４は、成立パターンデータAPを入力として、成立パターン毎に、アサーションを成立させる波形データWVと、アサーションの構造と波形データとの対応関係データCRを求める処理部である。対応関係データCRは、波形データWVと、アサーション記述ADに含まれる部分式との対応関係を示すデータである。
【００２９】
図４を用いて適合波形演算部２４の処理内容を説明する。図４は、適合波形演算部の処理内容を説明するための図である。
【００３０】
図４において、ケース１２５は、図３内のケース１２５と同一であり、アサーション記述ADの「or」の左辺部が成立し、且つ遅延が３の場合の成立パターンである。
【００３１】
適合波形演算部２４により、この成立パターンに関する波形データWVと対応関係データCRが生成される。適合波形演算部２４は、成立パターン生成部２３によって生成された各成立パターンのデータに基づいて、アサーション記述ADにより規定された回路における少なくとも１つの信号の波形データWVを生成する波形データ生成部であると同時に、各成立パターンのデータに基づいて、少なくとも１つの信号の波形データWVと、アサーション記述ADに含まれる部分式との対応関係を示す対応関係データCRを生成する対応関係データ生成部でもある。
【００３２】
図４において、波形データWVの例として、表形式の波形データ１３１が示され、対応関係データCRの例として、対応関係データ１３２が示されている。
【００３３】
ケース１２５の成立パターンについて、波形データ１３１と対応関係データ１３２がどのように求められるかについて説明する。ケース１２５の成立パターンデータAPの構文木構造のデータから、その構文木の各節を辿りながら、波形データ１３１と対応関係データ１３２の構築が進められてゆく。
【００３４】
まず、開始サイクルT0において、ケース１２５のアサーション構造データASの最初の葉に当たる節(node)１３５についてみると、部分式である論理式「a」を成立させる為には信号ａのサイクルT0における値を「１」とする必要がある。よって、適合波形演算部２４は、表形式の波形データ１３１の欄（field）１４７に「１」を書き込み、節１３５がサイクルT0で成立することを示す節１４２を対応関係データ１３２内に生成する。
【００３５】
次に、節１４２の完了サイクルT0において節１３６をみると、遅延が３の場合なので、サイクルT0からT3まで遅延時間が及ぶことを示す節１４３が生成される。
【００３６】
次に、節１４３の完了サイクルT3における節１３７についてみると、節１３７は、部分式である「$rose」（立ち上がり）演算の節であり、オペランドである信号ｂの値が１サイクル前のサイクルT2で「０」、サイクルT3で「１」である必要がある。よって、適合波形演算部２４は、波形データ１３１内の欄１４８に「０」を、欄１４９に「１」を書き込む。
【００３７】
波形生成部としての適合波形演算部２４は、さらに、節１３８がサイクルT2で成立しないことを示す節１４５、節１３８がサイクルT3で成立することを示す節１４６、及び節１３７がサイクルT2からT3において成立することを示す節１４４を生成し、節１４４から子の節１４５と１４６へのリンクを張る。
【００３８】
次に節１３４の処理に移ると、節１３４は、連接演算であり、最初のオペランドの節１３５に対応する節１４２の開始サイクルがT0、最後のオペランドの節１３７に対応する節１４４の完了サイクルがT3である。よって、適合波形演算部２４は、節１３４の演算がサイクルT0からT3まで成立することを示す節１４１を生成し、子の節１４２、１４３、１４４へのリンクを張る。
【００３９】
最後に根の節１３３についてみると、左辺部(a##[2:4]$rose(b))が成立する場合なので、適合波形演算部２４は、左辺部に相当する節１３４と同様にサイクルT0からT3まで節１３３の演算が成立することを示す節１４０を生成し、子の節１４１へのリンクを張る。節１３３の右辺の節１３９は辿る必要はない。
【００４０】
尚、ケース１２５の上述した例では生じなかったが、波形データ１３１に値を書き込む際に、既に値が埋まっている欄に異なる値を書き込む必要が生じた場合は、そのような波形は生成できないということになるので、その成立パターンは破棄される。
【００４１】
以上は、ケース１２５についての例であるが、他の場合についても同様にして、波形データWVと対応関係データCRが生成され、表示データ出力部２５に供給されて利用される。表示データ出力部２５は、アサーション構造データASと波形データWVと対応関係データCRに基づいて、ここでは、４つのパターンについて、後述するような、アサーション記述ADに含まれる部分式と、信号波形との対応関係を示す図を生成する。
【００４２】
なお、記憶装置１４には、アサーション構造データASと、成立パターンデータAPと、波形データWVと、対応関係データCRとが、データ部１４ｂに記憶される。
【００４３】
表示データ出力部２５は、アサーション構造データASと、波形データWVと、対応関係データCRに基づいて、表示装置１３の画面表示部１３ａ上に表示する画面（図５）の表示データDDを生成して、出力する。画面上に表示された画面には、設計者がアサーションの意味を容易に把握できるように、アサーションの各場合について、各部分式と各波形の対応関係が視覚化されて表示される。
【００４４】
図５は、その表示装置１３の画面表示部１３ａに表示される画面の例を示す図である。  
設計者は、設計データ中のアサーションを視覚化したい場合、所定のコマンドを入力あるいは指定することによって、図５のような画面を表示装置１３に表示させることができる。図５は、アサーション記述が入力された場合の結果の１つを表示している。
【００４５】
表示装置１３の画面表示部１３ａは、視覚化対象アサーション表示部４１と、波形選択部４２と、波形表示部１０１と、構造表示部１０２と、対応表示部１０３とを含んで構成されている。
【００４６】
視覚化対象アサーション表示部４１は、設計者が視覚化させたいアサーションを表示する表示部である。そのアサーションの表示は、例えば、視覚化対象アサーション表示部４１に、ユーザが所望のアサーションを直接入力する、あるいは別のウインドウ等に表示されている複数のアサーション記述の中からそのアサーションを選択することによって行われる。画面表示部１３ａ上の視覚化対象アサーション表示部４１に視覚化したいアサーションが表示されるので、ユーザは、分析対象のアサーションの内容を容易に確認することができる。図５の視覚化対象アサーション表示部４１は、上述した記述例１のアサーションが視覚化のために入力あるいは選択されたことを示している。
【００４７】
波形選択部４２は、アサーションを成立させる１つ以上の成立パターンの波形の中から、どの成立パターンの波形を表示するかを選択するために用いられる表示部である。波形選択部４２は、波形番号表示部１０７、前ボタン１０８、次ボタン１０９により構成される。図５では、波形番号表示部１０７には、「２／４」と表示されている。これは、４つのパターンのうちの２番目の波形が選択されていることを示している。すなわち、左側は順位を示し、右側は全成立パターン数を示している。
【００４８】
ユーザである設計者は、前ボタン１０８あるいは次ボタン１０９上に、マウスによりカーソルを移動させて、クリックすることによって、表示する成立パターンの波形を変更できる。例えば、図５の状態において、前ボタン１０８をクリックすることによって、１番目のパターンの波形が表示される。この場合、波形番号表示部１０７には、「１／４」が表示される。また、図５の状態において、次ボタン１０９をクリックすることによって、３番目のパターンの波形が表示される。この場合、波形番号表示部１０７には、「３／４」が表示される。
【００４９】
よって、波形選択部４２は、図５の画面上に表示する成立パターンを選択するためのパターン選択部を構成する。  
なお、ここでは極簡単な例を示したが、スライダー等ボタン以外の部品を用いたり、キーボードから波形番号を入力したり、一覧表から選択する等、様々なバリエーションの方法を用いてもよい。
【００５０】
図５において、波形表示部１０１と、構造表示部１０２と、対応表示部１０３とが、部分式と波形の対応関係を示す図を構成する。すなわち、波形表示部１０１と構造表示部１０２と対応表示部１０３とを含む対応関係を示す図は、アサーション記述ADに含まれる各部分式と各信号の波形との対応関係を示す。
【００５１】
波形表示部１０１には、選択された成立パターンの１以上の信号波形を示す波形図が表示される。図５は、波形表示部１０１には、２番目の成立パターンの３つの信号の波形の波形図が表示されている。図５の例では、信号ａの値は、サイクルT0において「１」、他のサイクルでは任意（Ｄで示す）であり、信号ｂの値は、サイクルT2で「０」、サイクルT3で「１」、他のサイクルでは任意であり、信号ｃの値は、各サイクルで任意である波形を表している。波形表示部１０１において、アサーション記述ADにおいて定義されている箇所には、確定している値が設定されて表示され、値の確定していない箇所には、多義性を示す所定の記号としての「D」が表示される。すなわち、波形表示部１０１には、波形データWVに基づいて、少なくとも１つの信号についての複数のタイミングにおける各波形を示す波形図が表示される。
【００５２】
構造表示部１０２は、アサーションの構造を表示する表示部である。図５では、記述例１のアサーション記述を構文解析した結果である木構造が、部分式の木構造で示されている。
【００５３】
対応表示部１０３は、波形表示部１０１に表示された１以上の波形の各部分と、構造表示部１０２に表示されたアサーションの構造の各部分との、対応関係を表示する表示部である。対応表示部１０３では３種類の帯記号が使われている。アサーションの全体或いは各部分式が、成立する期間を白い帯により、成立しない期間を網目の帯により、そして遅延の期間を斜線の帯により、示されている。
【００５４】
対応表示部１０３の各帯の位置は、波形表示部１０１における各波形のタイミングと合うように横方向において位置合わせされて表示され、かつ構造表示部１０２の対応する各部分式と合うように縦方向において位置合わせされて一致するように表示される。
【００５５】
例えば、白い帯である帯部１０４は、点線DL1で示すように、横方向における位置が波形表示部１０１内のサイクルT2からT3の期間と同じ位置になるように表示され、かつ、点線DL2で示すように、縦方向の位置が構造表示部１０２内の「$rose」の節と同じ位置になるように表示されているので、波形のサイクルT2からT3の部分が、アサーションの部分式「$rose(b)」を成立させることを示している。
【００５６】
また、網目の帯である帯部１０５は、横方向の位置が波形表示部１０１内のサイクルT2の期間と同じ位置になるように表示され、かつ縦方向の位置が構造表示部１０２内の「b」の節と同じ位置になるように表示されているので、波形のサイクルT2の部分が、アサーションの部分式「b」を成立させない事を示している。
【００５７】
斜線の帯である帯部１０６は、横方向の位置が波形表示部１０１内のサイクルT0からT3の期間と同じ位置で、縦方向の位置が構造表示部１０２内の「##[2:4]」の節と同じ位置であるので、波形のサイクルT0からT3の部分が、アサーションの部分式「##[2:4]」の遅延時間に対応することを示している。  
以上のように、対応表示部１０３は、各部分式が、波形のどの部分に対応するかを示している。
【００５８】
上述したように、波形表示部１０１と構造表示部１０２と対応表示部１０３とを含む対応関係を示す図は、アサーション記述ADに含まれる各部分式と各信号の波形との対応関係を示す。  
その結果、ユーザは、対応関係を示す帯部がどの波形のどの部分に対応しているのか、及びその帯部がどの部分式に対応しているものであるかを、容易に把握することができる。
【００５９】
従って、図５の画面をみれば、ユーザは、所望のアサーションについて選択した成立パターンにおいて、波形のどの期間の部分がアサーションのどの部分式に対応するかを容易に把握することができる。
【００６０】
（動作）
次に、設計解析装置１の動作について説明する。設計者が、装置本体１１に接続された入力装置１２と表示装置１３とを用いて、設計者が所定のコマンドを入力することによって、設計解析装置１は、アサーション視覚化プログラム（AVP）１４ａを実行させて、アサーション視覚化のための所定の処理を実行する。
【００６１】
図６は、設計解析装置１のアサーション視覚化処理の流れの例を示すフローチャートである。回路仕様記述視覚化プログラムであるアサーション視覚化処理プログラム（AVP）１４ａは、記憶装置１４に予め記憶されており、本体装置１１のCPUが所定のコマンドに応じて、読み出して実行する。以下、アサーションが上述した記述例１の場合で、動作を説明する。
【００６２】
まず、上述した図５の画面表示部１３ａが表示され、ユーザは、視覚化したいアサーションを入力あるいは選択すると、画面表示部１３ａ上の視覚化対象アサーション表示部４１に入力あるいは選択されたアサーションが表示される。
【００６３】
そして、所定のコマンドを入力すると、図６の処理が実行される。  
まず、ユーザにより指定されたアサーション記述ADのテキストデータは、回路仕様記述解析部２２により、構文解析されて、回路仕様記述構造データであるアサーション構造データASが生成され、記憶装置１４のデータ部１４ｂに記憶される。生成されたアサーション構造データASは、ここでは、構文解析木データである。
【００６４】
次に、アサーション構造データASに基づいて、成立パターン生成部２３は、成立パターンデータAPを生成し、データ部１４ｂに記憶する。上述したように、成立パターンデータAPは、記述されたアサーションがどの様に成立するかを示す場合分けデータである。記述例１のアサーションの場合、成立パターンデータAPは、図３に示すケース１２３から１２６の４つの成立パターンを示す場合分けデータである。
【００６５】
適合波形演算部２４は、成立パターンデータAPに基づいて、図４に示したように、成立パターン毎に、アサーションを成立させる波形データWVと、アサーションの構造と波形データとの対応関係データCRを算出して得て、データ部１４ｂに記憶する。
【００６６】
表示データ出力部２５は、アサーション構造データASと、波形データWVと、対応関係データCRに基づいて、図５に示す対応関係を示す図を含む画面を画面表示部１３ａ上に表示するための表示データDDを生成して、出力する。
【００６７】
表示データDDは、図５における波形表示部１０１と、構造表示部１０２と、対応表示部１０３とを含み、かつ画面表示部１３ａ上において、波形表示部１０１の各波形と、構造表示部１０２の各部分式との対応が判るように、対応表示部１０３の対応関係を示す帯部を、上述したように位置させて表示するためのデータを含む。
【００６８】
視覚化するアサーションが指定されると、記述例１の場合、最初は、上述した最初の成立パターン、すなわち「１／４」のパターン、の波形図を含む波形表示部１０１と、構造表示部１０２と、対応表示部１０３が表示されるように、表示データ出力部２５は、データを生成する。
【００６９】
なお、上述したように、成立パターンが複数あるときには、波形選択部４２により、複数の成立パターンの中から所望のパターンを選択することができるので、各成立パターンにおいて、各波形と各部分式との対応を容易に把握することができる。
【００７０】
よって、設計者は、そのアサーションの意味を容易に理解できて、アサーションの修正も容易になる。
【００７１】
なお、上述した例では、適合波形演算部２４は、成立する全てのパターン、記述例１の場合は４つのパターン、に対応する波形データ等を一回で生成しているが、波形選択部４２においてパターンの選択があったら、その都度、適合波形演算部２４が波形データWVと、対応関係データCRを生成するようにしてもよい。
【００７２】
以上のように、本実施の形態の設計解析装置１によれば、設計者にとって、アサーション記述の各成立パターンにおける各波形と各部分式との対応関係を解り易く表示するので、設計者は、アサーションの意味を理解できて、アサーションの修正も容易になる。
【００７３】
（第２の実施の形態）
第２の実施の形態に係る設計解析装置は、対応関係を示す図において、対応関係の一部、或いは波形の一部が指定されたときに、指定された対応関係部分に対応する波形部分と部分式、或いは指定された波形部分に対応する対応関係部分と部分式を識別可能に表示するようにした点が、第１の実施の形態と異なる。
【００７４】
第２の実施の形態に係る設計解析装置の構成は、第１の実施の形態の設計解析装置と同様であるが、このような表示を可能にするために、後述するようにデータ構造が異なっている。後述するように、第１の実施の形態においては、波形データWVは、成立パターン毎に１つ生成されているが、本実施の形態においては、波形データWVは、対応関係部分毎に１つ生成される。
【００７５】
第２の実施の形態に関わる設計解析装置における表示例について説明する。第１の実施の形態と同じ構成要素については、同じ符号を付し、説明は省略する。  
図７は、上述した記述例１のアサーション記述におけるケース１２５が選択されたときの画面例を示す図である。
【００７６】
設計者が対応表示部１０３内の帯部１０４に設計者が着目しており、設計者は、対応関係の一部である帯部１０４をマウスでクリックする等して、帯部１０４に着目していることを設計解析装置１に知らせることができる。
【００７７】
図７に示すように、記述例１のケース１２５において、対応表示部１０３における帯部１０４が、マウスを用いてクリックされると、波形表示部１０１において帯部１０４に対応する波形部分の位置が、丸印２０７と２０８により示される。このように、対応する波形部分が、丸印２０７と２０８により他の波形部分とは識別されるように示される。
【００７８】
さらに、同時に、構造表示部１０２における、部分式「$rose」の節に対応する部分の位置が、丸印２０６により示される。すなわち、対応する部分式が、丸印２０６により、他の部分式とは識別されるように示される。
【００７９】
すなわち、図７は、設計者が所望のアサーション記述ADについて、設計者が、対応表示部１０３内の白い帯記号で示された帯部１０４に着目している場合を示している場合に、設計者は帯部１０４をマウスでクリックする等することによって、帯部１０４に着目していることを設計解析装置に知らせると、その帯部１０４に対応する波形部分と部分式との対応関係を確認することができる。
【００８０】
上述したように、波形表示部１０１には、設計者が着目している帯部１０４に対応する波形の一部分が丸印２０７及び２０８で強調表示される。そして、構造表示部１０２には、アサーション記述の木構造が示されており、構造表示部１０２には更に、設計者が着目している帯部１０４に対応するアサーション記述の一部分が、丸印２０６で強調表示される。
【００８１】
対応表示部１０３では更に、設計者が着目している帯部１０４が丸印２０５で強調表示される。  
対応表示部１０３には、波形表示部１０１に表示された波形の各部分と、構造表示部１０２に表示されたアサーションの構造の各部分式との、対応関係が表示される。対応表示部１０３では、３種類の帯記号が対応関係を示す記号として使われており、それらの意味は図５と同じである。
【００８２】
図８は、上述した記述例１のアサーション記述におけるケース１２５が選択されたときの画面例を示す図である。
【００８３】
設計者が波形表示部１０１内のサイクルT2において信号ｂの値が「０」であることを示す波形部分２１０に設計者が着目しており、設計者は波形部分２１０をマウスでクリックする等して、波形部分２１０に着目していることを設計解析装置１に知らせることができる。
【００８４】
今度は、図８に示すように、記述例１のケース１２５において、波形表示部１０１における波形の一部２１０をマウスを用いてクリックすると、波形表示部１０１において信号ｂの値が「０」の部分が、丸印２１１により、選択されたことが示される。
【００８５】
そして、波形部分２１０に対応する対応表示部１０３の帯部の位置が、丸印２１２により示される。さらに、波形部分２１０に対応する構造表示部１０２の部分式である節が、丸印２１３によって、他の部分式とは識別されるように示される。
【００８６】
このように、注目する波形部分に対応する対応表示部の帯部と、構造表示部１０２の部分式が、それぞれ丸印２１２と２１３により他の波形部分とは識別されるように示される。
【００８７】
上述したように、構造表示部１０２には、アサーション記述の木構造が示されており、構造表示部１０２には更に、設計者が着目している波形２１０に対応するアサーション記述の一部分が、丸印２１３で強調表示される。さらに、対応表示部１０３において、波形表示部１０１において選択された波形２１０に対応する帯部１０５が丸印２１２で強調表示される。
【００８８】
本実施の形態に係る設計解析装置によれば、設計者が注目する部分を指定すると、その指定された波形に対応する帯部と部分式が、他の部分とは識別可能に表示される。よって、設計者は、アサーションの意味を容易に理解して、容易に修正をすることができる。
【００８９】
以上のような識別可能な表示を実現するために、適合波形演算部２４は、成立パターンが入力されると、各成立パターン毎に、アサーションを成立させる波形データWVと、アサーションの構造と波形との対応関係データCRを求める。このとき、適合波形演算部２４は、波形データWVと対応関係データCRのデータとして、以下のようなデータ構造のデータを生成する。
【００９０】
図９を用いて、本実施の形態における適合波形演算部２４の処理内容を説明する。図９は、本実施の形態における適合波形演算部２４の処理内容の例を説明するための図である。図９中のケース１２５は、図３内のものと同一であり、OR演算の左辺が成立し、且つ遅延が３の場合の成立パターンである。この成立パターンについて、波形データ２３１と対応関係データ２２０を求める場合を考える。
【００９１】
本実施の形態において、第１の実施の形態との違いは、波形データWVと対応関係データCRを記憶する場合に、波形データを格納する領域は、全体で１つではなく、対応表示部１０３の対応関係データの各節に対応して設けられるようにしたことである。図９においては、それぞれが対応関係部分である各節２２１から２２７と波形データ２３１から２３７とは、それぞれ一点鎖線で結んで示されている。
【００９２】
根の節の波形データ２３１が全体に対する波形データとなる。また、第１の実施の形態では不要だったが、対応関係データ２２０の各節を生成する際に、成立パターン１２５内の対応する節１３３から１３９へ、各リンクが張られる。図９では、各リンクは、点線の矢印で示されている。
【００９３】
成立パターン１２５の各節を辿りながら、対応関係データ２２０及び対応関係データ２２０内の各節の波形データの構築が行われる。  
まず、開始サイクルT0において節１３５に着目すると、論理式「a」を成立させる為には信号ａのサイクルT0における値を「１」とする必要があるので、適合波形演算部２４は、節１３５がサイクルT0で成立することを示す節２２３を対応関係データ２２０内に生成し、その対応関係データ２２０に対応する波形データ２３３内のサイクルT0におけるａの値として「１」を書き込む。
【００９４】
次に、節２２３の完了サイクルT0において節１３６をみると、遅延が３の場合なので、適合波形演算部２４は、サイクルT0からT3まで遅延時間が及ぶことを示す節２２４を生成する。
【００９５】
そして、適合波形演算部２４は、節２２４の完了サイクルT3において節１３７をみると、節１３７は、$rose（立ち上がり）演算の節であり、オペランドである信号ｂの値が１サイクル前（すなわちサイクルT2）で「０」、サイクルT3で「１」である必要があるので、適合波形演算部２４は、節１３８がサイクルT2で成立しないことを示す節２２６と、節１３８がサイクルT3で成立することを示す節２２７、及び節１３７がサイクルT2からT3において成立することを示す節２２５を生成し、節２２５から子の節として、節２２６と２２７へのリンクを張る。
【００９６】
更に、適合波形演算部２４は、節２２６の波形データ２３６にサイクルT2の信号ｂの値として「０」を、節２２７の波形データ２３７にサイクルT3の信号ｂの値として「１」をそれぞれ書き込む。そして、適合波形演算部２４は、節２２５の波形データ２３５として、子の節２２６と２２７の波形データ２３６と２３７をマージした結果を格納する。ここで言うマージとは、各子の節の波形データの内、「０」又は「１」が書き込まれた欄について、親の節の波形データの対応する欄に同じ値を書き込むことである。
【００９７】
次に、節１３４の処理に移ると連接演算であり、最初のオペランドの節１３５に対応する節２２３の開始サイクルがサイクルT0で、最後のオペランドの節１３７に対応する節２２５の完了サイクルがサイクルT3であるので、適合波形演算部２４は、節１３４の演算がサイクルT0からT3まで成立することを示す節２２２を生成し、節２２２の子の節である節２２３、２２４、２２５へのリンクを張る。
【００９８】
更に、適合波形演算部２４は、節２２２の波形データ２３２には、子の節２２３、２２４，２２５の波形データ２３３、２３４、２３５をマージした結果を格納する。  
適合波形演算部２４は、最後に、根の節１３３をみると、節１３３は、左辺が成立する場合なので、左辺に相当する節１３４と同様にサイクルT0からT3まで節１３３の演算が成立する事を示す節２２１を生成し、節２２１の子の節である節２２２へのリンクを張る。
【００９９】
更に、適合波形演算部２４は、節２２１の波形データ２３１には、節２２２の波形データ２３２をコピーする。最終的に、波形データ２３１が、成立パターン１２５に対するアサーション全体としての波形データとなる。節１３３の右辺の節１３９は辿る必要はない。
【０１００】
さらに、上述した例では生じなかったが、マージ処理も含め、各節の波形データに値を書き込む際に、既に値が埋まっている欄に異なる値を書き込む必要が生じたならば、その様な波形は生成できないということを意味するので、その成立パターン１２５は破棄される。
【０１０１】
そして、表示データ出力部２５は、対応表示部１０３の節毎に生成された波形データに基づいて、波形表示部１０１の波形図を生成する。  
以上により生成されたデータ構造は、対応関係データの各節について、対応するアサーション構造データの節及び波形データの情報が対応付けられているので、図７と図８で説明した様な強調表示機能が実現可能となる。
【０１０２】
以上のように、本実施の形態に係る設計解析装置によれば、対応関係を示す図において、対応関係の一部、或いは波形の一部が指定されたときに、指定された対応関係部分に対応する波形部分と部分式、或いは指定された波形部分に対応する対応関係部分と部分式を識別可能に表示する。
【０１０３】
よって、本実施の形態の設計解析装置によれば、第１の実施の形態の効果に加えて、設計者にとって、アサーション記述の各成立パターンにおける各波形と各部分式との対応関係を解り易く表示することができるので、設計者は、アサーションの意味を、より理解できて、アサーションの修正もさらに容易になる。特に、波形のどの期間のどの信号の部分がアサーションのどの部分に対応するかの理解が、設計者に容易となる。
【０１０４】
（第３の実施の形態）
第３の実施の形態に係る設計解析装置は、対応関係の一部、或いは波形の一部が指定されたときに、指定された対応関係部分についての親あるいは子の関係を有する対応関係部分と部分式を識別可能に表示するようにした点が、第２の実施の形態と異なる。
【０１０５】
第３の実施の形態に係る設計解析装置の構成は、データ構造も含めて、第２の実施の形態の設計解析装置と同様である。
【０１０６】
第３の実施の形態に関わる設計解析装置における表示例について説明する。第２の実施の形態と同じ構成要素については、同じ符号を付し、説明は省略する。  
図１０は、上述した記述例１のアサーション記述におけるケース１２５が選択されたときの画面例を示す図である。以下、本実施の形態における画面の表示方法について説明する。
【０１０７】
設計者が対応表示部１０３内の帯部１０４に設計者が着目しており、設計者は帯部１０４をマウスでクリックすると、設計者が着目している帯部１０４に対応するアサーションの部分式が実線の丸印２０６で強調表示される。構造表示部１０２には、更に、実線の丸印２０６で強調されている部分式の親の節が一点鎖線の丸印３０７で、子の節が点線の丸印３０８で強調表示される。
【０１０８】
対応表示部１０３では、図７の対応表示部１０３と同様に３種類の帯記号が使われ、設計者が着目している帯記号１０４が実線の丸印２０５で強調表示されている。  
さらに、対応表示部１０３では、実線の丸印２０５で強調表示された節の親の節が一点鎖線の丸印３０４で、子の節が点線の丸印３０５と３０６で強調表示される。
【０１０９】
なお、図１０に示すように、設計者が着目している帯記号１０４に対応する波形を、実線の丸印２０７と２０８で示すように、強調表示を行うようにしてもよい。
【０１１０】
以上のように、図１０では、設計者が着目する帯記号を選択すると、構造表示部１０２において、帯記号１０４に対応する節と、その節の親子の節が強調表示され、さらに、対応表示部１０３においても、帯記号１０４の親子の節も、強調表示される。すなわち、対応表示部１０３中の対応関係の一部が指定されたときに、指定された対応関係部分の親と子の関係を有する対応関係部分と、指定された対応関係部分について対応する部分式の親と子の関係を有する部分式とが、識別可能に表示される。
【０１１１】
図１１は、上述した記述例１のアサーション記述におけるケース１２５が選択されたときの画面例を示す図である。特に、図１１は、設計者が波形表示部１０１内のサイクルT2において信号ｂの値が「０」であることを示す部分２１０に着目している場合を示している。
【０１１２】
設計者は着目している丸印２１０で強調表示されている波形部分に対応するアサーションの一部分である部分式が実線の丸印２１３で強調表示されている。  
構造表示部１０２には更に、実線の丸印２１３で強調表示されている節の親の節が一点鎖線の丸印３１２で強調表示される。この例では丸印２１３の節には子の節が無いが、子の節がある場合は、その子の節は、点線の丸印で強調表示される。
【０１１３】
対応表示部１０３では図８の対応表示部１０３と同様に３種類の帯記号が使われ、設計者が着目している丸印２１０で示される波形部分に対応する帯記号１０５が実線の丸印２１２で強調表示されている。対応表示部１０３では、更に、実線の丸印２１２で強調表示されている節の親の節１０４が一点鎖線の丸印３１１で強調表示される。この例では丸印２１２の節には子の節が無いが、子の節がある場合は、その子の節は、点線の丸印で強調表示される。
【０１１４】
以上のように、図１１の場合、波形の一部が指定されたときに、指定された波形の一部に対応する対応関係部分の親と子の関係を有する対応関係部分と、指定された波形の一部に対応する部分式の親と子の関係を有する部分式とが、識別可能に表示される。
【０１１５】
このように、本実施の形態によれば、親や子の節を次々とマウスでクリックする等して、設計者の着目点をアサーションの構造に沿って移動してゆけるので、波形のどの期間のどの信号の部分がアサーションのどの部分に対応するかの絞込みが容易となる。
【０１１６】
以上で説明したような強調表示あるいは識別表示機能は、図９で説明した第２の実施の形態による、アサーション構造データAS、波形データWV、対応関係データCRを用いて実現することができる。アサーション構造データAS及び対応関係データCRにおいて、設計者の指定により強調対象となっている節から子の節へのリンクを辿ることにより、子の節を求めることが可能であり、設計者の指定により強調対象となっている節を子の節として含む様な節を探すことにより、親の節を求めることが可能である。
【０１１７】
以上のように、本実施の形態に係る設計解析装置によれば、対応関係の一部、或いは波形の一部が指定されたときに、指定された対応関係部分についての親あるいは子の関係を有する対応関係部分と部分式が識別可能に表示される。  よって、本実施の形態の設計解析装置によれば、第１の実施の形態の効果に加えて、設計者にとって、アサーション記述の各成立パターンにおける構造表示部の親子の節と、対応表示部の親子の節を解り易く表示することができるので、設計者は、アサーションの意味を、より理解できて、アサーションの修正もさらに容易になる。
【０１１８】
（第４の実施の形態）
第４の実施の形態に係る設計解析装置は、１つのアサーションを満たすケースが複数存在する場合に、類似する波形をグループ分けして表示できるようにした点が、上述した第１から第３の実施の形態と異なる。
【０１１９】
第４の実施の形態に係る設計解析装置の構成は、第１から第３の実施の形態の設計解析装置と同様である。
【０１２０】
１つのアサーションを満たす波形は一つとは限らず複数、特に大量に、存在する場合がある。そのような場合に第１から第３の実施の形態を用いて、入力されたアサーションに対して、そのアサーションを満たす波形やアサーションの構造及びそれらの対応を割り出して表示させても、全てのケースを確認するのは大変な作業である。そこで、本実施の形態では、波形の形の近いものをまとめて、多くのケースがグループ分けされる。
【０１２１】
図１２は、多くのケースのグループ分けを説明するための図である。図１２は、記述例２のアサーションが入力された場合のグループ分けを示す。  
!a##[2:4]b or a[1:3]##2b  ・・・  （記述例２）
記述例２のアサーション記述は、全体がOR演算を示す「or」で分割され、さらに、左辺部が成立する場合と、右辺部が成立する場合を含むことを意味する記述である。
【０１２２】
アサーション記述４００が入力された場合、まずOR演算の左辺部が成立するケース４１０と右辺部が成立するケース４２０とに分割される。右辺部と左辺部では、それぞれが成立する場合に波形の形が大きく異なることになるので、右辺部が成立する場合と左辺部が成立する場合は、別々のグループとする。
【０１２３】
さらに、ケース４１０のグループは、遅延が２のケース４１１、遅延が３のケース４１２、及び遅延が４のケース４１３に分割される。これら３つのケースは、信号ａの値が「０」となるサイクルと信号ｂの値が「１」になるサイクルの間の遅延時間が異なるだけで、波形の形は余り変わらないので同じグループとする。
【０１２４】
同様に、ケース４２０のグループは、繰り返し回数が１回のケース４２１、２回のケース４２２、及び３回のケース４２３に分割される。これら３つのケースは、信号ａの値が「１」であるサイクルの継続時間が異なるだけで、波形の形は余り変わらないので同じグループとする。
【０１２５】
ケース４１４から４２６は、これ以上分割できないので、それぞれについて波形やアサーションとの対応を求める。図１２では、ケース４１１、４１２、４１３、４２１，４２２、４２３をそれぞれ満たす波形データとして、波形データ４１４、４１５、４１６、４２４、４２５、４２６が記されている。波形データ４１４、４１５及び４１６は１つ目のグループに属し、ケース４２４、４２５及び４２６は２つ目のグループに属す。
【０１２６】
そして、成立パターン生成部２３により生成された複数の成立パターンのデータは、所定の条件に基づいて、ここでは、左辺部と右辺部の区別という条件に基づいて、グループ分けされる。
【０１２７】
本実施の形態を用いることにより、設計者は各グループに属す波形をいくつかを確認するだけで、アサーションの意味を確認することができる。すなわち、波形群は形の類似性でグループ分けされることにより、設計者は各グループに属す波形をいくつかを確認するだけで、アサーションの意味を確認することができる。
【０１２８】
図１３は、グループ分けされた各ケースを選択するための波形選択部の例を示す図である。  
図１３に示す波形選択部４３２は、図５における波形選択部４２と同様の構成であり、波形選択部４３２は、波形番号表示部４３６、前ボタン４３７、次ボタン４３８により構成される。さらに、波形グループ選択部４３１も波形選択部４３２と併せて表示される。
【０１２９】
波形グループ選択部４３１は、波形グループ番号表示部４３３、前ボタン４３４、及び次ボタン４３５により構成される。図１３では、波形グループ番号表示部４３３に「１／２」と表示されているので、全体で２つのグループがあって、その中で、１番目のグループが選択されているが示されている。これは、図１２の例ではケース４１０のグループが選択されていることを示す。ユーザは、前ボタン４３４あるいは次ボタン４３５をクリックすることにより、表示するグループを変更できる。
【０１３０】
図１３では、波形グループ番号表示部４３３に「１／２」が表示され、波形選択部４３６に「３／３」が表示されているので、１番目のグループの３番目の波形が選択されていることを示している。これは、図１２の例ではケース４１０のグループのケース４１６の波形が選択されていることを示す。ユーザは、前ボタン４３７あるいは次ボタン４３８をクリックすることにより、グループ内で表示する波形を選択できる。なお、波形グループ選択部４３１と波形選択部４３２は、ここでは極簡単な例により示したが、スライダー等ボタン以外の部品を用いたり、キーボードから波形番号を入力したり、一覧表から選択する等、様々なバリエーションの方法を用いてもよい。
【０１３１】
波形グループ選択部４３１と波形選択部４３２の２つにより、波形選択部が構成されていると言うこともできる。そして、波形グループ選択部４３１は、グループ分けされたグループ別に対応関係を示す図を画面上に表示するためのグループを選択するためのグループ選択部を構成する。
【０１３２】
以上説明したように、本実施の形態の設計解析装置によれば、１つのアサーションを満たすケースが複数存在する場合に、所定の条件で、類似する波形をグループ分けして表示できるようにしたので、波形の形の近いものをまとめて、多くのケースがグループ分けされる。よって、全てのケースを確認する作業が容易となる。特に、ケースが大量に存在する場合には、確認作業は容易となる。なお、所定の条件は、ユーザが設定可能である。
【０１３３】
以上説明した各実施の形態によれば、アサーションの構造、アサーション記述を成立させる波形、及びそれらの各部分の対応関係が同時に表示されるので、設計者は、回路仕様記述中の各部分式が、信号波形中のどの部分に対応するかを容易に把握することができ、回路仕様記述の修正も容易に行うことができる。すなわち、アサーション記述が、設計者の意図通りであるかどうかが容易に把握でき、記述作成時の単純ミスの他、仕様記述が曖昧であることに起因する設計者間の仕様の認識の不一致による不具合を回避することが可能となる。
【０１３４】
なお、上述した実施の形態では、丸印により識別可能に表示する例が用いられているが、識別可能に表示する方法は、異なる色表示による方法、点滅表示による方法等、種々の方法を用いてもよい。
【０１３５】
さらになお、上述した各実施の形態では、部分式の成立と、信号のHIGHとLOWとの関係を示しているが、条件が値の範囲に規定する場合もある。例えば、ある値がある設定された範囲内にあるか否かが条件成立の有無を決定する場合がある。
【０１３６】
図１４は、条件が値の範囲を規定する場合における波形の表示形式の例を説明するための図である。
【０１３７】
アサーションにおいては信号の値そのものは重要ではなく、信号の値がある範囲に入っているか否かが重要な場合がある。例えば、アドレスが多ビットで示されていると、そのアドレスが示す値は、複数のアドレスを取り得る。このようなアドレスについて、ある範囲内に入るか否かで、条件の成立か否かの判定が行われる場合がある。  
例えば、アサーションの中に、図１４に示すアサーション記述５０１及び５０２があったとする。この場合、多ビット信号addrの値が、１６進数で３００から３ｆｆ及び４００から４ｆｆの範囲に入っているか否かが重要であり、具体的な値は重要ではない。
【０１３８】
このような場合に、点線で示すように、波形図５０３のような値の表示をしてもよい。しかし、波形５０３の場合、アドレスの値そのものを表示しているが、アドレスは変化するものであり、発生し得る値の全てについて、波形図５０３のような図を表示しても、設計者は、全ての波形を確認しなければならず、確認作業は繁雑なものとなる。逆に、アドレスが、所定の範囲に入っているか否かが重要な意味を持つ。
【０１３９】
そこで、図１４において、実線で示すように、波形図５０４と５０４のような表示をすることにより、アドレスの値が、ある範囲に入るか否かの時系列変化を示す波形図が表示される。波形図５０４は、多ビット信号addrの値が３００から３ｆｆの範囲に入るか否かの時系列変化を表している。波形図５０５は、addrの値が４００から４ｆｆの範囲に入るか否かの時系列変化を表している。
【０１４０】
図１４の波形図５０４と５０５のような表示を用いることにより、信号の値そのものではなく、アサーションについて本来調べたい「信号の値がある範囲に入っているか否か」を波形図の形で見ることができるので、波形とアサーションとの対応が、設計者には、より判り易くなる。
【０１４１】
さらに、図１４では信号の値がある範囲に入っているか否かが重要な場合について説明したが、信号同士がある関係を満たしているか否かが重要な場合についても同様に扱える。例えばアサーション記述の一部として「a+100==b」の様な記述が含まれていた場合、設計者に関心があるのはbの値がaより丁度100大きいか否かであり、aとbの個々の値ではない。  
従って、このような場合は、aとbの波形図の代わりに、「a+100==b」が成立する時にHIGH、成立しない時にLOWとなる様な波形図を表示すれば良い。
【０１４２】
本明細書における各「部」は、実施の形態の各機能に対応する概念的なもので、必ずしも特定のハードウエアやソフトウエア・ルーチンに１対１には対応しない。従って、本明細書では、以下、実施の形態の各機能を有する仮想的回路ブロック（部）を想定して実施の形態を説明した。また、本実施の形態における各手順の各ステップは、その性質に反しない限り、実行順序を変更し、複数同時に実行し、あるいは実行毎に異なった順序で実行してもよい。
【０１４３】
なお、以上説明した動作を実行するプログラムは、コンピュータプログラム製品として、フレキシブルディスク、ＣＤ−ＲＯＭ等の可搬媒体や、ハードディスク等の記憶媒体に、その全体あるいは一部のプログラムコードが記録され、あるいは記憶されている。そのプログラムがコンピュータにより読み取られて、動作の全部あるいは一部が実行される。あるいは、そのプログラムのコードの全体あるいは一部を通信ネットワークを介して流通または提供することができる。利用者は、通信ネットワークを介してそのプログラムをダウンロードしてコンピュータにインストールしたり、あるいは記録媒体からコンピュータにインストールすることで、容易に本発明の回路仕様記述視覚化装置を実現することができる。
【０１４４】
本発明は、上述した実施の形態に限定されるものではなく、本発明の要旨を変えない範囲において、種々の変更、改変等が可能である。
【符号の説明】
【０１４５】
１  設計解析装置、１１  装置本体、１２  入力装置、１３  表示装置、１３ａ  画面表示部、１４  記憶装置、１４ａ  アサーション視覚化プログラム、１４ｂ  データ部、２２  回路仕様記述解析部、２３  成立パターン生成部、２４  適合波形演算部、２５  表示データ出力部、４１  視覚化対象アサーション表示部、４２、４３２  波形選択部、１０１  波形表示部、１０２  構造表示部、１０３  対応表示部、４３１  波形グループ選択部
【図１】
2010198363.tif 000003
【図２】
2010198363.tif 000004
【図３】
2010198363.tif 000005
【図４】
2010198363.tif 000006
【図５】
2010198363.tif 000007
【図６】
2010198363.tif 000008
【図７】
2010198363.tif 000009
【図８】
2010198363.tif 000010
【図９】
2010198363.tif 000011
【図１０】
2010198363.tif 000012
【図１１】
2010198363.tif 000013
【図１２】
2010198363.tif 000014
【図１３】
2010198363.tif 000015
【図１４】
2010198363.tif 000016