(57)【要約】【課題】  半導体集積回路の階層設計におけるリセット信号の設計を容易化する。【解決手段】  複数の回路ブロックをそれぞれ独立して設計する下位階層設計において、回路ブロック毎に、リセット信号の非活性遷移をクロック信号に同期させてフリップフロップに伝搬させるリセット調整回路をリセット入力端子の直後に挿入し（ステップＳ１０）、リセット調整回路からフリップフロップまでのリセット信号のパスに対して、クロック信号を基準としたタイミング調整を実施する（ステップＳ２０）。半導体集積回路の全体を設計する上位階層設計において、回路ブロックのリセット入力端子にそれぞれ規定されるリセット信号のセットアップ時間およびホールド時間に基づいて、リセット信号の信号パスに対してクロック信号を基準としたタイミング調整を実施する（ステップＳ３０）。【選択図】    図２
2006154996.tif 000002
【特許請求の範囲】
【請求項１】
リセット入力端子からのリセット信号の活性遷移に応答してリセットされる複数のフリップフロップを有する半導体集積回路に対して、前記リセット信号の非活性遷移を前記フリップフロップに供給されるクロック信号に同期させて前記フリップフロップに伝搬させるリセット調整回路を前記リセット入力端子の直後に挿入する第１ステップと、
前記リセット調整回路から前記フリップフロップまでのリセット信号のパスに対して、前記クロック信号を基準としたタイミング調整を実施する第２ステップとを含むことを特徴とする半導体集積回路の設計方法。
【請求項２】
リセット入力端子からのリセット信号の活性遷移に応答してリセットされる複数のフリップフロップを有する複数の回路ブロックをそれぞれ独立して設計する下位階層設計ステップと、前記複数の回路ブロックを有する半導体集積回路の全体を設計する上位階層設計ステップとで構成される半導体集積回路の設計方法であって、
前記下位階層設計ステップは、
前記各回路ブロックに対して、前記リセット信号の非活性遷移を前記フリップフロップに供給されるクロック信号に同期させて前記フリップフロップに伝搬させるリセット調整回路を前記リセット入力端子の直後に挿入する第１ステップと、
前記リセット調整回路から前記フリップフロップまでのリセット信号のパスに対して、前記クロック信号を基準としたタイミング調整を実施する第２ステップとを含み、
前記上位階層設計ステップは、
前記回路ブロックのリセット入力端子にそれぞれ規定されるリセット信号のセットアップ時間およびホールド時間に基づいて、前記回路ブロックのリセット入力端子までのリセット信号のパスに対して、前記クロック信号を基準としたタイミング調整を実施する第３ステップを含むことを特徴とする半導体集積回路の設計方法。
【請求項３】
請求項１または請求項２記載の半導体集積回路の設計方法において、
前記リセット調整回路は、
前記リセット信号を前記クロック信号に同期させて第１内部信号として出力する第１同期化回路と、
前記リセット信号の活性遷移に同期して前記フリップフロップへの内部リセット信号を活性化させ、前記第１内部信号の非活性遷移に同期して前記内部リセット信号を非活性化させる合成回路とを備えていることを特徴とする半導体集積回路の設計方法。
【請求項４】
請求項３記載の半導体集積回路の設計方法において、
前記リセット調整回路は、前記第１内部信号を前記クロック信号に同期させて第２内部信号として出力する第２同期化回路を備え、
前記合成回路は、前記第２内部信号を前記第１内部信号として受けることを特徴とする半導体集積回路の設計方法。
【請求項５】
請求項１または請求項２記載の半導体集積回路の設計方法において、
前記リセット調整回路は、前記リセット信号の活性化中に、前記フリップフロップへの内部リセット信号を活性化させ、前記リセット信号の非活性化中に、前記内部リセット信号の非活性レベルに固定された信号を前記クロック信号に同期して前記内部リセット信号として出力する内部リセット生成回路を備えていることを特徴とする半導体集積回路の設計方法。
【請求項６】
リセット入力端子からのリセット信号の活性遷移に応答してリセットされる複数のフリップフロップと、
前記リセット入力端子の直後に設けられ、前記リセット信号の非活性遷移を前記フリップフロップに供給されるクロック信号に同期させて前記フリップフロップに伝搬させるリセット調整回路と、
前記リセット調整回路から前記フリップフロップまでのリセット信号のパスの遅延時間を、前記クロック信号を基準として調整する第１タイミング調整回路とを備えていることを特徴とする半導体集積回路。
【請求項７】
リセット入力端子からのリセット信号の活性遷移に応答してリセットされる複数のフリップフロップと、前記リセット入力端子の直後に設けられ、前記リセット信号の非活性遷移を前記フリップフロップに供給されるクロック信号に同期させて前記フリップフロップに伝搬させるリセット調整回路と、前記リセット調整回路から前記フリップフロップまでのリセット信号のパスの遅延時間を前記クロック信号に対応して調整する第１タイミング調整回路とをそれぞれ有する複数の回路ブロックと、
前記回路ブロックのリセット入力端子にそれぞれ規定されるリセット信号のセットアップ時間およびホールド時間に対応して、前記回路ブロックのリセット入力端子までのリセット信号のパスの遅延時間を、前記クロック信号を基準として調整する第２タイミング調整回路とを備えていることを特徴とする半導体集積回路。
【請求項８】
請求項６または請求項７記載の半導体集積回路において、
前記リセット調整回路は、
前記リセット信号を前記クロック信号に同期させて第１内部信号として出力する第１同期化回路と、
前記リセット信号の活性遷移に同期して前記フリップフロップへの内部リセット信号を活性化させ、前記第１内部信号の非活性遷移に同期して前記内部リセット信号を非活性化させる合成回路とを備えていることを特徴とする半導体集積回路。
【請求項９】
リセット入力端子からのリセット信号の活性遷移に応答してリセットされる複数のフリップフロップを有する半導体集積回路に対して、前記リセット信号の非活性遷移を前記フリップフロップに供給されるクロック信号に同期させて前記フリップフロップに伝搬させるリセット調整回路を前記リセット入力端子の直後に挿入する第１ステップと、
前記リセット調整回路から前記フリップフロップまでのリセット信号のパスに対して、前記クロック信号を基準としたタイミング調整を実施する第２ステップとを、半導体集積回路を設計するためのコンピュータに実行させることを特徴とする半導体集積回路の設計プログラム。
【請求項１０】
リセット入力端子からのリセット信号の活性遷移に応答してリセットされる複数のフリップフロップを有する複数の回路ブロックをそれぞれ独立して設計する下位階層設計ステップと、前記複数の回路ブロックを有する半導体集積回路の全体を設計する上位階層設計ステップとを、半導体集積回路を設計するためのコンピュータに実行させる半導体集積回路の設計プログラムであって、
前記下位階層設計ステップにおいて、
前記各回路ブロックに対して、前記リセット信号の非活性遷移を前記フリップフロップに供給されるクロック信号に同期させて前記フリップフロップに伝搬させるリセット調整回路を前記リセット入力端子の直後に挿入する第１ステップと、
前記リセット調整回路から前記フリップフロップまでのリセット信号のパスに対して、前記クロック信号を基準としたタイミング調整を実施する第２ステップとを前記コンピュータに実行させ、
前記上位階層設計ステップにおいて、
前記回路ブロックのリセット入力端子にそれぞれ規定されるリセット信号のセットアップ時間およびホールド時間に基づいて、前記回路ブロックのリセット入力端子までのリセット信号のパスに対して、前記クロック信号を基準としたタイミング調整を実施する第３ステップを前記コンピュータに実行させることを特徴とする半導体集積回路の設計プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路に関し、特に、半導体集積回路におけるリセット信号の設計技術に関する。
【背景技術】
【０００２】
大規模なＬＳＩの設計においては、設計資産の有効活用や設計期間の短縮を目的として、下位階層ブロック毎に物理設計（レイアウト設計）を実施し、物理設計が完了した下位階層ブロック（レイアウトデータをライブラリ化したハードマクロを含む）を用いてＬＳＩ全体（上位階層）の物理設計を実施する階層設計（階層レイアウト設計）が知られている。
【０００３】
下位階層ブロックの物理設計が完了した時点で、下位階層ブロックの各信号入力端子には、下位階層ブロックの正常動作を保証するために、クロック入力端子から各フリップフロップのまでのクロック遅延時間と、各信号入力端子から各フリップフロップまでの信号遅延時間とに、製造プロセス条件、動作温度範囲、動作電圧範囲等を考慮して、入力信号の信号入力時間（セットアップ時間およびホールド時間）が規定される。上位階層の設計では、下位階層ブロックの各信号入力端子に規定されるセットアップ時間およびホールド時間を満たすように、ＬＳＩにおける下位階層ブロックを除く部分（下位階層ブロック間の配線など）の物理設計が実施される。
【０００４】
また、特許文献１には、リセットパルスの長短やクロックの遅れに拘わらず、リセットパルスおよびクロックに応答して同期リセット型回路を確実にリセットする技術が開示されている。
特許文献２には、情報処理装置の回路規模および端子数を低減する同期リセット回路が開示されている。この同期リセット回路では、非同期リセット信号を同期化回路によりクロックに同期させ、複数の遅延回路によりクロックに同期したリセット信号から互いに活性タイミングが異なる複数のリセット信号を生成して複数のフリップフロップ群にそれぞれ供給する。これにより、複数のフリップフロップ群は、互いに異なるタイミングでリセットされる。また、リセット終了タイミング回路により複数のリセット信号の非活性タイミングを揃えることで、全てのフリップフロップが同時にリセット解除される。
【０００５】
特許文献３には、非同期パルス信号のパルス幅より長い周期のクロック信号を用いた場合にも、非同期パルス信号から同期パルス信号を生成する技術が開示されている。
【特許文献１】特開平８−７６８９３号公報
【特許文献２】特開平７−１６８６５２号公報
【特許文献３】特開平１１−８８３０６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明は、以下に示す課題を解決するためになされた。下位階層ブロックの信号入力端子に規定される入力信号のセットアップ時間およびホールド時間は、下位階層ブロックの内部構成に応じて決まる固有値である。このため、多数の下位階層ブロックを組み合わせて階層設計を実施すると、ある信号を共通して受ける複数の下位階層ブロックの信号入力端子には、互いに異なるセットアップ時間およびホールド時間がそれぞれ規定されているため、上位階層設計においてタイミング制約（クロック周期など）を満たすことができない状態（タイミング収束困難な状態）になってしまう場合がある。
【０００７】
例えば、リセット信号は、各下位階層ブロックのリセット入力端子を介して、上位階層から各下位階層ブロック内部のフリップフロップまで伝搬される多分岐信号（High Fan-out Net）である。また、下位階層ブロックに含まれるフリップフロップの数や回路規模あるいは下位階層ブロック内でのクロック遅延時間は、下位階層ブロック毎に大きく異なる。このため、各下位階層ブロックのリセット入力端子に規定されるリセット信号のセットアップ時間およびホールド時間にばらつきが生じ易い。また、一般的には、ＬＳＩの誤動作を確実に防止するために、同一のクロックサイクル内で全てのフリップフロップをリセット解除できるように、リセット信号の設計を実施しなければならない。従って、クロック周期が小さくなるほど、リセット信号に対するタイミング制約は厳しいものになる。
【０００８】
リセット信号のような多分岐信号のタイミングを調整する方法としては、クロック信号に対してよく適用されるように、リセット信号のパスにツリー構造を導入する手法が知られている。この方法は、ＬＳＩ全体においてリセット信号を一括して設計する場合には有効であるが、階層設計の場合には、リセット信号のパスは、物理設計が完了した下位階層ブロックの内部を含むため、下位階層ブロックに含まれる部分にツリー構造を導入することはできない。このため、ツリー構造の導入によるタイミング調整の効果は限定的になってしまう。従って、リセット信号の設計に多大な工数を要してしまう。このため、ＬＳＩの設計期間が長くなり、製品コストが増大してしまう。
【０００９】
また、信号入力端子に規定される入力信号のセットアップ時間およびホールド時間を抑制する手法も知られている。例えば、信号入力端子から初段のフリップフロップまでの論理段数をできるだけ少なくすることで、入力信号のセットアップ時間およびホールド時間のばらつきが抑えられる。この方法は、クロック信号に同期した一般的な信号に対しては有効であるが、リセット信号のように、クロック信号に同期化されることなく、リセット入力端子から各フリップフロップのリセット端子に直接供給される信号に対しては効果がない。
【００１０】
本発明の目的は、リセット入力端子に規定されるリセット信号のセットアップ時間およびホールド時間を、回路構成に拘わらず小さくかつ一定にすることにある。本発明の別の目的は、半導体集積回路の階層設計において、リセット信号の設計を容易化することにある。本発明の別の目的は、半導体集積回路の開発期間を短縮し、製品コストを低減することにある。
【課題を解決するための手段】
【００１１】
本発明の第１形態では、例えば、半導体集積回路を設計するためのコンピュータにより、リセット入力端子からのリセット信号の活性遷移に応答してリセットされる複数のフリップフロップを有する半導体集積回路に対して、以下に示す処理が実施される。
まず、リセット入力端子の直後にリセット調整回路が挿入される（第１ステップ）。リセット調整回路は、リセット入力端子からのリセット信号の非活性遷移をフリップフロップに供給されるクロック信号に同期させてフリップフロップに伝搬させる回路である。そして、リセット調整回路からフリップフロップまでのリセット信号のパスに対して、クロック信号を基準としたタイミング調整が実施される（第２ステップ）。すなわち、リセット調整回路からフリップフロップまでのリセット信号のパスに対してクロック同期設計が実施される。これにより、例えば、リセット調整回路からフリップフロップまでのリセット信号のパスに対して、クロック信号を基準としてリセット信号のパスの遅延時間を調整する第１タイミング調整回路が挿入される。
【００１２】
リセット調整回路を挿入することでリセット信号の非活性遷移をクロック信号に同期させてフリップフロップに伝搬させるとともに、リセット調整回路からフリップフロップまでのリセット信号のパスに対してクロック同期設計を実施することで、クロック信号の同一サイクル内で全てのフリップフロップを確実にリセット解除できる。また、リセット入力端子に規定されるリセット信号のセットアップ時間およびホールド時間は、リセット入力端子からリセット調整回路までの信号遅延時間およびクロック入力端子からリセット調整回路までのクロック遅延時間によってのみ規定される。このため、半導体集積回路内のフリップフロップの数や半導体集積回路の種類や回路規模に拘わらず、リセット入力端子に規定されるリセット信号のセットアップ時間およびホールド時間を小さくかつ一定にできる。
【００１３】
本発明の第２形態では、例えば、半導体集積回路を設計するためのコンピュータにより、以下に示す処理が実施される。まず、リセット入力端子からのリセット信号の活性遷移に応答してリセットされる複数のフリップフロップを有する複数の回路ブロックをそれぞれ独立して設計する下位階層設計ステップにおいて、各回路ブロックに対して、前述した第１および第２ステップが実施される。
【００１４】
そして、複数の回路ブロックを有する半導体集積回路の全体を設計する上位階層設計ステップにおいて、回路ブロックのリセット入力端子にそれぞれ規定されるリセット信号のセットアップ時間およびホールド時間に基づいて、回路ブロックのリセット入力端子までのリセット信号のパスに対して、クロック信号を基準としたタイミング調整が実施される（第３ステップ）。すなわち、回路ブロックのリセット入力端子までのリセット信号のパスに対してクロック同期設計が実施される。これにより、例えば、回路ブロックのリセット入力端子までのリセット信号のパスに対して、クロック信号を基準としてリセット信号のパスの遅延時間を調整する第２タイミング調整回路が挿入される。
【００１５】
回路ブロックのリセット入力端子にそれぞれ規定されるリセット信号のセットアップ時間およびホールド時間を小さくかつ一定にできるため、上位階層設計におけるリセット信号に対するタイミング制約を緩くできる。このため、上位階層設計において、クロック信号の周期が小さい場合でも、リセット信号のパスに対するタイミング調整を容易に実施できる。すなわち、リセット信号の設計を容易化できる。このため、半導体集積回路の開発期間を短縮でき、製品コストを低減できる。
【００１６】
本発明の前記第１または第２形態の好ましい例では、リセット調整回路の第１同期化回路は、リセット入力端子からのリセット信号をクロック信号に同期させて第１内部信号として出力する。リセット調整回路の合成回路は、リセット信号の活性遷移に同期してフリップフロップへの内部リセット信号を活性化させる。合成回路は、第１内部信号の非活性遷移に同期して内部リセット信号を非活性化させる。従って、内部リセット信号の活性タイミングは、リセット信号と同一であり、クロック信号とは無関係である。一方、内部リセット信号の非活性タイミングは、第１内部信号と同一であり、クロック信号に同期している。このため、第１同期化回路からフリップフロップまでの信号パスに対して、クロック信号に基づくタイミング調整を実施することで、全てのフリップフロップをクロック信号の同一サイクル内で確実にリセット解除できる。
【００１７】
本発明の前記第１または第２形態の好ましい例では、リセット調整回路の第２同期化回路は、第１同期化回路からの第１内部信号をクロック信号に同期させて第２内部信号として出力する。合成回路は、第２同期化回路からの第２内部信号を第１内部信号として受ける。このように、リセット入力端子からのリセット信号を直列接続された２段の同期化回路で受けることで、リセット信号が安定しない場合でも、フリップフロップへの内部リセット信号を確実に生成できる。
【００１８】
本発明の前記第１または第２形態の好ましい例では、リセット調整回路の内部リセット生成回路は、リセット入力端子からのリセット信号の活性化中に、フリップフロップへの内部リセット信号を活性化させる。内部リセット生成回路は、リセット信号の非活性化中に、内部リセット信号の非活性レベルに固定された信号をクロック信号に同期して内部リセット信号として出力する。従って、内部リセット信号の活性タイミングは、リセット信号と同一であり、クロック信号とは無関係である。一方、内部信号の非活性タイミングは、リセット信号が非活性化した直後のクロック信号に同期している。従って、内部リセット生成回路からフリップフロップまでの信号パスに対して、クロック信号に基づくタイミング調整を実施することで、全てのフリップフロップをクロック信号の同一サイクル内で確実にリセット解除できる。
【発明の効果】
【００１９】
本発明では、回路ブロックのリセット入力端子にそれぞれ規定されるリセット信号のセットアップ時間およびホールド時間を、回路ブロックの内部構成に拘わらず小さくかつ一定にすることができ、上位階層設計でのリセット信号の設計を容易化できる。このため、半導体集積回路の開発期間の短縮および製品コストの低減に大きく寄与できる。
【発明を実施するための最良の形態】
【００２０】
以下、図面を用いて本発明の実施形態を説明する。図１は、本発明を実現するためのシステム構成例を示している。本発明を実現するためのシステムは、例えば、ワークステーション１等の計算機と、本発明の半導体集積回路の設計プログラムを記録したＣＤ−ＲＯＭ８やフレキシブルディスク９等の記録媒体とから構成されている。ワークステーション１は、画面表示を実施するディスプレイ２と、キーの押下により指示を入力するキーボード３と、ＣＰＵ４、ハードディスク５および記録媒体ドライブ装置６が内蔵された制御装置７とを有している。記録媒体ドライブ装置６には、ＣＤ−ＲＯＭ８またはフレキシブルディスク９が装着可能である。ワークステーション１は、ＣＤ−ＲＯＭ８またはフレキシブルディスク９の記録媒体ドライブ装置６への装着後、キーボード３を介して入力される指示に応答して、ＣＤ−ＲＯＭ８またはフレキシブルディスク９に記録されたプログラムをハードディスク５にダウンロードする。ワークステーション１は、ＣＰＵ４がハードディスク５に格納されたプログラムを実行することにより、半導体集積回路の設計（レイアウト設計）を実施する。
【００２１】
図２〜図５は、本発明の第１実施形態を示している。図２は、第１実施形態の半導体集積回路の設計方法を示している。この設計方法は、例えば、図１におけるワークステーション１のＣＰＵ４がハードディスク５に格納されたプログラムを実行することにより実施される。ＣＰＵ４は、複数の回路ブロックを有する半導体集積回路の論理データＤ１（ネットリストあるいはＲＴＬデータ）を用いて、下位階層設計ステップとして回路ブロック毎にステップＳ１０、Ｓ２０を実施した後に、上位階層設計ステップとしてステップＳ３０を実施する。ここで、各回路ブロックは、クロック入力端子からのクロック信号に同期して動作し、リセット入力端子からのリセット信号の活性遷移に応答してリセットされる非同期リセット型のフリップフロップを複数個有している。
【００２２】
ステップＳ１０（第１ステップ）において、ＣＰＵ４は、半導体集積回路の論理データＤ１を用いて、処理対象の回路ブロックに対して、リセット入力端子の直後にリセット調整回路を挿入する。ここで、リセット調整回路は、リセット信号の非活性遷移をフリップフロップに供給されるクロック信号に同期させてフリップフロップに伝搬させる回路である。この後、処理はステップＳ２０に移行する。
【００２３】
ステップＳ２０（第２ステップ）において、ＣＰＵ４は、ステップＳ１０によりリセット調整回路が挿入された論理データを用いて、処理対象の回路ブロックのレイアウトを実施する（下位階層レイアウト）。この際、ＣＰＵ４は、リセット調整回路からフリップフロップまでのリセット信号のパスに対して、クロック信号を基準としたタイミング調整（クロック同期設計）を実施する。この後、処理はステップＳ３０に移行する。なお、ステップＳ２０により得られる回路ブロックのレイアウトデータは、例えば、ハードマクロとしてライブラリ化される。
【００２４】
ステップＳ３０（第３ステップ）において、ＣＰＵ４は、ステップＳ１０、Ｓ２０により得られる回路ブロックのレイアウトデータあるいはハードマクロライブラリＤ２のレイアウトデータを組み合わせて、半導体集積回路全体のレイアウトを実施する（上位階層レイアウト）。この際、ＣＰＵ４は、回路ブロックのリセット入力端子にそれぞれ規定されるリセット信号のセットアップ時間およびホールド時間に基づいて、回路ブロックのリセット入力端子までのリセット信号の信号パスに対して、クロック信号を基準としたタイミング調整（クロック同期設計）を実施する。これにより、半導体集積回路の設計は完了する。
【００２５】
図３は、図２のステップＳ１０、Ｓ２０により設計された回路ブロックの一例を示している。回路ブロックＢＬＫは、ステップＳ１０で挿入されたリセット調整回路ＲＡ、複数のフリップフロップＦＦ、ステップＳ２０で挿入された複数のバッファＢＦＣ、ＢＦＲ（第１タイミング調整回路）を有している。
リセット調整回路ＲＡは、フリップフロップＦＦ１（第１同期化回路）およびＡＮＤ回路Ａ１を有している。フリップフリップＦＦ１のデータ入力端子Ｄは、回路ブロックＢＬＫのリセット入力端子ＲＰから供給される負論理のリセット信号／ＲＳＴを受けている。フリップフロップＦＦ１のクロック端子Ｃは、回路ブロックＢＬＫのクロック入力端子ＣＰから供給されるクロック信号ＣＫを受けている。フリップフロップＦＦ１は、クロック信号ＣＫの立ち上がりエッジに同期して、リセット信号／ＲＳＴを取り込み、取り込んだ信号をリセット信号／ＲＳＴ１（第１内部信号）としてデータ出力端子Ｑから出力する。ＡＮＤ回路Ａ１は、リセット信号／ＲＳＴ、／ＲＳＴ１の少なくともいずれかが低レベル（活性レベル）であるときに、フリップフロップＦＦへのリセット信号／ＲＳＴＩ（内部リセット信号）を低レベルに活性化させる。
【００２６】
各フリップフロップＦＦのリセット端子Ｒは、リセット調整回路ＲＡ（ＡＮＤ回路Ａ１）から出力されるリセット信号／ＲＳＴＩを直接またはバッファＢＦＲを介して受けている。各フリップフロップＦＦのクロック端子Ｃは、クロック信号ＣＫをバッファＢＦＣを介して受けている。バッファＢＦＣは、クロック信号ＣＫのツリー構造を形成し、クロック信号ＣＫのフリップフロップＦＦへの到達時間が揃うように設けられている。バッファＢＦＲは、リセット信号／ＲＳＴのツリー構造を形成し、リセット信号／ＲＳＴＩの非活性遷移（すなわち、リセット信号／ＲＳＴ１の非活性遷移）のフリップフロップＦＦへの到達時間が揃うように設けられている。
【００２７】
図４は、第１実施形態のリセット調整回路ＲＡの動作を示している。回路ブロックＢＬＫのリセット入力端子ＲＰから供給されるリセット信号／ＲＳＴが高レベルから低レベルに変化すると、ＡＮＤ回路Ａ１から出力されるリセット信号／ＲＳＴＩが高レベルから低レベルに変化する（図４（ａ））。そして、クロック信号ＣＫの立ち上がり変化が発生すると、リセット信号／ＲＳＴは低レベルであるため、フリップフロップＦＦ１から出力されるリセット信号／ＲＳＴ１は高レベルから低レベルに変化する（図４（ｂ））。
【００２８】
この後、リセット信号／ＲＳＴが低レベルから高レベルに変化しても、リセット信号／ＲＳＴ１が低レベルであるため、リセット信号／ＲＳＴＩは低レベルから変化しない（図４（ｃ））。そして、クロック信号ＣＫの次の立ち上がり変化が発生すると、リセット信号／ＲＳＴは高レベルであるため、リセット信号／ＲＳＴ１は低レベルから高レベルに変化する（図４（ｄ））。このとき、リセット信号／ＲＳＴ、／ＲＳＴ１が共に高レベルであるため、リセット信号／ＲＳＴＩも低レベルから高レベルに変化する（図４（ｅ））。
【００２９】
このように、ＡＮＤ回路Ａ１から出力されるリセット信号／ＲＳＴＩは、リセット信号／ＲＳＴの立ち下がりエッジに同期して高レベルから低レベルに変化するとともに、リセット信号／ＲＳＴＩの立ち上がりエッジ、すなわちクロック信号ＣＫの立ち上がりエッジに同期して低レベルから高レベルに変化する。これに加えて、リセット調整回路ＲＡにおけるフリップフロップＦＦ１のデータ出力端子ＱからフリップフロップＦＦのリセット端子Ｒまでの信号パスはクロック同期設計されているため、回路ブロックＢＬＫ内の全てのフリップフロップＦＦは、同一クロックサイクル内で確実にリセット解除される。なお、図中、フリップフロップＦＦのクロック端子Ｃおよびリセット端子Ｒの信号波形における斜線部分は、フリップフロップＦＦ間のずれ（スキュー）を示している。
【００３０】
また、リセット入力端子ＲＰに規定されるリセット信号／ＲＳＴのセットアップ時間およびホールド時間は、リセット入力端子ＲＰからフリップフロップＦＦ１のデータ入力端子Ｄまでのリセット信号／ＲＳＴの遅延時間およびクロック入力端子ＣＰからフリップフロップＦＦ１のクロック端子Ｃまでのクロック信号ＣＫの遅延時間により規定される。このため、回路ブロックＢＬＫの種類（機能）や回路規模に拘わらず、リセット信号／ＲＳＴのセットアップ時間およびホールド時間は、小さい値でほぼ一定になる。
【００３１】
図５は、図２のステップＳ１０〜Ｓ３０により設計された半導体集積回路の一例を示している。半導体集積回路チップＣＨＩＰは、クロック・リセット生成回路ＣＲＧ、ステップＳ１０、２０によりそれぞれ設計された回路ブロックＢＬＫ１〜ＢＬＫ３、ステップＳ３０で挿入された複数のバッファＢＦＣ、ＢＦＲ（第２タイミング調整回路）を有している。クロック・リセット生成回路ＣＲＧは、例えば、半導体集積回路ＣＨＩＰの入出力バッファ（図示せず）を介して供給される外部クロック信号に基づいて生成したクロック信号ＣＫをクロック出力端子ＣＰＳから出力する。また、クロック・リセット生成回路ＣＲＧは、例えば、半導体集積回路ＣＨＩＰの入出力バッファを介して供給される外部リセット信号をクロック信号ＣＫに同期させてリセット信号／ＲＳＴとしてリセット出力端子ＲＰＳから出力する。
【００３２】
回路ブロックＢＬＫ１〜３は、機能を具現するための回路構成（フリップフロップの数など）が異なることを除いて、図３の回路ブロックＢＬＫと同様である。バッファＢＦＣは、クロック信号ＣＫのツリー構造を形成し、クロック信号ＣＫのクロック入力端子ＣＰ１〜ＣＰ３への到達時間が揃うように設けられている。バッファＢＦＲは、リセット信号／ＲＳＴのツリー構造を形成し、リセット信号／ＲＳＴの非活性遷移のリセット入力端子ＲＰ１〜ＲＰ３への到達時間が、リセット入力端子ＲＰ１〜ＲＰ３にそれぞれ規定されるリセット信号／ＲＳＴのセットアップ時間およびホールド時間を満たすように設けられている。
【００３３】
図６は、第１実施形態におけるリセット信号／ＲＳＴの概要を示している。回路ブロックＢＬＫ１〜ＢＬＫ３のリセット入力端子ＲＰ１〜ＲＰ３にそれぞれ規定されるリセット信号ＲＳＴのセットアップ時間ｔｓ１〜ｔｓ３およびホールド時間ｔｈ１〜ｔｈ３は、回路ブロックの回路構成（フリップフロップの数）に拘わらず、小さい値で互いにほぼ同一であるため、リセット信号確定時間ｔｋ（リセット信号／ＲＳＴの非活性遷移が禁止される時間）が小さくなり、すなわちリセット解除可能時間ｔｄ（リセット信号／ＲＳＴの非活性遷移が許可される時間）が大きくなる。従って、上位階層レイアウトでのリセット信号／ＲＳＴに対するタイミング制約が緩くなり、製造プロセス条件・温度条件・電圧条件等の変化に伴ってリセット信号／ＲＳＴの遷移タイミングが変動することを考慮しても、リセット信号／ＲＳＴのタイミング調整（バッファＢＦＣによるツリー構造の形成）が容易に実施される。
【００３４】
図７は、本発明の比較例を示している。半導体集積回路チップＣＨＩＰａは、図５の回路ブロックＢＬＫ１〜ＢＬＫ３に代えて回路ブロックＢＬＫ１ａ〜ＢＬＫ３ａを有することおよびリセット信号／ＲＳＴのツリー構造が異なることを除いて、図５の半導体集積回路チップＣＨＩＰと同一である。回路ブロックＢＬＫ１ａ〜ＢＬＫ３ａは、リセット調整回路ＲＡを有していない点を除いて、図５の回路ブロックＢＬＫ１〜ＢＬＫ３と同一である。
【００３５】
図８は、本発明の比較例におけるリセット信号の概要を示している。回路ブロックＢＬＫ１ａ〜ＢＬＫ３ａはリセット調整回路ＲＡを有していないため、リセット入力端子ＲＰ１〜ＲＰ３には、回路ブロックＢＬＫ１ａ〜ＢＬＫ３ａの回路構成（フリップフロップの数やクロック遅延等）に応じて、互いに異なるリセット信号／ＲＳＴのセットアップ時間ｔｓ１〜ｔｓ３およびホールド時間ｔｈ１〜ｔｈ３がそれぞれ規定される。クロック信号ＣＫの同一サイクル内で全てのフリップフロップＦＦをリセット解除するためには、リセット信号／ＲＳＴをリセット解除可能時間ｔｄの間に非活性化させる必要があるが、リセット信号／ＲＳＴのリセット解除可能時間ｔｄは、クロック周期ｔｃと比較して非常に僅かな時間である。製造プロセス条件・温度条件・電圧条件等の変化に伴ってリセット信号／ＲＳＴの遷移タイミングが変動することを考慮すると、このような短い時間ｔｄの間にリセット信号／ＲＳＴが非活性するように設計するためには非常に細かなタイミング調整が必要であり、クロック周期ｔｃが短くなるほどリセット信号／ＲＳＴのタイミング設計が困難になる。
【００３６】
以上、第１実施形態では、回路ブロックＢＬＫ１〜ＢＬＫ３のリセット入力端子ＲＰ１〜ＲＰ３にそれぞれ規定されるリセット信号／ＲＳＴのセットアップ時間およびホールド時間を、回路ブロックＢＬＫ１〜ＢＬＫ３の内部構成に拘わらず小さくかつ一定にすることができ、上位階層レイアウトでのリセット信号／ＲＳＴの設計を容易化できる。このため、半導体集積回路の開発期間の短縮および製品コストの低減に大きく寄与でき、特に、半導体集積回路が多数の回路ブロックを有する場合やクロック周波数が高い場合に多大な効果を奏する。
【００３７】
図９は、本発明の第２実施形態を示している。第２実施形態を説明するにあたって、第１実施形態で説明した要素と同一の要素については、同一の符号を付し、詳細な説明を省略する。第２実施形態は、各回路ブロックに挿入するリセット調整回路の構成が異なることを除いて、第１実施形態と同一である。
第２実施形態のリセット調整回路ＲＡａは、第１実施形態（図３）のリセット調整回路ＲＡにフリップフロップＦＦ２（第２同期化回路）を加えて構成されている。フリップフロップＦＦ２は、クロック入力端子ＣＰから供給されるクロック信号ＣＫをクロック端子Ｃで受けるとともに、フリップフロップＦＦ１から出力されるリセット信号／ＲＳＴ１をデータ入力端子Ｄで受けている。フリップフロップＦＦ２は、クロック信号ＣＫの立ち上がりエッジに同期して、フリップフロップＦＦ１から出力されるリセット信号／ＲＳＴ１を取り込み、取り込んだ信号をリセット信号／ＲＳＴ２（第２内部信号）としてデータ出力端子Ｑから出力する。ＡＮＤ回路Ａ１は、フリップフロップＦＦ１から出力されるリセット信号／ＲＳＴ１に代えて、フリップフロップＦＦ２から出力されるリセット信号／ＲＳＴ２を受けている。
【００３８】
このような構成のリセット調整回路ＲＡａでは、リセット信号／ＲＳＴＩの非活性タイミングが第１実施形態（図４）よりクロック信号ＣＫの１周期分遅くなるが、全てのフリップフロップがクロック信号ＣＫの同一サイクル内でリセット解除されることに変わりはない。以上、第２実施形態でも、第１実施形態と同様の効果が得られる。さらに、リセット調整回路ＲＡａにおいて、リセット信号／ＲＳＴを２段のフリップフロップＦＦ１、ＦＦ２で受けることで、リセット信号／ＲＳＴが安定しない場合にも、フリップフロップＦＦへのリセット信号／ＲＳＴＩを安定して生成できる。
【００３９】
図１０は、本発明の第３実施形態を示している。第３実施形態を説明するにあたって、第２実施形態で説明した要素と同一の要素については、同一の符号を付し、詳細な説明を省略する。第３実施形態は、各回路ブロックに挿入するリセット調整回路の構成が異なることを除いて、第１実施形態と同一である。
第３実施形態のリセット調整回路ＲＡｂは、リセット端子Ｒ付きのフリップフロップＦＦ３（内部リセット生成回路）を有している。フリップフロップＦＦ３は、クロック端子Ｃおよびリセット端子Ｒでクロック信号ＣＫおよびリセット信号／ＲＳＴをそれぞれ受け、高レベル（フリップフロップＦＦへのリセット信号／ＲＳＴＩの非活性レベル）に固定された信号ＦＩＸＨをデータ入力端子Ｄで受けている。フリップフロップＦＦ３は、リセット信号／ＲＳＴが低レベルであるときに、データ出力端子Ｑから出力するリセット信号／ＲＳＴＩを低レベルに固定する。フリップフロップＦＦ３は、リセット信号／ＲＳＴが高レベルであるときに、クロック信号ＣＫの立ち上がりエッジに同期して、信号ＦＩＸＨを取り込み、取り込んだ信号をリセット信号／ＲＳＴＩとして出力する。このような構成のリセット調整回路ＲＡｂでも、フリップフロップＦＦへのリセット信号／ＲＳＴＩは、第１実施形態（図４）と同一のタイミングで活性化および非活性化する。以上、第３実施形態でも、第１実施形態と同様の効果が得られる。
【００４０】
以上の実施形態において説明した発明を整理して、付記として開示する。
（付記１）
リセット入力端子からのリセット信号の活性遷移に応答してリセットされる複数のフリップフロップを有する半導体集積回路に対して、前記リセット信号の非活性遷移を前記フリップフロップに供給されるクロック信号に同期させて前記フリップフロップに伝搬させるリセット調整回路を前記リセット入力端子の直後に挿入する第１ステップと、
前記リセット調整回路から前記フリップフロップまでのリセット信号のパスに対して、前記クロック信号を基準としたタイミング調整を実施する第２ステップとを含むことを特徴とする半導体集積回路の設計方法。
（付記２）
リセット入力端子からのリセット信号の活性遷移に応答してリセットされる複数のフリップフロップを有する複数の回路ブロックをそれぞれ独立して設計する下位階層設計ステップと、前記複数の回路ブロックを有する半導体集積回路の全体を設計する上位階層設計ステップとで構成される半導体集積回路の設計方法であって、
前記下位階層設計ステップは、
前記各回路ブロックに対して、前記リセット信号の非活性遷移を前記フリップフロップに供給されるクロック信号に同期させて前記フリップフロップに伝搬させるリセット調整回路を前記リセット入力端子の直後に挿入する第１ステップと、
前記リセット調整回路から前記フリップフロップまでのリセット信号のパスに対して、前記クロック信号を基準としたタイミング調整を実施する第２ステップとを含み、
前記上位階層設計ステップは、
前記回路ブロックのリセット入力端子にそれぞれ規定されるリセット信号のセットアップ時間およびホールド時間に基づいて、前記回路ブロックのリセット入力端子までのリセット信号のパスに対して、前記クロック信号を基準としたタイミング調整を実施する第３ステップを含むことを特徴とする半導体集積回路の設計方法。
（付記３）
付記１または付記２記載の半導体集積回路の設計方法において、
前記リセット調整回路は、
前記リセット信号を前記クロック信号に同期させて第１内部信号として出力する第１同期化回路と、
前記リセット信号の活性遷移に同期して前記フリップフロップへの内部リセット信号を活性化させ、前記第１内部信号の非活性遷移に同期して前記内部リセット信号を非活性化させる合成回路とを備えていることを特徴とする半導体集積回路の設計方法。
（付記４）
付記３記載の半導体集積回路の設計方法において、
前記リセット調整回路は、前記第１内部信号を前記クロック信号に同期させて第２内部信号として出力する第２同期化回路を備え、
前記合成回路は、前記第２内部信号を前記第１内部信号として受けることを特徴とする半導体集積回路の設計方法。
（付記５）
付記１または付記２記載の半導体集積回路の設計方法において、
前記リセット調整回路は、前記リセット信号の活性化中に、前記フリップフロップへの内部リセット信号を活性化させ、前記リセット信号の非活性化中に、前記内部リセット信号の非活性レベルに固定された信号を前記クロック信号に同期して前記内部リセット信号として出力する内部リセット生成回路を備えていることを特徴とする半導体集積回路の設計方法。
（付記６）
リセット入力端子からのリセット信号の活性遷移に応答してリセットされる複数のフリップフロップと、
前記リセット入力端子の直後に設けられ、前記リセット信号の非活性遷移を前記フリップフロップに供給されるクロック信号に同期させて前記フリップフロップに伝搬させるリセット調整回路と、
前記リセット調整回路から前記フリップフロップまでのリセット信号のパスの遅延時間を、前記クロック信号を基準として調整する第１タイミング調整回路とを備えていることを特徴とする半導体集積回路。
（付記７）
リセット入力端子からのリセット信号の活性遷移に応答してリセットされる複数のフリップフロップと、前記リセット入力端子の直後に設けられ、前記リセット信号の非活性遷移を前記フリップフロップに供給されるクロック信号に同期させて前記フリップフロップに伝搬させるリセット調整回路と、前記リセット調整回路から前記フリップフロップまでのリセット信号のパスの遅延時間を前記クロック信号に対応して調整する第１タイミング調整回路とをそれぞれ有する複数の回路ブロックと、
前記回路ブロックのリセット入力端子にそれぞれ規定されるリセット信号のセットアップ時間およびホールド時間に対応して、前記回路ブロックのリセット入力端子までのリセット信号のパスの遅延時間を、前記クロック信号を基準として調整する第２タイミング調整回路とを備えていることを特徴とする半導体集積回路。
（付記８）
付記６または付記７記載の半導体集積回路において、
前記リセット調整回路は、
前記リセット信号を前記クロック信号に同期させて第１内部信号として出力する第１同期化回路と、
前記リセット信号の活性遷移に同期して前記フリップフロップへの内部リセット信号を活性化させ、前記第１内部信号の非活性遷移に同期して前記内部リセット信号を非活性化させる合成回路とを備えていることを特徴とする半導体集積回路。
（付記９）
付記８記載の半導体集積回路において、
前記リセット調整回路は、前記第１内部信号を前記クロック信号に同期させて第２内部信号として出力する第２同期化回路を備え、
前記合成回路は、前記第２内部信号を前記第１内部信号として受けることを特徴とする半導体集積回路。
（付記１０）
付記６または付記７記載の半導体集積回路において、
前記リセット調整回路は、前記リセット信号の活性化中に、前記フリップフロップへの内部リセット信号を活性化させ、前記リセット信号の非活性化中に、前記内部リセット信号の非活性レベルに固定された信号を前記クロック信号に同期して前記内部リセット信号として出力する内部リセット生成回路を備えていることを特徴とする半導体集積回路。
（付記１１）
リセット入力端子からのリセット信号の活性遷移に応答してリセットされる複数のフリップフロップを有する半導体集積回路に対して、前記リセット信号の非活性遷移を前記フリップフロップに供給されるクロック信号に同期させて前記フリップフロップに伝搬させるリセット調整回路を前記リセット入力端子の直後に挿入する第１ステップと、
前記リセット調整回路から前記フリップフロップまでのリセット信号のパスに対して、前記クロック信号を基準としたタイミング調整を実施する第２ステップとを、半導体集積回路を設計するためのコンピュータに実行させることを特徴とする半導体集積回路の設計プログラム。
（付記１２）
リセット入力端子からのリセット信号の活性遷移に応答してリセットされる複数のフリップフロップを有する複数の回路ブロックをそれぞれ独立して設計する下位階層設計ステップと、前記複数の回路ブロックを有する半導体集積回路の全体を設計する上位階層設計ステップとを、半導体集積回路を設計するためのコンピュータに実行させる半導体集積回路の設計プログラムであって、
前記下位階層設計ステップにおいて、
前記各回路ブロックに対して、前記リセット信号の非活性遷移を前記フリップフロップに供給されるクロック信号に同期させて前記フリップフロップに伝搬させるリセット調整回路を前記リセット入力端子の直後に挿入する第１ステップと、
前記リセット調整回路から前記フリップフロップまでのリセット信号のパスに対して、前記クロック信号を基準としたタイミング調整を実施する第２ステップとを前記コンピュータに実行させ、
前記上位階層設計ステップにおいて、
前記回路ブロックのリセット入力端子にそれぞれ規定されるリセット信号のセットアップ時間およびホールド時間に基づいて、前記回路ブロックのリセット入力端子までのリセット信号のパスに対して、前記クロック信号を基準としたタイミング調整を実施する第３ステップを前記コンピュータに実行させることを特徴とする半導体集積回路の設計プログラム。
【００４１】
以上、本発明について詳細に説明してきたが、前述の実施形態およびその変形例は発明の一例に過ぎず、本発明はこれらに限定されるものではない。本発明を逸脱しない範囲で変形可能であることは明らかである。
【図面の簡単な説明】
【００４２】
【図１】本発明を実現するためのシステム構成例を示す説明図である。
【図２】第１実施形態の半導体集積回路の設計方法を示すフローチャートである。
【図３】第１実施形態の回路ブロックの一例を示す説明図である。
【図４】第１実施形態のリセット調整回路の動作を示すタイミングチャートである。
【図５】第１実施形態の半導体集積回路の一例を示す説明図である。
【図６】第１実施形態におけるリセット信号の概要を示している。
【図７】本発明の比較例を示す説明図である。
【図８】本発明の比較例におけるリセット信号の概要を示す説明図である。
【図９】本発明の第２実施形態を示す説明図である。
【図１０】本発明の第３実施形態を示す説明図である。
【符号の説明】
【００４３】
Ａ１  ＡＮＤ回路
ＢＦＣ、ＢＦＲ  バッファ
ＢＬＫ、ＢＬＫａ、ＢＬＫｂ、ＢＬＫ１〜ＢＬＫ３  回路ブロック
Ｃ  クロック端子
ＣＨＩＰ  半導体集積回路チップ
ＣＫ  クロック信号
ＣＰ、ＣＰ１〜ＣＰ３  クロック入力端子
ＣＲＧ  クロック・リセット生成回路
Ｄ  データ入力端子
ＦＦ、ＦＦ１〜ＦＦ３  フリップフロップ
Ｑ  データ出力端子
Ｒ  リセット端子
ＲＡ、ＲＡａ、ＲＡｂ  リセット調整回路
ＲＰ、ＲＰ１〜ＲＰ３  リセット入力端子
／ＲＳＴ、／ＲＳＴ１、／ＲＳＴ２、／ＲＳＴＩ  リセット信号
【図１】
2006154996.tif 000003
【図２】
2006154996.tif 000004
【図３】
2006154996.tif 000005
【図４】
2006154996.tif 000006
【図５】
2006154996.tif 000007
【図６】
2006154996.tif 000008
【図７】
2006154996.tif 000009
【図８】
2006154996.tif 000010
【図９】
2006154996.tif 000011
【図１０】
2006154996.tif 000012