JP2004234154A - Clock compensation circuit - Google Patents

Clock compensation circuit Download PDF

Info

Publication number
JP2004234154A
JP2004234154A JP2003019737A JP2003019737A JP2004234154A JP 2004234154 A JP2004234154 A JP 2004234154A JP 2003019737 A JP2003019737 A JP 2003019737A JP 2003019737 A JP2003019737 A JP 2003019737A JP 2004234154 A JP2004234154 A JP 2004234154A
Authority
JP
Japan
Prior art keywords
delay
clock
circuit
bus
control device
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.)
Pending
Application number
JP2003019737A
Other languages
Japanese (ja)
Inventor
Tsutomu Yamazaki
勉 山崎
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.)
Hitachi Information Technology Co Ltd
Original Assignee
Hitachi Information Technology Co Ltd
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 Hitachi Information Technology Co Ltd filed Critical Hitachi Information Technology Co Ltd
Priority to JP2003019737A priority Critical patent/JP2004234154A/en
Publication of JP2004234154A publication Critical patent/JP2004234154A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a clock compensation circuit for a synchronous bus allowing mounting of a clock signal, data and an address signal by the same wiring specifications by IO controllers, without requiring mounting of the clock signal between the respective IO controllers by equal-length wiring specifications even if the number of the input/output (IO) controllers connected to an IO bus increases. <P>SOLUTION: In this clock compensation circuit for the synchronous bus in an information processor having a bus arbiter device 20 connected to the plurality of IO controllers 30, 40, the bus arbiter device 20 has a delay calculation circuit 110 calculating a delay value for compensating a clock, and delay addition circuits 150, 160 adding a delay to the clock distributed to each the input/output controller on the basis of the calculated delay value. <P>COPYRIGHT: (C)2004,JPO&NCIPI

Description

