実施形態の理解を容易にするため、本発明者は、比較例として図1のような半導体集積回路1100を考察した。半導体集積回路1100は、第1回路ブロック1110と、第2回路ブロック1120と、当該第1および第2の回路ブロック間の通信を制御する制御部1195とを有する。制御部1195は、クロック生成部1140と、リセット生成部1141と、同期制御部1142と、制御信号生成部1144と、を備える。図1には2つの回路ブロックが示されているが、より多くの回路ブロックが存在してもよい。
第1回路ブロック1110は、自身の機能処理を実行する第1機能処理部1112と、第1回路ブロックの内部クロックを調整する第1位相制御部1111と、を含む。第2回路ブロック1120は第1回路ブロック1110と同様に構成されており、第2機能処理部1122と、第2位相制御部1121と、を含む。
クロック生成部1140は、所定のクロック信号すなわち半導体集積回路1100の基本周波数を有する矩形波信号である基本クロック信号S1151を生成し、第1位相制御部1111、第2位相制御部1121および制御信号生成部1144、へ出力する。第1位相制御部1111、第2位相制御部1121はそれぞれ、入力される基本クロック信号S1151に基づき第1回路ブロック1110の第1内部クロック信号S1161、第2回路ブロック1120の第2内部クロック信号S1171を生成する。第1内部クロック信号S1161、第2内部クロック信号S1171はそれぞれ第1機能処理部1112、第2機能処理部1122に供給される。各機能処理部1112、1122は、供給された内部クロック信号に基づき処理を行う。
リセット生成部1141は、半導体集積回路1100のリセットが指示された場合にリセット信号S1152を生成し、第1位相制御部1111、第2位相制御部1121、同期制御部1142および制御信号生成部1144へ出力する。リセット信号S1152を受ける各部、各ブロックは、リセット信号S1152を受けると自身を初期化するための処理を行うよう構成される。
同期制御部1142は、回路ブロック間のデータ転送などの回路ブロック間の連携が要求される場合、同期制御信号S1153を生成し、制御信号生成部1144へ出力する。
制御信号生成部1144は、入力される同期制御信号S1153に基づいて同期指示信号S1155を生成し、第1位相制御部1111に出力する。同期指示信号S1155は、第1回路ブロックのクロック信号を調整するための制御信号である。第1回路ブロック1110は次段用同期指示信号S1162を生成可能に構成される。第1位相制御部1111は、入力された同期指示信号S1155に基づき次段用同期指示信号S1162を生成し、第2位相制御部1121に出力する。第1回路ブロック1110と第2回路ブロック1120とは、第1回路ブロック1110から出力される次段用同期指示信号S1162によりクロックの位相が同期される。
本比較例に係る半導体集積回路1100では、回路ブロック間にマスタ・スレーブのような固定的な従属関係を設定した上でそれらの回路ブロック間で位相の同期を行う。より具体的には、同期指示信号は、制御信号生成部1144を起点とした回路ブロックのカスケード接続またはデイジーチェイン接続により伝達される。制御信号生成部1144を起点とする同期指示信号の経路は第1回路ブロック1110、第2回路ブロック1120を直列に通る。その結果、例えば省電力制御として経路の途中の回路ブロックが電源遮断やクロックゲーティングなどにより非活性化された場合の対応には制限があり、大規模なシステムを構築することは難しい。また、本比較例の方式を使って回路を実装すると、クロック同期式のデータ転送に比べてパフォーマンスが劣る場合がある。
以下、添付図面に従って本発明に係る実施形態を詳細に説明する。なお、以下で説明する各実施形態は、本発明を具体的に実施した例を示すもので、特許請求の範囲に記載の構成の具体的な実施形態の1つである。また、各図面に示される同一または同等の構成要素、部材、信号には、同一の符号を付するものとし、適宜重複した説明は省略する。
[第1の実施形態]
第1の実施形態に係る半導体集積回路では、複数の回路ブロックを直列に通るデフォルトまたはメインの同期指示信号の経路とは別に、ある回路ブロックと別の回路ブロックとの間に予備的な経路が設けられる。この予備的な経路は、同期指示信号に、少なくともひとつの回路ブロックをバイパスさせるためのバイパス経路である。これにより、バイパスされる回路ブロックが非活性化される場合でも、バイパスされる回路ブロックの後段の回路ブロックに同期指示信号を伝達できる。
図2は、第1の実施形態に係る半導体集積回路100の構成例を示すブロック図である。半導体集積回路100では、複数の回路ブロックの間の同期関係が調整される。半導体集積回路100は、第1回路ブロック110と、第2回路ブロック120と、第1および第2回路ブロックの下流に位置する第3回路ブロック130と、当該第1、第2および第3回路ブロック間の通信を制御する制御部195と、を有する。制御部195は、比較例のクロック生成部1140に対応するクロック生成部140と、比較例のリセット生成部1141に対応するリセット生成部141と、比較例の同期制御部1142に対応する同期制御部142と、電源制御部143と、制御信号生成部144と、を備える。
クロック生成部140は、比較例の基本クロック信号S1151に対応する基本クロック信号S151を生成し、制御信号生成部144、第1回路ブロック110、第2回路ブロック120、および第3回路ブロック130へ出力する。図2では省略されているが、基本クロック信号S151は多くのまたは全ての順序回路に接続されていてもよい。また、図2では基本クロック信号S151は共通の経路を使用して各回路に供給されているが、それぞれの接続先に対し独立に供給される構成としてもよい。
リセット生成部141は、比較例のリセット信号S1152に対応するリセット信号S152を生成し、同期制御部142、電源制御部143、制御信号生成部144、第1回路ブロック110、第2回路ブロック120、および第3回路ブロック130へ出力する。図2では省略されているが、リセット信号S152は多くのまたは全ての順序回路に接続されていてもよい。また、図2ではリセット信号S152は共通の経路を使用して各回路に供給されているが、それぞれの接続先に対し独立に供給される構成としてもよい。
同期制御部142は、比較例の同期制御信号S1153に対応する同期制御信号S153を生成し、制御信号生成部144へ出力する。
電源制御部143は、省電力制御等により回路ブロックの電源の遮断が要求される場合、電源遮断対象の回路ブロックを特定する遮断対象IDを含む電源制御信号S154を生成し、制御信号生成部144へ出力する。
制御信号生成部144は、同期制御信号S153に基づいて同期指示信号S155を生成し、第1回路ブロック110へ出力する。制御信号生成部144は、電源制御信号S154に基づいて電源遮断信号S156と切替信号S157とを生成し、電源遮断信号S156を電源遮断対象の回路ブロック(図2の例では第2回路ブロック120)へ出力し、切替信号S157を信号切替対象の回路ブロック(図2の例では第3回路ブロック130)へ出力する。切替信号S157は、第1回路ブロック110からの第1バイパス用同期指示信号S163および第2回路ブロック120からの第2次段用同期指示信号S172のうちの1つを選択させる制御信号である。
第1回路ブロック110は、比較例の第1機能処理部1112に対応する第1機能処理部112と、第1回路ブロック110の内部クロックを調整する第1位相制御部111と、を含む。第1位相制御部111は、制御部195からの同期指示信号S155と基本クロック信号S151とに基づいて生成した動作クロックを、第1機能処理部112へ供給するとともに、同期指示信号S155に基づき、予め設定された下流に位置する第2回路ブロック120および第3回路ブロック130に第1次段用同期指示信号S162、第1バイパス用同期指示信号S163をそれぞれ供給する。第1位相制御部111には基本クロック信号S151とリセット信号S152と同期指示信号S155とが入力される。第1位相制御部111は、基本クロック信号S151と同期指示信号S155とに基づき第1内部クロック信号S161を生成し、第1機能処理部112に出力する。第1位相制御部111は、入力される同期指示信号S155に基づき第1次段用同期指示信号S162、第1バイパス用同期指示信号S163を生成し、それぞれ第2回路ブロック120、第3回路ブロック130に出力する。第1次段用同期指示信号S162は第2回路ブロック120の内部クロック信号を調整するための制御信号である。
第2回路ブロック120は、比較例の第2機能処理部1122に対応する第2機能処理部122と、第2回路ブロック120の内部クロックを調整する第2位相制御部121と、を含む。第2位相制御部121は、予め設定された上流に位置する第1回路ブロック110からの第1次段用同期指示信号S162と基本クロック信号S151とに基づいて生成した動作クロックを、第2機能処理部122へ供給するとともに、第1次段用同期指示信号S162に基づき、予め設定された下流に位置する第3回路ブロック130に第3回路ブロック用の第2次段用同期指示信号S172を供給する。第2位相制御部121には基本クロック信号S151とリセット信号S152と第1次段用同期指示信号S162とが入力される。第2位相制御部121は、基本クロック信号S151と第1次段用同期指示信号S162とに基づき第2内部クロック信号S171を生成し、第2機能処理部122に出力する。第2位相制御部121は、入力される第1次段用同期指示信号S162に基づき第2次段用同期指示信号S172を生成し、第3回路ブロック130に出力する。
第3回路ブロック130は、処理を行う第3機能処理部132と、第3回路ブロック130の内部クロックを調整する第3位相制御部131と、を含む。第3位相制御部131は、予め設定された上流に位置する第1回路ブロック110からの第1バイパス用同期指示信号S163および第2回路ブロック120からの第2次段用同期指示信号S172のうちから選択された1つと基本クロック信号S151とに基づいて生成した動作クロックを、第3機能処理部132へ供給するとともに、選択された同期指示信号に基づき、予め設定された下流に位置する1以上の回路ブロックに該回路ブロック用の同期指示信号を供給する。第3位相制御部131には基本クロック信号S151とリセット信号S152と第1バイパス用同期指示信号S163と、第2次段用同期指示信号S172と、切替信号S157とが入力される。第3位相制御部131は、第1バイパス用同期指示信号S163または第2次段用同期指示信号S172のいずれか一方と基本クロック信号S151とに基づき第3内部クロック信号S181を生成し、第3機能処理部132に出力する。第3位相制御部131は、入力される切替信号S157と第1バイパス用同期指示信号S163と第2次段用同期指示信号S172とに基づいて、第3次段用同期指示信号S182と第2バイパス用同期指示信号S183を生成する。
第3内部クロック信号S181の位相は、デフォルトでは第2次段用同期指示信号S172により調整される。特に、該位相は第2内部クロック信号S171の位相と揃うよう調整される。しかしながら、第3回路ブロック130には第3内部クロック信号S181が第2次段用同期指示信号S172によって調整されないモードが存在し、そのモードのときは第3内部クロック信号S181は第1バイパス用同期指示信号S163によって調整される。切替信号S157は第3回路ブロックの動作モードを切り替える信号であるといえる。
接続する回路ブロックが更に存在する場合には、第3次段用同期指示信号S182、第2バイパス用同期指示信号S183を不図示の他の回路ブロックに接続することになる。また、次段用同期指示信号の経路の数に制限は無く、接続先はどのように組み替えてもよい。
図3(A)は、第1位相制御部111の構成例を示すブロック図である。第1位相制御部111は、第1同期信号S241を生成する第1同期信号生成部210と、分周回路211と、第1機能処理部112に供給する内部クロック信号を選択する第1セレクタ212と、次段用信号生成部213と、を含む。
第1同期信号生成部210には、基本クロック信号S151とリセット信号S152と同期指示信号S155とが入力される。第1同期信号生成部210は入力された同期指示信号S155に基づき第1同期信号S241を生成し、分周回路211、および次段用信号生成部213へ出力する。
分周回路211には、基本クロック信号S151と第1同期信号S241とが入力される。分周回路211は、入力されたそれらの信号を基に第1分周クロック信号S243を生成して第1セレクタ212、および次段用信号生成部213へ出力する。
第1セレクタ212には、基本クロック信号S151と第1分周クロック信号S243とが入力される。第1セレクタ212は、不図示の制御信号に応じて、入力されたそれらの信号の一方を選択し、選択された信号を第1内部クロック信号S161として第1機能処理部112へ出力する。
次段用信号生成部213には、基本クロック信号S151と第1分周クロック信号S243と第1同期信号S241とが入力される。次段用信号生成部213は、入力されたこれらの信号を基に第1次段用同期指示信号S162、第1バイパス用同期指示信号S163を生成する。
第2位相制御部121は以下の点を除いて図3(A)に示される第1位相制御部111の構成と同様の構成を有する。第2位相制御部121では、第1同期信号生成部には同期指示信号S155の代わりに第1次段用同期指示信号S162が入力される。次段用信号生成部は、第1次段用同期指示信号S162の代わりに第2次段用同期指示信号S172を生成し、第1バイパス用同期指示信号S163に対応する信号を生成しない。
図3(B)は、第3位相制御部131の構成例を示すブロック図である。第3位相制御部131は、第2同期信号生成部230と、分周回路211と、第1セレクタ212と、次段用信号生成部213と、を含む。
第2同期信号生成部230には、基本クロック信号S151とリセット信号S152と第2次段用同期指示信号S172と第1バイパス用同期指示信号S163と切替信号S157とが入力される。第2同期信号生成部230は、第2次段用同期指示信号S172、第1バイパス用同期指示信号S163のうちから切替信号S157に応じて選択された一方に基づき第2同期信号S261を生成し、分周回路211、および次段用信号生成部213へ出力する。
第3位相制御部131において、分周回路211から第2分周クロック信号S263が出力され、第1セレクタ212から第3内部クロック信号S181が出力され、次段用信号生成部213から第3次段用同期指示信号S182と第2バイパス用同期指示信号S183とが出力される。
図4(A)は、第1同期信号生成部210の構成例を示す回路図である。第1同期信号生成部210は、Dフリップフロップである第1フリップフロップ301と、組み合わせ回路であるORゲート302と、を有する。ORゲート302には同期指示信号S155と第1フリップフロップ301の出力信号である第1同期信号S241とが入力される。第1フリップフロップ301の入力端子にはORゲート302の出力信号が入力され、第1フリップフロップ301のクロック端子には基本クロック信号S151が入力される。第1フリップフロップ301の出力信号の初期値はLOWとなっており、同期指示信号S155がHIGHになった場合にORゲート302はHIGHを出力する。そのHIGH出力を受けて、第1フリップフロップ301の出力信号はHIGHにラッチされる。
図4(B)は、第2同期信号生成部230の構成例を示す回路図である。第2同期信号生成部230は、第1フリップフロップ301と、ORゲート302と、第2セレクタ311と、を有する。第2セレクタ311には第2次段用同期指示信号S172と第1バイパス用同期指示信号S163と切替信号S157とが入力される。第2セレクタ311は、切替信号S157のレベルすなわちHIGHかLOWかに応じて、第2次段用同期指示信号S172、第1バイパス用同期指示信号S163のいずれかを選択し、選択された信号をORゲート302へ出力する。切替信号S157のレベルが変わると、第2セレクタ311は出力を第2次段用同期指示信号S172から第1バイパス用同期指示信号S163へ、もしくはその逆へと切り替える。特に第2セレクタ311は、切替信号S157がアサートされるとすなわちLOWからHIGHへ遷移すると、出力を第2次段用同期指示信号S172から第1バイパス用同期指示信号S163へ切り替えるよう構成される。第2同期信号生成部230において第1フリップフロップ301の出力信号は第2同期信号S261として出力される。
第1および第2同期信号生成部210、230を上記のような回路構成とすることで、同期指示信号の最初の立ち上がりが保持され、同期信号は値がいったんHIGHになるとHIGHに固定されたまま出力される。一連の処理が終了した後、第1フリップフロップ301の出力はリセット信号S152等により初期化され、LOWレベルとなってもよい。
図5(A)は、分周回路211の構成例を示す回路図である。分周回路211は、第2フリップフロップ401と、組み合わせ回路である第1ANDゲート402と、を有する。第1ANDゲート402には第1同期信号S241と第2フリップフロップ401の出力信号である第1分周クロック信号S243の反転信号とが入力される。第2フリップフロップ401の入力端子には第1ANDゲート402の出力信号が入力され、第2フリップフロップ401のクロック端子には基本クロック信号S151が入力される。第2フリップフロップ401の出力信号の初期値はLOWとなっており、第1同期信号S241がHIGHになった場合に第1ANDゲート402はHIGHを出力する。その後、第2フリップフロップ401は、基本クロック信号S151の立ち上がりエッジに応じて出力信号をLOWからHIGHに遷移させる。出力信号がHIGHになり、その反転信号がLOWとなると、第1ANDゲート402はLOWを出力する。以上の結果、第2フリップフロップ401の出力信号である第1分周クロック信号S243は基本クロック信号S151を2分周した信号となる。なお、図5(A)に示される2分周回路は一例であって、第1同期信号S241のアサートに応じて、基本クロック信号S151を2分周した第1分周クロック信号S243を生成するよう構成された任意の2分周回路が用いられてもよい。
図6(A)は、次段用信号生成部213の構成例を示す回路図である。次段用信号生成部213は、第3フリップフロップ501と、第4フリップフロップ502と、第5フリップフロップ503と、第6フリップフロップ504と、第2ANDゲート505と、第3ANDゲート506と、遅延部550と、を有する。
第3フリップフロップ501の入力端子には第1同期信号S241が入力され、クロック端子には第1分周クロック信号S243が入力される。第4フリップフロップ502の入力端子には第3フリップフロップ501の出力信号が入力され、クロック端子には第1分周クロック信号S243が入力される。第3フリップフロップ501および第4フリップフロップ502は協働して、第1同期信号S241に少なくとも第1分周クロック信号S243の1周期分の遅延を与えるとともに第1分周クロック信号S243に同期させてイネーブル検出信号S511として出力する。
遅延部550は、基本クロック信号S151を受けてそれにわずかな遅延を与え、遅延クロック信号S509として出力する。遅延部550における遅延量は、遅延クロック信号S509の立ち上がりエッジが第1分周クロック信号S243の分周開始位置となる立ち上がりエッジよりも遅くなり、後述の第5フリップフロップ503において第1分周クロック信号S243のレベルの変化を遅延クロック信号S509で取り込めるように設定される。
第5フリップフロップ503の入力端子には第1分周クロック信号S243が入力され、クロック端子には遅延クロック信号S509が入力される。第6フリップフロップ504の入力端子には第5フリップフロップ503の出力信号が入力され、クロック端子には遅延クロック信号S509が入力される。第2ANDゲート505の一方の入力端子には第5フリップフロップ503の出力信号が、他方の入力端子には第6フリップフロップ504の出力信号の反転信号が、それぞれ入力される。第5フリップフロップ503の出力信号がHIGHで第6フリップフロップ504の出力信号がLOWのとき立ち上がり検出信号S512はHIGHとなり、それ以外の場合は立ち上がり検出信号S512はLOWとなる。したがって、第5フリップフロップ503、第6フリップフロップ504および第2ANDゲート505は第1分周クロック信号S243の立ち上がりエッジを検出する立ち上がり検出部を形成する。第1分周クロック信号S243の立ち上がりエッジに対応して立ち上がり検出信号S512には遅延クロック信号S509の1周期分の幅を有するパルスが生じる。
第3ANDゲート506の一方の入力端子にはイネーブル検出信号S511が、他方の入力端子には立ち上がり検出信号S512がそれぞれ入力される。第3ANDゲート506の出力信号は第1次段用同期指示信号S162および第1バイパス用同期指示信号S163として出力される。
なお、本実施形態の次段用信号生成部213では、遅延クロック信号S509の入力のタイミングを調整することで第1分周クロック信号S243の分周開始位置のHIGH信号を取り込めるようにしているが、これに限られず、例えば反転バッファ等を用いることで立ち上がり、立ち下がりを検出してもよい。また、他の立ち上がり、立ち下がり検出回路を用いてもよい。
図7は、制御信号生成部144の構成例を示すブロック図である。制御信号生成部144は、同期指示信号生成部601と、電源遮断信号生成部602と、接続関係テーブル603と、を有する。制御信号生成部144は、回路ブロックが電源遮断対象であるとかクロックゲーティングの対象であるなどの回路ブロックの状況に応じて、その回路ブロックにより同期指示信号が供給される回路ブロックに同期指示信号の供給元を切り替えさせるための切替信号を生成する。同期指示信号生成部601、及び電源遮断信号生成部602の処理のフローを図8、及び図9にそれぞれ示す。同期指示信号生成部601は、基本クロック信号S151とリセット信号S152と同期制御信号S153とを受け、同期指示信号S155を生成して出力する。電源遮断信号生成部602は、基本クロック信号S151とリセット信号S152と電源制御信号S154とを受け、電源遮断信号S156と切替信号S157とを生成して出力する。
図8は、図7の同期指示信号生成部601における処理の流れの一例を示すフローチャートである。ステップS701では、動作開始後、同期指示信号生成部601に同期制御部142から同期制御信号S153が入力される。ステップS702では、同期制御信号S153がHIGHの場合にステップS703へ進み、同期制御信号S153がHIGH以外の場合にはステップS701へ戻る。ステップS703では、同期指示信号S155を生成する。特に、同期指示信号生成部601は第1回路ブロック110に出力される同期指示信号S155のレベルをHIGHに遷移させる。
このように同期指示信号生成部601は、同期制御信号S153がHIGHになった場合に同期指示信号S155を出力する。
図9は、図7の電源遮断信号生成部602における処理の流れの一例を示すフローチャートである。ステップS801では、動作開始後、電源遮断信号生成部602に電源制御部143から電源制御信号S154が入力される。ステップS802では、電源制御信号S154がHIGHの場合にステップS803へ進み、電源制御信号S154がHIGH以外の場合にはステップS801へ戻る。ステップS803では、電源遮断信号生成部602は接続関係テーブル603を参照し、切替信号S157を生成する。特に電源遮断信号生成部602は切替対象の回路ブロックに出力される切替信号S157のレベルをHIGHに遷移させる。ステップS804では、電源遮断信号生成部602は電源遮断信号S156を生成する。特に、電源遮断信号生成部602は遮断対象の回路ブロックに出力される電源遮断信号S156のレベルをHIGHに遷移させる。
このように電源遮断信号生成部602は電源制御信号S154がHIGHになった場合に、まず切替信号S157を生成し、その後、電源遮断信号S156を生成する。これにより、電源遮断信号S156が遮断対象の回路ブロックに到達する前に切替信号S157が切替対象の回路ブロックに到達するので、切替対象の回路ブロックで使用される次段用同期指示信号が不定値となって回路の性能が落ちることを抑制できる。
図10は、接続関係テーブル603の一例を示すデータ構造図である。接続関係テーブル603は制御信号生成部144のROM(Read Only Memory)、RAM(Random Access Memory)などのメモリ(不図示)に保持されるテーブルである。接続関係テーブル603は、半導体集積回路100における同期指示信号の経路に関する情報を保持する。接続関係テーブル603は、回路ブロック間または同期指示信号の生成起点である制御信号生成部144と回路ブロックとの間の同期指示信号の授受関係を保持する。図10の例では、接続関係テーブル603は、半導体集積回路100に含まれる回路ブロックを特定するIDと、その回路ブロックに同期指示信号を送っている少なくともひとつの送信元回路ブロックの送信元IDと、現在その回路ブロックによって送信元として選択されている回路ブロックの現在送信元IDと、を対応づけて保持する。図10の例では、第1回路ブロック110(IDは「A110」)には制御信号生成部144(IDは「Origin」)から同期指示信号が供給され、第2回路ブロック120(IDは「A120」)には第1回路ブロック110から同期指示信号が供給され、第3回路ブロック130(IDは「A130」)には第1回路ブロック110と第2回路ブロック120とからそれぞれ同期指示信号が供給されている。第3回路ブロック130は現在の送信元として第2回路ブロック120を選択している。すなわち、第3回路ブロック130は、第1バイパス用同期指示信号S163、第2次段用同期指示信号S172のなかから第2次段用同期指示信号S172を同期指示信号として選択している。
電源遮断信号生成部602は、入力された電源制御信号S154に含まれる遮断対象IDを取得する。電源遮断信号生成部602は、接続関係テーブル603を参照して遮断対象IDを現在送信元IDとしている回路ブロックを特定する。電源遮断信号生成部602は、特定された回路ブロックに出力される切替信号S157のレベルをHIGHに遷移させ、特定された回路ブロックの現在送信元IDを更新する。電源遮断信号生成部602は、その後、遮断対象IDで特定される回路ブロックに出力される電源遮断信号S156のレベルをHIGHに遷移させる。
なお、図10では送信元回路ブロックが3以上ある場合が想定されている。送信元回路ブロックが3以上ある回路ブロックに出力される切替信号は、切替先の送信元回路ブロックを特定するIDを含んでもよい。送信元回路ブロックが2つの場合はそのようなIDは必要ない。切替先は自明だからである。
本実施形態では、第3回路ブロックがバイパス用および次段用の2つの同期指示信号を受けるよう構成されている。半導体集積回路の複数の回路ブロックのうち、どの回路ブロックを2つ以上の同期指示信号を受ける回路ブロックとするかは、半導体集積回路の用途、目的や各回路ブロックの機能などにより適宜決定されればよい。設計思想の一例としては、電源の遮断やクロックゲーティングの対象となりうる回路ブロックをバイパスするようバイパス経路を設定する。
図11は、半導体集積回路100における信号波形を示すタイミングチャートである。前提として、制御信号生成部144において電源遮断信号S156が生成され、該信号は第2回路ブロック120に入力され、第2回路ブロック120において電源遮断処理が行われる。その結果、同期指示信号の直列経路は第2回路ブロック120において切断される。
時刻T1において、制御信号生成部144は同期指示信号S155のレベルをHIGHに遷移させる。時刻T2において、基本クロック信号S151に立ち上がりエッジが現れ、第1同期信号S241は同期指示信号S155と同じHIGHレベルに遷移する。時刻T3において、制御信号生成部144は切替信号S157を出力し、第3回路ブロック130の同期指示信号の経路が第2次段用同期指示信号S172から第1バイパス用同期指示信号S163へ切り替えられる。時刻T4において、制御信号生成部144は電源遮断信号S156を出力する。
時刻T2から基本クロック信号S151の1周期後の時刻T5において、第1回路ブロック110の第1分周クロック信号S243が開始され、その開始の立ち上がりエッジの検出に応じて立ち上がり検出信号S512にパルスが現れる。時刻T5から第1分周クロック信号S243の1周期後の時刻T6において、イネーブル検出信号S511のレベルがLOWからHIGHに遷移し、それに伴い第1次段用同期指示信号S162、第1バイパス用同期指示信号S163の位相と立ち上がり検出信号S512の位相とが実質的に同じになる。時刻T6から基本クロック信号S151の1周期後の時刻T7において、第3回路ブロック130の第2同期信号S261は第1バイパス用同期指示信号S163と同じHIGHレベルに遷移する。時刻T7から基本クロック信号S151の1周期後の時刻T8において、第3回路ブロック130の第2分周クロック信号S263が開始される。
このように次段の回路ブロックが次段用同期指示信号を1サイクル以内に受け取るような回路構成にすることで、回路ブロック間で位相同期をすることができる。
以上の構成による半導体集積回路100の動作を説明する。ここでは前提として、制御信号生成部144において電源遮断信号S156が生成され、該信号は第2回路ブロック120に入力され、第2回路ブロック120において電源遮断処理が行われる。その結果、同期指示信号の直列経路は第2回路ブロック120において切断される。電源遮断信号S156は第2回路ブロック120の不図示のパワードメインに接続されており、電源遮断信号S156のレベルがHIGHの場合に電源遮断を行う。電源遮断のための方法はこれに限られず、他の任意の方法が使用されてもよい。
第1回路ブロック110には制御信号生成部144から同期指示信号S155が入力され、第1回路ブロック110の第1位相制御部111は、第1次段用同期指示信号S162、第1バイパス用同期指示信号S163を生成する。生成された第1次段用同期指示信号S162は第2回路ブロック120に、第1バイパス用同期指示信号S163は第3回路ブロック130にそれぞれ出力される。
第3回路ブロック130は同期指示信号を入力する経路を2つ持つ。第2回路ブロック120の電源遮断によりその第2回路ブロック120を通る同期指示信号の経路が切断される場合には、制御信号生成部144から第3回路ブロック130に切替信号S157が送信され、第3回路ブロック130の同期指示信号を入力する経路は電源遮断により切断されていない第1バイパス用同期指示信号S163に切り替えられる。よってここでは第3位相制御部131は第1位相制御部111から第1バイパス用同期指示信号S163を受け、第3次段用同期指示信号S182、第2バイパス用同期指示信号S183を生成する。
以上説明したように、本実施形態にかかる半導体集積回路100では、回路ブロック間に複数の位相調整経路を設けることで、回路ブロックの1つまたは複数の電源遮断等により1つの経路が切断された場合でも他の経路を介して複数の回路ブロック間でクロックの位相調整ができる。その結果、複数の回路ブロック間でデータ転送する場合であっても、複数の回路ブロック間でクロック位相が合っているので、正しいデータ転送が可能となる。
また、本実施形態に係る半導体集積回路100では、各回路ブロックは、第1セレクタ212により、機能処理部のクロック信号として基本クロック信号、分周クロック信号のいずれかを選択するよう構成される。各回路ブロックは、同期指示信号により分周クロック信号の位相を調整する。したがって、回路ブロック間で位相が調整された分周クロック信号を内部クロック信号として利用することが可能となる。
また、本実施形態に係る半導体集積回路100によると、回路ブロックの数が増えてもバイパス経路と切替信号とを適宜配線することで対応可能なので、より容易に回路を大規模化することができる。
なお、本実施形態では電源の遮断により経路の1つが断たれる場合について説明したが、これに限られず、本実施形態の思想は回路ブロックの非活性化により経路が断たれる場合に広く適用可能である。例えば、電源の遮断ではなくクロックゲーティングのように回路ブロックのクロックの動作を停止させる場合にも本実施形態の思想を適用できる。
また、本実施形態では回路ブロックが3個の場合を説明しているが、回路ブロックの数、及び同期指示信号の経路の数に限定は無い。
第1の実施形態に係る半導体集積回路100の応用例を説明する。図12(A)、(B)は、多数の回路ブロックを備える本応用例に係るLSIのイメージ図である。ここではLSIが大規模化し回路ブロックの数も増え、電源遮断により複数の箇所で同期指示信号の経路が切断される場合でも適切に位相調整を行うことができることを説明する。また、同期指示信号の経路の切断のパターンが複数存在する場合でも適切に位相調整を行うことができることを説明する。
LSIは、制御信号生成部144と、第1回路ブロック110と、第2回路ブロック120と、第3回路ブロック130と、第4回路ブロック1040と、第5回路ブロック1050と、第6回路ブロック1060と、第7回路ブロック1070と、第8回路ブロック1080と、を備える。第4回路ブロック1040、第5回路ブロック1050、第8回路ブロック1080はそれぞれ第1位相制御部111に対応する第4位相制御部1041、第5位相制御部1051、第8位相制御部1081を含む。第6回路ブロック1060、第7回路ブロック1070はそれぞれ第3位相制御部131に対応する第6位相制御部1061、第7位相制御部1071を含む。
第3位相制御部131は、第3次段用同期指示信号S182に相当する第3次段用同期指示信号S1090と、第2、第3バイパス用同期指示信号S183、S184を生成し、第4位相制御部1041、第6位相制御部1061、第7位相制御部1071にそれぞれ出力する。第4位相制御部1041は第3次段用同期指示信号S1090を受け、第4次段用同期指示信号S1091を生成して第5位相制御部1051に出力する。第5位相制御部1051は第4次段用同期指示信号S1091を受け、第5次段用同期指示信号S1092を生成して第6位相制御部1061に出力する。第6位相制御部1061は第5次段用同期指示信号S1092と第2バイパス用同期指示信号S183とを受け、第6次段用同期指示信号S1093を生成して第7位相制御部1071に出力する。第7位相制御部1071は第6次段用同期指示信号S1093と第3バイパス用同期指示信号S184とを受け、第7次段用同期指示信号S1094を生成して第8位相制御部1081に出力する。第8位相制御部1081は第7次段用同期指示信号S1094を受ける。
図12(A)、(B)の例では、制御信号生成部144を起点とし第1〜第8回路ブロックをこの順に直列に通る同期指示信号のメイン経路が存在する。このメイン経路に対して、第1バイパス用同期指示信号S163の経路は、同期指示信号に第2回路ブロック120をバイパスさせるバイパス経路として機能する。第2バイパス用同期指示信号S183の経路は、同期指示信号に第4回路ブロック1040および第5回路ブロック1050をバイパスさせるバイパス経路として機能する。第3バイパス用同期指示信号S184の経路は、同期指示信号に第4回路ブロック1040、第5回路ブロック1050および第6回路ブロック1060をバイパスさせるバイパス経路として機能する。
図12(A)では、第2回路ブロック120、第4回路ブロック1040、第5回路ブロック1050、第7回路ブロック1070、及び第8回路ブロック1080の電源が遮断される。第3位相制御部131は第1位相制御部111から第1バイパス用同期指示信号S163を受けて第3回路ブロック130のクロック信号の位相を調整する。第6位相制御部1061は第3位相制御部131から第2バイパス用同期指示信号S183を受けて第6回路ブロック1060のクロック信号の位相を調整する。
図12(B)では、第4回路ブロック1040、第5回路ブロック1050、第6回路ブロック1060、及び第8回路ブロック1080の電源が遮断される。第7位相制御部1071は第3位相制御部131から第3バイパス用同期指示信号S184を受けて第7回路ブロック1070のクロック信号の位相を調整する。
このように、電源の遮断により同期指示信号のメイン経路が複数箇所で断たれていても、バイパス経路の存在により、動作している回路ブロックのクロック信号の位相調整を適切に行うことができる。なお、同期指示信号を出力する経路の数、接続先はどのように組み替えてもよい。
ここまで2分周クロック信号を用いた位相同期について説明したが、2分周の場合だけではなく、分周比が2のn乗(nは2以上の整数)の場合にも本実施形態の思想を適用できる。
図5(B)は、第1変形例に係る半導体集積回路の位相制御部の分周回路410の構成例を示す回路図である。分周回路410は第1同期信号S241と基本クロック信号S151とを受け、2分周クロック信号である第1分周クロック信号S243と4分周クロック信号S407とを生成する。分周回路410は第2フリップフロップ401と第1ANDゲート402と第7フリップフロップ403とを含む。第7フリップフロップ403のクロック端子には第1分周クロック信号S243が入力される。第7フリップフロップ403の入力端子には第7フリップフロップ403の出力信号である4分周クロック信号S407の反転信号が入力される。分周回路410は4分周クロック信号S407を次段用信号生成部に出力する。
図13(A)は、2分周クロック信号と4分周クロック信号とを用いた位相同期のタイミングチャートである。時刻TB5において、4分周クロック信号S407の最初の立ち上がりエッジから1周期経過したのでイネーブル検出信号S511がLOWからHIGHに遷移する。それに伴い第1次段用同期指示信号S162、第1バイパス用同期指示信号S163の位相と立ち上がり検出信号S512の位相とが実質的に同じになる。この同期指示信号を1サイクル以内に第3回路ブロックが受け取ることで、時刻TB6のタイミングで第2同期信号S261がLOWからHIGHに遷移する。時刻TB7において、第3回路ブロックは第1回路ブロックで生成された4分周クロック信号S407に同期した4分周クロック信号S410を生成する。
図5(C)は、第2変形例に係る半導体集積回路の位相制御部の分周回路420の構成例を示す回路図である。分周回路420は第1同期信号S241と基本クロック信号S151とを受け、2分周クロック信号である第1分周クロック信号S243と4分周クロック信号S407と8分周クロック信号S408とを生成する。分周回路420は第2フリップフロップ401と第1ANDゲート402と第7フリップフロップ403と第8フリップフロップ404とを含む。第8フリップフロップ404のクロック端子には4分周クロック信号S407が入力される。第8フリップフロップ404の入力端子には第8フリップフロップ404の出力信号である8分周クロック信号S408の反転信号が入力される。分周回路420は8分周クロック信号S408を次段用信号生成部に出力する。
図13(B)は2分周クロック信号と4分周クロック信号と8分周クロック信号とを用いた位相同期のタイミングチャートである。時刻TC5において、8分周クロック信号S408の最初の立ち上がりエッジから1周期経過したのでイネーブル検出信号S511がLOWからHIGHに遷移する。それに伴い第1次段用同期指示信号S162、第1バイパス用同期指示信号S163の位相と立ち上がり検出信号S512の位相とが実質的に同じになる。この同期指示信号を1サイクル以内に第3回路ブロックが受け取ることで、時刻TC6のタイミングで第2同期信号S261がLOWからHIGHに遷移する。時刻TC7において、第3回路ブロックは第1回路ブロックで生成された8分周クロック信号S408に同期した8分周クロック信号S412を生成する。
このように、次段の回路ブロックが次段用同期指示信号を1サイクル以内に受け取るような回路構成にすることで、回路ブロック間で位相同期をすることができる。
2のn乗の分周クロック信号は、2分周したクロック信号を次段の分周回路のクロック入力に用いることで図5(B)、図5(C)に示されるように作成することが可能である。ここで作成された分周クロック信号はそれぞれ回路ブロック間で位相が同期されている。内部で回路を駆動させるための分周クロック信号や次段の回路ブロックで使用する同期指示信号を生成するための分周クロック信号として、これらの生成された分周クロック信号のいずれを選択するかは任意でよい。
例えば、4分周クロック信号を次段の回路ブロックで使用する同期指示信号を生成するための信号として使用する場合には、図6(A)の第1分周クロック信号S243の代わりに4分周クロック信号を使用してもよい。こうすることで、次段用信号生成部213は4分周クロック信号に基づく次段用同期指示信号を生成する。内部で回路を駆動させるための分周クロック信号は第1セレクタ212等で選択する構成としてもよい。
[第2の実施形態]
第1の実施形態では回路ブロック間に同期指示信号のバイパス経路を設ける場合について説明した。第2の実施形態では、同期指示信号のメイン経路とバイパス経路とが起点を共有し、したがってバイパス経路の起点が制御信号生成部となる場合について説明する。
図14は、第2の実施形態に係る半導体集積回路1200の構成例を示すブロック図である。ここでは位相同期の起点側の回路ブロックの電源遮断により同期指示信号のメイン経路が切断される場合でも、同期指示信号を複数の回路ブロックに出力することで適切に位相調整を行うことができることを説明する。
半導体集積回路1200は、第1回路ブロック1210と、第2回路ブロック1220と、第3回路ブロック1230と、当該第1、第2および第3回路ブロック間の通信を制御する制御部1295とを有する。制御部1295は、クロック生成部140と、リセット生成部141と、同期制御部142と、電源制御部143と、制御信号生成部2144と、を備える。
制御信号生成部2144は、同期制御信号S153に基づいて同期指示信号S2155を生成し、第1回路ブロック1210と第2回路ブロック1220とへ出力する。制御信号生成部2144は、電源制御信号S154に基づいて電源遮断信号S2156と切替信号S2157とを生成し、電源遮断信号S2156を電源遮断対象の回路ブロック(図14の例では第1回路ブロック1210)へ出力し、切替信号S2157を信号切替対象の回路ブロック(図14の例では第2回路ブロック1220)へ出力する。
第1回路ブロック1210は、電源遮断信号S2156を受ける点を除いて第1の実施形態の第1回路ブロック110と同様の構成を有する。電源遮断信号S2156は第1回路ブロック1210の不図示のパワードメインに入力され、電源遮断信号S2156がHIGHとなると第1回路ブロック1210の電源が遮断される。電源が遮断されると同期指示信号のメイン経路は第1回路ブロック1210において断たれる。
第2回路ブロック1220は、第2機能処理部122と、第2回路ブロック1220の内部クロックを調整する第2位相制御部1221と、を含む。第2位相制御部1221には基本クロック信号S151とリセット信号S152と第1次段用同期指示信号S162と同期指示信号S2155と切替信号S2157とが入力される。第2位相制御部1221は第1の実施形態の第3位相制御部131と同様の構成を有し、切替信号S2157に応じて第1次段用同期指示信号S162、同期指示信号S2155のうちから使用する同期指示信号を選択する。
第3回路ブロック1230は、第3機能処理部132と、第3回路ブロック1230の内部クロックを調整する第3位相制御部1231と、を含む。第3位相制御部1231には基本クロック信号S151とリセット信号S152と第2次段用同期指示信号S172とが入力される。第3位相制御部1231は第1の実施形態の第2位相制御部121と同様の構成を有する。
以上の構成による半導体集積回路1200の動作を説明する。
制御信号生成部2144は、電源制御信号S154が第1回路ブロック1210の電源の遮断を示す場合、第1の実施形態の接続関係テーブル603と同様のテーブルを参照して切替対象の回路ブロックを特定する。この場合、第2回路ブロック1220が特定される。制御信号生成部2144は第2回路ブロック1220に対して切替信号S2157を出力する。該切替信号S2157に応じて第2位相制御部1221は同期指示信号の送信元を第1回路ブロック1210(第1次段用同期指示信号S162)から制御信号生成部2144(同期指示信号S2155)に切り替える。制御信号生成部2144は、電源遮断信号S2156を生成し、第1回路ブロック1210に出力する。これにより第1回路ブロック1210の電源が遮断され、第1次段用同期指示信号S162は不定となるが、第2位相制御部1221は第1次段用同期指示信号S162の代わりに同期指示信号S2155を使用して分周クロック信号の位相を調整する。
このようにして位相同期の起点側となる第1回路ブロック1210の電源遮断により同期指示信号のメイン経路が切断される場合でも、同期指示信号を制御信号生成部2144から複数の回路ブロックに出力することで適切に位相調整を行うことができる。
位相同期信号の起点は制御信号生成部2144であるが、回路ブロック間のクロック信号の位相同期処理の起点ブロックはデフォルトでは第1回路ブロック1210である。本実施形態では、切替信号S2157によりその起点ブロックを第1回路ブロック1210から第2回路ブロック1220に切り替えることができる。
第2の実施形態に係る半導体集積回路1200の応用例を説明する。図15は、多数の回路ブロックを備える本応用例に係るLSIのイメージ図である。LSIは、制御信号生成部2144と、第1回路ブロック1210と、第2回路ブロック1220と、第3回路ブロック1230と、第4回路ブロック1040と、第5回路ブロック1050と、第6回路ブロック1060と、第7回路ブロック1070と、第8回路ブロック1080と、を備える。
図15の例では、制御信号生成部2144を起点とし第1〜第8回路ブロックをこの順に直列に通る次段用同期指示信号のメイン経路が存在する。このメイン経路に対して、制御信号生成部2144から第2位相制御部1221への同期指示信号S2155の経路は、同期指示信号に第1回路ブロック1210をバイパスさせるバイパス経路として機能する。
図15では、第1回路ブロック1210、第4回路ブロック1040、第5回路ブロック1050、第7回路ブロック1070、及び第8回路ブロック1080の電源が遮断される。第2位相制御部1221は制御信号生成部2144から同期指示信号S2155を受けて第2回路ブロック1220のクロック信号の位相を調整する。第6位相制御部1061は第3位相制御部1231から第2バイパス用同期指示信号S183を受けて第6回路ブロック1060のクロック信号の位相を調整する。
このように、電源の遮断により同期指示信号のメイン経路が複数箇所で断たれていても、バイパス経路の存在により、動作している回路ブロックのクロック信号の位相調整を適切に行うことができる。なお、同期指示信号を出力する経路の数、接続先はどのように組み替えてもよい。
また、LSI上に回路ブロックが多数存在し、位相同期処理の起点となる回路ブロックの電源が遮断される場合でも、同期指示信号を複数の回路ブロックに出力し、位相同期処理の起点となる回路ブロックを切り替えることで適切に位相調整を行うことができる。
なお、電源の遮断ではなく回路ブロックのクロックを停止させる場合でも切替信号S2157を通して同様に同期指示信号の切り替えを行うことができる。
[第3の実施形態]
第1および第2の実施形態では、入力される同期指示信号または次段用同期指示信号のいずれかが回路ブロックの内部で選択される。第3の実施形態では、同期指示信号または次段用同期指示信号のいずれかを回路ブロックの外部で選択した場合でも位相調整が適切に行えることを説明する。
図16は、第3の実施形態に係る半導体集積回路1400の構成例を示すブロック図である。半導体集積回路1400は、第1回路ブロック110と、第2回路ブロック1420と、第3回路ブロック1430と、第3セレクタ1492と、第4セレクタ1493と、当該第1、第2および第3回路ブロック間の通信を制御する制御部1485とを有する。制御部1485は、クロック生成部140と、リセット生成部141と、同期制御部142と、電源制御部143と、制御信号生成部4144と、を備える。
制御信号生成部4144は、同期制御信号S153に基づいて同期指示信号S3155を生成し、第1回路ブロック110と第3セレクタ1492と第4セレクタ1493とへ出力する。制御信号生成部4144は、電源制御信号S154に基づいて電源遮断信号S156と切替信号S3157とを生成し、電源遮断信号S156を電源遮断対象の回路ブロック(図16の例では第2回路ブロック1420)へ出力し、切替信号S3157を第3セレクタ1492と第4セレクタ1493とへ出力する。
第3セレクタ1492は、切替信号S3157に応じて、第1次段用同期指示信号S162、同期指示信号S3155のいずれかを選択し、選択された信号を第1出力信号S1495として第2位相制御部1421に出力する。特に切替信号S3157が第2回路ブロック1420を切替対象として指定する場合、第3セレクタ1492は第1次段用同期指示信号S162から同期指示信号S3155に切り替えて第1出力信号S1495として出力する。
第4セレクタ1493は、切替信号S3157に応じて、第2次段用同期指示信号S172、同期指示信号S3155のいずれかを選択し、選択された信号を第2出力信号S1496として第3位相制御部1431に出力する。特に切替信号S3157が第3回路ブロック1430を切替対象として指定する場合、第4セレクタ1493は第2次段用同期指示信号S172から同期指示信号S3155に切り替えて第2出力信号S1496として出力する。
第2回路ブロック1420は、第2機能処理部122と、第2回路ブロック1420の内部クロックを調整する第2位相制御部1421と、を含む。第2位相制御部1421には基本クロック信号S151とリセット信号S152と第1出力信号S1495とが入力される。第2位相制御部1421は第1の実施形態の第2位相制御部121と同様の構成を有する。
第3回路ブロック1430は、第3機能処理部132と、第3回路ブロック1430の内部クロックを調整する第3位相制御部1431と、を含む。第3位相制御部1431には基本クロック信号S151とリセット信号S152と第2出力信号S1496とが入力される。第3位相制御部1431は第1の実施形態の第1位相制御部111と同様の構成を有する。
以上の構成による半導体集積回路1200の動作を説明する。
制御信号生成部4144は、電源制御信号S154が第2回路ブロック1420の電源の遮断を示す場合、第1の実施形態の接続関係テーブル603と同様のテーブルを参照して切替対象の回路ブロックを特定する。この場合、第3回路ブロック1430が特定される。制御信号生成部4144は第3回路ブロック1430が切替対象であることを示す切替信号S3157を生成して各セレクタに出力する。第4セレクタ1493は、該切替信号S3157に応じて、第2次段用同期指示信号S172から同期指示信号S3155に切り替えて第2出力信号S1496として出力する。制御信号生成部4144は、電源遮断信号S156を生成し、第2回路ブロック1420に出力する。これにより第2回路ブロック1420の電源が遮断され、第2次段用同期指示信号S172は不定となるが、第3位相制御部1431が受ける第2出力信号S1496は同期指示信号S3155となっており、第3位相制御部1431はその信号を使用して分周クロック信号の位相を調整する。
なお、第2回路ブロック1420において同期指示信号の経路が切断されない場合にには、第2次段用同期指示信号S172、同期指示信号S3155のいずれが選択されてもよい。また、電源の遮断ではなく回路ブロックのクロックを停止させる場合でも切替信号S3157を通して同様に同期指示信号の切り替えを行うことができる。
本実施形態に係る半導体集積回路1400によると、位相制御部へ入力される同期指示信号を回路ブロックの外部で選択した場合でも回路構成を大きく変更することなく位相調整を適切に行うことが出来る。
上記セレクタに入力される同期指示信号や次段用同期指示信号の組み合わせや数に制限はない。また、セレクタは切替信号による指示がなければどの信号を選択してもよい。
[第4の実施形態]
第1の実施形態では2分周、4分周、8分周クロック信号を用いた位相同期について説明した。第4の実施形態では3分周クロック信号、6分周クロック信号等の2のn乗でない分周クロック信号でも位相の同期が可能であることを説明する。
図4(C)は、第4の実施形態に係る半導体集積回路の第3同期信号生成部300の構成例を示す回路図である。第3同期信号生成部300は、第1フリップフロップ301と、ORゲート302と、第11フリップフロップ318と、を有する。第11フリップフロップ318のクロック端子には基本クロック信号S151が、入力端子には第1フリップフロップの出力信号が、それぞれ入力される。第11フリップフロップ318の出力信号は第1同期信号S305として外部に出力される。
図17(A)は、第4の実施形態に係る半導体集積回路の分周回路1500の構成例を示す回路図である。分周回路1500は3分周回路であり、第9フリップフロップ1501と、第10フリップフロップ1502と、第4ANDゲート1503と、第1XORゲート1504と、を含む。第4ANDゲート1503は、第1同期信号S305と第10フリップフロップ1502の出力信号である3分周クロック信号S1507との論理積を第1XORゲート1504の一方の入力端子に出力する。第1XORゲート1504は、第4ANDゲート1503の出力信号と基本クロック信号S151との排他的論理和を第9フリップフロップ1501のクロック端子および第10フリップフロップ1502のクロック端子に出力する。第9フリップフロップ1501の入力端子には3分周クロック信号S1507が入力される。第9フリップフロップ1501の出力信号の反転信号は第10フリップフロップ1502の入力端子に入力される。
第10フリップフロップ1502の出力信号の初期値はLOWとなっている。第10フリップフロップ1502の出力信号と第1同期信号S241とが共にがHIGHになった場合に第4ANDゲート1503はHIGHを出力する。なお、3分周回路はここで示した分周回路1500に限られず、どのような3分周回路を用いてもよい。
以上の構成による半導体集積回路の動作を説明する。
図18(A)は、第4の実施形態に係る半導体集積回路における信号波形を示すタイミングチャートである。前提として、制御信号生成部144において電源遮断信号S156が生成され、該信号は第2回路ブロック120に入力され、第2回路ブロック120において電源遮断処理が行われる。その結果、同期指示信号の直列経路は第2回路ブロック120において切断される。
時刻T1において、制御信号生成部144は同期指示信号S155のレベルをHIGHに遷移させる。時刻T2において、基本クロック信号S151に立ち上がりエッジが現れ、第1同期信号S241は同期指示信号S155と同じHIGHレベルに遷移する。時刻T3において、制御信号生成部144は切替信号S157を出力し、第3回路ブロック130の同期指示信号の経路が第2次段用同期指示信号S172から第1バイパス用同期指示信号S163へ切り替えられる。時刻T4において、制御信号生成部144は電源遮断信号S156を出力する。
時刻T2から基本クロック信号S151の1周期後の時刻T5において、第1回路ブロック110の3分周クロック信号S1507が開始され、その開始の立ち上がりエッジの検出に応じて立ち上がり検出信号S512にパルスが現れる。時刻T5から3分周クロック信号S1507の1周期後の時刻T6において、イネーブル検出信号S511のレベルがLOWからHIGHに遷移し、それに伴い第1次段用同期指示信号S162、第1バイパス用同期指示信号S163の位相と立ち上がり検出信号S512の位相とが実質的に同じになる。時刻T6から基本クロック信号S151の2周期後の時刻T7において、第3回路ブロック130の第2同期信号S361はHIGHレベルに遷移する。時刻T7から基本クロック信号S151の1周期後の時刻T8において、第3回路ブロック130の3分周クロック信号S1537が開始される。
このように次段の回路ブロックが次段用同期指示信号を1サイクル以内に受け取るような回路構成にすることで、回路ブロック間で位相同期をすることができる。
本実施形態に係る半導体集積回路によると、回路ブロックの一部または複数の電源の遮断により経路が切断された場合でも3分周クロック信号を用いて位相調整が可能である。
次に、6分周クロック信号を使用する場合を説明する。
図17(B)は、第3変形例に係る半導体集積回路の分周回路1510の構成例を示す回路図である。分周回路1510は6分周回路であり、第9フリップフロップ1501と、第10フリップフロップ1502と、第1XORゲート1504と、第12フリップフロップ1511と、第5ANDゲート1512と、を有する。第5ANDゲート1512は、第1同期信号S305と第12フリップフロップ1511の出力信号との論理積を出力する。第12フリップフロップ1511の出力信号の初期値はLOWとなっている。第12フリップフロップ1511の出力信号と第1同期信号S305とが共にHIGHになった場合に第5ANDゲート1512はHIGHを出力する。
第12フリップフロップ1511のクロック端子には基本クロック信号S151が、入力端子には第5ANDゲート1512の出力信号の反転信号が、それぞれ入力される。第12フリップフロップ1511の出力信号は第1XORゲート1504の一方の入力端子に入力される。第1XORゲート1504の他方の入力端子には第10フリップフロップ1502の出力信号である6分周クロック信号S1520が入力される。
なお、6分周回路はここで示した分周回路1510に限られず、どのような6分周回路を用いてもよい。
図6(B)は、第3変形例に係る半導体集積回路の次段用信号生成部513の構成例を示す回路図である。次段用信号生成部513は、第1の実施形態の次段用信号生成部213の第3ANDゲート506をNANDゲート514に置き換えた構成を有する。
以上の構成による半導体集積回路の動作を説明する。
図18(B)は、第3変形例に係る半導体集積回路における信号波形を示すタイミングチャートである。前提として、制御信号生成部144において電源遮断信号S156が生成され、該信号は第2回路ブロック120に入力され、第2回路ブロック120において電源遮断処理が行われる。その結果、同期指示信号の直列経路は第2回路ブロック120において切断される。
時刻T1において、制御信号生成部144は同期指示信号S155のレベルをHIGHに遷移させる。時刻T2において、基本クロック信号S151に立ち上がりエッジが現れ、第1同期信号S241は同期指示信号S155と同じHIGHレベルに遷移する。時刻T3において、制御信号生成部144は切替信号S157を出力し、第3回路ブロック130の同期指示信号の経路が第2次段用同期指示信号S172から第1バイパス用同期指示信号S163へ切り替えられる。時刻T4において、制御信号生成部144は電源遮断信号S156を出力する。
時刻T2から基本クロック信号S151の1周期後の時刻T5において、第1回路ブロック110の6分周クロック信号S1520が開始され、その開始の立ち上がりエッジの検出に応じて立ち上がり検出信号S512に負のパルスが現れる。時刻T6において、第1次段用同期指示信号S162、第1バイパス用同期指示信号S163の位相と立ち上がり検出信号S512の位相とが実質的に同じになる。時刻T6から基本クロック信号S151の2周期後の時刻T7において、第3回路ブロック130の第2同期信号S561はHIGHレベルに遷移する。時刻T7から基本クロック信号S151の1周期後の時刻T8において、第3回路ブロック130の6分周クロック信号S510が開始される。
このように次段の回路ブロックが次段用同期指示信号を1サイクル以内に受け取るような回路構成にすることで、回路ブロック間で位相同期をすることができる。
本変形例に係る半導体集積回路によると、回路ブロックの一部または複数の電源の遮断により経路が切断された場合でも6分周クロック信号を用いて位相調整が可能である。
なお、次段用の同期指示信号を出力するタイミングを調整すれば、同様の構成を用いて5分周、7分周、9分周など任意の分周比での位相調整が可能である。
また、上述の実施形態では内部クロック信号の同期を調整する場合について説明したが、これに限られず、回路ブロックのクロック信号の周波数や振幅やパルスパラメータなどを調整する場合にも実施形態の技術的思想を適用できる。