JP3861650B2 - Interface circuit - Google Patents
Interface circuit 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
Description
【0001】
【発明の属する技術分野】
本発明は、インターフェース回路に係り、特にアクセス対象に対して適正なデータアクセスを実行するためのインターフェース回路に関する。
【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 入力バッファ[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an interface circuit, and more particularly to an interface circuit for executing proper data access to an access target.
[0002]
[Background Art and Problems to be Solved by the Invention]
When performing data access to a synchronous dynamic random access memory (hereinafter referred to as SDRAM), the SDRAM receives SDRAM control signals such as addresses and commands from the interface circuit, and performs data write and read operations. Is going.
[0003]
The address, command and data signals are all transferred in synchronization with the clock edge (rising edge) of the clock signal input to the SDRAM. In order to reliably transfer the address, command signal, and write data signal from the memory interface circuit to the SDRAM when writing data, all signals are determined before a certain time called setup time with respect to the rising edge of the SDRAM operation clock. Need to be. In addition, all signals need to be kept in the state until a certain time or longer after a rising time of the SDRAM operation clock called a hold time. If the above setup time and hold time are not satisfied, data different from the data that should be originally written may be written to the SDRAM.
[0004]
On the other hand, at the time of data reading, a data signal is output from the SDRAM and transferred to the memory interface circuit after a certain time called a data access time from the rising edge of the SDRAM operation clock. Inside the memory interface, the data signal is captured using a receiving element such as a D latch. When data is captured by the D latch, erroneous data may be captured if the setup time and hold time are not satisfied with respect to the edge of the internal clock of the memory interface.
[0005]
For example, when the memory interface internal operation clock and the SDRAM operation clock operate at the timing shown in FIG. 12 and the address / command, write data, and read data signals are accessed, the address / command signal and For the write data signal, the rising edge T of the SDRAM operation clock 0 The setup time Sw and hold time Hw need to be secured. For the read data, the rising edge T of the internal operation clock of the memory interface 1 , Setup time S R And hold time H R Need to be secured.
[0006]
However, in recent years, with the improvement of the semiconductor process technology, the operation clock frequency of the SDRAM has increased, and it has become difficult to ensure the setup time and hold time necessary for reliably performing data access.
[0007]
In the technique disclosed in Japanese Patent Laid-Open No. 9-185427, the phase relationship between the operation clock inside the memory interface and the SDRAM operation clock can be adjusted as shown in FIG. It is composed. In this phase adjustment method, a clock that is 180 ° out of phase with the internal operation clock of the memory interface is generated, and the clock is passed through a plurality of delay circuits with different delay times, so that A feature is that a plurality of different clocks are output, and a clock selected from any one of them is output as an operation clock of the SDRAM.
[0008]
For example, in the timing chart shown in FIG. 14, even when the setup time of the read data becomes very short, the rising position of the SDRAM operation clock can be shifted forward by setting the delay time by the delay circuit short. The setup time of the read data can be increased, and data access to the SDRAM can be surely performed.
[0009]
On the other hand, there are cases where it is desired to add SDRAM depending on the system, but in many cases, dual in-line memory modules (hereinafter referred to as DIMMs) are used for SDRAM addition. The DIMM has a configuration in which a plurality of SDRAM devices are mounted on a substrate, and a memory can be easily added by connecting to a connector mounted on a motherboard.
[0010]
As shown in FIG. 14, the clock signal output from the memory interface circuit reaches the SDRAM by adding the delay time of the output buffer and the delay time of the wiring to the delay time by the delay circuit. The output buffer delay time + wiring delay time values are collectively referred to as a delay time.
[0011]
There are several types of DIMMs depending on the memory capacity and the type of devices mounted on the DIMM, but the number of devices connected to control terminals, data terminals, etc., such as addresses / commands, differs depending on the type. Table 1 shows the number of devices connected to each terminal for each major type of DIMM.
[0012]
[Table 1]
[0013]
To explain a little about the DIMM Type column in [Table 1], what is described as 64 MB (× 8 b dev) is that the capacity of the DIMM is 64 Mbytes, and the SDRAM installed in the DIMM uses an 8-bit device. It means that you are doing.
[0014]
For example, in a 128-megabyte DIMM corresponding to a non-shaded line in [Table 1], a DIMM command (RAS and CAS and WE and CS), a clock (Clock), and an address (BA and Address) terminal are respectively Eight SDRAM devices are connected, and one SDRAM device is connected to data (Data).
[0015]
Compared to this DIMM, in the 64MB (× 16b Dev) DIMM, there are four devices in each of the DIMM command (RAS and CAS and WE and CS), clock (Clock) and address (BA and Address) terminals. One device is connected to the data (Data), and compared to the 128 megabyte DIMM, the command (RAS and CAS and WE and CS), clock (Clock), address (BA and It can be seen that the load at the (Address) terminal is halved.
[0016]
On the other hand, it is known that the delay time of SDRAM control signals and data signals output from the memory interface circuit largely depends on the number of devices connected.
[0017]
The delay time can be calculated by transmission line simulation. FIG. 15 shows the relationship between the number of connected devices and the delay time when two 128-Mbyte DIMMs are mounted.
[0018]
According to FIG. 15, for example, in the data (Data), the number of connected devices is 2, average delay time = 2 nsec, and ± 1 nsec delay time may vary due to changes in operating environment conditions (ambient temperature and voltage). I understand that there is.
[0019]
In addition, in the address, the number of connected devices is 16, and the average delay time is about 6.3 nsec, which may vary by about ± 2.5 nsec due to changes in operating environment conditions (ambient temperature and voltage). I understand that.
[0020]
FIG. 16 is a timing chart illustrating an example in which the delay time is maximized in a state where two DIMMs are mounted. From the delay times shown in FIG. 15, it is assumed that the data delay time is 3 nsec, the address and command delay times are 9 nsec, and the clock delay time is 5 nsec. Further, it is assumed that the access time is 6 nsec, the input buffer delay time is 2 nsec, and the wiring delay time is 1 nsec.
[0021]
Under the above conditions, as is apparent from FIG. 16, the setup time for the SDRAM operation clock of the address and command input to the SDRAM is 1 nsec, and the setup time required for a 100 MHz SDRAM is 1.5 nsec or more. Therefore, it can be seen that the result does not conform to the specifications. Therefore, in this state, there is a risk that address information and commands for the SDRAM cannot be transferred normally, and there is a risk that access to the SDRAM will not be performed reliably.
[0022]
Since the write data hold time is 3 nsec, the address setup time can be set to 2 nsec and the write data hold time can be set to 2 nsec by delaying the clock by 1 nsec. Thereby, the setup time and hold time of the address, command and write data can be secured for the SDRAM, and the write access to the SDRAM is surely performed.
[0023]
Next, paying attention to the read operation, the read data setup time is 1 nsec before the clock is delayed to secure the address setup time. However, by delaying the clock by 1 nsec, the output of read data from the SDRAM is relatively delayed by 1 nsec, and the setup time of the read data becomes 0 nsec. Under such circumstances, the read data is accurately There is a problem that it becomes impossible to capture.
[0024]
The present invention has been made to solve the above problems, and an object of the present invention is to provide an interface circuit for executing appropriate data access to an access target.
[0025]
In order to solve the above problems, the interface circuit of the present invention Road An interface circuit for executing data access to an access target using an address, command signal, and chip select signal that are control signals to be accessed, and having the same phase as that of the reference clock that is the reference of the operation and a different phase. Supply means for generating a plurality of clocks, selecting any one of the generated clocks to supply to the access target, and the chip select signal from at least one clock period before the period in which the chip select signal is valid First output means for outputting an address and a command signal to the access target in synchronization with the reference clock so that the address and the command signal become valid for at least two clock periods including a period during which the chip select is effective; and the chip select Synchronize the signal with the reference clock and output it to the access target Two output means, third output means for synchronizing write data with the reference clock and outputting the same to the access target, a plurality of paths for fetching data from the access target at different phase clock timings, and the plurality Reading means for selecting one of the paths and reading the data by the selected path.
[0026]
In order to reliably transfer data to the access target, it is necessary to satisfy the setup time and hold time with respect to the edge of the operation clock to be accessed. Further, in order to capture data reliably when capturing data from the access target, it is necessary to satisfy the setup time and hold time with respect to the edge of the reference clock which is the reference for the internal operation of the interface. However, in consideration of various delay times, there is a case where either one of the setup time and the hold time cannot be satisfied if the data is taken in at the edge of the operation clock and the reference clock to be accessed.
[0027]
Therefore, in the interface circuit of the present invention, the supply means generates a plurality of clocks having the same phase as the reference clock that is the reference of the operation and a different phase, and selects any one of the generated clocks to be accessed. It is supplied to the access target as an operation clock. Further, the address and command signals are enabled for the access target so that the address and command signal are valid for at least two clock cycles including the valid period of the chip select signal from at least one clock cycle before the valid period of the chip select signal. The output means 1 outputs the address and command signal in synchronization with the reference clock. In addition, a chip select signal is output to the access target by the second output means, and write data is output by the third output means in synchronization with the reference clock. Therefore, in the present invention, it is possible to select a clock having a phase that satisfies both the setup time and the hold time when transferring data to the access target from a plurality of clocks having different phases. Control signals and data can be transferred to
[0028]
The plurality of paths capture data from the data access target at different phase clock timings. Since the data is captured at a plurality of paths at different phase clock timings, the data captured at any of the paths can satisfy both the setup time and the hold time with respect to the reference clock. The reading means selects a path satisfying both the setup time and the hold time from a plurality of paths, and reads data captured by the selected path. According to the present invention, since any one of a plurality of paths for fetching data from the access target at different phase clock timings is selected and the data is read by the selected path, the setup time and hold time are It is possible to select a path satisfying both, and data can be reliably fetched.
[0029]
According to the present invention, as described in
[0030]
In addition, as described in
[0031]
Furthermore, as described in
[0032]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, an interface circuit and a signal adjustment method according to the present invention will be described with reference to the drawings.
[0033]
FIG. 1 shows a system configuration example using a memory interface circuit proposed in the present invention. In this system, a central processing unit (hereinafter referred to as “CPU”) 10 performs data transfer with a
[0034]
The
[0035]
The
[0036]
FIG. 2 shows a configuration example of the
[0037]
The
[0038]
The
[0039]
The
[0040]
The configuration of the internal circuit of the
[0041]
The internal configuration of the data
[0042]
FIG. 5 shows the internal configuration of the
[0043]
In each D latch 52, when the detection valid period signal is in a valid state, the phase detection is performed by acquiring READ_Data0 with a 0 ° clock synchronized with the reference clock and a clock whose phase is 90 °, 180 °, 270 ° different from the reference clock. The
[0044]
In the present embodiment, four phase detection signals synchronized with four types of phase clocks in units of 90 ° are output. However, for the purpose of improving detection accuracy, a clock input to the
[0045]
Next, the operation of the present embodiment will be described.
[0046]
When an address / command (excluding the chip select signal), which is a control signal of the
[0047]
Here, as shown in FIG. 6, in the
[0048]
The
[0049]
The
[0050]
When each of the address / command signal, chip select signal, and write data signal is output from each D latch 24 as described above, the reference clock when the delay time is maximum with two
[0051]
Here, the frequency of the interface internal operation clock is 100 MHz (
[0052]
Further, it is assumed that the delay time of the chip select signal is 6 nsec, the access time to the read data is 6 nsec, the delay time of the input buffer is 2 nsec, and the delay time of the wiring at the time of reading is 1 nsec.
[0053]
The phase selection circuit output clock is delayed by 90 ° from the interface internal operation clock, and the SDRAM operation clock is delayed by the sum of the output buffer delay time and the wiring delay time (5 nsec) from the phase selection circuit output clock. ing. The feedback clock is delayed by a time obtained by adding the delay time of the input buffer and the delay time of the wiring (3 nsec) from the SDRAM operation clock.
[0054]
Considering the setup time for the write data signal, the address / command signal becomes active from the rising edge of the S0 cycle two cycles before the S1 cycle of the interface internal operation clock, and is determined after 9 nsec of the delay time. The chip select signal is determined 5 nsec after the delay time from the rise of the S1 cycle of the interface internal operation clock. The write data signal is determined after 5 nsec of the delay time from the rise of the S1 cycle of the interface internal operation clock.
[0055]
From the above, the setup time of the write data signal, that is, the time from the confirmation of the chip select signal to the rise of the SDRAM operation clock is 2.5 nsec. As a result, a margin of 1 nsec can be taken against 1.5 nsec, which is a general setup time rule for a 100 MHz SDRAM.
[0056]
Considering the setup time for the read data signal, the read data is accessed after the access time of 6 nsec from the rise of the SDRAM operation clock, and the input buffer delay time and wiring delay time are added from that timing. After this, READ_Data0 is determined. Further, READ_Data1 is determined at a rising position synchronized with the subsequent feedback clock, and READ_Data2 is determined with a 180 ° delay from that timing.
[0057]
From the above, the setup time of READ_Data0 as a read data signal, that is, the time from the determination of READ_Data0 to the rise of the cycle S3 of the interface internal operation clock is 3.5 nsec. As a result, a margin of 2 nsec can be taken against 1.5 nsec, which is a general setup time rule for a 100 MHz SDRAM.
[0058]
Next, when the delay time is minimized with two
[0059]
Also here, the frequency of the interface internal operation clock is 100 MHz (
[0060]
Further, it is assumed that the delay time of the chip select signal is 2 nsec, the access time to the read data is 6 nsec, the delay time of the input buffer is 2 nsec, and the delay time of the wiring at the time of reading is 1 nsec.
[0061]
The phase selection circuit output clock is delayed by 90 ° from the interface internal operation clock, and the SDRAM operation clock is delayed by the time obtained by adding the delay time of the output buffer and the delay time of the wiring (3 nsec) from the phase selection circuit output clock. ing. The feedback clock is delayed by a time obtained by adding the delay time of the input buffer and the delay time of the wiring (3 nsec) from the SDRAM operation clock.
[0062]
Considering the setup time for the write data signal, the address / command signal becomes active from the rising edge of the S0 cycle two cycles before the S1 cycle of the interface internal operation clock, and is determined after 4 nsec of the delay time. The chip select signal is determined 2 nsec after the delay time from the rising edge of the S1 cycle of the interface internal operation clock. The write data signal is determined 1 nsec after the delay time from the rise of the S1 cycle of the interface internal operation clock.
[0063]
From the above, the setup time of the write data signal, that is, the time from the confirmation of the chip select signal to the rise of the SDRAM operation clock is 3.5 nsec. As a result, a margin of 2 nsec can be taken against 1.5 nsec, which is a general setup time rule for a 100 MHz SDRAM.
[0064]
Considering the setup time for the read data signal, the read data is accessed after the access time of 6 nsec from the rise of the SDRAM operation clock, and the input buffer delay time and wiring delay time are added from that timing. After this, READ_Data0 is determined. Further, READ_Data1 is determined at a rising position synchronized with the subsequent feedback clock, and READ_Data2 is determined with a 180 ° delay from that timing.
[0065]
From the above, the setup time of READ_Data0 as a read data signal, that is, the time from the determination of READ_Data0 to the rise of the cycle S3 of the interface internal operation clock is 5.5 nsec. As a result, a margin of 4 nsec can be taken against 1.5 nsec, which is a general setup time rule for a 100 MHz SDRAM.
[0066]
As described above, when the operating frequency of the SDRAM is 100 MHz, by selecting 90 ° as the clock from the
[0067]
Next, FIG. 9 shows a timing chart when the operating frequency of the SDRAM is increased to 133 MHz (period 7.5 nsec). The delay time uses the same value as that shown in FIG.
[0068]
Considering the setup time for the write data signal in this case, the delay time of the address / command signal is longer than one cycle of the interface internal operation clock. Therefore, the address / command signal becomes active from the rising edge of the S0 cycle three cycles before the S2 cycle of the interface internal operation clock, and is determined after 9 nsec of the delay time. The chip select signal is determined 5 nsec after the delay time from the rise of the S1 cycle of the interface internal operation clock. The write data signal is determined 3 nsec after the delay time from the rising edge of the S1 cycle of the interface internal operation clock.
[0069]
From the above, the setup time of the write data signal, that is, the time from the confirmation of the chip select signal to the rise of the SDRAM operation clock is 1.9 nsec. Therefore, although the general setup time regulation of 133 MHz SDRAM, which is 1.5 nsec, is satisfied, the margin is 0.4 nsec, which is a severe value. In order to ensure a sufficient setup time, the
[0070]
On the other hand, when considering the setup time for the read data signal, the read data is accessed after the access time of 6 nsec from the rise of the SDRAM operation clock, and the input buffer delay time and the wiring delay time are added from that timing to 3 nsec. Later, READ_Data0 is determined. Accordingly, since the read data READ_Data0 is determined later than the rising edge of S3, the read data READ_DATA0 cannot be directly taken in at the rising edge of S3. Therefore, it is conceivable that READ_Data0 is captured at the rising edge of S4. However, if READ_Data0 is captured at the rising edge of S4, the hold time is shortened, and there is a possibility that the read data cannot be captured accurately.
[0071]
Therefore, in this case, once the READ_Data0 is captured at the rising edge of the feedback clock (FBCLK_in), READ_Data1 or READ_Data1 is captured at the rising edge of the feedback clock using the READ_Data2 captured at the rising edge of the feedback clock. Hold time can be secured.
[0072]
As described above, when the operating frequency of the SDRAM is 133 MHz, the environmental condition fluctuates and the delay time fluctuates by selecting the phase selection circuit at 90 ° and selecting READ_Data1 or READ_Data2 as the data path. Even if this occurs, the setup time and hold time can be satisfied, and the data can be reliably transferred between the
[0073]
Note that the
[0074]
Next, the operation of the
[0075]
The
[0076]
As shown in FIG. 10, four types of clock signals with different phases are input to the
[0077]
When the output data READ_Data0 of the
[0078]
Therefore, under this environmental condition, the setup time of the read data READ_Data0 with respect to the rising edge of S3 can be secured for 5 nsec or more, so that data can be taken in at the rising edge of S3. That is, the read data path can be reliably fetched by setting the read data path to READ_Data0 and selecting the setting for directly fetching with the reference clock.
[0079]
Next, when the environmental conditions change, READ_Data0 changes like READ_Data0-2 indicated by a broken line, and when the change point P moves to the point P ′, the
[0080]
Therefore, under this environmental condition, the setup time of the read data READ_Data0-2 with respect to the rising edge of S3 is 2.5 to 0 nsec, which may not satisfy the setup time regulation, and READ_Data0-2 at the rising timing of S3. If the data is captured, the control unit may capture it as incorrect data.
[0081]
Therefore, under the condition that the states of the
[0082]
However, when the data capture is performed by selecting the clock edge of S4, the state of READ_Data0-2 is not held until the rising edge of S4, so READ_Data0-2 cannot be fetched reliably. Therefore, READ_Data1 or READ_Data2 is selected as the read data path. READ_Data1 is synchronized with the rising edge of the feedback clock, and READ_Data2 is synchronized with the falling edge of the feedback clock. Therefore, if it is READ_Data1 or READ_Data2, sufficient setup time and hold time can be ensured, and read data can be taken in reliably.
[0083]
From the above, it is possible to determine the data change point with respect to the reference clock based on the state of the phase detection signal, that is, the phase of the detected read data, and Table 2 shows the clock edge and data path of data capture depending on each state. To choose.
[0084]
[Table 2]
[0085]
Although write data is also transferred on the data bus of the
[0086]
The phase detection signal is configured so that it can be read by software. Immediately after performing a memory read check at regular intervals, this register is read so that the software can detect the data change point. be able to.
[0087]
Based on the above phase detection results, by selecting the clock edge and data path as shown in Table 2, even if the change point of the read data changes with time due to the change in environmental conditions, the data is read under the optimum conditions. Data can be captured reliably.
[0088]
Further, in this embodiment, the read data from the
[0089]
In other words, if the clock has a timing at which READ_Data0 can be reliably fetched, the read data can be reliably fetched by synchronizing the read data using a clock other than the feedback clock or the above clock.
[0090]
【The invention's effect】
As described above, according to the present invention, the supply means generates a plurality of clocks having the same phase and different phases as the reference clock that is the reference of operation, and selects any one of the generated clocks. Since the operation target clock is supplied to the access target, a clock having a phase that satisfies both the setup time and the hold time when transferring a control signal and data to the access target from a plurality of clocks having different phases. The data can be selected and data can be reliably transferred to the access target.
[0091]
In addition, since any one of a plurality of paths for fetching data from the access target at different phase clock timings is selected and the data is read by the selected path, the path satisfies both the setup time and the hold time. Can be selected, and data can be fetched reliably.
[Brief description of the drawings]
FIG. 1 is a block diagram showing an example of a system configuration using an interface circuit according to the present invention.
FIG. 2 is a block diagram of a memory interface circuit according to the present invention.
FIG. 3 is a schematic diagram showing an internal configuration of a phase selection circuit.
FIG. 4 is a schematic diagram showing an internal configuration of a data path selection circuit.
FIG. 5 is a schematic diagram showing an internal configuration of a phase detection circuit.
FIG. 6 is a timing diagram showing output timing of address, command, chip select, and write data.
FIG. 7 is a timing chart of each clock, address, command, chip select, write data, and read data when the delay time in this embodiment is the maximum and the reference clock frequency is 100 MHz.
FIG. 8 is a timing chart of each clock, address, command, chip select, write data, and read data when the delay time in this embodiment is the minimum and the reference clock frequency is 100 MHz.
FIG. 9 is a timing chart of each clock, address, command, chip select, write data, and read data when the delay time in this embodiment is the maximum and the reference clock frequency is 133 MHz.
FIG. 10 is a timing chart showing the operation of the phase selection circuit.
FIG. 11 is a schematic diagram showing another configuration of the phase detection circuit.
FIG. 12 is a timing chart for explaining the setup time and hold time of the SDRAM and the memory interface circuit.
FIG. 13 is a block diagram of a memory interface device in the prior art.
FIG. 14 is a timing diagram showing the phase relationship between the operation clock inside the memory interface, the operation clock of the SDRAM, and the read data in the prior art.
FIG. 15 is a diagram showing a delay time due to a difference in the number of connected devices.
FIG. 16 is a timing chart when two DIMMs are mounted, showing a case where the setup time of the address / command signal and the setup time of the read data do not meet the specifications.
[Explanation of symbols]
10 CPU
12 Memory control circuit
14 DIMM
16 Control unit
18 Interface circuit
20 PLL circuit
22 Phase selection circuit
24A-24C D latch
26 Data path selection circuit
28 Phase detection circuit
30A-30D output buffer
32A, 32B input buffer
Claims (5)
動作の基準となる基準クロックと同位相及び異なる位相の複数のクロックを生成し、生成したクロックの内のいずれか1つを選択してアクセス対象に供給する供給手段と、
前記チップセレクト信号が有効な期間の少なくとも1クロック周期前から、前記チップセレクト信号が有効な期間を含む少なくとも2クロック周期期間、アドレス及びコマンド信号が有効になるように前記基準クロックに同期化して前記アクセス対象にアドレス及びコマンド信号を出力する第1の出力手段と、
前記チップセレクト信号を前記基準クロックに同期化して前記アクセス対象に出力する第2の出力手段と、
書き込みデータを前記基準クロックに同期化して前記アクセス対象に出力する第3の出力手段と、
アクセス対象からのデータを各々異なる位相クロックのタイミングで取り込む複数のパスと、
前記複数のパスの内のいずれか1つを選択し、選択したパスにより前記データを読み込む読み込み手段と、
を備えたインターフェース回路。An interface circuit for performing data access to an access target using an address and command signal, which is a control signal to be accessed , and a chip select signal,
Supply means for generating a plurality of clocks having the same phase and different phases as a reference clock serving as a reference for operation, and selecting any one of the generated clocks to supply to the access target;
The address and command signals are synchronized with the reference clock so that the address and command signals are valid for at least two clock cycles including the valid period of the chip select signal from at least one clock cycle before the valid period of the chip select signal. First output means for outputting an address and a command signal to an access target;
Second output means for synchronizing the chip select signal with the reference clock and outputting it to the access target;
Third output means for outputting write data to the access target in synchronization with the reference clock;
A plurality of paths for fetching data from the access target at different phase clock timings;
Reading means for selecting any one of the plurality of paths and reading the data by the selected path;
Interface circuit with
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001313727A JP3861650B2 (en) | 2001-10-11 | 2001-10-11 | Interface circuit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001313727A JP3861650B2 (en) | 2001-10-11 | 2001-10-11 | Interface circuit |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003122625A JP2003122625A (en) | 2003-04-25 |
JP3861650B2 true JP3861650B2 (en) | 2006-12-20 |
Family
ID=19132156
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001313727A Expired - Fee Related JP3861650B2 (en) | 2001-10-11 | 2001-10-11 | Interface circuit |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3861650B2 (en) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005078592A (en) * | 2003-09-03 | 2005-03-24 | Brother Ind Ltd | Memory controller and image forming device |
JP4814248B2 (en) * | 2004-11-05 | 2011-11-16 | クゥアルコム・インコーポレイテッド | Integrated circuits with adaptive speed range. |
JP4785465B2 (en) * | 2005-08-24 | 2011-10-05 | ルネサスエレクトロニクス株式会社 | Interface circuit and semiconductor device |
US8122275B2 (en) * | 2006-08-24 | 2012-02-21 | Altera Corporation | Write-leveling implementation in programmable logic devices |
EP2102867B1 (en) | 2006-12-14 | 2013-07-31 | 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 |
KR101375466B1 (en) * | 2009-01-12 | 2014-03-18 | 램버스 인코포레이티드 | Mesochronous signaling system with multiple power modes |
-
2001
- 2001-10-11 JP JP2001313727A patent/JP3861650B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2003122625A (en) | 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 (en) | System having a memory module equipped with a semiconductor memory device | |
US8111565B2 (en) | Memory interface and operation method of it | |
US6611905B1 (en) | Memory interface with programable clock to output time based on wide range of receiver loads | |
US7827431B2 (en) | Memory card having memory device and host apparatus accessing memory card | |
US20040143773A1 (en) | Adaptive memory module | |
US20050259504A1 (en) | DRAM interface circuits having enhanced skew, slew rate and impedance control | |
US7198197B2 (en) | Method and apparatus for data acquisition | |
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 (en) | Method and circuit for transmitting a memory clock signal | |
US8406080B2 (en) | Data output control circuit of a double data rate (DDR) synchronous semiconductor memory device responsive to a delay locked loop (DLL) clock and method thereof | |
KR100907016B1 (en) | Data input circuit of semiconductor memory apparatus and control method of the same | |
JP2010081577A (en) | Semiconductor device and data transmission system | |
US7542322B2 (en) | Buffered continuous multi-drop clock ring | |
JP3861650B2 (en) | Interface circuit | |
JP5296451B2 (en) | Memory control circuit and semiconductor integrated circuit incorporating the same | |
JP2004185608A (en) | Device for adjusting latch timing of data | |
US20150146477A1 (en) | Semiconductor device | |
US8194496B2 (en) | Circuit and method for recovering clock data in highly integrated semiconductor memory apparatus | |
JP2010079520A (en) | Device for controlling memory module, and method of controlling the same | |
JP4661134B2 (en) | Memory control method and apparatus | |
US20110058432A1 (en) | Semiconductor integrated circuit |
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 |