【0001】
【発明の属する技術分野】
本発明は、システムの同期バス制御に係り、特に複数の入出力(IO)制御装置を接続する情報処理装置における同期バスのクロック補整回路に関する。
【0002】
【従来の技術】
IO制御装置およびバスアービタ装置を含むシステムにおけるクロック同期方式においては、バスアービタ装置とIO制御装置が1対1の場合、クロック、コントロール、データ、およびアドレス信号の等長配線実装が可能でありクロックスキューの問題とはならない。しかし、通常のシステム構成では、バスアービタ装置とIO制御装置は1対N接続である。従って、IOバスに接続するIO制御装置間のクロックスキューを最小に納めるため、各IO制御装置用のクロック信号を等長配線とし、IOバス共通信号であるデータとアドレスは各IO制御装置間をシリアル配線接続(タップオフなし)仕様とされる。このため、クロックとデータ、およびアドレス間で配線長バラツキが発生し、この配線長バラツキによりIOバスシステムのマージン確保が困難となっていた。その結果、IO制御装置の実装にはマージンを保証するため配線長の実装制限を設けざるを得ないという問題があった。
【0003】
次の特許文献1には、LSI内に設けたPLL回路によりLSI内のバラツキ低減を行うことが記載されている。
【特許文献1】
特開2000−347764号公報
しかしながら、この技術は、LSI内部のバラツキ低減に関するものであり、基板上の配線長のスキューの問題を解決するものではない。
【0004】
【発明が解決しようとする課題】
上述のように、同期バスに接続されるIO制御装置の接続数が増加すると、クロック信号とデータおよびアドレス信号の配線長バラツキが増大する。このため、IOバスのマージン確保が困難となり、最悪の場合には、IOバスシステムを安定稼動させるためにIOバスの動作周波数を本来必要とするIO制御装置の性能以下で稼動せざるを得なくなる。結果としてシステム全体の性能が低下する。さらに、バス性能を確保するため、IO制御装置の配線時に線長バラツキを最小に抑える必要があり、このためIO制御装置の実装に配線長制限が設けられるという問題もある。また、IO制御装置の入力ピンまでがクロックスキューの対象であり、LSIプロセスの相違によるスキューのバラツキについては従来考慮されていない。
【0005】
本発明の目的は、IOバスに接続するIO制御装置が増加しても、各IO制御装置間のクロック信号の等長配線仕様で実装する必要はなく、クロック信号とデータおよびアドレス信号を各IO制御装置別に同一配線仕様で実装し得る同期バスのクロック補整回路を提供することにある。
本発明の他の目的は、IOシステム装置でのバス周波数アップの要求に対し基板上の配線仕様を変更せずにIO制御装置の周波数向上を容易に行い得る同期バスのクロック補整回路を提供することにある。
本発明の他の目的は、従来はLSIピンまでをクロックスキュー調整範囲としていたが、LSIプロセス相違までを含めたクロックスキューの調整を行い得る同期バスのクロック補整回路を提供することにある。
本発明の他の目的は、上記で述べた同期バスでの実装制限を解除し、バス仕様の最大配線仕様まで配線を可能とするため、必要とするシステム構成に合わせた配置、および実装を行い得るようにした同期バスのクロック補整回路を提供することにある。
【0006】
【課題を解決するための手段】
上記目的は、複数の入出力(IO)制御装置に接続されるバスアービタ装置を備えた情報処理装置における同期バスのクロック補整回路であって、バスアービタ装置が、クロックを補整するためのディレイ値を算出するディレイ算出回路と、算出したディレイ値に基づいて各入出力制御装置に分配するクロックにディレイを付加するディレイ付加回路とを備えたクロック補整回路により、達成される。
【0007】
ここで、ディレイ算出回路は、情報処理装置のパワーオン時に、バスアービタ装置と入出力制御装置間のコントロール信号を用いて生成されたディレイ周波数に基づいてディレイ値を算出することができる。ディレイ付加回路は、入出力制御装置にアクセスするデータライト回路およびデータリード回路にそれぞれ対応して設けられる。このデータライト回路およびデータリード回路に対して異なるディレイを付加することができる。また、算出したディレイ値は記憶装置に格納しておくことができる。ディレイ付加回路は、情報処理装置のパワーオン時に、記憶装置に格納されたディレイ値に基づいて各入出力制御装置に分配するクロックにディレイを付加することができる。
【0008】
【発明の実施の形態】
以下、本発明の実施形態について説明するが、その前に本発明の概要を簡単に述べる。本発明では、バスアービタ装置とIO制御装置間のディレイ値を算出するディレイ算出回路、算出したディレイ値を保持するディレイ保持レジスタ、ディレイ値からライト用およびリード用のIO装置間のディレイ値に変換するディレイ設定レジスタ、ディレイ設定レジスタに応じてバスアービタの内部クロックにディレイを付加するディレイ付加回路をバスアービタに設ける。また、システム立上時のパワーオンリセット信号受信を契機として、バスアービタ装置とIO制御装置は各々クロック補整モードに移行し、装置間ディレイ周期を通常の制御信号線(例えば、GNT信号、REQ信号)を用いて発振回路を形成し、この発振周波数よりディレイ算出回路を用いて変換し装置間ディレイ値を求める。パワーオンリセット信号を受信後に一定期間でクロック調整を行い装置間ディレイ値を算出しディレイ保持レジスタに格納する。その後、ディレイ保持レジスタからレジスタ値の1/2をディレイ設定レジスタに設定する。ディレイ設定レジスタのディレイ値で遅延させたクロックをIO制御装置アクセス用のデータライト回路、データリード回路に各々分配することにより、従来方式と同等のIO制御装置のクロック補整ができる。
【0009】
しかしながら、上記回路では、IOバスクロックマージン幅が狭いため、従来技術同様にMAX配線長制限が発生する。このため、本発明ではさらに、IOバスクロックマージン幅を広げるように、ディレイ保持レジスタからのディレイ設定レジスタの設定時に、レジスタ値の1/4ディレイ値をライトクロックに付加し、3/4ディレイ値をリードクロックに付加することにより、IOバスマージンを広げるようにした。ここで、1/4、3/4ディレイ値はクロックマージン幅拡張の一例であり、これに限定されるものではない。さらに、本発明では、IO制御装置間のディレイ実測値、算出値が求められていればこの値を不揮発性メモリ等の記憶装置に格納しておく。そしてシステム立上げ時に、この格納したディレイ値をディレイ設定レジスタに設定することにより、高信頼性のクロック補整値でシステムを動作させることができるようにしている。
【0010】
次に、本発明の実施形態について説明する。図1は、本発明に係るクロック補整回路を有する装置の一実施例を示すブロック図であり、図3は従来方式の一例を示すブロック図である。
図1および図3に示すように、本実施例および従来方式はともに、CPU10と、システムバス11およびIOバス21のバス変換を司るバスアービタ(BA_LSI)20と、バスアービタ(BA_LSI)20とIO21バスで接続されるIO制御装置(LSI_A)30およびIO制御装置(LSI_K)40とを備えて構成されている。図中、GNT_A22、REQ_A23およびGNT_K24、REQ_K25はそれぞれコントロール信号である。
【0011】
従来方式では、図3に示すように、IOバスの各装置間のクロックスキュー調整を行う場合には、バスアービタ(BA_LSI)20の出力クロックであるCLK−A31、CLK−K32、およびCLK−N33を基板上で等長配線しクロックスキュー調整を実現している。しかし従来方式では、クロック信号とIOバス21のコントロール、データ、およびアドレス信号で配線長バラツキがありIOバスマージン確保が困難になるという問題がある。
【0012】
本実施例では、図1で示すようにバスアービタ(BA_LSI)20にディレイ算出回路110を具備し、IO制御装置(LSI_A)30との配線(クロック、コントロール、データ、アドレスの信号)を等長配線とし、他のIO制御装置(LSI_K)40の配線仕様(クロック配線を含む信号配線の配線仕様)とは別配線仕様としている。
【0013】
図2は、本発明に係るクロック補整回路の一例を示す詳細図である。本例では、図2に示すように、システムのパワーオン時にバスアービタ(BA_LSI)20とIO制御装置(LSI_A)30間のコントロール信号であるGNT_A22とREQ_A23をクロックディレイの調整用信号として用い、装置間のクロック補整を行うことができるようにしている。これについて図6を用いて説明する。
【0014】
図6は、システムパワーオン時のコントロール信号であるGNT_A22とREQ_A23を用いたディレイ周波数生成タイムチャートを示す図である。バスアービタ(BA_LSI)20は、システムパワーオン時のパワーオンリセット信号50(‘L’レベル)を受信すると、バスクロック補整モードに移行し、IO制御装置(LSI_A)30とのコントロール信号であるREQ_A23(初期値‘L’レベル)とパワーオンリセット信号50をNOR回路に入力しGNT_A22に’H’レベル値を送出する。
【0015】
IO制御装置(LSI_A)30は、パワーオンリセット信号50を受信すると、クロック補整モードに移行し、GNT_A22とREQ_23で論理接続を行いバスアービタ(BA_LSI)20からの送出されたGNT_A22の’H’レベル信号をクロック補整モード中は、バスアービタ(BA_LSI)20とのコントロール信号であるREQ_A23へ’H’レベル値を送出する。
バスアービタ(BA_LSI)20は、IO制御装置(LSI_A)30からのREQ_A23の’H’レベル信号とパワーオンリセット信号50の’L’レベル信号のNOR回路により、IO制御装置(LSI_A)30とのGNT_A22に’L’レベル信号を送出する。このバスアービタ(BA_LSI)20とIO制御装置(LSI_A)30間のGNT_A22とREQ_A23で’H’レベルと’L’レベルの送出の繰り返しにより、バスアービタ(BA_LSI)20とIO制御装置(LSI_A)30間の装置間ディレイ周期の周波数111を得る。この生成された装置間ディレイ周波数111であるREQ_A23をディレイ算出回路110で算出することにより、装置間ディレイ周期である周波数111のディレイ値を求める。
【0016】
次にディレイ算出回路110について説明する。図7は、ディレイ素子を用いたディレイ算出回路による算出の一例を示す図である。本例のディレイ算出回路110は、図示のように、生成されたディレイ周波数111を2分周したディレイ周期を生成し、このディレイ周期に4nsディレイ素子を0番から8番まで順番に付加しディレイ周期を遅延させる。この遅延したディレイ素子0番から8番の出力信号とディレイ周期でANDをとり、これをAND回路の立ち上がりでディレイ素子の番号に対応するディレイ保持レジスタ120のBit0からBit8に保持する。例えば、ディレイ素子0番はBit0に保持し、ディレイ素子8番はBit8に保持する。
【0017】
図7の例では、ディレイ保持レジスタ120に、Bit0=1、Bit1=1、Bit2=1、Bit3=1、Bit4=1、Bit5=1、Bit6=1、Bit7=0、Bit8=0が保持される。Bit6=1とBit7=0より、ディレイ周期は、4ns×7=28nsが算出され、この値がディレイ保持レジスタ120にディレイ値として保持される。本例では4nsのディレイ素子としているが、クロックスキューの精度が要求される場合は1〜3nsのディレイ素子を採用すること、またはディレイ周波数111の分周回数を増やすことにより、ディレイ周期の精度を上げることができる。
【0018】
パワーオンリセット信号50を受信してから、ディレイ期間制御回路190で定めたディレイ値調整期間が終了すると、ディレイ算出回路110で求めたディレイ周波数111のディレイ値をディレイ保持レジスタ120に保持する。この時ディレイ算出回路110はIO制御装置別に設けても良いし、共通回路とし時分割に算出しても良い。
【0019】
その後、ディレイ保持レジスタ120の1/2ディレイ値(1ビット左シフト)をデータライト用のWTディレイ設定レジスタ130に設定し、同時にディレイ保持レジスタ120の1/2ディレイ値(1ビット左シフト)をデータリード用のRDディレイ設定レジスタ140に設定する。WTディレイ設定レジスタ130のディレイ値をWTディレイ付加回路150で付加し、CLOCK300を遅延させIOバス制御用のデータライト回路170に送出する。RDディレイ設定レジスタ140のディレイ値をRDディレイ付加回路160で付加し、CLOCK300を遅延させIOバス制御用のデータリード回路180に送出する。なお、図2中の符号▲1▼〜▲3▼は、後述する図4、図5および図8中の同符号にそれぞれ対応する。
【0020】
上記手順より、バスアービタ(BA_LSI)20とIO制御装置30間のディレイ値を算出しクロックスキューを最小限に抑えたLSI間のクロック補整を行い得る。また、LSI内部ディレイはクロック信号と同一段数のバッファとすることによりLSI内ディレイを含めたクロックスキュー補整が可能となる。以上述べたように、本実施例では、LSI内ディレイまで含めたクロック補整が可能である装置を提供することができる。
【0021】
図4はデータライトのタイミングチャートであり、(a)は従来方式、(b)は本発明によるものである。また、図5はデータリードのタイミングチャートであり、(a)は従来方式、(b)は本発明によるものである。
図4(a)および図5(a)に示されるように、従来方式では、各クロック信号の等長配線を行いクロックタイミングをCLK_N33に合わせて各装置でのデータ取込みを行っている。これに対して本発明では、図4(b)および図5(b)に示されるように、IOバス21のIO装置間ディレイを算出し、各IO装置間のディレイ値を算出したクロックタイミングCLK_A31、CLK_K32でのデータ取込み方式としている。クロックスキューの補正は、従来技術と同等以上に確保できるが、どちらの方式でも装置間の配線長が長くなるとデータ取り込み時のデータセットアップ時間の確保に問題が残る。近端IO装置については、LSI内でディレイ保証されるため、データホールド時間は必ず確保される。
【0022】
このため、本実施例の図2において、ディレイ保持レジスタ120の1/4ディレイ値をWTディレイ設定レジスタ130に設定し、このディレイ値をWTディレイ付加回路150で付加し、CLOCK300の出力クロックを遅延させ、IOバス制御用のデータライト回路170に送出する。同様にディレイ保持レジスタ120の3/4ディレイ値をRDディレイ設定レジスタ140に設定し、このディレイ値をRDディレイ付加回路160で付加し、CLOCK300の出力クロックを遅延させIOバス制御用のデータリード回路180に送出する。ここで、1/4ディレイ値、3/4ディレイ値はクロックマージン幅を拡張する一例を示すものである。これにより、バスアービタ(BA_LSI)20とIO制御装置30間、IO装置40間とのデータ転送において、IOデータ転送のクロックマージン幅を広げることができIOバスマージン最適化を行うことができる。従って、実装制限を意識せずにシステム周波数にあった最適なIOシステム構成を構築することができる。
【0023】
図8はクロックマージン幅を広げたときのタイミングチャートの比較を示す図で、(a)は1/4ディレイ値、(b)は3/4ディレイ値の場合である。このタイムチャートでわかるように1/4ディレイ値、3/4ディレイ値に設定することにより最遠端のIO制御装置40でのIOバスマージン幅が1/2ディレイ値に対し充分に確保できる。また、本実施例では、パワーオン毎にクロック補整を実施することとしているが、パワーオンリセット後、一度クロック補整を行ったのちにサブ電源で動作するシステムサポートユニット200の不揮発性メモリ210にバスアービタ(BA_LSI)20と各IO制御装置間のクロック補整値を格納しておく。これにより、システムパワーオン時にバスアービタ(BA_LSI)20は、システムサポートユニット200より、クロック調整データを設定することにより、バスアービタ(BA_LSI)20の初期設定処理の一環でWTディレイ設定レジスタ130とRDディレイ設定レジスタ140にシステムサポートユニット200内の不揮発性メモリ210の格納データをローカルバス220で設定する。その後、IO装置に対し通常のコマンドリセットを発行することにより通常の制御処理を開始する。
【0024】
また、装置の実測でIO制御装置が安定稼動するクロック補整値が見極められていれば、この値を不揮発性メモリ210に格納しておくことにより、システム構成にあった高信頼性バスシステムで稼動させることも可能である。以上のように本発明ではシステム構成にあった高品質のIOバス制御装置を得ることができる。
【0025】
このように本発明では、同期IOバス転送方式でデータ転送を行うシステムにおいてクロックスキューを調整する際に、バスアービタと各IO制御装置間のクロック線長を基板配線パターンの等長配線を意識することなく、IO制御装置の個別の配線仕様にてクロック補整を行うことができる。また、IO制御装置の個々に対しクロック補整が実現でき、バスクロックマージン幅を広げることができるため、従来方式でシステム性能上、実装制限となっていたIOバスの最大配線長まで実装配線が可能となり、安定稼動可能な高信頼性のIOバス制御装置が得られる。また、システム構成での実測結果を反映し、システム周波数にあった最適化されたIOシステム構成を構築することができるIOバス制御装置が得られる。さらに、システム評価結果を反映したクロック補整値が見極められていれば、これをデフォルト値として不揮発性メモリ内に格納しておくことで、システム立上げ時にIOバスシステムを高信頼値のクロックで動作させることもできる。
【0026】
【発明の効果】
本発明によれば、IOバスに接続するIO制御装置が増加しても、各IO制御装置間のクロック信号の等長配線仕様で実装する必要はなく、クロック信号とデータおよびアドレス信号を各IO制御装置別に同一配線仕様で実装し得る同期バスのクロック補整回路を得ることができる。また、本発明のクロック補整回路では、IOシステム装置でのバス周波数アップの要求に対し基板上の配線仕様を変更せずにIO制御装置の周波数向上を容易に行うことができる。さらに、従来はLSIピンまでをクロックスキュー調整範囲としていたが、LSIプロセス相違までを含めたクロックスキュー調整を行うことができる。また、同期バスでの実装制限を解除し、バス仕様の最大配線仕様まで配線可能とするため、必要とするシステム構成に合わせた配置、および実装を行うことができる。
【図面の簡単な説明】
【図1】本発明に係るクロック補整回路を有する装置の一実施例を示すブロック図である。
【図2】本発明に係るクロック補整回路の一例を示す詳細図である。
【図3】従来方式のクロックスキュー調整回路を示すブロック図である。
【図4】データライトのタイミングチャートであり、(a)は従来方式、(b)は本発明によるものである。
【図5】データリードのタイミングチャートであり、(a)は従来方式、(b)は本発明によるものである。
【図6】パワーオン時のディレイ周波数生成タイミングチャートである。
【図7】ディレイ素子を用いたディレイ算出回路による算出の一例を示す図である。
【図8】クロックマージン幅を広げたときのタイミングチャートの比較を示す図で、(a)は1/4ディレイ値の場合、(b)は3/4ディレイ値の場合である。
【符号の説明】
10 CPU
11 システムバス
20 バスアービタ BA_LSI
21 IOバス
22 IO制御LSI_A用GNT_A信号
23 IO制御LSI_A用REQ_A信号
24 IO制御LSI_K用GNT_K信号
25 IO制御LSI_K用REQ_K信号
30 IO制御装置 LSI_A
31 IO制御LSI_A用CLK_A信号
32 IO制御LSI_K用CLK_K信号
33 バスアービタ用CLK_Nループ信号
40 IO制御装置 LSI_K
50 パワーオンリセット信号
110 ディレイ算出回路
120 ディレイ保持レジスタ
130 WTディレイ設定レジスタ
140 RDディレイ設定レジスタ
150 WTディレイ付加回路
160 RDディレイ付加回路
170 IOバスのデータライト回路
180 IOバスのデータリード回路
190 ディレイ期間制御回路
200 システムサポートユニット
210 不揮発性メモリ
220 ローカルバス
300 バスアービタ内CLOCK回路
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a synchronous bus control of a system, and more particularly to a synchronous bus clock compensation circuit in an information processing device that connects a plurality of input / output (IO) control devices.
[0002]
[Prior art]
In a clock synchronization system in a system including an IO control device and a bus arbiter device, when the bus arbiter device and the IO control device are in a one-to-one correspondence, clock, control, data, and address signals can be mounted with equal length wiring, and clock skew can be reduced. It doesn't matter. However, in a normal system configuration, the bus arbiter device and the IO control device are connected one to N. Therefore, in order to minimize the clock skew between the IO control devices connected to the IO bus, the clock signal for each IO control device is made equal length wiring, and the data and address, which are IO bus common signals, are transmitted between the IO control devices. Serial wiring connection (no tap-off) specification. For this reason, wiring length variations occur between clocks, data, and addresses, and it has been difficult to secure a margin for the IO bus system due to the wiring length variations. As a result, there has been a problem that mounting of the IO control device has to be limited in order to guarantee a margin in mounting the wiring length.
[0003]
Japanese Patent Application Laid-Open No. H11-157210 describes that variation in an LSI is reduced by a PLL circuit provided in the LSI.
[Patent Document 1]
However, this technique relates to the reduction in variation inside the LSI, and does not solve the problem of the skew of the wiring length on the substrate.
[0004]
[Problems to be solved by the invention]
As described above, when the number of connected IO control devices connected to the synchronous bus increases, the wiring length variation of the clock signal, the data, and the address signal increases. For this reason, it is difficult to secure the IO bus margin. In the worst case, the IO bus system must be operated at an operating frequency lower than the performance of the IO controller which originally requires the operating frequency of the IO bus in order to stably operate the IO bus system. . As a result, the performance of the entire system decreases. Further, in order to ensure bus performance, it is necessary to minimize variations in wire length when wiring the IO control device, and therefore, there is a problem in that the wiring length of the IO control device is limited. Further, clock skew is applied to the input pins of the IO control device, and variations in skew due to differences in LSI processes have not been considered in the past.
[0005]
An object of the present invention is that even if the number of IO control devices connected to the IO bus increases, it is not necessary to implement clock signals between the IO control devices with equal length wiring specifications. An object of the present invention is to provide a clock compensation circuit for a synchronous bus that can be implemented with the same wiring specifications for each control device.
Another object of the present invention is to provide a clock compensation circuit for a synchronous bus that can easily improve the frequency of an IO control device without changing the wiring specifications on a board in response to a request for increasing the bus frequency in an IO system device. It is in.
Another object of the present invention is to provide a clock compensation circuit for a synchronous bus which can adjust the clock skew including the LSI process difference, which has been conventionally limited to the LSI pin as the clock skew adjustment range.
Another object of the present invention is to dispose the mounting restrictions on the synchronous bus described above and perform wiring and wiring according to the required system configuration in order to enable wiring up to the maximum wiring specification of the bus specification. It is an object of the present invention to provide a clock compensation circuit for a synchronous bus.
[0006]
[Means for Solving the Problems]
An object of the present invention is to provide a clock adjusting circuit for a synchronous bus in an information processing device having a bus arbiter device connected to a plurality of input / output (IO) control devices, wherein the bus arbiter device calculates a delay value for adjusting a clock. This is achieved by a clock compensating circuit including a delay calculating circuit for calculating a delay and a delay adding circuit for adding a delay to a clock distributed to each input / output control device based on the calculated delay value.
[0007]
Here, the delay calculation circuit can calculate the delay value based on the delay frequency generated using the control signal between the bus arbiter device and the input / output control device when the information processing device is powered on. The delay adding circuit is provided corresponding to each of a data write circuit and a data read circuit that access the input / output control device. Different delays can be added to the data write circuit and the data read circuit. Further, the calculated delay value can be stored in a storage device. The delay adding circuit can add a delay to the clock distributed to each input / output control device based on the delay value stored in the storage device when the information processing device is powered on.
[0008]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, embodiments of the present invention will be described, but before that, an outline of the present invention will be briefly described. According to the present invention, a delay calculating circuit for calculating a delay value between a bus arbiter device and an IO control device, a delay holding register for holding the calculated delay value, and converting the delay value into a delay value between a write and read IO device. The bus arbiter is provided with a delay setting register and a delay adding circuit for adding a delay to the internal clock of the bus arbiter according to the delay setting register. Further, upon receiving the power-on reset signal at the time of system startup, the bus arbiter device and the IO control device shift to the clock compensation mode respectively, and the delay period between the devices is set to the normal control signal line (eg, GNT signal, REQ signal). Is used to form an oscillation circuit, and the oscillation frequency is converted using a delay calculation circuit to obtain a delay value between devices. After receiving the power-on reset signal, the clock is adjusted for a certain period of time to calculate the inter-device delay value and store it in the delay holding register. Then, 1/2 of the register value is set in the delay setting register from the delay holding register. By distributing the clock delayed by the delay value of the delay setting register to the data write circuit and the data read circuit for accessing the IO control device, it is possible to adjust the clock of the IO control device equivalent to the conventional system.
[0009]
However, in the above-mentioned circuit, the IO bus clock margin width is narrow, so that the MAX wiring length is limited as in the prior art. Therefore, according to the present invention, when setting the delay setting register from the delay holding register, a 1/4 delay value of the register value is added to the write clock so as to widen the IO bus clock margin width, and the 3/4 delay value is added. Is added to the read clock to increase the IO bus margin. Here, the 1/4 and 3/4 delay values are an example of clock margin width expansion, and are not limited thereto. Further, in the present invention, if an actual measured value and a calculated value of the delay between the IO control devices are obtained, these values are stored in a storage device such as a nonvolatile memory. When the system is started, the stored delay value is set in a delay setting register, so that the system can be operated with a highly reliable clock correction value.
[0010]
Next, an embodiment of the present invention will be described. FIG. 1 is a block diagram showing an embodiment of a device having a clock compensation circuit according to the present invention, and FIG. 3 is a block diagram showing an example of a conventional system.
As shown in FIGS. 1 and 3, both the present embodiment and the conventional system use a CPU 10, a bus arbiter (BA_LSI) 20 for controlling bus conversion of a system bus 11 and an IO bus 21, a bus arbiter (BA_LSI) 20 and an IO 21 bus. It is configured to include an IO control device (LSI_A) 30 and an IO control device (LSI_K) 40 to be connected. In the figure, GNT_A22, REQ_A23 and GNT_K24, REQ_K25 are control signals, respectively.
[0011]
In the conventional system, as shown in FIG. 3, when adjusting the clock skew between the devices of the IO bus, CLK-A31, CLK-K32, and CLK-N33, which are the output clocks of the bus arbiter (BA_LSI) 20, are used. Clock skew adjustment is realized by equi-length wiring on the board. However, in the conventional method, there is a problem that the wiring length varies between the clock signal and the control, data, and address signals of the IO bus 21, and it is difficult to secure the IO bus margin.
[0012]
In the present embodiment, as shown in FIG. 1, a bus arbiter (BA_LSI) 20 is provided with a delay calculating circuit 110, and wiring (clock, control, data, and address signals) with the IO control device (LSI_A) 30 is equi-length wiring. The wiring specifications are different from the wiring specifications of other IO control devices (LSI_K) 40 (the wiring specifications of the signal wiring including the clock wiring).
[0013]
FIG. 2 is a detailed diagram showing an example of the clock compensation circuit according to the present invention. In this example, as shown in FIG. 2, when the system is powered on, GNT_A22 and REQ_A23, which are control signals between the bus arbiter (BA_LSI) 20 and the IO control device (LSI_A) 30, are used as clock delay adjustment signals. Clock compensation can be performed. This will be described with reference to FIG.
[0014]
FIG. 6 is a diagram showing a time chart of delay frequency generation using the control signals GNT_A22 and REQ_A23 when the system power is turned on. When the bus arbiter (BA_LSI) 20 receives the power-on reset signal 50 ('L' level) at the time of system power-on, the bus arbiter (BA_LSI) 20 shifts to a bus clock compensation mode, and REQ_A 23 (a control signal for the IO control device (LSI_A) 30). The initial value “L” level) and the power-on reset signal 50 are input to the NOR circuit, and the “H” level value is sent to the GNT_A 22.
[0015]
When the IO control device (LSI_A) 30 receives the power-on reset signal 50, the IO control device (LSI_A) 30 shifts to the clock compensation mode, makes a logical connection between the GNT_A 22 and the REQ_23, and outputs the “H” level signal of the GNT_A 22 from the bus arbiter (BA_LSI) 20. During the clock compensation mode, an 'H' level value is sent to REQ_A 23 which is a control signal for the bus arbiter (BA_LSI) 20.
The bus arbiter (BA_LSI) 20 uses the NOR circuit of the “H” level signal of the REQ_A 23 and the “L” level signal of the power-on reset signal 50 from the IO control device (LSI_A) 30 to GNT_A 22 with the IO control device (LSI_A) 30. To the 'L' level signal. By repeating the transmission of the "H" level and the "L" level by the GNT_A22 and REQ_A23 between the bus arbiter (BA_LSI) 20 and the IO control device (LSI_A) 30, the bus arbiter (BA_LSI) 20 and the IO control device (LSI_A) 30 are repeated. The frequency 111 of the inter-device delay cycle is obtained. By calculating the REQ_A23, which is the generated inter-device delay frequency 111, by the delay calculation circuit 110, the delay value of the frequency 111, which is the inter-device delay cycle, is obtained.
[0016]
Next, the delay calculation circuit 110 will be described. FIG. 7 is a diagram illustrating an example of calculation by a delay calculation circuit using a delay element. As shown in the figure, the delay calculation circuit 110 of this example generates a delay cycle obtained by dividing the generated delay frequency 111 by two, and adds a 4 ns delay element to the delay cycle in order from No. 0 to No. 8 to generate a delay cycle. Delay the cycle. An AND operation is performed on the delayed output signals of the delay elements No. 0 to No. 8 with the delay cycle, and these are held in Bit 0 to Bit 8 of the delay holding register 120 corresponding to the delay element number at the rising edge of the AND circuit. For example, delay element No. 0 is stored in Bit 0, and delay element No. 8 is stored in Bit 8.
[0017]
In the example of FIG. 7, Bit0 = 1, Bit1 = 1, Bit2 = 1, Bit3 = 1, Bit4 = 1, Bit5 = 1, Bit6 = 1, Bit7 = 0, Bit8 = 0 are stored in the delay holding register 120. You. From Bit6 = 1 and Bit7 = 0, the delay cycle is calculated as 4 ns × 7 = 28 ns, and this value is held in the delay holding register 120 as a delay value. In this example, a delay element of 4 ns is used. However, if clock skew accuracy is required, the delay element of 1 to 3 ns may be used, or the frequency of the delay frequency 111 may be increased to increase the accuracy of the delay cycle. Can be raised.
[0018]
When the delay value adjustment period determined by the delay period control circuit 190 ends after receiving the power-on reset signal 50, the delay value of the delay frequency 111 obtained by the delay calculation circuit 110 is held in the delay holding register 120. At this time, the delay calculation circuit 110 may be provided for each IO control device, or may be calculated as a common circuit in a time sharing manner.
[0019]
Thereafter, the デ ィ レ イ delay value of the delay holding register 120 (1 bit left shift) is set in the WT delay setting register 130 for data writing, and at the same time, the デ ィ レ イ delay value of the delay holding register 120 (1 bit left shift) is set. This is set in the RD delay setting register 140 for data read. The delay value of the WT delay setting register 130 is added by the WT delay adding circuit 150, and the CLOCK 300 is delayed and sent to the data write circuit 170 for controlling the IO bus. The delay value of the RD delay setting register 140 is added by the RD delay adding circuit 160, and the CLOCK 300 is delayed and sent to the data read circuit 180 for controlling the IO bus. Note that reference numerals (1) to (3) in FIG. 2 correspond to the same reference numerals in FIGS. 4, 5, and 8, respectively, which will be described later.
[0020]
According to the above procedure, the delay value between the bus arbiter (BA_LSI) 20 and the IO control device 30 is calculated, and the clock compensation between the LSIs with the clock skew minimized can be performed. Further, by using the same number of buffers as the clock signal for the LSI internal delay, clock skew compensation including the LSI internal delay can be performed. As described above, according to the present embodiment, it is possible to provide a device capable of performing clock adjustment including a delay in an LSI.
[0021]
FIGS. 4A and 4B are timing charts of the data write, wherein FIG. 4A shows the conventional method and FIG. 4B shows the data write according to the present invention. FIGS. 5A and 5B are timing charts of data reading, in which FIG. 5A shows a conventional method and FIG.
As shown in FIGS. 4 (a) and 5 (a), in the conventional method, data is fetched in each device by performing equal-length wiring of each clock signal and adjusting the clock timing to CLK_N33. On the other hand, in the present invention, as shown in FIGS. 4B and 5B, the delay between the IO devices of the IO bus 21 is calculated, and the clock timing CLK_A31 for calculating the delay value between the IO devices is calculated. , CLK_K32. Clock skew correction can be ensured at a level equal to or higher than that of the conventional technique, but in either case, if the wiring length between the devices becomes long, there remains a problem in securing the data setup time at the time of capturing data. As for the near-end IO device, a delay is guaranteed in the LSI, so that a data hold time is always ensured.
[0022]
For this reason, in FIG. 2 of this embodiment, the 1 / delay value of the delay holding register 120 is set in the WT delay setting register 130, and this delay value is added by the WT delay adding circuit 150 to delay the output clock of the CLOCK 300. Then, the data is sent to the data write circuit 170 for controlling the IO bus. Similarly, the / delay value of the delay holding register 120 is set in the RD delay setting register 140, and this delay value is added by the RD delay adding circuit 160, the output clock of the CLOCK 300 is delayed, and the data read circuit for IO bus control is set. 180. Here, the 1/4 delay value and the 3/4 delay value show an example of extending the clock margin width. Accordingly, in data transfer between the bus arbiter (BA_LSI) 20 and the IO control device 30 and between the IO devices 40, the clock margin width of the IO data transfer can be widened and the IO bus margin can be optimized. Therefore, it is possible to construct an optimal IO system configuration suitable for the system frequency without being aware of mounting restrictions.
[0023]
FIGS. 8A and 8B show a comparison of the timing charts when the clock margin width is widened. FIG. 8A shows a case of a 1/4 delay value, and FIG. 8B shows a case of a 3/4 delay value. As can be seen from this time chart, by setting the 1/4 delay value and the 3/4 delay value, the IO bus margin width in the farthest end IO control device 40 can be sufficiently secured with respect to the 1/2 delay value. In this embodiment, the clock adjustment is performed every power-on. However, after the power-on reset, the clock adjustment is performed once, and then the bus arbiter is stored in the non-volatile memory 210 of the system support unit 200 that operates on the sub power supply. A clock compensation value between the (BA_LSI) 20 and each IO control device is stored. Thus, when the system power is turned on, the bus arbiter (BA_LSI) 20 sets the clock adjustment data from the system support unit 200, so that the WT delay setting register 130 and the RD delay setting register 130 are set as part of the initial setting process of the bus arbiter (BA_LSI) 20. The data stored in the nonvolatile memory 210 in the system support unit 200 is set in the register 140 via the local bus 220. Thereafter, normal control processing is started by issuing a normal command reset to the IO device.
[0024]
Also, if a clock correction value at which the IO control device operates stably is determined by actual measurement of the device, storing this value in the nonvolatile memory 210 enables operation with a highly reliable bus system suitable for the system configuration. It is also possible to make it. As described above, according to the present invention, a high-quality IO bus control device suitable for the system configuration can be obtained.
[0025]
As described above, according to the present invention, when adjusting the clock skew in a system that performs data transfer by the synchronous IO bus transfer method, the clock line length between the bus arbiter and each IO control device is made aware of the equal length wiring of the board wiring pattern. In addition, clock compensation can be performed according to individual wiring specifications of the IO control device. In addition, since clock compensation can be realized for each IO control device and the bus clock margin width can be widened, mounting and wiring can be performed up to the maximum wiring length of the IO bus, which was limited in system performance by the conventional method. As a result, a highly reliable IO bus control device capable of operating stably can be obtained. Further, an IO bus control device capable of reflecting an actual measurement result in the system configuration and constructing an IO system configuration optimized for the system frequency is obtained. Furthermore, if a clock compensation value that reflects the system evaluation result has been determined, this value is stored in a non-volatile memory as a default value, so that the IO bus system operates with a highly reliable clock at system startup. It can also be done.
[0026]
【The invention's effect】
According to the present invention, even if the number of IO control devices connected to the IO bus increases, it is not necessary to implement the clock signal between the IO control devices with the same length wiring specification. It is possible to obtain a synchronous bus clock compensation circuit that can be implemented with the same wiring specifications for each control device. Further, the clock compensation circuit of the present invention can easily improve the frequency of the IO control device without changing the wiring specifications on the board in response to the request for increasing the bus frequency in the IO system device. Further, conventionally, the clock skew adjustment range up to the LSI pin is used, but the clock skew adjustment including the LSI process difference can be performed. In addition, since the mounting restriction on the synchronous bus is released and wiring can be performed up to the maximum wiring specification of the bus specification, arrangement and mounting can be performed according to the required system configuration.
[Brief description of the drawings]
FIG. 1 is a block diagram showing one embodiment of a device having a clock compensation circuit according to the present invention.
FIG. 2 is a detailed diagram illustrating an example of a clock compensation circuit according to the present invention.
FIG. 3 is a block diagram showing a conventional clock skew adjustment circuit.
FIGS. 4A and 4B are timing charts of data writing, in which FIG. 4A is a conventional method and FIG. 4B is a timing chart according to the present invention.
FIGS. 5A and 5B are timing charts of data reading, wherein FIG. 5A is a conventional method and FIG. 5B is a timing chart according to the present invention.
FIG. 6 is a timing chart of delay frequency generation at power-on.
FIG. 7 is a diagram illustrating an example of calculation by a delay calculation circuit using a delay element.
8A and 8B are diagrams showing a comparison of timing charts when a clock margin width is widened, wherein FIG. 8A shows a case of a 1 / delay value and FIG. 8B shows a case of a / delay value.
[Explanation of symbols]
10 CPU
11 System bus 20 Bus arbiter BA_LSI
21 IO bus 22 GNT_A signal for IO control LSI_A 23 REQ_A signal for IO control LSI_A 24 GNT_K signal for IO control LSI_K 25 REQ_K signal for IO control LSI_K 30 IO control device LSI_A
31 CLK_A signal for IO control LSI_A 32 CLK_K signal for IO control LSI_K 33 CLK_N loop signal 40 for bus arbiter 40 IO control device LSI_K
Reference Signs List 50 power-on reset signal 110 delay calculation circuit 120 delay holding register 130 WT delay setting register 140 RD delay setting register 150 WT delay adding circuit 160 RD delay adding circuit 170 IO bus data write circuit 180 IO bus data read circuit 190 delay period Control circuit 200 System support unit 210 Non-volatile memory 220 Local bus 300 CLOCK circuit in bus arbiter

