JP3861650B2 - インターフェース回路 - Google Patents
インターフェース回路 Download PDFInfo
- Publication number
- JP3861650B2 JP3861650B2 JP2001313727A JP2001313727A JP3861650B2 JP 3861650 B2 JP3861650 B2 JP 3861650B2 JP 2001313727 A JP2001313727 A JP 2001313727A JP 2001313727 A JP2001313727 A JP 2001313727A JP 3861650 B2 JP3861650 B2 JP 3861650B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- clock
- signal
- read
- phase
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Dram (AREA)
Description
【発明の属する技術分野】
本発明は、インターフェース回路に係り、特にアクセス対象に対して適正なデータアクセスを実行するためのインターフェース回路に関する。
【0002】
【従来の技術および発明が解決しようとする課題】
シンクロナス・ダイナミック・ランダム・アクセス・メモリー(以降SDRAMと呼ぶ)に対してデータアクセスを実行する場合、SDRAMはアドレス及びコマンド等のSDRAM制御信号をインターフェース回路から受け取り、データの書き込み動作や読み出し動作を行っている。
【0003】
前記アドレス、コマンド及びデータ信号は全てSDRAMに入力されるクロック信号のクロックエッジ(立ち上がりエッジ)に同期して転送される。データ書き込み時に、アドレス及びコマンド信号と書き込みデータ信号をメモリーインターフェース回路からSDRAMに確実に転送するためには、SDRAM動作クロックの立ち上がりエッジに対してセットアップ時間と呼ばれる一定時間以上前に全ての信号が確定している必要がある。また、SDRAM動作クロックの立ち上がりエッジに対してホールド時間と呼ばれる一定時間以上後まで全ての信号が状態を保持しておく必要がある。上述のセットアップ時間やホールド時間を満足しない場合、本来書き込むべきデータとは違ったデータがSDRAMに書き込まれる恐れがある。
【0004】
一方、データ読み出し時には、データ信号はSDRAM動作クロックの立ち上がりエッジからデータアクセス時間と呼ばれる一定時間後に、SDRAMから出力されてメモリーインターフェース回路に転送される。メモリーインターフェース内部では、このデータ信号をDラッチ等の受信素子を使って取り込む。このDラッチでのデータ取り込みの際についても、メモリーインターフェース内部動作クロックのエッジに対してセットアップ時間とホールド時間を満足しなければ、誤ったデータを取り込んでしまう恐れがある。
【0005】
例えば、図12に示すようなタイミングで、メモリーインターフェース内部動作クロック及びSDRAM動作クロックが動作し、アドレス/コマンド、書き込みデータ、及び読み込みデータの各信号にアクセスする場合で考えると、アドレス/コマンド信号及び書き込みデータ信号について、SDRAM動作クロックの立ち上がりエッジT0に対する、セットアップ時間Sw及びホールド時間Hwが確保される必要がある。また、読み込みデータについて、メモリーインターフェース内部動作クロックの立ち上がりエッジT1に対する、セットアップ時間SR及びホールド時間HRが確保される必要がある。
【0006】
ところが近年、半導体プロセス技術の向上に伴い、SDRAMの動作クロック周波数は上昇してきており、データアクセスを確実に実施するために必要なセットアップ時間、ホールド時間を確保することが困難になってきている。
【0007】
特開平9−185427号公報に開示された技術では、データアクセスを確実に実施する目的で、図13に示すように、メモリーインターフェース内部の動作クロックとSDRAM動作クロックとの位相関係を調整できるように構成している。この位相調整方式では、メモリーインターフェース内部動作クロックの位相と180°位相の異なるクロックを生成し、更にそのクロックを遅延時間の異なる複数の遅延回路を通すことで、メモリーインターフェース内部の動作クロックと位相の異なる複数のクロックを出力させ、そのうちのいづれか1つを選択したクロックをSDRAMの動作クロックとして出力する事を特徴としている。
【0008】
例えば図14に示すタイミングチャートにおいて、読み込みデータのセットアップ時間が非常に短くなる場合でも、遅延回路による遅延時間を短く設定する事でSDRAM動作クロックの立ち上がり位置を前にシフトすることができ、その結果読み込みデータのセットアップ時間を大きく取る事ができ、SDRAMへのデータアクセスを確実に実施することが可能となる。
【0009】
一方、システムによってはSDRAMを増設したい場合があるが、SDRAMの増設には、デュアル・インライン・メモリー・モジュール(以降DIMMと呼ぶ)を使用する場合が多い。DIMMは複数個のSDRAMデバイスを基板上に実装した構成となっており、マザーボード上に実装されているコネクタに接続する事で、容易にメモリーの増設が可能となっている。
【0010】
メモリーインターフェース回路から出力されるクロック信号は、図14に示すように、遅延回路による遅延時間に、出力バッファの遅延時間、配線の遅延時間が加えられてSDRAMに到達する。この出力バッファの遅延時間+配線の遅延時間の値をまとめて、以下遅延時間と呼ぶ。
【0011】
DIMMにはメモリー容量やDIMMに実装されるデバイスの種類によりいくつかタイプがあるが、タイプの違いによりアドレス/コマンドのような制御端子やデータ端子等に接続されるデバイスの数が違っている。表1に、DIMMの主な種類毎の各端子に接続されるデバイス数を示す。
【0012】
【表1】
【0013】
[表1]の DIMM Typeの列について少し説明すると、64MB(×8b dev)と記載しているものは、DIMMの容量が64Mbyteで、DIMMに搭載されているSDRAMは8bit構成のデバイスをを使用しているということを表している。
【0014】
例えば、[表1]の網掛けがかかっていない行に当たる、128メガバイトのDIMMでは、DIMMのコマンド(RAS及びCAS及びWE及びCS)、クロック(Clock)、アドレス(BA及びAddress)端子にはそれぞれ8個のSDRAMデバイスが接続され、データ(Data)には1個のSDRAMデバイスが接続されている。
【0015】
このDIMMと比較して、64MB(×16b Dev)のDIMMでは、DIMMのコマンド(RAS及びCAS及びWE及びCS)、クロック(Clock)、アドレス(BA及びAddress)端子にはそれぞれ4個のデバイスが接続され、データ(Data)には1個のデバイスが接続されており、前記の128メガバイトのDIMMと比較して、コマンド(RAS及びCAS及びWE及びCS)、クロック(Clock)、アドレス(BA及びAddress)端子の負荷は半分になっていることが分かる。
【0016】
一方、メモリーインターフェース回路から出力されるSDRAMの制御信号やデータ信号の遅延時間は、デバイスの接続数に大きく依存することが知られている。
【0017】
遅延時間は伝送線路シミュレーションにより遅延計算が可能である。図15に、128MbyteのDIMMを2枚実装した状態でのデバイスの接続数と遅延時間との関係を示す。
【0018】
図15によれば、例えば、データ(Data)では、デバイスの接続数が2個、平均的な遅延時間=2nsec、動作環境条件(周囲温度や電圧)の変化により±1nsec遅延時間のばらつく可能性があることが分かる。
【0019】
また、アドレスでは、デバイスの接続数が16個、平均的な遅延時間=6.3nsec程度となっており、動作環境条件(周囲温度や電圧)の変化により±2.5nsec程度ばらつく可能性があることが分かる。
【0020】
図16に、DIMMを2枚実装した状態で、遅延時間が最大になる場合を例にしたタイミングチャートを示す。図15に示す遅延時間から、データの遅延時間を3nsec、アドレス及びコマンドの遅延時間を9nsec、クロックの遅延時間を5nsecとそれぞれ仮定している。また、アクセス時間を6nsec、入力バッファの遅延時間を2nsec、配線の遅延時間を1nsecとそれぞれ仮定している。
【0021】
上記条件下では、図16から明らかなように、SDRAMに入力するアドレス及びコマンドのSDRAM動作クロックに対するセットアップ時間は1nsecであり、100MHzのSDRAMの場合に必要なセットアップ時間は1.5nsec以上必要であるため、スペックに適合しない結果になることがわかる。したがってこの状態では、SDRAMに対するアドレス情報やコマンドが正常に転送できない恐れがあり、SDRAMへのアクセスが確実に実施されない恐れが出てくる。
【0022】
そこで、書き込みデータのホールド時間は3nsecあるため、クロックを1nsec遅らせる事により、アドレスのセットアップ時間を2nsecに、書き込みデータのホールド時間を2nsecにすることが可能となる。これによりSDRAMに対しアドレス及びコマンド及び書き込みデータのセットアップ時間、ホールド時間が確保できるようになりSDRAMへの書き込みアクセスが確実に行なわれる。
【0023】
次に、読み込み動作に着目すると、クロックをアドレスのセットアップ時間確保のために遅らせる前の、読み込みデータのセットアップ時間は1nsecになっている。しかし、クロックを1nsec遅らせたことにより、相対的にSDRAMからの読み込みデータの出力が1nsec遅れる事となり、読み込みデータのセットアップ時間は0nsecになってしまい、このような状況下では、読み込みデータを正確に取り込む事ができなくなるという問題がある。
【0024】
本発明は上記問題点を解決するために成されたものであり、アクセス対象に対して適正なデータアクセスを実行するためのインターフェース回路を提供することを目的とする。
【0025】
上記問題点を解消するために、本発明のインターフェース回路は、アクセス対象の制御信号であるアドレス及びコマンド信号、チップセレクト信号を用いてアクセス対象に対してデータアクセスを実行するためのインターフェース回路であって、動作の基準となる基準クロックと同位相及び異なる位相の複数のクロックを生成し、生成したクロックの内のいずれか1つを選択してアクセス対象に供給する供給手段と、前記チップセレクト信号が有効な期間の少なくとも1クロック周期前から、前記チップセレクト信号が有効な期間を含む少なくとも2クロック周期期間、アドレス及びコマンド信号が有効になるように前記基準クロックに同期化して前記アクセス対象にアドレス及びコマンド信号を出力する第1の出力手段と、前記チップセレクト信号を前記基準クロックに同期化して前記アクセス対象に出力する第2の出力手段と、書き込みデータを前記基準クロックに同期化して前記アクセス対象に出力する第3の出力手段と、アクセス対象からのデータを各々異なる位相クロックのタイミングで取り込む複数のパスと、前記複数のパスの内のいずれか1つを選択し、選択したパスにより前記データを読み込む読み込み手段と、を含んで構成されている。
【0026】
アクセス対象に対して確実にデータを転送するためには、アクセス対象の動作クロックのエッジに対してセットアップ時間及びホールド時間を満足する必要がある。また、アクセス対象からのデータを取り込む際に、確実にデータを取りこむためには、インターフェース内部動作の基準となる基準クロックのエッジに対してセットアップ時間及びホールド時間を満足する必要がある。しかしながら、各種の遅延時間を考慮すると、所定のアクセス対象の動作クロック及び基準クロックのエッジでデータを取り込んだのではセットアップ時間及びホールド時間のいづれか1方を満足できない場合が生じる。
【0027】
そこで、本発明のインターフェース回路では、供給手段により動作の基準となる基準クロックと同位相及び異なる位相の複数のクロックを生成し、生成したクロックの内のいずれか1つを選択してアクセス対象の動作クロックとしてアクセス対象に供給する。また、アクセス対象に対して、チップセレクト信号が有効な期間の少なくとも1クロック周期前から、チップセレクト信号が有効な期間を含む少なくとも2クロック周期期間、アドレス及びコマンド信号が有効になるように、第1の出力手段でアドレス及びコマンド信号を、基準クロックに同期化して出力する。また、アクセス対象へ、第2の出力手段でチップセレクト信号を、第3の出力手段で書き込みデータを、それぞれ基準クロックに同期化して出力する。よって本発明では、位相の異なる複数のクロックの中から、アクセス対象に対してデータを転送する際にセットアップ時間及びホールド時間の双方を満たす位相のクロックを選択することができるので、確実にアクセス対象に対して制御信号及びデータを転送することができる。
【0028】
また、複数のパスは、データアクセス対象からのデータを各々異なる位相クロックのタイミングで取り込む。複数のパスでデータは各々異なる位相クロックのタイミングで取り込まれるので、いずれかのパスで取り込まれたデータは基準クロックに対してセットアップ時間及びホールド時間の双方を満たすことができる。読取り手段で、複数のパスの中からセットアップ時間及びホールド時間の双方を満たすパスを選択し、選択したパスにより取り込まれたデータを読み込む。本発明によれば、アクセス対象からのデータを各々異なる位相クロックのタイミングで取り込む複数のパスの内のいずれか1つを選択し、選択したパスにより前記データを読み込むので、セットアップ時間及びホールド時間の双方を満たすパスを選択することが可能となり、確実にデータを取り込むことができる。
【0029】
なお、本発明は請求項2に記載のように、前記複数のパスとして、アクセス対象が出力するデータを直接前記基準クロックで取り込むパス、及び、前記基準クロックと位相の異なるクロックでデータを取り込みその後前記基準クロックで該データを取り込むパスを含むことができる。
【0030】
また、本発明は請求項3に記載のように、アクセス対象からのデータの変化点を検出すると共に、検出したデータの変化点情報を保持するデータ変化点保持手段を備えることもでき、これにより基準クロックに対する取り込みデータの遅延状態が検出できる。
【0031】
さらに、本発明は請求項4に記載のように、検出されたデータの変化点情報に基づいて、アクセス対象からのデータの取り込みに用いるパス及びエッジを選択することができ、請求項5に記載のように、データの変化点情報の変化に応じて、選択するパス及びエッジを変更することもできる。
【0032】
【発明の実施の形態】
以下、図面を参照して本発明に係るインターフェース回路および信号調整方法について説明する。
【0033】
図1に、本発明で提案しているメモリーインターフェース回路を用いたシステム構成例を示す。このシステムでは、中央演算装置(以下「CPU」という)10はメモリー制御回路12を介してDIMM14との間でデータ転送を行っている。メモリー制御回路12は、制御部16及びインターフェース回路18を含んで構成されている。
【0034】
インターフェース回路18には、制御部16から出力される位相選択信号、アドレス/コマンド信号、チップセレクト信号、書き込みデータ信号、データパス選択信号、及び検出有効期間信号がそれぞれ入力され、インターフェース回路18は、位相検出信号、及び読み込みデータ信号を制御部16に出力している。位相選択信号は、インターフェース回路18内部で生成された異なる位相を有するクロックの中から適切な位相のクロックを選択するための信号である。また、データパス選択信号は、読取りデータが異なるタイミングで読取りデータを取り込むための複数のパスに分散して入力された際に、複数のパスの中から適切に読取りデータにアクセス可能なパスを選択するための信号である。また、検出有効期間信号は、制御部16で生成される後述の読み込みデータ位相検出回路において信号を検出する有効期間を定める信号である。
【0035】
制御部16は、位相選択信号、データパス選択信号を生成するために必要な情報を設定するための設定手段を有し、さらに、インターフェース回路18から出力された位相検出信号の状態を、CPU10が読み出し可能となるような読み出し手段を有している。
【0036】
図2に本発明に係るインターフェース回路18の構成例を示す。インターフェース回路18は、1つまたは複数実装される可能性のあるDIMM14とデータ転送を行う回路である。このインターフェース回路18は、インターフェース回路内部の動作の基準となるクロック(基準クロック)を生成するPLL回路20、位相選択回路22、DIMM14へ出力する制御信号を基準クロックに同期化するためのDラッチ24A、24B、24C、DIMM14からの読み込みデータのデータパスを選択するためのデータパス選択回路26、読み込みデータの変化点の位相を検出するための位相検出回路28、インターフェース回路18からの出力信号をドライブするためのバッファ30A、30B、30C、30D、及び、DIMM14からの出力信号を受信するための入力バッファ32A、32Bを含んで構成されている。
【0037】
PLL回路20は位相選択回路22と接続されており、位相選択回路22は出力バッファ30A及び位相検出回路28と接続されている。PLL回路20は、アドレス/コマンド信号の入力信号線と接続されたDラッチ24A、チップセレクト信号の入力線と接続されたDラッチ24B、書き込みデータ信号の信号線と接続されたDラッチ24C、及びデータパス選択回路26と各々接続されている。Dラッチ24A、24B、及びB24Cは、出力バッファ30B、30C、及び30Dと各々接続されている。DIMM14からのフィードバッククロックが入力される入力バッファ32Aは、データパス選択回路26と接続されており、DIMM14からの読み込みデータが入力される入力バッファ32Bは、データパス選択回路26及び位相検出回路28と接続されている。
【0038】
位相選択回路22、データパス選択回路26、及び位相検出回路28は制御部16と接続されており、位相選択回路22には位相選択信号が、データパス選択回路26にはデータパス選択信号が、位相検出回路には位相選択信号が各々制御部16から入力され、データパス選択回路26からは読み込みデータ信号が、位相検出回路28からは位相検出信号が制御部16へ出力される。
【0039】
PLL回路20は外部からクロック信号を入力し、インターフェース回路18の動作の基準となるクロックの位相調整を実施し、調整後のクロックを基準クロックSIG10として出力し、更に基準クロックと90°位相の異なるクロック信号SIG11も同時に出力している。
【0040】
位相選択回路22の内部回路の構成を図3に示す。PLL回路20が出力する基準クロックと同相となる0°のクロック、及び基準クロックと90°位相の異なるクロックが、各々インバータ回路44及びインバータ回路46に入力されており、0°のクロックからインバータ回路44を通して180°のクロックが生成され、90°のクロックからインバータ回路46を通して270°のクロックが生成される。選択回路48には、上記基準クロックと0°、90°、180°、270°位相の異なる4本のクロック信号が入力され、制御部16からの位相選択信号の状態によって、4本の入力クロックの内の何れか一つを選択して出力する。なお、基準クロックと0°、90°、180°、270°位相の異なる4本のクロック信号は、位相検出回路28にも出力されている。
【0041】
データパス選択回路26の内部構成を図4に示す。DIMM14が出力するデータとしてのDATA_IN信号は入力バッファ32Bに入力される。DATA_IN信号は3つのパスに分岐され、第1のパスはDATA_IN信号が信号線を経て直接Dラッチ40Aへ入力され(READ Data0)、Dラッチ40Aで基準クロックに同期されてSIG1としてデータパス選択部42に出力される。第2のパスは、DATA_IN信号がフィードバッククロック信号の入力されるDラッチ34に入力され、フィードバッククロック信号と同期がとられてDラッチ40Bへ入力され(READ_Data1)、Dラッチ40Bで基準クロックに同期されてSIG2としてデータパス選択部42に出力される。第3のパスは、READ_Data1信号が、フィードバッククロック信号がインバータ回路36で反転されて入力されるDラッチ38に入力され、フィードバッククロック信号の反転信号(CLK1)と同期がとられてDラッチ40Cへ入力され(READ_Data2)、Dラッチ40Cで基準クロックに同期されてSIG3としてデータパス選択部42に出力される。データパス選択部42では、制御部16からのデータパス選択信号に基づいて、SIG1〜SIG3のいずれか1つを選択して、選択した信号を読み込みデータとして制御部16へ出力する。
【0042】
図5に位相検出回路28の内部構成を示す。位相検出回路28は、データ保持部50A、50B、50C、50D、Dラッチ52A、52B、52C、52Dを備えている。データ保持部50A、50B、50C、及び50Dには、前述のREAD_Data0信号、及び制御部16からの検出有効期間信号が各々入力される。データ保持部50Aから出力される信号は、位相選択回路22で生成された基準クロックと90°位相の異なるクロック信号に同期されて位相検出信号1として制御部16に出力される。データ保持部50Bから出力される信号は、位相選択回路22で生成された基準クロックと180°位相の異なるクロック信号に同期されて位相検出信号2として制御部16に出力される。データ保持部50Cから出力される信号は、位相選択回路22で生成された基準クロックと270°位相の異なるクロック信号に同期されて位相検出信号3として制御部16に出力される。データ保持部50Dから出力される信号は、位相選択回路22で生成された基準クロックと同相のクロック信号に同期されて位相検出信号4として制御部16に出力される。
【0043】
各Dラッチ52では、検出有効期間信号が有効な状態の時に、基準クロックに同期した0°クロック、及び基準クロックとは位相が90°、180°、270°異なるクロックでREAD_Data0を取り込んで位相検出信号1〜4をセットし、検出有効期間信号が無効な状態の時には位相検出信号1〜4を、データ保持部50A〜50Dへフィードバックして、状態を保持するように構成されている。
【0044】
なお、本実施の形態では、90°単位で4タイプの位相クロックに同期した位相検出信号を4本出力したが、検出精度を上げる目的で、位相検出回路28に入力するクロックを、例えば基準クロックと45°、90°、135°、180°、225°、270°、315°位相の異なる8タイプのクロックを生成し、このクロックを使用して位相検出信号を8本出力することもでき、さらに多くのクロックを生成し、生成されたクロックを使用して位相検出信号を出力することもできる。
【0045】
次に、本実施の形態の作用について説明する。
【0046】
DIMM14の制御信号であるアドレス/コマンド(チップセレクト信号を除く)がDラッチ24Aに入力されると、Dラッチ24Aではこれらの信号を基準クロックに同期化して出力バッファ30Bを介してDIMM14に出力する。
【0047】
ここで、図6に示すように、インターフェース回路18では、アドレス/コマンド(チップセレクト信号を除く)信号を、チップセレクトが有効な期間の少なくとも1クロック周期前のクロック信号から有効(アクティブ)にして、チップセレクト信号がアクティブな期間を含む少なくとも2クロック周期期間を有効(アクティブ)な状態にする。そこで、Dラッチ24Aは、チップセレクト信号がアクティブになる期間を含む2クロック周期期間分、アドレス/コマンド(チップセレクト信号を除く)信号がアクティブ状態になるように、基準クロックに同期化して出力する。
【0048】
Dラッチ24Bは、DIMM14の制御信号であるチップセレクト信号を基準クロックに同期化して出力する。インターフェース回路18は、チップセレクト信号を1クロック周期期間のみ有効(アクティブ)な状態にする。このため、Dラッチ24Bは、1クロック周期期間のみチップセレクト信号がアクティブ状態になるように基準クロックに同期化して出力する。
【0049】
Dラッチ24Cは、DIMM14への書き込みデータ信号を基準クロックに同期化して出力する。
【0050】
アドレス/コマンド信号、チップセレクト信号、及び書き込みデータ信号の各々が前述のように各Dラッチ24から出力された場合、DIMM14を2枚実装した状態で、遅延時間が最大になる場合の、基準クロック(インターフェース内部動作クロック)、位相選択回路22から出力される位相選択回路出力クロック、SDRAM動作クロック、フィードバッククロック、アドレス/コマンド信号、チップセレクト信号、書き込みデータ信号、及び読み込みデータ信号の関係は、図7のタイミングチャートに示すようになる。
【0051】
なお、ここでは、インターフェース内部動作クロックの周波数を100MHz(周期10nsec)、書き込みデータ信号の遅延時間を3nsec、アドレス/コマンド信号の遅延時間を9nsec、出力バッファ30Aと配線の遅延時間による位相選択回路出力クロックからのSDRAM動作クロックの遅延時間を5nsec、とそれぞれ仮定している。また、このケースでは、位相選択回路22でSDRAM動作クロックの基準となる位相選択回路出力クロックとして基準クロックに対して90°位相の異なるクロックを選択し、データパス選択回路26でREAD_Data0を選択する。
【0052】
さらに、チップセレクト信号の遅延時間を6nsec、読み込みデータへのアクセス時間を6nsec、入力バッファの遅延時間を2nsec、読取り時の配線の遅延時間を1nsecとそれぞれ仮定している。
【0053】
位相選択回路出力クロックは、インターフェース内部動作クロックから90°遅延しており、SDRAM動作クロックは、位相選択回路出力クロックから出力バッファの遅延時間と配線の遅延時間(5nsec)分加算した時間だけ遅延している。また、フィードバッククロックは、SDRAM動作クロックから入力バッファの遅延時間と配線の遅延時間(3nsec)分加算した時間だけ遅延している。
【0054】
書き込みデータ信号についてのセットアップ時間を考えると、アドレス/コマンド信号は、インターフェース内部動作クロックのS1周期を含んだ2周期前のS0周期の立ち上がりからアクティブになり、遅延時間の9nsec後に確定する。チップセレクト信号は、インターフェース内部動作クロックのS1周期の立ち上がりから遅延時間の5nsec後に確定する。書き込みデータ信号は、インターフェース内部動作クロックのS1周期の立ち上がりから遅延時間の5nsec後に確定する。
【0055】
上記より、書き込みデータ信号のセットアップ時間、すなわちチップセレクト信号の確定からSDRAM動作クロックの立ち上がりまでの時間は2.5nsecとなる。これにより、100MHzのSDRAMの一般的なセットアップ時間規定である1.5nsec対して1nsecのマージンを取ることができる。
【0056】
また、読み込みデータ信号についてのセットアップ時間を考えると、SDRAM動作クロックの立ち上がりから、6nsecのアクセス時間の後に読み込みデータにアクセスされ、そのタイミングから入力バッファの遅延時間と配線の遅延時間とを加算した時間の後にREAD_Data0が確定する。また、READ_Data1は、その後のフィードバッククロックに同期した立ち上がり位置で確定し、READ_Data2は、そのタイミングから180°遅延して確定する。
【0057】
上記より、読み込みデータ信号としてのREAD_Data0のセットアップ時間、すなわちREAD_Data0の確定からインターフェース内部動作クロックの周期S3の立ち上がりまでの時間は3.5nsecとなる。これにより、100MHzのSDRAMの一般的なセットアップ時間規定である1.5nsec対して2nsecのマージンを取ることができる。
【0058】
次に、DIMM14を2枚実装した状態で、遅延時間が最小になる場合の、基準クロック(インターフェース内部動作クロック)、位相選択回路22から出力される位相選択回路出力クロック、SDRAM動作クロック、フィードバッククロック、アドレス/コマンド信号、チップセレクト信号、書き込みデータ信号、及び読み込みデータ信号の関係を、図8のタイミングチャートに示す。
【0059】
なお、ここでも、インターフェース内部動作クロックの周波数を100MHz(周期10nsec)とし、書き込みデータ信号の遅延時間を1nsec、アドレス/コマンド信号の遅延時間を4nsec、出力バッファ30Aと配線の遅延時間による位相選択回路出力クロックからのSDRAM動作クロックの遅延時間を3nsec、とそれぞれ仮定している。また、このケースでは、位相選択回路22でSDRAM動作クロックの基準となる位相選択回路出力クロックとして基準クロックに対して90°位相の異なるクロックを選択し、データパス選択回路26でREAD_Data0を選択する。
【0060】
さらに、チップセレクト信号の遅延時間を2nsec、読み込みデータへのアクセス時間を6nsec、入力バッファの遅延時間を2nsec、読取り時の配線の遅延時間を1nsecとそれぞれ仮定している。
【0061】
位相選択回路出力クロックは、インターフェース内部動作クロックから90°遅延しており、SDRAM動作クロックは、位相選択回路出力クロックから出力バッファの遅延時間と配線の遅延時間(3nsec)分加算した時間だけ遅延している。また、フィードバッククロックは、SDRAM動作クロックから入力バッファの遅延時間と配線の遅延時間(3nsec)分加算した時間だけ遅延している。
【0062】
書き込みデータ信号についてのセットアップ時間を考えると、アドレス/コマンド信号は、インターフェース内部動作クロックのS1周期を含んだ2周期前のS0周期の立ち上がりからアクティブになり、遅延時間の4nsec後に確定する。チップセレクト信号は、インターフェース内部動作クロックのS1周期の立ち上がりから遅延時間の2nsec後に確定する。書き込みデータ信号は、インターフェース内部動作クロックのS1周期の立ち上がりから遅延時間の1nsec後に確定する。
【0063】
上記より、書き込みデータ信号のセットアップ時間、すなわちチップセレクト信号の確定からSDRAM動作クロックの立ち上がりまでの時間は3.5nsecとなる。これにより、100MHzのSDRAMの一般的なセットアップ時間規定である1.5nsec対して2nsecのマージンを取ることができる。
【0064】
また、読み込みデータ信号についてのセットアップ時間を考えると、SDRAM動作クロックの立ち上がりから、6nsecのアクセス時間の後に読み込みデータにアクセスされ、そのタイミングから入力バッファの遅延時間と配線の遅延時間とを加算した時間の後にREAD_Data0が確定する。また、READ_Data1は、その後のフィードバッククロックに同期した立ち上がり位置で確定し、READ_Data2は、そのタイミングから180°遅延して確定する。
【0065】
上記より、読み込みデータ信号としてのREAD_Data0のセットアップ時間、すなわちREAD_Data0の確定からインターフェース内部動作クロックの周期S3の立ち上がりまでの時間は5.5nsecとなる。これにより、100MHzのSDRAMの一般的なセットアップ時間規定である1.5nsec対して4nsecのマージンを取ることができる。
【0066】
以上説明したように、SDRAMの動作周波数100MHzの場合には、位相選択回路22からのクロックとして90°を選択し、データパスとしてREAD_Data0を選択することにより、環境条件が変動して、各遅延時間に変動が生じてもセットアップ時間、ホールド時間を満足することができ、インターフェース回路18とDIMM14との間で確実にデータ転送することができるようになる。
【0067】
次に、SDRAMの動作周波数が高くなり133MHz(周期7.5nsec)となった場合のタイミングチャートを図9に示す。遅延時間は、前述した図7に示したものと同じ値を使用している。
【0068】
この場合の、書き込みデータ信号についてのセットアップ時間を考えると、アドレス/コマンド信号の遅延時間は、インターフェース内部動作クロックの1周期よりも長くなっている。したがってアドレス/コマンド信号は、インターフェース内部動作クロックのS2周期を含んだ3周期前のS0周期の立ち上がりからアクティブになり、遅延時間の9nsec後に確定する。チップセレクト信号は、インターフェース内部動作クロックのS1周期の立ち上がりから遅延時間の5nsec後に確定する。書き込みデータ信号は、インターフェース内部動作クロックのS1周期の立ち上がりから遅延時間の3nsec後に確定する。
【0069】
上記より、書き込みデータ信号のセットアップ時間、すなわちチップセレクト信号の確定からSDRAM動作クロックの立ち上がりまでの時間は1.9nsecとなる。したがって、133MHzのSDRAMの一般的なセットアップ時間規定である1.5nsecを満足しているものの、マージンは0.4nsecであり厳しい値となっている。ここでのセットアップ時間を十分に確保するためには、位相選択回路22でインターフェース内部動作クロックと180°位相の異なる位相選択回路出力クロックを選択すればよい。
【0070】
一方、読み込みデータ信号についてのセットアップ時間を考えると、SDRAM動作クロックの立ち上がりから、6nsecのアクセス時間の後に読み込みデータにアクセスされ、そのタイミングから入力バッファの遅延時間と配線の遅延時間とを加算した3nsec後にREAD_Data0が確定する。したがって、読み込みデータREAD_Data0のはS3の立ち上がりエッジよりも遅れて確定することから、S3の立ち上がりエッジで直接読み込みデータREAD_DATA0を取り込む事はできない。そこでS4の立ち上がりエッジでREAD_Data0を取り込むことが考えられるが、S4の立ち上がりエッジでREAD_Data0を取り込むと、今度はホールド時間が短くなり、正確に読み込みデータを取り込めない恐れもある。
【0071】
そこでこの場合、一旦READ_Data0をフィードバッククロック(FBCLK_in)の立ち上がりエッジで取り込んだREAD_Data1、もしくはREAD_Data1をフィードバッククロックの立ち下がりエッジで取り込んだREAD_Data2を使ってインターフェース内部動作クロックの立ち上がりで取り込むことにより、セットアップ時間及びホールド時間を確保することができる。
【0072】
以上説明したように、SDRAMの動作周波数133MHzの場合には、位相選択回路を90°に選択し、データパスとしてREAD_Data1またはREAD_Data2を選択することにより、環境条件が変動して、各遅延時間に変動が生じてもセットアップ時間、ホールド時間を満足する事ができ、インターフェース回路18とDIMM14との間で確実にデータ転送することができるようになる。
【0073】
なお、制御部16では、ソフトウェアによるレジスタ設定により、インターフェース内部動作クロックのS3の立ち上がりエッジで読み込みデータをと入り込むのか、それともS4の立ち上がりエッジで読み込みデータをと入り込むのかを選択できるように構成されていて、上述のように、遅延時間が大きくなりクロック周期を超えるような場合においても、メモリーインターフェース回路18とDIMM14との間で確実にデータ転送することが可能となっている。
【0074】
次に、位相検出回路28の動作について説明する。
【0075】
位相検出回路28は、DIMM14が出力するデータの変化点が基準クロックに対してどれだけ遅れているかを検出する目的で実装されている。
【0076】
図10に示すように、位相検出回路28には、4種類の位相の異なるクロック信号が入力されており、それぞれ基準クロックに対して位相が0°、90°、180°、270°となっている。例えば、基準クロックの周波数を100MHzと仮定した場合、クロック周期は10nsecとなり、90°位相の異なるクロックは基準クロックに対して4分の1周期分である2.5nsec遅れている。同様に180°位相の異なるクロックは5nsec、270°位相の異なるクロックは7.5nsec基準クロックに対して遅れている。
【0077】
DIMM14の出力データREAD_Data0が、ある環境条件下で実線で示すREAD_Data0−1のようにP点で変化した場合、位相検出信号1〜4に対応するDラッチ52A、52B、52C、52D、(図5参照)からの出力は1000という値となっている。このとき、DIMM14の出力データは基準クロックに対して90°以上180°未満のポイントで変化している事が判別でき、結果として基準クロックの立ち上がりから2.5〜5nsec遅れていることを検知することができる。
【0078】
したがって、この環境条件下では、S3の立ち上がりエッジに対する読み込みデータREAD_Data0のセットアップ時間は5nsec以上確保できるため、S3の立ち上がりエッジでデータを取り込む事が可能である。すなわち、読み込みデータパスをREAD_Data0に設定し、基準クロックで直接取り込む設定を選択することにより確実に読み込みデータを取り込むことが可能となる。
【0079】
次に環境条件が変化して、READ_Data0が破線で示すREAD_Data0−2のように変化し、変化点であるP点がP’点へ移動した場合、位相検出信号1〜4に対応するDラッチ52A、52B、52C、52D、(図5参照)からの出力は1110という値となっている。このとき、DIMM14の出力データは基準クロックに対して270°以上360°未満のポイントで変化している事が判別でき、結果として基準クロックの立ち上がりから7.5nsec〜10nsec遅れていることを検出することができる。
【0080】
したがって、この環境条件下では、S3の立ち上がりエッジに対する読み込みデータREAD_Data0−2のセットアップ時間は2.5〜0nsecとなってしまいセットアップ時間規定を満足できない可能性があり、S3の立ち上がりタイミングでREAD_Data0−2を取り込むと、制御部が誤ったデータとして取り込んでしまう恐れがある。
【0081】
そこで、位相検出信号1〜4の状態が1110の条件下では、S3の立ち上がりエッジで取り込まず、次の周期であるS4の立ち上がりエッジを選択してデータを取り込む。
【0082】
しかし、S4のクロックエッジを選択してデータ取り込みを行なった場合、READ_Data0−2の状態はS4の立ち上がりエッジまでは保持されないため、READ_Data0−2を確実に取りこむことはできない。そこで、読み込みデータパスとして、READ_Data1あるいは、READ_Data2を選択する。READ_Data1は、フィードバッククロックの立ち上がりエッジに同期しており、READ_Data2は、フィードバッククロックの立ち下がりエッジに同期している。したがって、READ_Data1またはREAD_Data2であれば、十分なセットアップ時間及びホールド時間を確保することができ、確実に読み込みデータを取りこむことができる。
【0083】
以上より、位相検出信号の状態、すなわち検出された読み込みデータの位相によって基準クロックに対するデータの変化点を判別することができ、各々の状態によって、データ取り込みのクロックエッジ及びデータパスを表2に示すように選択する。
【0084】
【表2】
【0085】
なお、DIMM14のデータバス上には、書き込みデータも転送されているが、位相検出回路28は読み込みデータのみの位相を検出する必要があるため、読み込みデータが確実に変化する期間にのみ位相検出回路28が動作するように、制御部16から検知有効期間信号が位相検出回路28に供給される。そして、位相検出回路28は、この検知有効期間信号がアクティブになっている時のみ、読み込みデータの位相チェックを行い、インアクティブの期間は取り込んだデータを保持し続ける。
【0086】
位相検出信号は、ソフトウェアで読み込みが可能なようにレジスタ構成にし、一定期間毎にメモリーのリードチェックを実施した直後、このレジスタを読み込むことによりデータの変化点をソフトウェアが検知可能なように構成することができる。
【0087】
上記位相検出結果に基づいて、表2に示すようにクロックエッジ及びデータパスの選択を行なうことにより、環境条件の変化による読み込みデータの変化点の時間的移動が生じても、最適な条件で読み込みデータを確実に取り込むことができる。
【0088】
また、本実施の形態では、DIMM14からの読み込みデータを、フィードバッククロックを用いて、フィードバッククロックと同位相または逆位相で同期化した後に基準クロックで同期化することで読み込みデータを受信したが、図11に示すように、位相選択信号から基準クロックと90°、180°、270°位相の異なるクロックを生成し、各々のクロックで一旦READ_Data0を同期化した後に基準クロックで同期化することで、DIMM14からの読み込みデータを受信することもできる。
【0089】
すなわち、READ_Data0を確実に取り込めるタイミングのクロックであれば、フィードバッククロックや上記のクロック以外のクロックを用いて読み込みデータを同期化することにより、確実に読み込みデータを取り込むことが可能となる。
【0090】
【発明の効果】
以上説明してきたとおり、本発明によれば、供給手段により動作の基準となる基準クロックと同位相及び異なる位相の複数のクロックを生成し、生成したクロックの内のいずれか1つを選択してアクセス対象にアクセス対象の動作クロックとして供給するので、位相の異なる複数のクロックの中から、アクセス対象に対して制御信号及びデータを転送する際にセットアップ時間及びホールド時間の双方を満たす位相のクロックを選択することができ、確実にアクセス対象に対してデータを転送することができる。
【0091】
また、アクセス対象からのデータを各々異なる位相クロックのタイミングで取り込む複数のパスの内のいずれか1つを選択し、選択したパスにより前記データを読み込むので、セットアップ時間及びホールド時間の双方を満たすパスを選択することが可能となり、確実にデータを取り込むことができる。
【図面の簡単な説明】
【図1】 本発明に係るインターフェース回路を使用したシステム構成の一例を示すブロック図である。
【図2】 本発明に係るメモリーインターフェース回路のブロック図である。
【図3】 位相選択回路の内部構成を示す概略図である。
【図4】 データパス選択回路の内部構成を示す概略図である。
【図5】 位相検出回路の内部構成を示す概略図である。
【図6】 アドレス・コマンド・チップセレクト・書き込みデータの出力タイミングを示すタイミング図である。
【図7】 本実施の形態における遅延時間を最大、基準クロック周波数100MHzとした場合の、各クロック、アドレス・コマンド・チップセレクト・書き込みデータ・読み込みデータのタイミングチャート図である。
【図8】 本実施の形態における遅延時間を最小、基準クロック周波数100MHzとした場合の、各クロック、アドレス・コマンド・チップセレクト・書き込みデータ・読み込みデータのタイミングチャート図である。
【図9】 本実施の形態における遅延時間を最大、基準クロック周波数133MHzとした場合の、各クロック、アドレス・コマンド・チップセレクト・書き込みデータ・読み込みデータのタイミングチャート図である。
【図10】 位相選択回路の動作を示すタイミングチャート図である。
【図11】 位相検出回路の他の構成を示す概略図である。
【図12】 SDRAMおよびメモリーインターフェース回路のセットアップ時間・ホールド時間を説明するためのタイミング図である。
【図13】 従来技術におけるメモリーインターフェース装置のブロック図である。
【図14】 従来技術におけるメモリーインターフェース内部の動作クロック、SDRAMの動作クロック、及び読み込みデータの位相関係を示すタイミング図である。
【図15】 デバイスの接続数の違いによる遅延時間を示した図である。
【図16】 DIMM2枚を実装した場合のタイミング図であり、アドレス・コマンド信号のセットアップ時間と読み込みデータのセットアップ時間がスペックに合わない場合を表している。
【符号の説明】
10 CPU
12 メモリー制御回路
14 DIMM
16 制御部
18 インターフェース回路
20 PLL回路
22 位相選択回路
24A〜24C Dラッチ
26 データパス選択回路
28 位相検出回路
30A〜30D 出力バッファ
32A、32B 入力バッファ
Claims (5)
- アクセス対象の制御信号であるアドレス及びコマンド信号、チップセレクト信号を用いてアクセス対象に対してデータアクセスを実行するためのインターフェース回路であって、
動作の基準となる基準クロックと同位相及び異なる位相の複数のクロックを生成し、生成したクロックの内のいずれか1つを選択してアクセス対象に供給する供給手段と、
前記チップセレクト信号が有効な期間の少なくとも1クロック周期前から、前記チップセレクト信号が有効な期間を含む少なくとも2クロック周期期間、アドレス及びコマンド信号が有効になるように前記基準クロックに同期化して前記アクセス対象にアドレス及びコマンド信号を出力する第1の出力手段と、
前記チップセレクト信号を前記基準クロックに同期化して前記アクセス対象に出力する第2の出力手段と、
書き込みデータを前記基準クロックに同期化して前記アクセス対象に出力する第3の出力手段と、
アクセス対象からのデータを各々異なる位相クロックのタイミングで取り込む複数のパスと、
前記複数のパスの内のいずれか1つを選択し、選択したパスにより前記データを読み込む読み込み手段と、
を備えたインターフェース回路。 - 前記複数のパスは、アクセス対象が出力するデータを直接前記基準クロックで取り込むパス、及び、前記基準クロックと位相の異なるクロックでデータを取り込みその後前記基準クロックで該データを取り込むパスを含むことを特徴とする請求項1に記載のインターフェース回路。
- アクセス対象からのデータの変化点を検出すると共に、検出したデータの変化点情報を保持するデータ変化点保持手段を備えたことを特徴とする請求項1または請求項2に記載のインターフェース回路。
- 前記検出されたデータの変化点情報に基づいて、アクセス対象からのデータの取り込みに用いるパス及びエッジが各々選択されることを特徴とする請求項3に記載のインターフェース回路。
- 前記データの変化点情報の変化に応じて、選択されるパス及びエッジが変更されることを特徴とする請求項4に記載のインターフェース回路。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001313727A JP3861650B2 (ja) | 2001-10-11 | 2001-10-11 | インターフェース回路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001313727A JP3861650B2 (ja) | 2001-10-11 | 2001-10-11 | インターフェース回路 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003122625A JP2003122625A (ja) | 2003-04-25 |
JP3861650B2 true JP3861650B2 (ja) | 2006-12-20 |
Family
ID=19132156
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001313727A Expired - Fee Related JP3861650B2 (ja) | 2001-10-11 | 2001-10-11 | インターフェース回路 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3861650B2 (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005078592A (ja) * | 2003-09-03 | 2005-03-24 | Brother Ind Ltd | メモリ制御装置及び画像形成装置 |
RU2381543C2 (ru) * | 2004-11-05 | 2010-02-10 | Квэлкомм Инкорпорейтед | Интегральная схема с адаптивным отбором по скорости |
JP4785465B2 (ja) * | 2005-08-24 | 2011-10-05 | ルネサスエレクトロニクス株式会社 | インタフェース回路及び半導体装置 |
US8122275B2 (en) * | 2006-08-24 | 2012-02-21 | Altera Corporation | Write-leveling implementation in programmable logic devices |
EP2509075B1 (en) | 2006-12-14 | 2019-05-15 | Rambus Inc. | Multi-die memory device |
US8984249B2 (en) * | 2006-12-20 | 2015-03-17 | Novachips Canada Inc. | ID generation apparatus and method for serially interconnected devices |
WO2010080172A1 (en) * | 2009-01-12 | 2010-07-15 | Rambus Inc. | Clock-forwarding low-power signaling system |
-
2001
- 2001-10-11 JP JP2001313727A patent/JP3861650B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2003122625A (ja) | 2003-04-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11302368B2 (en) | Memory device with circuitry to transmit feedback indicative of a phase relationship | |
US6530006B1 (en) | System and method for providing reliable transmission in a buffered memory system | |
US7421558B2 (en) | System controlling interface timing in memory module and related method | |
JP4700636B2 (ja) | 半導体メモリ装置を装着したメモリモジュールを有するシステム | |
US8111565B2 (en) | Memory interface and operation method of it | |
US7079446B2 (en) | DRAM interface circuits having enhanced skew, slew rate and impedance control | |
US6611905B1 (en) | Memory interface with programable clock to output time based on wide range of receiver loads | |
US20040143773A1 (en) | Adaptive memory module | |
US20030005250A1 (en) | Method and system for adjusting the timing offset between a clock signal and respective digital signals transmitted along with that clock signal, and memory device and computer system using same | |
US7198197B2 (en) | Method and apparatus for data acquisition | |
US20080098142A1 (en) | Memory card having memory device and host apparatus accessing memory card | |
US8788780B2 (en) | Signal restoration circuit, latency adjustment circuit, memory controller, processor, computer, signal restoration method, and latency adjustment method | |
US7518946B2 (en) | Memory control device | |
KR20080018135A (ko) | 메모리 클록 신호를 전송하는 방법 및 회로 | |
KR100907016B1 (ko) | 반도체 메모리 장치의 데이터 입력 회로 및 그 제어 방법 | |
JP2010081577A (ja) | 半導体装置およびデータ伝送システム | |
US7542322B2 (en) | Buffered continuous multi-drop clock ring | |
JP3861650B2 (ja) | インターフェース回路 | |
US20150146477A1 (en) | Semiconductor device | |
JP5296451B2 (ja) | メモリ制御回路並びにこれを組み込んだ半導体集積回路 | |
JP2004185608A (ja) | データのラッチタイミング調整装置 | |
US8194496B2 (en) | Circuit and method for recovering clock data in highly integrated semiconductor memory apparatus | |
JP2010079520A (ja) | メモリモジュールのコントローラ及びメモリモジュールのコントローラの制御方法 | |
JP4661134B2 (ja) | メモリ制御方法および装置 | |
US20240055068A1 (en) | Signal skew correction in integrated circuit memory devices |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040914 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060317 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060411 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060612 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060627 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060821 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20060905 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060918 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101006 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111006 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121006 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121006 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131006 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |