JPH10340130A - 半導体集積回路 - Google Patents

半導体集積回路

Info

Publication number
JPH10340130A
JPH10340130A JP9149226A JP14922697A JPH10340130A JP H10340130 A JPH10340130 A JP H10340130A JP 9149226 A JP9149226 A JP 9149226A JP 14922697 A JP14922697 A JP 14922697A JP H10340130 A JPH10340130 A JP H10340130A
Authority
JP
Japan
Prior art keywords
data
clock
clock signal
circuit
queue
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP9149226A
Other languages
English (en)
Other versions
JP3000961B2 (ja
Inventor
Kazumasa Suzuki
一正 鈴木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP9149226A priority Critical patent/JP3000961B2/ja
Priority to KR1019980020919A priority patent/KR100312147B1/ko
Priority to US09/093,382 priority patent/US6240524B1/en
Publication of JPH10340130A publication Critical patent/JPH10340130A/ja
Application granted granted Critical
Publication of JP3000961B2 publication Critical patent/JP3000961B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/10Distribution of clock signals, e.g. skew

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)
  • Power Sources (AREA)
  • Semiconductor Integrated Circuits (AREA)

Abstract

(57)【要約】 【課題】 クロックスキューの影響を削減し、操作用の
消費電力を削減される半導体集積回路を提供する。 【解決手段】 全体の回路を複数の回路ブロック(1
0,20,30)に分割し、それぞれに対し別系統のク
ロック信号(1,2,3)を供給する。各ブロック内で
はクロックスキューが最小になるようにクロックを配分
する。回路ブロック間のデータはキュー(40,50,
60,70)を介して伝達され、各キューには入力部、
出力部に接続された各ブロックに供給されるクロック信
号を供給する。キューは、入力側、出力側のクロック信
号にそれぞれ同期してデータを入出力する。キューには
1個以上のデータエントリがあり、入力順あるいは任意
の順にデータを出力する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、クロック信号に同
期して動作する半導体集積回路に関する。
【0002】
【従来の技術】図12は、従来の半導体集積回路の一例
の構成図である。
【0003】従来、この種の半導体集積回路は、信号の
演算処理や伝達を確実に行うため、集積回路全体を1つ
のクロック信号に同期させて動作させていた。一般的に
この種の半導体集積回路は、機能毎に回路ブロックに分
けられ、ブロック間をデータ信号や制御信号で接続して
構成されている。ここでは、簡単のため3つの回路ブロ
ック、すなわち回路ブロックA10、回路ブロックB2
0、回路ブロックC30からなる半導体集積回路を想定
しているが、さらに回路ブロック数が多くても同様であ
る。それぞれのブロックには同じクロック信号1が入力
されている。回路ブロックAは外部からのデータ信号1
50や他のブロックからのデータ信号220、310を
取り込み、クロック周期毎に処理を行い、他の回路ブロ
ックへデータ信号110を送る。回路ブロックBや回路
ブロックCにおいても、同様にクロック周期毎にデータ
を取り込み、処理を行い、他のブロックにデータを送
る。どの回路ブロックにおいても一つの信号を源とする
同じ周波数のクロック信号が入力され、回路ブロックを
構成する1要素であるレジスタ回路あるいはフリップフ
ロップ回路に、クロック毎に中間データを保持し、その
信号に対して処理を行い、次のクロック信号で処理結果
をレジスタ回路やフリップフロップ回路に書き込む。図
12には制御信号が書かれていないが、制御ブロックを
1つの回路ブロックと考えれば、データ信号と同様な形
式で他の回路ブロックに対して制御信号が送られる。ま
た、各回路ブロックには、制御回路を含むことがある。
この場合は、制御信号がデータ信号と並列に送られる。
【0004】このような回路構成の場合、クロック信号
を回路全体にわたって、レジスタ回路やフリップフロッ
プ回路に同じ遅延時間を分配し、クロック信号が変化す
るタイミングを揃える、すなわち、クロックスキューを
小さくする必要がある。特開平8−30655にはクロ
ックスキューを削減するための設計手法が記載されてい
る。
【0005】また、1996年2月、アイ・イー・イー
・イー、インターナショナル・ソリッド・ステート・サ
ーキッツ・カンファレンス、ダイジェスト・オブ・スラ
イドサプルメント(IEEE, International Solid-Stat
e Circuits Conference,Digest of Slide-Suppleme
nt)セッションFA8.6によれば、クロック信号にわ
ざとずれを生じさせ、ある回路部分だけ、クロックの周
期を擬似的に長くとり、他の回路部分よりも長い時間の
処理を割り当てている例が記載されている。クロック信
号は1つの信号から分配されていて、クロック信号をず
らした回路部分は、クロックバッファの段数を変更する
など、設計段階で目標通りにクロック信号の大本からの
遅延時間を他の回路部分とずらしている。
【0006】
【発明が解決しようとする課題】第1の問題点は、クロ
ック信号を半導体集積回路全体に同じ遅延時間で分配す
ることが難しいことである。
【0007】その理由は、半導体集積回路の回路規模は
増大する傾向にあり、クロック信号を必要とするフリッ
プフロップの数も多くなり、それぞれに対して供給する
クロックのスキューが小さくなるように設計することが
難しくなっていることや、半導体集積回路を構成する素
子の寸法が小さくなり、製造時のばらつきの影響が大き
いため、設計時にクロック信号分配の遅延を揃えていて
も、実際の回路では素子毎に遅延時間が異なり、クロッ
クスキューが生じるためである。また、わざとクロック
信号にずれを生じさせる場合は、設計の段階で、ずれの
量を決定する必要があり、クロック信号の源からフリッ
プフロップまでの遅延時間を制御することには変わりな
い。
【0008】第2の問題点は、クロックスキューが、集
積回路の性能を大幅に悪化させることである。
【0009】その理由は、集積回路の性能を向上させる
ためにはクロック周期を短くして、多くの処理を短い時
間に行わなくてはならないが、クロックスキューがある
と、信号の伝播時のエラーを避けるためにスキューの時
間の間処理が行えなくなるため、クロック周期を長くす
る必要があるからである。
【0010】第3の問題点は、消費電力が大きくなるこ
とである。
【0011】その理由は、集積回路の性能を向上させる
ため、クロック周波数を高くすると、それに比例して消
費電力が大きくなるためである。また、回路全体でクロ
ック周波数を決めてしまうと、処理が少なくても同じ周
波数で動作させる必要がある。
【0012】そこで、本発明の目的は、半導体集積回路
が大規模化し、チップ全体に分配するクロックのスキュ
ーが大きくなっても動作を保証する回路の構成を提供す
ることである。
【0013】本発明の他の目的は、集積回路全体に配ら
れているクロック信号が消費する電力や、そのクロック
信号によって動作している回路の消費電力を削減するこ
とにある。
【0014】
【課題を解決するための手段】本発明の半導体集積回路
は、クロック信号に同期して動作する半導体集積回路に
おいて、全体の回路を機能毎に複数の回路ブロックに分
割し、回路ブロックそれぞれに対して別々のクロック信
号を供給し、各回路ブロック内においてはスキューを最
小になるようにクロックバッファの大きさおよび各バッ
ファの負荷のバランスを考慮して配置され、回路ブロッ
クの任意の2つの間のデータ信号は、2つの回路ブロッ
クに供給される該クロック信号で制御されるキューを介
して伝達されることを特徴としている。
【0015】なお、回路ブロックそれぞれに対して供給
されるクロック信号が、1つのクロック信号を源とし独
立した経路によって供給されるか、複数のPLL回路に
よって生成されたものであるか、いずれでもよい。
【0016】また、回路ブロックそれぞれに供給される
クロック信号の周波数が互いに異なるものでもよく、か
つ、回路ブロックそれぞれに供給される互いに異なる周
波数をもったクロック信号が、複数のPLL回路によっ
て生成されたものであることもよい。そして、複数のP
LL回路の出力の周波数が、該PLL回路が供給するク
ロック信号で動作する回路ブロックのデータ処理量に応
じて制御されることも好ましい。
【0017】さらに、第1のクロック信号でデータを取
り込み、第2のクロック信号で、データを出力するデー
タバッファと、第2のクロック信号で動作し、データバ
ッファの出力を保持する複数のバッファであるいはFI
FOバッファで構成されるキューを含むものであること
も好ましい。
【0018】そしてキューが、スーパースカラープロセ
ッサにおける命令キュー、リザベーションステーショ
ン、リオーダーバッファ、アドレスキューのいずれか、
あるいはすべてにより構成されていることが好ましく、
スーパースカラープロセッサに含まれるキューの前後で
クロック周波数が異なるものでもよく、スーパースカラ
ープロセッサにいて、演算器、キャッシュメモリ等の各
構成要素における処理量に応じて、クロック周波数を変
化させるものでもよい。
【0019】これらの構造により、各回路ブロックを接
続するキューは、それぞれのクロック信号を入力し、入
力側の回路ブロックのクロック信号に同期してデータを
取り込み、出力側の回路ブロックのクロック信号に同期
してデータを出力する。これによって、異なるクロック
で動作する回路ブロック間でのデータのやりとりが行え
る。したがって、回路ブロック間のクロック信号にスキ
ューや周波数差があっても動作ができる。また、回路ブ
ロックは全体の回路より小さいので、回路ブロック内に
おいてはスキューを少なくクロック信号を分配すること
ができる。また、回路ブロック間に周波数差があっても
よいので、処理量の少ない回路ブロックのクロック周波
数を低く設定することが可能であるので、消費電力を削
減できる。
【0020】
【発明の実施の形態】次に本発明の実施の形態について
図面を用いて説明する。
【0021】図1は、本発明の半導体集積回路の一実施
形態例のブロック図、図2は、図1のキューの一実施形
態例の構成図、図3は、図2の各データエントリに選択
器が備えられ他場合の構成図、図4は、クロック信号
A,Bの周波数に差異がないが、スキューが存在する場
合のキューの動作説明図、図5は、クロック信号Aの周
波数がクロック信号Bの周波数よりも高い場合のキュー
の動作説明図、図6は、クロック信号Aの周波数がクロ
ック信号Bの周波数よりも低い場合のキューの動作説明
図である。
【0022】図1において全体の回路は3つの回路ブロ
ックに分割されている。回路ブロックA10は外部から
の信号150、回路ブロックB20からのデータ信号2
20および回路ブロックC30からのデータ信号310
を受け取り、処理した結果のデータ信号110を回路ブ
ロックBに送る。ただし、回路ブロックBからの信号は
第1のキュー50を介してデータ信号510として受け
取る。
【0023】キューとの間のデータのやりとりを行うた
めに、第1のキューと回路ブロックAの間にはリクエス
ト信号511、ビジー信号512がやりとりされる。ま
た、回路ブロックBと第1のキューの間には、リクエス
ト信号211とビジー信号212がやりとりされる。同
様に、回路ブロックCと回路ブロックAの聞には、第2
のキュー70が介してあって、回路ブロックCからのデ
ータ信号はキューからのデータ信号710として回路ブ
ロックAに与えられる。同様に、回路ブロックAと第2
のキューの間には、リクエスト信号711、ビジー信号
712が、回路ブロックCと第2のキューの間にはリク
エスト信号311、ビジー信号312がやりとりされ
る。
【0024】さらに、回路ブロックAから回路ブロック
Bへデータを送り込むために、第3のキュー40が介し
てあり、回路ブロックAのデータ出力110は、第3の
キューのデータ出力410として回路ブロックBに与え
られる。回路ブロックAと第3のキューの間にはリクエ
スト信号111、ビジー信号112が、回路ブロックB
と第3のキューの間にはリクエスト信号411、ビジー
信号412がやりとりされる。回路ブロックBや、回路
ブロックCにおいても同様に信号のやりとりが行われて
いて、間に第4のキュー60が介してある。
【0025】図1には制御信号が示されていないが、制
御回路は密接な回路が含まれるブロックと同じ回路ブロ
ックに入れられ、他の回路ブロックに送られるデータに
密接な制御信号は、そのデータ信号と並列にキューを介
して他の回路ブロックに送られる。
【0026】回路ブロックAはクロック信号A1に同期
して動作している。また、回路ブロックBはクロック信
号B2に同期し、回路ブロックCはクロック信号C3に
同期して動作している。各回路ブロック内に限れば、全
体の回路に比べて回路規模が小さいため、クロックスキ
ューを小さくすることができる。各クロック間には、ス
キューがある同じ周波数の信号を与えてもよいし、全く
異なる周波数のクロックを与えてもよい。回路ブロック
Aと回路ブロックBの間にある第1のキュー50と第2
のキュー70には、いずれもクロックAとクロックBの
2つのクロック信号が入力され、第1のキュー50では
クロック信号Aでデータを取り込み、クロック信号Bで
データを出力する。第2のキュー70ではクロック信号
Bでデータを取り込み、クロック信号Aでデータを出力
する。このようなキューを介すことによって、クロック
の異なる回路ブロック間でのデータのやりとりを行う。
【0027】クロックA1は、回路ブロックブロックA
10、第1のキュー50、第2のキュー70および第3
のキュー40に入力されている。このクロックAは最終
的に、これらの4つの回路内にあるフリップフロップ回
路やラッチ回路に供給される。これらすべてのフリップ
フロップ回路やラッチ回路に対してクロックのスキュー
を最小にしなければならない。そのためには、大本のク
ロック信号に数個の第1段目のクロックバッファを接続
し、第1段目のそれぞれのクロックバッファには等負荷
になるように、同数の第2段目のクロックバッファとそ
れらを接続する配線を接続する。このときに、配線も負
荷になるので、第1段目のそれぞれのクロックバッファ
の出力の接続される配線長さはほぼ同じになるようにす
る。それぞれの第2段目のクロックバッファには、同様
に負荷が等しくなるように、複数の第3段目のクロック
バッファと同じ長さの配線を接続する。これを繰返し、
すべてのフリップフロップ回路やラッチ回路に同じ段数
のクロックバッファでクロック信号が供給できるまで、
バッファの数を増やしていく。以上のようなクロックバ
ッファ回路を用いることによってクロックスキューを最
小にすることが可能である。クロックB2、クロックC
3についても同様である。
【0028】図2は、本発明の実施の形態における第1
ないし第4のキュー50,70,40,60の構成例を
示すブロック図である。キューは、入力されたデータを
保持するデータバッファ80、複数のデータを保持する
データFIFO81およびFIFOをコントロールする
エントリコントローラ82で構成されている。ここでは
データFIFOは、データを保持する4つのデータエン
トリ83ないし86で構成されている。データが、デー
タ入力800からデータバッファ80に入力され保持さ
れる。このとき、リクエスト信号801とビジー信号8
02を使ってハンドシェークされる。データバッファに
データが保持されると、空いているデータエントリにデ
ータが移される。
【0029】データバッフアには2系統のクロック信号
A7とクロック信号B8が入力されていて、データの取
り込みは第1のクロック7に、出力は第2のクロック8
に同期して行われる。データエントリ83〜86はエン
トリコントローラ82によって制御され、どのデータエ
ントリに保持するかが決められる。また、エントリコン
トローラはデータエントリに空きがあるか否かを判断
し、データバッファに伝える。ここでも、リクエスト信
号811とビジー信号812によってハンドシェークさ
れる。データエントリにデータが保持されると、データ
出力820からデータが出力される。この出力が次の回
路ブロックに移されると、エントリを解放する。FIF
Oの底に当たるエントリのデータが解放されると、他の
エントリのデータが底に詰める形で移動する。エントリ
の解放の制御もエントリコントローラが行い、出力側に
接続される回路ブロックと、リクエスト信号821とビ
ジー信号822でハンドシェークされる。データエント
リやエントリコントローラは第2のクロック8に同期し
て動作する。
【0030】また、データ入力信号800は、図1にお
けるデータ信号110や220等に相当する信号で、デ
ータ出力信号820は図1におけるデータ信号410や
510等に相当する信号である。
【0031】図3は図2のFIFOバッファ81を、各
データエントリから出力できるように変更したバッファ
81’に替え、各エントリからの出力を選択器87で選
択出力するようにしたものである。このような変更を加
えることによって、データバッファ80からデータエン
トリに登録される順番を変えてデータを出力側の回路ブ
ロックに送り出すことができる。図3に示すようなキュ
ーを図1のキューとして使用することも可能である。
【0032】次に図4ないし6を参照して、キューの動
作を説明する。ここでは説明を簡単にするために、デー
タエントリの数を図1〜3に示した4つではなく、2つ
にしている。エントリの数が異なっても一般性を失わな
い。
【0033】図4は、クロック信号AとBの間に周波数
の差はないが、スキューが存在する場合の動作例であ
る。データ入力800にはクロックA1からA3の間
に、データがデータA、データB、データCの順でクロ
ック毎に入力されている。データが供給される間はリク
エスト信号801はhigh状態になる。このデータが
クロック信号Aに同期してデータバッファ80に保持さ
れる。データバッファに保持されたデータはクロック信
号Bに同期して、データ信号810に出力される。有効
なデータが保持されている間はリクエスト信号811は
highになる。リクエスト信号を受けてエントリコン
トローラ82はデータFIFO81のデータエントリに
データを詰める。
【0034】最初の状態はデータエントリは空である。
最初のクロックB1ではデータAを1番目のデータエン
トリAに、クロックB2ではデータBを2番目のデータ
エントリBに詰める。クロックB1、B2の間は出力が
接続する回路ブロックがビジー信号822を出している
ので、データエントリは解放されない。データエントリ
は2つしかないので、クロックB3ではデータCがデー
タエントリに入れられない。したがって、エントリコン
トローラはビジー信号812をhighにする。これ
が、データバッファを通じてビジー信号802として入
力側の回路ブロックに伝達される。
【0035】これを受けて、クロックA4でも同じデー
タCを入力する。クロックB3ではビジー信号822が
lowに変わるので、データエントリAのデータが出力
され、解放される。続くクロックB4ではデータCがデ
ータエントリBに、データBがデータエントリAに移さ
れる。ビジー信号812や802はlowに変化し、次
のデータDがデータバッファに取り込まれる。さらに、
次のクロックでデータエントリBに登録される。クロッ
クA6からA8では新たなデータが入力されず、リクエ
スト信号801がlowになっている。データバッファ
にも新たなデータが登録されず、クロックB6からB8
の間はリクエスト信号811もlowになっているが、
出力側のビジー信号822がクロックB6、B7の間、
highになっているので、データエントリが解放され
ず、データエントリAにデータDが登録されたままであ
る。
【0036】クロックB8でビジー信号がlowになる
ので、データDが出力され、データエントリAが解放さ
れる。クロックA9からA11にかけてはデータE、
F、Gが順に入力され、同様な手順によって、データバ
ッファを介してデータエントリに登録される。途中、ク
ロックB10において出力側のビジー信号がhighに
なっているので、データFの出力に2クロックかかり、
データGがデータエントリBに登録されている。
【0037】図5は、クロック信号Aの周波数がクロッ
ク信号Bより高い場合の動作例である。クロックA1か
らA3にかけて、データA、データB、データCが順に
クロック毎に入力されている。クロックB1でデータA
がデータバッファに取り込まれ、リクエスト信号811
がhighになり、データエントリAに登録される。ク
ロックB2でデータBがデータバッファに取り込まれ、
データエントリBに登録される。クロックB1、B2で
は出力側のビジー信号822がhighになっているの
で、データエントリは解放されない。次のクロックA3
では、その間にクロック信号Bの立ち上がりがないの
で、ビジー信号802をクロックA4でhighにし
て、同じデータCを入力する。
【0038】クロックB3では、データバッファにCが
登録されるが、データエントリに空きがないのでビジー
信号812がhighになり、このときにクロック信号
Aが立ち上がったクロックA5ではビジー信号802が
highになるので、クロックA5でもデータCを入力
する。クロックB3でデータAがデータエントリから解
放され、クロックB4ではデータバッファのデータCが
データエントリBに登録され、デ一タBがデータエント
リAに移動する。クロックA6ではその間にクロック信
号Bの立ち上がりがないので、データバッファが登録さ
れず、クロックA7でビジー信号802がhighにな
り、データDを繰り返し入力する。クロックB5でデー
タDがデータバッファに取り込まれ、データエントリB
に登録される。データCはデータエントリAに移動す
る。
【0039】クロックA8では、入力されるデータがな
いのでリクエスト信号801はlowとなる。それで、
クロックB6ではデータバッファに取り込まれるデータ
がなく、リクエスト信号811もlowになる。クロッ
クB6、B7では出力側のビジー信号822がhigh
になっているので、データエントリAのデータDが解放
されず残っている。クロックA9ではその間にクロック
信号Bの立ち上がりがないので、データバッファに取り
込まれず、クロックA10でビジー信号802をhig
hにして同じデータEを入力する。データEはクロック
B7でデータバッファに取り込まれ、データエントリB
に登録される。クロックA11でデータFが入力され、
クロックB8でデータバッファに取り込まれるが、デー
タエントリに空きがないため、ビジー信号812がhi
ghになり、クロックA12では入力側のビジー信号8
02もhighになっている。
【0040】図6はクロック信号Aの周波数がクロック
信号Bよりも低い場合の動作例である。クロックA1か
らクロックA6まで、データAからFが順に入力され、
リクエスト信号801がhighになっている。クロッ
クB1では、立ち上がり時にリクエスト信号801がl
owであるので、データバッファにデータが取り込まれ
ていない。クロックB2では、データAがデータバッフ
ァに取り込まれ、データエントリAに登録される。クロ
ックB1、B2では出力側のビジー信号822がhig
hであるので、エントリAのデータAが解放されない。
クロックB3では、データバッファにデータBが取り込
まれ、データエントリBに登録される。クロックB3の
間にはクロック信号Aの立ち上がりがないので、クロッ
クB4では同じデータが入力されている。それで、新し
いデータがデータバッファに取り込まれず、リクエスト
信号811はlowになる。その間、データエントリA
のデータBが出力され、解放される。
【0041】クロックB5では、データバッファにデー
タCが取り込まれ、データエントリAに登録され、すぐ
さま出力され解放される。続いて、クロックB6ではデ
ータバッファにデータDが取り込まれ、データエントリ
Aに登録される。出力側のビジー信号822がクロック
B6からB9の問highになっているので、データは
解放されない。クロックB6の間にはクロック信号Aの
立ち上がりがないので、クロックB7ではデータバッフ
ァに新たなデータが取り込まれず、リクエスト信号81
1はlowになる。クロックB8ではデータEがデータ
バッファに取り込まれ、データエントリBに登録され
る。クロックB9では、データバッファにデータFが登
録されるが、データエントリに空きがないので、ビジー
信号812がhighになる。クロックB10では、新
たなデータが読み込まれないのでリクエスト信号811
がlowになるが、エントリに空きがなく停滞している
データFがあるため、ビジー状態が続く。このビジー状
態が、入力側のビジー信号802に伝えられる。
【0042】クロックA7ではビジー信号が来ているの
で続けてデータFが入力される。クロックB10では出
力側のビジー信号822がlowになるため、データエ
ントリAのデータDが出力され解放される。クロックB
11ではデータFがデータエントリBに登録され、デー
タEがデータエントリAに移動する。データEは出力さ
れ解放される。クロックB12では、データバッファに
データGが取り込まれ、データエントリBに登録され
る。データFはデータエントリAに移動し、出力され解
放される。
【0043】クロック信号AとBの周波数が異なる場合
は、データバッファにおいて、クロック信号Aで完全に
データが取り込まれる前に、クロックバッファBによっ
てデータが出力されないように、クロック信号Bの立ち
上がりに対するセットアップ時間とホールド時間の間に
データが取り込まれた場合は、データバッファはリクエ
スト信号811をlowにする。クロック周波数が一致
しているときは、クロック信号Bのセットアップ時間と
ホールド時間の間にデータが取り込まれないように、わ
ざとクロック信号Aとクロック信号Bにタイミングのず
れを生じるようにクロック信号を供給する。これは。ス
キューをなくす設計よりも簡単である。
【0044】次に、図7から図11を参照して、本発明
第2ないし第6の実施形態例を説明する。
【0045】図7は、第2の実施形態例であって、1つ
のクロック信号4から各回路ブロックへ同じ周波数のク
ロック信号を供給する場合のブロック図である。
【0046】すべてのクロックは元のクロック信号4か
ら分配され、クロックバッファ95によって、駆動力を
増強させてそれぞれの回路ブロックに供給している。回
路ブロック内部ではクロックスキューが伴わないように
クロックを分配する。それぞれの回路ブロックは、フリ
ップフロップの数も異なり、クロック信号の入力負荷も
異なる。それで、回路ブロック毎にクロックバッファの
段数を変えて、負荷に見合うような駆動力に増強してい
る。クロックバッファの段数が異なるので、回路ブロッ
ク間ではクロックスキューが発生するが、キューを介し
てデータのやりとりをするので、スキューの影響はなく
なる。
【0047】図8は、第3の実施形態例であって、各回
路ブロックに備えられたPLL96において、元のクロ
ック信号4から分配されたクロック信号を基準信号とし
て、それぞれクロック信号を発生させ、回路ブロックに
供給する場合のブロック図である。
【0048】回路ブロック内ではスキューが少なくなる
ように、クロック信号を分配する。PLLは入力と同じ
周波数の信号をクロック信号として出力するものでも、
入力信号を逓倍や分周して出力するものでもよい。それ
ぞれのPLLの出力信号の周波数を等しくしても、PL
Lの出力には位相のずれがあり、またジッタがあるの
で、それぞれの回路ブロックに入力されるクロック信号
の立ち上がりタイミングは異なる。しかし、キューを介
してデータをやりとりするため、問題なくデータのやり
とりが行われる。それぞれのPLLに異なる逓倍率を設
定して、各回路ブロックが異なる周波数で動作させても
よい。
【0049】図9は、第4の実施形態例であって、各回
路ブロックに備えられたPLL96において、入力する
基準のクロック信号4,5,6も別々に他の回路から供
給された場合のブロック図である。
【0050】このような回路構成をとると、各回路ブロ
ックのクロック周波数は任意に設定することができる。
PLLは基準周波数と同じ周波数を出力するものでも、
逓倍して出力するものでもよい。回路ブロックのうち、
処理量の多いものを高い周波数でスループットを上げ、
処理量の少ないものを低い周波数にしてスループットを
下げることができる。
【0051】図10は、第5の実施形態例であって、各
回路ブロックに備えられたPLL97において、入力す
る基準のクロック信号4,5,6も別々に他の回路から
供給され、かつ各回路からそれぞれ制御信号100,2
00,300がフィードバックされる場合のブロック図
である。
【0052】この信号は、回路ブロックの現在の処理量
が多いか少ないかを示す信号で、処理量が多くなったら
PLLの出力するクロック周波数を高く制御し、スルー
プットを高くする。逆に、処理量が少ないときはPLL
の出力するクロック周波数を低く制御し、スループット
を低くし、回路ブロックの消費する電力を削減する。P
LLの周波数の制御は、逓倍率を変化させてもいいし、
PLL内のVCOの入力電圧信号にオフセットを与え
て、周波数を変化させてもよい。
【0053】図11は、第6の実施形態例であって、本
発明の半導体装置をスーパースカラープロセッサに適用
した場合のブロック図である。
【0054】スーパースカラープロセッサでは、データ
の待ち合わせをするために、命令バッファや、リザベー
ションステーション、リオーダーバッファ、アドレスバ
ッファなど、FIFO構成をする構成要素が多くある。
そこで、これらのFIFOを本発明の図2や図3に示す
ようなキューの構成にして、その前後でクロックの系統
を変える。図2では、データエントリがFIFO構成に
なっているので、入力された順に出力されているが、図
3のような構成にすれば、出力順を変更させることがで
きるので、命令の処理順序を替えることができる。
【0055】図11の例は、2つの演算処理ラインを持
ったスーパースカラープロセッサである。第1の回路ブ
ロック90には、プログラムカウンタレジスタ900、
インクリメンタ901、命令キャッシュ902、分岐予
測ユニット903の、プログラムカウンタと命令発行部
分が、第2の回路ブロック91には、第1の命令デコー
ダ910、第2の命令デコーダ911、第1のレジスタ
ファイル912、第2のレジスタファイル913が含ま
れる。第3の回路ブロック92は、第1の演算器920
と第2の演算器921が含まれ、第4の回路ブロック9
3は第3の演算器930と第4の演算器931、第5の
演算器932が含まれる。第5の回路ブロック94はデ
ータキャッシュ940で構成される。第1と第2の回路
ブロック間は、命令キュー950で接続される。条件分
岐などの情報は第1のキュー963を介して返される。
第2と第3の回路ブロック間、第2と第4の回路ブロッ
ク間はリザベーションステーション953ないし959
と、リオーダーバッファ951と952によってデータ
のやりとりを行う。第3の回路ブロックと第5の回路ブ
ロックは、アドレスデコーダ960を介してデータキャ
ッシュにアドレスやデータを渡し、読み出したデータを
第2のキュー961を介して受け取る。第4の回路ブロ
ックは第5の回路ブロックから、第3のキュー962を
介してデータを受け取る。それぞれのキュー等の回路
は、入力側と出力側の双方のクロック信号を供給する。
【0056】第1から第5の回路ブロックは、それぞれ
別々のクロック信号を供給してよい。別々のクロックと
は、同じ周波数でスキューが存在するクロック信号でも
よいし、各ブロックの処理量に応じて、周波数の異なる
クロック信号でもよい。
【0057】第1の回路ブロックは、命令キューの前
に、第2のアドレスキューを設けて2つの回路ブロック
に分割してもよい。第2の回路ブロックは、第1の命令
デコーダと第1のレジスタファイルを含むブロックと、
第2の命令デコーダと第2のレジスタファイルを含むブ
ロックに分割してもよい。第3の回路ブロックや第4の
回路ブロックは、演算器毎に別の回路ブロックに分割し
てもよい。図11には記載されていないが、外部とのデ
ータのやりとりを行うための制御ブロックも1つの回路
ブロックを構成し、第1の回路ブロックとの間のキュー
を介して命令キャッシュに命令コードを書き込み、第5
の回路ブロックとの間のキューを介して、データキャッ
シュとのデータをやりとりする。第1のレジスタファイ
ルと第2のレジスタファイルの双方から、データキャッ
シュにデータをやりとりするために、第2の回路ブロッ
クの第1のレジスタファイルから、第4の回路ブロック
につながるリザベーションステーション959を設け
て、このリザベーションステーションの出力と、リザベ
ーションステーション958の出力を選んで、アドレス
キュー960に入力している。
【0058】
【発明の効果】以上説明したように本発明は、全体の回
路の回路ブロックへの分割、キューの配置、およびその
構造を限定すること等により、高い周波数のクロック信
号で半導体集積回路を動作させることができ、かつ、高
い周波数で動作する半導体集積回路においても消費電力
を削減することができる半導体集積回路を提供できる効
果がある。
【図面の簡単な説明】
【図1】本発明の半導体集積回路の一実施形態例のブロ
ック図である。
【図2】図1のキューの一実施形態例の構成図である。
【図3】図2の各データエントリに選択器が備えられ他
場合の構成図である。
【図4】クロック信号A,Bの周波数に差異がないが、
スキューが存在する場合のキューの動作説明図である。
【図5】クロック信号Aの周波数がクロック信号Bの周
波数よりも高い場合のキューの動作説明図である。
【図6】クロック信号Aの周波数がクロック信号Bの周
波数よりも低い場合のキューの動作説明図である。
【図7】第2の実施形態例であって、1つのクロック信
号4から各回路ブロックへ同じ周波数のクロック信号を
供給する場合のブロック図である。
【図8】第3の実施形態例であって、各回路ブロックに
備えられたPLL96において、元のクロック信号4か
ら分配されたクロック信号を基準信号として、それぞれ
クロック信号を発生させ、回路ブロックに供給する場合
のブロック図である。
【図9】第4の実施形態例であって、各回路ブロックに
備えられたPLL96において、入力する基準のクロッ
ク信号4,5,6も別々に他の回路から供給された場合
のブロック図である。
【図10】第5の実施形態例であって、各回路ブロック
に備えられたPLL97において、入力する基準のクロ
ック信号4,5,6も別々に他の回路から供給され、か
つ各回路からそれぞれ制御信号100,200,300
がフィードバックされる場合のブロック図である。
【図11】第6の実施形態例であって、本発明の半導体
装置をスーパースカラープロセッサに適用した場合のブ
ロック図である。
【図12】従来の半導体回路の一例の構成図である。
【符号の説明】
1〜8 クロック信号 10,20,30 回路ブロック(A,B,C) 40,50,60,70 キュー(第3,第1,第
4,第2の) 80 データバッファ 81,81’ データFIFO 82,82’ エントリコントローラ 83〜86 データエントリ 87 選択器 90〜94 回路ブロック 95 クロックバッファ 96,97 PLL 100,200,300 PLL制御信号 110,210,220,310,410,510,6
10,710 データ信号 111,211,221,311,411,511,6
11,711 リクエスト信号 112,212,222,312,412,512,6
12,712 ビジー信号 150,350,360,800,810,820
データ信号 801,811,821 リクエスト信号 802,812,822 ビジー信号 900 プログラムカウンタレジスタ 901 インクリメンタ 902 命令キャッシュ 903 分岐予測ユニット 910,911 命令デコーダ 912,913 レジスタファイル 920,921,930〜932 演算器ユニット 940 データキャッシュ 950 命令キュー 951,952 リオーダーバッファ 953〜959 リザベーションステーション 960 アドレスキュー 961〜963 キュー

