(57)【要約】【課題】作成したクロック系統図と実回路との不整合の検証が行える半導体設計支援装置を提供する。【解決手段】半導体集積回路のクロック系統図を読み込むクロック系統図読込処理部１１と、図形の論理を推定する論理推定手段と、論理推定された結果に基づいてクロック系統図からクロック経路を抽出してクロック系統図データベースを作成するクロック系統図データベース作成部ｄ１３と、半導体集積回路の回路情報を読み込む回路抽象化処理部１２と、読み込んだ回路の回路情報からクロック経路のみを推定するクロック経路推定手段と、推定したクロック経路に基づいて、回路情報からクロック経路を抽出して回路情報データベースを作成する回路情報データベース作成部ｄ１４と、回路情報データベース作成手部ｄ１４が作成した回路情報データベースと、作成されたクロック系統図データベースとを比較するデータベース比較部１５とを備えた。【選択図】図１
2015014869.tif 000002
【特許請求の範囲】
【請求項１】
半導体集積回路のクロックの正当性を検証する半導体設計支援方法であって、
図形やテキストで表現してある前記半導体集積回路のクロック系統図を読み込むとともに、この読み込んだクロック系統図からクロック経路を抽出して該クロック経路からなるクロック系統図データベースを作成するクロック系統図データベース作成処理工程と、
前記半導体集積回路の回路情報を読み込むとともに、この読み込んだ半導体集積回路の回路情報からクロック経路を抽出し、この抽出したクロック経路からなる回路情報データベースを作成する回路情報データベース作成処理工程と、
この回路情報データベース作成処理工程によって作成した回路情報データベースと、前記クロック系統図データベース作成処理工程によって作成したクロック系統図データベースとを比較する比較工程とを備えたことを特徴とする半導体設計支援方法。
【請求項２】
前記クロック系統図データベース作成処理工程は、
図形やテキストで表現してある前記半導体集積回路のクロック系統図を読み込む読込工程と、
この読込工程によって読み込まれたクロック系統図の図形の論理を推定する論理推定工程と、
この論理推定工程によって論理推定された結果に基づいて前記クロック系統図からクロック経路を抽出して該クロック経路からなるクロック系統図データベースを作成するクロック系統図データベース作成工程とを有し、
前記回路情報データベース作成処理工程は、
前記半導体集積回路の回路情報を読み込む回路情報読込工程と、
この回路情報読込工程で読み込んだ半導体集積回路の回路情報からクロック経路のみを推定するクロック経路推定工程と、
このクロック経路推定工程で推定したクロック経路に基づいて、前記回路情報からクロック経路を抽出して該クロック経路からなる回路情報データベースを作成する回路情報データベース作成工程とを有することを特徴とする請求項１に記載の半導体設計支援方法。
【請求項３】
半導体集積回路のクロックの正当性を検証する半導体設計支援装置であって、
図形やテキストで表現してある前記半導体集積回路のクロック系統図を読み込む読込手段と、
この読込手段によって読み込まれたクロック系統図の図形の論理を推定する論理推定手段と、
この論理推定手段によって論理推定された結果に基づいて前記クロック系統図からクロック経路を抽出して該クロック経路からなるクロック系統図データベースを作成するクロック系統図データベース作成手段と、
前記半導体集積回路の回路情報を読み込む回路情報読込手段と、
この回路情報読込手段が読み込んだ半導体集積回路の回路情報からクロック経路のみを推定するクロック経路推定手段と、
このクロック経路推定手段が推定したクロック経路に基づいて、前記回路情報からクロック経路を抽出して回路情報データベースを作成する回路情報データベース作成手段と、
この回路情報データベース作成手段が作成した回路情報データベースと、前記クロック系統図データベース作成手段が作成したクロック系統図データベースとを比較する比較手段とを備えたことを特徴とする半導体設計支援装置。
【請求項４】
前記比較手段の比較結果を表示する表示手段を備えたことを特徴とする請求項３に記載の半導体設計支援装置。
【請求項５】
前記比較手段の比較結果を登録する登録手段を備えたことを特徴とする請求項３または請求項４に記載の半導体設計支援装置。
【請求項６】
請求項３ないし請求項６のいずれか１つに記載の半導体設計支援装置であって、
前記回路情報読込手段が読み込んだ半導体集積回路の回路情報からデータ信号として扱われる回路のうち特定のセル以外の回路を削除する削除手段を設け、
前記回路情報データベース作成手段は、前記削除手段によって削除されなかった残りの回路と、前記クロック経路推定手段が推定したクロック経路とに基づいて、前記回路情報データベースを作成することを特徴とする半導体設計支援装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、半導体集積回路のクロックの正当性を検証する半導体設計支援方法とその装置に関する。
【背景技術】
【０００２】
従来から、入力されたＲＴＬ記述データを解析してクロック経路を抽出するクロック経路抽出装置が知られている（特許文献１参照）。
【０００３】
係るクロック経路抽出装置は、入力されたＲＴＬ記述データを解析してクロック経路を探索するクロック経路探索部と、このクロック経路探索部が探索したクロック経路から有効なクロック経路のみを抽出するクロック経路抽出部と、抽出されたクロック経路に基づいてクロック系統図を生成するクロック系統図生成部などとを備えている。
【０００４】
このクロック経路抽出装置によれば、タイミング検証におけるクロック系統の解析時間を短縮することができる。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来のクロック経路抽出装置にあっては、作成されたクロック系統図と実回路との不整合の検証ができないという問題がある。
【０００６】
この発明の目的は、作成したクロック系統図と実回路との不整合の検証が行える半導体設計支援方法とその装置を提供することにある。
【課題を解決するための手段】
【０００７】
請求項１の発明は、半導体集積回路のクロックの正当性を検証する半導体設計支援方法であって、
図形やテキストで表現してある前記半導体集積回路のクロック系統図を読み込むとともに、この読み込んだクロック系統図からクロック経路を抽出して該クロック経路からなるクロック系統図データベースを作成するクロック系統図データベース作成処理工程と、
前記半導体集積回路の回路情報を読み込むとともに、この読み込んだ半導体集積回路の回路情報からクロック経路を抽出し、この抽出したクロック経路からなる回路情報データベースを作成する回路情報データベース作成処理工程と、
この回路情報データベース作成処理工程によって作成した回路情報データベースと、前記クロック系統図データベース作成処理工程によって作成したクロック系統図データベースとを比較する比較工程とを備えたことを特徴とする。
【発明の効果】
【０００８】
この発明によれば、作成したクロック系統図と実回路との不整合の検証が行える。
【図面の簡単な説明】
【０００９】
【図１】この発明に係る半導体設計支援装置の構成を示したブロック図である。
【図２】クロック系統図の一例を示した説明図である。
【図３】図形の論理情報の一例を示した表である。
【図４】ブラックボックスとして扱うモジュール情報などを示した表である。
【図５】半導体設計支援装置のクロック系統図読込処理部及びクロック系統図データベース作成部の処理動作を示したフロー図である。
【図６】半導体設計支援装置の回路抽象化処理部と回路情報データベース作成部の処理動作を示したフロー図である。
【図７】図２に示すクロック系統図の実際の半導体集積回路図の一例を示した回路図である。
【図８】図７に示す回路の論理セルの抽象化処理を行なった場合の回路を示す。
【図９】図８に示す回路をさらに抽象化処理を行った場合の回路を示す。
【図１０】回路情報データベースの一例を示した回路図である。
【図１１】クロック系統図データベース作成部で作成されたクロック系統図データベースを示したブロック図である。
【図１２】論理的な違いが発生した場合の表示例を示した表である。
【図１３】テキストの違いが発生している場合の表示例を示した表である。
【図１４】比較結果を図で表示したブロック図である。
【発明を実施するための形態】
【００１０】
以下、この発明に係る半導体設計支援方法を実施する実施の形態である実施例を図面に基づいて説明する。
【実施例】
【００１１】
［第１実施例］
図１はこの発明に係る半導体設計支援方法を実施する半導体設計支援装置１を示す。
【００１２】
半導体設計支援装置１は、クロック系統図ｄ１００の情報と図形の論理情報ｄ４００を読み込むクロック系統図読込処理部（読込手段）１１と、クロック系統図データベースを作成するクロック系統図データベース作成部（クロック系統図データベース作成手段）１３とを有している。また半導体設計支援装置１は、回路情報ｄ２００と抽象化情報ｄ３００とを読み込んで回路の抽象化処理を行う回路抽象化処理部（回路情報読込手段）１２と、回路情報データベースを作成する回路情報データベース作成部（回路情報データベース作成手段）ｄ１４と、上記のクロック系統図データベースと回路情報データベースとを比較するデータベース比較部（比較手段）１５とを有している。
【００１３】
クロック系統図データベース作成部ｄ１３は、クロック系統図の図形の論理を推定する論理推定手段と、論理推定の結果に基づいてクロック系統図からクロック経路を抽出してクロック系統図データベースを作成するクロック経路抽出手段としての機能を有する。
【００１４】
また、回路抽象化処理部１２は、読み込んだ回路情報からクロック経路のみを推定するクロック経路推定手段としての機能を有している。
【００１５】
図１に示す出力部２は、データベース比較部１５の比較結果をモニタ（表示手段）２Ｂに表示したり、比較結果ファイル部（登録手段）２Ａに登録したりする。
【００１６】
ここで、クロック系統図ｄ１００について説明する。クロック系統図ｄ１００とは、図２に示すように、図形とテキストにより回路のクロック系統に特化して表したデータ（クロック系統図）のことである。
【００１７】
回路情報ｄ２００は、プログラミング言語やハードウエア記述言語などにより記述された回路情報である。ここでは、例えば図７に示す回路情報である。
【００１８】
抽象化情報ｄ３００は、回路情報ｄ２００のそのままでは、回路情報の全てが含まれてしまうため、これを簡略化するための情報であり、図４の表２に示すように、ブラックボックスとして扱うモジュール情報やクロック系統で論理を保持するインスタンス（簡略）情報を持ったデータのことである。
【００１９】
図形の論理情報ｄ４００は、図３の表１に示すように、クロック系統図で用いられる図形に与える様々な属性や論理を結びつける情報を持ったデータのことである。
【００２０】
クロック系統図ｄ１００,回路情報ｄ２００,抽象化情報ｄ３００,図形の論理情報ｄ４００は、外部入力情報であってもかまわないし、予めメモリに格納された情報であってもよく、ユーザがインターラクテイブに入力してもよい。
［動  作］
次に、上記のように構成される半導体設計支援装置１のクロック系統図読込処理部１１及びクロック系統図データベース作成部ｄ１３の動作を図５に示すフロー図に基づいて説明する。
【００２１】
ステップ（読込工程）１１では、クロック系統図読込処理部１１は、図形の論理情報ｄ４００を読み込み、クロック系統図ｄ１００で用いられる様々な図形の情報を取得する。
【００２２】
ステップ（読込工程）１２では、クロック系統図読込処理部１１は、クロック系統図ｄ１００を読み込み、クロック系統図ｄ１００の情報を取得する。なお、ステップ１１,１２の処理はクロック系統図読込処理部１１が行う。
【００２３】
ステップ（論理推定工程）１３では、ステップ１１で読み込んだ得た情報に基づき、図形を基にした論理推定処理を行う。すなわち、ステップ１３が論理推定手段としての機能を有する。
【００２４】
ここで、論理推定処理の一例を以下に説明する。
【００２５】
図３の表１に示すＺ４と図２に示すクロック系統図のＺ１０とは形状が同じであることからＦＦ（フリップフロップ）論理であることを推定することができる。また、図３の表１に示すＺ５と図２に示すクロック系統図のＺ１１とは形状が同じであることからバッファ論理であることを推定することができる。このように、予め定められたルールに従い図形とテキストの関連付けを行う。
【００２６】
ステップ１４では、図形とテキストの関連付け処理を行う。この関連付け処理は、図３に示すＺ１から図２内のテキストを認識し各図形との関連付けを行う。
【００２７】
例えば、図２に示すｔ３はＺ３上に表記されているため、Ｚ３の名称は、ｔ３が示す「ＴＯＰ」となる。
同様に、図２のＺ６の名称は、図２のｔ６が示す「ＭＤ１」となり、図２のＺ７の名称は「ＭＤ２」となる。
図形との関連付けのルールは、図形とテキストの記述上のルールであってもよく、図形上に予め埋め込まれた関連性の情報でもよい。このように、予め定められたルールに従い図形とテキストの関連付けを行う。
【００２８】
ステップ１５では、図形の階層構造の推定処理を行う。この推定処理は、各図形内に含まれる図形を下階層のモジュールやセルとして扱い、図２のＺ７は、図２のＺ６に含まれるため、その階層構造はＺ６/Ｚ７として処理する。さらに、図２のＺ６は図２のＺ３の下階層となる。このため、図２のＺ７の階層構造は、Ｚ３/Ｚ６/Ｚ７となる。このとき、先の図形とテキストの関連付け処理（ステップ１４）で、各図形の名称が分かるため、図２のＺ７の階層構造は、ＴＯＰ/ＭＤ１/ＭＤ２となる。このように、図形の階層構造を推定することができる。
【００２９】
ステップ１６では、各インスタンスの結線の推定処理を行う。この場合、図形の左側が入力信号、右側が出力信号を示すものとする。
図２のｎ１７について例を示す。図２のｎ１７は、図２のＺ１１の右側、すなわちＴＯＰ/ＣＫＧ１/ＣＫＢＦ１/出力に接続されている。また、ｎ１７は図２のＺ７の左側のＺ１２に接続されている。すなわち、ｎ１７は入力信号ＴＯＰ/ＭＤ１/ＭＤ２/clk_2に接続されていることになる。
【００３０】
つまり、図２のｎ１７は、ＴＯＰ/ＣＫＧ１/ＣＫＢＦ１からＴＯＰ/ＭＤ１/ＭＤ２/clk_2に接続されていることが分かる。このように、各インスタンスの接続の推定を行うことができる。
【００３１】
ステップ１７では、クロック系統図データベース作成部ｄ１３が論理接続のデータベース化の処理を行う。すなわち、ステップ１３で論理推定した結果に基づいて、図２のクロック系統図からクロック経路を抽出し、抽出したクロック経路からなるクロック系統図データベースを作成する。このクロック系統図データベースを作成して処理が完了する。なお、ステップ１３〜ステップ１７の処理はクロック系統図データベース作成部ｄ１３が行う。そして、ステップ１４ないしステップ１７の処理動作がクロック系統図データベース作成処理工程を構成する。
【００３２】
この実施例では、図形とテキストが関連付けられて作成されたクロック系統図データベースを例えば図１０に示す。このデータベースは、図１０に示す様にブロック図でもよいし、ハードウェア記述言語等のような記述言語等により記述された情報でもよい。
【００３３】
次に、回路抽象化処理部１２と回路情報データベース作成部１４の処理動作について図６のフロー図に基づいて説明する。
【００３４】
ステップ（回路情報読込工程）２１では、抽象化情報の読み込み処理が行われる。この処理を行うことで、抽象化するモジュール情報とクロック系で論理を保持するインスタンス名の情報を取得し、この処理によって回路情報から抽象化する回路と必要とする回路情報を取得する。ここでは、例えば図７に示す回路図が回路情報ｄ２００として読み込まれる。図７に示す回路図は、図２に示すクロック系統図の元になっている実際の半導体集積回路図(実回路)である。すなわち、この半導体集積回路から図２に示すクロック系統図を作成したものである。
【００３５】
図４の表２では、ＴＰＯ/ＭＤ１/ＭＤ２、ＴＯＰ/ＭＤ１/ＭＤ３以下の論理を抽象化しＴＯＰ/ＭＤ１/ＭＤ２、ＴＯＰ/ＭＤ１/ＭＤ３をブラックボックス扱いにする指定をしている。また、ＴＯＰ/ＣＫＧ１/ＣＫＢＦ１、ＴＯＰ/ＣＫＧ１/ＣＫＢＦ２は明示的に保持するよう指定する例を掲載している。この実施例では明示していないが、他の論理セルであるＡＮＤセル、ＯＲセル、ＭＵＸセルなども同様に保持設定を行えば回路上に保持される。回路上に存在するネットやポートに対しても同様に保持設定が可能とする。
【００３６】
ステップ２２では、回路情報の読み込み処理を行い回路情報を取得することで回路の全情報を取得する。この処理でクロック系統の信号とデータ信号の識別を行う。すなわち、ステップ２２の処理は、読み込んだ回路情報からクロック経路のみを推定するクロック経路推定手段（クロック経路推定工程）として機能する。
【００３７】
クロック系統の信号の認識は順序回路のクロックをバックトレースしても良いし、クロック専用クロックバッファを認識してフォワードトレースしてもかまわなし、ユーザが直接クロックネットを指定してもかまわない。
【００３８】
ステップ２３では、ステップ２１,２２で読み込んだ情報を基に保持するインスタンスセルを認識し、保持設定のセル以外のデータ信号に関わるセルを回路情報から削除することで論理セルの抽象化処理を行う。
【００３９】
ここで、例として回路の全情報を図７に示す。図７のｚ３〜ｚ７、ｚ１０〜ｚ１５は先の読み込み時にデータ信号として識別されている。このため、図８に示す様に、ｚ３〜ｚ７、ｚ１０〜ｚ１５は削除される。
【００４０】
すなわち、ステップ２３は、データ信号として扱われる回路のうち特定のセル以外の回路を削除する削除手段（削除工程）としての機能を有する。
【００４１】
クロック系に関わるＦＦや論理セルは保持されるがバッファなどはレイアウトでクロックツリーを実施する場合もあるため省略を行う場合がある。この実施例では図４の表２で明示的に保持設定を行っているため、ＴＯＰ/ＣＫＧ１/ＣＫＢＦ１、ＴＯＰ/ＣＫＧ１/ＣＫＢＦ２を保持する。
【００４２】
ステップ２４では、ステップ２１の抽象化情報の読み込み処理と、ステップ２２の回路情報の読み込み処理で読み込んだ情報を基にして、特定の階層以下の情報を削除や抽象化する。すなわち、ステップ２４は回路を抽象化する抽象化手段としての機能を有する。
【００４３】
ここでは、ステップ２１で読み込んだ情報を基にして、ＴＯＰ/ＭＤ１/ＭＤ２とＴＯＰ/ＭＤ１/ＭＤ３以下の情報を抽象化しブラックボックス扱いにする。例えば、図８に示すＴＯＰ/ＭＤ１/ＭＤ２以下の情報はＺ１,Ｚ２で、ＴＯＰ/ＭＤ１/ＭＤ３以下の情報はＺ３,Ｚ４である。これら情報Ｚ１〜Ｚ４が削除され、図８に示すブロック図は図９に示すブロック図となる。
【００４４】
すなわち、ステップ２４は、推定したクロック経路に基づいて回路情報からクロック経路を抽出するクロック経路抽出手段（クロック経路抽出工程）としての機能も有する。
【００４５】
ステップ（回路情報データベース作成工程）２５では、 論理接続のデータベース化を行うことで回路情報データベースを作成する処理を行う。この実施例では、説明を簡単にするために、回路情報データベースを図９に示すブロック図とする。この回路情報データベースは、図１０に示すブロック図でもよいし、ハードウエア記述言語のような言語により記述された情報でもよい。
【００４６】
すなわち、ステップ２５では、ステップ２３で削除されなかった残りの回路と、抽出されたクロック経路すなわち推定されたクロック経路とに基づいて、回路情報データベースを作成する。
【００４７】
そして、ステップ２１ないしステップ２５の処理動作が回路情報データベース作成処理工程を構成する。
【００４８】
次に、図１に示す半導体設計支援装置１のデータベース比較部１５は、クロック系統図データベース作成部ｄ１３で作成されたクロック系統図データベースである図１０に示すブロック図（クロック系統図データベース）と、回路情報データベース作成部ｄ１４で作成された図９に示すブロック図（回路情報データベース）とを比較する。この例では、データベース比較部１５は一致していると判断する。比較した回路情報データベースに不整合があれば不一致であると判断し、不一致である情報を取得することができる。
【００４９】
データベース比較部１５の比較（比較工程）により、図２に示すクロック系統図と図７に示す回路図とのデータが整合がとれているのか、不整合のあるデータなのか判断することができ、作業者の誤認識を防ぐことができる。
【００５０】
次に、クロック系統図データベース作成部ｄ１３で作成されたクロック系統図データベースが図１１に示すものである場合について説明する。また、この場合、回路情報データベース作成部ｄ１４で作成した回路情報データベースを図９のブロック図とする。
【００５１】
この場合、図１１に示すＺ１は、図９に示すＣＫＢＦ１とは論理が異なる。また、図１１に示すｔ１は、図９に示すものとは接続論理は合っているがテキストが異なる。このときの比較結果をテキストで示す。
【００５２】
これらの例を図１２の表３と、図１３の表４とに示す。図１２のLogic  Mismatchの表３には、比較結果として論理的な違いが発生した場合の表示例を示す。図１３のText  Mismatchの表４には、テキストの違いが発生している場合の表示例を示す。
【００５３】
また、比較結果を図で示す例を図１４に示す。図１４のｚ１には、論理的な違いの発生していることを示す。図１４のｔ１では、テキストの違いが発生していることを示す。そして、図１２の表３や図１３の表４や図１４に示すブロック図をモニタ２Ｂに表示したり、比較結果ファイル２Ａに登録させたりする。
【００５４】
これにより不一致箇所の特定が容易になり不整合の解析を行う必要性がなくなる。すなわち、作成したクロック系統図と実回路との不整合の検証が行えることになる。
【００５５】
この発明は、上記実施例に限られるものではなく、特許請求の範囲の発明の要旨を逸脱しない限り、設計の変更や追加等は許容される。
【符号の説明】
【００５６】
１        半導体設計支援装置
１１        クロック系統図読込処理部（読込手段）
１２        回路抽象化処理部（回路情報読込手段、クロック経路抽出手段）
１５        データベース比較部（比較手段）
ｄ１３      クロック系統図データベース作成部（論理推定手段、クロック系
統図データベース作成手段）
ｄ１４      回路情報データベース作成部（回路情報データベース作成手段）
【先行技術文献】
【特許文献】
【００５７】
【特許文献１】特開２０１２-１９０２９１号公報
【図１】
2015014869.tif 000003
【図２】
2015014869.tif 000004
【図３】
2015014869.tif 000005
【図４】
2015014869.tif 000006
【図５】
2015014869.tif 000007
【図６】
2015014869.tif 000008
【図７】
2015014869.tif 000009
【図８】
2015014869.tif 000010
【図９】
2015014869.tif 000011
【図１０】
2015014869.tif 000012
【図１１】
2015014869.tif 000013
【図１２】
2015014869.tif 000014
【図１３】
2015014869.tif 000015
【図１４】
2015014869.tif 000016