(57)【特許請求の範囲】
【請求項１】
ハードマクロを含む半導体チップ上集積回路を設計する集積回路設計方法において、
該ハードマクロは、データ入力端及びクロック入力端を備え、該データ入力端が、直接又は組合せ回路を介して内部同期型フリップフロップのデータ入力端に接続されており、該ハードマクロの設計段階において、
該クロック入力端に供給される信号のアクティブエッジ時点と、該時点に対応した、該ハードマクロの該データ入力端に供給される信号のエッジ時点との時間間隔の規定を、コンピュータが取得する第１工程と、
該コンピュータが、該クロック入力端に供給される信号及び該データ入力端に供給される信号が該規定を満たす条件の下で該内部同期型フリップフロップでタイミングエラーが生じないように、該ハードマクロの該データ入力端と該内部同期型フリップフロップの該データ入力端との間にディレイセルを接続する第２工程と、
を有することを特徴とする集積回路設計方法。
【請求項２】
ハードマクロを含む半導体チップ上集積回路を設計する集積回路設計方法において、
該ハードマクロは、データ入力端及びクロック入力端を備え、該データ入力端が、直接又は組合せ回路を介して内部同期型フリップフロップのデータ入力端に接続されており、該ハードマクロの設計段階において、
該クロック入力端に供給される信号のアクティブエッジ時点と、該時点に対応した、該ハードマクロの該データ入力端に供給される信号のエッジ時点との時間間隔の規定を、コンピュータが取得する第１工程と、
該コンピュータが、該クロック入力端に供給される信号及び該データ入力端に供給される信号が該規定を満たす条件の下で該内部同期型フリップフロップでタイミングエラーが生じないように、該ハードマクロの該クロック入力端にディレイセルを接続する第２工程と、
を有することを特徴とするハードマクロ作成方法。
【請求項３】
上記第１工程において、上記時間間隔は、上記ハードマクロの外部に同期型フリップフロップを配置し該外部同期型フリップフロップのデータ出力端を直接該ハードマクロの該データ入力端に接続し該外部同期型フリップフロップ及び該ハードマクロのクロック入力端へ共通にクロックを供給したときに、上記タイミングエラーが生じないように規定されたものである、
ことを特徴とする請求項１又は２記載の集積回路設計方法。
【請求項４】
ハードマクロを含む半導体チップ上集積回路を設計する集積回路設計方法において、
該ハードマクロは、データ出力端及びクロック入力端を備え、該データ出力端が、直接又は組合せ回路を介して内部同期型フリップフロップのデータ出力端に接続されており、該ハードマクロの設計段階において、
該クロック入力端に供給される信号のアクティブエッジ時点と、該時点に対応した、該ハードマクロの該データ出力端での信号のエッジ時点との時間間隔の規定を、コンピュータが取得する第１工程と、
該コンピュータが、該クロック入力端に供給される信号及び該データ出力端から出力される信号が該規定を満たすように、該ハードマクロの該データ出力端と該内部同期型フリップフロップの該データ出力端との間にディレイセルを接続する第２工程と、
を有することを特徴とする集積回路設計方法。
【請求項５】
上記第１工程において、上記時間間隔は、上記ハードマクロの外部に同期型フリップフロップを配置し該外部同期型フリップフロップのデータ入力端を直接該ハードマクロの該データ出力端に接続し該外部同期型フリップフロップ及び該ハードマクロのクロック入力端へ共通にクロックを供給したときに、該外部同期型フリップフロップでタイミングエラーが生じないように規定したものである、
ことを特徴とする請求項４記載の集積回路設計方法。
【請求項６】
上記第２工程において、上記コンピュータが、上記ディレイセルとして遅延バッファゲートを有するものを用いることを特徴とする請求項１乃至５のいずれか１つに記載の集積回路設計方法。
【請求項７】
上記第２工程において、上記コンピュータが、上記ディレイセルとして配線を用い、且つ、該配線の長さにより該ディレイセルの遅延時間を定めることを特徴とする請求項１乃至５のいずれか１つに記載の集積回路設計方法。
【請求項８】
上記第２工程において、上記コンピュータが、上記ディレイセルとして遅延バッファゲート及びこれに接続された配線を用い、且つ、該配線の長さにより該ディレイセルの遅延時間を微調整することを特徴とする請求項１乃至５のいずれか１つに記載の集積回路設計方法。
【請求項９】
ハードマクロを含む半導体チップ上集積回路を設計する集積回路設計方法において、
該ハードマクロは、データ入力端、データ出力端及びクロック入力端を備え、該データ入力端が、直接又は第１組合せ回路を介して内部第１同期型フリップフロップのデータ入力端に接続され、該データ出力端が、直接又は第２組合せ回路を介して内部第２同期型フリップフロップのデータ出力端に接続されており、該ハードマクロの設計段階において、
該クロック入力端に供給される信号のアクティブエッジ時点と、該時点に対応した、該ハードマクロの該データ入力端に供給される信号のエッジ時点との第１時間間隔と、該ハードマクロの該クロック入力端に供給される信号のアクティブエッジ時点と、該時点に対応した、該ハードマクロの該データ出力端での信号のエッジ時点との第２時間間隔との規定を、コンピュータが取得する第１工程と、
該コンピュータが、該クロック入力端に供給される信号及び該データ入力端に供給される信号が該規定を満たす条件の下で該内部第１同期型フリップフロップでタイミングエラーが生じないように、該ハードマクロの該データ入力端と該内部同期型フリップフロップの該データ入力端との間に第１ディレイセルを接続し、該クロック入力端に供給される信号及び該データ出力端から出力される信号が該規定を満たすように、該内部第２同期型フリップフロップの該データ出力端と該ハードマクロの該データ出力端との間に第２ディレイセルを接続する第２工程と、
を有することを特徴とする集積回路設計方法。
【請求項１０】
ハードマクロを含む半導体チップ上集積回路を設計する集積回路設計方法において、
該ハードマクロは、データ入力端、データ出力端及びクロック入力端を備え、該データ入力端が、直接又は第１組合せ回路を介して内部第１同期型フリップフロップのデータ入力端に接続され、該データ出力端が、直接又は第２組合せ回路を介して内部第２同期型フリップフロップのデータ出力端に接続されており、該ハードマクロの設計段階において、
該クロック入力端に供給される信号のアクティブエッジ時点と、該時点に対応した、該ハードマクロの該データ入力端に供給される信号のエッジ時点との第１時間間隔と、該ハードマクロの該クロック入力端に供給される信号のアクティブエッジ時点と、該時点に対応した、該ハードマクロの該データ出力端での信号のエッジ時点との第２時間間隔との規定を、コンピュータが取得する第１工程と、
該コンピュータが、該クロック入力端に供給される信号及び該データ入力端に供給される信号が該規定を満たす条件の下で該内部第１同期型フリップフロップでタイミングエラーが生じないように、該ハードマクロの該クロック入力端と該内部第１同期型フリップフロップのクロック入力端との間に第１ディレイセルを接続し、且つ、該クロック入力端に供給される信号及び該データ出力端から出力される信号が該規定を満たすように、該内部第２同期型フリップフロップの該データ出力端と該ハードマクロの該データ出力端との間に第２ディレイセルを接続する第２工程と、
を有することを特徴とする集積回路設計方法。
【請求項１１】
上記第１工程において、上記第１時間間隔は、上記ハードマクロの外部に第１及び第２同期型フリップフロップを配置し該外部第１同期型フリップフロップのデータ出力端を直接該ハードマクロの該データ入力端に接続し該外部第２同期型フリップフロップのデータ入力端を直接該ハードマクロの該データ出力端に接続し該外部第１及び第２同期型フリップフロップ並びに該ハードマクロのクロック入力端へ共通にクロックを供給したときに、上記タイミングエラーが生じないように定められたものであり、上記第２時間間隔は、該第２同期型フリップフロップにおいてタイミングエラーが生じないように定められたものである、
ことを特徴とする請求項９又は１０記載の集積回路設計方法。
【請求項１２】
上記第２工程において、上記コンピュータが、上記第１及び第２ディレイセルとして遅延バッファゲートを有するものを用いることを特徴とする請求項９乃至１１のいずれか１つに記載の集積回路設計方法。
【請求項１３】
上記第２工程において、上記コンピュータが、上記第１及び第２ディレイセルとして配線を用い、且つ、該配線の長さにより該ディレイセルの遅延時間を定めることを特徴とする請求項９乃至１１のいずれか１つに記載の集積回路設計方法。
【請求項１４】
上記第２工程において、上記コンピュータが、上記第１及び第２ディレイセルとして遅延バッファゲート及びこれに接続された配線を用い、且つ、該配線の長さにより該ディレイセルの遅延時間を微調整することを特徴とする請求項９乃至１１のいずれか１つに記載の集積回路設計方法。
【発明の詳細な説明】
【０００１】
本発明は、ハードマクロを含む半導体チップ上集積回路を設計する集積回路設計方法に関する。
【０００２】
【従来の技術】
ハードマクロは、所望の機能を有し最適設計が行われ固定されたマスクパターンを備えた回路モジュールであり、記憶装置内のセルライブラリに登録され、半導体チップ設計段階でそのまま部品として使用される。ユーザは、ハードマクロをセルライブラリ中の他のセルと同様に取り扱うことができ、ハードマクロを半導体チップ設計で採用することにより、半導体チップの論理設計、論理検証、回路合成及びレイアウト設計を簡略化することが可能となり、設計工数を大幅に削減することが期待できる。
【０００３】
図７は、従来のハードマクロ１０の具体例を示す概略回路図である。
【０００４】
ハードマクロ１０のデータ入力端ＤＩはＤフリップフロップ１１のデータ入力端Ｄに接続され、ハードマクロ１０のクロック入力端ＣＫはバッファゲート１２を介してＤフリップフロップ１１のクロック入力端ＣＫに接続されている。ハードマクロ１０のデータ出力端ＤＯはＤフリップフロップ１３のデータ出力端Ｑに接続され、Ｄフリップフロップ１３のクロック入力端ＣＫはハードマクロ１０のクロック入力端ＣＫに接続されている。Ｄフリップフロップ１１と１３との間には、ハードマクロ１０が所望の機能を果たすための回路１４が接続されてる。回路１４は、クロックＣＬＫに同期し又は同期せずに動作する。
【０００５】
図８は、このハードマクロ１０を用いて半導体チップＣＰ０上に設計された回路の一部を示す図である。
【０００６】
ハードマクロ１０の内部では既にタイミング調整が行われている。しかし、ハードマクロ１０を作成する段階ではハードマクロ１０にどのような回路が接続されるか不明ある。そこで、半導体チップ設計においてハードマクロ１０を採用した場合には、ハードマクロ１０とその外部回路との間でタイミング調整を行う必要がある。
【０００７】
図８では、このタイミング調整のために、Ｄフリップフロップ２０のデータ出力端Ｑとハードマクロ１０のデータ入力端ＤＩとの間にディレイセル２１が接続され、ハードマクロ１０のデータ出力端ＤＯとＤフリップフロップ２２のデータ入力端Ｄとの間にディレイセル２３が接続されている。ハードマクロ１０、Ｄフリップフロップ２０及び２２のクロック入力端ＣＫには、クロックＣＬＫが共通に供給されている。
【０００８】
【発明が解決しようとする課題】
従来のハードマクロ１０は、外部ＡＣ特性につき明確な規定を設けて設計されていなかったので、このようなハードマクロ１０を用いて設計すると、チップレイアウト設計後のタイミングマージンチェックにおいて、ハードマクロ１０の入出力付近でタイミングエラーが発生する可能性が高かった。このため、レイアウト設計後にディレイセルの挿入や再レイアウトを行ってこのタイミングエラーを無くする作業が発生し、設計時間が長くなる原因となっていた。
【０００９】
本発明の目的は、このような問題点に鑑み、ハードマクロを含む半導体チップ上集積回路を設計する集積回路設計方法において、ハードマクロの入出力付近でタイミングエラーが発生するのを防止してレイアウト設計後にタイミングエラーを無くする作業を低減することが可能な集積回路設計方法を提供することにある。
【００１０】
本発明の第１態様では、ハードマクロを含む半導体チップ上集積回路を設計する集積回路設計方法において、
該ハードマクロは、データ入力端及びクロック入力端を備え、該データ入力端が、直接又は組合せ回路を介して内部同期型フリップフロップのデータ入力端に接続されており、該ハードマクロの設計段階において、
該クロック入力端に供給される信号のアクティブエッジ時点と、該時点に対応した、該ハードマクロの該データ入力端に供給される信号のエッジ時点との時間間隔の規定を、コンピュータが取得する第１工程と、
該コンピュータが、該クロック入力端に供給される信号及び該データ入力端に供給される信号が該規定を満たす条件の下で該内部同期型フリップフロップでタイミングエラーが生じないように、該ハードマクロの該データ入力端と該内部同期型フリップフロップの該データ入力端との間にディレイセルを接続する第２工程と、
を有する。
【００１１】
この方法によれば、ハードマクロの入力付近でタイミングエラーが発生するのを防止してレイアウト設計後にタイミングエラーを無くする作業を低減することができる。
【００１２】
本発明の第２態様では、ハードマクロを含む半導体チップ上集積回路を設計する集積回路設計方法において、
該ハードマクロは、データ入力端及びクロック入力端を備え、該データ入力端が、直接又は組合せ回路を介して内部同期型フリップフロップのデータ入力端に接続されており、該ハードマクロの設計段階において、
該クロック入力端に供給される信号のアクティブエッジ時点と、該時点に対応した、該ハードマクロの該データ入力端に供給される信号のエッジ時点との時間間隔の規定を、コンピュータが取得する第１工程と、
該コンピュータが、該クロック入力端に供給される信号及び該データ入力端に供給される信号が該規定を満たす条件の下で該内部同期型フリップフロップでタイミングエラーが生じないように、該ハードマクロの該クロック入力端にディレイセルを接続する第２工程と、
を有する。
【００１３】
この方法によれば、ハードマクロの入力付近でタイミングエラーが発生するのを防止してレイアウト設計後にタイミングエラーを無くする作業を低減することができる。
【００１４】
本発明の第３態様の集積回路設計方法では、第１又は第２態様の上記第１工程において、上記時間間隔は、上記ハードマクロの外部に同期型フリップフロップを配置し該外部同期型フリップフロップのデータ出力端を直接該ハードマクロの該データ入力端に接続し該外部同期型フリップフロップ及び該ハードマクロのクロック入力端へ共通にクロックを供給したときに、上記タイミングエラーが生じないように規定されたものである。
【００１５】
この方法によれば、ハードマクロのデータ入力端と外部回路との間にディレイセルを挿入する必要がなくなり、設計が簡略化されるというハードマクロ使用の利点がより一層高められ、設計期間をより短縮することが可能となる。
【００１６】
本発明の第４態様では、ハードマクロを含む半導体チップ上集積回路を設計する集積回路設計方法において、
該ハードマクロは、データ出力端及びクロック入力端を備え、該データ出力端が、直接又は組合せ回路を介して内部同期型フリップフロップのデータ出力端に接続されており、該ハードマクロの設計段階において、
該クロック入力端に供給される信号のアクティブエッジ時点と、該時点に対応した、該ハードマクロの該データ出力端での信号のエッジ時点との時間間隔の規定を、コンピュータが取得する第１工程と、
該コンピュータが、該クロック入力端に供給される信号及び該データ出力端から出力される信号が該規定を満たすように、該ハードマクロの該データ出力端と該内部同期型フリップフロップの該データ出力端との間にディレイセルを接続する第２工程と、
を有する。
【００１７】
この方法によれば、ハードマクロの出力付近でタイミングエラーが発生するのを防止してレイアウト設計後にタイミングエラーを無くする作業を低減することができる。
【００１８】
本発明の第５態様の集積回路設計方法では、第４態様の上記第１工程において、上記時間間隔は、上記ハードマクロの外部に同期型フリップフロップを配置し該外部同期型フリップフロップのデータ入力端を直接該ハードマクロの該データ出力端に接続し該外部同期型フリップフロップ及び該ハードマクロのクロック入力端へ共通にクロックを供給したときに、該外部同期型フリップフロップでタイミングエラーが生じないように規定したものである。
【００１９】
この方法によれば、ハードマクロのデータ出力端と外部回路との間にディレイセルを挿入する必要がなくなり、設計が簡略化されるというハードマクロ使用の利点がより一層高められ、設計期間をより短縮することが可能となる。
【００２０】
本発明の第６態様の集積回路設計方法では、第１乃至第５態様のいずれか１つにおいて、上記コンピュータが、上記ディレイセルとして遅延バッファゲートを有するものを用いる。
【００２１】
本発明の第７態様の集積回路設計方法では、第１乃至第５態様のいずれか１つにおいて、上記コンピュータが、上記ディレイセルとして配線を用い、且つ、該配線の長さにより該ディレイセルの遅延時間を定める。
【００２２】
この方法によれば、配線長を調整することにより、タイミングマージンが大きくなるようにディレイセルの遅延時間を微調整することが可能となる。
【００２３】
本発明の第８態様の集積回路設計方法では、第１乃至第５態様のいずれか１つにおいて、上記コンピュータが、上記ディレイセルとして遅延バッファゲート及びこれに接続された配線を用い、且つ、該配線の長さにより該ディレイセルの遅延時間を微調整する。
【００２４】
この方法によれば、比較的短い配線の長さを調整することにより、タイミングマージンが大きくなるようにディレイセルの遅延時間を微調整することが可能となる。
【００２５】
本発明の第９態様では、ハードマクロを含む半導体チップ上集積回路を設計する集積回路設計方法において、
該ハードマクロは、データ入力端、データ出力端及びクロック入力端を備え、該データ入力端が、直接又は第１組合せ回路を介して内部第１同期型フリップフロップのデータ入力端に接続され、該データ出力端が、直接又は第２組合せ回路を介して内部第２同期型フリップフロップのデータ出力端に接続されており、該ハードマクロの設計段階において、
該クロック入力端に供給される信号のアクティブエッジ時点と、該時点に対応した、該ハードマクロの該データ入力端に供給される信号のエッジ時点との第１時間間隔と、該ハードマクロの該クロック入力端に供給される信号のアクティブエッジ時点と、該時点に対応した、該ハードマクロの該データ出力端での信号のエッジ時点との第２時間間隔との規定を、コンピュータが取得する第１工程と、
該コンピュータが、該クロック入力端に供給される信号及び該データ入力端に供給される信号が該規定を満たす条件の下で該内部第１同期型フリップフロップでタイミングエラーが生じないように、該ハードマクロの該データ入力端と該内部同期型フリップフロップの該データ入力端との間に第１ディレイセルを接続し、該クロック入力端に供給される信号及び該データ出力端から出力される信号が該規定を満たすように、該内部第２同期型フリップフロップの該データ出力端と該ハードマクロの該データ出力端との間に第２ディレイセルを接続する第２工程と、
を有する。
【００２６】
この方法によれば、ハードマクロの入出力付近でタイミングエラーが発生するのを防止してレイアウト設計後にタイミングエラーを無くする作業を低減することができる。
【００２７】
本発明の第１０態様では、ハードマクロを含む半導体チップ上集積回路を設計する集積回路設計方法において、
該ハードマクロは、データ入力端、データ出力端及びクロック入力端を備え、該データ入力端が、直接又は第１組合せ回路を介して内部第１同期型フリップフロップのデータ入力端に接続され、該データ出力端が、直接又は第２組合せ回路を介して内部第２同期型フリップフロップのデータ出力端に接続されており、該ハードマクロの設計段階において、
該クロック入力端に供給される信号のアクティブエッジ時点と、該時点に対応した、該ハードマクロの該データ入力端に供給される信号のエッジ時点との第１時間間隔と、該ハードマクロの該クロック入力端に供給される信号のアクティブエッジ時点と、該時点に対応した、該ハードマクロの該データ出力端での信号のエッジ時点との第２時間間隔との規定を、コンピュータが取得する第１工程と、
該コンピュータが、該クロック入力端に供給される信号及び該データ入力端に供給される信号が該規定を満たす条件の下で該内部第１同期型フリップフロップでタイミングエラーが生じないように、該ハードマクロの該クロック入力端と該内部第１同期型フリップフロップのクロック入力端との間に第１ディレイセルを接続し、且つ、該クロック入力端に供給される信号及び該データ出力端から出力される信号が該規定を満たすように、該内部第２同期型フリップフロップの該データ出力端と該ハードマクロの該データ出力端との間に第２ディレイセルを接続する第２工程と、
を有する。
【００２８】
この方法によれば、ハードマクロの入出力付近でタイミングエラーが発生するのを防止してレイアウト設計後にタイミングエラーを無くする作業を低減することができる。
【００２９】
本発明の第１１態様の集積回路設計方法では、第９又は第１０態様の上記第１工程において、上記第１時間間隔は、上記ハードマクロの外部に第１及び第２同期型フリップフロップを配置し該外部第１同期型フリップフロップのデータ出力端を直接該ハードマクロの該データ入力端に接続し該外部第２同期型フリップフロップのデータ入力端を直接該ハードマクロの該データ出力端に接続し該外部第１及び第２同期型フリップフロップ並びに該ハードマクロのクロック入力端へ共通にクロックを供給したときに、上記タイミングエラーが生じないように定められたものであり、上記第２時間間隔は、該第２同期型フリップフロップにおいてタイミングエラーが生じないように定められたものである。
【００３０】
この方法によれば、ハードマクロのデータ入出力端と外部回路との間にディレイセルを挿入する必要がなくなり、設計が簡略化されるというハードマクロ使用の利点がより一層高められ、設計期間をより短縮することが可能となる。
【００３１】
本発明の第１２態様の集積回路設計方法では、第９乃至第１１態様のいずれか１つにおいて、上記コンピュータが、上記第１及び第２ディレイセルとして遅延バッファゲートを有するものを用いる。
【００３２】
本発明の第１３態様の集積回路設計方法では、第９乃至第１１態様のいずれか１つにおいて、上記コンピュータが、上記第１及び第２ディレイセルとして配線を用い、且つ、該配線の長さにより該ディレイセルの遅延時間を定める。
【００３３】
本発明の第１４態様の集積回路設計方法では、第９乃至第１１態様のいずれか１つにおいて、上記コンピュータが、上記第１及び第２ディレイセルとして遅延バッファゲート及びこれに接続された配線を用い、且つ、該配線の長さにより該ディレイセルの遅延時間を微調整する。
【００３６】
【発明の実施の形態】
以下、図面に基づいて本発明の実施形態を説明する。
【００３７】
［第１実施形態］
図１は、集積回路設計方法の説明に供するハードマクロ１０Ａの概略構成を示す回路図である。図７と同一構成要素には、同一符号を付している。
【００３８】
ハードマクロ１０Ａでは、そのデータ入力端ＤＩとＤフリップフロップ１１のデータ入力端Ｄとの間にディレイセル１５が接続され、ハードマクロ１０Ａのデータ出力端ＤＯとＤフリップフロップ１３のデータ出力端Ｑとの間にディレイセル１６が接続されている。他の点は、図７のハードマクロ１０と同一である。
【００３９】
ハードマクロ１０Ａの入出力ＡＣ特性を予め規定しておく。すなわち、ハードマクロ１０のクロック入力端ＣＫに供給されるクロックのアクティブエッジ時点（本実施形態では立ち上がり時点）と、これに対応した、データ入力端ＤＩの信号のエッジ時点との時間間隔間（図３（Ｂ）中のＴＡ）を予め規定しておく。例えば、この時間間隔間を、クロック周期に対し小さな所定値、具体的には０に規定しておく。同様に、ハードマクロ１０のクロック入力端ＣＫに供給されるクロックのアクティブエッジ時点と、これに対応した、データ出力端ＤＯの信号のエッジ時点との時間間隔間（図４（Ｂ）中のＴＢ）を予め規定しておく。例えば、この時間間隔間を、クロック周期が１０ｎｓの場合に３ｎｓに規定しておく。これら時間間隔は、コンピュータに入力される。これら時間間隔の規定及び入力は、以下の実施例２及び実施例３においても同様である。
【００４０】
このハードマクロ１０Ａは、内部ＡＣ特性が保証された、仮レイアウト後の回路に対し、この規定を満たすディレイセル１５及び１６を、コンピュータによるエンジニアリングチェンジ処理などにおいて挿入することにより作成される。この点は、以下の実施例２及び実施例３においても同様である。
【００４１】
図２は、半導体チップＣＰ１上に配置されたハードマクロ１０Ａ及びその付近の回路を示す概略図である。
【００４２】
上記規定が満たされる場合に、以下の条件が満たされるようにする。換言すれば、この条件が満たされるように上記時間間隔が規定される。
【００４３】
ハードマクロ１０Ａの外部にＤフリップフロップ２０を配置し、Ｄフリップフロップ２０のデータ出力端Ｑとハードマクロ１０Ａのデータ入力端ＤＩとの間を配線で直結し、ハードマクロ１０及びＤフリップフロップ２０のクロック入力端ＣＫへ共通にクロックＣＬＫを供給したときに、ハードマクロ１０Ａ内のＤフリップフロップ１１の入力においてタイミングエラーが生じないように、すなわち、Ｄフリップフロップ２０のデータ出力端Ｑとハードマクロ１０Ａのデータ入力端ＤＩとの間にユーザがディレイセルを接続しなくてもタイミングエラーが生じないようにする。
【００４４】
図３（Ａ）は、ディレイセル１５の構成例及びその付近の回路を示す。このディレイセル１５の遅延時間は、遅延バッファゲートの遅延特性とその縦続接続個数により定まる。
【００４５】
図３（Ｂ）は、ディレイセル１５をこのように接続した場合にＤフリップフロップ１１のデータ入力端Ｄ及びクロック入力端ＣＫに供給される信号Ｄ１及びＣＬＫ１のタイミング並びにＤフリップフロップ２０のデータ出力端Ｑでの信号Ｄ１Ａを示しており、セットアップタイムＴＳの条件ＴＳ＜Ｔ１及びホールドタイムＴＨの条件ＴＨ＜Ｔ２が満たされている。ＴＳ及びＴＨは、製造プロセスのばらつきや温度変動などによってもタイミングエラーが生じないように決定されている。（Ｔ１−ＴＳ）がセットアップタイムのタイミングマージンであり、（Ｔ２−ＴＨ）がホールドタイムのタイミングマージンであり、両マージンの小さい方ができるだけ大きくなるようにした方が好ましい。
【００４６】
上記条件を満たすためのＤフリップフロップ２０のデータ出力端Ｑとハードマクロ１０Ａのデータ入力端ＤＩとの間の配線の抵抗及び寄生容量の範囲が予め定められており、ユーザはこれに基づいて設計を行う。
【００４７】
なお、上記時間間隔０は、Ｄフリップフロップ２０の信号伝播時間及びＤフリップフロップ２０のデータ出力端Ｑからハードマクロ１０のデータ入力端ＤＩまでの信号伝播時間を無視したことに相当する。
【００４８】
同様に、図２において、ハードマクロ１０Ａの外部にＤフリップフロップ２２を配置しハードマクロ１０Ａのデータ出力端ＤＯとＤフリップフロップ２２のデータ入力端Ｄとの間を配線で直結しハードマクロ１０及びＤフリップフロップ２２のクロック入力端ＣＫへ共通にクロックＣＬＫを供給したときに、Ｄフリップフロップ２２の入力においてタイミングエラーが生じないようする。すなわち、ハードマクロ１０Ａのデータ出力端ＤＯとＤフリップフロップ２２のデータ入力端Ｄとの間にユーザがディレイセルを接続しなくてもタイミングエラーが生じないようにする。
【００４９】
図４（Ａ）は、ディレイセル１６の構成例及びその付近の回路を示す。このディレイセル１６の遅延時間は、遅延バッファゲートの特性とその縦続接続個数により定まる。
【００５０】
図４（Ｂ）は、ディレイセル１６をこのように接続した場合にＤフリップフロップ２２のデータ入力端Ｄ及びクロック入力端ＣＫに供給される信号Ｄ２及びＣＬＫ２のタイミング並びにＤフリップフロップ１３のデータ出力端Ｑでの信号Ｄ２Ａのタイミングを示しており、セットアップタイムＴＳの条件ＴＳ＜Ｔ３及びホールドタイムＴＨの条件ＴＨ＜Ｔ４が満たされている。
【００５１】
なお、Ｄフリップフロップ２２を考慮せずに、ハードマクロ１０のクロック入力端ＣＫへのクロックの立ち上がり時点に対するデータ出力端ＤＯの信号のセットアップ時間を、例えばクロック周期が１０ｎｓのときに３ｎｓにすることにより、Ｄフリップフロップ２２での上記条件が成立するようにしてもよい。
【００５２】
これらの条件を満たすためのハードマクロ１０Ａのデータ出力端ＤＯとＤフリップフロップ２２のデータ入力端Ｄとの間の配線の抵抗及び寄生容量の範囲が予め定められており、ユーザはこれに基づいて設計を行う。
【００５３】
以上のようなハードマクロ１０Ａは、セルライブラリ中に登録されており、半導体装置製造の設計段階でこれを用いることにより、設計が簡略化されるというハードマクロ使用の利点が更に高められ、設計期間をより短縮してより短期間で半導体装置を製造することが可能となる。
【００５４】
［第２実施形態］
図５は、本発明の第２実施形態の集積回路設計方法の説明に供するハードマクロ１０Ｂの概略構成を示す回路図である。
【００５５】
この回路では、ハードマクロ１０Ｂのデータ入力端ＤＩとＤフリップフロップ１１のデータ入力端Ｄとの間に組合せ回路１７が接続されている。組合せ回路１７には、例えば、固定値Ｓ１、回路１４からの信号Ｓ１又はハードマクロ１０Ｂの外部からの信号Ｓ１（例えば、モード信号）が供給される。
【００５６】
ハードマクロ１０Ｂのデータ入力端ＤＩとＤフリップフロップ１１のデータ入力端Ｄとの間にはさらに、組合せ回路１７と直列にディレイセル１５Ａが接続されて、Ｄフリップフロップ１１につき図３（Ｂ）に示すように上記条件が満たされている。ディレイセル１５Ａは、バッファゲートと配線１５１とからなり、ハードマクロ１０Ｂの作成段階で配線１５１の長さを調整することにより、タイミングマージンが大きくなるようにディレイセル１５Ａの遅延時間を微調整することが可能となっている。
【００５７】
同様に、ディレイセル１６Ａは、バッファゲートと配線１６１とからなり、ハードマクロ１０Ｂの作成段階で配線１６１の長さを調整することにより、上記タイミングマージンが大きくなるようにディレイセル１６Ａの遅延時間を微調整することが可能となっている。
【００５８】
［第３実施形態］
図６は、本発明の第３実施形態の集積回路設計方法の説明に供するハードマクロ１０Ｃの概略構成を示す回路図である。
【００５９】
このハードマクロ１０Ｃでは、そのデータ入力端ＤＩとＤフリップフロップ１１のデータ入力端Ｄとの間に組合せ回路１７Ａが接続されされ、さらに、Ｄフリップフロップ１３のデータ出力端Ｑとハードマクロ１０Ｃのデータ出力端ＤＯとの間に組合せ回路１８が接続されている。組合せ回路１８には、例えば、固定値Ｓ２、回路１４からの信号Ｓ２又はハードマクロ１０Ｂの外部からの信号Ｓ２（例えば、モード信号）が供給される。
【００６０】
組合せ回路１７Ａの信号伝搬遅延時間が図５のディレイセル１５Ａと組合せ回路１７の信号伝搬遅延時間の和より長いために、ハードマクロ１０Ｃのクロック入力端ＣＫとバッファゲート１２との間にディレイセル１５Ｂが接続されている。ディレイセル１５Ｂは配線のみ用いており、図３（Ｂ）のように上記条件が満たされるようにディレイセル１５Ｂの配線長がハードマクロ作成段階で決定される。
【００６１】
同様に、組合せ回路１８とハードマクロ１０Ｃのデータ出力端ＤＯとの間に接続されたディレイセル１６Ｂは、配線のみ用いており、図４（Ｂ）のように上記条件が満たされるようにディレイセル１６Ｂの配線長がハードマクロ作成段階で決定される。
【００６２】
なお、本発明には外にも種々の変形例が含まれる。
【００６３】
例えば、上記Ｄフリップフロップはいずれも、他の同期型フリップフロップであってもよい。
【００６４】
また、Ｄフリップフロップ１１又は１３は、同期型フリップフロップを複数個備えたレジスタであってもよい。Ｄフリップフロップ１１がレジスタである場合、例えば図２において、このレジスタの各データ入力ビットにディレイセル１５と同じディレイセルが接続される。Ｄフリップフロップ１３がレジスタである場合も同様である。
【図面の簡単な説明】
【図１】  本発明の第１実施形態の集積回路設計方法の説明に供するハードマクロの概略構成を示す回路図である。
【図２】  半導体チップ上に配置された図１のハードマクロ及びその付近の回路を示す概略図である。
【図３】  （Ａ）は図２中の入力側ディレイセルの構成例及びその付近の回路を示す図であり、（Ｂ）は（Ａ）の回路のタイミングチャートである。
【図４】  （Ａ）は図２中の出力側ディレイセルの構成例及びその付近の回路を示す図であり、（Ｂ）は（Ａ）の回路のタイミングチャートである。
【図５】  本発明の第２実施形態の集積回路設計方法の説明に供するハードマクロの概略構成を示す回路図である。
【図６】  本発明の第３実施形態の集積回路設計方法の説明に供するハードマクロの概略構成を示す回路図である。
【図７】  従来のハードマクロの具体例を示す概略回路図である。
【図８】  図７のハードマクロを用いて半導体チップ上に設計された回路の一部を示す図である。
【符号の説明】
１０、１０Ａ〜１０Ｃ  ハードマクロ
１１、１３、２０、２２  Ｄフリップフロップ
１２  バッファゲート
１４  回路
１５、１５Ａ、１５Ｂ、１６、１６Ａ、１６Ｂ、２１、２３  ディレイセル
１７、１７Ａ、１８  組合せ回路
ＣＬＫ  クロック
【図１】
0004251692.tif 000002
【図２】
0004251692.tif 000003
【図３】
0004251692.tif 000004
【図４】
0004251692.tif 000005
【図５】
0004251692.tif 000006
【図６】
0004251692.tif 000007
【図７】
0004251692.tif 000008
【図８】
0004251692.tif 000009