Claims (11)

    【特許請求の範囲】
  1. 【請求項1】 クロック信号に同期して動作する半導体
    集積回路において、全体の回路を機能毎に複数の回路ブ
    ロックに分割し、前記回路ブロックそれぞれに対して別
    々のクロック信号を供給し、各回路ブロック内において
    はスキューを最小になるようにクロックバッファの大き
    さおよび各バッファの負荷のバランスを考慮して配置さ
    れ、前記回路ブロックの任意の2つの間のデータ信号
    は、前記2つの回路ブロックに供給される該クロック信
    号で制御されるキューを介して伝達されることを特徴と
    する半導体集積回路。
  2. 【請求項2】 前記回路ブロックそれぞれに対して供給
    される前記クロック信号が、1つのクロック信号を源と
    し、独立した経路によって供給される、請求項1記載の
    半導体集積回路。
  3. 【請求項3】 前記回路ブロックそれぞれに対して供給
    される前記クロック信号が、複数のPLL回路によって
    生成されたものである、請求項1記載の半導体集積回
    路。
  4. 【請求項4】 前記回路ブロックそれぞれに供給される
    クロック信号の周波数が互いに異なる、請求項1記載の
    半導体集積回路。
  5. 【請求項5】 前記回路ブロックそれぞれに供給される
    互いに異なる周波数をもったクロック信号が、複数のP
    LL回路によって生成されたものである請求項4記載の
    半導体集積回路。
  6. 【請求項6】 前記複数のPLL回路の出力の周波数
    が、該PLL回路が供給するクロック信号で動作する回
    路ブロックのデータ処理量に応じて制御される、請求項
    5記載の半導体集積回路。
  7. 【請求項7】 第1のクロック信号でデータを取り込
    み、第2のクロック信号で、データを出力するデータバ
    ッファと、前記第2のクロック信号で動作し、前記デー
    タバッファの出力を保持する複数のバッファで構成され
    るキューを含む、請求項1記載の半導体集積回路。
  8. 【請求項8】 第1のクロック信号でデータを取り込
    み、第2のクロック信号で、データを出力するデータバ
    ッファと、前記第2のクロック信号で動作し、前記デー
    タバッファの出力を保持するFIFOバッファで構成さ
    れるキューを含む、請求項1記載の半導体集積回路。
  9. 【請求項9】 前記キューが、スーパースカラープロセ
    ッサにおける命令キュー、リザベーションステーショ
    ン、リオーダーバッファ、アドレスキューのいずれか、
    あるいはすべてにより構成されている、請求項7または
    請求項8に記載の半導体集積回路。
  10. 【請求項10】 前記スーパースカラープロセッサに含
    まれるキューの前後で、クロック周波数が異なる請求項
    9記載の半導体集積回路。
  11. 【請求項11】 前記スーパースカラープロセッサにい
    て、演算器、キャッシュメモリ等の各構成要素における
    処理量に応じて、クロック周波数を変化させる請求項1
    0記載の半導体集積回路。