Claims (6)

複数の入出力制御装置に接続されるバスアービタ装置を備えた情報処理装置における同期バスのクロック補整回路であって、バスアービタ装置が、クロックを補整するためのディレイ値を算出するディレイ算出回路と、算出したディレイ値に基づいて各入出力制御装置に分配するクロックにディレイを付加するディレイ付加回路とを備えたことを特徴とするクロック補整回路。A clock correction circuit for a synchronous bus in an information processing device including a bus arbiter device connected to a plurality of input / output control devices, wherein the bus arbiter device calculates a delay value for correcting a clock; A clock adding circuit for adding a delay to a clock distributed to each input / output control device based on the obtained delay value. ディレイ算出回路が、情報処理装置のパワーオン時に、バスアービタ装置と入出力制御装置間のコントロール信号を用いて生成されたディレイ周波数に基づいてディレイ値を算出することを特徴とする請求項1記載のクロック補整回路。2. The delay calculating circuit according to claim 1, wherein the delay calculating circuit calculates a delay value based on a delay frequency generated by using a control signal between the bus arbiter device and the input / output control device when the information processing device is powered on. Clock compensation circuit. ディレイ付加回路が、入出力制御装置にアクセスするデータライト回路およびデータリード回路にそれぞれ対応して設けられることを特徴とする請求項1または2記載のクロック補整回路。3. The clock compensation circuit according to claim 1, wherein the delay addition circuit is provided corresponding to each of a data write circuit and a data read circuit accessing the input / output control device. データライト回路およびデータリード回路に対して異なるディレイが付加されたクロックが送られることを特徴とする請求項3記載のクロック補整回路。4. The clock compensation circuit according to claim 3, wherein clocks with different delays are sent to the data write circuit and the data read circuit. 算出したディレイ値が記憶装置に格納されることを特徴とする請求項1〜4のいずれかに記載のクロック補整回路。5. The clock compensation circuit according to claim 1, wherein the calculated delay value is stored in a storage device. ディレイ付加回路が、情報処理装置のパワーオン時に、記憶装置に格納されたディレイ値に基づいて各入出力制御装置に分配するクロックにディレイを付加することを特徴とする請求項5記載のクロック補整回路。6. The clock compensation according to claim 5, wherein the delay adding circuit adds a delay to the clock distributed to each input / output control device based on the delay value stored in the storage device when the information processing device is powered on. circuit.
JP2003019737A 2003-01-29 2003-01-29 Clock compensation circuit Pending JP2004234154A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003019737A JP2004234154A (en) 2003-01-29 2003-01-29 Clock compensation circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003019737A JP2004234154A (en) 2003-01-29 2003-01-29 Clock compensation circuit

