(57)【要約】【課題】効果的にタイミング対策できて長時間出力を保持できる出力遅延機能型フリップフロップ（Ｆ・Ｆ）回路を提供する。【解決手段】このＦ・Ｆ回路２０２は、データ信号とクロック信号とが入力されてクロック信号の立ち上がりでデータ信号の入力値を保持するデータ保持回路１０１の他、回路１０１の出力を入力してループし、クロック信号の立ち下がりで回路１０１からの入力値を保持する拡張データ保持回路１０２を備え、出力回路１０４が回路１０２の出力を入力してクロック信号の立ち下がりをトリガにして遅延された１系統のデータ出力信号を出力する機能を持つ。回路１０２がクロック信号の立ち上がりから立ち下がりまでの区間でデータ出力信号を保持して一定時間遅延させるため、半導体基板上での実装レイアウト時に周知のＦ・Ｆ回路相互間の出力側のものを対象に置き換えればタイミングに余裕を持たせられ、ホールド対策の工数や所要時間を低減できる。【選択図】図１
2017046315.tif 000002
【特許請求の範囲】
【請求項１】
データ信号とクロック信号とが入力されて当該クロック信号の立ち上がりに同期して当該データ信号の入力値を保持するデータ保持回路と、前記データ保持回路の出力を入力して前記クロック信号の立ち上がりをトリガにして１系統のデータ出力信号を出力する出力回路と、を備えたフリップフロップ回路において、
前記データ保持回路の出力を入力してループすると共に、前記クロック信号の立ち下がりに同期して当該データ保持回路からの入力値を保持するループ回路構成の拡張データ保持回路を備え、
前記出力回路は、前記拡張データ保持回路の出力を入力して前記クロック信号の立ち上がりに代わる立ち下がりをトリガにして遅延された前記１系統のデータ出力信号を出力することを特徴とする出力遅延機能型フリップフロップ回路。
【請求項２】
データ信号とクロック信号とが入力されて当該クロック信号の立ち上がりに同期して当該データ信号の入力値を保持するデータ保持回路と、前記データ保持回路の出力を入力して前記クロック信号の立ち上がりをトリガにして１系統のデータ出力信号を出力する出力回路と、を備えたフリップフロップ回路において、
前記データ保持回路の出力を入力してループすると共に、前記クロック信号の立ち下がりに同期して当該データ保持回路からの入力値を保持するループ回路構成の拡張データ保持回路を備え、
前記出力回路は、前記拡張データ保持回路の出力を入力して前記クロック信号の立ち上がりに代わる立ち下がりをトリガにして遅延された前記１系統のデータ出力信号を出力する第１の出力回路と、前記データ保持回路の出力を入力して前記クロック信号の立ち上がりをトリガにして別系統のデータ出力信号を出力するデータ出力ピンによる第２の出力回路と、を備えたことを特徴とする出力遅延機能型フリップフロップ回路。
【請求項３】
請求項１又は２記載の出力遅延機能型フリップフロップ回路において、
前記拡張データ保持回路は、前記クロック信号の立ち上がりから立ち下がりまでの区間で前記１系統のデータ出力信号を保持して一定時間遅延させることを特徴とする出力遅延機能型フリップフロップ回路。
【請求項４】
データ信号とクロック信号とが入力されて当該クロック信号の立ち上がりに同期して当該データ信号の入力値を保持するデータ保持回路と、前記データ保持回路の出力を入力して前記クロック信号の立ち上がりをトリガにして１系統のデータ出力信号を出力する出力回路と、を備えたフリップフロップ回路の複数個を十分なディレイがあってホールド対策の不要なホールド対策非対象区間に負荷を介在させて接続して半導体基板上に配置した上、セットアップ対策した後に当該フリップフロップ回路同士間におけるディレイのかからないホールド対策対象区間での当該ホールド対策を経て静的タイミング解析した結果に基づいて当該ホールド対策を繰り返す実装レイアウト方法において、
前記ホールド対策では、前記複数個のフリップフロップ回路同士間の前記ホールド対策対象区間での出力側に配置される当該フリップフロップ回路を請求項１記載の出力遅延機能型フリップフロップ回路及び請求項２記載の出力遅延機能型フリップフロップ回路のうちの少なくとも一方に置き換えることを特徴とする出力遅延機能型フリップフロップ回路を用いた実装レイアウト方法。
【請求項５】
請求項４記載の出力遅延機能型フリップフロップ回路を用いた実装レイアウト方法において、
前記負荷は、前記複数個のフリップフロップ回路における一対同士の相互間に直列に接続され、
前記ホールド対策では、前記複数個のフリップフロップ回路同士間で出力側に配置される当該フリップフロップ回路を前記請求項１記載の出力遅延機能型フリップフロップ回路に置き換えることを特徴とする出力遅延機能型フリップフロップ回路を用いた実装レイアウト方法。
【請求項６】
請求項４記載の出力遅延機能型フリップフロップ回路を用いた実装レイアウト方法において、
前記負荷は、前記複数個のフリップフロップ回路における一対間の前記ホールド対策対象区間に対して並列に接続され、
前記ホールド対策では、前記複数個のフリップフロップ回路同士間で出力側に配置される当該フリップフロップ回路を前記請求項２記載の出力遅延機能型フリップフロップ回路に置き換えることを特徴とする出力遅延機能型フリップフロップ回路を用いた実装レイアウト方法。
【請求項７】
請求項６記載の出力遅延機能型フリップフロップ回路を用いた実装レイアウト方法において、
前記請求項２記載の出力遅延機能型フリップフロップ回路における前記１系統のデータ出力信号を前記複数個のフリップフロップ回路同士間の入力側に伝送すると共に、前記別系統のデータ出力信号を前記負荷に伝送することを特徴とする出力遅延機能型フリップフロップ回路を用いた実装レイアウト方法。
【請求項８】
請求項４記載の出力遅延機能型フリップフロップ回路を用いた実装レイアウト方法において、
前記ホールド対策では、前記請求項１記載の出力遅延機能型フリップフロップ回路及び前記請求項２記載の出力遅延機能型フリップフロップ回路のうちの少なくとも一方の単体をセルとして置き換えることにより、新規セルの追加、前記半導体基板上での実装面積の増大、並びに前記半導体基板上での隣接配線・迂回配線の誘発を抑制することを特徴とする出力遅延機能型フリップフロップ回路を用いた実装レイアウト方法。
【請求項９】
請求項８記載の出力遅延機能型フリップフロップ回路を用いた実装レイアウト方法において、
前記セットアップ対策した後に前記複数個のフリップフロップ回路のうちのセットアップのタイミングに余裕のある当該フリップフロップ回路を前記請求項１記載の出力遅延機能型フリップフロップ回路に置き換える第１の置き換えステップと、
前記第１の置き換えステップ後にホールド違反として絞り込まれる回路相互間の該当箇所を前記請求項２記載の出力遅延機能型フリップフロップ回路に置き換えて配線の繋ぎ替えを行う第２の置き換えステップと、
前記第２の置き換えステップ後に残ったホールド違反となる回路相互間の該当箇所にバッファ回路を挿入して前記静的タイミング解析した結果が良好状態となるまで当該バッファ回路の挿入を繰り返すホールド対策仕上げステップと、を有することを特徴とする出力遅延機能型フリップフロップ回路を用いた実装レイアウト方法。
【請求項１０】
請求項９記載の出力遅延機能型フリップフロップ回路を用いた実装レイアウト方法において、
前記第１の置き換えステップ及び前記第２の置き換えステップでは、前記請求項１記載の出力遅延機能型フリップフロップ回路及び前記請求項２記載の出力遅延機能型フリップフロップ回路における前記拡張データ保持回路が前記ホールド対策後にタイミングのマージンが大きくなるために当該ホールド対策された箇所が前記静的タイミング解析した結果で違反判定されること、並びにその後の前記半導体基板上での近隣箇所のレイアウト変更で配線ディレイが変動して再び当該静的タイミング解析した結果で違反判定されることを抑制し、当該ホールド対策に係る工数及び所要時間を減らし得ることを特徴とする出力遅延機能型フリップフロップ回路を用いた実装レイアウト方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体基板上での実装レイアウト時のタイミング対策を図った出力遅延機能型フリップフロップ回路及びそれを用いた実装レイアウト方法に関する。
【背景技術】
【０００２】
近年、半導体デバイス分野では、半導体基板上での実装レイアウトに際して論理物量が増大する反面、実装レイアウト期間を短ＴＡＴ（ｔｕｒｎａｒｏｕｎｄ  ｔｉｍｅ：工程に着手してから終了するまでの所要時間)で収束できる要求がある。具体的には、対策物量、半導体基板への実装面積や配線混雑度等が増大する中で特にホールド対策に係る工数及びＴＡＴが問題となっている。
【０００３】
通常、ホールド対策にはディレイ（遅延）を付けて到達時間を遅らせるためにバッファ回路（補間回路）をデータネットに挿入するが、実装ツールで対策してＳＴＡ（ｓｔａｔｉｃ  ｔｉｍｉｎｇ  ａｎａｌｙｓｉｓ：論理回路のタイミングを検証する静的タイミング解析）ツールでの遅延計算した結果ではホールド対策が不足して違反判定されてしまうことがある。その結果、実装ツールとＳＴＡツールとの間でホールド対策を繰り返すことになり、実装レイアウトでの収束を遅らせてしまう。
【０００４】
特に大規模論理の実装レイアウト時にはホールド違反を起こす可能性の高いパスが多数存在し、何がしかの対策を行うことでタイミングが微妙に変化し、新たな違反を引き起こすことも少なくない。ホールド対策を過剰に行うと、ベスト条件で挿入したバッファ回路のディレイがワースト条件で増幅してセットアップ違反も誘発することがある。また、予め転送時間の短い箇所に論理で半サイクル転送を行うように設計する手法もあるが、複雑な論理の中で大規模に半サイクル転送の論理を作り込むのは困難を伴う。
【０００５】
こうした問題を解決するため、順序回路を短い周期のクロック信号で動作させ、クロック信号の配線をデータパスの遅延を考慮して自動的に設計する技術に係る「遅延機能付フリップフロップ回路、遅延機能付ラッチ回路、順序回路の設計方法、半導体集積回路におけるクロック信号配線の自動設計装置、及び、半導体集積回路におけるクロック信号配線」（特許文献１参照）が提案されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０００−８２０９０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上述した特許文献１に係る技術は、フリップフロップ回路内のクロックにディレイ用のバッファ回路を搭載して出力データを遅延させることを可能にしているが、ここではデータの出力に遅延を付けることはできるものの、バッファ回路によるディレイ機能を持たせるために遅延量が十分ではなく、新たにバッファ回路を挿入して対策を施す必要も起こり得る他、基本機能上でデータ出力を遅らせることができてもクロック信号が遅延してしまうためにデータ入力部におけるデータの取り込みも遅れてしまうことにより、効果的にタイミング対策できないという問題があり、結果として長時間出力を保持する機能を持たせられないという不具合がある。
【０００８】
本発明は、このような問題点を解決すべくなされたもので、その技術的課題の１つは、効果的にタイミング対策できて長時間出力を保持できる出力遅延機能型フリップフロップ回路を提供することにある。
【０００９】
本発明の技術的課題のもう１つは、ホールド対策に係る工数及びＴＡＴを極力減らすことができる出力遅延機能型フリップフロップ回路を用いた実装レイアウト方法を提供することにある。
【課題を解決するための手段】
【００１０】
上記技術的課題の１つを解決するため、本発明の出力遅延機能型フリップフロップ回路に係る基本構成の１つは、データ信号とクロック信号とが入力されて当該クロック信号の立ち上がりに同期して当該データ信号の入力値を保持するデータ保持回路と、データ保持回路からの出力を入力してクロック信号の立ち上がりをトリガにして１系統のデータ出力信号を出力する出力回路と、を備えたフリップフロップ回路において、データ保持回路の出力を入力してループすると共に、クロック信号の立ち下がりに同期して当該データ保持回路からの入力値を保持するループ回路構成の拡張データ保持回路を備え、出力回路は、拡張データ保持回路の出力を入力してクロック信号の立ち上がりに代わる立ち下がりをトリガにして遅延された１系統のデータ出力信号を出力することを特徴とする。
【００１１】
また、上記技術的課題の１つを解決するため、本発明の出力遅延機能型フリップフロップ回路に係る基本構成のもう１つは、データ信号とクロック信号とが入力されて当該クロック信号の立ち上がりに同期して当該データ信号の入力値を保持するデータ保持回路と、データ保持回路の出力を入力してクロック信号の立ち上がりをトリガにして１系統のデータ出力信号を出力する出力回路と、を備えたフリップフロップ回路において、データ保持回路の出力を入力してループすると共に、クロック信号の立ち下がりに同期して当該データ保持回路からの入力値を保持するループ回路構成の拡張データ保持回路を備え、出力回路は、拡張データ保持回路の出力を入力してクロック信号の立ち上がりに代わる立ち下がりをトリガにして遅延された１系統のデータ出力信号を出力する第１の出力回路と、データ保持回路の出力を入力してクロック信号の立ち上がりをトリガにして別系統のデータ出力信号を出力するデータ出力ピンによる第２の出力回路と、を備えたことを特徴とする。
【００１２】
更に、上記技術的課題のもう１つを解決するため、本発明の出力遅延機能型フリップフロップ回路を用いた実装レイアウト方法の基本概念は、データ信号とクロック信号とが入力されて当該クロック信号の立ち上がりに同期して当該データ信号の入力値を保持するデータ保持回路と、データ保持回路の出力を入力してクロック信号の立ち上がりをトリガにして１系統のデータ出力信号を出力する出力回路と、を備えたフリップフロップ回路の複数個を十分なディレイがあってホールド対策の不要なホールド対策非対象区間に負荷を介在させて接続して半導体基板上に配置した上、セットアップ対策した後に当該フリップフロップ回路同士間におけるディレイのかからないホールド対策対象区間での当該ホールド対策を経て静的タイミング解析した結果に基づいて当該ホールド対策を繰り返す実装レイアウト方法において、ホールド対策では、複数個のフリップフロップ回路同士間のホールド対策対象区間での出力側に配置される当該フリップフロップ回路を上記各出力遅延機能型フリップフロップ回路のうちの少なくとも一方に置き換えることを特徴とする。
【発明の効果】
【００１３】
本発明の出力遅延機能型フリップフロップ回路によれば、上記構成により、効果的にタイミング対策できて長時間出力を保持できるようになる。また、本発明の出力遅延機能型フリップフロップ回路を用いた実装レイアウト方法によれば、上記概念により、ホールド対策に係る工数及びＴＡＴを極力減らすことができるようになる。上記した以外の課題、構成及び効果は、以下の実施の形態の説明により明らかにされる。
【図面の簡単な説明】
【００１４】
【図１】本発明の出力遅延機能型フリップフロップ回路の構成を説明するための図であり、（ａ）は実施例１に係る出力遅延機能型フリップフロップ回路の基本構成の一例を示す図、（ｂ）は周知技術に係るフリップフロップ回路の基本構成を示す図である。
【図２】図１に示すフリップフロップ回路における信号処理を説明するための図であり、（ａ）は実施例１の出力遅延機能型フリップフロップ回路の信号処理波形を示すタイミングチャート、（ｂ）は周知技術のフリップフロップ回路の信号処理波形を示すタイミングチャートである。
【図３】本発明の実施例２に係る出力遅延機能型フリップフロップ回路の基本構成の他例を示す回路図である。
【図４】図３に示す出力遅延機能型フリップフロップ回路の信号処理波形を示すタイミングチャートである。
【図５】本発明の出力遅延機能型フリップフロップ回路を用いた実装レイアウト方法の一例を説明するための図であり、（ａ）は半導体基板上で図１（ｂ）に示した周知技術のフリップフロップ回路を用いた直列配置パターンにおけるホールド対策前の実装レイアウトの模式図、（ｂ）は（ａ）のホールド対策対象区間にバッファ回路を挿入してのホールド対策時の実装レイアウトの模式図、（ｃ）は（ａ）の直列配置パターンにおける所定箇所を図１（ａ）に示した実施例１に係る出力遅延機能型フリップフロップ回路で置き換えてのホールド対策時の実装レイアウトの模式図である。
【図６】本発明の出力遅延機能型フリップフロップ回路を用いた実装レイアウト方法の他例を説明するための図であり、（ａ）は半導体基板上で図１（ｂ）に示した周知技術のフリップフロップ回路を用いた並列配置パターンにおけるホールド対策前の実装レイアウトの模式図、（ｂ）は（ａ）の並列配置パターンにおける所定箇所を図３に示した実施例２に係る出力遅延機能型フリップフロップ回路で置き換えてのホールド対策時の実装レイアウトの模式図である。
【図７】本発明の出力遅延機能型フリップフロップ回路を用いた実装レイアウト方法の処理工程を説明するための図であり、（ａ）は周知技術のフリップフロップ回路を用いた場合に適用される実装レイアウト方法の処理工程を示すフローチャート、（ｂ）は実施例１、実施例２に係る出力遅延機能型フリップフロップ回路を用いた場合に適用される実装レイアウト方法の処理工程を示すフローチャートである。
【発明を実施するための形態】
【００１５】
以下に、本発明の出力遅延機能型フリップフロップ回路及びそれを用いた実装レイアウト方法について、幾つかの実施例を挙げ、図面を参照して詳細に説明する。
【実施例１】
【００１６】
図１は、本発明の出力遅延機能型フリップフロップ回路の構成を説明するための図であり、同図（ａ）は実施例１に係る出力遅延機能型フリップフロップ回路２０２の基本構成の一例を示す図、同図（ｂ）は周知技術に係るフリップフロップ回路２０１の基本構成（文献公知に係る発明でないが、一般的に適用されている構成）を示す図である。
【００１７】
最初に図１（ｂ）を参照すれば、周知技術に係るフリップフロップ回路２０１については、データ入力によるデータ信号とクロック入力によるクロック信号とが入力されてクロック信号の立ち上がりに同期してデータ信号の入力値を保持するデータ保持回路１０１と、データ保持回路１０１の出力を入力してクロック信号の立ち上がりをトリガにして１系統のデータ出力信号を出力する出力回路１０３と、を備えた所謂Ｄタイプ構成となっている。因みに、ここでのデータ保持回路１０１はクロックドインバータ及びトランスファーゲートを組み合わせて構成され、出力回路１０３はクロックドインバータを組み合わせて構成される。
【００１８】
次に図１（ａ）を参照すれば、これに対し、実施例１に係る出力遅延機能型フリップフロップ回路２０２（タイプＡ）については、同様な処理機能のデータ保持回路１０１を備える他、データ保持回路１０１の出力を入力してループすると共に、クロック信号の立ち下がりに同期してデータ保持回路１０１からの入力値を保持するループ回路構成の拡張データ保持回路１０２が備えられ、これによって出力回路１０４が拡張データ保持回路１０２の出力を入力してクロック信号の立ち上がりに代わる立ち下がりをトリガにして遅延された１系統のデータ出力信号を出力する同様なＤタイプ構成で出力遅延機能を持たせるようにした点が相違している。因みに、ここでの拡張データ保持回路１０２はクロックドインバータ及びトランスファーゲートを組み合わせて構成され、出力回路１０４はクロックドインバータにより構成される。
【００１９】
図２は、上述したフリップフロップ回路における信号処理を説明するための図であり、同図（ａ）は実施例１の出力遅延機能型フリップフロップ回路２０２の信号処理波形を示すタイミングチャート、同図（ｂ）は周知技術のフリップフロップ回路２０１の信号処理波形を示すタイミングチャートである。
【００２０】
まず図２（ｂ）を参照すれば、周知技術のフリップフロップ回路２０１における信号処理波形では、データ入力によるデータ信号の入力がクロック入力で入力されるクロック信号の矩形波の立ち上がりをトリガとして区間Δｔ１で行われると共に、１系統のデータ出力信号の出力を示すデータ出力もクロック信号の立ち上がりをトリガとして区間Δｔ２で行われるため、こうした場合にはデータ入力のタイミングウィンドウをデータ出力のディレイがカバーすることができないため、ホールド違反を起こさないようにディレイを付加することが必要になることを示している。
【００２１】
次に図２（ａ）を参照すれば、これに対し、実施例１の出力遅延機能型フリップフロップ回路２０２における信号処理波形では、データ入力によるデータ信号の入力がクロック入力で入力されたクロック信号の立ち上がりをトリガとして区間Δｔ３で行われると共に、ループ回路構成の拡張データ保持回路１０２の働きによって拡張データ保持回路１０２がデータ保持回路１０１の出力を入力してデータ保持回路１０１からの入力値を保持する際、クロック信号の立ち上がりから立ち下がりまでの区間Δｔ４で保持し、これによって出力回路１０４がクロック信号の立ち下がりをトリガとして一定時間遅延された１系統のデータ出力信号を出力することになるため、データ出力がデータ入力のタイミングウィンドウをカバーできるため、ホールド違反対策用にディレイを付加する必要がないことを示している。
【実施例２】
【００２２】
図３は、本発明の実施例２に係る出力遅延機能型フリップフロップ回路２０３の基本構成の他例を示す回路図である。
【００２３】
図３を参照すれば、実施例２に係る出力遅延機能型フリップフロップ回路２０３（タイプＢ）は、実施例１の出力遅延機能型フリップフロップ回路２０２の場合と同様な構成のデータ保持回路１０１、拡張データ保持回路１０２、及び出力回路（第１の出力回路）１０４を備える他、データ保持回路１０１の出力を入力してクロック信号の立ち上がりをトリガにして別系統のデータ出力信号を出力するデータ出力ピンによる出力回路（第２の出力回路）１０５が別個に備えられた別なＤタイプ構成となっており、タイプＡと同様に出力回路１０４での出力遅延機能が持たされている。因みに、ここでのデータ出力ピンによる出力回路１０５はクロックドインバータを組み合わせて構成される。
【００２４】
図４は、実施例２に係る出力遅延機能型フリップフロップ回路２０３の信号処理波形を示すタイミングチャートである。
【００２５】
図４を参照すれば、実施例２に係る出力遅延機能型フリップフロップ回路２０３における信号処理波形の場合、クロック信号の立ち下がりをトリガにして出力回路１０４から出力されるデータ出力Ａ（１系統のデータ出力信号）については、図２（ａ）を参照して説明したようにデータ信号がクロック信号の立ち上がりから立ち下がりまでの区間Δｔ４で保持されて一定時間遅延された形態となるため、データ出力Ａ（１系統のデータ出力信号）がデータ入力のタイミングウィンドウをカバーできることにより、ホールド違反対策用にディレイを付加する必要がないが、クロック信号の立ち上がりをトリガにしてデータ出力ピンによる出力回路１０５から出力されるデータ出力Ｂ（別系統のデータ出力信号）については、図２（ｂ）を参照して説明したようにデータ入力のタイミングウィンドウをデータ出力のディレイがカバーすることができないため、ホールド違反を起こさないようにディレイを付加することが必要になることを示している。このため、データ出力Ａ（１系統のデータ出力信号）についてはスキャンチェーンのようなホールド違反が起こり易い経路へ伝送するようにし、データ出力Ｂ（別系統のデータ出力信号）についてはデータのディレイの大きな経路へ伝送することが好ましいと云える。
【００２６】
上述した各実施例に係る出力遅延機能型フリップフロップ回路２０２、２０３は、何れの場合もクロック信号の立ち下がりをデータ出力のトリガとして一定時間遅延された１系統のデータ出力信号を出力する出力回路１０４を持ち、従来の実装レイアウト時のホールド対策でディレイ付加用にバッファ回路を挿入した手法に代え、周知技術のフリップフロップ回路を各実施例に係る出力遅延機能型フリップフロップ回路２０２、２０３に使い分けて置き換えるようにホールド対策を行えば、工数やＴＡＴを減らす上で有効になる。
【００２７】
即ち、各実施例に係る出力遅延機能型フリップフロップ回路２０２、２０３では、出力回路１０４からのデータ出力Ａ（１系統のデータ出力信号）がクロック信号の立ち下がりをトリガとして出力されるため、クロック信号に係る正：負のデューティ比を正：負＝１：１とすると、半サイクル分のディレイがベスト条件ワースト条件に拘わらずに保障され、タイミングに余裕のあるホールド対策を行うことができると共に、バッファ回路を挿入するホールド対策と比べて半導体基板上での面積や配線の増大による新たなタイミング違反が抑制されるため、実装レイアウト時のホールド対策に係る工数やＴＡＴを極力減らすことができる。
【００２８】
ところで、セットアップ対策では半サイクル転送となると厳しい転送になるため、出力遅延機能型フリップフロップ回路２０２、２０３の置き換えをセットアップ違反の起きる転送箇所には適用できないが、大規模論理のレイアウト中では段数合わせや、スキャンチェーン、モジュール間転送の設計制約等により距離が短くてもフリップフロップ回路を配置するホールド対策が必要な転送が多数存在する。セットアップ対策を行った後でタイミングに余裕のある区間、クロック信号に係る正：負のデューティ比が正：負＝１：１ならば半サイクルでディレイが収まり、正：負＝１：３ならば３／４サイクルでディレイが収まるホールド対策対象区間における出力（ソース）側のフリップフロップ回路を出力遅延機能型フリップフロップ回路２０２、２０３に置き換えることになる。
【００２９】
但し、タイミング制約の厳しい条件では、ホールド対策で加えたディレイがデバイスのワースト条件時に数倍に増えてセットアップが収束困難となる場合や、ホールド対策により挿入されるバッファ回路で半導体基板上での実装面積が増えて想定エリアでの実装や配線の収束が困難となることもあるが、出力遅延機能型フリップフロップ回路２０２、２０３に置き換えれば、より限られた面積やディレイの増分へと抑制することができる。例えばサイクルタイムが２ｎｓでクロック信号に係る正：負のデューティ比を正：負＝１：１とすれば、出力が１ｎｓの間保持され、その後に次段のフリップフロップ回路に１ｎｓで到達させられることになる。サイクルタイムはデバイスのベスト／ワースト条件に拘わらず一定なので、ホールドとセットアップとに要する時間は１ｎｓ：１ｎｓとなり、これはベスト／ワースト条件で変わらない状態となる。
【００３０】
一方、既知のバッファ回路の挿入によるホールド対策ではデバイスのベスト／ワースト条件でディレイが変動するので、ベスト条件で１ｎｓのディレイを付加するとワースト条件では３ｎｓ程度のディレイのかかることが予想され、ホールドとセットアップとに要する時間はベスト条件時に１ｎｓ：１ｎｓであるが、ワースト条件時は１ｎｓ：３ｎｓとなり、セットアップで−２ｎｓのタイミング違反が起きる。そこで、本発明の実装レイアウト方法では、従来のフリップフロップ回路にデータ遅延分の出力遅延機能型フリップフロップ回路２０２、２０３を追加するため、そのセルサイズが大きくなってしまうが、従来のフリップフロップ回路ではバッファ回路を挿入するホールド対策が不可欠であった分を相当に削減できるようになる他、ディレイ付加用のバッファ回路を挿入するよりも十分にタイミングに余裕を持たせられるため、出力遅延機能型フリップフロップ回路２０２、２０３に適宜置き換える方が実装レイアウトの収束に与える負荷が減少することになる。そこで、以下は本発明の出力遅延機能型フリップフロップ回路２０２、２０３を用いた実装レイアウト方法について、詳細に説明する。
【実施例３】
【００３１】
図５は、本発明の出力遅延機能型フリップフロップ回路を用いた実装レイアウト方法の一例を説明するための図であり、同図（ａ）は半導体基板上で図１（ｂ）に示した周知技術のフリップフロップ回路２０１を用いた直列配置パターンにおけるホールド対策前の実装レイアウトの模式図、同図（ｂ）は同図（ａ）のホールド対策対象区間にバッファ回路２０５を挿入してのホールド対策時の実装レイアウトの模式図、同図（ｃ）は同図（ａ）の直列配置パターンにおける所定箇所を図１（ａ）に示した実施例１に係る出力遅延機能型フリップフロップ回路２０２で置き換えてのホールド対策時の実装レイアウトの模式図である。
【００３２】
図５（ａ）を参照すれば、ホールド対策前の実装レイアウトでは、直列配置パターンとして、半導体基板上で周知技術のフリップフロップ回路２０１の複数個（ここでは総計４個）を用い、それらの一対同士の相互間であって、既にゲート論理やセットアップ対策でバッファ回路が挿入されて十分なディレイがあってホールド対策の不要なホールド対策非対象区間に負荷２０４を介在させるように各デバイスを直列に接続して配置した上、セットアップ対策した後にフリップフロップ回路２０１同士間におけるディレイのかからないホールド対策対象区間でのホールド対策を経て静的タイミング解析（ＳＴＡ）した結果に基づいてホールド対策を繰り返す実装レイアウト方法を適用する様子を示している。
【００３３】
図５（ｂ）を参照すれば、バッファ回路２０５を挿入してのホールド対策時の実装レイアウトでは、ホールド対策が必要なホールド対策対象区間にバッファ回路２０５を所定数直列に挿入してタイミング制約を満たすようにしている様子を示している。ところが、こうした場合、静的タイミング解析（ＳＴＡ）のタイミング検証でディレイ付加が不十分と判定されると、更にバッファ回路２０５を増設する際、例えば図５（ｂ）中の右側に配置されているフリップフロップ回路２０１同士間のホールド対策対象区間に示されるように、バッファ回路２０５を配置する領域が近隣に存在しなくて配置が飛んでしまって長距離配線となると、想定以上の配線ディレイが付いてセットアップ違反を起こす危惧があるばかりでなく、半導体基板上で面積と配線との混雑を引き起こし、新たなタイミング違反を誘発したり、或いは隣接する配線間でクロストークを起こして新たなホールド違反を誘発することがあり、結果として実装レイアウトの収束を遅らせる事態に陥り易い。
【００３４】
これに対し、図５（ｃ）を参すれば、実施例１に係る出力遅延機能型フリップフロップ回路２０２を用いたホールド対策時の実装レイアウトでは、図５（ａ）に示したフリップフロップ回路２０１同士間のホールド対策対象区間での出力側（ソース側）に配置されるフリップフロップ回路２０１をそれぞれ図１（ａ）に示した出力遅延機能型フリップフロップ回路２０２に置き換えた様子を示している。こうした場合、出力遅延機能型フリップフロップ回路２０２はループ回路構成の拡張データ保持回路１０２が付加された分、単体でのセル面積が増えることになるが、その増設分は低倍力のバッファ回路２個程度であり、信号配線も新たに増えることがない。静的タイミング解析（ＳＴＡ）の結果ではタイミングの余裕が十分となるためにディレイ付加不十分という判定が下されず、ホールド対策の工数も限られる。結果として、半導体基板上で面積と配線との混雑度に与える影響が少なく、タイミング的にも十分な余裕が持たされるため、実装レイアウトの収束が早まることになり、新規セルの追加、半導体基板上での実装面積の増大、並びに半導体基板上での隣接配線・迂回配線の誘発を抑制することができる。
【００３５】
図６は、本発明の出力遅延機能型フリップフロップ回路を用いた実装レイアウト方法の他例を説明するための図であり、同図（ａ）は半導体基板上で図１（ｂ）に示した周知技術のフリップフロップ回路２０１を用いた並列配置パターンにおけるホールド対策前の実装レイアウトの模式図、同図（ｂ）は同図（ａ）の並列配置パターンにおける所定箇所を図３に示した実施例２に係る出力遅延機能型フリップフロップ回路２０３で置き換えてのホールド対策時の実装レイアウトの模式図である。
【００３６】
図６（ａ）を参照すれば、ここでのホールド対策前の実装レイアウトでは、並列配置パターンとして、半導体基板上で周知技術のフリップフロップ回路２０１の複数個（ここでは総計３個）を用い、出力側（ソース側）となるフリップフロップ回路２０１から出力系が２分岐し、一方はホールド対策対象区間となるディレイがかからない入力側（シンク側）の他のフリップフロップ回路２０３に接続され、もう一方はホールド対策対象区間に対して並列接続される既にディレイの付いているホールド対策非対象区間となる負荷２０４を介在させた入力側（シンク側）の別のフリップフロップ回路２０１に接続されるように各デバイスを配置した上、セットアップ対策した後にフリップフロップ回路２０１同士間のホールド対策対象区間でのホールド対策を経て静的タイミング解析（ＳＴＡ）した結果に基づいてホールド対策を繰り返す実装レイアウト方法を適用する様子を示している。因みに、ここで図６（ａ）中の左側に位置される出力側（ソース側）となるフリップフロップ回路２０１を図１（ａ）に示した出力遅延機能型フリップフロップ回路２０２に置き換えると、負荷２０４を経由する転送がセットアップ違反を起こすため、出力遅延機能型フリップフロップ回路２０２には置き換えることができない。また、ここでのホールド対策対象区間に図５（ｂ）を参照して説明したようにバッファ回路２０５を所定数直列に挿入してタイミング制約を満たすようにしても、同様に実装レイアウトの収束を遅らせる事態に陥り易いという問題が回避され得ない。
【００３７】
これに対し、図６（ｂ）を参照すれば、実施例２に係る出力遅延機能型フリップフロップ回路２０３を用いたホールド対策時の実装レイアウトでは、図６（ａ）に示したフリップフロップ回路２０１同士間のホールド対策区間での出力側（ソース側）に配置されるフリップフロップ回路２０１を図３に示した出力遅延機能型フリップフロップ回路２０３に置き換え、出力遅延機能型フリップフロップ回路２０３における出力回路（第１の出力回路）１０４からのデータ出力Ａ（１系統のデータ出力信号）をホールド対策対象区間の転送先となる入力側（シンク側）に配置されるフリップフロップ回路２０１に伝送すると共に、データ出力ピンによる出力回路（第２の出力回路）１０５からのデータ出力Ｂ（別系統のデータ出力信号）をホールド対策非対象区間の転送先となる負荷２０４に伝送するようにした様子を示している。即ち、ここでの出力遅延機能型フリップフロップ回路２０３は、ディレイがかからずに入力側（シンク側）の他のフリップフロップ回路２０１に到達する経路と、既に大きなディレイが付加されている負荷２０４を経て入力側（シンク側）の別のフリップフロップ回路２０１に到達する経路とに出力分岐されている場合のホールド対策に適用された様子を示している。こうした場合も、図５（ｃ）を参照して説明した場合と同様に、出力遅延機能型フリップフロップ回路２０３はループ回路構成の拡張データ保持回路１０２やデータ出力ピンによる第２の出力回路１０５が付加された分、単体でのセル面積が増えることになるが、静的タイミング解析（ＳＴＡ）の結果ではタイミングの余裕が十分となるためにディレイ付加不十分という判定が下されず、ホールド対策の工数も限られる。結果として、半導体基板上で面積と配線との混雑度に与える影響が少なく、タイミング的にも十分な余裕が持たされるため、実装レイアウトの収束が早まることになり、新規セルの追加、半導体基板上での実装面積の増大、並びに半導体基板上での隣接配線・迂回配線の誘発を抑制することができる。
【００３８】
図７は、本発明の出力遅延機能型フリップフロップ回路を用いた実装レイアウト方法の処理工程を説明するための図であり、同図（ａ）は周知技術のフリップフロップ回路２０１を用いた場合に適用される実装レイアウト方法の処理工程を示すフローチャート、同図（ｂ）は実施例１、実施例２に係る出力遅延機能型フリップフロップ回路２０２、２０３を用いた場合に適用される実装レイアウト方法の処理工程を示すフローチャートである。
【００３９】
図７（ａ）を参照すれば、周知技術のフリップフロップ回路２０１を用いた場合に適用される実装レイアウト方法の処理工程は、例えば図５（ａ）を参照して説明した直列配置パターンや図６（ａ）を参照して説明した並列配置パターン、或いはそれらが組み合わされた直並列混合配置パターンを実装レイアウトする際に適用される。ここでは、特に配置パターンを問わないものとする。
【００４０】
具体的に云えば、最初に半導体基板上へ各フリップフロップ回路２０１を配置パターンに従って配置（ステップＳ１）してから電気的負荷を下げるためのセットアップ対策（ステップＳ２）を行う。次に、ホールド対策として各フリップフロップ回路２０１同士間のホールド対策対象区間に図５（ｂ）を参照して説明したようにバッファ回路２０５を挿入するバッファ挿入（ステップＳ３）の処理を実施してから静的タイミング解析（ＳＴＡ）の判定（ステップＳ４）を行う。この判定の結果、良好状態（ＯＫ）であれば処理工程を終了するが、不良状態（ＮＧ）であればバッファ挿入（ステップＳ３）の処理の前に戻ってホールド対策用にバッファ挿入（ステップＳ３）の処理を再度行ってから静的タイミング解析（ＳＴＡ）の判定（ステップＳ４）を行うようにし、判定結果が良好状態（ＯＫ）になるまでバッファ挿入（ステップＳ３）の処理を繰り返す。因みに、ここでのバッファ挿入（ステップＳ３）の処理でバッファ回路２０５を挿入して静的タイミング解析（ＳＴＡ）の判定結果が良好状態（ＯＫ）となるまでバッファ回路２０５の挿入を繰り返す処理の流れは、ホールド対策仕上げステップと呼ばれても良い。
【００４１】
図７（ａ）に示した処理工程によれば、セットアップ対策後のホールド対策対象区間にバッファ回路２０５を挿入して静的タイミング解析（ＳＴＡ）の判定結果が違反となった箇所に繰り返しバッファ回路２０５を挿入する流れになるため、挿入するバッファ回路２０５の総数が膨大となるばかりでなく、半導体基板上での配置・配線がホールド対策を行う都度に動き、ホールド対策が新たなタイミング違反を引き起こしてしまうことも少なくなく、結果として実装レイアウト時のホールド対策に係る工数及びＴＡＴが増大する要因となってしまう。
【００４２】
図７（ｂ）を参照すれば、これに対し、各実施例に係る出力遅延機能型フリップフロップ回路２０２、２０３を用いた場合に適用される実装レイアウト方法の処理工程についても、同様に図５（ａ）を参照して説明した直列配置パターンや図６（ａ）を参照して説明した並列配置パターン、或いはそれらが組み合わされた直並列混合配置パターンを実装レイアウトする際に適用される。ここでは、例えば図５（ａ）を参照して説明した直列配置パターンの各フリップフロップ回路２０１相互間のホールド対策対象区間における何れかから図６（ａ）を参照して説明した負荷２０４を介在してのホールド対策非対象区間が並列に引き出された直並列混合配置パターンを実装レイアウトするものとする。
【００４３】
具体的に云えば、最初は図７（ａ）に示した処理工程と同様に半導体基板上へ周知技術に係る各フリップフロップ回路２０１を配置パターンに従って配置（ステップＳ１）してから電気的負荷を下げるためのセットアップ対策（ステップＳ２）を行う。次に、ホールド対策の３つの工程における第１工程として、各フリップフロップ回路２０１のうちのセットアップのタイミングに余裕のあるフリップフロップ回路２０１をタイプＡの出力遅延機能型フリップフロップ回路２０２に置き換える第１の置き換えステップを実行することでタイプＡ置（ステップＳ３）の処理を行う。即ち、ここでのホールド対策の第１工程では、セットアップ対策後にクロック信号に係る正：負のデューティ比が正：負＝１：１ならば半サイクル以上のセットアップのタイミング余裕のあるフリップフロップ回路２０１（各フリップフロップ回路２０１同士間のホールド対策対象区間での出力側）を図５（ｃ）を参照して説明したように出力遅延機能型フリップフロップ回路２０２に置き換える。因みに、図６（ａ）を参照して説明した並列配置パターンを対象にする場合にはこの第１工程は不要となる。
【００４４】
更に、ホールド対策の３つの工程における第２工程として、第１の置き換えステップ後にホールド違反として絞り込まれる回路相互間の該当箇所をタイプＢの出力遅延機能型フリップフロップ回路２０３に置き換えて繋ぎ替えを行う第２の置き換えステップを実行することでタイプＢ置（ステップＳ４）の処理を行う。ここでも例えば回路相互間の該当箇所が各フリップフロップ回路２０１同士間でホールド対策対象区間を成す場合にはその出力側（ソース側）を対象とし、図６（ｂ）を参照して説明したように出力遅延機能型フリップフロップ回路２０３に置き換える。因みに、図５（ａ）を参照して説明した直列配置パターンを対象にする場合にはこの第２工程は不要となる。何れにせよ、上述したタイプＡ置（ステップＳ３）の処理やタイプＢ置（ステップＳ４）の処理では、出力遅延機能型フリップフロップ回路２０２、２０３の１つの単体をセルとして置き換えることにより、新規セルの追加、半導体基板上での実装面積の増大、並びに半導体基板上での隣接配線・迂回配線の誘発を抑制することができる。
【００４５】
この後、ホールド対策の３つの工程における第３工程として、第２の置き換えステップ後に残ったホールド違反となる回路相互間の該当箇所にバッファ回路２０５を挿入するバッファ挿入（ステップＳ５）の処理を実施してから静的タイミング解析（ＳＴＡ）の判定（ステップＳ６）を行う。この判定の結果、良好状態（ＯＫ）であれば処理工程を終了するが、不良状態（ＮＧ）であればバッファ挿入（ステップＳ５）の処理の前に戻ってホールド対策用にバッファ挿入（ステップＳ５）の処理を再度行ってから静的タイミング解析（ＳＴＡ）の判定（ステップＳ６）を行うようにし、判定結果が良好状態（ＯＫ）になるまでバッファ挿入（ステップＳ５）の処理を繰り返す。ここでのバッファ挿入（ステップＳ５）の処理を行った後の静的タイミング解析（ＳＴＡ）の判定結果が良好状態（ＯＫ）となるまでバッファ回路２０５の挿入を繰り返す処理の流れについても、上述したようにホールド対策仕上げステップと呼ばれて良いものである。このホールド対策の第３工程では、残ったホールド違反箇所をバッファ回路２０５の挿入等で実装レイアウトを収束させて行くことになるが、バッファ回路２０５の挿入は半導体基板上で配置が離れたり、或いは配線が迂回して想定外の配線ディレイやクロストークによる新たなタイミング違反を誘発する虞がある他、バッファ回路２０５の挿入によるタイミングのマージンは大きく持たせられない等の諸事情により、使用工数を抑制するためにホールド対策の最後の工程とする。
【００４６】
図７（ｂ）に示した処理工程によれば、図７（ａ）に示した処理工程と比べ、ホールド対策についての工程は増えることになるが、出力遅延機能型フリップフロップ回路２０２、２０３単体のセルの配置や配線の増減分が少なくなるために実装レイアウトの収束が早まり、しかも第１の置き換えステップ（ホールド対策の第１工程）や第２の置き換えステップ（ホールド対策の第２工程）で置き換える出力遅延機能型フリップフロップ回路２０２、２０３における拡張データ保持回路１０２での遅延時間（出力回路１０４から出力される１系統のデータ出力信号の遅延時間）がホールド対策後にタイミングのマージンが大きくなるためにホールド対策された箇所が静的タイミング解析（ＳＴＡ）した結果で違反判定されること、並びにその後の半導体基板上での近隣箇所のレイアウト変更で配線ディレイが変動して再び静的タイミング解析（ＳＴＡ）した結果で違反判定されることを顕著に抑制できるため、結果としてホールド対策に係る工数及びＴＡＴを極力減らすことができるようになる。
【産業上の利用可能性】
【００４７】
本発明の出力遅延機能型フリップフロップ回路は、それを使用する半導体集積回路等の他の様々なデバイスを含めた半導体基板上での実装レイアウトに適用することができる。
【符号の説明】
【００４８】
１０１  データ保持回路
１０２  拡張データ保持回路
１０３、１０４、１０５  出力回路
２０１  フリップフロップ回路
２０２、２０３  出力遅延機能型フリップフロップ回路
２０４  負荷
２０５  バッファ回路
【図１】
2017046315.tif 000003
【図２】
2017046315.tif 000004
【図３】
2017046315.tif 000005
【図４】
2017046315.tif 000006
【図５】
2017046315.tif 000007
【図６】
2017046315.tif 000008
【図７】
2017046315.tif 000009