JP9149226A 1997-06-06 1997-06-06 半導体集積回路 Expired - Fee Related JP3000961B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP9149226A JP3000961B2 (ja) 1997-06-06 1997-06-06 半導体集積回路
KR1019980020919A KR100312147B1 (ko) 1997-06-06 1998-06-05 반도체집적회로
US09/093,382 US6240524B1 (en) 1997-06-06 1998-06-08 Semiconductor integrated circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9149226A JP3000961B2 (ja) 1997-06-06 1997-06-06 半導体集積回路

Publications (2)

Publication Number Publication Date
JPH10340130A true JPH10340130A (ja) 1998-12-22
JP3000961B2 JP3000961B2 (ja) 2000-01-17

Family

ID=15470630

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9149226A Expired - Fee Related JP3000961B2 (ja) 1997-06-06 1997-06-06 半導体集積回路

Country Status (3)

Country Link
US (1) US6240524B1 (ja)
JP (1) JP3000961B2 (ja)
KR (1) KR100312147B1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11302370B2 (en) 2020-04-13 2022-04-12 Fujitsu Limited Semiconductor apparatus and synchronization method

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2389689B (en) 2001-02-14 2005-06-08 Clearspeed Technology Ltd Clock distribution system
US7194053B2 (en) * 2001-12-18 2007-03-20 Avago Technologies General Ip (Singapore) Pte. Ltd. System and method for matching data and clock signal delays to improve setup and hold times
JP3734032B2 (ja) * 2002-07-25 2006-01-11 日本電気株式会社 情報処理装置及びそのメモリ制御方法
US20040186960A1 (en) * 2003-03-20 2004-09-23 Sun Microsystems, Inc. Computer processor data prefetch unit
JP3974065B2 (ja) * 2003-03-27 2007-09-12 株式会社東芝 プロセッサ
US20040199672A1 (en) * 2003-04-04 2004-10-07 Hsilin Huang System and method for high speed handshaking
US20050232218A1 (en) * 2004-04-19 2005-10-20 Broadcom Corporation Low-power operation of systems requiring low-latency and high-throughput
US20090208924A1 (en) * 2004-12-01 2009-08-20 Bayer Schering Pharma Aktiengesellschaft Generation of Replication Competent Viruses for Therapeutic Use
US20080046684A1 (en) * 2006-08-17 2008-02-21 International Business Machines Corporation Multithreaded multicore uniprocessor and a heterogeneous multiprocessor incorporating the same
GB2450564B (en) 2007-06-29 2011-03-02 Imagination Tech Ltd Clock frequency adjustment for semi-conductor devices
JP2013196380A (ja) * 2012-03-19 2013-09-30 Ricoh Co Ltd クロック生成装置、及び情報処理装置
KR20140078912A (ko) * 2012-12-18 2014-06-26 삼성전자주식회사 메모리 시스템 및 이를 포함하는 시스템 온 칩

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2719226B2 (ja) 1990-10-01 1998-02-25 株式会社日立製作所 情報処理システム
JPH0553681A (ja) 1991-08-23 1993-03-05 Matsushita Electric Ind Co Ltd クロツク信号切り換え装置
JPH05113834A (ja) 1991-10-24 1993-05-07 Fujitsu Ltd デイジタル信号処理システム
US5256912A (en) 1991-12-19 1993-10-26 Sun Microsystems, Inc. Synchronizer apparatus for system having at least two clock domains
JP2791243B2 (ja) * 1992-03-13 1998-08-27 株式会社東芝 階層間同期化システムおよびこれを用いた大規模集積回路
US5396460A (en) * 1992-05-15 1995-03-07 Nec Corporation FIFO memory in which number of bits subject to each data read/write operation is changeable
US5457644A (en) * 1993-08-20 1995-10-10 Actel Corporation Field programmable digital signal processing array integrated circuit
US5600824A (en) * 1994-02-04 1997-02-04 Hewlett-Packard Company Clock generating means for generating bus clock and chip clock synchronously having frequency ratio of N-1/N responsive to synchronization signal for inhibiting data transfer
US5564022A (en) * 1994-02-09 1996-10-08 Intel Corporation Method and apparatus for automatically inserting clock buffers into a logic block to reduce clock skew
JPH07262237A (ja) * 1994-03-18 1995-10-13 Hitachi Ltd クロックスキュー制御方式
US5548620A (en) 1994-04-20 1996-08-20 Sun Microsystems, Inc. Zero latency synchronized method and apparatus for system having at least two clock domains
US5774371A (en) * 1994-08-03 1998-06-30 Matsushita Electric Industrial Co., Ltd. Semiconductor integrated circuit and layout designing method for the same
JP3424777B2 (ja) 1995-02-17 2003-07-07 富士フイルムマイクロデバイス株式会社 信号処理装置
US5790841A (en) * 1996-04-15 1998-08-04 Advanced Micro Devices, Inc. Method for placement of clock buffers in a clock distribution system
JP3528413B2 (ja) * 1996-04-19 2004-05-17 ソニー株式会社 関数クロック発生回路並びにそれを用いたイネーブル機能付きd型フリップフロップおよび記憶回路
US5742798A (en) * 1996-08-09 1998-04-21 International Business Machines Corporation Compensation of chip to chip clock skew
US5764965A (en) * 1996-09-23 1998-06-09 Silicon Graphics, Inc. Synchronization infrastructure for use in a computer system
US5774003A (en) * 1996-10-09 1998-06-30 National Semiconductor Corporation Flip-flop cell having clock skew protection
JPH10134591A (ja) * 1996-10-28 1998-05-22 Toshiba Corp ダィナミックレジスタを含む半導体集積回路
JP3840731B2 (ja) * 1997-03-21 2006-11-01 富士通株式会社 半導体集積回路
US5982827A (en) * 1997-05-14 1999-11-09 Hewlett-Packard Co. Means for virtual deskewing of high/intermediate/low DUT data
JP3690899B2 (ja) * 1997-05-30 2005-08-31 富士通株式会社 クロック発生回路及び半導体装置
US5828870A (en) * 1997-06-30 1998-10-27 Adaptec, Inc. Method and apparatus for controlling clock skew in an integrated circuit

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11302370B2 (en) 2020-04-13 2022-04-12 Fujitsu Limited Semiconductor apparatus and synchronization method

