(57)【要約】【課題】  論理合成の実施時に、ハザードの起きない合成回路を生成する。【解決手段】  データ処理装置１０が、ＲＴＬ（Ｒｅｇｉｓｔｅｒ  Ｔｒａｎｓｆｅｒ  Ｌｅｖｅｌ）を読み込み、その構造を保持したまま論理ゲードで構成される合成後回路を出力する論理合成手段１１と、合成後回路と、予め設定された遅延制約とに基づいて、ハザードを引き起こす可能性のあるセルを抽出し、当該抽出したセルに対して非最適化指定を行った非最適化指定済み回路を出力するハザード防止セル抽出手段１２と、非最適化指定済み回路及び遅延制約を入力し、非最適化指定されているセル以外の部分に対して最適化処理を行い、最適化後回路を出力する論理最適化手段１３とを備える。【選択図】  図１
2014142743.tif 000002
【特許請求の範囲】
【請求項１】
ＲＴＬ（Ｒｅｇｉｓｔｅｒ  Ｔｒａｎｓｆｅｒ  Ｌｅｖｅｌ）を読み込み、その構造を保持したまま論理ゲードで構成される合成後回路を出力する論理合成手段と、
前記合成後回路と、予め設定された遅延制約とに基づいて、ハザードを引き起こす可能性のあるセルを抽出し、当該抽出したセルに対して非最適化指定を行った非最適化指定済み回路を出力するハザード防止セル抽出手段と、
前記非最適化指定済み回路及び前記遅延制約を入力し、非最適化指定されているセル以外の部分に対して最適化処理を行い、最適化後回路を出力する論理最適化手段と
を備えることを特徴とするデータ処理装置。
【請求項２】
前記ハザード防止セル抽出手段は、
タイミング例外パスと１サイクルパスの両号が合流するセルを、ハザードの危険性が高いセルと判断し、当該セルのうち、段数の最も浅いセルを非最適化指定する
ことを特徴とする請求項１に記載のデータ処理装置。
【請求項３】
前記論理最適化手段は、
非最適化指定されているセル以外の部分に対して、遅延制約をみたしつつ、かつ、面積が最小となるような最適化を行う
ことを特徴とする請求項１又は請求項２に記載のデータ処理装置。
【請求項４】
前記遅延制約は、
回路を合成・最適化する際に前記論理合成手段、及び前記論理最適化手段に守らせるべきクロック制約、入出力遅延制約、タイミング例外制約を含む
ことを特徴とする請求項１から請求項３に記載のデータ処理装置。
【請求項５】
ＲＴＬ（Ｒｅｇｉｓｔｅｒ  Ｔｒａｎｓｆｅｒ  Ｌｅｖｅｌ）を読み込み、その構造を保持したまま論理ゲードで構成される合成後回路を出力する論理合成手段と、
前記合成後回路と、予め設定された遅延制約とに基づいて、ハザードを引き起こす可能性のあるセルを抽出し、当該抽出したセルに対して非最適化指定を行った非最適化指定済み回路を出力するハザード防止セル抽出手段と、
前記非最適化指定済み回路及び前記遅延制約を入力し、非最適化指定されているセル以外の部分に対して最適化処理を行い、最適化後回路を出力する論理最適化手段とを備えるデータ処理装置と、
前記ＲＴＬと、前記合成語回路と、前記遅延制約と、前記非最適化指定済み回路と、前記最適化後回路とを記憶する記憶装置と
を備えることを特徴とするデータ処理システム。
【請求項６】
前記ハザード防止セル抽出手段は、
タイミング例外パスと１サイクルパスの両号が合流するセルを、ハザードの危険性が高いセルと判断し、当該セルのうち、段数の最も浅いセルを非最適化指定する
ことを特徴とする請求項５に記載のデータ処理システム。
【請求項７】
データ処理装置によるデータ処理方法であって、
論理合成手段が、ＲＴＬ（Ｒｅｇｉｓｔｅｒ  Ｔｒａｎｓｆｅｒ  Ｌｅｖｅｌ）を読み込み、その構造を保持したまま論理ゲードで構成される合成後回路を出力する論理合成ステップと、
ハザード防止セル抽出手段が、前記合成後回路と、予め設定された遅延制約とに基づいて、ハザードを引き起こす可能性のあるセルを抽出し、当該抽出したセルに対して非最適化指定を行った非最適化指定済み回路を出力するハザード防止セル抽出ステップと、
論理最適化手段が、前記非最適化指定済み回路及び前記遅延制約を入力し、非最適化指定されているセル以外の部分に対して最適化処理を行い、最適化後回路を出力する論理最適化ステップと
を有することを特徴とするデータ処理方法。
【請求項８】
前記ハザード防止セル抽出ステップで、
タイミング例外パスと１サイクルパスの両号が合流するセルを、ハザードの危険性が高いセルと判断し、当該セルのうち、段数の最も浅いセルを非最適化指定する
ことを特徴とする請求項７に記載のデータ処理方法。
【請求項９】
データ処理装置を構成するコンピュータ上で動作するデータ処理プログラムであって、
論理合成手段に、ＲＴＬ（Ｒｅｇｉｓｔｅｒ  Ｔｒａｎｓｆｅｒ  Ｌｅｖｅｌ）を読み込み、その構造を保持したまま論理ゲードで構成される合成後回路を出力する論理合成処理を実行させ、
ハザード防止セル抽出手段に、前記合成後回路と、予め設定された遅延制約とに基づいて、ハザードを引き起こす可能性のあるセルを抽出し、当該抽出したセルに対して非最適化指定を行った非最適化指定済み回路を出力するハザード防止セル抽出処理を実行させ、
論理最適化手段に、前記非最適化指定済み回路及び前記遅延制約を入力し、非最適化指定されているセル以外の部分に対して最適化処理を行い、最適化後回路を出力する論理最適化処理を実行させる
ことを特徴とするデータ処理プログラム。
【請求項１０】
前記ハザード防止セル抽出処理で、
タイミング例外パスと１サイクルパスの両号が合流するセルを、ハザードの危険性が高いセルと判断し、当該セルのうち、段数の最も浅いセルを非最適化指定する
ことを特徴とする請求項９に記載のデータ処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、回路設計技術に関し、特に、論理合成時の最適化処理に関する。
【背景技術】
【０００２】
ＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）の設計では、非同期信号やマルチサイクル信号の伝搬を制御するために、ストローブ信号と呼ばれる信号を導入し、このストローブ信号と非同期・マルチサイクル信号のＡＮＤをとったり、セレクタにより制御したりする等の手法がとられる。
【０００３】
しかしながら、設計者がそのような回路を意図してＨＤＬ（ｈａｒｄｗａｒｅ  ｄｅｓｃｒｉｐｔｉｏｎ  ｌａｎｇｕａｇｅ）を書いたにも関わらず、論理合成ツールが思わぬ合成をし、非同期・マルチサイクル信号にグリッチが乗るような回路を生成すると、ストローブ信号による制御が効かなくなる。このような問題をここではスタティックハザードと呼ぶ（図９）。
【０００４】
近年の論理合成ツールの最適化機能の強化に伴い、スタティックハザードが発生するような複雑な回路が生成されることが多くなった。これらは１サイクルパスであれば特に問題ないのであるが、タイミングが保証されていないマルチサイクルパスやフォルスパス、またはクロック乗り換え部分などでは非常に危険な回路となる。
【０００５】
これら危険な箇所を検出する方法は背景技術においても存在しているが、タイミングを考慮したシミュレーションでは規模面、時間面で現実的でない。背景技術による検出方法では、検証箇所を絞っていくカット＆トライが基本であり、検出＆修正を何度もやり直す必要がある。また、そういった箇所が多い場合にはＲＴＬ（Ｒｅｇｉｓｔｅｒ  Ｔｒａｎｓｆｅｒ  Ｌｅｖｅｌ）の多くの部分をゲートレベル記述する必要があり、余計な手間があり、シミュレーション速度の低下も招いていた。
【０００６】
ここで、関連技術として、遅延制約とＲＴＬからハザードが起きる可能性のある終点レジスタを検出する技術が、特許文献１に開示されている。
【０００７】
また、別の関連技術として、ハザードの危険性が高い箇所を特定し、ハザード防止回路を付加する技術が特許文献２に開示されている。また、特許文献2では、論理回路の合成、段論理及び多段論理の最適化処理の後にハザード防止回路を付加する処理を行い、最後に局所論理最適化を行っているが、該局所論理最適化処理においては、ハザード防止回路を除去しないという処理を行っている。
【０００８】
さらさらに、別の関連技術として、HDLについて論理レベルでの最適化、回路レベルでの最適化を行った後にネットリストに変換し、その後、HDLのデータと回路レベルでの最適化後のデータに基づいて、再合成時に論理の最適化を禁止する制約を生成する旨が特許文献３に開示されている。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００９−１７６２８５号公報
【特許文献２】特開平０５−１２８２００号公報
【特許文献３】特開平１０−３４０２８９号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
特許文献１では、遅延制約とＲＴＬからハザードが起きる可能性のある終点レジスタを検出できるが、修正そのものは設計者の手で入れることになるので、工数がかかり、また人為的ミスによる対応漏れで合成イタレーションの増大を招くという問題があった。
【００１１】
また、特許文献２、３は、何れも一度最適化処理を行った後に、局所最適化処理又は再合成処理による最適化から保護する箇所を特定しているため、論理合成ツールの影響を受けてしまうという問題があった。
【００１２】
（発明の目的）
本発明の目的は、上述の課題を解決し、論理合成の実施時に、ハザードの起きない合成回路を生成するデータ処理装置、データ処理システム、データ処理方法、及びデータ処理プログラムを提供することである。
【課題を解決するための手段】
【００１３】
本発明の第１のデータ処理装置は、ＲＴＬ（Ｒｅｇｉｓｔｅｒ  Ｔｒａｎｓｆｅｒ  Ｌｅｖｅｌ）を読み込み、その構造を保持したまま論理ゲードで構成される合成後回路を出力する論理合成手段と、合成後回路と、予め設定された遅延制約とに基づいて、ハザードを引き起こす可能性のあるセルを抽出し、当該抽出したセルに対して非最適化指定を行った非最適化指定済み回路を出力するハザード防止セル抽出手段と、非最適化指定済み回路及び遅延制約を入力し、非最適化指定されているセル以外の部分に対して最適化処理を行い、最適化後回路を出力する論理最適化手段とを備える。
【００１４】
本発明の第１のデータ処理システムは、ＲＴＬ（Ｒｅｇｉｓｔｅｒ  Ｔｒａｎｓｆｅｒ  Ｌｅｖｅｌ）を読み込み、その構造を保持したまま論理ゲードで構成される合成後回路を出力する論理合成手段と、合成後回路と、予め設定された遅延制約とに基づいて、ハザードを引き起こす可能性のあるセルを抽出し、当該抽出したセルに対して非最適化指定を行った非最適化指定済み回路を出力するハザード防止セル抽出手段と、非最適化指定済み回路及び遅延制約を入力し、非最適化指定されているセル以外の部分に対して最適化処理を行い、最適化後回路を出力する論理最適化手段とを備えるデータ処理装置と、ＲＴＬと、合成語回路と、遅延制約と、非最適化指定済み回路と、最適化後回路とを記憶する記憶装置とを備える。
【００１５】
本発明の第１のデータ処理方法は、データ処理装置によるデータ処理方法であって、論理合成手段が、ＲＴＬ（Ｒｅｇｉｓｔｅｒ  Ｔｒａｎｓｆｅｒ  Ｌｅｖｅｌ）を読み込み、その構造を保持したまま論理ゲードで構成される合成後回路を出力する論理合成ステップと、ハザード防止セル抽出手段が、合成後回路と、予め設定された遅延制約とに基づいて、ハザードを引き起こす可能性のあるセルを抽出し、当該抽出したセルに対して非最適化指定を行った非最適化指定済み回路を出力するハザード防止セル抽出ステップと、論理最適化手段が、非最適化指定済み回路及び遅延制約を入力し、非最適化指定されているセル以外の部分に対して最適化処理を行い、最適化後回路を出力する論理最適化ステップとを有する。
【００１６】
本発明の第１のデータ処理プログラムは、データ処理装置を構成するコンピュータ上で動作するデータ処理プログラムであって、論理合成手段に、ＲＴＬ（Ｒｅｇｉｓｔｅｒ  Ｔｒａｎｓｆｅｒ  Ｌｅｖｅｌ）を読み込み、その構造を保持したまま論理ゲードで構成される合成後回路を出力する論理合成処理を実行させ、ハザード防止セル抽出手段に、合成後回路と、予め設定された遅延制約とに基づいて、ハザードを引き起こす可能性のあるセルを抽出し、当該抽出したセルに対して非最適化指定を行った非最適化指定済み回路を出力するハザード防止セル抽出処理を実行させ、論理最適化手段に、非最適化指定済み回路及び遅延制約を入力し、非最適化指定されているセル以外の部分に対して最適化処理を行い、最適化後回路を出力する論理最適化処理を実行させる。
【発明の効果】
【００１７】
本発明によれば、論理合成の実施時に、ハザードの起きない合成回路を生成することができる。
【図面の簡単な説明】
【００１８】
【図１】本発明の第１の実施の形態によるデータ処理システムの構成を示すブロック図である。
【図２】本発明の第１の実施の形態によるＲＴＬのＶｅｒｉｌｏｇでの記述例を示す図である。
【図３】本発明の第１の実施の形態による合成後回路の具体例を示す図である。
【図４】本発明の第１の実施の形態によるマルチサイクルパスの具体例を示す図である。
【図５】本発明の第１の実施の形態による非最適化指定済み回路の例を示す図である。
【図６】本発明のデータ処理装置の最小限の構成を示すブロック図である。
【図７】本発明のデータ処理装置のハードウェア構成例を示すブロック図である。
【図８】背景技術によるスタティックハザードの例を示す図である。
【発明を実施するための形態】
【００１９】
本発明の上記及び他の目的、特徴及び利点を明確にすべく、添付した図面を参照しながら、本発明の実施形態を以下に詳述する。なお、上述の本願発明の目的のほか、他の技術的課題、その技術的課題を解決する手段及びその作用効果についても、以下の実施形態による開示によって明らかとなるものである。なお、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。
【００２０】
（第１の実施の形態）
本発明の第１の実施の形態について図面を参照して詳細に説明する。
【００２１】
図１は、本発明の第１の実施の形態によるデータ処理システム１００の構成を示すブロック図である。なお、図１は例示であって、システム構成を制限するものではない。
【００２２】
データ処理装置１０は、論理合成手段１１と、ハザード防止セル抽出手段１２と、論理最適化手段１３とを備える。
【００２３】
論理合成手段１１は、ＲＴＬ２１を読み込み、その構造を保持したままＲＴＬから回路への変換を行い、合成後回路２２を出力する。合成後回路２２はテクノロジにマッピングされていないジェネリックな論理ゲートで構成される。
【００２４】
ハザード防止セル抽出手段１２は、合成後回路２２と遅延制約２３に基づいて、論理最適化手段１３の最適化から保護すべきセル（保護対象セル）を合成後回路２２から抽出し、合成後回路２２中の全ての保護対象セルに対して非最適化指定（ｄｏｎ’ｔ＿ｔｏｕｃｈ）を付与し、非最適化指定済み回路２４として出力する。この非最適化指定アルゴリズムについては後述する。
【００２５】
論理最適化手段１３は、非最適化指定済み回路２４および遅延制約２３を入力して、遅延制約を満たしつつかつ面積が最小となるような最適化を行う。ここではテクノロジに依存しないブール代数に基づく最適化、及び特定のテクノロジへのマッピングが行われる。ただし、非最適化指定されているセルに関してはこうした強力な最適化は行わない。そして、最適化された非最適化指定済み回路２４を最適化後回路２５として出力する。
【００２６】
記憶装置２０は、ＲＴＬ２１と、合成後回路２２と、遅延制約２３と、非最適化指定済み回路２４と、最適化後回路２５を記憶する機能を有する。
【００２７】
ＲＴＬ２１はタイミング例外パスと１サイクルパスの合流回路を含むＲＴＬである。ＲＴＬのＶｅｒｉｌｏｇでの記述例を図２に示す。ＥＸＣＥＰ＿ＲからＥＸＣＥＰ、およびＳＴＲＢ＿ＲからＳＴＲＢまでの回路の記述は本発明とは関係ないので省略している。
【００２８】
合成後回路２２は、最適化を行わずＲＴＬの構造を保持したまま合成ツールの中でイメージしたものである。具体例を図３に示す。レジスタがＳＴＲＢ＿Ｒ、ＥＸＣＥＰ＿Ｒ、ＦＦと３つあり、ＲＴＬ２１で定義された論理積、論理和がそれぞれｃ０、ｃ１というジェネリック論理で表されている。ＳＴＲＢ＿Ｒ、ＥＸＣＥＰ＿Ｒかｃ０までの途中の組み合わせ回路に関してはｌｏｇｉｃ  Ａ／ｌｏｇｉｃ  Ｂという形でひとまとめに表している。
【００２９】
遅延制約２３は、回路を合成・最適化する際に論理合成手段１１、及び論理最適化手段１３に守らせるべきクロック制約、入出力遅延制約、タイミング例外制約等である。本発明に関係のあるマルチサイクルパスの具体例を図４に示す。
【００３０】
非最適化指定済み回路２４の例を図５に示す。ハザード防止セル抽出手段１２によって抽出されたセルｃ０にｄｏｎ’ｔ＿ｔｏｕｃｈ属性が付与されている。
【００３１】
最適化後回路２５は、論理最適化手段１３が非最適化指定済み回路２４に対して遅延制約およびｄｏｎ’ｔ＿ｔｏｕｃｈ属性を考慮しながら遅延・面積等を最適化した回路である。
【００３２】
本実施の形態によるデータ処理システム１００は、上述の構成を有し、ハザードを引き起こす可能性のある箇所をＲＴＬと遅延制約から抽出し、自動で該当セルを論理合成ツールの高度な最適化から保護することを特徴とする。
【００３３】
論理合成ツールは合成フェーズ・最適化フェーズと２段階で処理を行うことに着目する。合成フェーズ（論理合成手段１１による処理）ではＲＴＬの構造がほぼそのまま保たれており、この時点では（設計者が意図しない）ハザード回路は生成されていない。この段階で遅延制約情報を元に、タイミング例外パスと１サイクルパスの合流するセルを抽出し、それらセルに全てに対して非最適化指定（ｄｏｎ’ｔ＿ｔｏｕｃｈ）する。
【００３４】
セルをｄｏｎ’ｔ＿ｔｏｕｃｈしたのちに最適化フェーズ（論理最適化手段１３による処理）を実行させることによって、論理合成ツールの強力な最適化を阻害することなく、ハザードフリーな最適化回路を生成することが可能となる。
【００３５】
（第１の実施の形態の動作の説明）
次に、本実施の形態によるデータ処理システム１００の動作について、図面を参照して詳細に説明する。
【００３６】
最初に、設計者は図２に示すようなＲＴＬ２１と、図４に示すような遅延制約２３とが、設計者により作成される。
【００３７】
図２に示すＲＴＬ２１はＶｅｒｉｌｏｇであり、３つのレジスタ（ＦＦ，  ＥＸＣＥＰ＿Ｒ，  ＳＴＲＢ＿Ｒ）を定義している。またｗｉｒｅ  ＳＴＲＢおよびＥＸＣＥＰとレジスタＳＴＲＢ＿ＲおよびＥＸＣＥＰ＿Ｒの間には実際には組み合わせ論理があるが、ここは本発明の要旨とは直接関係がないので省略している。
【００３８】
図４に示す遅延制約２３には、レジスタＥＸＣＥＰ＿ＲからＦＦへのパスをマルチサイクルパス化する制約が記述されている。よって、ＥＸＣＥＰ＿Ｒがマルチサイクルパスの始点、ＦＦがマルチサイクルパスの終点、そしてＳＴＲＢ＿Ｒは１サイクルパスの始点となる。
【００３９】
ここでのポイントは、ＲＴＬ２１において、ｗｉｒｅ  ｎ０にＳＴＲＢ  ＆＆  ＥＸＣＥＰをアサインしているところである。ここでタイミング例外パスと１サイクルパスが合流するので、ハザードの危険性が高い箇所となる。
【００４０】
次に論理合成手段１１がＲＴＬ２１と遅延制約２３を読み込んで合成を行い、合成後回路２２を生成する。ここでは論理最適化を行わずにＲＴＬの構造を保持する。具体的には図３のようになる。ＳＴＲＢ＿ＲおよびＥＸＣＥＰ＿Ｒからの論理は本発明と直接関係がないので、それぞれｌｏｇｉｃ  Ａ／ｌｏｇｉｃ  Ｂというようにまとめている。また図２に記述されていないその他論理についてはｏｔｈｅｒとして表している。ｏｔｈｅｒについてはタイミング例外制約がないので１サイクルパスとする。
【００４１】
合成後回路２２は特定のテクノロジにマッピングされておらず、論理和・論理積はそれぞれジェネリックセルであるｃ０（ＡＮＤ）、ｃ１（ＯＲ）で表現されている。
【００４２】
次いで、ハザード防止セル抽出手段１２が合成後回路２２を読み込み、ハザード防止の鍵となるセルを特定するフェーズとなる。ハザード防止セルとは、タイミング例外パスと１サイクルパスの両方が合流するパスであり、図５においてはセルｃ０がそれに該当する。このｃ０を特定するアルゴリズムは種々のものが考えられるが、その一例を次に挙げる。
【００４３】
ステップ１：タイミング例外カテゴリ毎にタイミング例外属性ｅおよび始点からの論理段数を伝搬させる。タイミング例外属性は各ピンに付属する。
ステップ２：全てのｃｏｍｂｉｎａｔｉｏｎ  ｃｅｌｌを拾って、ｅが入力ピンの一部になっているものをリストアップする。
ステップ３：カテゴリ毎の対象セルのうち、一番段数の浅いセルをｄｏｎ’ｔ＿ｔｏｕｃｈ指定する。
ステップ４：Ｄｏｎ’ｔ＿ｔｏｕｃｈしたセルのｆａｎｏｕｔのセルを除外する。
ステップ５：対象セルがなくなるまでカテゴリ内でステップ３−４を繰り返す。
【００４４】
上記アルゴリズムに基づいて図３の合成後回路２２からセルｃ０を抽出し、ｄｏｎ’ｔ＿ｔｏｕｃｈする過程を示す。
【００４５】
ステップ１により、ＥＸＣＥＰ＿Ｒがタイミング例外パスの始点であるので、ｌｏｇｉｃ  Ｂに属する全セルの全ピン、およびｃ０のｂピン、ｃ１のａピンにｅ属性が付与される。この例ではタイミング例外カテゴリはこれしかないのでステップ１は終了である。
【００４６】
次にステップ２で全てのｃｏｍｂｉｎａｔｉｏｎａｌ  ｃｅｌｌを抽出する。ここではｌｏｇｉｃ  Ａ／Ｂ，  ｏｔｈｅｒに属する全セル、およびｃ０／ｃ１が抽出される。Ｌｏｇｉｃ  Ａのセルおよびｏｔｈｅｒのセルは全ピンが１サイクルパスであるので除外、ｌｏｇｉｃ  Ｂのセルは全ピンが２サイクルパスであるので除外となる。残ったのはｃ０／ｃ１となる。
【００４７】
ステップ３でｃ０とｃ１の段数を比較し、段数の浅いｃ０にｄｏｎ’ｔ＿ｔｏｕｃｈ属性が付与される。
【００４８】
ステップ４でｃ０のｆａｎｏｕｔセルであるｃ１を除外する。
【００４９】
ステップ５に進むが、この例では全てのセルがなくなったのでこれで終了である。
【００５０】
論理最適化手段１３は、こうしてｃ０にｄｏｎ’ｔ＿ｔｏｕｃｈが付与された合成後回路２２と遅延制約２３を読み込み、ｃ０以外の回路部分に対して高度な論理最適化を施す。非最適化指定はｃ０のみであるので、論理最適化手段の性能を妨げずに最適化ができ、しかもハザード回路を作りこまない。
【００５１】
（第１の実施の形態による効果）
本実施の形態によれば、ハザードの起きる箇所を自動で全検出・全対応することによって設計者に負担をかけることなく、ハザードフリーな回路を生成することができる。
【００５２】
また、本実施の形態によれば、ピンポイントで非最適化セルを指定するので、論理合成ツールの高度な最適化の妨げにならない。
【００５３】
また、本実施の形態によれば、合成フェーズ・最適化フェーズと２段階で処理を行うことで、論理合成ツールの強力な最適化を阻害することなく、ハザードフリーな最適化回路を生成することが可能となる。
【００５４】
ここで、本発明の課題を解決できる最小限の構成を図６に示す。データ処理装置１０が、ＲＴＬ（Ｒｅｇｉｓｔｅｒ  Ｔｒａｎｓｆｅｒ  Ｌｅｖｅｌ）を読み込み、その構造を保持したまま論理ゲードで構成される合成後回路を出力する論理合成手段１１と、合成後回路と、予め設定された遅延制約とに基づいて、ハザードを引き起こす可能性のあるセルを抽出し、当該抽出したセルに対して非最適化指定を行った非最適化指定済み回路を出力するハザード防止セル抽出手段１２と、非最適化指定済み回路及び遅延制約を入力し、非最適化指定されているセル以外の部分に対して最適化処理を行い、最適化後回路を出力する論理最適化手段１３とを備えることで、上述した本発明の課題を解決することができる。
【００５５】
次に、本発明のデータ処理装置１０のハードウェア構成例について、図７を参照して説明する。
【００５６】
図７を参照すると、本発明のデータ処理装置１０は、一般的なコンピュータ装置と同様のハードウェア構成であり、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）７０１、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等のメモリからなる、データの作業領域やデータの一時退避領域に用いられる主記憶部７０２、ネットワークを介してデータの送受信を行う通信部７０３、入力装置７０５や出力装置７０６及び記憶装置７０７と接続してデータの送受信を行う入出力インタフェース部７０４、上記各構成要素を相互に接続するシステムバス７０８を備えている。記憶装置７０７は、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、磁気ディスク、半導体メモリ等の不揮発性メモリから構成されるハードディスク装置等で実現される。
【００５７】
本発明のデータ処理装置１０の各機能は、プログラムを組み込んだ、ＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）等のハードウェア部品である回路部品を実装することにより、その動作をハードウェア的に実現することは勿論として、その機能を提供するプログラムを、記憶装置７０７に格納し、そのプログラムを主記憶部７０２にロードしてＣＰＵ７０１で実行することにより、ソフトウェア的に実現することも可能である。
【００５８】
また、本発明の記憶装置２０も、上記のようなハードウェア構成を有し、記憶装置２０が有する各機能をハードウェア的又はソフトウェア的に実現する。
【００５９】
以上、好ましい実施の形態をあげて本発明を説明したが、本発明は必ずしも、上記実施の形態に限定されるものでなく、その技術的思想の範囲内において様々に変形して実施することができる。
【００６０】
なお、以上の構成要素の任意の組み合わせ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【００６１】
また、本発明の各種の構成要素は、必ずしも個々に独立した存在である必要はなく、複数の構成要素が一個の部材として形成されていること、一つの構成要素が複数の部材で形成されていること、ある構成要素が他の構成要素の一部であること、ある構成要素の一部と他の構成要素の一部とが重複していること、等でもよい。
【００６２】
また、本発明の方法およびコンピュータプログラムには複数の手順を順番に記載してあるが、その記載の順番は複数の手順を実行する順番を限定するものではない。このため、本発明の方法およびコンピュータプログラムを実施する時には、その複数の手順の順番は内容的に支障しない範囲で変更することができる。
【００６３】
また、本発明の方法およびコンピュータプログラムの複数の手順は個々に相違するタイミングで実行されることに限定されない。このため、ある手順の実行中に他の手順が発生すること、ある手順の実行タイミングと他の手順の実行タイミングとの一部ないし全部が重複していること、等でもよい。
【００６４】
さらに、上記実施形態の一部又は全部は、以下の付記のようにも記載されうるが、これに限定されない。
【００６５】
（付記１）
ＲＴＬ（Ｒｅｇｉｓｔｅｒ  Ｔｒａｎｓｆｅｒ  Ｌｅｖｅｌ）を読み込み、その構造を保持したまま論理ゲードで構成される合成後回路を出力する論理合成手段と、
前記合成後回路と、予め設定された遅延制約とに基づいて、ハザードを引き起こす可能性のあるセルを抽出し、当該抽出したセルに対して非最適化指定を行った非最適化指定済み回路を出力するハザード防止セル抽出手段と、
前記非最適化指定済み回路及び前記遅延制約を入力し、非最適化指定されているセル以外の部分に対して最適化処理を行い、最適化後回路を出力する論理最適化手段と
を備えることを特徴とするデータ処理装置。
【００６６】
（付記２）
前記ハザード防止セル抽出手段は、
タイミング例外パスと１サイクルパスの両号が合流するセルを、ハザードの危険性が高いセルと判断し、当該セルのうち、段数の最も浅いセルを非最適化指定する
ことを特徴とする付記１に記載のデータ処理装置。
【００６７】
（付記３）
前記論理最適化手段は、
非最適化指定されているセル以外の部分に対して、遅延制約をみたしつつ、かつ、面積が最小となるような最適化を行う
ことを特徴とする付記１又は付記２に記載のデータ処理装置。
【００６８】
（付記４）
前記遅延制約は、
回路を合成・最適化する際に前記論理合成手段、及び前記論理最適化手段に守らせるべきクロック制約、入出力遅延制約、タイミング例外制約を含む
ことを特徴とする付記１から付記３に記載のデータ処理装置。
【００６９】
（付記５）
ＲＴＬ（Ｒｅｇｉｓｔｅｒ  Ｔｒａｎｓｆｅｒ  Ｌｅｖｅｌ）を読み込み、その構造を保持したまま論理ゲードで構成される合成後回路を出力する論理合成手段と、
前記合成後回路と、予め設定された遅延制約とに基づいて、ハザードを引き起こす可能性のあるセルを抽出し、当該抽出したセルに対して非最適化指定を行った非最適化指定済み回路を出力するハザード防止セル抽出手段と、
前記非最適化指定済み回路及び前記遅延制約を入力し、非最適化指定されているセル以外の部分に対して最適化処理を行い、最適化後回路を出力する論理最適化手段とを備えるデータ処理装置と、
前記ＲＴＬと、前記合成語回路と、前記遅延制約と、前記非最適化指定済み回路と、前記最適化後回路とを記憶する記憶装置と
を備えることを特徴とするデータ処理システム。
【００７０】
（付記６）
前記ハザード防止セル抽出手段は、
タイミング例外パスと１サイクルパスの両号が合流するセルを、ハザードの危険性が高いセルと判断し、当該セルのうち、段数の最も浅いセルを非最適化指定する
ことを特徴とする付記５に記載のデータ処理システム。
【００７１】
（付記７）
前記論理最適化手段は、
非最適化指定されているセル以外の部分に対して、遅延制約をみたしつつ、かつ、面積が最小となるような最適化を行う
ことを特徴とする付記５又は付記６に記載のデータ処理システム。
【００７２】
（付記８）
前記遅延制約は、
回路を合成・最適化する際に前記論理合成手段、及び前記論理最適化手段に守らせるべきクロック制約、入出力遅延制約、タイミング例外制約を含む
ことを特徴とする付記５から付記７に記載のデータ処理システム。
【００７３】
（付記９）
データ処理装置によるデータ処理方法であって、
論理合成手段が、ＲＴＬ（Ｒｅｇｉｓｔｅｒ  Ｔｒａｎｓｆｅｒ  Ｌｅｖｅｌ）を読み込み、その構造を保持したまま論理ゲードで構成される合成後回路を出力する論理合成ステップと、
ハザード防止セル抽出手段が、前記合成後回路と、予め設定された遅延制約とに基づいて、ハザードを引き起こす可能性のあるセルを抽出し、当該抽出したセルに対して非最適化指定を行った非最適化指定済み回路を出力するハザード防止セル抽出ステップと、
論理最適化手段が、前記非最適化指定済み回路及び前記遅延制約を入力し、非最適化指定されているセル以外の部分に対して最適化処理を行い、最適化後回路を出力する論理最適化ステップと
を有することを特徴とするデータ処理方法。
【００７４】
（付記１０）
前記ハザード防止セル抽出ステップで、
タイミング例外パスと１サイクルパスの両号が合流するセルを、ハザードの危険性が高いセルと判断し、当該セルのうち、段数の最も浅いセルを非最適化指定する
ことを特徴とする付記９に記載のデータ処理方法。
【００７５】
（付記１１）
前記論理最適化ステップで、
非最適化指定されているセル以外の部分に対して、遅延制約をみたしつつ、かつ、面積が最小となるような最適化を行う
ことを特徴とする付記９又は付記１０に記載のデータ処理方法。
【００７６】
（付記１２）
前記遅延制約は、
回路を合成・最適化する際に前記論理合成手段、及び前記論理最適化手段に守らせるべきクロック制約、入出力遅延制約、タイミング例外制約を含む
ことを特徴とする付記９から付記１１に記載のデータ処理方法。
【００７７】
（付記１３）
データ処理装置を構成するコンピュータ上で動作するデータ処理プログラムであって、
論理合成手段に、ＲＴＬ（Ｒｅｇｉｓｔｅｒ  Ｔｒａｎｓｆｅｒ  Ｌｅｖｅｌ）を読み込み、その構造を保持したまま論理ゲードで構成される合成後回路を出力する論理合成処理を実行させ、
ハザード防止セル抽出手段に、前記合成後回路と、予め設定された遅延制約とに基づいて、ハザードを引き起こす可能性のあるセルを抽出し、当該抽出したセルに対して非最適化指定を行った非最適化指定済み回路を出力するハザード防止セル抽出処理を実行させ、
論理最適化手段に、前記非最適化指定済み回路及び前記遅延制約を入力し、非最適化指定されているセル以外の部分に対して最適化処理を行い、最適化後回路を出力する論理最適化処理を実行させる
ことを特徴とするデータ処理プログラム。
【００７８】
（付記１４）
前記ハザード防止セル抽出処理で、
タイミング例外パスと１サイクルパスの両号が合流するセルを、ハザードの危険性が高いセルと判断し、当該セルのうち、段数の最も浅いセルを非最適化指定する
ことを特徴とする付記１３に記載のデータ処理プログラム。
【００７９】
（付記１５）
前記論理最適化処理で、
非最適化指定されているセル以外の部分に対して、遅延制約をみたしつつ、かつ、面積が最小となるような最適化を行う
ことを特徴とする付記１３又は付記１４に記載のデータ処理プログラム。
【００８０】
（付記１６）
前記遅延制約は、
回路を合成・最適化する際に前記論理合成手段、及び前記論理最適化手段に守らせるべきクロック制約、入出力遅延制約、タイミング例外制約を含む
ことを特徴とする付記１３から付記１５に記載のデータ処理プログラム。
【産業上の利用可能性】
【００８１】
本発明によれば、
【符号の説明】
【００８２】
１０：データ処理装置
１１；論理合成手段
１２：ハザード防止セル抽出手段
１３：論理最適化手段
２０：記憶装置
２１：ＲＴＬ
２２：合成後回路
２３：遅延制約
２４：非最適化指定済み回路
２５：最適化後回路
１００：データ処理システム
７０１：ＣＰＵ
７０２：主記憶部
７０３：通信部
７０４：入出力インタフェース部
７０５：入力装置
７０６：出力装置
７０７：記憶装置
７０８：システムバス
【図１】
2014142743.tif 000003
【図２】
2014142743.tif 000004
【図３】
2014142743.tif 000005
【図４】
2014142743.tif 000006
【図５】
2014142743.tif 000007
【図６】
2014142743.tif 000008
【図７】
2014142743.tif 000009
【図８】
2014142743.tif 000010