(57)【要約】【課題】作業の自由度が高く簡便にし、配線追加量を確定的且つ少量にできるスタンダードセル式ＬＳＩ設計におけるＥＣＯ技術を提供する。【解決手段】ＥＣＯによりセットアップエラーを改善する場合、ＥＣＯ作業者はＣＫＳＥＬ入力を「１’ｂ０」から「１’ｂ１」に書き替える。セレクタ１３４が動作し伝達経路が無遅延伝搬系１５１から遅延伝搬系１５０に切り替わってセットアップエラーが解消する。ホールドエラーを改善する場合、ＥＣＯ作業者はＤＳＥＬ入力を「１’ｂ０」から「１’ｂ１」に書き替える。セレクタ１２４が動作し伝達経路が無遅延伝搬系１４１から遅延伝搬系１４０に切り替わってホールドエラーが解消する。【選択図】    図１
2006157126.tif 000002
【特許請求の範囲】
【請求項１】
集積回路設計の際に選択配置する対象として用いられる論理回路であって、遅延指示を取り込む遅延指示入力端と、前記遅延指示に従って信号を遅延させる可変遅延回路とを内部に備えたことを特徴とする論理回路。
【請求項２】
前記可変遅延回路は、一定の遅延量を有する遅延回路と、この遅延回路をバイパスするバイパス回路と、前記遅延指示に従って遅延回路およびバイパス回路のうちのいずれかを選択する選択回路とを含むことを特徴とする請求項１記載の論理回路。
【請求項３】
前記可変遅延回路は、互いに遅延量の異なる複数の遅延回路と、これらの遅延回路をバイパスするバイパス回路と、前記遅延指示に従って複数の遅延回路およびバイパス回路のうちのいずれかを選択する選択回路とを含むことを特徴とする請求項１記載の論理回路。
【請求項４】
前記可変遅延回路は、論理回路ブロックのデータ入力段に付加されるものであることを特徴とする請求項１ないし３記載の論理回路。
【請求項５】
前記可変遅延回路は、クロック入力段に付加されるものであることを特徴とする請求項１ないし４記載の論理回路。
【請求項６】
論理回路を仮想的に構成して該論理回路の動作を検証する集積回路設計支援装置であって、前記論理回路に請求項１ないし５記載の論理回路を含むことを特徴とする集積回路設計支援装置。
【請求項７】
請求項１ないし５記載の論理回路を構成するために記述された回路情報を格納したことを特徴とする記録媒体。
【請求項８】
あらかじめ登録された複数の論理回路を適宜選択配置して構築される回路情報に対しタイミング検証を行い、該タイミング検証の結果に基づき前記回路情報を修正して伝搬遅延調整を行う集積回路設計における伝搬遅延調整方法であって、請求項１ないし５記載の論理回路を使用し、前記遅延指示を適宜設定することにより伝搬遅延調整を行うことを特徴とする半導体集積回路設計における伝搬遅延調整方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、あらかじめ登録された論理回路を適宜選択配置して回路情報を構築する集積回路の設計技術に関し、特に構築した回路情報に対しタイミング検証を行い、このタイミング検証の結果に基づき回路情報を修正して伝搬遅延調整作業を行うにあたって、同作業の難度を緩和する技術に関する。
【背景技術】
【０００２】
スタンダードセルによるセルベースＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）の設計では、レイアウト設計後に遅延に関するパラメータを抽出し、シミュレーションによるタイミング検証を行ってタイミングエラーをチェックする。発見されたタイミングエラーの修正は、伝搬遅延時間補償用のバッファ等を追加するなどしてタイミングを調整することにより行う。
【０００３】
上記の伝搬遅延時間補償用のバッファを構成するセルは通常、他のセルに接続しないダミーの状態で適宜離間して他のセル間に配置しておき、シミュレーション検証の結果、調整を要する信号経路について配線の修正処理を施し、伝搬遅延時間補償用のセルを挿入接続するように接続を変更することより伝搬遅延調整を行う。この伝搬遅延調整作業は、配線を追加した結果、その信号の経路の伝搬遅延量が変わるし、他の設計的事項の制約を考慮しながら行わなければならない難度の高い作業となる。しかも、配線設計の変更だけで対処しきれないときはレイアウト設計等、以前の段階に戻って設計変更を余儀なくされる。
【０００４】
このような背景にあって従来、伝搬遅延調整作業の難度を緩和するために、たとえば特許文献１に記載される技術が提供されている。同文献中の図面を参照してこの技術を説明すると、第１図に記載されるようにスタンダードセルとして入力段に遅延回路１２を組み込んだものを用意しておき、第３図に記載されるシミュレーションでタイミングエラーが出た場合、通常のスタンダードセルを遅延回路１２を内蔵したスタンダードセルに置き換える等の処理により伝搬遅延調整を行う。
【０００５】
また従来のこの種の技術として、特許文献２に記載されるものもある。同文献中の図面を参照してこの技術を説明すると、図１に記載されるように遅延補償回路１０を備えたセルをダミーとしてセル間にあらかじめ組み込んでおく手法をとる。この遅延補償回路１０は、図２に記載されるようにインバータを２段あるいは４段、６段有するＢＵＦ１〜ＢＵＦ３系列を備えたものとしている。補償する伝搬遅延量に対応してＢＵＦ１〜ＢＵＦ３を選択し、図４に記載されるように伝搬遅延補償を行うべき信号の伝送経路上に遅延補償回路１０を挿入接続することにより伝搬遅延調整を行う。
【特許文献１】特公平５−８９２号公報
【特許文献２】特開平１０−１５４７９３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
昨今、回路の微細化に伴ってセル遅延よりも配線遅延が顕著となる傾向にあって、伝搬遅延調整に要する労力が増大し、設計作業期間の短期化を阻害する要因となっている。しかしながら特許文献１に記載される技術では、遅延回路を組み込んだスタンダードセルと組み込んでいない通常のスタンダードセルとをあらかじめ用意しておき、必要により両者を置き換えることにより伝搬遅延調整を行う形態をとるため、遅延調整量は一定の範囲の値に限定されてしまい、その遅延調整量を追加するか否か択一する手法をとらざるを得ない。すなわち遅延調整量の選択自由度が低く、設定された遅延調整量を上回る調整が必要な場合は別途遅延手段を付加する煩瑣な作業が必要となる難点があった。
【０００７】
また、特許文献２に記載される技術では、フリップフロップ回路を構成する複数のセルの間に間隔を空けて遅延補償回路を構成するセルを埋め込んでおき、複数のフリップフロップ回路で１つの遅延補償回路を共有する形態をとるため、フリップフロップ回路を構成するセルと遅延補償回路を構成するセルとの配線長は不確定且つ長いものとならざるを得ず、しかも配置配線は必ず遅延補償回路を挿入接続する形をとるから往復の配線を追加することが必要となり、配線距離の数倍の配線追加量を必要とする問題があった。
【０００８】
かかる問題は、伝搬遅延時間調整用セルを接続するための配線追加スペースを確保する必要性が生じる不利益だけでなく、上記のようにセル遅延より配線遅延が顕著となる傾向にあって、伝搬遅延調整作業の難度を高める要因としてより深刻化なものとなる。すなわち追加配線が増大することによって、追加配線による配線遅延が新たに生じる不確定な遅延発生要素として無視できない規模となって、伝搬遅延調整作業を更に複雑化するからである。
【０００９】
この発明は、かかる事情に鑑み、論理回路を選択配置して構築した回路情報に対し伝搬遅延調整作業を行うにあたって、自由度が高く且つ簡便な作業により伝搬遅延調整を行うことができ、しかも配線追加量を確定的且つ少量とすることが可能な技術を提供することを課題とする。
【課題を解決するための手段】
【００１０】
上記の課題を解決するために請求項１記載の発明は、集積回路設計の際に選択配置する対象として用いられる論理回路であって、遅延指示を取り込む遅延指示入力端と、前記遅延指示に従って信号を遅延させる可変遅延回路とを内部に備えたことを特徴とする論理回路を提供する。
【００１１】
また請求項２記載の発明は、請求項１記載の論理回路において、前記可変遅延回路は、一定の遅延量を有する遅延回路と、この遅延回路をバイパスするバイパス回路と、前記遅延指示に従って遅延回路およびバイパス回路のうちのいずれかを選択する選択回路とを含むことを特徴とするものを提供する。
【００１２】
また請求項３記載の発明は、請求項１記載の論理回路において、前記可変遅延回路は、互いに遅延量の異なる複数の遅延回路と、これらの遅延回路をバイパスするバイパス回路と、前記遅延指示に従って複数の遅延回路およびバイパス回路のうちのいずれかを選択する選択回路とを含むことを特徴とするものを提供する。
【００１３】
また請求項４記載の発明は、請求項１ないし３記載の論理回路において、前記可変遅延回路は、論理回路ブロックのデータ入力段に付加されるものであることを特徴とするものを提供する。
【００１４】
また請求項５記載の発明は、請求項１ないし４記載の論理回路において、前記可変遅延回路は、クロック入力段に付加されるものであることを特徴とするものを提供する。
【００１５】
また請求項６記載の発明は、論理回路を仮想的に構成して該論理回路の動作を検証する集積回路設計支援装置であって、前記論理回路に請求項１ないし５記載の論理回路を含むことを特徴とする集積回路設計支援装置を提供する。
【００１６】
また請求項７記載の発明は、請求項１ないし５記載の論理回路を構成するために記述された回路情報を格納したことを特徴とする記録媒体を提供する。
【００１７】
また請求項８記載の発明は、あらかじめ登録された複数の論理回路を適宜選択配置して構築される回路情報に対しタイミング検証を行い、該タイミング検証の結果に基づき前記回路情報を修正して伝搬遅延調整を行う集積回路設計における伝搬遅延調整方法であって、請求項１ないし５記載の論理回路を使用し、前記遅延指示を適宜設定することにより伝搬遅延調整を行うことを特徴とする半導体集積回路設計における伝搬遅延調整方法を提供する。
【発明の効果】
【００１８】
この発明によれば、タイミング検証の結果に基づき前記回路情報を修正するにあたり、必要な遅延量に対応した遅延指示を遅延指示入力端に与えれば、可変遅延回路が遅延指示に対応する遅延量をとることにより所望の伝搬遅延を追加できるので、遅延指示を設定するだけの操作により伝搬遅延作業を行える利点がある。また対象とする伝搬系に対して配線を追加せずに済むので、追加配線による新たな伝搬遅延を考慮せずに調整作業を行える利点がある。
【００１９】
また、遅延指示に従って選択回路が動作し、一ないし複数の遅延回路とバイパス回路の中から所定の回路が選択される形態をとれば、複数の遅延量（遅延を行わない選択肢も含む）の中から必要な値を選択するだけの操作により自由度の高い伝搬遅延調整を実現できる利点がある。
【００２０】
また、可変遅延回路はデータ入力段に付加されてデータの伝搬遅延を調整する形態の他、クロック入力段に付加されてクロックの伝搬遅延を調整する形態をとることができ、クロックのゆらぎにも対処できる利点がある。
【００２１】
このように集積回路設計において時間を要する段階の１つである伝搬遅延調整作業の難度を大幅に緩和することが可能となり、設計期間を短縮化し設計コストを低廉化することができる利点がある。
【発明を実施するための最良の形態】
【００２２】
ここで図面を参照しつつ、この発明の第１の実施形態を説明する。
図１は、この発明の第１の実施形態に係るＤフリップフロップ回路を示すブロック図である。図１に示すように、Ｄフリップフロップ１は、Ｄ入力端やＣＫ入力端、Ｑ出力端、ＱＮ出力端の他に、ＤＳＥＬ入力端とＣＫＳＥＬ入力端を備えている。
【００２３】
Ｄフリップフロップ１の内部には、通常のＤフリップフロップ（以下、内部回路という。）１１０と遅延回路１２０，１３０とを備えている。遅延回路１２０は、Ｄフリップフロップ１のＤ入力端と内部回路１１０のＤ入力端との間に挿入接続される回路である。遅延回路１３０は、Ｄフリップフロップ１のＣＫ入力端と内部回路１１０のＣＫＳＥＬ入力端との間に挿入接続される回路である。
【００２４】
遅延回路１２０において、バッファ１２１〜１２３は３段に直列接続されて遅延伝搬系１４０を構成している。バッファ１２１の入力端は、Ｄフリップフロップ１のＤ入力端に接続されている。バッファ１２３の出力端は、セレクタ１２４の１側入力端に接続されている。Ｄフリップフロップ１のＤ入力端はセレクタ１２４の０側入力端にも接続されており、これによりバッファ１２１〜１２３をバイパスする無遅延伝搬系１４１を構成している。セレクタ１２４は、ＳＥＬ入力の値に従って０側入力端の信号あるいは１側入力端の信号を選択して出力端から出力するものである。セレクタ１２４のＳＥＬ入力端は、Ｄフリップフロップ１のＤＳＥＬ入力端に接続されている。
【００２５】
遅延回路１３０においても同様に、バッファ１３１〜１３３は直列接続されて遅延伝搬系１５０を構成している。バッファ１３１の入力端は、Ｄフリップフロップ１のＣＫ入力端に接続されている。バッファ１３３の出力端は、セレクタ１３４の１側入力端に接続されている。Ｄフリップフロップ１のＣＫ入力端はセレクタ１３４の０側入力端にも接続されており、これによりバッファ１３１〜１３３をバイパスする無遅延伝搬系１５１を構成している。セレクタ１３４は、ＳＥＬ入力の値に従って０側入力端の信号あるいは１側入力端の信号を選択して出力端から出力するものである。セレクタ１３４のＳＥＬ入力端は、Ｄフリップフロップ１のＣＫＳＥＬ入力端に接続されている。
【００２６】
通常時、ＤＳＥＬ入力端およびＣＫＳＥＬ入力端には「０」が入力されており、セレクタ１２４，１３４は０側入力端すなわち無遅延伝搬系１４１，１５１側を選択している。ＤＳＥＬ入力端あるいはＣＫＳＥＬ入力端に「１」が入力されると、セレクタ１２４，１３４は１側入力端すなわち遅延伝搬系側１４０，１５０を選択することになる。
【００２７】
図２は、内部回路（Ｄフリップフロップ）１１０の一具体例を示すブロック図である。内部回路１１０は、前記のように通常のＤフリップフロップ回路であり、図２に示すように伝達信号を帰還させて保持する伝達経路をゲートにより構成し、ＣＫＪ信号あるいはＣＫＪ信号を反転させたＣＫＮ信号により規定されるタイミングにより伝達信号を保持することでＤフリップフロップとして動作するものである。この回路は、既存の構成のもので良いから詳細な説明は省略する。
【００２８】
この発明の実施形態に係るＤフリップフロップは、ＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｒｇａｔｉｏｎ）等に実際に形成された形態を含むのは勿論であるが、ＬＳＩ設計段階において、ＨＤＬ（Ｈａｒｄｗａｒｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）等により記述されるスタンダードセル等の形で提供される形態も含む。またかかるスタンダードセルを用いて作成されたネットデータによりＬＳＩ設計支援ツール上でシミュレートした論理回路として実現される形態も含む。
【００２９】
図３は、図１のＤフリップフロップに係るセルの構成例を示すブロック図である。同図示すように第１の実施形態に係るＤフリップフロップをＨＤＬで記述するにあたって、Ｄフリップフロップ１（図１参照）をハードセルＤＦＦとして定義する。さらに図３に示すように、ＤＦＦを内部要素とするソフトマクロセルＤＦＦ＿ＷＲＡＰを定義する。このＤＦＦ＿ＷＲＡＰは、入力としてＤ入力およびＣＫ入力を定義し、ＤＳＥＬ，ＣＫＳＥＬは定義されていない。論理合成の段階までのライブラリではマクロ化されたＤＦＦ＿ＷＲＡＰのみが使用され、ＤＦＦはレイアウトの段階でソフトマクロライブラリに追加され、さらにＤＦＦ＿ＷＲＡＰとＤＦＦとの接続が追加されて用いられるものとする。したがって論理合成の段階までは、ＤＳＥＬやＣＫＳＥＬを考えることなく記述を行うことができる。
【００３０】
すなわち論理合成までのネットデータの例を挙げると、次のような記述となる。
ｍｏｄｕｌｅ  ＣＨＩＰ（．．．）；
．．．
ＤＦＦ＿ＷＲＡＰ  ＲＥＧ００（．Ｄ（Ｗ０００），．ＣＫ（ＳＹＳＣＫ），．Ｑ（ＷＱ０００），．ＱＮ（ＷＱＮ０００））；
ＤＦＦ＿ＷＲＡＰ  ＲＥＧ０１（．Ｄ（Ｗ００１），．ＣＫ（ＳＹＳＣＫ），．Ｑ（ＷＱ００１），．ＱＮ（ＷＱＮ００１））；
．．．
ｅｎｄｍｏｄｕｌｅ
【００３１】
そしてレイアウトの段階のネットデータの例を挙げると、次のような記述となる。
ｍｏｄｕｌｅ  ＤＦＦ＿ＷＲＡＰ（Ｄ，ＣＫ，Ｑ，ＱＮ）；
ｉｎｐｕｔ  Ｄ，ＣＫ；
ｏｕｔｐｕｔ  Ｑ，ＱＮ；
ＤＦＦ  ＤＦＦＣＯＲＥ（．Ｄ（Ｄ），．ＣＫ（ＣＫ），．Ｑ（Ｑ），．ＱＮ（ＱＮ），．ＤＳＥＬ（１’ｂ０），．ＣＫＳＥＬ（１’ｂ０）；
ｅｎｄｍｏｄｕｌｅ
ｍｏｄｕｌｅ  ＣＨＩＰ（．．．）；
．．．
ＤＦＦ＿ＷＲＡＰ  ＲＥＧ００（．Ｄ（Ｗ０００），．ＣＫ（ＳＹＳＣＫ），．Ｑ（ＷＱ０００），．ＱＮ（ＷＱＮ０００））；
ＤＦＦ＿ＷＲＡＰ  ＲＥＧ０１（．Ｄ（Ｗ００１），．ＣＫ（ＳＹＳＣＫ），．Ｑ（ＷＱ００１），．ＱＮ（ＷＱＮ００１））；
．．．
ｅｎｄｍｏｄｕｌｅ
【００３２】
レイアウト後のネットデータに対しタイミング検証を行った結果、セットアップエラーあるいはホールドエラーが検出されると、まずレイアウトツールによるエラー改善処理が実行される。もしこのエラー改善処理で改善できない場合は、ＥＣＯ（Ｅｎｇｉｎｅｅｒ  Ｃｈａｎｇｅ  Ｏｒｄｅｒ）による処理が行われる。
【００３３】
図４は、第１の実施形態に係るＤフリップフロップを用いた論理回路の例を示すブロック図であり、ＥＣＯによるセットアップエラー改善処理の様子を示す図である。同図に示すように、レジスタＲＥＧ００の後段に遅延が大きい組み合わせ回路４０が配置され、この組み合わせ回路４０の後段にレジスタＲＥＧ０１が配置されている構成において、レジスタＲＥＧ０１でセットアップエラーが発生し、このエラーをＥＣＯにより処理するケースを考える。レジスタＲＥＧ００，ＲＥＧ０１には、本実施形態に係るソフトマクロセルＤＦＦ＿ＷＲＡＰが用いられている。
【００３４】
この場合、ＥＣＯ作業者は、レジスタＲＥＧ０１のＣＫＳＥＬ入力端への入力を「１’ｂ０」から「１’ｂ１」に書き替える。これによりレジスタＲＥＧ０１のＤＦＦにおいて、ＣＫＳＥＬ入力が「０」から「１」に切り替わる。図１に示すようにＣＫＳＥＬ入力が「１」になるとセレクタ１３４が「１」側に切り替わり、ＣＫの伝達経路が無遅延伝搬系１５１からバッファ１３１〜１３３を介した遅延伝搬系１５０に切り替わる。それゆえＣＫが遅延伝搬系１５０の遅延時間ｔｄ（図５参照）だけ遅延してセットアップエラーが解消する。
【００３５】
図５は、図４の回路における要部の信号の波形を示すタイムチャートである。図５に示すように、レジスタＲＥＧ０１のＤ入力が遅延し、Ｄ入力の状態遷移開始時とＣＫの立ち上がり時との時間間隔ｔ１が不十分なためにセットアップエラーが発生している。ここで遅延回路の動作によりＣＫが遅延時間ｔｄだけ遅延すると、Ｄ入力の状態遷移開始時とＣＫの立ち上がり時との時間間隔に余裕が生じてセットアップエラーが解消される。
【００３６】
また図６は、第１の実施形態に係るＤフリップフロップを用いた論理回路の例を示すブロック図であり、ＥＣＯによるホールドエラー改善処理の様子を示す図である。同図に示すように、レジスタＲＥＧ００とレジスタＲＥＧ０１とがチェーン接続されている構成において、レジスタＲＥＧ０１のＣＫの遅延が大きいためにレジスタＲＥＧ０１でホールドエラーが発生し、このエラーをＥＣＯにより処理するケースを考える。図４と同様にレジスタＲＥＧ００，ＲＥＧ０１には、本実施形態に係るソフトマクロセルＤＦＦ＿ＷＲＡＰが用いられている。
【００３７】
この場合、ＥＣＯ作業者は、レジスタＲＥＧ０１のＤＳＥＬ入力端への入力を「１’ｂ０」から「１’ｂ１」に書き替える。これによりレジスタＲＥＧ０１のＤＦＦにおいて、ＤＳＥＬ入力が「０」から「１」に切り替わる。図１に示すようにＤＳＥＬ入力が「１」になるとセレクタ１２４が「１」側に切り替わり、Ｄの伝達経路が無遅延伝搬系１４１からバッファ１２１〜１２３を介した遅延伝搬系１４０に切り替わる。それゆえＤが遅延伝搬系１４０の遅延時間ｔｄ（図７参照）だけ遅延してホールドエラーが解消する。
【００３８】
図７は、図６の回路における要部の信号の波形を示すタイムチャートである。図７に示すように、レジスタＲＥＧ０１のＣＫ入力が遅延し、Ｄ入力の状態遷移開始時からｔ２時間後にＣＫが立ち上がっているためにホールドエラーが発生している。ここで遅延回路の動作によりＤが遅延時間ｔｄだけ遅延すると、ＣＫが立ち上がった後に余裕をもってＤ入力の状態遷移が開始するタイミングに修正されてホールドエラーが解消される。
【００３９】
次にこの発明の第２の実施形態に係るＤフリップフロップを説明する。
図８は、この発明の第２の実施形態に係る遅延回路を示すブロック図である。同図に示すように、遅延回路８において、バッファ８０１は第１の遅延伝搬系８１１を構成し、バッファ８０２〜８０４は３段に直列接続されて第２の遅延伝搬系８１２を構成し、バッファ８０５〜８０９は５段に直列接続されて第３の遅延伝搬系８１３を構成している。バッファ８０１，８０２，８０５の入力端は、Ｉ入力端に接続されている。バッファ８０１，８０４，８０９の出力端はそれぞれ、セレクタ８２０の１側入力端ないし３側入力端に接続されている。
【００４０】
またＩ入力端はセレクタ８２０の０側入力端にも接続されており、これにより第１ないし第３の遅延伝搬系をバイパスする無遅延伝搬系８１０を構成している。セレクタ８２０は、２ビットのＳＥＬ入力の値に従って０側入力端ないし１側入力端の信号を選択してＯ出力端から出力するものである。
【００４１】
通常時、ＳＥＬ入力端には「００」が入力されており、セレクタ８２０は０側入力端すなわち無遅延伝搬系側８１０を選択している。ＤＳＥＬ入力端あるいはＳＥＬ入力端に「０１」〜「１１」が入力されると、セレクタ８２０は１側入力端ないし３側入力端すなわち第１ないし第３の遅延伝搬系側８１１〜８１３を選択することになる。
【００４２】
この実施形態では、図１に示すＤフリップフロップにおいて、遅延回路１２０，１３０のいずれかあるいは両方を、図８に示す遅延回路に置き換えた構成とする。図９は、ＣＫ側の遅延回路を置き換えた形態を示すブロック図である。同図に示すようにＤＦＦにおいて、ＣＫＳＥＬは「２’ｂ００」といった記述により２ビットの信号として定義される。その他の構成は図３と同様である。
【００４３】
図１０は、第２の実施形態に係るＤフリップフロップの使用例を示すブロック図である。同図に示すように、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１０００の後段にレジスタＲＥＧ００が配置され、レジスタＲＥＧ００の後段には組み合わせ回路４０が配置され、組み合わせ回路４０の後段にレジスタＲＥＧ０１が配置される構成を考える。レジスタＲＥＧ００，ＲＥＧ０１には、本実施形態に係るソフトマクロセルＤＦＦ＿ＷＲＡＰが用いられている。
【００４４】
一般にＤＲＡＭの次段のレジスタのパスは、ＤＲＡＭが低速なことが多いため、高速な回路ではセットアップエラーが生じることがしばしばある。図１０の例でも、ＤＲＡＭ１０００の次段のレジスタＲＥＧ００においてセットアップエラーが発生し、これをＥＣＯによる処理で改善するものとする。
【００４５】
この場合、ＥＣＯ作業者は、レジスタＲＥＧ００のＣＫＳＥＬ入力端への入力をたとえば「２’ｂ００」から「２’ｂ１０」に書き替える。これによりレジスタＲＥＧ００のＤＦＦにおいて、ＣＫＳＥＬ入力が「００」から「１０」に切り替わる。図８に示すようにＣＫＳＥＬ入力が「１０」になるとセレクタが「２」側に切り替わり、ＣＫの伝達経路が無遅延伝搬系８１０から第２の遅延伝搬系８１２に切り替わり、バッファ３段分の遅延時間をもって遅延してセットアップエラーが解消する。
【００４６】
このとき、レジスタＲＥＧ００においてＣＫの遅延時間を単純に大きく設定してしまうと、次段のレジスタＲＥＧ０１へのパスもセットアップエラーを生じる危険性が高まる。そこでこの実施形態において、バッファ５段分の遅延時間を有する第３の遅延伝搬系８１３ではなく、バッファ３段分の遅延時間を有する第２の遅延伝搬系８１２を選択したように、レジスタＲＥＧ００において複数の遅延量の中から最も適した値を選択できるようにすれば、次段のレジスタＲＥＧ０１のセットアップに影響を与えない範囲でクロックを遅らせて、レジスタＲＥＧ００のセットアップエラーを解消する処理が可能となる。
【００４７】
以上説明したように、これらの発明の実施形態によれば、ライブラリセル内にデータラインの遅延やクロックラインの遅延を選択できる機能を持たせることで、配置配線をやり直さずにセットアップエラーやホールドエラーを改善することができる。セットアップエラーやホールドエラーを生じているレジスタを特定することは、タイミング解析ツールにより容易に行えるので、配置配線のやり直しを伴わずにＥＣＯを行えるようになったことで、短時間に全てのエラー改善を行えるようになった。
【００４８】
この発明の実施形態を詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。また、この発明の論理回路は、スタンダードセルの定義データあるいはこの定義データを含むネットデータとしてコンピュータ読み取り可能な記録媒体に格納されて提供される形態も含む。ここでいう「コンピュータ読み取り可能な記録媒体」とは、磁気ディスク記録装置や光磁気ディスク装置、ＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ）−ＲＯＭ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置を含む。
【００４９】
また、上記の定義データは、任意のネットワーク等を介して他のコンピュータシステムから提供される形態でも良い。この場合、「コンピュータ読み取り可能な記録媒体」には、ネットワーク上のホストやクライアントとなるコンピュータシステム内部の揮発性メモリのように、伝送媒体において一定時間プログラムを保持しているものも含む。
【図面の簡単な説明】
【００５０】
【図１】この発明の第１の実施形態に係るＤフリップフロップ回路を示すブロック図である。
【図２】内部回路の一具体例を示すブロック図である。
【図３】図１のＤフリップフロップに係るセルの構成例を示すブロック図である。
【図４】第１の実施形態に係るＤフリップフロップを用いた論理回路の例を示すブロック図であり、ＥＣＯによるセットアップエラー改善処理の様子を示す図である。
【図５】図４の回路における要部の信号の波形を示すタイムチャートである。
【図６】第１の実施形態に係るＤフリップフロップを用いた論理回路の例を示すブロック図であり、ＥＣＯによるホールドエラー改善処理の様子を示す図である。
【図７】図６の回路における要部の信号の波形を示すタイムチャートである。
【図８】この発明の第２の実施形態に係る遅延回路を示すブロック図である。
【図９】ＣＫ側の遅延回路を置き換えた形態を示すブロック図である。
【図１０】第２の実施形態に係るＤフリップフロップの使用例を示すブロック図である。
【符号の説明】
【００５１】
１…Ｄフリップフロップ  ４０…組み合わせ回路  １１０…内部回路  ８，１２０，１３０…遅延回路  １２１〜１２３，１３１〜１３３，８０１〜８０９…バッファ  １２４，１３４…セレクタ  １４０，１５０…遅延伝搬系  １４１，１５１…無遅延伝搬系  ８１１…第１の遅延伝搬系  ８１２…第２の遅延伝搬系  ８１３…第３の遅延伝搬系  ８２０…セレクタ  １０００…ＤＲＡＭ
【図１】
2006157126.tif 000003
【図２】
2006157126.tif 000004
【図３】
2006157126.tif 000005
【図４】
2006157126.tif 000006
【図５】
2006157126.tif 000007
【図６】
2006157126.tif 000008
【図７】
2006157126.tif 000009
【図８】
2006157126.tif 000010
【図９】
2006157126.tif 000011
【図１０】
2006157126.tif 000012