Also Published As

Publication number Publication date
JP3000961B2 (ja) 2000-01-17
US6240524B1 (en) 2001-05-29
KR19990006707A (ko) 1999-01-25
KR100312147B1 (ko) 2001-12-12

Similar Documents

Publication Publication Date Title
JP3000961B2 (ja) 半導体集積回路
US7366938B2 (en) Reset in a system-on-chip circuit
JP2011170868A (ja) 改善された計算アーキテクチャ用パイプライン加速器、関連システム、並びに、方法
JP2009507415A (ja) 非同期のリップルパイプライン
US6973078B2 (en) Method and apparatus for implementing low latency crossbar switches with integrated storage signals
KR100956304B1 (ko) 디지털 전자 회로 및 시스템
US6711089B2 (en) Method and apparatus for performing signal synchronization
JP4748896B2 (ja) 同期型データ転送処理装置
JP2002524790A (ja) 同期多相クロック分配システム
JP4956713B2 (ja) 互いに同期しない回路モジュールを備える回路
US6640277B1 (en) Input staging logic for latching source synchronous data
US7949860B2 (en) Multi thread processor having dynamic reconfiguration logic circuit
US6678783B2 (en) Inter-device coupler
JPH10133768A (ja) クロックシステム、半導体装置、半導体装置のテスト方法、及びcad装置
US8254187B2 (en) Data transfer apparatus, and method, and semiconductor circuit
EP1313006A2 (en) Data transfer circuit between different clock regions
US7047392B2 (en) Data processing apparatus and method for controlling staged multi-pipeline processing
JPH1115783A (ja) 同期回路
JP2004326222A (ja) データ処理システム
US11940940B2 (en) External exchange connectivity
US6580303B1 (en) Datapath control circuit with adjustable delay elements
US9658857B2 (en) Method and apparatus for processor to operate at its natural clock frequency in the system
US20230087576A1 (en) Domain-selective control component
JP2000353939A (ja) クロック信号同期式フリップフロップ回路
JP2645462B2 (ja) データ処理システム

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071112

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081112

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081112

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091112

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091112

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101112

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111112

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111112

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121112

Year of fee payment: 13

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121112

Year of fee payment: 13

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131112

Year of fee payment: 14

LAPS Cancellation because of no payment of annual fees