Publications (1)

Publication Number Publication Date
JP2004234154A true JP2004234154A (en) 2004-08-19

Family

ID=32949536

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003019737A Pending JP2004234154A (en) 2003-01-29 2003-01-29 Clock compensation circuit

Country Status (1)

Country Link
JP (1) JP2004234154A (en)

Similar Documents

Publication Publication Date Title
US6397312B1 (en) Memory subsystem operated in synchronism with a clock
JP4662536B2 (en) Timing adjustment method and apparatus
JP5044849B2 (en) Delay line synchronization apparatus and method
US7161854B2 (en) Jitter and skew suppressing delay control apparatus
US6678811B2 (en) Memory controller with 1X/MX write capability
US6633965B2 (en) Memory controller with 1×/M× read capability
TWI494925B (en) Method and apparatus for implementing write levelization in memory subsystems
JP2010108217A (en) Memory interface and method of operating the same
US8788780B2 (en) Signal restoration circuit, latency adjustment circuit, memory controller, processor, computer, signal restoration method, and latency adjustment method
US6889335B2 (en) Memory controller receiver circuitry with tri-state noise immunity
KR100883140B1 (en) Data output control circuit, semiconductor memory device and operation method thereof
JP2017536639A (en) Calibration of control device received from source synchronous interface
US20240021229A1 (en) Low power memory with on-demand bandwidth boost
JPH0784863A (en) Information processor and semiconductor storage device suitable to the same
JP2009237678A (en) Memory controller device, control method for memory controller device and data reception device
US6128748A (en) Independent timing compensation of write data path and read data path on a common data bus
JP2007226308A (en) Interface circuit and storage controller therewith
US20150146477A1 (en) Semiconductor device
US8180990B2 (en) Integrated circuit including a plurality of master circuits transmitting access requests to an external device and integrated circuit system including first and second interated circuits each including a plurality of master circuits transmitting access requests
JP2005518042A (en) Data transfer between buses with different clocks
US7876641B2 (en) Semiconductor integrated circuit
JP2004234154A (en) Clock compensation circuit
JP2012100058A (en) Delay circuit, delay control device, memory control device and information terminal apparatus
JP2008225956A (en) Semiconductor integrated circuit device and timing adjustment method
JP4778132B2 (en) Memory controller and system