JP3744880B2 - Memory access circuit - Google Patents
Memory access circuit Download PDFInfo
- Publication number
- JP3744880B2 JP3744880B2 JP2002138838A JP2002138838A JP3744880B2 JP 3744880 B2 JP3744880 B2 JP 3744880B2 JP 2002138838 A JP2002138838 A JP 2002138838A JP 2002138838 A JP2002138838 A JP 2002138838A JP 3744880 B2 JP3744880 B2 JP 3744880B2
- Authority
- JP
- Japan
- Prior art keywords
- signal
- data
- level
- clock
- cnt
- 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
- 230000015654 memory Effects 0.000 title claims description 56
- 230000004044 response Effects 0.000 claims description 20
- 230000001360 synchronised effect Effects 0.000 claims description 4
- 230000000630 rising effect Effects 0.000 description 28
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 18
- 230000003111 delayed effect Effects 0.000 description 9
- 238000000034 method Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000010355 oscillation Effects 0.000 description 4
- 230000003213 activating effect Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
Images
Description
【0001】
【産業上の利用分野】
この発明は、メモリアクセス回路に関し、特にたとえば第1クロックに応答してバースト転送されるデータの書き込み/読み出しのために当該第1クロックよりも高速の第2クロックに応答してメモリにアクセスする、メモリアクセス回路に関する。
【0002】
【従来技術】
この種のメモリアクセス回路の一例を、図5に示す。この図5に示す回路1では、CPU(Central Processing Unit)2はメモリコントローラ3を介してSDRAM(Synchronous Dynamic RAM)4にアクセスする。なお、CPU2の動作クロック周波数fc'はfc'=64[MHz]であり、SDRAM4の動作クロック周波数fs'はCPU2の動作クロック周波数fc'の1.5倍、つまりfs'=96[MHz]である。このように互いに動作クロック周波数fc'およびfs'の異なるCPU2およびSDRAM4間でバースト転送方式に基づくデータ転送を可能とするために、メモリコントローラ3はバッファ5を内蔵している。
【0003】
すなわち、CPU2およびSDRAM4の一方からメモリコントローラ3に転送されたデータは、一旦バッファ5に蓄積された後、他方に転送される。このとき、CPU2およびメモリコントローラ3間では、CPU2の動作クロック周波数fc'に従ってバースト転送が行われ、SDRAM4およびメモリコントローラ3間では、SDRAM4の動作クロック周波数fs'に従ってバースト転送が行われる。このようにバッファ5が介在することによって、互いの動作クロック周波数fc'およびfs'の違いに関係なくCPU2およびSDRAM4間でのバースト転送が可能となる。
【0004】
なお、バッファ5が設けられていないとすると、つまりCPU2およびSDRAM4の一方からメモリコントローラ3にバースト転送されたデータがそのまま他方にバースト転送されるとすると、次のような不都合が生じる。たとえば、データの書き込み(ライト)時においては、図6(a)に示すように、当該書き込みの対象となるデータ(D0〜D4)がCPU2の動作クロック周波数fc'に従ってCPU2からメモリコントローラ3にバースト転送される。ここで、このメモリコントローラ3に転送されたデータが、図6(b)に示すようにSDRAM4の動作クロック周波数fs'に従ってメモリコントローラ3からSDRAM4にバースト転送されるとすると、CPU2の動作クロック周波数fc'との違いから、一部のデータ(D1およびD3)については重複して転送されてしまう。その結果、CPU2がデータの書き込み先として予定していたアドレスと、当該データが実際に書き込まれたアドレスとに差異が生じ、アクセス動作が破綻する。このことは、データの読み出し(リード)時も同様である。よって、従来は上述の如くバッファ5を設けることで、互いに動作クロック周波数fc'およびfs'の異なるCPU2およびSDRAM4間でも適切にバースト転送が行われるようにしていた。
【0005】
【発明が解決しようとする課題】
しかし、上述の従来技術では、転送対象となるデータが一旦バッファ5に蓄積される分、当該データの転送処理に時間が掛かり、ひいてはメモリアクセス回路10全体のアクセス動作が遅くなる、という問題がある。
【0006】
それゆえに、この発明の主たる目的は、バッファを設けることなく互いに動作クロックの異なるメモリとの間でバースト転送をすることができる、メモリアクセス回路を提供することである。
【0007】
【課題を解決するための手段】
この発明は、第1クロックに応答してバースト転送されるデータの書き込み/読み出しのために第1クロックよりも高速の第2クロックに応答してメモリにアクセスするメモリアクセス回路において、第1クロックに応答して更新される数値を第2クロックに応答して取り込む取り込み手段、取り込み手段によって連続して取り込まれた2つの数値を互いに比較する比較手段、および比較手段の比較結果が一致を示すときメモリに対して供給される第2クロックを不能化する不能化手段を備えることを特徴とする、メモリアクセス回路である。
【0008】
【作用】
この発明では、取り込み手段が、第1クロックに応答して更新される数値を第2クロックに応答して取り込む。そして、比較手段が、取り込み手段によって連続して取り込まれた2つの数値を互いに比較する。ここで、比較手段の比較結果が一致を示すとき、既にメモリに書き込まれたデータと同じデータが現在の書き込み対象となっているか、或いは既にメモリから読み出されたデータと同じデータが現在の読み出し対象となっていることになる。この場合、不能化手段が第2クロックを不能化するので、再度同じデータがメモリに書き込まれたり、或いは再度同じデータがメモリから読み出されたりすることはない。一方、比較手段の比較結果が不一致を示すときは、現在書き込み対象となっているデータが未だメモリに書き込まれていないか、或いは現在読み出し対象となっているデータが未だメモリから読み出されていないことになる。この場合、第2クロックは不能化手段によって不能化されないので、当該第2クロックに応答して適切にデータが書き込まれ、或いは読み出される。
【0009】
なお、メモリは、クロックイネーブル端子を有するクロック同期型のメモリであるのが望ましい。この場合、不能化手段は、当該クロックイネーブル端子に所定信号を供給することによって第2クロックを不能化する。
【0010】
【発明の効果】
この発明によれば、第1クロックに応答して転送されるデータはバッファを介することなく第2クロックに応答してメモリに書き込まれ、或いは当該メモリから読み出される。つまり、バッファを設けることなく互いに動作クロックの異なるメモリとの間でバースト転送することができる。
【0011】
この発明の上述の目的,その他の目的,特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【0012】
【実施例】
図1を参照して、この実施例のメモリアクセス回路10は、ディジタルカメラに適用されるもので、オペレータの操作に応じて各種処理を実行するCPU12,主記憶装置としてのSDRAM14,CPU12によるSDRAM14へのアクセスを制御するメモリコントローラ16,2つの発振回路18および20を有している。なお、CPU12およびメモリコントローラ16は、ASIC(Application Specified IC)22によって一体に形成されている。また、ASIC18は、後述するインタフェース回路24をも備えている。
【0013】
CPU12は、発振回路18から発振される周波数fc=64[MHz]のクロック信号(以下、CK64信号と言う。)に同期して動作し、SDRAM14は、発振回路20から発振される周波数fs=96[MHz]のクロック信号(以下、CK96信号と言う。)に同期して動作する。このように互いに動作クロック周波数fcおよびfsの異なるCPU12およびSDRAM14間でバースト転送方式に基づくデータ転送を可能とするために、メモリコントローラ16は、次のように構成されている。
【0014】
すなわち、メモリコントローラ16は、制御信号生成回路26,アドレスコンバータ28,ACK(Acknowledge)信号生成回路30,Ready信号生成回路32,カウンタ34,コンパレータ36,2つのフリップフロップ38および40,CKE(Clock Enable)信号生成回路42,およびそれぞれ複数(この実施例のメモリアクセス回路10が取り扱うデータのビット数分)のフリップフロップを備えた5つのフリップフロップ群44〜52を含む。また、これらのうちReady信号生成回路32,カウンタ34,フリップフロップ群44および52は、CK64信号に同期して動作し、これ以外の回路は、CK96信号に同期して動作する。
【0015】
ここで、CPU12からデータの書き込み指示または読み出し指示を含む制御信号が出力されると、この制御信号は、制御信号生成回路26に入力される。これと同時に、CPU12は、データの書き込み先アドレスまたは読み出し元アドレスを指定するためのアドレス信号を出力し、このアドレス信号は、アドレスコンバータ28に入力される。制御信号生成回路26は、制御信号の入力に応答してアドレスコンバータ28の出力タイミングを制御する。これによって、アドレス信号に含まれるロウアドレス信号およびカラムアドレス信号が適切なタイミングでアドレスコンバータ28から出力され、アドレスバス60を介してSDRAM14に入力される。
【0016】
制御信号生成回路26はまた、上述の制御信号に基づいてCS(Chip Select)信号やRAS(Row Address Strobe)信号,CAS(Column Address Strobe)信号,WE(Write Enable)信号などの所定のメモリ制御信号を生成する。生成されたメモリ制御信号は、コントロールバス62を介してSDRAM14に入力される。
【0017】
さらに、制御信号生成回路26は、CPU12からの制御信号の入力に応答してインタフェース回路24の入出力切換動作を制御する。これによって、データの書き込み時においては、インタフェース回路24を構成する出力ゲート24aが能動化され、入力ゲート24bが不能化される。一方、データの読み出し時においては、出力ゲート24aが不能化され、入力ゲート24bが能動化される。
【0018】
CPU12から出力される制御信号は、ACK信号生成回路30にも入力される。ACK信号生成回路30は、当該制御信号の入力に応答して、CPU12によるSDRAM14へのアクセスを許可するためのアクティブ“L(ロー)”のACK信号を生成し、生成したACK信号をReady信号生成回路32に入力する。
【0019】
Ready信号生成回路32は、ACK信号の入力に応答してアクティブ“H(ハイ)”のReady信号を生成し、生成したReady信号をCPU12に入力する。このReady信号の入力に応答して、CPU12は、バースト転送方式に基づくデータ転送を開始する。
【0020】
さらに、上述のACK信号は、カウンタ34にも入力され、カウンタ34は、当該AKC信号の入力に応答してカウント動作を開始する。具体的には、カウンタ34は、CK64信号の立ち上がりに同期して“1”および“2”という数値を繰り返し交互にカウントする。このカウント後のCNT(Count)信号は、コンパレータ36およびフリップフロップ38に入力される。
【0021】
フリップフロップ38は、入力されたCNT信号で表される数値(信号レベル)をCK96信号の立ち上がりに同期して捉えることによってCNT’信号を生成し、生成したCNT’信号をコンパレータ36およびフリップフロップ40に入力する。フリップフロップ40は、入力されたCNT’信号で表される数値をCK96信号の立ち上がりに同期して捉えることによってCNT”信号を生成し、生成したCNT”信号をコンパレータ36に入力する。なお、CNT”信号は、CNT’信号よりもCK96信号の1周期分だけ位相を遅らせた信号となる。
【0022】
コンパレータ36には、CNT信号,CNT’信号およびCNT”信号の他に、CPU12から上述の制御信号が入力されるとともに、ACK信号生成回路30から当該コンパレータ36の動作を能動化するためのアクティブ“L”のCMPE(Comparator Enable)信号が入力される。
【0023】
コンパレータ36は、CPU12からの制御信号によってデータの書き込みが指示されており、かつCMPE信号のレベルが“L”レベルのときに、CNT信号で表される数値とCNT’信号で表される数値とを比較し、その比較結果を表すCOMP(Comparison)信号を出力する。一方、CPU12からの制御信号によってデータの読み出しが指示されており、かつCMPE信号のレベルが“L”レベルのとき、コンパレータ36は、CNT’信号で表される数値とCNT”信号で表される数値とを比較し、COMP信号を出力する。なお、コンパレータ36による比較結果が一致を示すとき、COMP信号のレベルは“H”レベルとなり、当該比較結果が不一致を示すとき、COMP信号のレベルは“L”レベルとなる。また、CMPE信号のレベルが“H”レベルのときは、コンパレータ36の動作は不能化され、COMP信号のレベルは“L”レベルとなる。
【0024】
CKE信号生成回路42は、図2に示すように反転回路70およびフリップフロップ72を含む。コンパレータ36から入力されたCOMP信号は、反転回路70においてレベル反転処理を施された後、フリップフロップ72に入力される。フリップフロップ72は、当該レベル反転後の信号のレベルをCK96信号に同期して捕らえることによってCKE信号を生成する。生成されたCKE信号は、コントロールバス62を介してSDRAM14に入力される。このCKE信号は、後述するようにSDRAM14内においてCK96信号の作用を一時的に不能化するのに用いられる。
【0025】
なお、データの書き込み時においては、当該書き込みの対象となるデータWD(Write Data)はCPU12から出力される。このデータWDは、メモリコントローラ16内のフリップフロップ群44に入力され、ここでCK64信号の1周期分の位相遅延処理を施された後、フリップフロップ群46に入力される。フリップフロップ群46は、フリップフロップ群44から入力される遅延後のデータWD’の値(各ビットの信号レベル)をCK96信号に同期して捉える。このフリップフロップ群46による処理後のデータWD”は、フリップフロップ群48に入力され、ここでCK96信号の1周期分の位相遅延処理を施された後、インタフェース回路24(出力ゲート24a)およびデータバス64を介してSDRAM14に入力される。
【0026】
一方、データの読み出し時においては、SDRAM14から読み出されたデータSDは、データバス64およびインタフェース回路24(入力ゲート24b)を介してフリップフロップ群50に入力される。フリップフロップ群50は、入力されたデータSDの位相をCK96信号の1周期分だけ遅延させた後、この遅延後のデータSD’をフリップフロップ群52に入力する。フリップフロップ群52は、入力されたデータSD’の値をCK64信号に同期して取り込み、このフリップフロップ群52による処理後のデータRDが、CPU12に入力される。なお、フリップフロップ群52には、上述したReady信号生成回路32からReady信号が供給されており、フリップフロップ52は、当該Ready信号のレベルが“H”レベルであるときにのみデータRDを出力する。
【0027】
図3を参照して、データの書き込み時における各要部の動作タイミングを説明する。CPU12から書き込み指示を含む制御信号が出力されると、図3(a)に示すCK96信号の立ち上がりに同期して、或る時点t1において、図3(b)に示すACK信号のレベルが“H”レベルから“L”レベルに変化する。そして、このACK信号のレベルが“L”レベルになった後、図3(c)に示すCK64信号の最初の立ち上がり時点t2において、Ready信号のレベルが“L”レベルから“H”レベルに変化する。
【0028】
この時点t2においてReady信号のレベルが“H”レベルになることによって、CPU12からメモリコントローラ16に対して、図3(e)に示す書き込み対象となるデータWDの転送が開始される。このデータWDは、CK64信号に同期して所定量(D0〜D7)だけ連続して転送され、つまりバースト転送される。なお、図には示さないが、このデータWDの転送とともに当該データWDに対応するアドレス信号もCPU12からメモリコントローラ16に転送される。
【0029】
また、時点t2において、カウンタ34によるカウント動作が開始される。これによって、図3(f)に示すように、CK64信号の立ち上がりに同期して“1”および“2”という値を繰り返し交互に表すCNT信号が生成される。このCNT信号はフリップフロップ38で処理され、これによって図3(g)に示すようなCNT’信号が生成される。すなわち、CNT’信号は、CK64信号に同期して更新されるCNT信号の値を、当該CK64信号の1.5倍の周波数の信号であるCK96信号に同期して捉えた信号であるため、当該CNT’信号によって表される値はCK96信号の2周期おきにその前の周期と同じ値になる。したがって、CNT’信号によって表される値は、CK96信号の立ち上がりに同期して“1”→“1”→“2”という順番で繰り返し更新される。
【0030】
ACK信号のレベルが“L”レベルになった時点t1から数えてCK96信号の3つ目の立ち上がり時点t3において、図3(h)に示すCMPE信号のレベルが“H”レベルから“L”レベルに変化し、これによってコンパレータ36による比較動作が開始される。上述したように、コンパレータ36は、データの書き込み時においてはCNT信号とCNT’信号とを比較するため、その比較結果であるCOMP信号は、図3(i)に示すような信号となる。なお、図3においては、COMP信号の立ち上がりまたは立ち下がりのタイミングは、CK96信号の立ち上がりまたは立ち下がりのタイミングと一致しているが、実際には、COMP信号の立ち上がりまたは立ち下がりのタイミングは、CK96信号の立ち上がりまたは立ち下がりのタイミングよりも、コンパレータ36の処理速度に応じた時間だけ遅れる。
【0031】
このCOMP信号はCKE信号生成回路42に入力され、これによって図3(j)に示すようなCKE信号が生成される。ここで、CMPE信号のレベルが“L”レベルであるときのCKE信号とCNT’信号との関係に注目すると、CK96信号の或る周期においてCNT’信号で表される値が当該或る周期の前の周期にCNT’信号で表される値と同じであるとき、つまりCNT’信号で表される値がCK96信号の2周期にわたって同じであるときに、CKE信号のレベルが“L”レベルになる。このCKE信号は、コントロールバス62を介してSDRAM14に入力される。なお、図3からは判らないが、このCKE信号の立ち上がりまたは立ち下がりのタイミングも、CK96信号の立ち上がりまたは立ち下がりのタイミングよりも若干遅れる。
【0032】
SDRAM14は、上述したようにCK96信号に同期して動作するが、CKE信号のレベルが“L”レベルであるとき、当該SDRAM14の動作は不能化される。具体的には、SDRAM14内においては、図3(j)および図3(k)に示すように、CK96信号の立ち上がりの時点でCKE信号のレベルが“L”レベルであるとき、その次のCK96信号の立ち上がり(点線80で示されるパルス)がマスクされる。つまり、SDRAM14内においては、CK96信号の立ち上がりは2周期おきにマスクされる。このマスクされた期間中は、SDRAM14に対してデータは書き込まれない。
【0033】
一方、書き込み対象となるデータWDは、フリップフロップ群44で処理され、これによって図3(m)に示すようにデータWDよりもCK64信号の1周期分だけ位相の遅いデータWD’が生成される。このデータWD’は、フリップフロップ群46で処理され、これによって図3(n)に示すようなデータWD”が生成される。すなわち、データWD”は、CK64信号に同期して更新されるデータWD’の内容(D0〜D7)を、当該CK64信号の1.5倍の周波数の信号であるCK96信号に同期して捉えたデータであるため、当該データWD”の内容はCK96信号の2周期おきにその前の周期と同じ内容(D1,D3,D5およびD7)になる。
【0034】
このデータWD”は、さらにフリップフロップ群48によってCK96信号の1周期分の位相遅延処理を施されるので、SDRAM14には図3(o)に示すようなデータSDが入力される。なお、このデータSDは、インタフェース回路24およびデータバス64を介してSDRAM14に入力されるので、その分、図3(o)に誇張して示すように、当該データSDのタイミングはCK96信号の立ち上がりタイミングよりも遅れる。
【0035】
このようにSDRAM14に入力されるデータSDの内容はCK96信号の2周期おきにその前の周期と同じ内容(D1,D3,D5およびD7)になるが、このタイミングに合わせてCK96信号の動作が1周期分だけ不能化されるので、当該同じ内容がSDRAM14に重複して書き込まれることはない。したがって、データSD(D0〜D7)は当初予定されていたアドレスに適切に書き込まれる。
【0036】
なお、CPU12から所定量のデータWDが出力された時点t4で、Ready信号のレベルは“H”レベルから“L”レベルに戻る。そして、この時点t4からCK64信号1周期分の後、CK96信号の1つ目の立ち上がり時点t5で、ACK信号のレベルが“L”レベルから“H”レベルに戻る。これと同時に、CMPE信号のレベルも、“L”レベルから“H”レベルに変化する。そして、時点t5の後、CK64信号が最初に立ち上がる時点t6で、カウンタ34によるカウント動作が停止し、一連の書き込み動作が終了する。
【0037】
次に、図4を参照して、データの読み出し時における各要部の動作タイミングを説明する。CPU12から読み出し指示を含む制御信号が出力されると、図4(a)に示すCK96信号の立ち上がりに同期して、或る時点t11において、図4(b)に示すACK信号のレベルが“H”レベルから“L”レベルに変化する。なお、図には示さないが、CPU12は、制御信号の出力とともに、読み出し対象となるデータのアドレスを指定するためのアドレス信号をも出力する。
【0038】
ACK信号のレベルが“L”レベルになった後、図4(c)に示すCK64信号の最初に立ち上がり時点t12において、カウンタ34によるカウント動作が開始され、これによって図4(d)に示すようにCK64信号の立ち上がりに同期して“1”および“2”という値を交互に表すCNT信号が生成される。このCNT信号はフリップフロップ38で処理され、これによって図4(e)に示すように上述した図3(g)と同様のCNT’信号が生成される。さらに、このCNT’信号はフリップフロップ40で処理され、これによって図4(f)に示すように当該CNT’信号よりもCK96信号の1周期分だけ位相の遅れたCNT”信号が生成される。
【0039】
ACK信号のレベルが“L”レベルになった時点t11から数えてCK96信号の5つ目の立ち上がり時点t13において、CMPE信号のレベルが“H”レベルから“L”レベルに変化し、これによってコンパレータ36による比較動作が開始される。上述したように、コンパレータ36は、データの読み出し時においてはCNT’信号とCNT”信号とを比較するため、その比較結果であるCOMP信号は、図4(h)に示すような信号となる。
【0040】
このCOMP信号はCKE信号生成回路42に入力され、これによって図4(i)に示すようなCKE信号が生成される。ここで、CMPE信号のレベルが“L”レベルであるときのCKE信号とCNT”信号との関係に注目すると、CK96信号の或る周期においてCNT”信号で表される値が当該或る周期の前の周期にCNT”信号で表される値と同じであるとき、つまりCNT”信号で表される値がCK96信号の2周期にわたって同じであるときに、CKE信号のレベルが“L”レベルになる。このCKE信号はコントロールバス62を介してSDRAM14に入力される。
【0041】
SDRAM14内においては、図4(j)に点線82で示すように、CKE信号のレベルが“L”レベルとなった次のタイミングでCK96信号の立ち上がりがマスクされる。つまり、CK96信号の立ち上がりは2周期おきにマスクされる。そして、このようなCK96信号の立ち上がりに同期してSDRAM14から読み出されるデータSDは、図4(k)に示すようなデータとなる。すなわち、CK96信号の立ち上がりに同期して1つのデータD0が読み出された後、次のデータD1がCK96信号の2周期にわたって連続して読み出され、これ以降のデータD2〜D7も同様のタイミングで読み出される。なお、図4(k)においては、読み出し対象以外のデータD8〜DBもSDRAM14から読み出されているが、これらのデータD8〜DBは、後述するように途中で(フリップフロップ群52によって)無効とされる。
【0042】
SDRAM14から読み出されたデータSDは、フリップフロップ群50によって処理され、これによって図4(m)に示すように当該データSDよりもCK96信号の1周期分だけ位相の遅れたデータSD’が生成される。そして、このデータSD’は、フリップフロップ群52で処理されることによって、図4(n)に示すようにCK64信号の立ち上がりに同期して内容が更新されるデータRDとなる。そして、このデータRDは、CPU12に転送される。
【0043】
なお、データRDの転送開始時点t14に合わせてReady信号のレベルが“L”レベルから“H”レベルに変化する。具体的には、ACK信号のレベルが“L”レベルになった時点t11からCK96信号8周期分の後、CK64信号の1つ目の立ち上がり時点t14で、Ready信号のレベルが“L”レベルから“H”レベルに変化する。そして、読み出し対象であるデータRD(D0〜D7)の読み出しが完了した時点t15で、Ready信号のレベルは“H”レベルから“L”レベルに戻る。
【0044】
このReady信号は、上述したようにフリップフロップ群52にも入力されており、フリップフロップ群52の動作は、Ready信号のレベルが“H”レベルであるときにのみ有効化される。したがって、読み出し対象以外のデータD8〜DBは不能化され、CPU12には転送されない。
【0045】
さらに、この時点t15においては、COMP信号のレベルも“L”レベルから“H”レベルに戻る。そして、この時点t15の後、CK96信号の最初に立ち上がり時点t16において、ACK信号のレベルが“L”レベルから“H”レベルに戻り、この時点t16の後、CK64信号の最初の立ち上がり時点t17で、カウンタ34によるカウント動作が停止し、一連の読み出し動作が終了する。
【0046】
以上の説明から判るように、メモリコントローラ16内においては、CK64信号に同期してカウンタ34がカウント動作を行い、このカウンタ34によるカウント値がCK96信号に同期して取り込まれる。そして、この取り込まれた値がCK96信号の2周期にわたって連続して同じ値となるとき、SDRAM14へのデータの書き込み動作、或いはSDRAM14からのデータの読み出し動作が停止される。よって、SDRAM14に対して同じデータが連続して書き込まれたり、或いはSDRAM14から同じデータが連続して読み出されたりすることはなく、適切なアクセス動作を実現できる。しかも、上述した従来技術のようなバッファ5が介在しなくても、CPU12およびSDRAM14間でのバースト転送が可能であるので、従来よりも高速なアクセス動作を実現できる。
【0047】
なお、この実施例では、ディジタルカメラにこの発明を適用する場合について説明したが、ディジタルカメラ以外の電子機器にもこの発明を適用できることは言うまでもない。
【0048】
また、CPU12およびSDRAM14の各動作クロック周波数fcおよびfsについては、この実施例で説明した値に限定されるものではない。
【0049】
さらに、CPU12,メモリコントローラ16およびインタフェース回路24は、ASIC22によって一体に形成されたものとしたが、各々個別の構成としてもよい。
【0050】
そして、CPU12からSDRAM14へのデータの書き込み時においては、コンパレータ36によるCNT信号およびCNT’信号の比較結果に基づいてCKE信号を生成したが、これに限らない。たとえば、データの読み出し時と同様、データの書き込み時においてもCNT’信号およびCNT”信号の比較結果に基づいてCKE信号を生成してもよい。また、データの読み出し時におけるCKE信号を、CNT信号およびCNT’信号の比較結果に基づいて生成してもよい。さらに、この実施例で説明した以外の回路構成によってCKE信号を生成してもよい。
【図面の簡単な説明】
【図1】この発明の一実施例の構成を示すブロック図である。
【図2】図1におけるCKE信号生成回路の詳細を示すブロック図である。
【図3】図1の実施例においてデータ書き込み時の各要部の動作を示すタイミング図である。
【図4】図1の実施例においてデータ読み出し時の各要部の動作を示すタイミング図である。
【図5】従来のメモリアクセス回路の構成を示すブロック図である。
【図6】図5の従来技術における問題点を説明するためのタイミング図である。
【符号の説明】
10…メモリアクセス回路
12…CPU
14…SDRAM
16…メモリコントローラ
18,20…発振回路
34…カウンタ
36…コンパレータ
42…CKE生成回路[0001]
[Industrial application fields]
The present invention relates to a memory access circuit, and in particular, accesses a memory in response to a second clock faster than the first clock, for example, for writing / reading data burst-transferred in response to the first clock. The present invention relates to a memory access circuit.
[0002]
[Prior art]
An example of this type of memory access circuit is shown in FIG. In the
[0003]
That is, data transferred from one of the
[0004]
If the buffer 5 is not provided, that is, if the data burst-transferred from one of the
[0005]
[Problems to be solved by the invention]
However, the above-described conventional technique has a problem that since the data to be transferred is once stored in the buffer 5, the transfer process of the data takes time, and the access operation of the entire
[0006]
SUMMARY OF THE INVENTION Therefore, a main object of the present invention is to provide a memory access circuit that can perform burst transfer between memories having different operation clocks without providing a buffer.
[0007]
[Means for Solving the Problems]
The present invention provides a memory access circuit for accessing a memory in response to a second clock faster than the first clock for writing / reading data burst-transferred in response to the first clock. A fetching means for fetching a numerical value updated in response to the second clock, a comparing means for comparing two numeric values successively fetched by the fetching means, and a memory when the comparison result of the comparing means indicates coincidence A memory access circuit comprising disabling means for disabling the second clock supplied to the memory.
[0008]
[Action]
In the present invention, the capturing means captures the numerical value updated in response to the first clock in response to the second clock. Then, the comparison unit compares the two numerical values successively captured by the capture unit with each other. Here, when the comparison result of the comparison means indicates coincidence, the same data as the data already written in the memory is the current write target, or the same data as the data already read from the memory is the current read It will be the subject. In this case, since the disabling means disables the second clock, the same data is not written to the memory again, or the same data is not read from the memory again. On the other hand, when the comparison result of the comparison means indicates a mismatch, the data currently being written has not yet been written to the memory, or the data currently being read has not yet been read from the memory. It will be. In this case, since the second clock is not disabled by the disabling means, data is appropriately written or read in response to the second clock.
[0009]
The memory is preferably a clock synchronous memory having a clock enable terminal. In this case, the disabling unit disables the second clock by supplying a predetermined signal to the clock enable terminal.
[0010]
【The invention's effect】
According to the present invention, data transferred in response to the first clock is written to the memory in response to the second clock without being passed through the buffer, or is read from the memory. That is, burst transfer can be performed between memories having different operation clocks without providing a buffer.
[0011]
The above object, other objects, features and advantages of the present invention will become more apparent from the following detailed description of embodiments with reference to the drawings.
[0012]
【Example】
Referring to FIG. 1, a
[0013]
The
[0014]
That is, the
[0015]
Here, when a control signal including a data write instruction or a data read instruction is output from the
[0016]
The control
[0017]
Further, the control
[0018]
The control signal output from the
[0019]
The Ready
[0020]
Further, the ACK signal described above is also input to the
[0021]
The flip-
[0022]
In addition to the CNT signal, the CNT ′ signal, and the CNT ”signal, the
[0023]
The
[0024]
The CKE
[0025]
At the time of data writing, data WD (Write Data) to be written is output from the
[0026]
On the other hand, when reading data, the data SD read from the
[0027]
With reference to FIG. 3, the operation timing of each main part at the time of data writing will be described. When a control signal including a write instruction is output from the
[0028]
At this time t2, the level of the Ready signal becomes “H” level, whereby the
[0029]
Further, at the time t2, the counting operation by the
[0030]
At the third rising time t3 of the CK96 signal, counting from the time t1 when the level of the ACK signal becomes “L” level, the level of the CMPE signal shown in FIG. 3 (h) changes from “H” level to “L” level. Thus, the comparison operation by the
[0031]
This COMP signal is input to the CKE
[0032]
As described above, the
[0033]
On the other hand, the data WD to be written is processed by the flip-
[0034]
Since this data WD ″ is further subjected to the phase delay processing for one cycle of the CK96 signal by the flip-
[0035]
Thus, the content of the data SD input to the
[0036]
Note that at the time t4 when a predetermined amount of data WD is output from the
[0037]
Next, with reference to FIG. 4, the operation timing of each main part at the time of data reading will be described. When a control signal including a read instruction is output from the
[0038]
After the level of the ACK signal becomes “L” level, the counting operation by the
[0039]
At the fifth rising time t13 of the CK96 signal, counting from the time t11 when the level of the ACK signal becomes the “L” level, the level of the CMPE signal changes from the “H” level to the “L” level. The comparison operation by 36 is started. As described above, since the
[0040]
This COMP signal is input to the CKE
[0041]
In the
[0042]
The data SD read from the
[0043]
Note that the level of the Ready signal changes from the “L” level to the “H” level in accordance with the transfer start time t14 of the data RD. Specifically, the level of the Ready signal is changed from the “L” level at the first rising time t14 of the CK64 signal after eight cycles of the CK96 signal from the time t11 when the level of the ACK signal becomes the “L” level. Changes to “H” level. Then, at the time t15 when the reading of the data RD (D0 to D7) to be read is completed, the level of the Ready signal returns from the “H” level to the “L” level.
[0044]
The Ready signal is also input to the flip-
[0045]
Further, at time t15, the level of the COMP signal also returns from the “L” level to the “H” level. Then, after this time t15, at the first rising time t16 of the CK96 signal, the level of the ACK signal returns from the “L” level to the “H” level, and after this time t16, at the first rising time t17 of the CK64 signal. Then, the counting operation by the
[0046]
As can be seen from the above description, in the
[0047]
In this embodiment, the case where the present invention is applied to a digital camera has been described. Needless to say, the present invention can also be applied to electronic devices other than a digital camera.
[0048]
Further, the operation clock frequencies fc and fs of the
[0049]
Further, although the
[0050]
At the time of writing data from the
[Brief description of the drawings]
FIG. 1 is a block diagram showing a configuration of an embodiment of the present invention.
FIG. 2 is a block diagram showing details of a CKE signal generation circuit in FIG. 1;
FIG. 3 is a timing chart showing the operation of each main part at the time of data writing in the embodiment of FIG. 1;
4 is a timing chart showing the operation of each main part at the time of data reading in the embodiment of FIG.
FIG. 5 is a block diagram showing a configuration of a conventional memory access circuit.
6 is a timing diagram for explaining problems in the prior art of FIG.
[Explanation of symbols]
10: Memory access circuit
12 ... CPU
14 ... SDRAM
16 ... Memory controller
18, 20 ... oscillation circuit
34 ... Counter
36 ... Comparator
42 ... CKE generation circuit
Claims (2)
前記第1クロックに応答して更新される数値を前記第2クロックに応答して取り込む取り込み手段、
前記取り込み手段によって連続して取り込まれた2つの数値を互いに比較する比較手段、および
前記比較手段の比較結果が一致を示すとき前記メモリに対して供給される第2クロックを不能化する不能化手段を備えることを特徴とする、メモリアクセス回路。In a memory access circuit for accessing a memory in response to a second clock faster than the first clock for writing / reading data burst transferred in response to a first clock,
Capturing means for capturing a numerical value updated in response to the first clock in response to the second clock;
Comparing means for comparing two numerical values successively captured by the capturing means, and disabling means for disabling the second clock supplied to the memory when the comparison result of the comparing means indicates a match A memory access circuit comprising:
前記不能化手段は前記クロックイネーブル端子に所定信号を供給することによって前記第2クロックを不能化する、請求項1記載のメモリアクセス回路。The memory is a clock synchronous type memory having a clock enable terminal,
2. The memory access circuit according to claim 1, wherein the disabling unit disables the second clock by supplying a predetermined signal to the clock enable terminal.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2002138838A JP3744880B2 (en) | 2002-05-14 | 2002-05-14 | Memory access circuit |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2002138838A JP3744880B2 (en) | 2002-05-14 | 2002-05-14 | Memory access circuit |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2003330790A JP2003330790A (en) | 2003-11-21 |
| JP3744880B2 true JP3744880B2 (en) | 2006-02-15 |
Family
ID=29700175
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2002138838A Expired - Fee Related JP3744880B2 (en) | 2002-05-14 | 2002-05-14 | Memory access circuit |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3744880B2 (en) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2006065986A (en) | 2004-08-27 | 2006-03-09 | Fujitsu Ltd | Magnetoresistive memory and magnetoresistive memory writing method |
-
2002
- 2002-05-14 JP JP2002138838A patent/JP3744880B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2003330790A (en) | 2003-11-21 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH0845277A (en) | Semiconductor memory device | |
| JPS6083166A (en) | Semiconductor integrated circuit device | |
| US5864252A (en) | Synchronous circuit with improved clock to data output access time | |
| JP3744880B2 (en) | Memory access circuit | |
| JP2000020451A (en) | Device and method for processing information and provision method | |
| JPS5848293A (en) | Memory refreshing device | |
| US20070233934A1 (en) | Signal processor | |
| JPH023172A (en) | Semiconductor storage device | |
| JPH03144990A (en) | Memory device | |
| JP4114749B2 (en) | MEMORY CONTROL DEVICE AND ELECTRONIC DEVICE | |
| JPH07182863A (en) | Internal address generation circuit | |
| JP3251237B2 (en) | Reprogramming method in SDRAM | |
| JP2001356960A (en) | Write control device, its method and recording medium | |
| JPH029401Y2 (en) | ||
| JPH04263191A (en) | Semiconductor memory device | |
| JP2570271B2 (en) | Semiconductor memory controller | |
| JP2002269980A (en) | Memory control device and memory control method | |
| JP2005250999A (en) | Register control circuit | |
| JP2617132B2 (en) | Direct memory access method | |
| JPS626360A (en) | Memory control circuit | |
| JPH047762A (en) | Memory access method | |
| JPH0581445A (en) | Microcomputer lsi | |
| JPH0256047A (en) | Direct memory access controller | |
| JP2001297034A (en) | Memory access controller and its method | |
| JPH06111011A (en) | Image memory access system |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20051021 |
|
| 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: 20051101 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20051115 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091202 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101202 Year of fee payment: 5 |
|
| LAPS | Cancellation because of no payment of annual fees |