(57)【要約】【課題】消費電力が極力増加しないように、個々のＦＦセルに係るデータとクロックとのタイミング調整が可能な半導体集積回路およびその設計方法を提供する。【解決手段】ＦＦセル（１０）に、遅延回路を構成する要素となる予備の容量素子（１２）を用意しておく。容量素子の消費電力は、一般的な遅延手段であるバッファの消費電力と比べると小さい。タイミング検証の結果、フリップフロップ（１１）にタイミングエラーが生じている場合には、容量素子（１２）で遅延回路を構成してフリップフロップ（１１）の入力側に接続し、タイミング調整を行う。【選択図】  図１
2004311806.tif 000002
【特許請求の範囲】
【請求項１】
フリップフロップおよび少なくとも一つの受動素子を有する複数のセルを備え、
前記複数のセルの少なくとも一つは、前記受動素子の少なくとも一つから構成された遅延回路を有するものであり、
前記遅延回路は、当該セルにおけるフリップフロップのデータ入力側およびクロック入力側のいずれかに接続されている
ことを特徴とする半導体集積回路。
【請求項２】
請求項１に記載の半導体集積回路において、
前記受動素子は、容量素子を含むものであり、
前記複数のセルが有する前記容量素子のうち、前記遅延回路を構成するもの以外は、当該半導体集積回路の電源ノードと接地ノードとの間に接続されている
ことを特徴とする半導体集積回路。
【請求項３】
請求項１に記載の半導体集積回路において、
前記複数のセルは、それぞれ、前記受動素子を複数個有するものであり、
前記遅延回路は、当該セルが有する複数の受動素子の少なくとも一つから構成されるものである
ことを特徴とする半導体集積回路。
【請求項４】
請求項３に記載の半導体集積回路において、
前記受動素子は、抵抗素子および容量素子を含むものである
ことを特徴とする半導体集積回路。
【請求項５】
フリップフロップを有するセルを複数備えた半導体集積回路を設計する方法であって、
前記複数のセルは、それぞれ、予備の受動素子を有するものであり、
前記複数のセルのうちタイミングエラーが生じているフリップフロップを有するセルにおいて、当該セルが有する予備の受動素子から遅延回路を構成する遅延回路構成ステップと、
前記遅延回路構成ステップによって構成された遅延回路を、当該フリップフロップのデータ入力側およびクロック入力側のいずれかに接続する遅延回路接続ステップとを備えた
ことを特徴とする半導体集積回路の設計方法。
【請求項６】
請求項５に記載の半導体集積回路の設計方法において、
前記予備の受動素子は、容量素子を含むものであり、
前記容量素子は、当該半導体集積回路の電源ノードと接地ノードとの間に接続されている
ことを特徴とする半導体集積回路の設計方法。
【請求項７】
請求項５に記載の半導体集積回路の設計方法において、
前記複数のセルは、それぞれ、前記予備の受動素子を複数個有するものであり、
前記遅延回路構成ステップは、前記複数の予備の受動素子の少なくとも一つを選択し、この選択した受動素子から、前記遅延回路を構成するものである
ことを特徴とする半導体集積回路の設計方法。
【請求項８】
請求項７に記載の半導体集積回路の設計方法において、
前記予備の受動素子は、抵抗素子および容量素子を含むものである
ことを特徴とする半導体集積回路の設計方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、半導体集積回路およびその設計方法に関し、特に、フリップフロップで構成された同期回路に好適なタイミング調整の技術に属する。
【０００２】
【従来の技術】
近年、ＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ）の設計方法は、回路の大規模化に伴い、ゲート回路設計を直接行う手法から、ハードウェア記述言語（ＨＤＬ：Ｈａｒｄｗａｒｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）を用いて回路動作を抽象的に記述し、それを論理合成してゲート回路化する手法へと移行している。このような論理合成によって作成されるゲート回路は、主としてフリップフロップで構成された同期回路となるのが特徴である。
【０００３】
論理合成された同期回路を正常に動作させるためには、フリップフロップに与えられるデータとクロックとのタイミング調整を行う必要がある。従来は、フリップフロップを含むセル（以下、「ＦＦセル」と称する）にダミーバッファを用意しておき、タイミング調整が必要となった場合にそのダミーバッファをフリップフロップに接続するといった方法で、タイミング調整を行っている（たとえば、特許文献１参照）。
【０００４】
図５は、タイミング調整を可能にした従来のＦＦセルの構成を示す。ＦＦセル１００は、フリップフロップ１０１と、ダミーバッファ１０２とを備え、データ入力端子１０３およびクロック入力端子１０４にそれぞれデータＤおよびクロックＣＫを入力し、データ出力端子１０５からデータＱを出力する。なお、同図（Ａ）は、タイミング調整を行う前またはタイミング調整を行う必要がない場合の回路接続状態を示し、（Ｂ）は、タイミング調整を行った後の回路接続状態を示す。
【０００５】
ダミーバッファ１０２は、タイミング調整を行う前またはタイミング調整が不要な場合には非接続状態である（図５（Ａ）参照）。一方、タイミング調整が必要な場合には、ダミーバッファ１０２は、配線修正され、データ入力端子１０３とフリップフロップ１０２のデータ入力Ｄ´との間に接続される（図５（Ｂ）参照）。これにより、データ入力端子１０３に与えられたデータＤのフリップフロップ１０２への到達を遅延させ、データＤとクロックＣＫとのタイミング調整が実現される。
【０００６】
タイミング調整の実際について、図６のタイミングチャートを参照しながら説明する。
【０００７】
一般に、フリップフロップの正常動作を保証するためは、時刻ｔ０におけるクロックＣＫの立ち上がり（フリップフロップがクロックＣＫの立ち下がりに同期して動作する場合には、クロックＣＫの立ち下がり）を中心に、時刻ｔ０前のセットアップ・マージンＴｓｅｔｕｐおよび時刻ｔ０後のホールド・マージンＴｈｏｌｄの期間に、データＤの変化点が重ならないようにする必要がある。しかし、ここで、データＤは、ホールド・マージンＴｈｏｌｄ期間内である時刻ｔ１に変化している。すなわち、フリップフロップはホールド・マージン不足のタイミングエラーを起こしている。この場合、図５（Ｂ）に示したように、データ入力端子１０３とフリップフロップ１０２のデータ入力Ｄ´との間にダミーバッファ１０２を接続することによって、データ入力Ｄ´へのデータＤの到達を遅らせることでき（変化点が時刻ｔ２に移動）、ホールド・マージンを満足することができる。
【０００８】
これとは逆に、クロックＣＫに対してデータＤの到達が早すぎてセットアップ・マージンが足りない場合には、フリップフロップのクロック入力ＣＫ´とクロック入力端子１０４との間にダミーバッファ１０２を接続することによって、クロックＣＫの到達を遅らせ、セットアップ・マージンを満足することができる。
【０００９】
以上説明したように、ＦＦセル内部にダミーバッファ１０２を用意することによって、他のＦＦセルのタイミング動作に影響を与えることなく、個々のＦＦセルのタイミング調整を行うことができる。
【００１０】
【特許文献１】
特開２００１―３３２６２６号公報
【００１１】
【発明が解決しようとする課題】
しかし、上記の従来の技術は、タイミング調整にバッファ（ダミーバッファ１０２）を用いるため、消費電力が増加するという問題を有している。ＦＦセルの個数がわずかであれば、バッファ挿入に係る消費電力の増加は無視し得るが、大規模な回路になると、回路全体としての消費電力はかなり大きなものとなる。
【００１２】
上記の問題に鑑み、本発明は、消費電力が極力増加しないように、個々のＦＦセルに係るデータとクロックとのタイミング調整が可能な半導体集積回路およびその設計方法を提供することを課題とする。
【００１３】
【課題を解決するための手段】
上記の課題を解決するために、本発明が講じた手段は、半導体集積回路として、フリップフロップおよび少なくとも一つの受動素子を有する複数のセルを備えたものとし、前記複数のセルの少なくとも一つは、前記受動素子の少なくとも一つから構成された遅延回路を有するものであり、前記遅延回路は、当該セルにおけるフリップフロップのデータ入力側およびクロック入力側のいずれかに接続されているとする。
【００１４】
これによると、フリップフロップを有するセル（ＦＦセル）において、当該ＦＦセルにおける受動素子の少なくとも一つから構成された遅延回路が、データとクロックとのタイミング調整に用いられる。したがって、能動素子からなるバッファを接続してタイミング調整を行う場合に比べて、タイミング調整に係る消費電力の増加を大幅に抑制することができる。
【００１５】
好ましくは、上記の半導体集積回路において、前記受動素子は、容量素子を含むものであり、前記複数のセルが有する前記容量素子のうち、前記遅延回路を構成するもの以外は、当該半導体集積回路の電源ノードと接地ノードとの間に接続されているものとする。
【００１６】
これによると、ＦＦセルにおける受動素子である容量素子のうち遅延回路として使用されないものは、半導体集積回路の電源ノードと接地ノードとの間に接続され、バイパスコンデンサとして機能させることができる。したがって、タイミング調整に係る消費電力の増加を抑制すると同時に、ノイズ対策をも講じることができる。
【００１７】
また、好ましくは、上記の半導体集積回路において、前記複数のセルは、それぞれ、前記受動素子を複数個有するものであり、前記遅延回路は、当該セルが有する複数の受動素子の少なくとも一つから構成されるものであるとする。
【００１８】
そして、具体的には、前記受動素子は、抵抗素子および容量素子を含むものとする。
【００１９】
一方、上記の課題を解決するために、本発明が講じた手段は、フリップフロップを有するセルを複数備えた半導体集積回路を設計する方法として、前記複数のセルは、それぞれ、予備の受動素子を有するものとし、前記複数のセルのうちタイミングエラーが生じているフリップフロップを有するセルにおいて、当該セルが有する予備の受動素子から遅延回路を構成する遅延回路構成ステップと、前記遅延回路構成ステップによって構成された遅延回路を、当該フリップフロップのデータ入力側およびクロック入力側のいずれかに接続する遅延回路接続ステップとを備えたものとする。
【００２０】
これによると、タイミングエラーが生じているフリップフロップを有するセル（ＦＦセル）について、当該ＦＦセルにおける予備の受動素子から遅延回路が構成され、この遅延回路は当該ＦＦセルにおけるフリップフロップに接続され、データとクロックとのタイミング調整が行われる。受動素子から構成される遅延回路は、能動素子からなるバッファに比べて、その消費する電力は極めて小さい。したがって、タイミング調整に係る消費電力の増加を大幅に抑制することができる。
【００２１】
好ましくは、上記の半導体集積回路の設計方法において、前記予備の受動素子は、容量素子を含むものであり、前記容量素子は、当該半導体集積回路の電源ノードと接地ノードとの間に接続されているものとする。
【００２２】
これによると、ＦＦセルにおける受動素子である容量素子のうち遅延回路として使用されないものについては、半導体集積回路の電源ノードと接地ノードとの間に接続されたままの状態で残り、バイパスコンデンサとして機能する。したがって、タイミング調整に係る消費電力の増加を抑制すると同時に、ノイズ対策をも講じることができる。
【００２３】
また、好ましくは、上記の半導体集積回路の設計方法において、前記複数のセルは、それぞれ、前記予備の受動素子を複数個有するものであり、前記遅延回路構成ステップは、前記複数の予備の受動素子の少なくとも一つを選択し、この選択した受動素子から、前記遅延回路を構成するものであるとする。
【００２４】
そして、具体的には、前記予備の受動素子は、抵抗素子および容量素子を含むものであるとする。
【００２５】
【発明の実施の形態】
以下、本発明の実施の形態について、図面を参照しながら説明する。
【００２６】
（第１の実施形態）
図１は、本発明の第１の実施形態に係る半導体集積回路のＦＦセルの構成を示す。本実施形態に係るＦＦセル１０は、フリップフロップ１１と、（予備の）容量素子１２とを備え、データ入力端子１３およびクロック入力端子１４にそれぞれデータＤおよびクロックＣＫを入力し、データ出力端子１５からデータＱを出力する。なお、同図（Ａ）は、タイミング調整を行う前またはタイミング調整を行う必要がない場合の回路接続状態を示し、（Ｂ）は、タイミング調整を行った後の回路接続状態を示す。
【００２７】
本実施形態に係るＦＦセル１０では、タイミング調整が必要な場合には、容量素子１２を内部配線でフリップフロップ１１に接続する。具体的には、ホールド・マージン不足の場合には、データ入力端子１３とフリップフロップ１１のデータ入力Ｄ´との間に、容量素子１２を接続する。同様に、セットアップ・マージン不足の場合には、クロック入力端子１４とフリップフロップ１１のクロック入力ＣＫ´との間に、容量素子１２を接続する。なお、図１（Ｂ）は、ホールド・マージン不足に対してタイミング調整を行った後の回路接続状態を示している。
【００２８】
フリップフロップ１１に接続された容量素子１２は遅延回路として機能する。すなわち、容量素子１２は、データ入力端子１３に与えられるデータＤあるいはクロック入力端子１４に与えられるクロックＣＫのフリップフロップ１１への到達を遅らせる。これにより、データＤとクロックＣＫとのタイミング調整を行うことができる。しかも、挿入された容量素子１２の消費電力は、能動素子から構成されるバッファよりも極めて少ない。したがって、タイミング調整に係る消費電力が大幅に増加することがない。
【００２９】
また、タイミング調整が不要の場合には、図１（Ａ）に示したように、容量素子１２はフリップフロップ１１に接続されずに、半導体集積回路の電源ノードと接地ノードとの間に接続された状態にある。すなわち、遅延回路として使用されない容量素子１２は、ノイズ対策用のバイパスコンデンサとして機能する。
【００３０】
次に、本発明に係る半導体集積回路の設計方法について、図２のフローチャートを参照しながら説明する。
【００３１】
まず、フリップフロップを含むゲート回路を作成し（ステップＳ１１）、回路のレイアウト配置および配線を行なう（ステップＳ１２）。その後、遅延情報を抽出してから（ステップＳ１３）、タイミング検証および全フリップフロップについてデータ伝達のタイミングエラー（セットアップ・マージン不足およびホールド・マージン不足）の有無のチェックを行う（ステップＳ１４）。そして、タイミングエラーの有無を判断し（ステップＳ１５）、エラーが生じていなければＬＳＩ設計は終了する。一方、エラーが生じていれば、エラー箇所について、再度のレイアウト配置および配線の修正を行う（ステップＳ１６）。
【００３２】
ステップＳ１６では、まず、タイミングエラーが生じているフリップフロップを有するＦＦセルにおいて、予備の容量素子から遅延回路を構成する。本実施形態の場合、電源ノードから切り離すことによって、容量素子１２を遅延回路として用いることができる。そして、構成した遅延回路を、タイミングエラーの種類、すなわち、セットアップ・マージン不足またはホールド・マージン不足に応じて、フリップフロップのデータ入力側およびクロック入力側のいずれかに接続する。
【００３３】
ステップＳ１６におけるレイアウト再配置および配線の修正が完了すると、再びステップＳ１３にて遅延情報が抽出される。そして、上記のフィードバック処理をタイミングエラーがなくなるまで繰り返す。この結果、多くの場合、図１（Ａ）の接続状態のＦＦセルと同図（Ｂ）の接続状態のＦＦセルとが混在した半導体集積回路が設計される。
【００３４】
以上、本実施形態によると、ＦＦセルを複数備えた半導体集積回路において、容量素子を遅延回路として用いることによって、消費電力の増加を極力抑えつつ、個々のＦＦセルに係るデータとクロックとのタイミング調整を行うことができる。また、遅延回路として使用されない容量素子は、バイパスコンデンサとして機能するため、半導体集積回路の電源ノイズを低減することができる。
【００３５】
なお、半導体集積回路のノイズ対策を特に意図しない場合には、遅延回路として使用されない容量素子を、必ずしも電源ノードと接地ノードとの間に接続する必要はなく、たとえば、一方の端子をオープン状態にしておいてもよい。
【００３６】
（第２の実施形態）
図３は、本発明の第２の実施形態に係る半導体集積回路のＦＦセルの構成を示す。本実施形態に係るＦＦセル２０は、フリップフロップ１１と、２個の（予備の）容量素子１２とを備え、データ入力端子１３およびクロック入力端子１４にそれぞれデータＤおよびクロックＣＫを入力し、データ出力端子１５からデータＱを出力する。なお、同図は、タイミング調整を行う前またはタイミング調整を行う必要がない場合の回路接続状態を示す。
【００３７】
本実施形態に係るＦＦセル２０では、タイミング調整が必要な場合に、タイミングエラーの状況、たとえば、クロックＣＫの立ち上がりとデータＤの変化点との位相差などに応じて、遅延回路の構成に用いる容量素子１２の個数を１個または２個に選択することができる。これにより、第１の実施形態よりも、タイミングエラーに対する対策のバリエーションが増え、タイミング調整の微調整を行うことができる。
【００３８】
なお、本実施形態では、ＦＦセルが備える容量素子１２を２個としたが、これをさらに増やすことによって、タイミングエラーに対する対策のバリエーションをより豊富にすることができる。
【００３９】
（第３の実施形態）
図４は、本発明の第３の実施形態に係る半導体集積回路のＦＦセルの構成を示す。本実施形態に係るＦＦセル３０は、フリップフロップ１１と、２個の（予備の）容量素子１２と、２個の（予備の）抵抗素子１６とを備え、データ入力端子１３およびクロック入力端子１４にそれぞれデータＤおよびクロックＣＫを入力し、データ出力端子１５からデータＱを出力する。なお、同図は、タイミング調整を行う前またはタイミング調整を行う必要がない場合の回路接続状態を示す。
【００４０】
本実施形態に係るＦＦセル３０では、タイミング調整が必要な場合に、タイミングエラーの状況、たとえば、クロックＣＫの立ち上がりとデータＤの変化点との位相差などに応じて、２個の容量素子１２および２個の抵抗素子１６をさまざまに組み合わせて遅延回路を構成することができる。これにより、第２の実施形態よりも、タイミングエラーに対する対策のバリエーションがさらに増え、より細かなタイミング調整の微調整を行うことができる。
【００４１】
なお、容量素子１２および抵抗素子１６の個数をさらに増やすことによって、タイミングエラーに対する対策のバリエーションがより増加することは言うまでもない。
【００４２】
また、上記の各実施形態を説明する際に参照した各図面には、フリップフロップ１１がＤフリップフロップとして表されているが、本発明はこれに限定されるものではない。ＴフリップフロップやＪＫフリップフロップなどのほかのフリップフロップについても、本発明によって上記と同様の効果を得ることができる。
【００４３】
【発明の効果】
以上説明したように、本発明によると、ＦＦセルを複数備えた半導体集積回路について、消費電力の増加を極力抑えながら、個々のＦＦセルに係るデータとクロックとのタイミング調整を行うことができる。また、これとともに、半導体集積回路のノイズ対策も講じることができる。そして、本発明が奏する効果は、特に、半導体集積回路が大規模になるほどより顕著となる。
【図面の簡単な説明】
【図１】本発明の第１の実施形態に係る半導体集積回路のＦＦセルの構成図である。
【図２】本発明に係る半導体集積回路の設計方法を示すフローチャートである。
【図３】本発明の第２の実施形態に係る半導体集積回路のＦＦセルの構成図である。
【図４】本発明の第３の実施形態に係る半導体集積回路のＦＦセルの構成図である。
【図５】タイミング調整を可能にした従来のＦＦ路セルの構成図である。
【図６】タイミング調整を説明するためのタイミングチャートである。
【符号の説明】
１０，２０，３０  ＦＦセル
１１  フリップフロップ
１２  容量素子
１６  抵抗素子
Ｄ  データ
ＣＫ  クロック
【図１】
2004311806.tif 000003
【図２】
2004311806.tif 000004
【図３】
2004311806.tif 000005
【図４】
2004311806.tif 000006
【図５】
2004311806.tif 000007
【図６】
2004311806.tif 000008