JP4533918B2 - 回路仕様記述設計解析装置及び回路仕様記述設計解析方法 - Google Patents

回路仕様記述設計解析装置及び回路仕様記述設計解析方法 Download PDF

Info

Publication number
JP4533918B2
JP4533918B2 JP2007224591A JP2007224591A JP4533918B2 JP 4533918 B2 JP4533918 B2 JP 4533918B2 JP 2007224591 A JP2007224591 A JP 2007224591A JP 2007224591 A JP2007224591 A JP 2007224591A JP 4533918 B2 JP4533918 B2 JP 4533918B2
Authority
JP
Japan
Prior art keywords
circuit specification
specification description
signal change
description
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2007224591A
Other languages
English (en)
Other versions
JP2009059089A (ja
Inventor
丈彦 土屋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2007224591A priority Critical patent/JP4533918B2/ja
Priority to US12/169,845 priority patent/US7908577B2/en
Publication of JP2009059089A publication Critical patent/JP2009059089A/ja
Application granted granted Critical
Publication of JP4533918B2 publication Critical patent/JP4533918B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3323Design verification, e.g. functional simulation or model checking using formal methods, e.g. equivalence checking or property checking

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Description

本発明は、回路仕様記述設計解析装置及び回路仕様記述設計解析方法に関し、特に、回路仕様記述を用いた半導体集積回路を設計するための回路仕様記述設計解析装置及び回路仕様記述設計解析方法に関する。
従来より、半導体回路の設計において、回路仕様は、自然言語、あるいはプロパティ記述言語を用いて記述され、その記述に基づいて、その半導体回路の設計が行われている。
回路仕様記述が自然言語で記述される場合、自然言語の持つ多義性すなわち曖昧さによって、設計者間で認識の不一致が生じ、結果として設計された回路が動作しない、等の不具合が発生する虞がある。回路仕様記述をプロパティ記述言語(SVA、PSL等)で記述することにより、記述の多義性すなわち曖昧さの一部は、解消され得るが、十分に解消されるわけではない。
例えば、「reqがアサートされたら、ackがアサートする」という自然言語で書かれた回路仕様をプロパティ記述言語で記述するときに、信号の極性及び、req-ack間のサイクル数が曖昧なままではプロパティ記述を記述することは出来ない。そのため、通常は、これらの曖昧さは自然言語からプロパティ記述言語へ変換する際に解消される。
しかし、たとえプロパティ記述言語を用いて回路仕様を記述したとしても、回路仕様記述の多義性すなわち曖昧さを十分に解消できるとは言いきれない。例えば、自然言語で記述された「reqがアサートされたら、ackがアサートする」という回路仕様を、プロパティ記述言語であるSVAで記述した「req |=> ack」という回路仕様で記述しても、reqが1になった次のサイクルでreqが1と0のいずれになるのか、ackは1に成るサイクルの前のサイクルで1と0のいずれであるのか、は不明である。なお、「req |=> ack」という回路仕様は、自然言語で正確に表現すると、reqが1のとき1サイクル後にackが1になる、ということを意味する。さらに、reqが1になる前のサイクルにおける、reqのステータス、すなわち1なのか0なのかも不明である。
言い換えれば、上述したようなプロパティ言語で記述した回路仕様においても、1つの回路仕様記述に対して複数の信号のパターン(以下、パスパターンという)が存在し得る。ところが、設計者は自分の記述した回路仕様記述がどの程度の多義性を持っているかを知る手段が無いために、設計者の意図が正確に伝わらない場合が多々生じて、上述したような不具合の発生に繋がっていた。
設計対象の回路の検証を円滑かつ効率的に行う論理回路動作検証装置も提案されている(例えば、特許文献1参照)。しかし、その提案においても、設計者は自分の記述した回路仕様記述がどの程度の多義性を持っているかを知る方法についてはなんら開示されていない。
特開平5−101132号公報
そこで、本発明は、回路仕様記述の多義性を把握することができる回路仕様記述設計解析装置及び回路仕様記述設計解析方法を提供することを目的とする。
本発明の一態様によれば、回路仕様記述が入力され、前記回路仕様記述に含まれる、信号変化の関わりを有する2以上の信号の情報と、該2以上の信号の最大サイクル数の情報と、前記2以上の信号について前記回路仕様記述に定義されて確定している値とを、解析して得る回路仕様記述入力部と、該回路仕様記述入力部において得られた、前記2以上の信号の数と前記最大サイクル数とに応じた表形式のデータであって、値の確定しているサイクルの箇所に確定している値を設定し、かつ値の確定していないサイクルの箇所に所定のフラグを設定した時系列の信号変化を示す信号変化データを生成する信号変化データ生成部と、生成された前記信号変化データに設定された前記確定している値と前記所定のフラグに基づいて、前記時系列の信号変化を波形図の形式で表示するための波形図データを出力する波形図データ出力部を有する回路仕様記述設計解析装置を提供することができる。
本発明の回路仕様記述設計解析装置及び回路仕様記述設計解析方法によれば、回路仕様記述の多義性を把握することができる。
以下、図面を参照して本発明の実施の形態を説明する。
(第1の実施の形態)
まず、図1に基づき、本発明の第1の実施の形態に係わる回路仕様記述設計解析装置の構成を説明する。図1は、本実施の形態に係わる回路仕様記述設計解析装置の構成を示す構成図である。以下、回路仕様記述設計解析装置を、設計解析装置という。
設計解析装置1は、中央処理装置(CPU)、ROM、RAM等を含む装置本体11と、キーボード、マウス等の入力装置12と、表示装置13と、ハードディスク装置等の外部記憶装置14とを有してなるパーソナルコンピュータ(PC)等のコンピュータである。後述するような回路仕様記述を解析する処理を行うプログラムと、設計者が作成する設計データとが外部記憶装置14に記憶される。
半導体装置の回路を設計する設計者は、設計解析装置1を用いて、回路設計をするが、特に、後述するような回路仕様を各種言語で入力することができる。
なお、本実施の形態では、設計解析装置1は、1つのコンピュータであるが、複数の設計者が設計解析装置1を利用する場合には、ネットワークに接続された端末装置からセンタ装置としての設計開発装置にアクセスできるようにして、複数の設計者が同様の回路仕様記述の入力ができるようにしてもよい。
また、設計解析装置1には、一般にEDA(Electronic Design Automation)等の設計支援のソフトウエアが搭載されており、その機能の一部を実現するツールとして、本実施の形態および後述する他の実施に形態における解析処理部が設けられている。よって、以下の説明では、その一部の機能としての解析処理部について説明し、他の機能の処理部については、説明は省略する。
図2は、設計解析装置1の解析処理部のソフトウエア構成を示すブロック図である。
図2に示す解析処理部21は、回路仕様記述入力部22と、時系列信号変化データベース生成部23と、多義性算出部24と、時系列信号変化データ表示部25とを含んで構成されている。
回路仕様記述入力部22は、設計者が記述した回路仕様記述SPが入力される処理部である。回路仕様記述SPは、本実施の形態では、自然言語あるいはプロパティ記述言語である。入力された回路仕様記述SPは、回路仕様記述入力部22において解析され、時系列信号変化データベース生成部23により、信号変化データがデータベースとして生成される。その生成された信号変化データに基づいて、多義性算出部24により算出された多義性の情報の表示データAR1と、時系列信号変化データ表示部25により生成された信号変化を示す波形図の表示データAR2とが、表示装置13に出力され、多義性の情報と波形図が表示される。回路仕様記述入力部22と、時系列信号変化データベース生成部23と、多義性算出部24と、時系列信号変化データ表示部25の各処理部の処理については後で詳述する。
後述するように、設計者は、設計解析装置1に回路仕様記述SPを入力すると、後述する所定の処理が実行されて、回路仕様記述の多義性の情報と、1以上の関係信号の変化の情報とが、表示装置13に表示される。その結果、設計者は自分の記述した回路仕様記述SPの多義性の程度と、各関係信号の状態を知ることができる。その結果を見ることによって、意図した通りの設計となるように、さらに、設計者は、回路仕様記述を工夫することができる。
以下、具体的な回路仕様記述の例を挙げて、設計解析装置1の全体及び各処理部の動作を説明する。以下の動作は、本体装置11のCPUによって実行される。
いま、設計者が自然言語で、「reqが1のとき1サイクル後にackが1になる。」という記述を、回路仕様記述SPとして、キーボード、マウス等の入力装置12を用いて設計解析装置1に入力したとする。あるいは、同じ意味のプロパティ記述言語であるSVAで記述した「req |=> ack」を、設計者が設計解析装置1に入力したとする。
入力された記述のテキストデータは、回路仕様記述入力部22に入力される。回路仕様記述入力部22では、図3の処理が実行される。
図3は、回路仕様記述入力部22の処理の流れの例を示すフローチャートである。回路仕様記述入力部22は、回路仕様記述が入力されると、その回路仕様記述について構文解析を行う(ステップS1)。構文解析は、回路仕様記述をテキストとして扱い、形態素解析により、回路仕様記述の内容を解析する。
回路仕様記述入力部22は、形態素解析により得られた情報から、回路仕様記述に含まれる1以上の関係する信号(以下、関係信号という)の情報を解析して得て、特定する(ステップS2)。上述した例の場合、reqが1のとき1サイクル後にackが1になるということにより、reqとackの2つの信号が関係信号である。
回路仕様記述入力部22は、さらに、形態素解析により得られた情報から、関係信号と発生タイミングの情報から、最大サイクル数の情報を解析して得て、判定する(ステップS3)。上述した例の場合、reqが1のとき1サイクル後にackが1になるということにより、reqが1になるサイクルと、ackが1になるその次のサイクルの2つのサイクルがあることから、最大サイクル数は、2となる。
そして、回路仕様記述入力部22は、形態素解析により得られた情報から、サイクル中の箇所における各関係信号について1又は0が定められて確定している値(以下、確定値という)を判定する(ステップS4)。上述した例の場合、reqが1のとき1サイクル後にackが1になるということにより、判定された確定値は、reqが1で、ackが1である。
以上のようにして、回路仕様記述入力部22の処理が終了すると、時系列信号変化データベース生成部23は、特定された2つの関係信号と、判定された最大サイクル数と、判定された確定値を入力データとして、時系列信号変化データベース生成部23の処理が実行される。
図4は、時系列信号変化データベース生成部23の処理の流れの例を示すフローチャートである。時系列信号変化データベース生成部23は、まず、関係信号の数と、最大サイクル数から、いわゆる表形式のデータをデータベースとして生成する(ステップS11)。本実施の形態では、ステップS11で生成されるデータベースは、データがいわゆるブランク状態のテーブルであり、関係信号の数の分の行と、最大サイクルの数に1を加えた数の列を有するテーブルである。ここでは、生成されるデータベースは、2行3列のテーブルとなる。すなわち、回路仕様記述入力部22で保持されている回路仕様記述SPに基づいて、1以上の関係信号の数と最大サイクル数幅を持ったテーブルが生成される。
次に、時系列信号変化データベース生成部23は、生成されたテーブルの対応するセルに確定値を入力する(ステップS12)。そして、時系列信号変化データベース生成部23は、確定値が入力されている以外のセルに所定のコード、ここではDのデータを入力する(ステップS13)。すなわち、値の確定していない箇所に、Dが、フラグデータとして設定される。
信号変化データ生成部である時系列信号変化データベース生成部23は、回路仕様記述入力部22において得られた、1以上の関係信号の数と最大サイクル数とに応じた表形式のデータであって、回路仕様記述SPに定義されている箇所に確定している値を設定し、かつ値の確定していない箇所に所定のフラグを設定した時系列の信号変化を示す信号変化データを生成する。
上述した例の場合、reqが1のとき1サイクル後にackが1になるということにより、図4の処理により生成されたテーブルは、図5のようになる。図5は、データベースの例としての、テーブルの例を示す図である。
テーブル30では、req,ackの2つの行において、reqはサイクルT0において1になり、ackは、サイクルT1において1になる。そして、テーブル30では、その2つの1のセル以外のセルは、Dとなっている。
次に、解析処理部21は、多義性算出部24の処理を実行する。図6は、多義性算出部24の処理の流れの例を示すフローチャートである。
多義性算出部24は、テーブル30中のDの数をカウントし、Dの数から2のD乗(すなわち2D)を計算する(ステップS21)。図5の場合、Dの数は、4であるので、2のD乗の値は、16となる。すなわち、多義性算出部24は、テーブル30内のフラグDの数を計測し、2Dとして、対象の回路仕様記述がパスするパスパターンの総計を算出して、多義性データとして出力する多義性データ出力部である。出力される多義性データは、回路仕様記述の多様性を示す値である。言い換えると、多義性算出部24は、時系列信号変化データベースであるテーブル30から未定義部分を抽出し、回路仕様記述SPの全パスパターン総数を算出する。
次に、多義性算出部24は、計算して得られた値すなわち多義性を示す値を、表示装置13に表示するための表示データAR1として出力する(ステップS22)。
また、解析処理部21は、時系列信号変化データ表示部25の処理を実行する。図7は、時系列信号変化データ表示部25の処理の流れの例を示すフローチャートである。
時系列信号変化データ表示部25は、テーブル30のデータに基づいて模式的な波形図データを生成して、その波形図データを表示装置13に表示するための表示データAR2を出力する(ステップS31)。
すなわち、波形図データ出力部である時系列信号変化データ表示部25は、テーブル30に設定された確定している値と所定のフラグに基づいて、時系列の信号変化を波形図の形式で表示するための波形図データを出力する。
図8は、図7の処理により、テーブル30のデータに基づいて表示される波形図の例を示す図である。言い換えると、図8は、パスパターンを示す図である。
図8に示すように、最大サイクル数に1を加えた3のサイクルT-1,T0,T1が横軸方向に設定され、2つの関係信号req,ackが縦軸方向に設定され、reqがサイクルT0において1(確定値)であり、ackがサイクルT1において1(確定値)であり、reqは、サイクルT-1とT1においてDであり、ackは、サイクルT-1とT0においてDである。確定値が1の部分は、図8では、太線で示している。
図9は、解析処理部21の処理の結果、表示装置13に表示される解析結果の画面の例を示す図である。
表示装置13の表示画面41には、多義性算出部24からの表示データAR1に基づく、多義性を示す値を表示する多義性データ表示領域42と、時系列信号変化データ表示部25からの表示データAR2に基づく波形図を表示する波形図表示領域43とが設けられる。
従って、設計者は、図9の表示を見ることによって、入力した回路仕様記述の多義性及び波形図から、設計の意図が正確に伝わらない部分を容易に認識することができ、設計の曖昧さの発生による不具合の発生を防止することができる。
設計者は、図9の画面表示を見て、回路仕様記述中に、設計の意図が正確に伝わらない虞のある多義性の存在に気がつく。そこで、回路仕様記述を、設計の意図をより反映した記述に直すことができる。
例えば、設計者は、上記の例の回路仕様記述を、「$rose(req) |=> !req && $rose(ack);」に書き換える。このSVAによる記述は、自然言語で正確に表現すると、reqが立ち上がりエッジのとき1サイクル後にreqは0でかつackが立ち上がりエッジである、となる。
図10は、その書き直した記述の場合の波形を示す波形図である。回路仕様記述を上述のように書き換え、曖昧さを除去し、設計の意図が正確に反映されている。なお、図10において、Dの部分があるが、Dの部分は、設計の意図通りである。図9の波形表示領域43には、図10のような波形が示され、多義性データ表示領域42には、Dが1つに対応して、2が示される。
言い換えると、上述した本実施の形態の設計解析装置は、回路仕様記述の品質を多義性すなわち曖昧さの観点から定量化することと、解析のための情報を表示する機能を有している。回路仕様記述が入力されると、回路仕様記述から各関係信号の時系列の信号変化を記録したデータベースを作成し、そのデータベースを基に動作が未定義の領域の抽出を行う。さらに、本実施の形態の設計解析装置は、多義性の情報として、入力された回路仕様記述のパスパターンの総数を算出し、且つ、未定義部分を明示的に時系列の信号変化情報と共に表示する機能を有している装置である。
以上のように、本実施の形態に係る設計解析装置によれば、設計者は、自己の記述した回路仕様記述の品質を定量的に把握し、かつ定量的に比較することが可能となる。すなわち、設計者は、より明確な仕様記述を作成する作業の支援を受けることができる。
(第2の実施の形態)
次に本発明の第2の実施の形態について説明する。
本実施の形態は、回路仕様記述が時間幅を有している場合における解析処理の例である。
なお、第2の実施の形態に係る設計解析装置1の構成は、第1の実施の形態に係る設計解析装置1の構成と略同じであるので、同じ構成要素については、同じ符号を用いて説明は省略し、異なる構成部分について主として説明する。
回路仕様記述入力部22に入力される回路仕様記述が、時間幅を有している場合がある。例えば、回路仕様記述入力部22へ、「$rose(req) |-> ##[1:3] ack;」という回路仕様記述が入力されたとする。この記述は、自然言語で正確に表現すると、reqが立ち上がりエッジのとき1サイクルから3サイクル以内にackが1になる、の意である。
本実施の形態の場合、この回路仕様記述が、回路仕様記述入力部22に入力されると、構文解析において、ステップS1において3つの場合があることが認識され、さらにステップS3においてもその3つの場合に対応した3つの最大サイクルが判定される。
時系列信号変化データベース生成部23では、3つの場合に対応する、ステップS11からS13の処理が行われ、図11から図13の3つのテーブル30a、30b、30cが生成される。図11は、reqが立ち上がりエッジのとき1サイクル後にackが1になる場合のテーブル30aのデータ例である。図12は、reqが立ち上がりエッジのとき2サイクル後にackが1になる場合のテーブル30bのデータ例である。図13は、reqが立ち上がりエッジのとき3サイクル後にackが1になる場合のテーブル30cのデータ例である。
図11から図13の3つのテーブルのそれぞれに対応して、図6及び図7の処理が実行される。図6のステップS21では、3つの場合のそれぞれにおける2のD乗の値を求めると共に、3つの場合における多義性の値の和も計算される。
その結果、3つの場合について、図9に示すような解析結果の画面が、表示装置13に表示される。その場合、図示しないが、3つのパスパターンの画面があることが設計者に示され、設計者は、3つの場合の中から見たい1つのパターンを、図9の波形図表示領域43に表示させて見ることができる。
図11の場合は、値の確定していない2つの箇所にDのフラグデータが存在し、図12の場合は、値の確定していない3つの箇所にDのフラグデータが存在し、図13の場合は、値の確定していない4つの箇所にDのフラグデータが存在する。よって、多義性データ表示領域42には、これら3つの場合の多義性の値の和(2+2+2)である28が表示される。
すなわち、第2の実施の形態では、図9の画面表示おいて、波形図表示領域43には、3つの場合のパスパターンを表示可能であり、かつ多義性データ表示領域42には、3つの場合の多義性の値の和が、多義性の情報として表示される。
図14から図16は、それぞれ、3つの場合におけるテーブル30a、30b、30cのデータに基づいて、波形図表示領域43に表示される波形図の例を示す図である。図14は、reqが立ち上がりエッジのとき1サイクル後にackが1になる場合の波形図の例である。図15は、reqが立ち上がりエッジのとき2サイクル後にackが1になる場合の波形図の例である。図16は、reqが立ち上がりエッジのとき3サイクル後にackが1になる場合の波形図の例である。
以上のように、本実施の形態では、回路仕様記述入力部22に入力される回路仕様記述が時間幅を持っている場合、時系列信号変化データベース生成部23において、関係信号と最大サイクル数幅を持った信号変化データのデータベースを、時間幅の数だけ生成する。
そして、回路仕様記述入力部22で保持されている回路仕様記述より、各対応するデータベースに対し定義されている箇所の値を確定し、値の確定していない箇所にフラグDが入力される。時系列信号変化データ表示部25では、表示装置13に時系列信号変化データベース生成部23で保持しているデータベースに対応する表示を行うが、このときどのデータベースを表示させるかは、ユーザである設計者により選択することができる。また、多義性算出部24ではデータベース毎にDの数を計測し、2Dを算出して、入力された回路仕様記述が取り得るパスパターンの総計を算出し、最後に全データベースのパスパターンの値の総和を出力する。
従って、設計者は、図9の表示を見ることによって、入力した回路仕様記述の多義性及び波形図から、設計の意図が正確に伝わらない部分を容易に認識することができ、設計の曖昧さの発生による不具合の発生を防止することができる。
例えば、設計者は、回路仕様記述を、「$rose(req) |-> !req[*1:3] ##0 ack;」に書き換える。このSVAによる記述は、自然言語で正確に表現すると、reqが立ち上がりエッジのとき1サイクルから3サイクルの範囲でreqが0であることが連続で繰り返された後、ackが1になる、の意である。よって、この書き換えられた回路仕様記述が入力された場合、時系列信号変化データ表示部25が出力する表示データに基づく表示例は、図17から図19のようになる。図17から図19は、時系列信号変化データ表示部25が出力する表示データに基づく表示例を示す波形図である。
図17から図19の場合、多義性算出部24で算出された値は、6となる。
以上のように、本実施の形態に係る設計解析装置によれば、回路仕様記述が時間幅を有している場合でも、設計者は、自己の記述した回路仕様記述の品質を定量的に把握し、かつ定量的に比較することが可能となる。すなわち、設計者は、より明確な仕様記述を作成する作業の支援を受けることができる。
(第3の実施の形態)
次に本発明の第3の実施の形態について説明する。
設計された回路の検証を行う際に、テストパターンが用いられるが、そのテストパターンのカバレッジが充分でないと、回路動作が保証できない。そこで、本実施の形態は、シミュレーション等により設計された回路の検証を行いられるテストパターンのカバレッジを検証するシーケンス記述を自動生成するものである。言い換えると、本実施の形態の設計解析装置は、時系列信号変化データベースであるテーブルの情報から、入力された回路仕様記述SPの全パスパターンを表すシーケンス記述を自動生成する機能を有する。
なお、第3の実施の形態に係る設計解析装置1の構成は、第1の実施の形態に係る設計解析装置1の構成と略同じであるので、同じ構成要素については、同じ符号を用いて説明は省略し、異なる構成部分について主として説明する。
図20は、第3の実施の形態に係る設計解析装置1の解析処理部のソフトウエア構成を示すブロック図である。図20に示す解析処理部21Aは、回路仕様記述入力部22と、時系列信号変化データベース生成部23と、多義性算出部24と、時系列信号変化データ表示部25とに加えて、カバレッジ取得用シーケンス生成部26を含んで構成されている。
カバレッジ取得用シーケンス生成部26は、検証用のシーケンス記述を生成して出力するシーケンス記述出力部である。図21は、カバレッジ取得用シーケンス生成部26の処理の流れの例を示すフローチャートである。
まず、CPUは、時系列信号変化データベース生成部23において生成されたデータベースを参照し、そのデータベースすなわち信号変化データに基づいてシーケンス情報を抽出する(ステップS41)。
そして、シーケンス記述出力部であるカバレッジ取得用シーケンス生成部26は、抽出されたシーケンス情報に基づいて、プロパティ言語(SVA等)のシンタックスに従って、シーケンス記述を生成し、出力する(ステップS42)。
例えば、図11から図13のテーブルの場合、出力されるシーケンス記述は、図22のようになる。図22は、「$rose(req) |-> !req[*1:3] ##0 ack;」が設計者の意図したプロパティ記述であると決定された場合、カバレッジ取得用シーケンス生成部26において自動生成されるシーケンス記述例を示す図である。このプロパティ記述は、上述したように、多義性が6であり、自然言語で正確に表現すると、reqが立ち上がりエッジのとき1サイクルから3サイクルの範囲でreqが0であることが連続で繰り返された後、ackが1になる、という意の記述である。
図11の場合、サイクルT-1において、ackはDのフラグとなっており、1つのDがあり、2つのパスパターンがあることから2つのシーケンス記述が生成される。すなわち、図22において、上から2行がその2つのシーケンス51aを示すシーケンス記述部である。
同様に、図12の場合も、サイクルT-1において、ackはDのフラグとなっており、1つのDがあり、2つのパスパターンがあることから2つのシーケンス記述が生成される。すなわち、図22において、上から3行目と4行目がその2つのシーケンス51bを示すシーケンス記述部である。
同様に、図13の場合も、サイクルT-1において、ackはDのフラグとなっており、1つのDがあり、2つのパスパターンがあることから2つのシーケンス記述が生成される。すなわち、図22において、下から2行目がその2つのシーケンス51cを示すシーケンス記述部である。
以上のように、ステップS42においては、CPUは、シーケンス情報から機械的に、図22のシーケンス記述を生成することができる。
図22に示すシーケンス記述は、シミュレーションの場合は、プロパティ言語のシーケンスのカバレッジを取得する文と組み合わせて利用することができる。すなわち、図22のシーケンス記述を、シミュレーション時にシミュレーションプログラムに添付して実行すれば、シミュレーション時にどのパスパターンが活性化されたかを知ることができ、結果として、カバレッジの情報を得ることができる。
また、図22のシーケンス記述を、プロパティ言語のシーケンスのカバレッジを取得する文と組み合わせて形式検査を行うフォーマルツールに入力すれば、検証対象のRTLにおいて、そのパスパターンが活性化することがありえるかを静的に証明することができる。
以上のように、第1の実施の形態あるいは第2の実施の形態の設計解析装置1を用いて、回路仕様記述の解析及び修正を行った結果、設計者の意図している通りの回路仕様記述が生成された場合に、時系列信号変化データベース生成部23に保持されているテーブルデータに基づいて、存在する全パスパターンのシーケンス記述をカバレッジ取得用シーケンス生成部26によって自動生成することにより、テストパターンのカバレッジを検証することができる。
言い換えると、上述した本実施の形態の設計解析装置は、入力された回路仕様記述の多義性が設計者の意図であることを明確にすることによって、より高精度のカバレッジデータを取得するための記述を自動生成する機能を有する。すなわち、本実施の形態の設計解析装置によれば、回路仕様記述の多義性が設計者の意図通りであるかどうかを明確とし、仕様記述が曖昧であることに起因する設計者間の仕様の認識の不一致による不具合を回避することができる。よって、本実施の形態の設計解析装置によれば、設計者の意図した動作が確実に検証されているかどうかをカバレッジデータとして取得することができるので、検証漏れによるコーナケースバグを防止することが可能となる。
以上のように、本実施の形態に係る設計解析装置によれば、設計者は、自己の記述した回路仕様記述の品質を定量的に把握し、かつ定量的に比較することが可能となり、かつ、テストパターンによる検証時に、カバレッジを知ることができるので、より正確な回路動作の保証を行うことができる。
(第4の実施の形態)
次に本発明の第4の実施の形態について説明する。
以上の3つの実施の形態では、入力される回路仕様記述は1つであったが、本実施の形態の設計解析装置は、複数の回路仕様記述が存在する場合すなわち入力された場合、複数の回路仕様記述を考慮して多義性を小さくするようにすることができるようにしたものである。
なお、第4の実施の形態に係る設計解析装置1の構成は、第1及び第3の実施の形態に係る設計解析装置1の構成と略同じであるので、同じ構成要素については、同じ符号を用いて説明は省略し、異なる構成部分について主として説明する。
図23は、第4の実施の形態に係る設計解析装置1の解析処理部のソフトウエア構成を示すブロック図である。図23に示す解析処理部21Bは、回路仕様記述入力部22と、時系列信号変化データベース生成部23と、多義性算出部24と、時系列信号変化データ表示部25と、カバレッジ取得用シーケンス生成部26に加えて、統合処理部27を含んで構成されている。
統合処理部27は、時系列信号変化データベース生成部23において生成された複数のテーブルを統合処理する処理部である。
以下、例を挙げて統合処理部27を説明する。ここでは、2つの回路仕様記述がある場合で説明する。
1つの回路仕様記述は、上述した「$rose(req) |-> !req[*1:3] ##0 ack;」であり、他方の回路仕様記述が、「$rose(req) |-> $past(!ack);」であったとする。
前者の回路仕様記述は、上述した図17から図19で説明したパスパターンを有するものである。従って、図17から図19を見ると判るように、多義性を示す値は、6である。
後者の回路仕様記述は、自然言語で正確に表現すると、reqが立ち上がりエッジのとき1サイクルから3サイクルの範囲でreqが0であることが連続で繰り返された後、ackが1になる、という意の記述である。
図24は、後者の回路仕様記述の波形図の例を示す図である。図24から判るように、後者の回路仕様記述は、最大サイクル数は2であり、Dが1つなので、多義性を示す値は、2となる。
このような2つの回路仕様記述が入力されると、図17から図19の波形図と図24の波形図とに対応する複数のテーブルすなわちデータベースが生成される。
統合処理部27は、このような場合に、ユーザから、複数の回路仕様記述を同時に考慮するという指示あるいは設定がされていると、2つの回路仕様記述の情報を統合する処理を行う。
図25は、統合処理部27の処理の流れの例を示すフローチャートである。まず、CPUは、複数の回路仕様記述を同時に考慮するという設定あるいは指示が、ユーザによってなされているか否かを判断する(ステップS61)。その設定あるいは指示は、例えば、ユーザが予め入力装置12を用いて設定される。
ステップS61でYESの場合、複数の回路仕様記述に基づいて、それぞれがデータベースである複数のテーブルを統合する処理を行う(ステップS62)。
ステップS62における統合処理は、具体的には、各データベースの関係信号に関して比較を行い、同じ関係信号に関するデータベースが複数ある場合は、サイクル数が大きい方のデータベースへ、サイクル数が小さい方のデータベースの関係信号の確定情報をマージする処理である。
後者の回路仕様記述では、最大サイクル数が2であり、前者の回路仕様記述では、最大サイクル数が3から5である。よって、後者の回路仕様記述の方が、前者の回路仕様記述よりも、サイクル数が小さい。
従って、後者の回路仕様記述のデータベースにおける関係信号の確定情報を、前者の回路仕様記述のデータベースにおける関係信号の確定情報に、マージすることにより統合する。
なお、ステップS61でNOの場合は、統合処理は何もしないで終了する。
上述した例の場合、図24に示すように、サイクルT-1においては、確定情報として、ackは0である。よって、統合処理が行われると、そのサイクルT-1におけるackが0であるという確定情報が、前者の回路記述仕様にマージされる。
その結果、図26から図28のように、データベースすなわちテーブルのデータは変更される。図26から図28は、テーブルデータの例を示す図である。
図26から図28の場合は、各テーブル30Aから30Cにおいて、サイクルT-1のackは、0となる。その結果、波形図は図29から図31に示すようになる。図29から図31は、それぞれ、3つの場合におけるテーブル30A、30B、30Cのデータに基づいて、波形図表示領域43に表示される波形図の例を示す図である。
よって、統合処理の結果、多義性を示す値は、3となる。
以上のように、回路仕様記述入力部22に複数の回路仕様記述が入力される場合、時系列信号変化データベース生成部23において、関係信号と最大サイクル数幅を持ったデータベースすなわちテーブルを、各回路仕様記述に関して、生成する。そして、ユーザより、複数の回路仕様記述情報を同時に考慮する指定がなされた場合は、統合処理部27により、各データベースの関係信号に関して比較を行い、同じ関係信号に関して複数のデータベースがある場合はサイクル数が大きい方のデータベースへ、サイクル数が小さい方のデータベースの信号確定情報をマージする。
その後は、時系列信号変化データ表示部25は、時系列信号変化データベース生成部23に保持されているデータを出力し、表示装置13に波形図を表示させる。このときにどのデータベースを表示させるかはユーザが選択することができるようにしてもよい。また、多義性算出部24では、データベース毎にDのフラグの数を計測し、2Dを算出し、対象の回路仕様記述がパスするパスパターンの総計を算出し出力する。
その結果、データベースの統合処理を行うことによって、多義性を低減させることができる。上述の例の場合であれば、マージをすることによって、多義性の値は、3に減らすことができたことになる。
以上のように、回路仕様記述が複数ある場合、統合処理を行うことによって、設計者は、自己の記述した回路仕様記述の品質を定量的に把握し、かつ定量的に比較することが可能となるだけでなく、多義性の値を低減させることができる。すなわち、設計者は、より明確な仕様記述を作成する作業の支援を受けることができる。
(第5の実施の形態)
次に本発明の第5の実施の形態について説明する。
本実施の形態は、回路仕様記述が論理和を含む場合における解析処理の例である。
なお、第5の実施の形態に係る設計解析装置1の構成は、第1、第3あるいは第4の実施の形態に係る設計解析装置1の構成と略同じであるので、同じ構成要素については、同じ符号を用いて説明は省略し、異なる構成部分について主として説明する。
回路仕様記述入力部22に入力される回路仕様記述が、論理和を含む場合がある。例えば、回路仕様記述入力部22へ、「$rose(req) && !ack |=> (in1 or in2) ##1 $rose(ack) 」という回路仕様記述が入力されたとする。この記述は、自然言語で正確に表現すると、reqが立ち上がりエッジで、かつackが0の時に、1サイクル後にin1が1またはin2が1であり、さらに、1サイクル後にackが立ち上がりエッジである、の意である。
本実施の形態の設計解析装置1は、このような回路仕様記述が、回路仕様記述入力部22に入力されると、時系列信号変化データベース生成部23において、論理和によって示される各ケースのデータベースすなわちテーブルを比較し、同じ状態を示すケースが重複して存在するときは、片方のデータベースからその重複するケースを削除して、検証作業において、同じ状態を複数計測しないようにする。
図32及び図33は、論理和によって示される複数のケースの例を説明するための波形図である。上述した「$rose(req) && !ack |=> (in1 or in2) ##1 $rose(ack) 」という回路仕様記述の場合、図32に示すように、in1が1であるときにin2は0又は1を取り得る。同様に、図33に示すように、in2が1であるときにin1が0又は1を取り得る。
図32と図33を比較すると、図32におけるin1が1でin2が1のケースと、図33におけるin1が1(点線で示す)でin2が1のケースとは重複する。もしもこのような重複するケースが存在したまま、検証作業が行われると、重複したケースについて、設計記述の修正、テストパターンによる検証、等が行われることになる。
そこで、本実施の形態によれば、論理和によって示される各ケースを比較して、重複するケースがあれば、データベースから重複するケースを削除する。
回路仕様記述入力部22に入力される回路仕様記述が論理和を含む場合、時系列信号変化データベース生成部23において、関係信号と最大サイクル数幅を持ったデータベースすなわちテーブルを、論理和によって示されるケース毎に生成する。次に、回路仕様記述入力部22で保持されている回路仕様記述に基づいて、各ケースに対応するデータベースに対し定義されている箇所の値を確定し、値の確定していない箇所にDのフラグを入力する。この際、各ケースのデータベースを比較し、1以上の関係信号中に、同じ値の状態がある場合は片方のデータベースを削除し、同じ状態を複数計測しないようにする。その結果、重複したケースのデータベースが削除される。
そして、時系列信号変化データ表示部25では、表示装置13に時系列信号変化データベース生成部23で保持している状態のデータベースを表示する。なお、このとき、どのデータベースを表示させるかはユーザが選択することができる。また、多義性算出部24ではデータベース毎にDのフラグの数を計測し、2Dを算出して、入力された回路仕様記述のパスパターンの総計を算出し、最後に全データベースの値の総和を出力する。
上述した回路仕様記述「$rose(req) && !ack |=> (in1 or in2) ##1 $rose(ack) 」の場合、時系列信号変化データ表示部25により、画面上に表示される波形図は、図32と図33の波形図となる。なお、そのとき表示される図33の波形図では、重複するケースが削除されるので、点線で示す部分は存在しない。そして、その場合、多義性算出部24で算出された値は、15336となる。
上述した削除処理は、時系列信号変化データベース生成部23において行われる。図34は、時系列信号変化データベース生成部23における処理の流れの例を示すフローチャートである。図34の処理は、図4と同じステップを含むので、図4と同じステップについては、説明を省略する。
ステップS13の後に、CPUは、関係信号について同じ値をとるような重複したケースがあるか否かを判断し、重複があれば、その重複する1又は2以上のケースを削除する(ステップS14)。
以上のように、回路仕様記述が論理和を含む場合、重複するケースのデータベースを削除する処理を行うことによって、設計者は、自己の記述した回路仕様記述の品質を定量的に把握し、かつ定量的に比較することが可能となるだけでなく、重複したケースについて、回路仕様記述の修正、テストパターンによる検証、等が行われわれることがないようにすることができる。すなわち、設計者は、より明確な回路仕様記述を作成する作業の支援を受けることができる。
なお、上述した本実施の形態に係る重複したケースの削除処理は、回路仕様記述がシーケンス論理和を含む場合にも、同様に適用できる。
(第6の実施の形態)
次に本発明の第6の実施の形態について説明する。
本実施の形態は、回路仕様記述中の関係信号が数値幅を有する場合における解析処理の例である。
なお、第6の実施の形態に係る設計解析装置1の構成は、第1、第3あるいは第4の実施の形態に係る設計解析装置1の構成と略同じであるので、同じ構成要素については、同じ符号を用いて説明は省略し、異なる構成部分について主として説明する。
回路仕様記述入力部22に入力される回路仕様記述中の関係信号が数値幅を持っている場合、時系列信号変化データベース生成部23において、関係信号と最大サイクル数幅を持ったデータベースが、数値幅の数だけ生成される。
例えば、回路仕様記述入力部22へ、回路仕様記述として「(addr >= 32’h0000_0000 && addr <= 32’h0000_ffff) |=> addr== $past(addr) && $rose(ack);」が入力されたとする。この回路仕様記述は、自然言語で正確に表現すると、addrが32’h0000_0000以上で32’h0000_ffff以下の場合、1サイクル後にaddrは1サイクル前の値と同じ値であり、かつackが立ち上がりエッジである、という意の記述である。この場合、通常は多義性算出部24で算出される値は、65535となる。さらに、時系列信号変化データ表示部25により表示装置13の画面には、図35に示すような波形図が表示される。図35は、回路仕様記述中の関係信号が数値幅を持っている場合の波形図の表示例を示す図である。
しかし、32ビットのデータについて65535通りのケースがあるとしてデータベースを生成することは、ユーザである設計者には意味のない場合がある。データの取り得る値を、複数の範囲にグルーピングし、データが複数のグループの中のどのグループにあるかを示した方が、設計された回路の検証を容易にできる場合がある。
そこで、本実施の形態の設計解析装置1は、ユーザから数値幅に関するグルーピング情報を与えることができるようにし、グルーピング情報が与えられている場合、グルーピング情報を考慮し、作成するデータベース数を変化させるように構成した。
図36は、グルーピング情報の定義情報の例を説明するための図である。図36は、データaddrの値が、addr_map1,addr_map2,addr_map3,addr_map0の4つにグループ分けされている定義を示している。すなわち、定義情報は、少なくとも1つの関係信号の取る得る値を複数のグループに予めグルーピングした情報である。このような定義情報が、設計解析装置1に予め設定される。
そして、回路仕様記述入力部22へ、回路仕様記述として「(addr >= 32’h0000_0000 && addr <= 32’h0000_ffff) |=> addr== $past(addr) && $rose(ack);」が入力されると、回路仕様記述入力部22の処理中、図3のステップS4の確定値を判定する処理において、図36の定義情報の参照が行われる。そして、回路仕様記述に含まれる関係情報addrの数値がどのグループに属するかが判定される。
上述した例の場合、回路仕様記述のaddrの値は、定義情報中、addr_map1のグループに属することが判定される。その結果、関係信号addrに、そのグループの値として、addr_map1を設定する。
関係信号addrに対してグルーピング情報として図36の定義情報を与えると、多義性算出部24において算出された多義性を示す値は1となり、また、時系列信号変化データ表示部25から出力される表示データによる表示例は図37となる。図37は、時系列信号変化データ表示部25から出力される表示データによる表示例を示す図である。
以上のように、回路仕様記述中の関係信号が数値幅を有する場合、関係信号の取る得る値を予めグルーピングし、定義情報として与えるようにすることによって、設計者は、自己の記述した回路仕様記述の品質を定量的に把握し、かつ定量的に比較することが可能となるだけでなく、数値幅をグループとして判定されるので、設計された回路の検証を容易に行うことができる。すなわち、設計者は、より明確な仕様記述を作成する作業の支援を受けることができる。
以上説明したように、上述した各実施の形態に係る設計解析装置によれば、回路仕様記述の多義性すなわち曖昧さが、設計者の意図したものであることを明確になるので、設計者間の回路仕様の認識の不一致による生じ得る不具合の発生を削減することができる。
更に、上述した実施の形態の一つによれば、設計者が意図した多義性の場合、各ケースについて確実に検証されているかの確認もすることができる仕組みを提供することにより、検証不足によるコーナケースバグも削減することが可能となる。
なお、本明細書における各「部」は、実施の形態の各機能に対応する概念的なもので、必ずしも特定のハードウエアやソフトウエア・ルーチンに1対1には対応しない。従って、本明細書では、以下、実施の形態の各機能を有する仮想的回路ブロック(部)を想定して実施の形態を説明した。また、本実施の形態における各手順の各ステップは、その性質に反しない限り、実行順序を変更し、複数同時に実行し、あるいは実行毎に異なった順序で実行してもよい。
さらになお、以上説明した動作を実行するソフトウエアのプログラムコードは、コンピュータプログラム製品として、フロッピー(登録商標)ディスク、CD−ROM等の可搬媒体や、ハードディスク等の記憶装置等に、その全体あるいは一部が記録され、あるいは記憶されている。そのプログラムコードがコンピュータにより読み取られて、動作の全部あるいは一部が実行される。あるいは、そのプログラムの全体あるいは一部を通信ネットワークを介して流通または提供することができる。利用者は、通信ネットワークを介してそのプログラムをダウンロードしてコンピュータにインストールしたり、あるいは記録媒体からコンピュータにインストールすることで、容易に本発明の設計解析装置を実現することができる。
本発明は、上述した実施の形態に限定されるものではなく、本発明の要旨を変えない範囲において、種々の変更、改変等が可能である。
本発明の第1の実施の形態に係わる回路仕様記述設計解析装置の構成を示す構成図である。 本発明の第1の実施の形態に係わる、設計解析装置の解析処理部のソフトウエア構成を示すブロック図である。 本発明の第1の実施の形態に係わる、回路仕様記述入力部の処理の流れの例を示すフローチャートである。 本発明の第1の実施の形態に係わる、時系列信号変化データベース生成部の処理の流れの例を示すフローチャートである。 本発明の第1の実施の形態に係わる、データベースの例としての、テーブルデータの例を示す図である。 本発明の第1の実施の形態に係わる、多義性算出部の処理の流れの例を示すフローチャートである。 本発明の第1の実施の形態に係わる、時系列信号変化データ表示部の処理の流れの例を示すフローチャートである。 本発明の第1の実施の形態に係わる、テーブルのデータに基づいて表示される波形図の例を示す図である。 本発明の第1の実施の形態に係わる、表示装置に表示される解析結果の画面の例を示す図である。 本発明の第1の実施の形態に係わる、書き直した記述の場合の波形を示す波形図である。 本発明の第2の実施の形態に係わる、reqが立ち上がりエッジのとき1サイクル後にackが1になる場合のテーブルのデータ例である。 本発明の第2の実施の形態に係わる、reqが立ち上がりエッジのとき2サイクル後にackが1になる場合のテーブルのデータ例である。 本発明の第2の実施の形態に係わる、reqが立ち上がりエッジのとき3サイクル後にackが1になる場合のテーブルのデータ例である。 本発明の第2の実施の形態に係わる、reqが立ち上がりエッジのとき1サイクル後にackが1になる場合の波形図の例である。 本発明の第2の実施の形態に係わる、reqが立ち上がりエッジのとき2サイクル後にackが1になる場合の波形図の例である。 本発明の第2の実施の形態に係わる、reqが立ち上がりエッジのとき3サイクル後にackが1になる場合の波形図の例である。 本発明の第2の実施の形態に係わる、時系列信号変化データ表示部が出力する表示データに基づく表示例を示す波形図である。 本発明の第2の実施の形態に係わる、時系列信号変化データ表示部が出力する表示データに基づく表示例を示す波形図である。 本発明の第2の実施の形態に係わる、時系列信号変化データ表示部が出力する表示データに基づく表示例を示す波形図である。 本発明の第3の実施の形態に係わる設計解析装置の解析処理部のソフトウエア構成を示すブロック図である。 本発明の第3の実施の形態に係わる、カバレッジ取得用シーケンス生成部の処理の流れの例を示すフローチャートである。 本発明の第3の実施の形態に係わる、カバレッジ取得用シーケンス生成部において自動生成されるシーケンス記述例を示す図である。 本発明の第4の実施の形態に係わる設計解析装置の解析処理部のソフトウエア構成を示すブロック図である。 本発明の第4の実施の形態に係わる、回路仕様記述の波形図の例を示す図である。 本発明の第4の実施の形態に係わる、統合処理部の処理の流れの例を示すフローチャートである。 本発明の第4の実施の形態に係わる、テーブルデータの例を示す図である。 本発明の第4の実施の形態に係わる、テーブルデータの例を示す図である。 本発明の第4の実施の形態に係わる、テーブルデータの例を示す図である。 本発明の第4の実施の形態に係わる、テーブルのデータに基づいて、波形図表示領域に表示される波形図の例を示す図である。 本発明の第4の実施の形態に係わる、テーブルのデータに基づいて、波形図表示領域に表示される波形図の例を示す図である。 本発明の第4の実施の形態に係わる、テーブルのデータに基づいて、波形図表示領域に表示される波形図の例を示す図である。 本発明の第5の実施の形態に係わる、論理和によって示される複数のケースの例を説明するための波形図である。 本発明の第5の実施の形態に係わる、論理和によって示される複数のケースの例を説明するための波形図である。 本発明の第5の実施の形態に係わる、時系列信号変化データベース生成部における処理の流れの例を示すフローチャートである 本発明の第6の実施の形態に係わる、回路仕様記述中の関係信号が数値幅を持っている場合の波形図の表示例を示す図である。 本発明の第6の実施の形態に係わる、グルーピング情報の定義の例を説明するための図である。 本発明の第6の実施の形態に係わる、時系列信号変化データ表示部から出力される表示データによる表示例を示す図である。
符号の説明
1 設計解析装置、11 装置本体、12 入力装置、13 表示装置、14 記憶装置、21、21A、21B 解析処理部、30、30a、30b、30c、30A、30B、30C テーブル(データベース)、41 表示画面、42 多義性データ表示領域、43 波形図表示領域

Claims (5)

  1. 回路仕様記述が入力され、前記回路仕様記述に含まれる、信号変化の関わりを有する2以上の信号の情報と、該2以上の信号の最大サイクル数の情報と、前記2以上の信号について前記回路仕様記述に定義されて確定している値とを、解析して得る回路仕様記述入力部と、
    該回路仕様記述入力部において得られた、前記2以上の信号の数と前記最大サイクル数とに応じた表形式のデータであって、値の確定しているサイクルの箇所に確定している値を設定し、かつ値の確定していないサイクルの箇所に所定のフラグを設定した時系列の信号変化を示す信号変化データを生成する信号変化データ生成部と、
    生成された前記信号変化データに設定された前記確定している値と前記所定のフラグに基づいて、前記時系列の信号変化を波形図の形式で表示するための波形図データを出力する波形図データ出力部と、
    を有することを特徴とする回路仕様記述設計解析装置。
  2. 前記信号変化データ中の前記所定のフラグの数に基づいて、前記回路仕様記述の多義性を示す値を算出して出力する多義性データ出力部を有することを特徴とする請求項1に記載の回路仕様記述設計解析装置。
  3. 前記信号変化データに基づいてシーケンス情報を抽出し、その抽出された前記シーケンス情報に基づいてシーケンス記述を生成し出力するシーケンス記述出力部を有することを特徴とする請求項1に記載の回路仕様記述設計解析装置。
  4. 前記回路仕様記述入力部に前記回路仕様記述が複数入力された場合、前記信号変化データ生成部は、前記2以上の信号と前記最大サイクル数に応じた前記信号変化データを、各回路仕様記述について生成し、同じ信号に関して複数の前記信号変化データがある場合は、サイクル数が大きい方の信号変化データに、サイクル数が小さい方の信号変化データの前記確定している値をマージすることを特徴とする請求項1に記載の回路仕様記述設計解析装置。
  5. 回路仕様記述入力部と信号変化データ生成部と波形図データ出力部を具備したコンピュータで回路仕様記述の設計解析をする方法であって、
    前記回路仕様記述入力部により、入力された回路仕様記述に含まれる、信号変化の関わりを有する2以上の信号の情報と、該2以上の信号の最大サイクル数の情報と、前記2以上の信号について前記回路仕様記述に定義されて確定している値とを、解析して得ること、
    前記信号変化データ生成部により、得られた前記2以上の信号の数と前記最大サイクル数とに応じた表形式のデータであって、値の確定しているサイクルの箇所に確定している値を設定し、かつ値の確定していないサイクルの箇所に所定のフラグを設定した時系列の信号変化を示す信号変化データを生成すること、
    前記波形図データ出力部により、生成された前記信号変化データに設定された前記確定している値と前記所定のフラグに基づいて、前記時系列の信号変化を波形図の形式で表示するための波形図データを出力すること、
    を有することを特徴とする回路仕様記述設計解析方法。
JP2007224591A 2007-08-30 2007-08-30 回路仕様記述設計解析装置及び回路仕様記述設計解析方法 Expired - Fee Related JP4533918B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007224591A JP4533918B2 (ja) 2007-08-30 2007-08-30 回路仕様記述設計解析装置及び回路仕様記述設計解析方法
US12/169,845 US7908577B2 (en) 2007-08-30 2008-07-09 Apparatus and method for analyzing circuit specification description design

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007224591A JP4533918B2 (ja) 2007-08-30 2007-08-30 回路仕様記述設計解析装置及び回路仕様記述設計解析方法

Publications (2)

Publication Number Publication Date
JP2009059089A JP2009059089A (ja) 2009-03-19
JP4533918B2 true JP4533918B2 (ja) 2010-09-01

Family

ID=40409493

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007224591A Expired - Fee Related JP4533918B2 (ja) 2007-08-30 2007-08-30 回路仕様記述設計解析装置及び回路仕様記述設計解析方法

Country Status (2)

Country Link
US (1) US7908577B2 (ja)
JP (1) JP4533918B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4950942B2 (ja) * 2008-05-23 2012-06-13 株式会社東芝 半導体集積回路の検証装置
JP5072882B2 (ja) * 2009-02-25 2012-11-14 株式会社東芝 回路仕様記述視覚化装置及び回路仕様記述視覚化方法
US8527911B1 (en) 2009-06-09 2013-09-03 Jasper Design Automation, Inc. Comprehending a circuit design
US8739092B1 (en) 2012-04-25 2014-05-27 Jasper Design Automation, Inc. Functional property ranking
US10915430B2 (en) * 2017-07-17 2021-02-09 Red Hat Israel, Ltd. Source code test consolidation
CN109254777B (zh) * 2018-07-17 2021-07-16 中国航空无线电电子研究所 基于软件通信体系结构的多通道多波形部署方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008112277A (ja) * 2006-10-30 2008-05-15 Mitsubishi Electric Corp タイミングチャート生成装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001273340A (ja) * 2000-03-27 2001-10-05 Toshiba Corp マイクロプロセッサの設計検証方法及びマイクロプロセッサの設計検証装置及びパイプラインシミュレータ生成装置
US6675310B1 (en) * 2000-05-04 2004-01-06 Xilinx, Inc. Combined waveform and data entry apparatus and method for facilitating fast behavorial verification of digital hardware designs
JP4078435B2 (ja) * 2001-06-06 2008-04-23 株式会社ルネサステクノロジ 論理集積回路及び論理集積回路設計方法及び論理集積回路のハードウェア動作記述を生成するハードウェア記述生成方法
US6564365B1 (en) * 2001-08-03 2003-05-13 Hewlett-Packard Development Company, L.P. Method of simultaneously displaying schematic and timing data
JP3848157B2 (ja) * 2001-12-27 2006-11-22 株式会社東芝 Lsi設計検証装置、lsi設計検証方法、及びlsi設計検証プログラム
US6983437B2 (en) * 2003-11-05 2006-01-03 Sun Microsystems, Inc. Timing verification, automated multicycle generation and verification
US7100132B2 (en) * 2004-03-01 2006-08-29 Agilent Technologies, Inc. Source synchronous timing extraction, cyclization and sampling

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008112277A (ja) * 2006-10-30 2008-05-15 Mitsubishi Electric Corp タイミングチャート生成装置

Also Published As

Publication number Publication date
JP2009059089A (ja) 2009-03-19
US7908577B2 (en) 2011-03-15
US20090064059A1 (en) 2009-03-05

Similar Documents

Publication Publication Date Title
US10372854B2 (en) Active trace assertion based verification system
JP4255079B2 (ja) アサーション生成システムと回路検証システムおよびプログラムならびにアサーション生成方法
US7437694B1 (en) System and method for determining and identifying signals that are relevantly determined by a selected signal in a circuit design
US8234608B2 (en) Circuit specification description visualizing device, circuit specification description visualizing method and storage medium
US9032347B1 (en) System and method for automated simulator assertion synthesis and digital equivalence checking
JP4533918B2 (ja) 回路仕様記述設計解析装置及び回路仕様記述設計解析方法
US11238202B2 (en) Verifying glitches in reset path using formal verification and simulation
US9582625B2 (en) Test bench transaction synchronization in a debugging environment
US20190278884A1 (en) Methodology To Create Constraints And Leverage Formal Coverage Analyzer To Achieve Faster Code Coverage Closure For An Electronic Structure
CN107688682B (zh) 一种使用时序路径提取电路拓扑的方法
US20140019923A1 (en) Test bench hierarchy and connectivity in a debugging environment
CN114169271A (zh) 使用静态检查器结果对证伪的功率感知形式属性进行自动调试
Goli et al. Automated analysis of virtual prototypes at electronic system level
US10430535B2 (en) Verification support program medium, verification support method, and information processing device for verification of a circuit
US8954914B2 (en) Graphical method and product to assign physical attributes to entities in a high level descriptive language used for VLSI chip design
Kayed et al. A novel approach for SVA generation of DDR memory protocols based on TDML
US8893065B2 (en) Biometric markers in a debugging environment
US8739093B1 (en) Timing characteristic generation and analysis in integrated circuit design
US20150227660A1 (en) Integrated circuit clock tree visualizer
US10796051B1 (en) Adaptive model interface for a plurality of EDA programs
US6981238B1 (en) Verification of integrated circuit designs using buffer control
JP6146224B2 (ja) 判定方法、判定プログラム、および判定装置
US20230205969A1 (en) Techniques for modeling and verification of convergence for hierarchical domain crossings
US20090089723A1 (en) Circuit design using a spreadsheet
US11941335B1 (en) Providing concise data for analyzing checker completeness

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090817

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100127

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100202

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100402

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100518

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100614

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130618

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees