(57)【特許請求の範囲】
【請求項１】
論理回路の前段及び後段に設けられたラッチ回路に対してクロックパルスを供給するクロック分配システムを備えた同期式の半導体集積回路装置であって、
前記クロック分配システムは、前記論理回路毎にその固有の遅延時間に対応したデューティ比の前記クロックパルスを発生するクロックパルス発生器を備えたことを特徴とする半導体集積回路装置。
【請求項２】
前記請求項１に記載の半導体集積回路装置において、
前記クロックパルス発生器は、
前記論理回路に固有の遅延時間の大小に対応してデューティ比の異なったクロックパルスを発生する構成とすると共に、前記論理回路における固有の遅延時間が大きいときはデューティ比の小さいクロックパルスを発生し、前記論理回路における固有の遅延時間が小さいときはデューティ比の大きいクロックパルスを発生するようにしたことを特徴とする半導体集積回路装置。
【請求項３】
前記請求項１又は２に記載の半導体集積回路装置において、
前記論理回路と当該論理回路の入力段に装備された前記ラッチ回路との間に、遅延素子を挿入したことを特徴とする半導体集積回路装置。
【請求項４】
半導体集積回路を構成する回路素子データに対するライブラリを備え、そのライブラリよりシミュレーショ対象回路の回路構成を行う回路設定機能と、その構成された対象回路に基づいて伝播遅延時間など必要なデータを得るシミュレーション機能とを備えた回路シミュレーション装置にあって、
前記ライブラリからシミュレーションの対象となる前記半導体集積回路を構成するための論理回路，ミニマム遅延保障用遅延素子，その前段及び後段に設けられたラッチ回路，および当該ラッチ回路へクロックパルスを供給するクロックパルス発生器を含むクロック分配システム，にかかる各構成データを取り出して前記半導体集積回路を設定し、
この設定された前記半導体集積回路のシミュレーションを実行することにより前記前段及び後段の各ラッチ回路相互間の信号の遅延時間を算出し、
この算出された遅延時間と前記クロックパルスのサイクル時間とを比較すると共にこれにより遅延余裕の有無を判断する遅延検証を実行し、
この遅延検証で遅延余裕がある旨判断された場合は新たにデューティ比の大きいクロックパルス発生器のデータを前記ライブラリから再設定するようにしたことを特徴とするクロックパルス最適化方法。
【請求項５】
半導体集積回路を構成する回路素子データに対するライブラリを備え、当該ライブラリより抽出され設定されるラッチ回路用のクロックパルスに対して、その最適化をコンピュータにより実行するプログラムであって、
前記ライブラリから、シミュレーションの対象となる前記半導体集積回路を構成するための論理回路，ミニマム遅延保障用遅延素子，その前段及び後段に設けられたラッチ回路，および当該ラッチ回路へクロックパルスを供給するクロックパルス発生器を含むクロック分配システム，にかかる各構成データを入力し前記半導体集積回路を設定する回路設定機能と、
この設定された前記半導体集積回路のシミュレーションによって前記前段ラッチ回路及び後段ラッチ回路相互間の信号の遅延時間を算出する遅延算出機能と、
前記遅延時間と前記クロックパルスのサイクル時間を比較して遅延余裕の有無を判断する遅延検証機能と、
前記遅延検証機能で遅延余裕がある旨判断された場合に、新たにデューティ比の大きいクロックパルス発生器のデータを前記ライブラリから再設定するクロックパルス発生器再設定機能と、
を前記コンピュータに実行させることを特徴としたクロックパルス最適化プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路装置等に係り、特に、信頼性と製造歩留まりを向上させて成る半導体集積回路装置、同装置用クロックパルス最適化方法、及びそのプログラムに関する。
【背景技術】
【０００２】
近年、ＬＳＩ（Large Scale Integration:大規模集積回路）にあっては、その動作周波数の向上と低消費電力化への研究が日々強化されている。その一環として論理回路における入出力信号の一時記憶素子として用いられてきた従来のフリップフロップ（ＦＦ）回路に代えて、パルスラッチ回路が使用され始めている。このパルスラッチ回路（ラッチ回路ともいう）を使用するメリットは、それ自身の消費電力の低下と共に、回路の高速化にある（例えば特許文献１参照）。
【０００３】
ここで、パルスラッチ回路とは、クロックパルスが論理的に高い電位レベル（“Ｈ”レベル：「オン状態」）の期間中は入力信号を出力端子へ伝達し、クロックパルスが論理的に低い電位レベル（“Ｌ”レベル：「オフ状態」）の期間中は出力信号を保持する、いわゆるレベルセンス型回路を指すものであり、フリップフロップ（ＦＦ）回路がクロックパルスの立ち上がり（又は立下り）時点での信号を保持するいわゆるエッジトリガ型回路とは異なっている。
【０００４】
従来、クロックパルスとしては、信号遅延やジッタ等のパルス幅変動要因に影響されにくいデューティ比がほぼ５０〔％〕のパルスを用いるのが通常であった。しかし、パルスラッチ回路を駆動するクロック信号パルスには、デューティ比が小さい（パルス幅の細い）パルスを使用することにより、クロックサイクル内の論理回路で使用できる時間に余裕ができ、フリップフロップを用いた場合よりもクロック周波数を上げてより高速に動作させることも可能になる（例えば特許文献２を参照）。
【特許文献１】特開２００６−３３９９４８号公報
【特許文献２】国際公開ＷＯ２００４／０３８９１７  Ａ１
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、クロックパルスのパルス幅を細く（デューティ比を小さく）していくと、その動作が不安定になりやすく信頼性が低下し、ＬＳＩ製造の歩留まり低下も起こしやすいという不都合が生じている。
即ち、クロックパルスの伝播中にジッタ等に起因してパルス幅が更に狭くなってクロックパルスが消失してしまったり、ＬＳＩ製造プロセスにおける諸条件の変動・バラツキ等によってパルス幅が変動する効果が顕著に出てしまったりして、回路動作の信頼性及びＬＳＩの製造歩留まりが低下するという問題点があった。
これは、クロックパルスのパルス幅が、それぞれの論理回路の遅延時間に関係なく、クロック信号分配上の都合で、一律にＬＳＩ内の最大遅延時間をもつ論理回路に合わせて決められていたことに起因する。
【０００６】
〔発明の目的〕
本発明は、上記問題に鑑み、パルスラッチ回路を駆動するクロック信号パルスに関してその最適化を図るようにし、これにより製造歩留まりを高め信頼性を高めた半導体集積回路装置、同装置用クロックパルス最適化方法、及びそのプログラムを提供することを、その目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するため、本発明に係る半導体集積回路装置は、論理回路の前段及び後段に設けられたラッチ回路に対してクロックパルスを供給するクロック分配システムを備えた同期式の半導体集積回路装置であって、前記クロック分配システムは、前記論理回路毎にその固有の遅延時間に対応したデューティ比の前記クロックパルスを発生するクロックパルス発生器を備えたことを特徴とする。
【０００８】
また、上記課題を解決するため、本発明に係るクロックパルス最適化法は、半導体集積回路を構成する回路素子データに対するライブラリを備え、そのライブラリよりシミュレーショ対象回路の回路構成を行う回路設定機能とその構成された対象回路に対する伝播遅延時間など必要なデータを前記ライブラリより得るシミュレーション機能とを備えた回路シミュレーション装置にあって、前述したライブラリからシミュレーションの対象となる前記半導体集積回路を構成するための論理回路，ミニマム遅延保障用遅延素子，その前段及び後段に設けられたラッチ回路，および当該ラッチ回路へクロックパルスを供給するクロックパルス発生器を含むクロック分配システムにかかる各構成データを取り出して前記半導体集積回路を設定し、この設定された前記半導体集積回路のシミュレーションを実行することにより前記前段及び後段の各ラッチ回路相互間の信号の遅延時間を算出し、この算出された遅延時間と前記クロックパルスのサイクル時間とを比較すると共にこれにより遅延余裕の有無を判断する遅延検証を実行し、この遅延検証で遅延余裕がある旨判断された場合は新たにデューティ比の大きいクロックパルス発生器のデータを前記ライブラリから再設定するようにしたことを特徴とする。
【０００９】
更に又、上記課題を解決するため、本発明に係るクロックパルス最適化プログラムは、  半導体集積回路を構成する回路素子データに対するライブラリを備え、当該ライブラリより抽出され設定されるラッチ回路用のクロックパルスに対して、その最適化をコンピュータにより実行するプログラムであって、前記ライブラリから、シミュレーションの対象となる前記半導体集積回路を構成するための論理回路，ミニマム遅延保障用遅延素子，その前段及び後段に設けられたラッチ回路，および当該ラッチ回路へクロックパルスを供給するクロックパルス発生器を含むクロック分配システムにかかる各構成データを入力し前記半導体集積回路を設定する回路設定機能と、この設定された前記半導体集積回路のシミュレーションによって前記前段ラッチ回路及び後段ラッチ回路相互間の信号の遅延時間を算出する遅延算出機能と、前記遅延時間と前記クロックパルスのサイクル時間を比較して遅延余裕の有無を判断する遅延検証機能と、前記遅延検証機能で遅延余裕がある旨判断された場合に、新たにデューティ比の大きいクロックパルス発生器のデータを前記ライブラリから再設定するクロックパルス発生器再設定機能と、を前記コンピュータに実行させることを特徴とする。
【発明の効果】
【００１０】
本発明は以上のように構成したので、遅延が大きくその動作に余裕が無い論理回路に併設されたラッチ回路の駆動においても、高速クロックパルス動作を維持することができるばかりでなく、遅延が少なくその動作に余裕がある論理回路のラッチ回路の駆動においてはクロックパルスのパルス幅を広げるので、動作の信頼性向上と同時にＬＳＩチップの製造歩留まり向上することができるという従来にない優れた半導体集積回路装置、同装置用クロックパルス最適化方法、及びそのプログラムを提供することができる。
【発明を実施するための最良の形態】
【００１１】
以下、本発明の一実施形態を添付図面に基づいて説明する。
図１乃至図３に、本実施形態に係る半導体集積回路装置（ＬＳＩ）１を示す。ここで、図１は、上記半導体集積回路装置（ＬＳＩ）１の構成を示すブロック図である。
【００１２】
この図１において、半導体集積回路装置１は、複数の論理演算回路２０，２１，２２，……を備えた論理演算部２と、対応する各論理演算回路２０，２１，２２，……にクロックパルスを送り込む複数のクロックパルス発生器３０，３１，３２，……を備えたクロック分配システム３とを備えている。
【００１３】
ここで、論理演算回路２０は、入力されるデータの記憶素子として動作する一方のラッチ回路２０Ａと、このラッチ回路２０Ａを介して入力されるデータに基づいて論理演算を行なう組合せ論理回路（以下「論理回路」という）２０Ｂと、この論理回路２０Ｂの論理演算の結果を外部出力する他方のラッチ回路２０Ｃとを備えている。又、前述した論理回路２０Ｂの遅延が小さいときに機能して最小遅延保障を行う遅延素子２０Ｄが、論理回路２０Ｂと前記ラッチ回路２０Ａとの間に介装されている。更に、上記ラッチ回路２０Ａ，２０Ｃには、前述したクロック分配システム３のクロックパルス発生器３０から、源クロック信号ＣＬＫの分配を受けクロックパルス供給線Ｌ０を介してラッチ動作に必要なクロックパルスが送り込まれるようになっている。
【００１４】
他の論理演算回路２１，２２，……も、前述した論理演算回路２０の場合と同様に、それぞれ、入力されるデータの記憶素子として動作するラッチ回路２１Ａ，２２Ａ，……と、この各ラッチ回路２１Ａ，２２Ａ，……を介して入力されるデータに基づいてそれぞれ論理演算を行なう組み合せ論理回路（以下「論理回路」という）２１Ｂ，２２Ｂ，……と、この論理回路２１Ｂ，２２Ｂ，……の論理演算の結果を外部出力するラッチ回路２１Ｃ，２２Ｃ，……とを備えている。
【００１５】
又、前述した論理回路２１Ｂ，２２Ｂ，……の遅延が小さいときに機能して最小遅延保障を行う遅延素子２１Ｄ，２２Ｄ，……が、論理回路２１Ｂ，２２Ｂ，……と前記ラッチ回路２１Ａ，２２Ａ，……との間に介装されている。更に、上記ラッチ回路２１Ａ，２１Ｃ、２２Ａ，２２Ｃ、……には、前述したクロック分配システム３のクロックパルス発生器３１，３２，……から、源クロック信号ＣＬＫの分配を受け各クロックパルス供給線Ｌ１，Ｌ２，……を介してラッチ動作に必要なクロックパルスが送り込まれるようになっている。
【００１６】
ここで、本実施形態における半導体集積回路装置（ＬＳＩ）１の特徴は、源クロック信号ＣＬＫの分配を受ける複数のクロックパルス発生器３０，３１，３２，……を備えたクロック分配システム２が、異なるデューティ比のクロックパルス発生器３０，３１，３２，……を混在させて構成されていることである。即ち、各組み合せ各論理回路２０Ｂ，２１Ｂ，２２Ｂ，……に固有の遅延時間に対応して、デューティ比の異なるクロック信号を発生させ使用していることである。
【００１７】
次に、図１中における論理演算回路２０について、その動作を図２のタイミングチャートに基づいて説明する。
【００１８】
まず、クロック分配システム３に予め備えられたクロック発生源（図示せず）からの源クロック信号ＣＬＫに基づいて、クロックパルス発生器３０が所定のデューティ比のクロックパルスＣＰを発生し、これをクロック信号線Ｌ０を介してラッチ回路２０Ａへ供給する。
【００１９】
ラッチ回路２０Ａでは、このクロックパルスＣＰのオン状態（“Ｈ”レベル）の間は、ラッチ回路２０Ａの入力信号を当該ラッチ回路２０Ａの出力端子Ｑへ出力する。この出力信号は、最小遅延保障のための遅延素子２０Ｄがある場合にはその遅延を受け、論路回路２０Ｂに入り演算を受けて、当該論理回路２０Ｂの遅延分だけ遅れて次のラッチ回路２０Ｃの入力端子Ｄに送られる。
【００２０】
このとき、クロックパルスＣＰがオフ状態（“Ｌ”レベル）であれば、ラッチ回路２０Ｃは信号を通さないので、次のクロックサイクルでのクロックパルスＣＰがオン状態になるまで論理回路２０Ｂは情報を保持して待機している。このようにして、上述した論理演算回路２０における回路の同期動作が実行される。
【００２１】
ここで、一方のラッチ回路２０Ａについて更に詳述する。
この一方のラッチ回路２０Ａは、クロックパルスＣＰのオン状態の間は、入力データ信号を当該ラッチ回路２０Ａの出力端子Ｑへ出力する機能を有している。ただし、クロックパルスＣＰのパルス幅が十分に狭い場合には、エッジトリガのＦＦ回路と同じようにクロックパルスＣＰがオン状態の時の入力信号が保持されて、ラッチ回路２０Ａの伝播遅延分だけ遅れて出力される。この時点から次のクロックパルスＣＰの立ち上がり時点までが論理回路２０Ｂに許容される時間になる（図２、記号Ａ参照）。
【００２２】
尚、実際の場では、その他、クロックタイミングの時間的なバラツキであるクロックスキューの影響等も考慮して遅延の許容時間を決定する必要がある。
【００２３】
又、クロックパルスＣＰのパルス幅が広い場合は、クロックパルスがオン状態の間に入力信号が変化するか否かで、動作が異なってくる。入力信号が変化しない場合は、クロックパルスの立ち上がり付近の入力信号によって後続の回路が動作するので、クロックパルスが細いときと同じように時間的な余裕が大きい（図２、記号Ｂ（１）参照）。
【００２４】
これに対し、クロックパルスがオン状態の間に入力信号が変化するときは、ラッチ回路２０Ａは、クロックパルスＣＰのオン状態の間中、入力信号をそのまま当該ラッチ回路２０Ａの出力端子Ｑへ出力し続けるので、最悪の場合、クロックパルスの立ち下がり付近の入力信号がラッチされて始めて信号が固定され、後続の論理回路２０Ｂの出力も安定するので時間的余裕は少なくなる（図２、記号Ｂ（２）参照）。
【００２５】
従って、クロッククパルスＣＰのオン状態での入力信号が変化しているような場合には、結局、次段の論理回路２０Ｂの動作基準時はこの時点までずれることになるので、次段の論理回路２０Ｂに許容される動作時間はクロックパルスが細い場合に比較して少なくなる。
【００２６】
一方、クロックパルスＣＰのパルス幅を細く（デューティ比を小さく）していくと、その動作が不安定になりやすく信頼性が低下し、ＬＳＩ製造の歩留まり低下も起こしやすい。即ち、クロックパルスＣＰの伝播中にジッタ等に起因してさらにパルス幅が狭くなりクロックパルスＣＰが消失してしまったり、ＬＳＩ製造プロセスにおける諸条件の変動・バラツキ等によってパルス幅が変動する効果が顕著にでてしまったりして、回路動作の信頼性低下及びＬＳＩの製造歩留まり低下が起きる。
【００２７】
以上説明したことから、本実施形態における上記半導体集積回路装置１は、上述のラッチ回路２０Ａ，２０Ｃの性質に鑑みて、論理回路２０Ｂの遅延余裕がない場合にはパルス幅の狭いクロックパルスＣＰを発生するクロックパルス発生器３０を使用し、論理回路２０Ｂに遅延余裕がある場合にはパルス幅の広いクロックパルスＣＰを発生するクロックパルス発生器３０を使用するというように、論理回路２０Ｂの遅延余裕に対応したパルス幅を有するクロックパルス発生器３０を一つのチップ内に複数備えて選択使用し、動作性能を決めるクロックサイクル（周波数）を維持しながら、クロックパルスＣＰの信頼性と製造歩留まりの向上を図ったものである。
【００２８】
即ち、これまでのラッチ回路を使用した論理回路を含むＬＳＩが、当該ＬＳＩ全体に対し論理回路の中で最大の遅延時間を持つものに合わせた１種類のパルス幅を有するクロックパルス発生器を用いていたのと対照的である。
【００２９】
ここで、遅延素子２０Ｄは、クロックパルスＣＰのデューティ比が十分小さい（パルス幅が細い）場合には不要であるが、パルス幅が広くなり且つ論理回路２０Ｂの遅延が小さいときはレーシングを防ぐため必要になる。即ち、ラッチ回路２０ＡはＦＦ回路と違って、クロックパルスＣＰがオンの間は入力信号がスルーで後段に伝播するので、後段の論理回路２０Ｂの遅延時間が小さいと、本来は次のクロックタイミングで後段に伝わるべき信号がそのまま後段に伝播してしまうという不都合が生じる（レーシング）（図２、記号Ｂ（３）参照）。それを防ぐため、論理回路２０Ｂの遅延時間とクロックパルス幅に応じた最低遅延保障用の遅延素子２０Ｄが装備されている。
【００３０】
次に、上記したクロックパルス発生器３０の具体例とその動作を、図３に基づいて説明する。
図３（Ａ）にクロックパルス発生器３０の具体例として二つの回路例を示す。これからも明らかのように、本クロックパルス発生器３０は、ＮＡＮＤ回路３０ａの２つの入力端子の一方の端子にインバータ回路３０ｂが奇数個縦続接続され、同時に、そのＮＡＮＤ回路３０ａの出力端にインバータ回路３０ｃが接続されてＡＮＤ回路に構成されている。この場合、このインバータ回路３０ｃは遅延と（入力信号の反転）を与える機能を有している。
【００３１】
図３（Ｂ）は本クロックパルス発生器の動作タイミングチャートを示している。クロック分配システム２のクロック源から分配されたデューティ比５０〔％〕程度の源クロック信号ＣＬＫが上段に示され、この源クロック信号を奇数個接続されたインバータ回路で遅延し反転した信号ＣＢが中段に示されている。それら２つの信号のＡＮＤ回路の出力信号、即ち、クロックパルス発生器３０のクロックパルスＣＰの波形を下段に示す。インバータ回路の段数が増えるにつれ遅延が増すのでクロックパルスＣＰのパルス幅が広がることが示されている。本実施形態では、このようなパルス幅の異なるクロック信号を発生する複数のクロックパルス発生器を使用して、高速性を維持しながら動作の信頼性と製造歩留まりの向上を図っている。
【００３２】
即ち、上述した図１に示す半導体集積回路装置１にあっては、以上のように構成し動作するので、遅延が大きくその動作に余裕が無い論理回路に併設されたラッチ回路の駆動においても高速クロックパルス動作を維持しつつ、遅延が少なくその動作に余裕がある論理回路のラッチ回路の駆動においてはクロックパルスのパルス幅を広げるので、動作の信頼性向上、及びＬＳＩチップの製造歩留まり向上の効果を奏する。
【００３３】
換言すると、論理回路２０Ｂの遅延が少なくその動作に余裕がある場合には、クロックパルスのパルス幅を広げるので、動作の信頼性向上及びチップの製造歩留まりが向上する。また、論理回路２０Ｂの遅延に余裕が無い場合にはパルス幅が細いままなので、タイミングが厳しい論理回路においてもクロック周波数を高く維持でき、高速動作が可能であるという効果がある。
このように、論理演算回路２０は上述したように構成され機能するようになっており、又、他の論理演算回路２１，２２，……についても、それぞれ同様に構成され、同様の作用効果を備えたものとなっている。
【００３４】
上記図１における半導体集積回路装置１にあっては最適化された状態のクロックパルスについて説明した。
そこで、次に、上述したクロックパルスの最適化方法について、更に詳細に説明する。  上記実施形態において説明した半導体集積回路装置１の各回路の設定若しくは構築にあっては、回路シミュレーション装置１０により実行される。この場合、上述した論理演算回路２０の場合を例にして説明する。
【００３５】
まず、回路シミュレーション装置１０は、図４（Ａ）に示すように、半導体集積回路１を構成する回路素子データに対するライブラリを予め格納した第１のメモリ１０Ａと、その格納されたライブラリよりシミュレーション対象回路の回路構成を行なう回路設定指令プログラムを記憶した第２のメモリ１０Ｂと、この回路設定指令プログラムに基づいて作動し前述した半導体集積回路１を構築するシミュレーション演算制御部１１と、このシミュレーション演算制御部１１で演算される情報およびその結果をリアルタイムで表示する表示部１２と、この表示部１２で表示された内容を外部からの指令に応じて記憶する第３のメモリ１０Ｃとを備えている。
【００３６】
前述したシミュレーション演算制御部１１は、システム各部の動作を制御するシステム各部動作制御機能１１ａを備えている。更に、このシミュレーション演算制御部１１は、後述するように、シミュレーション用対象回路設定機能１１ｂと、遅延時間算出機能１１ｃと、遅延余裕有無判断機能１１ｄと、クロックパルス発生器再設定機能１１ｅとを備えている。
【００３７】
符号１３は、前述したシミュレーショ演算制御部１１に種々の外部指令および新しいデータおよび指令情報等を入力する入力部を示す。又、符号１１Ａは、シミュレーショ演算制御部１１での演算結果を外部出力する情報出力端子を示す。
【００３８】
ここで、まず、本実施形態におけるクロックパルス最適化法の基本概念を説明し、その後に詳細な説明を行なう。
【００３９】
本実施形態におけるクロックパルス最適化法は、回路素子データに対応したライブラリを備えた回路シミュレーション装置１０上に、そのライブラリより、クロックパルス発生器３０を含むシミュレーション対象回路を先ず入力・設定し、その対象回路の動作シミュレーションにより動作遅延を算出し、クロックサイクルと比較して遅延余裕の検証を行い、遅延時間の余裕があればよりパルス幅の広いクロックパルス発生器３０に置き換える工程を繰り返す。これにより、最適なパルス幅をもったクロックパルス発生器３０を決定するものである。
これは、従来、遅延時間の余裕に関わらず、一律にクロックパルス発生器３０のパルス幅を決めていたのと著しく相違する。
【００４０】
次に、図４乃至図５に基づいて、これを更に詳述する。
ここで、図４は前述したように回路シミュレーション装置１０の概略構成を示し、図５は図４における回路シミュレーション装置１０を用いたクロック分配システムのクロックパルス最適化法を示すフローチャートである。
【００４１】
まず最初に、回路シミュレーション装置１０のシミュレーショ演算制御部１１が稼働してクロックパルス最適化の対象である半導体集積回路（ＬＳＩ）１の回路構成を、前述したライブラリより回路シミュレーション装置１０上に入力・設定する（ステップＳ１０１、回路設定工程）。これは、シミュレーショ演算制御部１１のシミュレーション用対象回路設定機能１１ｂにより実行される。即ち、シミュレーションの対象となる半導体集積回路１、即ち、論理回路，ミニマム遅延保障用遅延素子，その前後段に設けられたラッチ回路，そのラッチ回路へクロックパルスを供給するクロックパルス発生器を含むクロック分配システムにかかる各情報が、前述した各メモリ１０Ａ，１０Ｂに格納された前記ライブラリから入力される（図１参照）。
【００４２】
ここで、クロックパルス発生器３０として、図３（Ａ）に示す複数種類のクロックパルス発生器３０，３０の中から、適当にクロックパルス発生器を選択する。後に論理回路等の遅延時間を考慮してクロックパルス発生器３０を選択し直すので、最小パルス幅のものを選択してもよいし、或いは任意に選択してもよい。
【００４３】
次に、パルス幅に応じた最小遅延保障の遅延を与えるために挿入される遅延素子２０Ｄの遅延時間を与える（ステップＳ１０２，最小遅延保障工程）。
これは、クロック信号のパルス幅が広くて論理回路２０Ｂでの遅延が小さい場合に、本来、次のクロックサイクルで後段に伝えるべき信号が先に伝わり誤動作を生じるという、ラッチ回路特有のレーシングを防ぐためである。そのため、具体的な最小遅延保障の遅延時間は、パルス幅に依存したものになる。
【００４４】
次に、論理回路２０Ｂの前段及び後段に設けられたラッチ回路２０Ａからラッチ回路２０Ｃまでの遅延をシミュレーションにより算出する（ステップＳ１０３，遅延算出工程）。この算出は、前記最低保障遅延を含めて行ない、選択した初期クロックパルス発生器３０を用いて論理回路２０Ｂを動作させるシミュレーションを行うことでなされる。これは、シミュレーショ演算制御部１１の遅延時間算出機能１１ｃにより実行される。
【００４５】
次に、クロックのサイクル時間と比較して、遅延の余裕があるか否かの検証を行なう（ステップＳ１０４，遅延余裕検証工程）。この場合、クロックタイミングのずれ（クロックスキューと呼ばれる）等の影響も考慮して検証する。これは、シミュレーショ演算制御部１１の遅延余裕有無判断機能１１ｄにより実行される。
【００４６】
前記遅延余裕検証工程において遅延の余裕があると判断された場合には、クロックパルス発生器３０のライブラリの中から、遅延の余裕に応じてパルス幅の広いクロックパルス発生器３０を選択する（ステップＳ１０５，クロックパルス発生器再選択工程）。これは、シミュレーショ演算制御部１１のクロックパルス発生器再設定機能１１ｅにより実行される。
そして、クロックパルス発生器３０が再選択された結果の修正された回路に基づき、その後、上述した最小遅延保障，遅延算出，遅延余裕検証，クロックパルス発生器再選択の各工程が、前述した遅延の余裕がなくなるまで繰り返えされる。
【００４７】
以上で、一つの論理回路（組合せ論理回路）とラッチ回路を構成単位とする回路に対するクロックパルス発生器の選択設定が完了する。以下、論理回路とラッチ回路を構成単位とする論理演算回路２１，２２，……を順次指定して、上記工程を繰り返えされる。
【００４８】
以上によって、設計対象の半導体集積回路（ＬＳＩ）１に関して、高速動作を維持しながら信頼性と製造歩留まりを向上させるように、クロックパルス発生器のパルス幅（クロックパルスのデューティ比）を最適に決定することができる。
【００４９】
ここで、上述した回路設定工程，最小遅延保障工程，遅延算出工程，遅延余裕検証工程，及びクロックパルス発生器再選択工程の各工程については、その各処理内容をプログラム化し、コンピュータに実行させるよう構成してもよい。尚、このようなクロックパルス最適化プログラムをコンピュータ・システムで実行する場合には、クロックパルス発生器、ラッチ回路及び組合せ論理回路等の回路素子データを備えたライブラリを予め記憶装置に備えておく必要がある。
【００５０】
以上説明したように、本実施形態におけるＬＳＩのクロックパルス最適化方法は、設計対象であるＬＳＩに関して、複数のパルス幅（クロックパルスのデューティ比）のクロックパルス発生器を論理回路の遅延時間に基づいて最適に決定できるものあり、回路の高速動作を維持しながら同時に動作の信頼性と製造歩留まりの向上した半導体集積回路（ＬＳＩ）の提供が可能になる。
【産業上の利用可能性】
【００５１】
本発明は、複数のパルス幅（クロックパルスのデューティ比）のクロックパルス発生器を論理回路の遅延時間に基づいて最適に決定できるものあり、複数のパルス幅を可変調整する機器にあっては、回路シミュレーションとして本案を有効利用することにより、許容できる最適なパルス幅を短時間で推定することができ、汎用性が高い。
【図面の簡単な説明】
【００５２】
【図１】本発明の一実施形態に係る半導体集積回路装置を示すブロック図である。
【図２】図１に開示した半導体集積回路装置の動作を示すタイミングチャートである。
【図３】図１に開示した半導体集積回路装置が備えているクロックパルス発生器を示す図で、図３（Ａ）はクロックパルス発生器の二つの回路例を示し、図３（Ｂ）はクロックパルス発生器内のインバータ回路の遅延状態タイミングチャートである。
【図４】図１に開示した半導体集積回路装置のクロックパルス最適化方法を実行する場合の回路シミュレーション装置の一例を示す図で、図４（Ａ）は回路シミュレーション装置を示すブロック図、図４（Ｂ）は図４（Ａ）におけるシミュレーション演算制御部の機能を示すブロック図である。
【図５】図４に開示した回路シミュレーション装置の動作例を示すフローチャートである。
【符号の説明】
【００５３】
１  半導体集積回路装置（ＬＳＩ）
２  論理演算部
３  クロック分配システム
２０，２１，２２  論理演算回路
２０Ａ，２１Ａ，２２Ａ  一方のラッチ回路（パルスラッチ回路）
２０Ｂ，２１Ｂ，２２Ｂ  論理回路（組合せ論理回路）
２０Ｃ，２１Ｃ，２２Ｃ  他方のラッチ回路（パルスラッチ回路）
２０Ｄ，２１Ｄ，２２Ｄ  遅延素子（最小遅延保障遅延線）
３０，３１，３２  クロックパルス発生器
ＣＬＫ  源クロック信号
ＣＰ    クロックパルス
【図１】
0004385234.tif 000002
【図２】
0004385234.tif 000003
【図３】
0004385234.tif 000004
【図４】
0004385234.tif 000005
【図５】
0004385234.tif 000006