(57)【要約】【課題】静的タイミング検証の対象回路であるラッチ回路で構成される同期回路がソフトマクロによる回路とハードマクロによる回路とが混在する形で構成されるＬＳＩにおいて、同一パス上に半周期転送と１周期転送とが混在する場合に、それぞれの転送を本来の転送態様で検証することを可能にする静的タイミング検証方法を得ること。【解決手段】ソフトマクロエリア１０とハードマクロエリア１１との間を経由する１つのデータパスＤＰに検証用クロックの半周期転送と１周期転送とが混在する場合に、ソフトマクロエリアとハードマクロエリアとの境界において適用する検証用クロックに対する条件として、入力ポートＡと出力ポートＢとの間で検証用クロックの属性を互いに逆相に定義する。【選択図】        図１
2007304636.tif 000002
【特許請求の範囲】
【請求項１】
静的タイミング検証の対象回路であるラッチ回路で構成される同期回路がソフトマクロによる回路とハードマクロによる回路とが混在する形で構成される半導体集積回路装置において、
前記ソフトマクロが適用されるソフトマクロエリアと前記ハードマクロが適用されるハードマクロエリアとの間を経由する１つのデータパスに検証用クロックの半周期転送と１周期転送とが混在する場合に、
前記ソフトマクロエリアと前記ハードマクロエリアとの境界において適用する前記検証用クロックに対する条件として、前記データパスの起点側が存在する一方のエリアから他方のエリアに入る境界入力ポートと他方のエリアから一方のエリアに出る境界出力ポートとの間で前記検証用クロックの属性を互いに逆相に定義する場合を含む
ことを特徴とする静的タイミング検証方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、半導体集積回路装置の開発設計において論理回路のタイミング検証を行うために実施される静的タイミング検証方法に関し、特にいわゆる埋め込み型セルアレイ方式の半導体集積回路装置の開発設計において実施するのに好適な静的タイミング検証方法に関するものである。
【背景技術】
【０００２】
静的タイミング検証方法は、半導体集積回路装置（以降「ＬＳＩ」という）の設計過程において、検証対象回路としてラッチで構成される同期回路を取り上げ、その検証対象回路を構成する各素子の接続情報と、検証データパスに存在する遅延と検証対象回路を構成する各素子のホールドタイムおよびセットアップタイムとに関するタイミング情報と、検証対象回路を構成する各素子を制御するクロックに関するクロック情報とに基づいて検証対象回路を構成する各素子がデータを受信するタイミングを算出し、データの送受信に余裕があるか否か、すなわち正常動作が可能であるか否かを検証する方法であり（例えば特許文献１）、検証用パターンを用いることなく高速に検証処理が行えるという利点を有している。
【０００３】
ラッチ回路で構成される同期回路は、エッジトリガタイプのフリップフロップとは異なり、１クロック周期の半サイクル分のデータ食い込みが許容される。つまり、立ち上がりセンスのラッチ回路から立ち下がりセンスのランチ回路への転送は、最小半サイクル、最大全サイクルで行うことができるのがラッチ回路で構成される同期回路の特徴である。換言すると、この特徴点が、静的タイミング検証方法での制約条件となる。以下、この発明の理解を容易にするため、具体的に説明する。
【０００４】
現在主流である標準的なセルアレイ方式によるＬＳＩは、ＳＯＧ型ゲートアレイ（ｓｅａ  ｏｆ  ｇａｔｅ：全面敷き詰め型ゲートアレイ）におけるベーシックセルとメモリ等のライブラリとを使って論理回路を自動的に設計しそれを自動的に配置配線する（以降、これを「ソフトマクロ」という）ことで製作されるが、このＳＯＧ型ゲートアレイによるＬＳＩでの検証対象回路は例えば図３に示すようになっている。
【０００５】
図３は、静的タイミング検証の対象回路であるラッチ回路で構成される同期回路をソフトマクロによる回路で構成した場合の一例を示す回路図である。図３において、ＳＯＧエリア３０は、当該ＬＳＩの全領域を示し、ソフトマクロによって設計した論理回路がソフトマクロによって自動的に配置配線される領域である。このＳＯＧエリア３０において、あるデータ入力ポート３１から対応するデータ出力ポート３１に至る検証データパスに、データ入力ポート３１側からＳＯＧエリア論理回路３７，３８，３９がこの順に形成されるとすれば、ＳＯＧエリア論理回路３７，３８，３９を挟む形でラッチ回路３３，３４，３５，３６が定められ、検証対象回路が特定される。
【０００６】
クロック入力ポート４０に繋がるクロックパス４１には、ラッチ回路３３，３５のクロック入力端が直接接続され、ラッチ回路３４，３６のクロック入力端がインバータ４２を介して接続される。つまり、クロック入力ポート４０に入力されるクロックＣＬＫ（Ｐ１とする）の１周期が、時間的に高レベルである半サイクルＰ１Ｈと低レベルである半サイクルＰ１Ｌとの順で規定されるとすれば、検証対象回路であるラッチ回路で構成される同期回路は、立ち上がりセンスのラッチ回路と立ち下がりセンスのラッチ回路とが交互に並んでいる構成になっている。
【０００７】
ＳＯＧエリア論理回路３７，３８，３９は、プロセスや開発設計の状況によってそこでのパス遅延値が変動する状況にある。静的タイミング検証では、ＳＯＧエリア論理回路３７，３８，３９でのパス遅延値が変動する状況において、端的には、データ入力ポート３１への入力タイミングとデータ出力ポート３１での出力タイミングとクロック入力ポート４０に入力するクロックＣＬＫの周波数とを定義し、ラッチ回路３３，３４，３５，３６でのセットアップ／ホールドの違反有無をチェックするが、ここでは上記した「データ食い込み」の内容を説明する。
【０００８】
すなわち、立ち上がりセンスのラッチ回路３３から立ち下がりセンスのラッチ回路３４へのデータ転送をほぼ全サイクルで行うと、ラッチ回路３４の次に繋がる立ち上がりセンスのラッチ回路３５へのデータ転送に許容される時間は、最大半サイクルとなるが、その殆どの遅延が次段の立ち下がりセンスのラッチ回路３６へのデータ食い込みとなる。
【０００９】
つまり、データ食い込みを発生させると、次段や次々段でその遅延分を吸収する必要があり、吸収できないとタイミング的に破綻してタイミングエラーとなる。要するに、従来の静的タイミング検証では、半サイクルパスチェックと１サイクルパスチェックとが別個独立に行われ、データ食い込みを半サイクル以内に抑えるタイミング制限を設けている。
【００１０】
次に、近年では、ＳＯＧ型ゲートアレイに、任意のトランジスタを組み合わせた回路で構成されるマニュアル設計による論理回路をマニュアルで配置配線して埋め込む（以降、これを「ハードマクロ」という）ことで製作されるいわゆる埋め込み型セルアレイ方式のＬＳＩが普及しつつある。この埋め込み型セルアレイ方式のＬＳＩでの検証対象回路は、例えば図４に示すように、ソフトマクロによる回路とハードマクロによる回路との混在として構成されることになる。
【００１１】
図４は、静的タイミング検証の対象回路であるラッチ回路で構成される同期回路がソフトマクロによる回路とハードマクロによる回路との混在として構成される場合の一例を示す回路図である。
【００１２】
図４において、ＳＯＧ型ゲートアレイには、ソフトマクロを適用するＳＯＧエリア（ソフトマクロ）１０と、ハードマクロを適用するハードマクロエリア１１とが定められる。ＳＯＧエリア１０のクロック入力ポート１２と、ハードマクロエリア１１のクロック入力ポート１３とには、同じクロックＣＬＫが入力される。また、データの入出力ポートは図示を省略したが、ＳＯＧエリア１０とハードマクロエリア１１との境界に、検証するデータパスＤＰが通過するポートＡ，Ｂ，Ｃが定められている。
【００１３】
ＳＯＧエリア１０では、１つのラッチ回路１４と、２つのＳＯＧエリア論理回路１５，１６とが示されている。ラッチ回路１４のクロック入力端はクロック入力ポート１２に直接接続されている。つまり、ラッチ回路１４は、立ち上がりセンスのラッチ回路である。そして、ラッチ回路１４のデータ出力端は、ＳＯＧエリア論理回路１５を介して境界ポートＡに接続されている。また、境界ポートＢは、ＳＯＧエリア論理回路１６を介して境界ポートＣに接続されている。２つのＳＯＧエリア論理回路１５，１６でのパス遅延値は、上記したように変動値である。
【００１４】
一方、ハードマクロエリア１１では、３つのラッチ回路１７，１８，１９が示されている。そして、図示してないが、ハードマクロエリア１１内には、ハードマクロによる論理回路が存在し、そのパス遅延値は固定値である。つまり、境界ポートＡと境界ポートＢとのハードマクロエリア１１内における経路は、固定のパス遅延値を有するハードマクロによる論理回路を経由して接続されている。
【００１５】
また、クロック入力ポート１３に繋がるクロックパス２０には、ラッチ回路１７のクロック入力端がインバータ２１を介して接続され、ラッチ回路１８，１９のクロック入力端が直接接続されている。つまり、ラッチ回路１７は、立ち下がりセンスのラッチ回路であるが、ラッチ回路１８，１９は、立ち上がりセンスのラッチ回路である。
【００１６】
そして、ラッチ回路１７のデータ入力端は、ハードマクロエリア１１内における境界ポートＡと境界ポートＢとの接続経路に図示しないハードマクロによる論理回路を介して接続されている。ラッチ回路１７のデータ出力端は、図示しないハードマクロによる論理回路を介してラッチ回路１９のデータ入力端に接続され、またラッチ回路１８のデータ入力端は、図示しないハードマクロによる論理回路を介して境界ポートＣに接続されている。
【００１７】
つまり、図４に示す例では、検証するデータパスＤＰの起点は、ＳＯＧエリア１０内のラッチ回路１４のデータ出力端である。このデータパスＤＰは、ＳＯＧエリア論理回路１５→境界ポートＡ→ハードマクロエリア１１内のラッチ回路１７と転送される第１のパスと、ＳＯＧエリア論理回路１５→境界ポートＡ→境界ポートＢ→ＳＯＧエリア論理回路１６→境界ポートＣ→ハードマクロエリア１１内のラッチ回路１８と転送される第２のパスとで構成される。
【００１８】
そして、ハードマクロエリア１１には、立ち下がりセンスのラッチ回路１７と立ち上がりセンスのラッチ回路１８とが存在するので、この場合には、ラッチ回路１４からラッチ回路１７への第１のパスでは、ほぼ半サイクルの遅延値を使って構成され、ラッチ回路１４からラッチ回路１８への第２のパスでは、ほぼ全サイクルの遅延値を使って構成されることになる。
【００１９】
しかし、ＳＯＧエリア１０とハードマクロエリア１１とでは、遅延値が異なり、また、ＳＯＧエリア１０での遅延値は変動する。そのため、従来の静的タイミング検証ツールでは、第１のパスでは、半サイクルのタイミングチェックが行えるが、第２のパスでは、データ食い込みを避けるために本来の１サイクルチェックは行えず、ラッチ回路１４からラッチ回路１７への半サイクルのタイミングチェックと、境界ポートＢからラッチ回路１８への半サイクルのタイミングチェックとを行うのが一般的である。
【００２０】
【特許文献１】特開平１０−１２４５５２号公報
【発明の開示】
【発明が解決しようとする課題】
【００２１】
上記したように、ＳＯＧ型ゲートアレイに任意のトランジスタを組み合わせた回路で構成されるマニュアル設計による論理回路をマニュアルで配置配線して埋め込んで製作される埋め込み型セルアレイ方式のＬＳＩでは、静的タイミング検証の対象回路であるラッチ回路で構成される同期回路は、ソフトマクロによる回路とハードマクロによる回路とが混在する形で構成されることになるので、ＳＯＧエリア１０内のラッチ回路１４から見れば同一のパスである第１のパスと第２のパスのように、同一パス上に、半周期転送と１周期転送とが混在する場合が生ずる。この場合に、それぞれの転送を本来の転送態様で検証するのが望ましいが、従来では、そのような適切な検証が困難であり、検証精度の向上が図れない。
【００２２】
この発明は、上記に鑑みてなされたものであり、静的タイミング検証の対象回路であるラッチ回路で構成される同期回路がソフトマクロによる回路とハードマクロによる回路とが混在する形で構成されるＬＳＩにおいて、同一パス上に半周期転送と１周期転送とが混在する場合に、それぞれの転送を本来の転送態様で検証することを可能にする静的タイミング検証方法を得ることを目的とする。
【課題を解決するための手段】
【００２３】
上述した目的を達成するために、この発明は、静的タイミング検証の対象回路であるラッチ回路で構成される同期回路がソフトマクロによる回路とハードマクロによる回路とが混在する形で構成される半導体集積回路装置において、前記ソフトマクロが適用されるソフトマクロエリアと前記ハードマクロが適用されるハードマクロエリアとの間を経由する１つのデータパスに検証用クロックの半周期転送と１周期転送とが混在する場合に、前記ソフトマクロエリアと前記ハードマクロエリアとの境界において適用する前記検証用クロックに対する条件として、前記データパスの起点側が存在する一方のエリアから他方のエリアに入る境界入力ポートと他方のエリアから一方のエリアに出る境界出力ポートとの間で前記検証用クロックの属性を互いに逆相に定義する場合を含むことを特徴とする。
【００２４】
この発明によれば、同一パス上の入力側と出力側の各境界ポートにおいてはチェックを実施するクロックの属性を互いに逆相となるように設定するので、従来方式のタイミング制限を超えた半サイクルパスチェックと１サイクルパスチェックとが行える。これによって、同一パス上に混在する半周期転送と１周期転送とをそれぞれ本来の転送態様で検証することが可能になり、検証精度の向上が図れる。
【発明の効果】
【００２５】
この発明によれば、従来方式と比較して検証精度の向上が図れるという効果を奏する。また、静的タイミング検証ツールを装備し内部で論理合成を実施している場合でも、各境界ポート間のタイミング定義が明確となるので、境界ポート前後で最適なタイミングの回路を自動的に生成することが可能となるという効果も奏する。
【発明を実施するための最良の形態】
【００２６】
以下に図面を参照して、この発明にかかる静的タイミング検証方法の好適な実施の形態を詳細に説明する。
【００２７】
図１は、この発明の一実施の形態による静的タイミング検証方法を実施する検証対象回路であるラッチ回路で構成される同期回路（ソフトマクロによる回路とハードマクロによる回路との混在として構成される回路）の一例を示す回路図である。なお、図１では、ラッチ回路で構成される同期回路がソフトマクロによる回路とハードマクロによる回路との混在として構成される回路である場合の好適な例として、図４に示した回路が示されている。
【００２８】
図１の回路構成は、前述したので、ここでは、図１と図２を参照してこの発明に関わる部分を中心に説明する。なお、図２は、図１に示すＳＯＧエリア（ソフトマクロエリア）とハードマクロエリアとの境界で設定する境界条件の設定方法を説明する図である。
【００２９】
図１に示す例では、検証するデータパスＤＰの起点は、ソフトマクロエリア１０側に存在するので、境界ポートＡ，Ｃは、ソフトマクロエリア１０からハードマクロエリア１１に入る入力ポートであり、境界ポートＢは、ハードマクロエリア１１からソフトマクロエリア１０に出る出力ポートであるので、以降の説明では、境界ポートＡ，Ｃは、入力ポートＡ，Ｃと称し、境界ポートＢは、出力ポートＢと称することにする。
【００３０】
従来の静的タイミング検証ツールでは、ハードマクロエリア１１には、ソフトマクロエリア１０とは異なる専用のライブラリを用意して検証を実施する。また、ＳＯＧエリア論理回路１５，１６の遅延値は変動する。これらによって、入力ポートＡ，Ｃに入るタイミングが変わり、また、出力ポートＢでの出力タイミングも変化する。
【００３１】
そこで、ソフトマクロエリア１０側のラッチ回路１４のデータ出力端を起点とするデータパスＤＰ上に存在する入力ポートＡ、出力ポートＢおよび入力ポートＣについての境界条件をそれぞれ次のようにして定義する。
【００３２】
（イ）まず、入力ポートＡの境界条件（入力ポートＡでの入力タイミングのセットアップ値）は、次のようにして定める。すなわち、入力ポートＡのハードマクロエリア１１内における接続先には、出力ポートＢの他に、立ち下がりセンスのラッチ回路１７が存在するので、入力ポートＡの境界条件は、ラッチ回路１７のセットアップチェックが実施できるように定める必要がある。
【００３３】
つまり、入力ポートＡからラッチ回路１７に入力されるデータがタイミング的に食い込まないことを前提にした場合の入力ポートＡでの入力タイミングは、図２（１）に示すように、ソフトマクロエリア１０内でのデータパスＤＰの遅延値、つまり、ＳＯＧエリア論理回路１５での遅延値として、クロックＣＬＫの半サイクル以内に収まる任意の遅延値Ｘを想定すると、前段のラッチ回路１４の入力クロックＣＬＫの高レベル期間である半サイクルＰ１Ｈ後の立ち下がりエッジ↓から高レベル期間内に入り込んだタイミングであるので、その入り込み幅（セットアップチェック値）を、『入力ポートＡとラッチ回路１７との間の遅延値』と『ラッチ回路１７のセットアップ値』との合計値に設定し、そのときのクロックＣＬＫの属性をラッチ回路１７と同じ立ち下がりエッジ↓に設定する。
【００３４】
この場合、ソフトマクロエリア１０内でのデータパスＤＰに想定する遅延値Ｘは、ＳＯＧエリア論理回路１５，１６で実現可能な現実的な遅延値として、クロックＣＬＫの半サイクルから入力ポートＡでのセットアップチェック値を引いた値以下の任意値をとしていることになる。
【００３５】
これを式で表すと、クロックＣＬＫの立ち下がりエッジ↓をクロック属性とする入力ポートＡのセットアップ値＠ＣＬＫ↓は、式（１）に示すように、
入力ポートＡのセットアップ値＠ＣＬＫ↓
＝『入力ポートＡ→ラッチ回路１７の遅延値』
＋『ラッチ回路１７のセットアップ値』      …（１）
となる。
【００３６】
（ロ）次に、出力ポートＢの境界条件（出力ポートＢでの出力タイミング値）は、次のようにして定める。すなわち、出力ポートＢでの出力タイミングは、図２（２）に示すように、ラッチ回路１４の入力クロックＣＬＫの高レベル期間である半サイクルＰ１Ｈ後の低レベル期間である半サイクルＰ１Ｌ内に少し入り込んだ位置にあるので、そのタイミング位置の値（Ｂｏｕｔ）を、半サイクルＰ１Ｈの立ち上がりエッジ↑からの経過値である『ランチ回路１４と入力ポートＡとの間の遅延値Ｘ』と『入力ポートＡと出力ポートＢとの間の遅延値』との合計値として設定し、そのときのクロックＣＬＫの属性をラッチ回路１４と同じ立ち上がりエッジ↑に設定する。
【００３７】
これを式で表すと、クロックＣＬＫの立ち上がりエッジ↑をクロック属性とする出力ポートＢの出力タイミング値＠ＣＬＫ↑は、式（２）に示すように、
出力タイミング値＠ＣＬＫ↑
＝『任意の遅延値Ｘ』
＋『入力ポートＡ→出力ポートＢの遅延値』        …（２）
となる。
【００３８】
（ハ）そして、入力ポートＣの境界条件（入力ポートＣでの入力タイミングのセットアップ値）は、次のようにして定める。すなわち、入力ポートＣでの入力タイミングは、図２（２）に示すように、ラッチ回路１４の入力クロックＣＬＫの高レベル期間である半サイクルＰ１Ｈ後の低レベル期間である半サイクルＰ１Ｌ内を任意の遅延値Ｘだけ経過して次の高レベル期間である半サイクルＰ１Ｈの立ち上がりエッジ↑に近づいた位置になるので、次の高レベル期間である半サイクルＰ１Ｈの立ち上がりエッジ↑から前の半サイクルＰ１Ｌ内への入り込み幅（入力ポートＣのセットアップチェック値）を、入力ポートＡの境界条件の設定と同様の考えで、『入力ポートＣとラッチ回路１８との間の遅延値』と『ラッチ回路１８のセットアップ値』との合計値に設定し、そのときのクロックＣＬＫの属性をラッチ回路１４と同じ立ち上がりエッジ↑に設定する。
【００３９】
これを式で表すと、クロックＣＬＫの立ち上がりエッジ↑をクロック属性とする入力ポートＣのセットアップ値＠ＣＬＫ↑は、式（３）に示すように、
入力ポートＣのセットアップ値＠ＣＬＫ↑
＝『入力ポートＣ→ラッチ回路１８の遅延値』
＋『ラッチ回路１８のセットアップ値』      …（３）
となる。
【００４０】
このように、境界ポートＡ，Ｂ，Ｃでのタイミングチェック設定を実施することによって、境界ポートＡでの検証では、ハードマクロエリア１１内のラッチ回路１７のセットアップチェックが確実に実施される。つまり、第１のパスにおける半周期転送のチェックが行える。
【００４１】
そして、同一パス上に存在する境界ポートＡと境界ポートＢでのクロック属性を逆相に設定してあるので、第２のパスでは、１周期転送であるにも拘わらず、従来、半サイクルでチェックされていた出力ポートＢから入力ポートＣへのパスのタイミング検証が、データパスＤＰの起点である立ち上がりセンスのラッチ回路１４から入力ポートＡ、出力ポートＢおよび入力ポートＣを経由して立ち上がりセンスのラッチ回路１８までのタイミングパスを検証対象とし、その転送態様の通りに、１サイクルでチェックできるようになる。
【００４２】
以上のように、この実施の形態によれば、静的タイミング検証の対象回路であるラッチ回路で構成される同期回路がソフトマクロによる回路とハードマクロによる回路とが混在する形で構成されるＬＳＩにおいて、同一パス上に、半周期転送と１周期転送とが混在する場合に、その同一パス上の入力側と出力側の各境界ポートにおいてはチェックを実施するクロックの属性を互いに逆相となるように設定するので、従来方式のタイミング制限を超えた半サイクルパスチェックと１サイクルパスチェックとが行える。つまり、同一パス上に混在する半周期転送と１周期転送とをそれぞれ本来の転送態様で検証することが可能になる。
【００４３】
したがって、従来方式と比較して検証精度の向上が見込める。また、静的タイミング検証ツールを装備し内部で論理合成を実施している場合でも、各境界ポート間のタイミング定義が明確となるので、ポート前後で最適なタイミングの回路を自動的に生成することが可能となる。
【００４４】
なお、以上示した実施の形態では、検証対象パスの起点がソフトマクロ領域に在る場合を説明したが、ハードマクロ領域に在る場合も同様の方法が適用できることは言うまでもない。
【産業上の利用可能性】
【００４５】
以上のように、この発明にかかる静的タイミング検証方法は、静的タイミング検証の対象回路であるラッチ回路で構成される同期回路がソフトマクロによる回路とハードマクロによる回路とが混在する形で構成されるＬＳＩにおいて、同一パス上に半周期転送と１周期転送とが混在する場合にそれぞれの転送を本来の転送態様で検証するのに有用である。
【図面の簡単な説明】
【００４６】
【図１】この発明の一実施の形態による静的タイミング検証方法を実施する検証対象回路であるラッチ回路で構成される同期回路（ソフトマクロによる回路とハードマクロによる回路との混在として構成される回路）の一例を示す回路図である。
【図２】図１に示すＳＯＧエリア（ソフトマクロエリア）とハードマクロエリアとの境界で設定する境界条件の設定方法を説明する図である。
【図３】静的タイミング検証の対象回路であるラッチ回路で構成される同期回路をソフトマクロによる回路で構成した場合の一例を示す回路図である。
【図４】静的タイミング検証の対象回路であるラッチ回路で構成される同期回路がソフトマクロによる回路とハードマクロによる回路との混在として構成される場合の一例を示す回路図である。
【符号の説明】
【００４７】
１０  ＳＯＧエリア（ソフトマクロエリア）
１１  ハードマクロエリア
１２，１３  クロッククロック入力ポート
１４，１８，１９  立ち上がりセンスのラッチ回路
１５，１６  ＳＯＧエリア論理回路
１７  立ち下がりセンスのラッチ回路
２０  クロックパス
２１  インバータ
ＤＰ  データパス
Ａ  境界ポート（入力ポート）
Ｂ  境界ポート（出力ポート）
Ｃ  境界ポート（入力ポート）
Ｘ  ソフトマクロエリアにおいて実現可能と想定できる遅延値（クロックの半サイクル以内に収まる任意の遅延値）
【図１】
2007304636.tif 000003
【図２】
2007304636.tif 000004
【図３】
2007304636.tif 000005
【図４】
2007304636.tif 000006