Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP3744880B2 - Memory access circuit - Google Patents
[go: Go Back, main page]

JP3744880B2 - Memory access circuit - Google Patents

Memory access circuit Download PDF

Info

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
Application number
JP2002138838A
Other languages
Japanese (ja)
Other versions
JP2003330790A (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.)
Sanyo Electric Co Ltd
Original Assignee
Sanyo Electric Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sanyo Electric Co Ltd filed Critical Sanyo Electric Co Ltd
Priority to JP2002138838A priority Critical patent/JP3744880B2/en
Publication of JP2003330790A publication Critical patent/JP2003330790A/en
Application granted granted Critical
Publication of JP3744880B2 publication Critical patent/JP3744880B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

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 circuit 1 shown in FIG. 5, a CPU (Central Processing Unit) 2 accesses an SDRAM (Synchronous Dynamic RAM) 4 via a memory controller 3. The operation clock frequency fc ′ of the CPU 2 is fc ′ = 64 [MHz], and the operation clock frequency fs ′ of the SDRAM 4 is 1.5 times the operation clock frequency fc ′ of the CPU 2, that is, fs ′ = 96 [MHz]. is there. As described above, the memory controller 3 includes the buffer 5 in order to enable data transfer based on the burst transfer method between the CPU 2 and the SDRAM 4 having different operation clock frequencies fc ′ and fs ′.
[0003]
That is, data transferred from one of the CPU 2 and the SDRAM 4 to the memory controller 3 is temporarily stored in the buffer 5 and then transferred to the other. At this time, burst transfer is performed between the CPU 2 and the memory controller 3 according to the operation clock frequency fc ′ of the CPU 2, and burst transfer is performed between the SDRAM 4 and the memory controller 3 according to the operation clock frequency fs ′ of the SDRAM 4. By interposing the buffer 5 in this way, burst transfer between the CPU 2 and the SDRAM 4 becomes possible regardless of the difference between the operation clock frequencies fc ′ and fs ′.
[0004]
If the buffer 5 is not provided, that is, if the data burst-transferred from one of the CPU 2 and the SDRAM 4 to the memory controller 3 is directly burst-transferred to the other, the following inconvenience occurs. For example, at the time of data writing (writing), as shown in FIG. 6A, the data (D0 to D4) to be written burst from the CPU 2 to the memory controller 3 in accordance with the operation clock frequency fc ′ of the CPU 2. Transferred. If the data transferred to the memory controller 3 is burst transferred from the memory controller 3 to the SDRAM 4 according to the operation clock frequency fs' of the SDRAM 4 as shown in FIG. 6B, the operation clock frequency fc of the CPU 2 is assumed. Due to the difference from ', some data (D1 and D3) are transferred redundantly. As a result, there is a difference between the address planned by the CPU 2 as the data write destination and the address where the data is actually written, and the access operation fails. The same applies to data reading (reading). Therefore, conventionally, by providing the buffer 5 as described above, burst transfer is appropriately performed between the CPU 2 and the SDRAM 4 having different operation clock frequencies fc ′ and fs ′.
[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 memory access circuit 10 is delayed. .
[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 memory access circuit 10 according to this embodiment is applied to a digital camera. CPU 12 executes various processes according to an operator's operation, SDRAM 14 as a main memory, and SDRAM 14 by CPU 12. A memory controller 16 for controlling the access of the first and second oscillation circuits 18 and 20. The CPU 12 and the memory controller 16 are integrally formed by an ASIC (Application Specified IC) 22. The ASIC 18 also includes an interface circuit 24 described later.
[0013]
The CPU 12 operates in synchronization with a clock signal having a frequency fc = 64 [MHz] oscillated from the oscillation circuit 18 (hereinafter referred to as CK64 signal), and the SDRAM 14 has a frequency fs = 96 oscillated from the oscillation circuit 20. It operates in synchronization with a clock signal of [MHz] (hereinafter referred to as CK96 signal). Thus, in order to enable data transfer based on the burst transfer method between the CPU 12 and the SDRAM 14 having different operation clock frequencies fc and fs, the memory controller 16 is configured as follows.
[0014]
That is, the memory controller 16 includes a control signal generation circuit 26, an address converter 28, an ACK (Acknowledge) signal generation circuit 30, a Ready signal generation circuit 32, a counter 34, a comparator 36, two flip-flops 38 and 40, CKE (Clock Enable ) Includes a signal generation circuit 42 and five flip-flop groups 44 to 52 each having a plurality of flip-flops (for the number of bits of data handled by the memory access circuit 10 of this embodiment). Of these, the Ready signal generation circuit 32, the counter 34, and the flip-flop groups 44 and 52 operate in synchronization with the CK64 signal, and the other circuits operate in synchronization with the CK96 signal.
[0015]
Here, when a control signal including a data write instruction or a data read instruction is output from the CPU 12, the control signal is input to the control signal generation circuit 26. At the same time, the CPU 12 outputs an address signal for designating a data write destination address or a read source address, and this address signal is input to the address converter 28. The control signal generation circuit 26 controls the output timing of the address converter 28 in response to the input of the control signal. As a result, the row address signal and the column address signal included in the address signal are output from the address converter 28 at appropriate timing and input to the SDRAM 14 via the address bus 60.
[0016]
The control signal generation circuit 26 also performs predetermined memory control such as a CS (Chip Select) signal, a RAS (Row Address Strobe) signal, a CAS (Column Address Strobe) signal, and a WE (Write Enable) signal based on the above-described control signal. Generate a signal. The generated memory control signal is input to the SDRAM 14 via the control bus 62.
[0017]
Further, the control signal generation circuit 26 controls the input / output switching operation of the interface circuit 24 in response to the input of the control signal from the CPU 12. As a result, when data is written, the output gate 24a constituting the interface circuit 24 is activated and the input gate 24b is disabled. On the other hand, when reading data, the output gate 24a is disabled and the input gate 24b is enabled.
[0018]
The control signal output from the CPU 12 is also input to the ACK signal generation circuit 30. In response to the input of the control signal, the ACK signal generation circuit 30 generates an active “L (low)” ACK signal for permitting the CPU 12 to access the SDRAM 14, and generates the generated ACK signal as a Ready signal. Input to the circuit 32.
[0019]
The Ready signal generation circuit 32 generates an active “H (High)” Ready signal in response to the input of the ACK signal, and inputs the generated Ready signal to the CPU 12. In response to the input of the Ready signal, the CPU 12 starts data transfer based on the burst transfer method.
[0020]
Further, the ACK signal described above is also input to the counter 34, and the counter 34 starts a counting operation in response to the input of the AKC signal. Specifically, the counter 34 repeatedly counts numerical values “1” and “2” alternately in synchronization with the rising edge of the CK64 signal. The counted CNT (Count) signal is input to the comparator 36 and the flip-flop 38.
[0021]
The flip-flop 38 generates a CNT ′ signal by capturing a numerical value (signal level) represented by the input CNT signal in synchronization with the rising edge of the CK96 signal, and generates the generated CNT ′ signal by the comparator 36 and the flip-flop 40. To enter. The flip-flop 40 generates a CNT "signal by capturing the numerical value represented by the input CNT 'signal in synchronization with the rising edge of the CK96 signal, and inputs the generated CNT" signal to the comparator 36. The CNT "signal is a signal delayed in phase by one cycle of the CK96 signal from the CNT 'signal.
[0022]
In addition to the CNT signal, the CNT ′ signal, and the CNT ”signal, the comparator 36 receives the above-described control signal from the CPU 12 and an ACK signal generation circuit 30 for activating the operation of the comparator 36. An L ″ CMPE (Comparator Enable) signal is input.
[0023]
The comparator 36 is instructed by the control signal from the CPU 12 to write data, and when the level of the CMPE signal is “L” level, the numerical value represented by the CNT signal and the numerical value represented by the CNT ′ signal Are output, and a COMP (Comparison) signal representing the comparison result is output. On the other hand, when the data reading is instructed by the control signal from the CPU 12 and the level of the CMPE signal is “L” level, the comparator 36 is represented by the numerical value represented by the CNT ′ signal and the CNT ”signal. Compared with the numerical value and outputs the COMP signal Note that when the comparison result by the comparator 36 indicates coincidence, the level of the COMP signal becomes “H” level, and when the comparison result indicates disagreement, the level of the COMP signal is When the CMPE signal level is “H” level, the operation of the comparator 36 is disabled and the COMP signal level is “L” level.
[0024]
The CKE signal generation circuit 42 includes an inverting circuit 70 and a flip-flop 72 as shown in FIG. The COMP signal input from the comparator 36 is subjected to level inversion processing in the inversion circuit 70 and then input to the flip-flop 72. The flip-flop 72 generates the CKE signal by capturing the level of the signal after the level inversion in synchronization with the CK96 signal. The generated CKE signal is input to the SDRAM 14 via the control bus 62. The CKE signal is used to temporarily disable the operation of the CK96 signal in the SDRAM 14 as will be described later.
[0025]
At the time of data writing, data WD (Write Data) to be written is output from the CPU 12. This data WD is input to the flip-flop group 44 in the memory controller 16, where phase delay processing for one cycle of the CK64 signal is performed, and then input to the flip-flop group 46. The flip-flop group 46 captures the value of the delayed data WD ′ input from the flip-flop group 44 (the signal level of each bit) in synchronization with the CK96 signal. The data WD "processed by the flip-flop group 46 is input to the flip-flop group 48, where phase delay processing for one cycle of the CK96 signal is performed, and then the interface circuit 24 (output gate 24a) and the data The data is input to the SDRAM 14 via the bus 64.
[0026]
On the other hand, when reading data, the data SD read from the SDRAM 14 is input to the flip-flop group 50 via the data bus 64 and the interface circuit 24 (input gate 24b). The flip-flop group 50 delays the phase of the input data SD by one cycle of the CK96 signal, and then inputs the delayed data SD ′ to the flip-flop group 52. The flip-flop group 52 takes in the value of the input data SD ′ in synchronization with the CK64 signal, and the data RD processed by the flip-flop group 52 is input to the CPU 12. Note that the Ready signal is supplied from the above-described Ready signal generation circuit 32 to the flip-flop group 52, and the flip-flop 52 outputs the data RD only when the level of the Ready signal is “H” level. .
[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 CPU 12, the level of the ACK signal shown in FIG. 3B is “H” at a certain time t1 in synchronization with the rising edge of the CK96 signal shown in FIG. It changes from “level” to “L” level. Then, after the level of this ACK signal becomes “L” level, the level of the Ready signal changes from “L” level to “H” level at the first rising time t2 of the CK64 signal shown in FIG. To do.
[0028]
At this time t2, the level of the Ready signal becomes “H” level, whereby the CPU 12 starts to transfer the data WD to be written shown in FIG. The data WD is continuously transferred by a predetermined amount (D0 to D7) in synchronization with the CK64 signal, that is, burst transferred. Although not shown in the figure, the address signal corresponding to the data WD is transferred from the CPU 12 to the memory controller 16 along with the transfer of the data WD.
[0029]
Further, at the time t2, the counting operation by the counter 34 is started. As a result, as shown in FIG. 3F, a CNT signal that repeatedly and alternately represents the values “1” and “2” is generated in synchronization with the rising edge of the CK64 signal. This CNT signal is processed by the flip-flop 38, thereby generating a CNT ′ signal as shown in FIG. That is, the CNT ′ signal is a signal obtained by capturing the value of the CNT signal updated in synchronization with the CK64 signal in synchronization with the CK96 signal, which is a signal having a frequency 1.5 times that of the CK64 signal. The value represented by the CNT ′ signal becomes the same value as the previous cycle every two cycles of the CK96 signal. Therefore, the value represented by the CNT ′ signal is repeatedly updated in the order of “1” → “1” → “2” in synchronization with the rising edge of the CK96 signal.
[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 comparator 36 is started. As described above, the comparator 36 compares the CNT signal and the CNT ′ signal at the time of data writing, and the comparison result COMP signal is a signal as shown in FIG. In FIG. 3, the rise or fall timing of the COMP signal coincides with the rise or fall timing of the CK96 signal. However, in actuality, the rise or fall timing of the COMP signal is CK96. The signal is delayed by a time corresponding to the processing speed of the comparator 36 from the rising or falling timing of the signal.
[0031]
This COMP signal is input to the CKE signal generation circuit 42, thereby generating a CKE signal as shown in FIG. Here, paying attention to the relationship between the CKE signal and the CNT ′ signal when the level of the CMPE signal is the “L” level, the value represented by the CNT ′ signal in a certain cycle of the CK96 signal is the value of the certain cycle. When the value represented by the CNT ′ signal is the same as the value represented by the CNT ′ signal in the previous cycle, that is, when the value represented by the CNT ′ signal is the same for two cycles of the CK96 signal, the level of the CKE signal is set to the “L” level. Become. This CKE signal is input to the SDRAM 14 via the control bus 62. Although not understood from FIG. 3, the rising or falling timing of the CKE signal is slightly delayed from the rising or falling timing of the CK96 signal.
[0032]
As described above, the SDRAM 14 operates in synchronization with the CK96 signal. However, when the level of the CKE signal is “L” level, the operation of the SDRAM 14 is disabled. Specifically, in the SDRAM 14, as shown in FIGS. 3J and 3K, when the level of the CKE signal is “L” level at the rising edge of the CK96 signal, the next CK96 is set. The rising edge of the signal (pulse indicated by dotted line 80) is masked. That is, in the SDRAM 14, the rising edge of the CK96 signal is masked every two cycles. Data is not written to the SDRAM 14 during this masked period.
[0033]
On the other hand, the data WD to be written is processed by the flip-flop group 44, thereby generating data WD ′ whose phase is delayed by one cycle of the CK64 signal as compared with the data WD as shown in FIG. . The data WD ′ is processed by the flip-flop group 46, thereby generating data WD ″ as shown in FIG. 3 (n). That is, the data WD ″ is updated in synchronization with the CK64 signal. Since the contents of WD ′ (D0 to D7) are data captured in synchronization with the CK96 signal which is a signal having a frequency 1.5 times that of the CK64 signal, the contents of the data WD ″ are two cycles of the CK96 signal. Every other content is the same as the previous period (D1, D3, D5 and D7).
[0034]
Since this data WD ″ is further subjected to the phase delay processing for one cycle of the CK96 signal by the flip-flop group 48, the data SD as shown in FIG. 3 (o) is input to the SDRAM 14. Since the data SD is input to the SDRAM 14 via the interface circuit 24 and the data bus 64, the timing of the data SD is correspondingly higher than the rising timing of the CK96 signal, as shown exaggeratedly in FIG. Be late.
[0035]
Thus, the content of the data SD input to the SDRAM 14 becomes the same content (D1, D3, D5 and D7) as the previous cycle every two cycles of the CK96 signal, but the operation of the CK96 signal is synchronized with this timing. Since only one period is disabled, the same contents are not written to the SDRAM 14 redundantly. Therefore, the data SD (D0 to D7) is appropriately written at the originally scheduled address.
[0036]
Note that at the time t4 when a predetermined amount of data WD is output from the CPU 12, the level of the Ready signal returns from the "H" level to the "L" level. Then, after one cycle of the CK64 signal from this time t4, at the first rising time t5 of the CK96 signal, the level of the ACK signal returns from the “L” level to the “H” level. At the same time, the level of the CMPE signal also changes from the “L” level to the “H” level. Then, at time t6 when the CK64 signal first rises after time t5, the counting operation by the counter 34 is stopped, and a series of writing operations is completed.
[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 CPU 12, the level of the ACK signal shown in FIG. 4B is “H” at a certain time t11 in synchronization with the rising edge of the CK96 signal shown in FIG. It changes from “level” to “L” level. Although not shown in the figure, the CPU 12 outputs an address signal for designating an address of data to be read out together with the output of the control signal.
[0038]
After the level of the ACK signal becomes “L” level, the counting operation by the counter 34 is started at the rising edge t12 at the beginning of the CK64 signal shown in FIG. 4C, and as shown in FIG. In synchronization with the rising edge of the CK64 signal, a CNT signal that alternately represents the values “1” and “2” is generated. This CNT signal is processed by the flip-flop 38, whereby a CNT ′ signal similar to that shown in FIG. 3G is generated as shown in FIG. Further, this CNT ′ signal is processed by the flip-flop 40, thereby generating a CNT ”signal whose phase is delayed by one cycle of the CK96 signal from the CNT ′ signal, as shown in FIG. 4 (f).
[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 comparator 36 compares the CNT ′ signal and the CNT ″ signal at the time of data reading, the COMP signal as a comparison result is a signal as shown in FIG.
[0040]
This COMP signal is input to the CKE signal generation circuit 42, whereby a CKE signal as shown in FIG. 4 (i) is generated. Here, paying attention to the relationship between the CKE signal and the CNT ”signal when the level of the CMPE signal is“ L ”level, the value represented by the CNT” signal in a certain cycle of the CK96 signal is the value of the certain cycle. When the value represented by the CNT "signal is the same as the value represented by the CNT" signal in the previous cycle, that is, when the value represented by the CNT "signal is the same over two cycles of the CK96 signal, the level of the CKE signal is set to the" L "level. Become. This CKE signal is input to the SDRAM 14 via the control bus 62.
[0041]
In the SDRAM 14, as shown by a dotted line 82 in FIG. 4J, the rising edge of the CK96 signal is masked at the next timing when the level of the CKE signal becomes “L” level. That is, the rising edge of the CK96 signal is masked every two cycles. The data SD read from the SDRAM 14 in synchronism with the rising edge of the CK96 signal is data as shown in FIG. That is, after one data D0 is read in synchronization with the rising edge of the CK96 signal, the next data D1 is continuously read over two cycles of the CK96 signal, and the subsequent data D2 to D7 have the same timing. Is read out. In FIG. 4 (k), data D8 to DB other than the read target are also read from the SDRAM 14, but these data D8 to DB are invalidated (by the flip-flop group 52) in the middle as will be described later. It is said.
[0042]
The data SD read from the SDRAM 14 is processed by the flip-flop group 50, thereby generating data SD ′ whose phase is delayed by one cycle of the CK96 signal from the data SD as shown in FIG. Is done. The data SD ′ is processed by the flip-flop group 52 to become data RD whose contents are updated in synchronization with the rising edge of the CK64 signal as shown in FIG. 4 (n). The data RD is transferred to the CPU 12.
[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-flop group 52 as described above, and the operation of the flip-flop group 52 is validated only when the level of the Ready signal is “H” level. Therefore, the data D8 to DB other than the read target are disabled and are not transferred to the CPU 12.
[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 counter 34 is stopped, and a series of reading operations is completed.
[0046]
As can be seen from the above description, in the memory controller 16, the counter 34 performs a counting operation in synchronization with the CK64 signal, and the count value by the counter 34 is taken in synchronization with the CK96 signal. When the fetched value becomes the same value continuously over two cycles of the CK96 signal, the data write operation to the SDRAM 14 or the data read operation from the SDRAM 14 is stopped. Therefore, the same data is not continuously written to the SDRAM 14 or the same data is not continuously read from the SDRAM 14, and an appropriate access operation can be realized. In addition, since the burst transfer between the CPU 12 and the SDRAM 14 is possible without the buffer 5 as in the prior art described above, an access operation faster than the conventional one can be realized.
[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 CPU 12 and the SDRAM 14 are not limited to the values described in this embodiment.
[0049]
Further, although the CPU 12, the memory controller 16, and the interface circuit 24 are integrally formed by the ASIC 22, they may be individually configured.
[0050]
At the time of writing data from the CPU 12 to the SDRAM 14, the CKE signal is generated based on the comparison result between the CNT signal and the CNT ′ signal by the comparator 36. However, the present invention is not limited to this. For example, the CKE signal may be generated based on the comparison result of the CNT ′ signal and the CNT ″ signal at the time of data writing as well as at the time of data reading. And the CNT ′ signal may be generated based on the comparison result, and the CKE signal may be generated by a circuit configuration other than that described in this embodiment.
[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クロックに応答してバースト転送されるデータの書き込み/読み出しのために前記第1クロックよりも高速の第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.
JP2002138838A 2002-05-14 2002-05-14 Memory access circuit Expired - Fee Related JP3744880B2 (en)

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)

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

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