(57)【特許請求の範囲】
【請求項１】
所定の論理処理を行う複数の組み合わせ回路及びその間のデータ転送を行う複数のフリップフロップを有し予め回路パターンとして登録されたハードマクロと、クロック信号に同期して入力データを取り込む入力フリップフロップと、前記クロック信号に同期して出力データを出力する出力フリップフロップと、前記入力フリップフロップに取り込まれた入力データを前記ハードマクロに与える第１のデータパスと、前記ハードマクロから出力されるデータを前記出力フリップフロップに与える第２のデータパスとを備えた半導体集積回路において、
前記ハードマクロは、
前記クロック信号の周期をＴ、前記第１のデータパスの最大許容遅延時間をＰＤＩ、前記第２のデータパスの最大許容遅延時間をＰＤＯ、前記各フリップフロップのセットアップタイムをｔｓとした場合に、
前記第１のデータパスから与えられるデータを前記クロック信号よりも、最大でＰＤＩ−Ｔ＋ｔｓ遅れたタイミングで保持する第１のフリップフロップと、
前記複数の組み合わせ回路間のデータ転送を前記クロック信号に同期して行う第２のフリップフロップと、
前記第２のデータパスに出力するデータを前記クロック信号よりも、最大でＰＤＯ−Ｔ＋ｔｓ進んだタイミングで保持して出力する第３のフリップフロップとを、
有することを特徴とする半導体集積回路。
【請求項２】
前記半導体集積回路は、外部から与えられる外部クロック信号を遅延させて前記入力フリップフロップ及び出力フリップフロップに与えるクロック信号を生成する遅延素子を有し、
前記ハードマクロは、前記外部クロック信号のタイミングを調整して前記第１乃至第３の各フリップフロップに供給する調整手段を有することを特徴とする請求項１記載の半導体集積回路。
【請求項３】
前記半導体集積回路は、前記第１乃至第３の各フリップフロップに与えるクロック信号をそれぞれ外部から入力するクロック端子と、前記各クロック端子に入力されたクロック信号を前記第１乃至第３の各フリップフロップに伝達するクロック配線とを備えたことを特徴とする請求項１記載の半導体集積回路。
【請求項４】
タイミング信号に同期してデータの書き込み及び読み出しを行う記憶部と、
クロック信号を所定時間だけ遅延させる第１及び第２の遅延素子と、
前記クロック信号を前記第１及び第２の遅延素子よりも長時間遅延させる第３の遅延素子と、
第１の遅延素子で遅延された前記クロック信号に同期して入力データを取り込む入力フリップフロップと、
前記第２の遅延素子で遅延された前記クロック信号に同期して出力データを出力する出力フリップフロップと、
前記入力フリップフロップに取り込まれた入力データを前記記憶部に与える第１のデータパスと、
前記記憶部から読み出されるデータを前記出力フリップフロップに与える第２のデータパスと、
前記記憶部にデータを書き込む時には、前記第３の遅延素子で遅延された前記クロック信号を前記タイミング信号として該記憶部に与え、この記憶部からデータを読み出す時には、遅延されていない前記クロック信号を前記タイミング信号として該記憶部に与えるタイミング供給手段とを、
備えたことを特徴とする半導体集積回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
【０００２】
本発明は、クロック信号に同期してデータ処理を行う半導体集積回路に関するものである。
【０００３】
【従来の技術】
【０００４】
【特許文献１】
【０００５】
特開２０００−１１３０２５号公報
【０００６】
半導体集積回路の大規模化に伴い、その設計の省力化のために、回路パターンとして開発済みの機能ブロック（ハードマクロ）を再利用することが行われている。特に、民生、情報、通信分野のシステム・メーカでは、自社開発のハードマクロだけでなく他社で開発したハードマクロをも利用可能とするために、共通のインタフェース仕様の規約を設けている。この規約に従ったハードマクロは、ＩＰ（Ｉｎｔｅｌｌｅｃｔｕｌ  Ｐｒｏｐｅｒｔｙ）またはＶＣ（Ｖｉｒｔｕａｌ  Ｃｏｍｐｏｎｅｎｔ）と呼ばれて登録され、このＩＰ或いはＶＣを利用することにより、システムＬＳＩの開発において異なる供給元からのハードマクロ混載の実現が可能となっている。ハードマクロの例としては、ディジタル信号プロセッサ、アナログ・ディジタル変換器、各種のメモリ等がある。
【０００７】
前記特許文献１には、このようなハードマクロの構成と作成方法が記載されている。
【０００８】
このハードマクロでは、そのデータ入力端と入力側のフリップフロップ（以下、「ＦＦ」という）のデータ入力端との間、及び出力側のＦＦのデータ出力端とこのハードマクロの出力端の間を、それぞれディレイセルを介して接続している。そして、データ入力端から入力側のＦＦに与えられるデータのタイミングと、出力側のＦＦからデータ出力端に出力されるデータのタイミングを、クロック信号のタイミングに合わせるように、これらのディレイセルの遅延時間が設定されている。これにより、ハードマクロの処理結果が、クロック信号に同期して順次後段のハードマクロ等に与えられ、確実な処理が行われるようになっている。
【０００９】
【発明が解決しようとする課題】
【００１０】
しかしながら、従来の半導体集積回路では、次のような課題があった。
【００１１】
ハードマクロ内のクロック信号が、同位相で各ＦＦに与えられるようになっているため、内部回路に許される最大処理時間は、クロック信号の１周期分からＦＦのセットアップ時間を差し引いた値に固定される。このため、ハードマクロと外部のＦＦとの間のデータパス等の遅延が大きい場合、タイミング条件を満たすことができなくなり、クロック信号の周期を延長する必要が生じ、処理速度が低下するおそれがあった。また、大部分の内部回路の処理時間が短くても、一部の内部回路の処理時間が長い場合、クロック信号の周期をこの処理時間の長い内部回路の処理時間に合わせる必要があり、処理時間の短縮が困難であった。
【００１２】
【課題を解決するための手段】
【００１３】
前記課題を解決するために、本発明の内の第１の発明は、所定の論理処理を行う複数の組み合わせ回路及びその間のデータ転送を行う複数のＦＦを有し予め回路パターンとして登録されたハードマクロと、クロック信号に同期して入力データを取り込む入力ＦＦと、前記クロック信号に同期して出力データを出力する出力ＦＦと、前記入力ＦＦに取り込まれた入力データを前記ハードマクロに与える第１のデータパスと、前記ハードマクロから出力されるデータを前記出力ＦＦに与える第２のデータパスとを備えた半導体集積回路において、ハードマクロを次のように構成している。
【００１４】
即ち、このハードマクロは、前記クロック信号の周期をＴ、前記第１のデータパスの最大許容遅延時間をＰＤＩ、前記第２のデータパスの最大許容遅延時間をＰＤＯ、前記各フリップフロップのセットアップタイムをｔｓとした場合に、前記第１のデータパスから与えられるデータを前記クロック信号よりも、最大でＰＤＩ−Ｔ＋ｔｓ遅れたタイミングで保持する第１のＦＦと、前記複数の組み合わせ回路間のデータ転送を前記クロック信号に同期して行う第２のＦＦと、前記第２のデータパスに出力するデータを前記クロック信号よりも、最大でＰＤＯ−Ｔ＋ｔｓ進んだタイミングで保持して出力する第３のＦＦとを有している。
【００１５】
第２の発明は、第１の発明の半導体集積回路に、外部から与えられる外部クロック信号を遅延させて前記入力ＦＦ及び出力ＦＦに与えるクロック信号を生成する遅延素子を設け、前記ハードマクロには、前記外部クロック信号のタイミングを調整して前記第１乃至第３の各ＦＦに供給する調整手段を設けている。
【００１６】
第３の発明は、第１の発明の半導体集積回路に、前記第１乃至第３の各ＦＦに与えるクロック信号をそれぞれ外部から入力するクロック端子と、前記クロック端子に入力されたクロック信号を前記第１乃至第３の各ＦＦに伝達するクロック配線とを備えている。
【００１７】
第１〜第３の発明によれば、以上のように半導体集積回路を構成したので、次のような作用が行われる。
【００１８】
クロック信号に同期して入力ＦＦに取り込まれた入力データは、第１のデータパスを介してハードマクロに与えられ、このハードマクロの第１のＦＦに、このクロック信号よりも遅れたタイミングで保持される。従って、クロック信号の遅延時間だけ、第１のデータパスにおける時間制約が緩和される。
【００１９】
一方、ハードマクロの第３のＦＦには、第２のデータパスに出力するデータがクロック信号よりも進んだタイミングで保持される。そして、第２のデータパスに出力されたデータは、クロック信号に同期して出力ＦＦに取り込まれ、出力データとして出力される。従って、クロック信号の進み時間だけ、第２のデータパスにおける時間制約が緩和される。
【００２０】
第４の発明は、半導体集積回路において、タイミング信号に同期してデータの書き込み及び読み出しを行う記憶部と、クロック信号を所定時間だけ遅延させる第１及び第２の遅延素子と、前記クロック信号を前記第１及び第２の遅延素子よりも長時間遅延させる第３の遅延素子と、第１の遅延素子で遅延された前記クロック信号に同期して入力データを取り込む入力ＦＦと、前記第２の遅延素子で遅延された前記クロック信号に同期して出力データを出力する出力ＦＦと、前記入力ＦＦに取り込まれた入力データを前記記憶部に与える第１のデータパスと、前記記憶部から読み出されるデータを前記出力ＦＦに与える第２のデータパスと、前記記憶部にデータを書き込む時には、前記第３の遅延素子で遅延された前記クロック信号を前記タイミング信号として該記憶部に与え、この記憶部からデータを読み出す時には、遅延されていない前記クロック信号を前記タイミング信号として該記憶部に与えるタイミング供給手段とを備えている。
【００２１】
第４の発明によれば、次のような作用が行われる。
【００２２】
クロック信号に同期して入力ＦＦに取り込まれた入力データは、第１のデータパスを介して記憶部に与えられ、このクロック信号よりも遅れたタイミング信号に同期してこの記憶部に書き込まれる。従って、タイミング信号の遅延時間だけ、第１のデータパスにおける時間制約が緩和される。
【００２３】
一方、記憶部に記憶されたデータは、クロック信号よりも進んだタイミング信号で読み出され、第２のデータパスに出力される。第２のデータパスに出力されたデータは、クロック信号に同期して出力ＦＦに取り込まれ、出力データとして出力される。従って、タイミング信号の進み時間だけ、第２のデータパスにおける時間制約が緩和される。
【００２４】
【発明の実施の形態】
【００２５】
（第１の実施形態）
【００２６】
図１（ａ），（ｂ）は、本発明の第１の実施形態を示す半導体集積回路の説明図で、同図（ａ）は概略の構成図、及び同図（ｂ）は動作タイミング図である。
【００２７】
この半導体集積回路は、図１（ａ）に示すように、ハードマクロ１０Ａと、このハードマクロ１０Ａの入力側に設けられたＦＦ群１及びデータパスを構成する組み合わせ回路２と、このハードマクロ１０Ａの出力側に設けられてデータパスを構成する組み合わせ回路３及びＦＦ群４を備えている。
【００２８】
ハードマクロ１０Ａは、データパスを構成する複数の組み合わせ回路１１〜１７と、これらの組み合わせ回路１１〜１７間を接続するＦＦ群１２〜１６と、ノード１８ａ，１８ｂ，１８ｃを有している。ノード１８ａにはクロック配線１９ａを介してＦＦ群１２が、ノード１８ｂにはクロック配線１９ｂを介してＦＦ群１４が、ノード１８ｃにはクロック配線１９ｃを介してＦＦ群１６が、それぞれ接続されている。
【００２９】
ハードマクロ１０Ａの先頭の組み合わせ回路１１の入力側は、組み合わせ回路２の出力側に接続され、後尾の組み合わせ回路１７の出力側が、組み合わせ回路４の入力側に接続されている。
【００３０】
また、ハードマクロ１０Ａのノード１８ａ，１８ｃには、それぞれクロック端子５ａ，５ｃからクロック信号ＣＫ１，ＣＫ３を供給するためのクロック配線６ａ，６ｃが設けられている。更に、ＦＦ群１，４とハードマクロ１０Ａのノード１８ｂには、クロック端子５ｂからクロック信号ＣＫ２を同じ位相で供給するためのクロック配線６ｂが設けられている。
【００３１】
次に、図１（ｂ）を参照しつつ、図１（ａ）の動作を説明する。
【００３２】
図１（ｂ）に示すように、クロック端子５ａには、クロック端子５ｂに与えられるクロック信号ＣＫ２よりも若干遅れたクロック信号ＣＫ１が与えられる。一方、クロック端子５ｃには、クロック信号ＣＫ２よりも若干進んだクロック信号ＣＫ３が与えられる。
【００３３】
ＦＦ群１において、クロック信号ＣＫ２の立ち上がりに同期して出力されたデータＤ１は、組み合わせ回路２，１１における処理（遅延）時間の後、ＦＦ群１２の入力側にデータＤ１１として到達する。ＦＦ群１２では、入力側に到達したデータＤ１１がクロック信号ＣＫ１の立ち上がりに同期して保持され、データＤ１２として出力される。従って、ＦＦ群１〜ＦＦ群１２間の最大許容遅延時間ＰＤＩは、クロック信号ＣＫ２の周期をＴ、クロック信号ＣＫ１の遅延時間をｔｄ、及びＦＦ１２群のセットアップタイムをｔｓとすると、ＰＤＩ＝Ｔ＋ｔｄ−ｔｓとなる。従って、遅延時間ｔｄの範囲は、０＜ｔｄ≦ＰＤＩ−Ｔ＋ｔｓである。
【００３４】
同様に、ＦＦ群１６において、クロック信号ＣＫ３の立ち上がりに同期して出力されたデータＤ１６は、組み合わせ回路１７，３における処理（遅延）時間の後、ＦＦ群４の入力側にデータＤ３として到達する。ＦＦ群４では、入力側に到達したデータＤ３が、クロック信号ＣＫ２の立ち上がりに同期して取り込まれる。従って、ＦＦ群１６〜ＦＦ群４間の最大許容遅延時間ＰＤＯは、クロック信号ＣＫ２の周期をＴ、クロック信号ＣＫ３の進み時間をｔｌ、及びＦＦ４群のセットアップタイムをｔｓとすると、ＰＤＯ＝Ｔ＋ｔｌ−ｔｓとなる。従って、進み時間ｔ１の範囲は、０＜ｔ１≦ＰＤＯ−Ｔ＋ｔｓである。
【００３５】
以上のように、この第１の実施形態の半導体集積回路は、ハードマクロ１０Ａ内のＦＦ群１２〜１６に、異なるクロック信号ＣＫ１〜ＣＫ３を供給するためのクロック端子５ａ〜５ｃと、これに対応するクロック配線６ａ〜６ｃを有している。従って、データＤ１，Ｄ１６を出力するＦＦ群１，１６よりも、データＤ１１，Ｄ３を取り込むＦＦ群１２，４に供給されるクロック信号の方を遅らせることができる。これにより、データ転送に許される時間を長くすることが可能になり、同じクロック周波数でもタイミング条件が満たされ、処理時間の短縮が可能になるという利点がある。
【００３６】
（第２の実施形態）
【００３７】
図２は、本発明の第２の実施形態を示す半導体集積回路の概略の構成図で、図１中の要素と共通の要素には共通の符号が付されている。
【００３８】
この半導体集積回路は、ハードマクロ１０Ｂと、このハードマクロ１０Ｂの入力側に設けられたＦＦ群１及び組み合わせ回路２と、このハードマクロ１０Ｂの出力側に設けられた組み合わせ回路３及びＦＦ群４を備えている。
【００３９】
ハードマクロ１０Ｂは、複数の組み合わせ回路１１〜１７と、これらの組み合わせ回路１１〜１７間を接続するＦＦ群１２〜１６と、クロック信号ＣＬＫが与えられるノード１８と、このノード１８からＦＦ群１２〜１６にクロック信号を供給するためのクロック配線１９を有している。クロック配線１９からタイミングの調整手段を構成する遅延素子２１，２２で遅延されたクロック信号ＣＬＫが、それぞれクロック信号ＣＫ１，ＣＫ２としてＦＦ群１２，１４に与えられるようになっている。また、クロック配線１９上のクロック信号ＣＬＫは、クロック信号ＣＫ３としてＦＦ群１６に与えられるようになっている。
【００４０】
一方、ＦＦ群１，４には、クロック端子５のクロック信号ＣＬＫが遅延素子７ａ，７ｂを介して、ＦＦ群１４と同じ位相のクロック信号ＣＫ２が供給されるようになっている。なお、遅延素子２２，７ａ，７ｂは、例えばインバータを偶数個縦続接続したもので、これらの遅延素子２２，７ａ，７ｂの遅延量は同程度に設定され、遅延素子２１の遅延量はこれよりも大きく設定されている。
【００４１】
この半導体集積回路の動作は、ハードマクロ１０Ｂ内のクロック信号ＣＫ１，ＣＫ２が、遅延素子２１，２２によって生成されるほかは、図１の半導体集積回路の動作と同様である。
【００４２】
以上のように、この第２の実施形態の半導体集積回路は、ハードマクロ１０Ｂ内に、異なるクロック信号ＣＫ１〜ＣＫ３を生成するための遅延素子２１，２２を有している。これにより、第１の実施形態の利点に加えて、ハードマクロ１０Ｂの内部で、このハードマクロ１０Ｂの機能に合わせて適切なクロック信号ＣＫ１〜ＣＫ３を生成することができるので、精度の高い動作が可能になるという利点がある。
【００４３】
（第３の実施形態）
【００４４】
図３は、本発明の第３の実施形態を示す半導体集積回路の概略の構成図で、図１中の要素と共通の要素には共通の符号が付されている。
【００４５】
この半導体集積回路は、図１中のハードマクロ１０Ａに代えて、若干機能の異なるハードマクロ１０Ｃを設けている。即ち、ハードマクロ１０Ｃ内のＦＦ群１２Ｂ，１６Ｂには、ノード１８ａ〜１８ｃからクロック配線１９ａ〜１９ｃを介して３種類のクロック信号ＣＫ１〜ＣＫ３が供給され、個々のＦＦに対してクロック信号ＣＫ１〜ＣＫ３の内の適切なクロック信号が個別に与えられるようになっている。その他の構成は、図１と同様である。
【００４６】
この半導体集積回路の動作は、基本的には図１の半導体集積回路の動作と同じである。但し、ＦＦ群１２Ｂ，１６Ｂ内の各ＦＦには、クロック信号ＣＫ１〜ＣＫ３の内の適切なクロック信号が与えられるので、その信号の遅延時間に応じた最適なタイミングで動作が行われる。
【００４７】
以上のように、この第３の実施形態の半導体集積回路は、ハードマクロ１０Ｃ内のＦＦ群１２Ｂ，１６Ｂにタイミングの異なる複数のクロック信号ＣＫ１〜ＣＫ３を与え、これらのＦＦ群１２Ｂ，１６Ｂ内の個々のＦＦに対してそれぞれ適切なタイミングのクロック信号を供給するようにしている。これにより、第１の実施形態の利点に加えて、ハードマクロ１０Ｃの内部で、個々のＦＦに対して適切なタイミングのクロック信号が与えられ、更に、高い精度で高速処理を行うことができるという利点がある。
【００４８】
（第４の実施形態）
【００４９】
図４は、本発明の第４の実施形態を示す半導体集積回路の概略の構成図で、内蔵された同期型のＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）に供給するクロック信号のタイミングを制御することによって、処理（遅延）時間の制約の緩和と処理時間の短縮を図るものである。
【００５０】
この半導体集積回路は、ＦＦ３１，３５、組み合わせ回路（ＬＯＧＩＣ）３２，３４、同期型のＲＡＭ３３、クロック端子３６、遅延素子３７ａ，３７ｂ，３８、及びタイミング供給手段を構成するセレクタ（ＳＥＬ）３９を備えている。なお、遅延素子３７ａ，３７ｂの遅延時間はほぼ同一に設定され、遅延素子３８の遅延時間はこれよりも長く設定されている。
【００５１】
ＦＦ３１は、クロック信号ＣＫ２に同期して入力データを保持するもので、クロック端子３６に与えられたクロック信号ＣＬＫが遅延素子３７ａで遅延され、クロック信号ＣＫ２として供給されるようになっている。ＦＦ３１の出力側には組み合わせ回路３２が接続され、この組み合わせ回路３２の出力側が、ＲＡＭ３３の入力端子ＤＩに接続されている。
【００５２】
ＲＡＭ３３は、クロック端子Ｃに与えられるクロック信号に同期してデータの読み書きを行うもので、アドレス端子Ａにはアクセス対象のアドレス信号ＡＤが、制御端子Ｗ，Ｅには書き込み制御信号ＷＥ及び読み出し制御信号ＲＥが、それぞれ与えられるようになっている。ＲＡＭ３３の出力端子ＤＯには、組み合わせ回路３４が接続され、この組み合わせ回路３４の出力側に、ＦＦ３５が接続されている。
【００５３】
ＦＦ３５は、クロック信号ＣＫ２に同期して組み合わせ回路３４の出力データを保持するもので、クロック端子３６に与えられたクロック信号ＣＬＫが遅延素子３７ｂで遅延され、クロック信号ＣＫ２として供給されるようになっている。
【００５４】
更に、クロック端子３６に与えられたクロック信号ＣＬＫは、遅延素子３８で遅延されてクロック信号ＣＫ１としてセレクタ３９の第１の入力側に与えられると共に、そのままクロック信号ＣＫ３としてセレクタ３９の第２の入力側に与えられている。セレクタ３９は、読み出し制御信号ＲＥが“Ｈ”（イネーブル）の時に第２の入力側が選択され、“Ｌ”（ディセーブル）の時に第１の入力側が選択されるものである。セレクタ３９の出力側は、ＲＡＭ３３のクロック端子Ｃに接続されている。
【００５５】
次に動作を説明する。
【００５６】
ＲＡＭ３３にデータを書き込む時、読み出し制御信号ＲＥは“Ｌ”となり、セレクタ３９によってクロック信号ＣＫ１が選択され、ＲＡＭ３３のクロック端子Ｃに与えられる。一方、組み合わせ回路３２の入力側には、クロック信号ＣＫ２に同期してＦＦ３１に保持された入力データが与えられる。クロック信号ＣＫ１は、クロック信号ＣＫ２よりも遅延量が大きいので、組み合わせ回路３２に許容される遅延（処理）時間は、クロック信号ＣＬＫの周期よりも長くなる。
【００５７】
ＲＡＭ３３からデータを読み出す時、読み出し制御信号ＲＥは“Ｈ”となり、セレクタ３９によってクロック信号ＣＫ３が選択され、ＲＡＭ３３のクロック端子Ｃに与えられる。一方、組み合わせ回路３４の出力側のＦＦ３５には、クロック信号ＣＫ２が与えられる。クロック信号ＣＫ２は、クロック信号ＣＫ３よりも遅延量が大きいので、組み合わせ回路３４に許容される遅延（処理）時間は、クロック信号ＣＬＫの周期よりも長くなる。
【００５８】
以上のように、この第４の実施形態の半導体集積回路は、ＲＡＭ３３にデータを書き込む時に、ＦＦ３１，３５に供給されているクロック信号ＣＫ２よりも遅延の大きなクロック信号ＣＫ１を使用している。また、ＲＡＭ３３からデータを読み出す時には、ＦＦ３１，３５に供給されているクロック信号ＣＫ２よりも遅延の小さなクロック信号ＣＫ３を使用している。これにより、組み合わせ回路３２，３４に許容される遅延（処理）時間が大きくなり、確実な動作が可能になる。また、クロック速度を上昇して動作速度を向上させることができる。
【００５９】
なお、本発明は、上記実施形態に限定されず、種々の変形が可能である。この変形例としては、例えば、次のようなものがある。
【００６０】
（ａ）  ３種類のクロック信号ＣＫ１〜ＣＫ３を用いてタイミング調整を行うようにしているが、更に遅延時間の異なる多数のクロック信号を用いても良い。
【００６１】
（ｂ）  組み合わせ回路やＦＦ群の数は、例示したものに限定されない。適用する半導体集積回路の機能や規模に応じて任意に設定することができる。
【００６２】
【発明の効果】
【００６３】
以上詳細に説明したように、第１の発明によれば、ハードマクロは、第１のデータパスから与えられるデータをクロック信号よりも遅れたタイミングで保持する第１のＦＦと、出力するデータを該クロック信号よりも進んだタイミングで保持する第３のＦＦを有している。これにより、クロック信号とのタイミングの差の分だけ、入出力側のデータパス等における遅延時間の制約が緩和され、処理時間の短縮が可能になる。
【００６４】
第２の発明によれば、外部クロックを遅延させて入出力ＦＦ用のクロック信号を生成する遅延素子と、ハードマクロ内の第１〜第３の各ＦＦに供給するクロック信号のタイミングを調整する調整手段を有している。これにより、外部でクロック信号のタイミング調整をする必要がなくなり、ハードマクロを適切なタイミングで動作させることができる。
【００６５】
第３の発明によれば、ハードマクロ内の第１〜第３のＦＦに与えるクロック信号を外部から入力するためのクロック端子とクロック配線を有している。これにより、任意のタイミングのクロック信号を自由に与えることができ、全体的な最適な時間調整を行うことができる。
【００６６】
第４の発明によれば、記憶部にデータを書き込む時には、クロック信号よりもタイミングが遅れたタイミング信号を与え、該記憶部からデータを読み出す時には、該クロック信号よりもタイミングが進んだタイミング信号を与えるタイミング供給手段を有している。これにより、書き込み時には、タイミング信号の遅延時間だけ、第１のデータパスの遅延時間の制約が緩和され、読み出し時には、タイミング信号の進み時間だけ、第２のデータパスの遅延時間の制約が緩和される。
【図面の簡単な説明】
【図１】本発明の第１の実施形態を示す半導体集積回路の説明図である。
【図２】本発明の第２の実施形態を示す半導体集積回路の概略の構成図である。
【図３】本発明の第３の実施形態を示す半導体集積回路の概略の構成図である。
【図４】本発明の第４の実施形態を示す半導体集積回路の概略の構成図である。
【符号の説明】
１，４，１２，１４，１６    ＦＦ（フリップ・フロップ）群
２，３，１１，１３，１５，１６，３２，３４    組み合わせ回路
５ａ〜５ｃ，３６    クロック端子
７ａ，７ｂ，２１，２２，３７，３８    遅延素子
１０Ａ〜１０Ｃ    ハードマクロ
１８ａ〜１８ｃ    ノード
１９ａ〜１９ｃ    クロック配線
３１，３５    ＦＦ
３３    ＲＡＭ
３９    セレクタ
【図１】
0003629019.tif 000002
【図２】
0003629019.tif 000003
【図３】
0003629019.tif 000004
【図４】
0003629019.tif 000005