JP3861650B2 - Interface circuit - Google Patents

Interface circuit Download PDF

Info

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
Application number
JP2001313727A
Other languages
Japanese (ja)
Other versions
JP2003122625A (en
Inventor
雅裕 小畑
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Fujifilm Business Innovation Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd, Fujifilm Business Innovation Corp filed Critical Fuji Xerox Co Ltd
Priority to JP2001313727A priority Critical patent/JP3861650B2/en
Publication of JP2003122625A publication Critical patent/JP2003122625A/en
Application granted granted Critical
Publication of JP3861650B2 publication Critical patent/JP3861650B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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】

Figure 0003861650
【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】
Figure 0003861650
【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]
Figure 0003861650
[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 claim 2, as the plurality of paths, a path for directly capturing data output from an access target by the reference clock, and a data having a phase different from the reference clock are captured thereafter. A path for taking in the data with the reference clock may be included.
[0030]
In addition, as described in claim 3, the present invention can also include a data change point holding unit that detects a change point of data from the access target and holds change point information of the detected data. The delay state of the fetched data with respect to the reference clock can be detected.
[0031]
Furthermore, as described in claim 4, the present invention can select a path and an edge to be used for fetching data from an access target based on detected change point information of data. As described above, the path and edge to be selected can be changed according to the change in the data change point information.
[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 DIMM 14 via a memory control circuit 12. The memory control circuit 12 includes a control unit 16 and an interface circuit 18.
[0034]
The interface circuit 18 is supplied with a phase selection signal, an address / command signal, a chip selection signal, a write data signal, a data path selection signal, and a detection valid period signal output from the control unit 16, respectively. The phase detection signal and the read data signal are output to the control unit 16. The phase selection signal is a signal for selecting a clock having an appropriate phase from clocks having different phases generated in the interface circuit 18. In addition, the data path selection signal selects the path that can properly access the read data from the multiple paths when the read data is distributed and input to multiple paths for fetching the read data at different timings. It is a signal to do. The detection effective period signal is a signal that determines an effective period for detecting a signal in a read data phase detection circuit (described later) generated by the control unit 16.
[0035]
The control unit 16 includes setting means for setting information necessary for generating the phase selection signal and the data path selection signal, and the CPU 10 indicates the state of the phase detection signal output from the interface circuit 18. It has a reading means that enables reading.
[0036]
FIG. 2 shows a configuration example of the interface circuit 18 according to the present invention. The interface circuit 18 is a circuit that performs data transfer with one or more DIMMs 14 that may be mounted. The interface circuit 18 is a D latch 24A for synchronizing a control signal to be output to the PLL circuit 20, the phase selection circuit 22, and the DIMM 14 that generates a clock (reference clock) that is a reference for the operation in the interface circuit with the reference clock. 24B, 24C, a data path selection circuit 26 for selecting a data path of read data from the DIMM 14, a phase detection circuit 28 for detecting a phase of a change point of the read data, and an output signal from the interface circuit 18 are driven. And buffers 30A, 30B, 30C, 30D for receiving and input buffers 32A, 32B for receiving output signals from the DIMM 14.
[0037]
The PLL circuit 20 is connected to the phase selection circuit 22, and the phase selection circuit 22 is connected to the output buffer 30 </ b> A and the phase detection circuit 28. The PLL circuit 20 includes a D latch 24A connected to the address / command signal input signal line, a D latch 24B connected to the chip select signal input line, a D latch 24C connected to the write data signal signal line, and Each is connected to a data path selection circuit 26. The D latches 24A, 24B, and B24C are connected to the output buffers 30B, 30C, and 30D, respectively. The input buffer 32A to which the feedback clock from the DIMM 14 is input is connected to the data path selection circuit 26, and the input buffer 32B to which the read data from the DIMM 14 is input includes the data path selection circuit 26 and the phase detection circuit 28. It is connected.
[0038]
The phase selection circuit 22, the data path selection circuit 26, and the phase detection circuit 28 are connected to the control unit 16. The phase selection circuit 22 has a phase selection signal, the data path selection circuit 26 has a data path selection signal, A phase selection signal is input from the control unit 16 to the phase detection circuit, a read data signal is output from the data path selection circuit 26, and a phase detection signal is output from the phase detection circuit 28 to the control unit 16.
[0039]
The PLL circuit 20 receives a clock signal from the outside, adjusts the phase of the clock that is a reference for the operation of the interface circuit 18, outputs the adjusted clock as the reference clock SIG10, and is 90 ° out of phase with the reference clock. The clock signal SIG11 is also output at the same time.
[0040]
The configuration of the internal circuit of the phase selection circuit 22 is shown in FIG. A 0 ° clock having the same phase as the reference clock output from the PLL circuit 20 and a clock having a phase different from the reference clock by 90 ° are input to the inverter circuit 44 and the inverter circuit 46, respectively. A 180 ° clock is generated through 44, and a 270 ° clock is generated from the 90 ° clock through the inverter circuit 46. The selection circuit 48 receives four clock signals having a phase difference of 0 °, 90 °, 180 °, and 270 ° with respect to the reference clock. Depending on the state of the phase selection signal from the control unit 16, four input clocks are input. Select any one of and output. Four clock signals having phases different from the reference clock by 0 °, 90 °, 180 °, and 270 ° are also output to the phase detection circuit 28.
[0041]
The internal configuration of the data path selection circuit 26 is shown in FIG. The DATA_IN signal as data output from the DIMM 14 is input to the input buffer 32B. The DATA_IN signal is branched into three paths. In the first path, the DATA_IN signal is directly input to the D latch 40A via the signal line (READ Data0), and is synchronized with the reference clock by the D latch 40A to be the data path selection unit as SIG1. 42 is output. In the second path, the DATA_IN signal is input to the D latch 34 to which the feedback clock signal is input, synchronized with the feedback clock signal and input to the D latch 40B (READ_Data1), and synchronized to the reference clock by the D latch 40B. And output to the data path selection unit 42 as SIG2. In the third path, the READ_Data1 signal is input to the D latch 38 to which the feedback clock signal is inverted by the inverter circuit 36 and input to the D latch 40C in synchronization with the inverted signal (CLK1) of the feedback clock signal. The signal is input (READ_Data2) and is output to the data path selection unit 42 as SIG3 in synchronization with the reference clock by the D latch 40C. The data path selection unit 42 selects any one of SIG1 to SIG3 based on the data path selection signal from the control unit 16, and outputs the selected signal to the control unit 16 as read data.
[0042]
FIG. 5 shows the internal configuration of the phase detection circuit 28. The phase detection circuit 28 includes data holding units 50A, 50B, 50C, and 50D and D latches 52A, 52B, 52C, and 52D. The above-described READ_Data0 signal and the detection valid period signal from the control unit 16 are input to the data holding units 50A, 50B, 50C, and 50D, respectively. The signal output from the data holding unit 50A is output to the control unit 16 as the phase detection signal 1 in synchronization with the reference clock generated by the phase selection circuit 22 and a clock signal having a phase difference of 90 °. The signal output from the data holding unit 50B is output to the control unit 16 as a phase detection signal 2 in synchronization with a clock signal having a phase different from the reference clock generated by the phase selection circuit 22 by 180 °. The signal output from the data holding unit 50C is output to the control unit 16 as the phase detection signal 3 in synchronization with the reference clock generated by the phase selection circuit 22 and a clock signal having a phase difference of 270 °. The signal output from the data holding unit 50D is output to the control unit 16 as the phase detection signal 4 in synchronization with the clock signal in phase with the reference clock generated by the phase selection circuit 22.
[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 signals 1 to 4 are set, and when the detection valid period signal is in an invalid state, the phase detection signals 1 to 4 are fed back to the data holding units 50A to 50D to hold the state.
[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 phase detection circuit 28 is, for example, a reference clock. And 8 types of clocks with different phases of 45 °, 90 °, 135 °, 180 °, 225 °, 270 °, 315 ° and 8 phase detection signals can be output using this clock, It is also possible to generate more clocks and use the generated clocks to output a phase detection signal.
[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 DIMM 14, is input to the D latch 24A, the D latch 24A synchronizes these signals with the reference clock and outputs them to the DIMM 14 via the output buffer 30B. .
[0047]
Here, as shown in FIG. 6, in the interface circuit 18, the address / command (excluding the chip select signal) signal is made valid (active) from the clock signal at least one clock cycle before the period in which the chip select is valid. Then, at least two clock cycle periods including a period in which the chip select signal is active are made valid (active). Therefore, the D latch 24A outputs in synchronization with the reference clock so that the address / command (excluding the chip select signal) signal is in an active state for a period of two clock cycles including a period in which the chip select signal is active. .
[0048]
The D latch 24B outputs a chip select signal, which is a control signal of the DIMM 14, in synchronization with the reference clock. The interface circuit 18 makes the chip select signal valid (active) only for one clock cycle period. For this reason, the D latch 24B outputs in synchronization with the reference clock so that the chip select signal is in an active state only for one clock cycle period.
[0049]
The D latch 24C outputs a write data signal to the DIMM 14 in synchronization with the reference clock.
[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 DIMMs 14 mounted. (Interface internal operation clock), phase selection circuit output clock output from the phase selection circuit 22, SDRAM operation clock, feedback clock, address / command signal, chip select signal, write data signal, and read data signal 7 as shown in the timing chart.
[0051]
Here, the frequency of the interface internal operation clock is 100 MHz (period 10 nsec), the delay time of the write data signal is 3 nsec, the delay time of the address / command signal is 9 nsec, and the output of the phase selection circuit based on the delay time of the output buffer 30A and the wiring It is assumed that the delay time of the SDRAM operation clock from the clock is 5 nsec. In this case, the phase selection circuit 22 selects a clock having a phase difference of 90 ° with respect to the reference clock as the phase selection circuit output clock serving as a reference for the SDRAM operation clock, and the data path selection circuit 26 selects READ_Data0.
[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 DIMMs 14 mounted, the reference clock (interface internal operation clock), the phase selection circuit output clock output from the phase selection circuit 22, the SDRAM operation clock, the feedback clock The relationship among the address / command signal, chip select signal, write data signal, and read data signal is shown in the timing chart of FIG.
[0059]
Also here, the frequency of the interface internal operation clock is 100 MHz (period 10 nsec), the delay time of the write data signal is 1 nsec, the delay time of the address / command signal is 4 nsec, and the phase selection circuit based on the delay time of the output buffer 30A and the wiring The delay time of the SDRAM operation clock from the output clock is assumed to be 3 nsec. In this case, the phase selection circuit 22 selects a clock having a phase difference of 90 ° with respect to the reference clock as the phase selection circuit output clock serving as a reference for the SDRAM operation clock, and the data path selection circuit 26 selects READ_Data0.
[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 phase selection circuit 22 and selecting READ_Data0 as the data path, environmental conditions fluctuate and each delay time is changed. Even if the fluctuation occurs, the setup time and hold time can be satisfied, and the data can be reliably transferred between the interface circuit 18 and the DIMM 14.
[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 phase selection circuit 22 may select a phase selection circuit output clock having a phase difference of 180 ° from the interface internal operation clock.
[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 interface circuit 18 and the DIMM 14.
[0073]
Note that the control unit 16 is configured to be able to select whether to read data at the rising edge of S3 of the interface internal operation clock or whether to read the data at the rising edge of S4 by register setting by software. As described above, even when the delay time increases and exceeds the clock cycle, it is possible to reliably transfer data between the memory interface circuit 18 and the DIMM 14.
[0074]
Next, the operation of the phase detection circuit 28 will be described.
[0075]
The phase detection circuit 28 is mounted for the purpose of detecting how much the data change point output from the DIMM 14 is delayed with respect to the reference clock.
[0076]
As shown in FIG. 10, four types of clock signals with different phases are input to the phase detection circuit 28, and the phases are 0 °, 90 °, 180 °, and 270 ° with respect to the reference clock, respectively. Yes. For example, assuming that the frequency of the reference clock is 100 MHz, the clock cycle is 10 nsec, and the clocks having a 90 ° phase difference are delayed by 2.5 nsec, which is a quarter cycle, with respect to the reference clock. Similarly, a clock with a 180 ° phase difference is delayed by 5 nsec, and a clock with a 270 ° phase difference is delayed with respect to a 7.5 nsec reference clock.
[0077]
When the output data READ_Data0 of the DIMM 14 changes at a point P like READ_Data0-1 indicated by a solid line under certain environmental conditions, D latches 52A, 52B, 52C, 52D corresponding to the phase detection signals 1 to 4 (FIG. 5). The output from (reference) is 1000. At this time, it can be determined that the output data of the DIMM 14 is changing at a point of 90 ° or more and less than 180 ° with respect to the reference clock, and as a result, it is detected that the delay is 2.5 to 5 nsec from the rising edge of the reference clock. be able to.
[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 D latch 52A corresponding to the phase detection signals 1 to 4 , 52B, 52C, 52D (see FIG. 5) has a value of 1110. At this time, it can be determined that the output data of the DIMM 14 changes at a point of 270 ° or more and less than 360 ° with respect to the reference clock, and as a result, it is detected that the delay is 7.5 nsec to 10 nsec from the rising edge of the reference clock. be able to.
[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 phase detection signals 1 to 4 are 1110, the data is captured by selecting the rising edge of S4, which is the next cycle, instead of capturing at the rising edge of S3.
[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]
Figure 0003861650
[0085]
Although write data is also transferred on the data bus of the DIMM 14, since the phase detection circuit 28 needs to detect the phase of only the read data, the phase detection circuit only during a period when the read data changes reliably. The detection valid period signal is supplied from the control unit 16 to the phase detection circuit 28 so that the circuit 28 operates. The phase detection circuit 28 checks the phase of the read data only when the detection valid period signal is active, and keeps the acquired data during the inactive period.
[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 DIMM 14 is synchronized with the reference clock after being synchronized with the feedback clock using the same or opposite phase as that of the feedback clock. 11, a clock having a phase difference of 90 °, 180 °, and 270 ° with the reference clock is generated from the phase selection signal, and READ_Data0 is once synchronized with each clock, and then synchronized with the reference clock. It is also possible to receive read data from.
[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
前記複数のパスは、アクセス対象が出力するデータを直接前記基準クロックで取り込むパス、及び、前記基準クロックと位相の異なるクロックでデータを取り込みその後前記基準クロックで該データを取り込むパスを含むことを特徴とする請求項1に記載のインターフェース回路。    The plurality of paths include a path that directly captures data output by an access target using the reference clock, and a path that captures data using a clock having a phase different from that of the reference clock and then captures the data using the reference clock. The interface circuit according to claim 1. アクセス対象からのデータの変化点を検出すると共に、検出したデータの変化点情報を保持するデータ変化点保持手段を備えたことを特徴とする請求項1または請求項2に記載のインターフェース回路。    3. The interface circuit according to claim 1, further comprising data change point holding means for detecting a change point of data from the access target and holding change point information of the detected data. 前記検出されたデータの変化点情報に基づいて、アクセス対象からのデータの取り込みに用いるパス及びエッジが各々選択されることを特徴とする請求項3に記載のインターフェース回路。    4. The interface circuit according to claim 3, wherein a path and an edge used for fetching data from an access target are selected based on the detected change point information of the data. 前記データの変化点情報の変化に応じて、選択されるパス及びエッジが変更されることを特徴とする請求項4に記載のインターフェース回路。    5. The interface circuit according to claim 4, wherein the selected path and edge are changed in accordance with a change in the data change point information.
JP2001313727A 2001-10-11 2001-10-11 Interface circuit Expired - Fee Related JP3861650B2 (en)

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)

* Cited by examiner, † Cited by third party
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

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