(57)【特許請求の範囲】
【請求項１】
ＲＴＬ（Register Transfer Level）データに、遅延制約データを適用し、スタティックハザードを抑止するためのハザード抑止セルを生成し、前記ハザード抑止セルを保持した最終回路データを生成し、前記ハザード抑止セルを含むハザード抑止セルデータを生成する回路データ生成部と、
前記最終回路データに対し、前記ハザード抑止セルデータを参照し、スタティックハザードの可能性のあるパスを検出し、前記スタティックハザードの可能性のあるパスを記述した最終タイミングレポートを生成するハザード抑止セル考慮ＳＴＡ（Static Timing Analysis）と、
を含むデータ処理装置と、
前記ＲＴＬデータ、前記遅延制約データ、前記ハザード抑止セルデータ、前記最終回路データ、および、最終タイミングレポートを格納する記憶装置と、
を含むことを特徴とするデータ処理システム。
【請求項２】
前記回路データ生成部は、
前記記憶装置から前記ＲＴＬデータ、および、前記遅延制約データを読み込み、スタティックハザードが発生する可能性のある箇所に前記ハザード抑止セルを挿入するように論理合成を行い、前記合成後回路データ、および、前記ハザード抑止セルデータを前記記憶装置に格納する論理合成部と、
前記合成後回路データ、および、前記ハザード抑止セルデータを読み込み、前記ハザード抑止セルデータに記載されている前記ハザード抑止セルが削除されないように配置・配線を行い、レイアウト後回路データを前記記憶装置に格納する配置配線処理部と、
前記レイアウト後回路データ、および、前記ハザード抑止セルデータを読み込み、前記ハザード抑止セルが削除されないようにＥＣＯ（Engineering Changing Order）処理を行い、前記最終回路データを前記記憶装置に格納するＥＣＯ処理部と、
を含むことを特徴とする請求項１のデータ処理システム。
【請求項３】
前記ハザード抑止セル考慮ＳＴＡは、
前記ハザード抑止セルデータを参照し、前記ハザード抑止セルの人カピンのダイミングアークを切断し、切断後に、前記ハザード抑止セルを通らないで残ったタイミング例外パスを検出し、前記スタティックハザードの可能性のあるパスとして前記最終タイミングレポートに記述し、前記記憶装置に格納することを特徴とする請求項２のデータ処理システム。
【請求項４】
前記論理合成部は、
タイミング例外属性が入力ピンの一部になっているセルを列挙し、
前記タイミング例外属性が入力ピンの一部になっている前記セルのうち、最もレジスタからの段数の少ないセルを前記ハザード抑止セルとすることを特徴とする請求項３のデータ処理システム。
【請求項５】
前記ＥＣＯ処理部は、
設計者により設計されたハザード抑止のための設計者作成ハザード抑止回路と、
前記最終回路データに記述された前記ハザード抑止セルを含む最終段がレジスタである回路の出力と、前記設計者作成ハザード抑止回路の出力とを比較する比較回路と、
を前記最終回路データに配置することを特徴とする請求項３、または、４のデータ処理システム。
【請求項６】
データ処理システムにおけるデータ処理方法であって、
前記データ処理システムにおいて、ＲＴＬデータに、遅延制約データを適用し、スタティックハザードを抑止するためのハザード抑止セルを生成し、前記ハザード抑止セルを保持した最終回路データを生成し、前記ハザード抑止セルを含むハザード抑止セルデータを生成し、記憶装置に格納し、
前記データ処理システムにおいて、前記最終回路データに対し、前記ハザード抑止セルデータを参照し、スタティックハザードの可能性のあるパスを検出し、前記スタティックハザードの可能性のあるパスを記述した最終タイミングレポートを生成し、前記記憶装置に格納することを特徴とするデータ処理方法。
【請求項７】
前記データ処理システムにおいて、前記記憶装置から前記ＲＴＬデータ、および、前記遅延制約データを読み込み、スタティックハザードが発生する可能性のある箇所に前記ハザード抑止セルを挿入するように論理合成を行い、前記合成後回路データ、および、前記ハザード抑止セルデータを前記記憶装置に格納し、
前記データ処理システムにおいて、前記合成後回路データ、および、前記ハザード抑止セルデータを読み込み、前記ハザード抑止セルデータに記載されている前記ハザード抑止セルが削除されないように配置・配線を行い、レイアウト後回路データを前記記憶装置に格納し、
前記データ処理システムにおいて、前記レイアウト後回路データ、および、前記ハザード抑止セルデータを読み込み、前記ハザード抑止セルが削除されないようにＥＣＯ処理を行い、前記最終回路データを記憶装置に格納することを特徴とする請求項６のデータ処理方法。
【請求項８】
前記データ処理システムにおいて、前記ハザード抑止セルデータを参照し、前記ハザード抑止セルの人カピンのダイミングアークを切断し、切断後に、前記ハザード抑止セルを通らないで残ったタイミング例外パスを検出し、前記スタティックハザードの可能性のあるパスとして前記最終タイミングレポートに記述し、前記記憶装置に格納することを特徴とする請求項７のデータ処理方法。
【請求項９】
ＲＴＬデータに、遅延制約データを適用し、スタティックハザードを抑止するためのハザード抑止セルを生成し、前記ハザード抑止セルを保持した最終回路データを生成し、前記ハザード抑止セルを含むハザード抑止セルデータを生成し、記憶装置に格納する処理と、
前記最終回路データに対し、前記ハザード抑止セルデータを参照し、スタティックハザードの可能性のあるパスを検出し、前記スタティックハザードの可能性のあるパスを記述した最終タイミングレポートを生成し、前記記憶装置に格納する処理と、
をコンピュータに実行させることを特徴とするプログラム。
【請求項１０】
前記記憶装置から前記ＲＴＬデータ、および、前記遅延制約データを読み込み、スタティックハザードが発生する可能性のある箇所に前記ハザード抑止セルを挿入するように論理合成を行い、前記合成後回路データ、および、前記ハザード抑止セルデータを前記記憶装置に格納する処理と、
前記合成後回路データ、および、前記ハザード抑止セルデータを読み込み、前記ハザード抑止セルデータに記載されている前記ハザード抑止セルが削除されないように配置・配線を行い、レイアウト後回路データを前記記憶装置に格納する処理と、
前記レイアウト後回路データ、および、前記ハザード抑止セルデータを読み込み、前記ハザード抑止セルが削除されないようにＥＣＯ処理を行い、前記最終回路データを記憶装置に格納する処理と、
をコンピュータに実行させることを特徴とする請求項９のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理システム、データ処理方法、および、プログラムに関する。
【背景技術】
【０００２】
近年の論理合成ツールの最適化機能の強化に伴い、スタティックハザードが発生するような複雑な回路が生成されることが多くなった。これらは１サイクルパスであれば特に同題ないのであるが、タイミングが保証されていないタイミング例外パス（マルチサイクル、非同期等のパス）などでは非常に危険な回路となる。スタティックハザードが発生するような回路を生成するのは、基本的に論理合成ツールである。論理合成ツールは、実際のＬＳＩ（Large Scale Integration）の設計において、論理合成の後に多数の処理を行っており、それら処理を通してもハザードフリーな回路を維持する方法が求められていた。
【０００３】
論理合成に関する技術の一例が、特許文献１に記載されている。この技術は、もっともスタティックハザードが発生されやすい論理合成のフェーズでのスタティックハザードの抑止の技術である。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１４−１４２７４３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１記載の技術では、スタティックハザード抑止のための回路が、最終の回路データに保持されているかどうかを確認できず、回路設計の信頼性を確保できなかった。
【０００６】
本発明の目的は、上記問題点を解決したデータ処理システム、データ処理方法、および、プログラムを提供することである。
【課題を解決するための手段】
【０００７】
本発明のデータ処理システムは、ＲＴＬデータに、遅延制約データを適用し、スタティックハザードを抑止するためのハザード抑止セルを生成し、前記ハザード抑止セルを保持した最終回路データを生成し、前記ハザード抑止セルを含むハザード抑止セルデータを生成する回路データ生成部と、前記最終回路データに対し、前記ハザード抑止セルデータを参照し、スタティックハザードの可能性のあるパスを検出し、前記スタティックハザードの可能性のあるパスを記述した最終タイミングレポートを生成するハザード抑止セル考慮ＳＴＡとを含むデータ処理装置と、前記ＲＴＬデータ、前記遅延制約データ、前記ハザード抑止セルデータ、前記最終回路データ、および、最終タイミングレポートを格納する記憶装置と、を含む。
【０００８】
本発明のデータ処理方法は、ＲＴＬデータに、遅延制約データを適用し、スタティックハザードを抑止するためのハザード抑止セルを生成し、前記ハザード抑止セルを保持した最終回路データを生成し、前記ハザード抑止セルを含むハザード抑止セルデータを生成し、記憶装置に格納し、前記最終回路データに対し、前記ハザード抑止セルデータを参照し、スタティックハザードの可能性のあるパスを検出し、前記スタティックハザードの可能性のあるパスを記述した最終タイミングレポートを生成し、前記記憶装置に格納する。
【０００９】
本発明のプログラムは、ＲＴＬデータに、遅延制約データを適用し、スタティックハザードを抑止するためのハザード抑止セルを生成し、前記ハザード抑止セルを保持した最終回路データを生成し、前記ハザード抑止セルを含むハザード抑止セルデータを生成し、記憶装置に格納する処理と、前記最終回路データに対し、前記ハザード抑止セルデータを参照し、スタティックハザードの可能性のあるパスを検出し、前記スタティックハザードの可能性のあるパスを記述した最終タイミングレポートを生成し、前記記憶装置に格納する処理と、をコンピュータに実行させる。
【発明の効果】
【００１０】
本発明の効果は、信頼性が向上することである。
【図面の簡単な説明】
【００１１】
【図１】本発明の第１の実施の形態の構成を示すブロック図である。
【図２】本発明の第２の実施の形態の構成を示すブロック図である。
【図３】ＲＴＬデータの一例を示す説明図である。
【図４】遅延制約データの一例を示す説明図である。
【図５】合成後回路データの一例を示すイメージ図である。
【図６】ハザード抑止セルデータの一例を示す説明図である。
【図７】論理合成部によりＲＴＬデータが展開されたデータ構造を示すイメージ図である。
【図８】レイアウト処理の一例を示すフローチャートである。
【図９】レイアウト後回路データの一例を示すイメージ図である。
【図１０】第３の実施の形態の特徴を示すイメージ図である。
【発明を実施するための形態】
【００１２】
次に、本発明の第１の実施の形態について図面を参照して詳細に説明する。
【００１３】
図１は、本発明の第１の実施の形態の構成を示すブロック図である。図１を参照すると、第１の実施の形態のデータ処理システム５００は、データ処理装置１００、および、記憶装置２００を含む。
【００１４】
データ処理装置１００は、回路データ生成部３００、および、ハザード抑止セル考慮ＳＴＡ１４０を含む。ここで、ＳＴＡは、Static Timing Analysis（静的タイミング分析）である。ＳＴＡは、論理回路のタイミングを検証する手法である。記憶装置２００は、ＲＴＬデータ２１０、遅延制約データ２２０、ハザード抑止セルデータ２４０、最終回路データ２６０、および、最終タイミングレポート２７０を含む。ここで、ＲＴＬは、Register Transfer Level（レジスタ転送レベル）で、論理回路をハードウェア記述言語で記述するときの手法である。
【００１５】
また、第１の実施の形態のデータ処理装置１００（たとえば、コンピュータ）に上述の動作（処理）を実行させるプログラムを実現することが可能である。
【００１６】
次に、第１の実施の形態の動作について図面を参照して説明する。
【００１７】
回路データ生成部３００は、記憶装置２００に格納されたＲＴＬデータ２１０に、遅延制約データ２２０を適用し、タイミング例外パス等に起因するスタティックハザードを抑止するための論理セルであるハザード抑止セルを生成する。そして、回路データ生成部３００は、ハザード抑止セルを保持した最終回路データ２６０を生成し、記憶装置２００に格納する。
【００１８】
また、回路データ生成部３００は、生成したハザード抑止セルを含むハザード抑止セルデータ２４０を生成し、記憶装置２００に格納する。
【００１９】
次に、ハザード抑止セル考慮ＳＴＡ１４０は、最終回路データ２６０に対し、ハザード抑止セルデータ２４０を参照し、スタティックハザードの可能性のあるパスを検出し、その検出したパスを記述した最終タイミングレポート２７０を生成する。そして、ハザード抑止セル考慮ＳＴＡ１４０は、最終タイミングレポート２７０を記憶装置２００に格納する。
【００２０】
また、第１の実施の形態のデータ処理装置１００（たとえば、コンピュータ）に上述の動作（処理）を実行させるプログラムが可能である。
【００２１】
次に、第１の実施の形態の効果について説明する。
【００２２】
ＬＳＩの設計では、タイミング例外パスを制御するために、ストローブ信号と呼ばれる信号が導入される。そして、このストローブ信号と非同期、または、マルチサイクル信号との論理積であるハザード抑止セルを生成する等の手法がとられることがある。
【００２３】
しかし、設計者がそのような回路を意図して、ハードウェア記述言語を用いてその回路の論理を記述したにもかかわらず、論理合成ツールが期待しない合成を実施する（すなわち、上述のハザード抑止セルが保持されずに削除される）場合がある。
【００２４】
この結果、非同期、または、マルチサイクル信号にグリッジが乗る回路が生成され、ストローブ信号による制御が効かなくなるスタティックハザードと呼ばれる状態が発生する場合がある。たとえば、特許文献１の図８には、その例が記載されている。しかし、特許文献１記載の技術では、最終的な回路データ（特許文献１における最適化後回路）に、ハザード抑止セルが保存されているかどうかを確認することができない。
【００２５】
第１の実施の形態は、ハザード抑止セルデータ２４０を参照して、最終回路データ２６０がハザード抑止セルを保持しているかどうか示すデータを記述する最終タイミングレポート２７０を生成する構成である。したがって、第１の実施の形態は、特許文献１記載の技術よりも信頼性が向上するという効果を持つ。
【００２６】
次に、本発明の第２の実施の形態について図面を参照して詳細に説明する。
【００２７】
第２の実施の形態は、第１の実施の形態の一例である。図２は、本発明の第２の実施の形態の構成を示すブロック図である。図２を参照すると、データ処理システム５００は、データ処理装置１００、および、記憶装置２００を含む。
【００２８】
第２の実施の形態のデータ処理装置１００は、第１の実施の形態の一例であり、回路データ生成部３００、および、ハザード抑止セル考慮ＳＴＡ１４０を含む。回路データ生成部３００は、論理合成部１１０、配置配線処理部１２０、および、ＥＣＯ処理部１３０を含む。ここで、ＥＣＯは、Engineering Changing Order（設計変更指示）である。
【００２９】
第２の実施の形態の記憶装置２００は、第１の実施の形態の記憶装置２００の一例である。そして、記憶装置２００は、ＲＴＬデータ２１０、遅延制約データ２２０、合成後回路データ２３０、ハザード抑止セルデータ２４０、レイアウト後回路データ２５０、最終回路データ２６０、および、最終タイミングレポート２７０を含む。
【００３０】
論理合成部１１０は、ＲＴＬデータ２１０、および、遅延制約データ２２０を読み込み、スタティックハザードが発生する可能性のある箇所にハザード抑止セルを挿入するように論理合成を行う。そして、論理合成部１１０は、論理合成によって生成された合成後回路データ２３０、および、ハザード抑止セルを示すハザード抑止セルデータ２４０を記憶装置２００に格納する。
【００３１】
配置配線処理部１２０は、合成後回路データ２３０、および、ハザード抑止セルデータ２４０を読み込み、配置・配線、および、シグナルインテグリティ処理を行う。この時、配置配線処理部１２０は、ハザード抑止セルデータ２４０に記載されているセルについては非最適化指定を行い、削除されないようにする。そして、配置配線処理部１２０は、配置・配線の結果であるレイアウト後回路データ２５０を記憶装置２００に格納する。
【００３２】
ＥＣＯ処理部１３０は、レイアウト後回路データ２５０、および、ハザード抑止セルデータ２４０を読み込み、ＥＣＯ処理を行い、最終回路データ２６０を記憶装置２００に格納する。ＥＣＯの手法としては、たとえば、ＥＤＡ（Electronic Design Automation）ツールによる自動処理、または、手動処理がある。
【００３３】
ハザード抑止セル考慮ＳＴＡ１４０は、最終回路データ２６０、および、ハザード抑止セルデータ２４０を読み込み、スタティックハザードの検証を行う。ハザード抑止セル考慮ＳＴＡ１４０は、タイミング例外パスを検証する際に、ハザード抑止セルのピンのタイミングアークを切断することにより検証を行い、検証の結果である最終タイミングレポート２７０を記憶装置２００に格納する。
【００３４】
ＲＴＬデータ２１０は、タイミング例外パス、および、１サイクルパスの合流回路の記述を含む。図３は、ＲＴＬデータ２１０の一例を示す説明図（Ｖｅｒｉｌｏｇ（登録商標）での記述例）である。図３を参照すると、信号は、ｗｉｒｅで記述され、レジスタは、ｒｅｇで記述され、組み合わせ回路は、ａｓｓｉｇｎで記述され、レジスタの動作は、ａｌｗａｙｓで記述されている。
【００３５】
レジスタとして、ＦＦ、ＥＸＣＥＰ＿Ｒ、および、ＳＴＲＢ＿Ｒが定義されている。信号として、ｎ０、ＳＴＲＢ、および、ＥＸＣＥＰが定義されている。また、図３において、ＳＴＲＢ＿ＲとＳＴＲＢとの間には、組み合わせ回路ｌｏｇｉｃＡが存在し、ＥＸＣＥＰ＿ＲとＥＸＣＥＰとの間には、組み合わせ回路ｌｏｇｉｃＢが存在するが、これらは、本発明の主旨とは関係ないので、記述は省略されている。
【００３６】
遅延制約データ２２０は、回路を合成、最適化する際に、論理合成部１１０に守らせるべきクロック制約、入出力遅延制約、または、タイミング例外制約等を含む。図４は、遅延制約データ２２０の一例を示す説明図である。
【００３７】
図４を参照すると、ＥＸＣＥＰ＿ＲからＦＦまでのパスをマルチサイクルパス化する制約が記述されている。ＥＸＣＥＰ＿Ｒがマルチサイクルパスの始点、ＦＦがマルチサイクルパスの終点、そして、ＳＴＲＢ＿Ｒは１サイクルパスの始点である。
【００３８】
図３には、ｗｉｒｅ  ｎ０に、ＳＴＲＢ＆＆ＥＸＣＥＰ（論理積）が記述されており、ここで、タイミング例外パス（マルチサイクルパス）と１サイクルパスとが合流する。すなわち、ｎ０が、スタティックハザードの危険性が高い箇所となる。
【００３９】
合成後回路データ２３０は、論理合成部１１０により、ＲＴＬデータ２１０に遅延制約データ２２０が適用され、ハザード抑止セルが挿入され、論理合成、論理最適化された結果の回路を示すデータである。
【００４０】
図５は、図３のＲＴＬデータ２１０に図４の遅延制約データ２２０が適用された結果の合成後回路データ２３０の一例を示すイメージ図（データそのものではない）である。図５を参照すると、ｌｏｇｉｃＡ、および、ｌｉｇｉｃＢは、組み合わせ回路であり、それぞれの出力が、ＳＴＲＢ、および、ＥＸＣＥＰである。セルｃ１は、論理和回路である。また、論理積回路であるハザード抑止セルｃ０が挿入されている。
【００４１】
ハザード抑止セルデータ２４０は、論理合成部１１０によって作成されるハザード抑止セルのインスタンス名一覧である。図６は、図５の合成後回路データ２３０に対応するハザード抑止セルデータ２４０の一例を示す説明図である。図６を参照すると、インスタンス名は階層形で指定されている。
【００４２】
レイアウト後回路データ２５０は、配置配線処理部１２０により、合成後回路データ２３０が配置・配線処理された結果の回路のデータであり、論理的には合成後回路データ２３０と等価である。この時、ハザード抑止セルリスト２４が適用されて処理が行われるので、レイアウト後回路データ２５０にも、ハザード抑止セルｃ０が保持される。
【００４３】
最終回路データ２６０は、ＥＣＯ処理部１３０により、レイアウト後回路データ２５０に対してＥＣＯ処理が実施された結果の回路のデータである。論理的にレイアウト後回路データ２５０と等価でない場合がある。
【００４４】
最終タイミングレポート２７０は、ハザード抑止セル考慮ＳＴＡ１４０によって生成されるレポートである。最終タイミングレポート２７０中に、パスが検出されたことが示されると、最終回路データ２６０が、スタティックハザードが起きうる回路に対応するデータを含むことになる。
【００４５】
次に、本発明の第２の実施の形態の動作について図面を参照して説明する。
【００４６】
まず、設計者により、ＲＴＬデータ２１０（図３）、および、遅延制約データ２２０（図４）が作成され、記憶装置２００に格納される。
【００４７】
次に、論理合成部１１０が、ＲＴＬデータ２１０、および、遅延制約データ２２０を読み込んで合成を行い、合成後回路データ２３０を生成し、記憶装置２００に格納する。論理合成部１１０は、合成、および、最適化の２段階で処理を行う。論理合成部１１０は、まず、最初に論理最適化を行わずにＲＴＬデータ２１０に記述された論理構造を保持したまま、論理をデータ構造として展開する。
【００４８】
図７は、上記データ構造を示すイメージ図である。図７を参照すると、信号ＳＴＲＢ、および、信号ＥＸＣＥＰは、それぞれ、ジェネリックセルｃ０（論理積）の入力ピンａ、および、入力ピンｂに接続される。
【００４９】
また、ジェネリックセルｃ０（論理積）の出力である信号ｎ０、および、他の回路ｏｔｈｅｒからの出力は、それぞれ、ジェネリックセルｃ１（論理和）の入力ピンａ、および、入力ピンｂに接続される。他の回路ｏｔｈｅｒからの出力は、遅延制約の無い１サイクルパスの信号である。
【００５０】
次に、論理合成部１１０は、スタティックハザード抑止に必要なハザード抑止セルを特定する。ハザード抑止セルとは、タイミング例外パス（たとえば、マルチサイクルパス）、および、１サイクルパスの両方が合流するセルであり、図７においては、ジェネリックセルｃ０（論理積）である。ハザード抑止セルを特定するアルゴリズムの一例を次に示す。
【００５１】
（１）タイミング例外カテゴリ毎にタイミング例外属性ｅ、および、始点からの論理段数を伝搬させる。タイミング例外属性ｅは、セルのピンに付属させる。
【００５２】
（２）全ての組み合わせ回路のセルを調べ、タイミング例外属性ｅが入力ピンの一部になっているものを列挙する。
【００５３】
（３）タイミング例外属性ｅが入力ピンの一部になっているセルのうち、最もレジスタからの段数の少ないセルをｄｏｎ’ｔ＿ｔｏｕｃｈ指定する。
【００５４】
（４）ｄｏｎ’ｔ＿ｔｏｕｃｈ指定したセルのｆａｎｏｕｔ（ファンアウト；論理出力）のセルを除外する。
【００５５】
（５）タイミング例外属性ｅが入力ピンの一部になっているセルに対して、上記３〜４までを繰り返す。
【００５６】
次に、上記アルゴリズムに基づいて、図７からジェネリックセルｃ０を抽出し、ｄｏｎ’ｔ＿ｔｏｕｃｈする（すなわち、ジェネリックセルｃ０をハザード抑止セルＣ０とする）過程について説明する。
【００５７】
ＥＸＣＥＰ＿Ｒがタイミング例外パスの始点であるので、ｌｏｇｉｃＢに属する全ジェネリックセルの全ピン、および、ジェネリックセルｃ０の入力ピンｂ、ジェネリックセルｃ１の入力ピンａにｅ属性が付与される。
【００５８】
次に、各ジェネリックセルの全ピンが同一サイクルパスに接続されているかどうかが調べられる。すなわち、１ｏｇｉｃＡ、１ｏｇｉｃＢ、ｏｔｈｅｒに属する全ジェネリックセル、ジェネリックセルｃ０、および、ジェネリックセルｃ１の全ピンが調べられる。
【００５９】
ｌｏｇｉｃＡのセル、および、ｏｔｈｅｒのセルは全ピンに１サイクルパスが接続されているので除外となる。また、１ｏｇｉｃＢのセルは全ピンが２サイクルパスに接続されているので除外となる。
【００６０】
そして、ジェネリックセルｃ０の入力ピンａには、１ｏｇｉｃＡからの１サイクルの信号ＳＴＲＢが接続されており、ジェネリックセルｃ０の入力ピンｂには、ｌｏｇｉｃＢからの２サイクルの信号ＥＸＣＥＰが接続されている。また、ジェネリックセルｃ１の入力ピンａには、ジェネリックセルｃ０からの１サイクル、２サイクル混合信号ｎ０が接続されている。したがって、ジェネリックセルｃ０、ジェネリックセルｃ１は、除外されずに残る。
【００６１】
次に、ジェネリックセルｃ０、および、ジェネリックセルｃ１に関して、レジスタのセル（ＳＴＲＢ＿Ｒ、ＥＸＣＥＰ＿Ｒ）からの段数が比較される。そして、段数の少ないジェネリックセルｃ０が、ｄｏｎ’ｔ＿ｔｏｕｃｈ指定される（すなわち、ジェネリックセルｃ０がハザード抑止セルｃ０とされる）。
【００６２】
次に、ジェネリックセルｃ０のｆａｎｏｕｔセルであるジェネリックセルｃ１が除外される。
【００６３】
次に、論理合成部１１０は、ハザード抑止セルｃ０を記述したハザード抑止セルデータ２４０を生成して、記憶装置２００に格納する。
【００６４】
次に、論理合成部１１０は、ｄｏｎ’ｔ＿ｔｏｕｃｈ指定を保持したまま論理最適化を行う。最適化の手法は多段化、ファンアウト調整など多岐に及ぶが、本発明の主旨とは直接関係ないので省略する。上述したように、図５が、合成後回路データ２３０のイメージ図である。
【００６５】
次に、配置配線処理部１２０が、合成後回路データ２３０に対してハザード抑止セルデータ２４０を適用し、セルの配置・配線、シグナルインテグリティ処理等のレイアウト処理を行い、レイアウト後回路データ２５０を記憶装置２００に格納する。図８は、配置配線処理部１２０によるレイアウト処理の一例を示すフローチャートである。
【００６６】
図８を参照すると、まず、合成後回路データ２３０に対してフロアプラン処理（電源配置配線等）が行われる（ステップＳ１）。ここでは、合成後回路データ２３０に含まれるネットリストに変更がないので、ハザード抑止セルが消失することはない。
【００６７】
次に、フロアプラン処理後の回路データに対して、ハザード抑止セルデータ２４０を適用した最適化が行われる（ステップＳ２）。ここでは、ハザード抑止セルが保持される。次に、概略配置が実施される（ステップＳ３）。そして、あるセルが配置できない、または、あるセル間が配線可能でないと（ステップＳ４／Ｎ）、ステップＳ２の処理に戻る。
【００６８】
すべてのセルが配置でき、かつ、すべてのセル間が配線可能になると（ステップ４／Ｙ）、詳細配置が行われる（ステップＳ５）。次に、クロック信号の配線が行われ（ステップＳ６）、さらに、セル間の詳細配線が行われ、レイアウト後回路データ２５０が生成される（ステップＳ７）。
【００６９】
ステップ５〜７においては、回路データに与えられる変更は、たとえば、バッファ・インバータの挿入、削除程度であるので、ハザード抑止セルは消失しない。図９は、レイアウト後回路データ２５０の一例を示すイメージ図である。図９を参照すると、レイアウト処理時に必要となったバツフアのセル（ｃ２、ｃ３）等が挿入されているが、ハザード抑止セルｃ０については保存されている。
【００７０】
次に、ＥＣＯ処理部１３０が、レイアウト後回路データ２５０に対してハザード抑止セルデータ２４０を適用して、ＥＣＯ処理を行い、最終回路データ２６０を生成し記憶装置２００に格納する。このＥＣＯ処理はツールによって自動で行われるが人手によって行われる手法も可能である。
【００７１】
ここでは、ハザード抑止セルデータ２４０が適用されるので、ハザード抑止セルは、保存される。すなわち、レイアウト後回路データ２５０に対してＥＣＯ処理が施されているが、ハザード抑止セルｃ０は、保存されている。ＥＣＯ処理の結果である最終回路データ２６０は、レイアウト後回路データ２５０と同一であってもよい。
ＥＣＯ処理部１３０を設けずに、レイアウト後回路データ２５０を最終回路データ２６０とする構成が可能である。この場合、たとえば、図９は、最終回路データ２６０のイメージ図でもある。
【００７２】
次に、ハザード抑止セル考慮ＳＴＡ１４０が、最終回路データ２６０に対して、ハザード抑止セルデータ２４０を参照して、ハザード抑止に関する回路構造が保存されているかどうか、および、ハザード抑止セルが全て保存されているかどうかを調べる。そして、ハザード抑止セル考慮ＳＴＡ１４０は、調べた結果である最終タイミングレポート２７０を記憶装置２００に格納する。
【００７３】
ハザード抑止セルが保存されているかどうかは、ハザード抑止セルデータ２４０に記載されているハザード抑止セルが最終回路データ２６０中に存在しているかどうかを調べることにより確認可能となる。
【００７４】
ハザード抑止に関する回路構造が保存されているかどうかは、ハザード抑止セルデータ２４０に含まれている全てのハザード抑止セルの人カピンのタイミングアークを切断することにより行われる。そして、タイミング例外パスにおいて、ハザード抑止セルを通らないパスがないことが確認される。また、切断後に、ハザード抑止セルを通らないで残ったタイミング例外パスが、最終タイミングレポート２７０に記述される。設計者等は、最終タイミングレポート２７０にタイミング例外パスが記述されていなければ、ハザードフリーであると認識する。
【００７５】
具体的手順を示すと、ハザード抑止セル考慮ＳＴＡ１４０は、最初に、ハザード抑止セルデータ２４０を参照し、記述されているハザード抑止セルｃ０の人カピンのダイミングアークを切断する。
【００７６】
次に、ハザード抑止セル考慮ＳＴＡ１４０は、ＳＴＲＢ＿Ｒ→ＦＦ、および、ＥＸＣＥＰ＿Ｒ→ＦＦというタイミングパスについて解析、検出を試みる。しかし、ハザード抑止セルｃ０の人カピンでパスが切断されているため、ＳＴＲＢ＿Ｒ→ＦＦ，ＥＸＣＥＰ＿Ｒ→ＦＦのパスは除外される。
【００７７】
タイミング例外パスは、全てハザード抑止セルを通過するので、タイミングアークを切断してパスが一切検出されなければ、最終回路データ２６０において、スタティックハザードが存在しないことが確認できる。ここでは、ハザード抑止セルの周辺の回路構造の保存確認のためにタイミングアークの切断という手法が用いられたが、ハザード抑止セルの周辺も含めて非最適化指定することによって、この確認が不要となる場合がある。ただし、非最適化範囲を広げることは当然最適化の阻害となるので、トレードオフである。
【００７８】
次に、第２の実施の形態の効果について説明する。
【００７９】
第２の実施の形態は、第１の実施の形態の一例なので、第１の実施の形態と同一の効果を持つ。
【００８０】
次に、第３の実施の形態について図面を参照して説明する。
【００８１】
第３の実施の形態の構成の図は、第２の実施の形態の構成の図２と同一である。図１０は、第３の実施の形態の特徴を示すイメージ図である。図１０を参照すると、第３の実施の形態においては、設計者によりＥＣＯ処理部１３０が使用され、設計者により設計されたハザード抑止のための設計者作成ハザード抑止回路ＹＦが最終回路データ２６０に配置される。
【００８２】
設計者作成ハザード抑止回路ＹＦには、ＳＴＲＢ、ＥＸＣＥＰ、および、ｏｔｈｅｒの出力が入力され、ＦＦ相当のレジスタが含まれる。さらに、レジスタＦＦの出力と設計者作成ハザード抑止回路ＹＦの出力とを比較する比較回路ＣＰ、および、ＣＰの出力をエラーとしてシステムに通知するためのパスＣＰＰが配置される。
【００８３】
設計者作成ハザード抑止回路ＹＦは、必ず、最終段にレジスタを含むように構成される。設計者作成ハザード抑止回路ＹＦの出力は、最終回路データ２６０に記述されたハザード抑止セルを含む最終段がレジスタである回路（たとえば、図１０のＦＦ）の出力と比較される。それぞれの最終段の後ろに接続される単なるバッファの出力が比較される構成が可能である。
【００８４】
ハザード抑止回路ＹＦ、比較回路ＣＰ、および、パスＣＰＰは、すべて、設計者により設計、指定された構成である。比較回路ＣＰで、不一致が検出されると、論理合成部１１０、または、配置配線処理部１２０等により、ハザード抑止セルを含む不正な回路データが生成されたことになる。
【００８５】
次に、第３の実施の形態の効果について説明する。
【００８６】
第３の実施の形態の構成を試作機等に導入することにより、回路データ生成部３００により生成されたハザード抑止のための回路の誤りが検出できる。これを、フィードバックすることにより、回路データ生成部３００を修正することができる。したがって、第３の実施の形態は、第２の実施の形態に比べて信頼性が向上する。
【００８７】
上記の実施の形態の一部、または、全部は、以下の付記のようにも記載されうるが、以下には限られない。
【００８８】
［付記１］
ＲＴＬデータに、遅延制約データを適用し、スタティックハザードを抑止するためのハザード抑止セルを生成し、前記ハザード抑止セルを保持した最終回路データを生成し、前記ハザード抑止セルを含むハザード抑止セルデータを生成する回路データ生成部と、
前記最終回路データに対し、前記ハザード抑止セルデータを参照し、スタティックハザードの可能性のあるパスを検出し、前記スタティックハザードの可能性のあるパスを記述した最終タイミングレポートを生成するハザード抑止セル考慮ＳＴＡと、
を含むデータ処理装置と、
前記ＲＴＬデータ、前記遅延制約データ、前記ハザード抑止セルデータ、前記最終回路データ、および、最終タイミングレポートを格納する記憶装置と、
を含むことを特徴とするデータ処理システム。
【００８９】
［付記２］
前記回路データ生成部は、
前記記憶装置から前記ＲＴＬデータ、および、前記遅延制約データを読み込み、スタティックハザードが発生する可能性のある箇所に前記ハザード抑止セルを挿入するように論理合成を行い、前記合成後回路データ、および、前記ハザード抑止セルデータを前記記憶装置に格納する論理合成部と、
前記合成後回路データ、および、前記ハザード抑止セルデータを読み込み、前記ハザード抑止セルデータに記載されている前記ハザード抑止セルが削除されないように配置・配線を行い、レイアウト後回路データを前記記憶装置に格納する配置配線処理部と、
前記レイアウト後回路データ、および、前記ハザード抑止セルデータを読み込み、前記ハザード抑止セルが削除されないようにＥＣＯ処理を行い、前記最終回路データを前記記憶装置に格納するＥＣＯ処理部と、
を含むことを特徴とする付記１のデータ処理システム。
【００９０】
［付記３］
前記ハザード抑止考慮ＳＴＡは、
前記ハザード抑止セルデータを参照し、前記ハザード抑止セルの人カピンのダイミングアークを切断し、切断後に、前記ハザード抑止セルを通らないで残ったタイミング例外パスを検出し、前記スタティックハザードの可能性のあるパスとして前記最終タイミングレポートに記述し、前記記憶装置に格納することを特徴とする付記２のデータ処理システム。
【００９１】
［付記４］
前記論理合成部は、
タイミング例外属性が入力ピンの一部になっているセルを列挙し、
前記タイミング例外属性が入力ピンの一部になっている前記セルのうち、最もレジスタからの段数の少ないセルを前記ハザード抑止セルとすることを特徴とする付記３のデータ処理システム。
【００９２】
［付記５］
前記ＥＣＯ処理部は、
設計者により設計されたハザード抑止のための設計者作成ハザード抑止回路と、
前記最終回路に記述された前記ハザード抑止セルを含む最終段がレジスタである回路の出力と、前記設計者作成ハザード抑止回路の出力とを比較する比較回路と、
を配置することを特徴とする付記３、または、４のデータ処理システム。
【００９３】
［付記６］
ＲＴＬデータに、遅延制約データを適用し、スタティックハザードを抑止するためのハザード抑止セルを生成し、前記ハザード抑止セルを保持した最終回路データを生成し、前記ハザード抑止セルを含むハザード抑止セルデータを生成し、記憶装置に格納し、
前記最終回路データに対し、前記ハザード抑止セルデータを参照し、スタティックハザードの可能性のあるパスを検出し、前記スタティックハザードの可能性のあるパスを記述した最終タイミングレポートを生成し、前記記憶装置に格納することを特徴とするデータ処理方法。
【００９４】
［付記７］
前記記憶装置から前記ＲＴＬデータ、および、前記遅延制約データを読み込み、スタティックハザードが発生する可能性のある箇所に前記ハザード抑止セルを挿入するように論理合成を行い、前記合成後回路データ、および、前記ハザード抑止セルデータを前記記憶装置に格納し、
前記合成後回路データ、および、前記ハザード抑止セルデータを読み込み、前記ハザード抑止セルデータに記載されている前記ハザード抑止セルが削除されないように配置・配線を行い、レイアウト後回路データを前記記憶装置に格納し、
前記レイアウト後回路データ、および、前記ハザード抑止セルデータを読み込み、前記ハザード抑止セルが削除されないようにＥＣＯ処理を行い、前記最終回路データを記憶装置に格納することを特徴とする付記６のデータ処理方法。
【００９５】
［付記８］
前記ハザード抑止セルデータを参照し、前記ハザード抑止セルの人カピンのダイミングアークを切断し、切断後に、前記ハザード抑止セルを通らないで残ったタイミング例外パスを検出し、前記スタティックハザードの可能性のあるパスとして前記最終タイミングレポートに記述し、前記記憶装置に格納することを特徴とする付記７のデータ処理方法。
【００９６】
［付記９］
タイミング例外属性が入力ピンの一部になっているセルを列挙し、
前記タイミング例外属性が入力ピンの一部になっている前記セルのうち、最もレジスタからの段数の少ないセルを前記ハザード抑止セルとすることを特徴とする付記８のデータ処理方法。
【００９７】
［付記１０］
設計者により設計されたハザード抑止のための設計者作成ハザード抑止回路と、
前記最終回路に記述された前記ハザード抑止セルを含む最終段がレジスタである回路の出力と、前記設計者作成ハザード抑止回路の出力とを比較する比較回路と、
を配置することを特徴とする付記８、または、９のデータ処理方法。
【００９８】
［付記１１］
ＲＴＬデータに、遅延制約データを適用し、スタティックハザードを抑止するためのハザード抑止セルを生成し、前記ハザード抑止セルを保持した最終回路データを生成し、前記ハザード抑止セルを含むハザード抑止セルデータを生成し、記憶装置に格納する処理と、
前記最終回路データに対し、前記ハザード抑止セルデータを参照し、スタティックハザードの可能性のあるパスを検出し、前記スタティックハザードの可能性のあるパスを記述した最終タイミングレポートを生成し、前記記憶装置に格納する処理と、
をコンピュータに実行させることを特徴とするプログラム。
【００９９】
［付記１２］
前記記憶装置から前記ＲＴＬデータ、および、前記遅延制約データを読み込み、スタティックハザードが発生する可能性のある箇所に前記ハザード抑止セルを挿入するように論理合成を行い、前記合成後回路データ、および、前記ハザード抑止セルデータを前記記憶装置に格納する処理と、
前記合成後回路データ、および、前記ハザード抑止セルデータを読み込み、前記ハザード抑止セルデータに記載されている前記ハザード抑止セルが削除されないように配置・配線を行い、レイアウト後回路データを前記記憶装置に格納する処理と、
前記レイアウト後回路データ、および、前記ハザード抑止セルデータを読み込み、前記ハザード抑止セルが削除されないようにＥＣＯ処理を行い、前記最終回路データを記憶装置に格納する処理と、
をコンピュータに実行させることを特徴とする付記１１のプログラム。
【０１００】
［付記１３］
前記ハザード抑止セルデータを参照し、前記ハザード抑止セルの人カピンのダイミングアークを切断し、切断後に、前記ハザード抑止セルを通らないで残ったタイミング例外パスを検出し、前記スタティックハザードの可能性のあるパスとして前記最終タイミングレポートに記述し、前記記憶装置に格納する処理を、
コンピュータに実行させることを特徴とする付記１２のプログラム。
【０１０１】
［付記１４］
タイミング例外属性が入力ピンの一部になっているセルを列挙し、
前記タイミング例外属性が入力ピンの一部になっている前記セルのうち、最もレジスタからの段数の少ないセルを前記ハザード抑止セルとする処理を、
コンピュータに実行させることを特徴とする付記１３のプログラム。
【０１０２】
［付記１５］
設計者により設計されたハザード抑止のための設計者作成ハザード抑止回路と、
前記最終回路に記述された前記ハザード抑止セルを含む最終段がレジスタである回路の出力と、前記設計者作成ハザード抑止回路の出力とを比較する比較回路とを配置する処理を、
コンピュータに実行させることを特徴とする付記１３、または、１４のプログラム。
【符号の説明】
【０１０３】
１００    データ処理装置
１１０    論理合成部
１２０    配置配線処理部
１３０    ＥＣＯ処理部
１４０    ハザード抑止セル考慮ＳＴＡ
２００    記憶装置
２１０    ＲＴＬデータ
２２０    遅延制約データ
２３０    合成後回路データ
２４０    ハザード抑止セルデータ
２５０    レイアウト後回路データ
２６０    最終回路データ
２７０    最終タイミングレポート
３００    回路データ生成部
５００    データ処理システム
【要約】
【課題】スタティックハザード抑止のための回路が、最終の回路データに保持されているかどうかを確認可能とする。
【解決手段】データ処理システムは、ＲＴＬデータに、遅延制約データを適用し、スタティックハザードを抑止するためのハザード抑止セルを生成し、前記ハザード抑止セルを保持した最終回路データを生成し、前記ハザード抑止セルを含むハザード抑止セルデータを生成する回路データ生成部と、前記最終回路データに対し、前記ハザード抑止セルデータを参照し、スタティックハザードの可能性のあるパスを検出し、前記スタティックハザードの可能性のあるパスを記述した最終タイミングレポートを生成するハザード抑止セル考慮ＳＴＡとを含むデータ処理装置と、を記憶装置とを含む。
【選択図】      図１【図１】
0006048561.tif 000002
【図２】
0006048561.tif 000003
【図３】
0006048561.tif 000004
【図４】
0006048561.tif 000005
【図５】
0006048561.tif 000006
【図６】
0006048561.tif 000007
【図７】
0006048561.tif 000008
【図８】
0006048561.tif 000009
【図９】
0006048561.tif 000010
【図１０】
0006048561.tif 000011