Nothing Special   »   [go: up one dir, main page]

JP2003050739A - Memory controller - Google Patents

Memory controller

Info

Publication number
JP2003050739A
JP2003050739A JP2001238364A JP2001238364A JP2003050739A JP 2003050739 A JP2003050739 A JP 2003050739A JP 2001238364 A JP2001238364 A JP 2001238364A JP 2001238364 A JP2001238364 A JP 2001238364A JP 2003050739 A JP2003050739 A JP 2003050739A
Authority
JP
Japan
Prior art keywords
delay
delay value
value
delay amount
data
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.)
Pending
Application number
JP2001238364A
Other languages
Japanese (ja)
Inventor
Daisuke Kondo
大輔 近藤
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2001238364A priority Critical patent/JP2003050739A/en
Publication of JP2003050739A publication Critical patent/JP2003050739A/en
Pending legal-status Critical Current

Links

Landscapes

  • Memory System (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a memory controller for exact read of data recorded in a DRAM by high speed clocks at all times. SOLUTION: The memory controller is provided with a delay quantity retrieval mode and a delay quantity establishment mode, with no read request of the data in the DRAM and in the delay quantity retrieval mode. A delay quantity control part successively outputs a plurality of first delay values, a delay quantity adjusting part generates a fetch clock which is delayed by the first delay value, a read data register fetches the data in the DRAM in accordance with the fetch clock, the delay quantity control part determines the first optimal delay value, based on whether or not the data fetched by the read data register is proper, stores the first optimal delay value as a second delay value and the delay quantity adjusting part generates a fetch clock delayed by a second delay value, when the read request of the data of the DRAM exists or in the delay quantity establishment mode.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【発明の属する技術分野】本発明は、メモリ制御装置に
関するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a memory control device.

【0002】[0002]

【従来の技術】従来、DRAMに記録されているデータ
をリードレジスタに取り込むタイミングに関するメモリ
制御装置として、特願2000−193464に記載さ
れたものが知られている。
2. Description of the Related Art Conventionally, as a memory control device relating to the timing of loading data recorded in a DRAM into a read register, a device described in Japanese Patent Application No. 2000-193464 is known.

【0003】従来例のメモリ制御装置及びそのメモリ制
御装置におけるリードデータの格納タイミングを決定す
る例について、図5と図6を用いて説明する。図5にお
いて501はメモリ制御装置、102はDRAM、10
3はDRAM102にアクセスする外部装置である。メ
モリ制御装置501は、基準クロック生成部511、リ
ードデータレジスタ512、入出力部513、比較部5
14、比較用データレジスタ515、遅延量制御部51
6、遅延量調節部517を有する。遅延量調節部517
は、多段遅延部541、セレクタ542を有する。
A conventional memory control device and an example of determining read data storage timing in the memory control device will be described with reference to FIGS. 5 and 6. In FIG. 5, 501 is a memory control device, 102 is a DRAM, and 10
An external device 3 accesses the DRAM 102. The memory control device 501 includes a reference clock generation unit 511, a read data register 512, an input / output unit 513, and a comparison unit 5.
14, comparison data register 515, delay amount control unit 51
6. It has a delay amount adjusting unit 517. Delay amount adjustment unit 517
Has a multistage delay unit 541 and a selector 542.

【0004】メモリ制御装置501の説明をする。基準
クロック生成部511は、遅延値0の基準クロックを多
段遅延部541に出力する。DRAM102は基準クロ
ックに従ってリードデータを出力する。リードデータレ
ジスタ512は、取り込みクロックに従いDRAM10
2からリードデータを読み込み入出力部513に出力す
る。入出力部513は外部装置103から送られたデー
タを入力してライトデータレジスタ(DRAMへの書き
込み用レジスタ。図示していない)に伝送し、リードデ
ータレジスタ512が出力したデータを入力し、外部装
置に伝送する。後述する遅延量検索モードにおいては、
入出力部513はリードデータを出力しない。比較部5
14は、読み込みテスト時にDRAM102から読み込
んだテスト値と、比較用データレジスタ515に格納さ
れているテスト値を比較し、正しくデータが読み込まれ
たか否か判定し、判定結果(比較結果)を遅延量制御部
516に伝送する。比較用データレジスタ515は、読
み込みテスト用のテスト値を格納する。遅延量制御部5
16は、比較部514から比較結果を入力し、遅延量調
節部517のセレクタ542に出力する。多段遅延部5
41は基準クロックを入力し、異なった遅延値を持つ複
数の取り込みクロックをセレクタ542に出力する。セ
レクタ542は入力される複数の取り込みクロックの中
から、遅延量制御部516が出力した遅延値を持つ取り
込みクロックを選択し、リードデータレジスタ512に
出力する。
The memory controller 501 will be described. The reference clock generation unit 511 outputs the reference clock having the delay value of 0 to the multi-stage delay unit 541. The DRAM 102 outputs read data according to the reference clock. The read data register 512 sets the DRAM 10 according to the fetch clock.
The read data is read from No. 2 and output to the input / output unit 513. The input / output unit 513 inputs the data sent from the external device 103, transmits the data to a write data register (a register for writing to DRAM, not shown), inputs the data output from the read data register 512, and outputs the data to the outside. Transmit to device. In the delay amount search mode described later,
The input / output unit 513 does not output read data. Comparison unit 5
Reference numeral 14 compares the test value read from the DRAM 102 at the time of the read test with the test value stored in the comparison data register 515, determines whether or not the data is correctly read, and determines the determination result (comparison result) by the delay amount. It is transmitted to the control unit 516. The comparison data register 515 stores the test value for the read test. Delay amount control unit 5
16 receives the comparison result from the comparison unit 514 and outputs it to the selector 542 of the delay amount adjustment unit 517. Multi-stage delay unit 5
Reference numeral 41 inputs the reference clock and outputs a plurality of fetched clocks having different delay values to the selector 542. The selector 542 selects a capture clock having the delay value output by the delay amount control unit 516 from the plurality of input capture clocks and outputs it to the read data register 512.

【0005】以上のように構成された従来例のメモリ制
御装置について、以下その動作を説明する。メモリ制御
装置501は最適の遅延量を検索する遅延量検索モード
と、確定した遅延量(最適の遅延量)で基準クロックを
遅延させる遅延量確定モードとを有する遅延量検索モー
ドにおけるメモリ制御装置501の動作を説明する。始
めにDRAM102にテスト値を書き込み、比較用デー
タレジスタ515に同じ値のテスト値を格納する。遅延
量制御部516は最初の遅延値として0が設定されてお
り、遅延値0を遅延量調節部517のセレクタ542に
出力する。多段遅延部541は、基準クロック生成部5
11から基準クロックを入力し、異なる遅延値を持った
複数の取り込みクロックを生成し、セレクタ542に出
力する。セレクタ542は入力された複数の取り込みク
ロックの中から、遅延値0の取り込みクロックを選択
し、リードデータレジスタ512に出力する。リードデ
ータレジスタ512は、遅延値0の取り込みクロックに
従い、DRAM102から書き込んだテスト値を読み込
む。
The operation of the conventional memory control device configured as described above will be described below. The memory control device 501 has a delay amount search mode for searching an optimum delay amount and a delay amount search mode for delaying a reference clock with a fixed delay amount (optimal delay amount). The operation of will be described. First, a test value is written in the DRAM 102, and the same test value is stored in the comparison data register 515. The delay amount control unit 516 is set to 0 as the first delay value, and outputs the delay value 0 to the selector 542 of the delay amount adjusting unit 517. The multi-stage delay unit 541 includes the reference clock generation unit 5
The reference clock is input from 11 to generate a plurality of fetched clocks having different delay values and output to the selector 542. The selector 542 selects a fetch clock having a delay value of 0 from the plurality of input fetch clocks and outputs it to the read data register 512. The read data register 512 reads the written test value from the DRAM 102 in accordance with the fetch clock of the delay value 0.

【0006】比較部514はその読み込まれた値と、比
較用データレジスタ515に格納されているテスト値を
比較する。リードデータが確定している期間内に取り込
みクロックが設定されていた場合はリードデータレジス
タ512に正しい値が読み込まれ、リードデータが確定
していない期間に取り込みクロックが設定されていた場
合はリードデータレジスタ512には間違った値が読み
込まれる。比較部514は、両者が一致しているかどう
か確認した後、当該比較結果を遅延量制御部516に送
る。遅延量制御部516は遅延値を1段階増やし、遅延
値1を遅延量調節部517のセレクタ542に出力す
る。セレクタ542は多段遅延部541から入力された
複数の取り込みクロックの中から、遅延値1の取り込み
クロックを選択し、リードデータレジスタ512に出力
する。
The comparison unit 514 compares the read value with the test value stored in the comparison data register 515. If the capture clock is set within the period when the read data is confirmed, a correct value is read into the read data register 512, and if the capture clock is set during the period when the read data is not confirmed, the read data is read. The wrong value is read into the register 512. The comparison unit 514 sends the comparison result to the delay amount control unit 516 after confirming whether the two match. The delay amount control unit 516 increases the delay value by one step and outputs the delay value 1 to the selector 542 of the delay amount adjusting unit 517. The selector 542 selects a fetch clock having a delay value of 1 from a plurality of fetch clocks input from the multi-stage delay unit 541 and outputs it to the read data register 512.

【0007】以降同様の動作を行い、各遅延値ごとにリ
ードデータを正しく読めるか否かテストする。従来例の
メモリ制御装置の遅延量制御装置は遅延値0〜7を順次
遅延量調節部517に伝送する。図6はDRAMからの
リードデータの出力タイミングと取り込みクロックのタ
イミング(リードデータレジスタ512は、取り込みク
ロックの立ち上がりエッジでリードデータを読み込
む。)との関係を示すタイミングチャートである。図6
において601と602との間の期間においてリードデ
ータが確定しており、それ以外の期間においてリードデ
ータは確定していない。その結果正しく読めたときの遅
延値、つまり図6のリードデータが確定している期間に
立ち上がりエッジを有する取り込みクロックの遅延値
は、ある範囲を持つことになる(図6の例では遅延値2
から6)。遅延量制御部516はその範囲の中で中心と
なるような遅延値(図6の例だと4)を最適の遅延値と
して設定する。
Thereafter, the same operation is performed to test whether or not the read data can be correctly read for each delay value. The delay amount control device of the conventional memory control device sequentially transmits the delay values 0 to 7 to the delay amount adjusting unit 517. FIG. 6 is a timing chart showing the relationship between the read data output timing from the DRAM and the fetch clock timing (the read data register 512 reads the read data at the rising edge of the fetch clock). Figure 6
In 601 and 602, the read data is confirmed, and in the other periods, the read data is not confirmed. As a result, the delay value when correctly read, that is, the delay value of the capture clock having the rising edge in the period when the read data in FIG. 6 is fixed has a certain range (the delay value 2 in the example of FIG. 6).
To 6). The delay amount control unit 516 sets a delay value (4 in the example of FIG. 6) that is the center of the range as the optimum delay value.

【0008】次に遅延量確定モードにおけるメモリ制御
装置501の動作を説明する。遅延量確定モードにおい
ては、遅延量制御部516は、設定された最適の遅延値
を出力する。遅延量調節部517は基準クロックを最適
の遅延値だけ遅延させた取り込みクロックを生成する。
リードデータレジスタ512は当該取り込みクロックで
DRAM102からのリードデータを読み込む。このこ
とで配線遅延等で多少リードデータが確定している期間
が前後しても、確実にリードデータを取り込むことが可
能となる。この遅延量調節処理は、電源投入時やDRA
Mが使用されていない時間に実行し、あるいはCPU等
が任意のタイミングで起動することができる。DRAM
102に記録されているデータをリードする場合、高速
ページモードをサポートしたDRAMやシンクロナスD
RAMなどを使用しデータの転送速度を速めようとする
と、リードデータがデータバス上に確定している時間が
短くなる。その確定している時間にリードデータを取り
込まなくてはならない。またリードデータの取り込みタ
イミングが固定されていた場合、温度変化等で配線遅延
が生じデータバス上でリードデータが確定していない期
間に取り込みタイミングが設定される可能性が生じる。
メモリ制御装置はそこで遅延量制御部516及び遅延量
調節部517を用いてリードデータの取り込みタイミン
グを調節できるようにしている。
Next, the operation of the memory control device 501 in the delay amount fixing mode will be described. In the delay amount confirmation mode, the delay amount control unit 516 outputs the set optimum delay value. The delay amount adjusting unit 517 generates a fetched clock by delaying the reference clock by an optimum delay value.
The read data register 512 reads the read data from the DRAM 102 at the fetch clock. As a result, the read data can be reliably captured even before or after the period when the read data is settled to some extent due to wiring delay or the like. This delay amount adjustment processing is performed when the power is turned on or DRA
It can be executed when M is not used, or the CPU or the like can be started at any timing. DRAM
When reading the data recorded in 102, DRAM or synchronous D that supports the high-speed page mode
If an attempt is made to increase the data transfer rate by using a RAM or the like, the time during which the read data is fixed on the data bus becomes shorter. The read data must be fetched at the fixed time. If the read data fetching timing is fixed, wiring delay may occur due to temperature change or the like, and the fetch timing may be set during the period when the read data is not fixed on the data bus.
Therefore, the memory control device uses a delay amount controller 516 and a delay amount adjuster 517 to adjust the read data fetch timing.

【0009】[0009]

【発明が解決しようとする課題】メモリ制御装置は、電
源投入時に遅延量調節処理を必ず行う必要があるが、そ
れ以降は任意のタイミングで遅延量調節処理を行う。し
かし遅延量調節処理中に外部装置がDRAMにリードア
クセスした場合、従来のメモリ制御装置においては、上
記遅延量検索処理中のいずれかの遅延量(図6において
は、遅延値0〜7のいずれか)でリードデータレジスタ
112がDRAM102からのリードデータを取り込ん
だ。リードアクセスした時のタイミングにおいて遅延値
が0又は7等に設定されていればリードデータレジスタ
112は取り込みエラーを生じた。あるいは遅延量調節
処理が終了し、最適な遅延値が確定するまで外部装置の
DRAMへのリードアクセス要求の受け入れを遅らす必
要があった本発明は遅延量調節処理中に外部装置がDR
AMにリードアクセスした場合にも、確実に正しいデー
タを読み出して出力するメモリ制御装置を提供すること
を目的とする。遅延量調節処理においてリードデータが
確定している時間が短い場合は、設定できる遅延値をよ
り細かく調節する必要がある。一定範囲の先端から後端
まで遅延値1つ1つに対してDRAMからデータを正し
く読み出せるか否かを確認した場合、最適の遅延値を検
索して決定するのにある程度の時間を必要としてしま
う。本発明は短い時間で最適の遅延値を検索して決定す
るメモリ制御装置を提供することを目的とする。
The memory control device must always perform the delay amount adjustment process when the power is turned on, but after that, the delay amount adjustment process is performed at an arbitrary timing. However, when the external device makes a read access to the DRAM during the delay amount adjusting process, in the conventional memory control device, any one of the delay amounts during the delay amount searching process (in FIG. The read data register 112 fetches the read data from the DRAM 102. If the delay value is set to 0, 7 or the like at the timing of the read access, the read data register 112 has an acquisition error. Alternatively, it is necessary to delay the acceptance of the read access request to the DRAM of the external device until the delay amount adjusting process is completed and the optimum delay value is determined.
An object of the present invention is to provide a memory control device that surely reads and outputs correct data even when the AM is read-accessed. If the time during which the read data is fixed in the delay amount adjustment processing is short, it is necessary to finely adjust the delay value that can be set. When it is confirmed whether the data can be correctly read from the DRAM for each delay value from the leading end to the trailing end of a certain range, it takes some time to search and determine the optimum delay value. I will end up. It is an object of the present invention to provide a memory control device that searches and determines an optimum delay value in a short time.

【0010】[0010]

【課題を解決するための手段】上記課題を解決するた
め、本発明は以下の構成を有する。請求項1の本発明
は、基準クロックを生成する基準クロック生成部と、取
り込みクロックの遅延値を出力する遅延量制御部と、前
記基準クロック及び前記遅延値を入力し、前記基準クロ
ックを前記遅延値だけ遅延させた取り込みクロックを生
成する遅延量調節部と、前記取り込みクロックに従いD
RAMのデータを読み込むリードデータレジスタと、前
記リードデータレジスタのデータを外部に出力する入出
力部と、読み込みテスト用のデータを格納する比較用デ
ータレジスタと、読み込みテスト時に、前記リードデー
タレジスタに読み込んだデータと、前記比較用データレ
ジスタに格納されているデータとを比較し、比較した結
果を出力するする比較部と、を有し、遅延量検索モード
と、遅延量確定モードと、を有し、前記遅延量制御部
は、複数の遅延値の中から一つの遅延値を選択し、選択
した第1の遅延値を出力する最適遅延量検索部と、確定
した遅延値である第2の遅延値を記憶する最適遅延量記
憶部と、前記第1の遅延値と前記第2の遅延値との中か
ら一つを選択し、前記遅延量調節部に出力するセレクタ
とを有し、外部からDRAMのデータの読み出し要求が
ない時であって且つ前記遅延量検索モードにおいては、
前記最適遅延量検索部は複数の前記第1の遅延値を順次
出力し、前記セレクタは前記第1の遅延値を選択して出
力し、前記遅延量調節部は前記第1の遅延値だけ遅延し
た取り込みクロックを生成し、前記リードデータレジス
タは前記取り込みクロックに従ってDRAMのデータを
取り込み、前記比較部は前記リードデータレジスタが取
り込んだデータと前記比較用データレジスタに格納され
たデータとを比較してその比較結果を出力し、前記遅延
量制御部は前記比較結果に基づいて複数の前記第1の遅
延値の中から最適の前記第1の遅延値を決定し、前記最
適遅延量記憶部は最適の前記第1の遅延値を前記第2の
遅延値として記憶し、外部からDRAMのデータの読み
出し要求がある時又は前記遅延量確定モードにおいて
は、前記セレクタは前記第2の遅延値を選択して出力す
る、ことを特徴とするメモリ制御装置である。
In order to solve the above problems, the present invention has the following constitution. According to the present invention of claim 1, a reference clock generation unit that generates a reference clock, a delay amount control unit that outputs a delay value of a fetched clock, the reference clock and the delay value are input, and the reference clock is delayed. A delay amount adjusting unit for generating a capture clock delayed by a value, and D according to the capture clock.
A read data register for reading the data in the RAM, an input / output unit for outputting the data in the read data register to the outside, a comparison data register for storing the data for the read test, and a read data register for the read test. Data is compared with the data stored in the comparison data register, and a comparison unit that outputs the comparison result is provided, and a delay amount search mode and a delay amount confirmation mode are provided. The delay amount control unit selects one delay value from a plurality of delay values and outputs the selected first delay value, and an optimum delay amount search unit and a second delay that is a confirmed delay value. An optimum delay amount storage unit that stores a value; and a selector that selects one from the first delay value and the second delay value and outputs the value to the delay amount adjustment unit. In an in the absence RAM read request for data and the delay search mode,
The optimum delay amount searching unit sequentially outputs a plurality of the first delay values, the selector selects and outputs the first delay value, and the delay amount adjusting unit delays by the first delay value. The read data register fetches the data of the DRAM in accordance with the fetch clock, and the comparator compares the data fetched by the read data register with the data stored in the comparison data register. The comparison result is output, the delay amount control unit determines the optimum first delay value from the plurality of the first delay values based on the comparison result, and the optimum delay amount storage unit determines the optimum first delay value. The first delay value of is stored as the second delay value, and when there is an external DRAM data read request or in the delay amount confirmation mode, the selector Select the serial second delay value output, is a memory control device according to claim.

【0011】請求項2の本発明は、基準クロックを生成
する基準クロック生成部と、取り込みクロックの遅延値
を出力する遅延量制御部と、前記基準クロック及び前記
遅延値を入力し、前記基準クロックを前記遅延値だけ遅
延させた取り込みクロックを生成する遅延量調節部と、
前記取り込みクロックに従いDRAMのデータを読み込
むリードデータレジスタと、前記リードデータレジスタ
のデータを外部に出力する入出力部と、読み込みテスト
用のデータを格納する比較用データレジスタと、読み込
みテスト時に、前記リードデータレジスタに読み込んだ
データと、前記比較用データレジスタに格納されている
データとを比較し、比較結果を出力する比較部と、を有
し、遅延量検索モードと、遅延量確定モードと、を有
し、前記遅延量制御部は、複数の遅延値の中から一つの
遅延値を選択し、選択した第1の遅延値を出力する最適
遅延量検索部と、確定した遅延値である第2の遅延値を
記憶する最適遅延量記憶部と、前記第1の遅延値と前記
第2の遅延値との中から一つを選択し、前記遅延量調節
部に出力するセレクタとを有し、前記遅延量検索モード
においては、前記最適遅延量検索部は複数の前記第1の
遅延値を順次出力し、前記セレクタは前記第1の遅延値
を選択して出力し、前記遅延量調節部は前記第1の遅延
値だけ遅延した取り込みクロックを生成し、前記リード
データレジスタは前記取り込みクロックに従ってDRA
Mのデータを取り込み、前記比較部は前記リードデータ
レジスタが取り込んだデータと前記比較用データレジス
タに格納されたデータとを比較してその比較結果を出力
し、前記遅延量制御部は前記比較結果に基づいて複数の
前記第1の遅延値の中から最適の前記第1の遅延値を決
定し、前記最適遅延量記憶部は最適の前記第1の遅延値
を前記第2の遅延値として記憶し、前記遅延量確定モー
ドにおいては、前記セレクタは前記第2の遅延値を選択
して出力し、前記遅延量検索モードにおいて外部からD
RAMのデータの読み出し要求があった場合は、前記遅
延量検索モードが終了して前記遅延量確定モードになっ
た後に、前記DRAMのデータの読み出し要求に応じ
て、前記DRAMのデータを読み出して出力する、こと
を特徴とするメモリ制御装置である。
According to a second aspect of the present invention, a reference clock generation section for generating a reference clock, a delay amount control section for outputting a delay value of a fetched clock, the reference clock and the delay value are input, and the reference clock is input. A delay amount adjustment unit that generates a captured clock that is delayed by the delay value,
A read data register that reads the data of the DRAM in accordance with the fetch clock, an input / output unit that outputs the data of the read data register to the outside, a comparison data register that stores the data for the read test, and the read data register during the read test. A comparison unit that compares the data read in the data register with the data stored in the comparison data register and outputs a comparison result, and provides a delay amount search mode and a delay amount confirmation mode. The delay amount control unit selects one delay value from a plurality of delay values and outputs the selected first delay value, and an optimum delay amount search unit and a second delay value that is a confirmed delay value. Of the optimum delay amount storing unit for storing the delay value of No. 1, and one of the first delay value and the second delay value, and a select for outputting to the delay amount adjusting unit. In the delay amount search mode, the optimum delay amount search unit sequentially outputs the plurality of first delay values, and the selector selects and outputs the first delay value, The delay amount adjusting unit generates a fetch clock delayed by the first delay value, and the read data register follows the DRA according to the fetch clock.
The data of M is taken in, the comparison unit compares the data taken in by the read data register with the data stored in the comparison data register, and outputs the comparison result, and the delay amount control unit makes the comparison result. The optimum first delay value is determined from a plurality of the first delay values based on the above, and the optimum delay amount storage unit stores the optimum first delay value as the second delay value. However, in the delay amount confirmation mode, the selector selects and outputs the second delay value, and in the delay amount search mode, D selects from the outside.
When there is a request to read the data in the RAM, after the delay amount search mode ends and the delay amount confirmation mode is entered, the data in the DRAM is read and output in response to the data read request in the DRAM. And a memory control device.

【0012】請求項3の本発明はメモリ制御装置を請求
項1に記載のメモリ制御装置として動作させることと、
請求項2に記載のメモリ制御装置として動作させること
とを、外部から選択的に設定できることを特徴とするメ
モリ制御装置である。
The present invention according to claim 3 operates the memory control device as the memory control device according to claim 1,
The memory control device according to claim 2 can be selectively set from the outside to operate as the memory control device.

【0013】請求項4の本発明は、DRAMへのデータ
の書き込み処理中に、前記遅延量検索モードに設定して
最適の前記遅延値を検索することを特徴とする請求項1
又は請求項2に記載のメモリ制御装置である。
The present invention according to claim 4 is characterized in that, during the process of writing data to the DRAM, the delay amount search mode is set to search for the optimum delay value.
Alternatively, the memory control device according to claim 2.

【0014】本発明の請求項1から請求項4のメモリ記
憶装置は、遅延量調節処理を行う前に現在の最適の遅延
値を記憶しておき、遅延量調節処理を行う。その処理中
にブロックがDRAMに対してリードアクセスを要求し
てきた場合、遅延量検索処理中の遅延値でなく、確定さ
れた遅延値を用いてDRAMからのリード処理を行う。
そのアクセスが終了した時点で、遅延値を遅延量調節処
理中であった設定値に戻し、遅延量調節処理を再開す
る。遅延量調節処理終了後のリードアクセスではその新
しい遅延値を用いる。
The memory storage device according to any one of claims 1 to 4 of the present invention stores the current optimum delay value before performing the delay amount adjusting process and performs the delay amount adjusting process. When the block requests read access to the DRAM during the processing, the read processing from the DRAM is performed using the determined delay value instead of the delay value during the delay amount search processing.
When the access is completed, the delay value is returned to the setting value that was being subjected to the delay amount adjustment processing, and the delay amount adjustment processing is restarted. The new delay value is used for read access after the delay amount adjustment processing is completed.

【0015】請求項5の本発明は、基準クロックを生成
する基準クロック生成部と、粗調節用遅延値と、前記粗
調節用遅延値よりも細かく設定することが可能な、微調
節用遅延値を出力する遅延量制御部と、前記基準クロッ
ク並びに前記粗調節用遅延値及び前記微調節用遅延値を
入力し、前記基準クロックを前記粗調節用遅延値及び前
記微調節用遅延値だけ遅延させた取り込みクロックを生
成する遅延量調節部と、前記取り込みクロックに従いD
RAMのデータを読み込むリードデータレジスタと、前
記リードデータレジスタのデータを外部に出力する入出
力部と、読み込みテスト用のデータを格納する比較用デ
ータレジスタと、読み込みテスト時に、前記リードデー
タレジスタに読み込んだデータと、前記比較用データレ
ジスタに格納されているデータとを比較し、比較結果を
出力する比較部と、を有し、遅延量検索モードと、遅延
量確定モードと、を有し、前記遅延量制御部は、複数の
粗調節用遅延値から一つの遅延値を選択し、複数の微調
節用遅延値の中から一つの遅延値を選択し、選択した第
1の粗調節用遅延値及び第1の微調節用遅延値を出力す
る最適遅延量検索部と、確定した粗調節用遅延値及び微
調節用遅延値である第2の粗調節用遅延値及び第2の微
調節用遅延値を記憶する最適遅延量記憶部と、前記第1
の粗調節用遅延値及び前記第1の微調節用遅延値と前記
第2の粗調節用遅延値及び前記第2の微調節用遅延値と
の中から一つを選択し、前記遅延量調節部に出力するセ
レクタとを有し、前記遅延量検索モードにおいては、前
記最適遅延量検索部は複数の前記第1の粗調節用遅延値
及び一定の第1の微調節用遅延値を順次出力し、前記セ
レクタは前記第1の粗調節用遅延値及び前記第1の微調
節用遅延値を選択して出力し、前記遅延量調節部は前記
第1の粗調節用遅延値及び前記第1の微調節用遅延値だ
け遅延した取り込みクロックを生成し、前記リードデー
タレジスタは前記取り込みクロックに従ってDRAMの
データを取り込み、前記比較部は前記リードデータレジ
スタが取り込んだデータと前記比較用データレジスタに
格納されたデータとを比較してその比較結果を出力し、
前記遅延量制御部は前記比較結果に基づいて複数の前記
第1の粗調節用遅延値の中から最適の前記第1の粗調節
用遅延値を決定し、次に前記最適遅延量検索部は最適の
前記第1の粗調節用遅延値及び複数の第1の微調節用遅
延値を順次出力し、前記セレクタは前記第1の粗調節用
遅延値及び前記第1の微調節用遅延値を選択して出力
し、前記遅延量調節部は前記第1の粗調節用遅延値及び
前記第1の微調節用遅延値だけ遅延した取り込みクロッ
クを生成し、前記リードデータレジスタは前記取り込み
クロックに従ってDRAMのデータを取り込み、前記比
較部は前記リードデータレジスタが取り込んだデータと
前記比較用データレジスタに格納されたデータとを比較
してその比較結果を出力し、前記遅延量制御部は前記比
較結果に基づいて複数の前記第1の微調節用遅延値の中
から最適の前記第1の微調節用遅延値を決定し、前記最
適遅延量記憶部は最適の前記第1の粗調節用遅延値を前
記第2の粗調節用遅延値として記憶し、最適の前記第1
の微調節用遅延値を前記第2の微調節用遅延値として記
憶し、前記遅延量確定モードにおいては、前記セレクタ
は前記第2の粗調節用遅延値及び前記第2の微調節用遅
延値を選択して出力する、ことを特徴とするメモリ制御
装置である。
According to a fifth aspect of the present invention, a reference clock generator for generating a reference clock, a coarse adjustment delay value, and a fine adjustment delay value that can be set more finely than the coarse adjustment delay value. Inputting the reference clock, the coarse adjustment delay value and the fine adjustment delay value, and delaying the reference clock by the coarse adjustment delay value and the fine adjustment delay value. A delay amount adjusting section for generating a captured clock, and D according to the captured clock.
A read data register for reading the data in the RAM, an input / output unit for outputting the data in the read data register to the outside, a comparison data register for storing the data for the read test, and a read data register for the read test. The data stored in the comparison data register and outputs a comparison result, and a delay amount search mode and a delay amount confirmation mode. The delay amount control unit selects one delay value from the plurality of coarse adjustment delay values, selects one delay value from the plurality of fine adjustment delay values, and selects the selected first coarse adjustment delay value. And an optimum delay amount search unit that outputs a first fine adjustment delay value, a second coarse adjustment delay value and a second fine adjustment delay that are the determined coarse adjustment delay value and fine adjustment delay value. Write the value And an optimum delay amount storage unit that, the first
Of the coarse adjustment delay value and the first fine adjustment delay value, and the second coarse adjustment delay value and the second fine adjustment delay value, the delay amount adjustment In the delay amount search mode, the optimum delay amount search unit sequentially outputs a plurality of the first coarse adjustment delay values and a constant first fine adjustment delay value. Then, the selector selects and outputs the first coarse adjustment delay value and the first fine adjustment delay value, and the delay amount adjusting unit outputs the first coarse adjustment delay value and the first coarse adjustment delay value. Generates a fetch clock delayed by the fine adjustment delay value, the read data register fetches DRAM data according to the fetch clock, and the comparator stores the fetched data in the read data register and the comparison data register. Data It compares and outputs the comparison result,
The delay amount control unit determines an optimum first coarse adjustment delay value from a plurality of the first coarse adjustment delay values based on the comparison result, and then the optimum delay amount search unit The optimum first coarse adjustment delay value and a plurality of first fine adjustment delay values are sequentially output, and the selector outputs the first coarse adjustment delay value and the first fine adjustment delay value. The delay amount adjusting section selects and outputs the fetch clock delayed by the first coarse adjustment delay value and the first fine adjustment delay value, and the read data register DRAM according to the fetch clock. Of the data, the comparison unit compares the data received by the read data register with the data stored in the comparison data register and outputs the comparison result, and the delay amount control unit outputs the comparison result. Based on Of the first fine adjustment delay values, the optimum first fine adjustment delay value is determined, and the optimum delay amount storage unit outputs the optimum first coarse adjustment delay value to the second Stored as a delay value for coarse adjustment of
The fine adjustment delay value is stored as the second fine adjustment delay value, and in the delay amount confirmation mode, the selector is configured to cause the selector to select the second coarse adjustment delay value and the second fine adjustment delay value. Is selected and output.

【0016】請求項6の本発明は、前記遅延量検索モー
ドにおいて、前記最適遅延量検索部が複数の前記第1の
粗調節用遅延値及び一定の第1の微調節用遅延値を順次
出力し、複数の前記第1の粗調節用遅延値の中から最適
の前記第1の粗調節用遅延値を決定した時、最適の前記
第1の粗調節用遅延値及び一定の前記第1の微調節用遅
延値だけ遅延した前記取り込みクロックに従い前記リー
ドデータレジスタが安定してDRAMのデータを読み込
むと判断した場合は、前記最適遅延量記憶部は最適の前
記第1の粗調節用遅延値を前記第2の粗調節用遅延値と
して記憶し、一定の前記第1の微調節用遅延値を前記第
2の微調節用遅延値として記憶し、最適の前記第1の粗
調節用遅延値及び一定の前記第1の微調節用遅延値だけ
遅延した前記取り込みクロックに従っては前記リードデ
ータレジスタが安定してDRAMのデータを読み込めな
いと判断した場合は、次に前記最適遅延量検索部は最適
の前記第1の粗調節用遅延値及び複数の第1の微調節用
遅延値を順次出力し、前記セレクタは前記第1の粗調節
用遅延値及び前記第1の微調節用遅延値を選択して出力
し、前記遅延量調節部は前記第1の粗調節用遅延値及び
前記第1の微調節用遅延値だけ遅延した取り込みクロッ
クを生成し、前記リードデータレジスタは前記取り込み
クロックに従ってDRAMのデータを取り込み、前記比
較部は前記リードデータレジスタが取り込んだデータと
前記比較用データレジスタに格納されたデータとを比較
してその比較結果を出力し、前記遅延量制御部は前記比
較結果に基づいて複数の前記第1の微調節用遅延値の中
から最適の前記第1の微調節用遅延値を決定し、前記最
適遅延量記憶部は最適の前記第1の粗調節用遅延値を前
記第2の粗調節用遅延値として記憶し、最適の前記第1
の微調節用遅延値を前記第2の微調節用遅延値として記
憶することを特徴とする請求項5に記載のメモリ制御装
置である。
According to a sixth aspect of the present invention, in the delay amount search mode, the optimum delay amount search section sequentially outputs a plurality of the first coarse adjustment delay values and a constant first fine adjustment delay value. However, when the optimum first coarse adjustment delay value is determined from among the plurality of first coarse adjustment delay values, the optimum first coarse adjustment delay value and the constant first coarse adjustment delay value are determined. When it is determined that the read data register stably reads the data of the DRAM in accordance with the fetch clock delayed by the fine adjustment delay value, the optimum delay amount storage unit stores the optimum first coarse adjustment delay value. The second coarse adjustment delay value is stored as the second coarse adjustment delay value, the constant first fine adjustment delay value is stored as the second fine adjustment delay value, and the optimum first coarse adjustment delay value and The removal delayed by a constant first fine adjustment delay value. When it is determined that the read data register cannot stably read the data of the DRAM according to the clock, the optimum delay amount search unit then determines the optimum first rough adjustment delay value and a plurality of first coarse adjustment delay values. The fine adjustment delay value is sequentially output, the selector selects and outputs the first coarse adjustment delay value and the first fine adjustment delay value, and the delay amount adjusting unit outputs the first coarse adjustment delay value. A capture clock delayed by the adjustment delay value and the first fine adjustment delay value is generated, the read data register captures DRAM data in accordance with the capture clock, and the comparison unit captures the data captured by the read data register. And the data stored in the comparison data register are compared, and the comparison result is output, and the delay amount control unit is configured to output a plurality of the first delay signals based on the comparison result. The optimum first fine adjustment delay value is determined from among the adjustment delay values, and the optimum delay amount storage unit converts the optimum first coarse adjustment delay value into the second coarse adjustment delay value. Memorized as the best said first
6. The memory control device according to claim 5, wherein the fine adjustment delay value is stored as the second fine adjustment delay value.

【0017】本発明の請求項5、請求項6のメモリ記憶
装置は、遅延量調節部を2段階にし、2段目により細か
く設定できる遅延量調節部を設け、1段目はそれよりも
大きく遅延量調節できる遅延量調節部とする。つまり最
初に1段目の遅延量調節部で遅延量調節処理を行い、ほ
ぼ確実にDRAMからデータをリードできるポイントを
検索し、その後(必要に応じて)2段目の遅延量調節部
を用いてそのポイントの前後で遅延量調節処理を行う。
このことにより(短時間で)遅延量調節処理を行うこと
ができるようになり、その結果この遅延量調節処理を行
っているため外部装置がDRAMからデータを読み出す
ことができない時間も短縮できる。
In the memory storage device according to the fifth and sixth aspects of the present invention, the delay amount adjusting unit is provided in two stages, and the delay amount adjusting unit which can be finely set in the second stage is provided, and the first stage is larger than that. The delay amount adjusting unit is capable of adjusting the delay amount. That is, first, the delay amount adjusting unit of the first stage performs the delay amount adjusting process, and a point at which data can be almost certainly read from the DRAM is searched for. A delay amount adjustment process is performed before and after that point.
This makes it possible to perform the delay amount adjustment processing (in a short time), and as a result, since the delay amount adjustment processing is performed, the time during which the external device cannot read data from the DRAM can be shortened.

【0018】[0018]

【発明の実施の形態】以下本発明の実施をするための最
良の形態を具体的に示した実施例について図面ととのに
記載する。
BEST MODE FOR CARRYING OUT THE INVENTION Embodiments specifically showing the best mode for carrying out the present invention will be described below with reference to the drawings.

【0019】《実施例1》本発明の実施例1のメモリ制
御装置について図1、図2を用いて説明する。図1にお
いて101はメモリ制御装置、102はDRAM、10
3はDRAM102にアクセスする外部装置である。メ
モリ制御装置101は、基準クロック生成部111、リ
ードデータレジスタ112、入出力部113、比較部1
14、比較用データレジスタ115、遅延量制御部11
6、遅延量調節部117を有する。遅延量制御部116
は、最適遅延量検索部141、最適遅延量記憶部14
2、セレクタ143を有する。遅延量調節部117は、
多段遅延部151、セレクタ152を有する。
<< Embodiment 1 >> A memory controller according to Embodiment 1 of the present invention will be described with reference to FIGS. In FIG. 1, 101 is a memory control device, 102 is a DRAM, and 10
An external device 3 accesses the DRAM 102. The memory control device 101 includes a reference clock generation unit 111, a read data register 112, an input / output unit 113, and a comparison unit 1.
14, comparison data register 115, delay amount control unit 11
6. A delay amount adjusting unit 117 is included. Delay amount control unit 116
Is the optimum delay amount search unit 141 and the optimum delay amount storage unit 14
2. It has a selector 143. The delay amount adjustment unit 117
It has a multistage delay unit 151 and a selector 152.

【0020】メモリ制御装置101の説明をする。基準
クロック生成部111は、遅延値0の基準クロックを多
段遅延部151に出力する。DRAM102は基準クロ
ックに従ってリードデータを出力する。リードデータレ
ジスタ112は、取り込みクロックに従いDRAM10
2からリードデータを読み込み入出力部113に出力す
る。入出力部113は外部装置103から送られたデー
タを入力してライトデータレジスタ(DRAMへの書き
込み用レジスタ。図示していない)に伝送し、リードデ
ータレジスタ112が出力したデータを入力し、外部装
置に伝送する。後述する遅延量検索モードにおいては、
入出力部113はリードデータを出力しない。比較部1
14は、読み込みテスト時にDRAM102から読み込
んだテスト値と、比較用データレジスタ115に格納さ
れているテスト値を比較し、正しくデータが読み込まれ
たか否か判定し、判定結果(比較結果)を遅延量制御部
116に伝送する。比較用データレジスタ115は、読
み込みテスト用のテスト値を格納する。最適遅延量検索
部141は複数の遅延値を記憶しており、比較部114
から比較結果を入力し、遅延値をセレクタ143に出力
する。なお最適遅延量検索部141は、(後述する)遅
延量検索モードが終了しデータ読み込みのための最適の
遅延値を確定したときは、その遅延値を最適遅延量記憶
部142に登録しておく。最適遅延量記憶部142は前
回の遅延量検索モードで求められた最適の遅延値を記憶
しておき、その遅延値をセレクタ143に出力する。セ
レクタ143は最適遅延量検索部141及び最適遅延量
記憶部142から入力される2つの遅延値の内、1つを
選択し、遅延量調節部117のセレクタ152に出力す
る。多段遅延部151は基準クロックを入力し、異なる
遅延値を持つ複数の取り込みクロックをセレクタ152
に出力する。セレクタ152は入力される複数の取り込
みクロックの中から、セレクタ143が出力した遅延値
を持つ取り込みクロックを選択し、リードデータレジス
タ112に出力する。
The memory control device 101 will be described. The reference clock generation unit 111 outputs the reference clock having the delay value of 0 to the multi-stage delay unit 151. The DRAM 102 outputs read data according to the reference clock. The read data register 112 stores the DRAM 10 in accordance with the fetch clock.
The read data is read from No. 2 and output to the input / output unit 113. The input / output unit 113 inputs the data sent from the external device 103, transmits the data to a write data register (a register for writing to DRAM, not shown), inputs the data output from the read data register 112, and outputs the external data. Transmit to device. In the delay amount search mode described later,
The input / output unit 113 does not output read data. Comparison section 1
Reference numeral 14 compares the test value read from the DRAM 102 at the time of the read test with the test value stored in the comparison data register 115, determines whether or not the data is correctly read, and determines the determination result (comparison result) by the delay amount. It is transmitted to the control unit 116. The comparison data register 115 stores a test value for a read test. The optimum delay amount search unit 141 stores a plurality of delay values, and the comparison unit 114
The comparison result is input from and the delay value is output to the selector 143. The optimum delay amount search unit 141 registers the delay value in the optimum delay amount storage unit 142 when the delay amount search mode (described later) is finished and the optimum delay value for data reading is confirmed. . The optimum delay amount storage unit 142 stores the optimum delay value obtained in the previous delay amount search mode, and outputs the delay value to the selector 143. The selector 143 selects one of the two delay values input from the optimum delay amount search unit 141 and the optimum delay amount storage unit 142, and outputs it to the selector 152 of the delay amount adjusting unit 117. The multi-stage delay unit 151 inputs the reference clock and selects a plurality of fetch clocks having different delay values from the selector 152.
Output to. The selector 152 selects a capture clock having the delay value output by the selector 143 from the plurality of input capture clocks and outputs it to the read data register 112.

【0021】以上のように構成された本実施例のメモリ
制御装置について、以下その動作を説明する。メモリ制
御装置101は、最適の遅延量を検索する遅延量検索モ
ードと、確定した遅延量(最適の遅延量)で基準クロッ
クを遅延させる遅延量確定モードとを有する。遅延量検
索モード(外部装置からDRAMのデータの読み出し要
求がないものとする)におけるメモリ制御装置101の
動作を説明する。始めにDRAM102にテスト値を書
き込み、比較用データレジスタ115に同じ値のテスト
値を格納する。多段遅延部151は、基準クロック生成
部111から基準クロックを入力し、異なる遅延値を持
った複数の取り込みクロックを生成し、セレクタ152
に出力する。遅延値の初期値としては、0が設定されて
おり、最適遅延量検索部141は遅延値0をセレクタ1
43へ出力する。セレクタ143は最適遅延量検索部1
41が出力する遅延値を選択するよう設定されており、
最適遅延量検索部141が出力する遅延値0を遅延量調
節部117のセレクタ152に出力する。
The operation of the memory control device of this embodiment constructed as described above will be described below. The memory control device 101 has a delay amount search mode for searching for the optimum delay amount and a delay amount fixing mode for delaying the reference clock by the fixed delay amount (optimal delay amount). The operation of the memory control device 101 in the delay amount search mode (assuming that there is no DRAM device read request from an external device) will be described. First, the test value is written in the DRAM 102, and the test value having the same value is stored in the comparison data register 115. The multistage delay unit 151 receives the reference clock from the reference clock generation unit 111, generates a plurality of fetched clocks having different delay values, and selects the selector 152.
Output to. The initial value of the delay value is set to 0, and the optimum delay amount search unit 141 sets the delay value 0 to the selector 1
Output to 43. The selector 143 is the optimum delay amount search unit 1
41 is set to select the delay value output by
The delay value 0 output from the optimum delay amount searching unit 141 is output to the selector 152 of the delay amount adjusting unit 117.

【0022】セレクタ152は入力された複数の取り込
みクロックの中から、遅延値0の取り込みクロックを選
択し、リードデータレジスタ112に出力する。リード
データレジスタ112は、遅延値0の取り込みクロック
に従い、DRAM102に書き込んだテスト値を読み込
む。比較部114はその取り込まれた値と、比較用デー
タレジスタ115に格納されているテスト値を比較す
る。リードデータが確定している時間内に取り込みクロ
ックが設定されていた場合はリードデータレジスタ11
2に正しい値が読み込まれ、リードデータが確定してい
ない期間に取り込みクロックが設定されていた場合はリ
ードデータレジスタ112には間違った値が読み込まれ
る。比較部114は、両者が一致しているかどうか確認
した後、当該比較結果を最適遅延量検索部141に送
る。最適遅延量検索部141は、遅延値を1段階増やし
て遅延値1をセレクタ143に送る。セレクタ143は
最適遅延量検索部141が出力した遅延値1を選択し
て、遅延量調節部117のセレクタ152に出力する。
セレクタ152は多段遅延部151から入力された複数
の取り込みクロックの中から、遅延値1の取り込みクロ
ックを選択し、リードデータレジスタ112に出力す
る。
The selector 152 selects a fetch clock with a delay value of 0 from a plurality of input fetch clocks and outputs it to the read data register 112. The read data register 112 reads the test value written in the DRAM 102 according to the delay value 0 fetch clock. The comparison unit 114 compares the fetched value with the test value stored in the comparison data register 115. When the read clock is set within the time when the read data is fixed, the read data register 11
If the correct value is read into 2 and the fetch clock is set during the period when the read data is not fixed, the wrong value is read into the read data register 112. The comparison unit 114, after confirming whether the two match, sends the comparison result to the optimum delay amount search unit 141. The optimum delay amount search unit 141 increases the delay value by one step and sends the delay value 1 to the selector 143. The selector 143 selects the delay value 1 output by the optimum delay amount searching unit 141 and outputs it to the selector 152 of the delay amount adjusting unit 117.
The selector 152 selects a fetch clock having a delay value of 1 from a plurality of fetch clocks input from the multi-stage delay unit 151 and outputs it to the read data register 112.

【0023】以下遅延値を1つずつ増やして同様の処理
を行う。実施例1においては遅延量制御部116は遅延
値0〜4を順次遅延量調節部117に送る。図2はDR
AM102からのリードデータの出力タイミングと各遅
延値における取り込みクロックのタイミングとの関係を
示したタイミングチャートである。リードデータレジス
タ112は、取り込みクロックの立ち上がりエッジでリ
ードデータを読み込む。図2の取り込みクロック(遅延
値1〜3)に設定されている場合であれば、リードデー
タが確定している期間(201と202との間の期間)
に設定されていることになり、この期間内であればリー
ドデータレジスタ112に正しいデータを格納できるこ
とになる。遅延量制御部116はその範囲の中で中心と
なる遅延値(この場合、遅延値2)を最適の遅延値とし
て決定する。最適遅延量記憶部142は、当該最適の遅
延値(図2においては遅延値2)を記憶する。
Thereafter, the delay value is increased by one and the same processing is performed. In the first embodiment, the delay amount control unit 116 sequentially sends the delay values 0 to 4 to the delay amount adjustment unit 117. Figure 2 is DR
5 is a timing chart showing the relationship between the output timing of read data from the AM 102 and the timing of the fetch clock at each delay value. The read data register 112 reads the read data at the rising edge of the fetch clock. If it is set to the capture clock (delay value 1 to 3) of FIG. 2, the period during which the read data is fixed (the period between 201 and 202)
Therefore, correct data can be stored in the read data register 112 within this period. The delay amount control unit 116 determines the delay value (delay value 2 in this case) that is the center of the range as the optimum delay value. The optimum delay amount storage unit 142 stores the optimum delay value (delay value 2 in FIG. 2).

【0024】次に遅延量確定モードにおけるメモリ制御
装置101の動作を説明する。遅延量確定モードにおい
ては、遅延量制御部116のセレクタ143は、最適遅
延量記憶部142が出力する確定した遅延値(最適の遅
延値)を選択し、遅延量調節部117のセレクタ152
に伝送する。セレクタ152は、基準クロックを最適の
遅延値だけ遅延させた取り込みクロックを選択して出力
する。リードデータレジスタ112は、当該取り込みク
ロックに従ってDRAM102からのリードデータを読
み込む。このことで配線遅延等で多少リードデータが確
定している時間が前後しても、確実にリードデータを取
り込むことが可能となる。遅延量検索モードにおいて遅
延量調節処理を行っている最中に、DRAM102に対
するアクセス権を有する外部装置103がリードアクセ
スを要求してきた場合、最適遅延量検索部141が出力
する遅延値はリードデータが確定している期間外に設定
されている可能性がある(例えば図2の取り込みクロッ
ク(遅延値4)の状態)。この遅延値でリードデータレ
ジスタ112がDRAM102からのデータを取り込ん
だ場合、DRAM102からリードデータを正しく読み
出すことができない。
Next, the operation of the memory control device 101 in the delay amount fixing mode will be described. In the delay amount confirmation mode, the selector 143 of the delay amount control unit 116 selects the confirmed delay value (optimal delay value) output from the optimum delay amount storage unit 142, and the selector 152 of the delay amount adjustment unit 117.
To transmit. The selector 152 selects and outputs the fetched clock obtained by delaying the reference clock by the optimum delay value. The read data register 112 reads the read data from the DRAM 102 according to the fetch clock. As a result, the read data can be reliably captured even before or after the time when the read data is settled to some extent due to wiring delay or the like. When the external device 103 having the access right to the DRAM 102 requests read access during the delay amount adjustment processing in the delay amount search mode, the delay value output by the optimum delay amount search unit 141 is the read data. It may be set outside the fixed period (for example, the state of the capture clock (delay value 4) in FIG. 2). When the read data register 112 fetches the data from the DRAM 102 with this delay value, the read data cannot be correctly read from the DRAM 102.

【0025】そこで実施例1のメモリ制御装置101に
おいては、遅延量検索モードで遅延量調節処理中に外部
装置103がリードアクセスを要求し、外部装置103
のアクセス要求を許可する場合、セレクタ143は出力
する遅延値を、最適遅延量検索部141が出力する遅延
値から最適遅延量記憶部142が出力する遅延値に切り
替える。同時に遅延量調節処理を中断し、外部装置10
3が要求するDRAM102のデータを読み出し、外部
装置103に伝送する。ここで最適遅延量記憶部142
には、例えば図2の遅延量調節処理前の遅延値が1であ
るという情報が記憶されているとする。この最適遅延量
記憶部142に設定されている遅延値は、前回の遅延量
検索モードの遅延量調節処理で決められた値である。
Therefore, in the memory control device 101 of the first embodiment, the external device 103 requests read access during the delay amount adjustment processing in the delay amount search mode, and the external device 103
When the access request is permitted, the selector 143 switches the delay value output from the delay value output by the optimum delay amount search unit 141 to the delay value output by the optimum delay amount storage unit 142. At the same time, the delay amount adjustment processing is interrupted, and the external device 10
3 reads the data of the DRAM 102 requested and transmits it to the external device 103. Here, the optimum delay amount storage unit 142
It is assumed that, for example, information that the delay value before the delay amount adjustment processing of FIG. 2 is 1 is stored. The delay value set in the optimum delay amount storage unit 142 is a value determined in the delay amount adjusting process in the previous delay amount search mode.

【0026】通常、遅延量調節処理はリードデータの配
線遅延が温度変化などにより変化することで、リードデ
ータの取り込み異常が発生することを避けるために行う
ものである。適切なタイミングで遅延量検索モードを設
定することにより、前回の遅延量検索モードで確定した
遅延値がリードデータの確定期間(図2の201と20
2との間)から外れることはない。前回の遅延量検索モ
ードで確定した遅延値を用いても正しいデータを読み取
ることができる。そこで上記のように今回の遅延量調節
処理を一時中断し、前回の遅延量調節で確定した遅延値
を用いて、メモリ制御装置101はDRAM102から
データを読み出す。その後、外部装置103のリードア
クセスが終了した時点で、再びセレクタ143を切り替
えることでセレクタ152が受ける遅延値を、最適遅延
量検索部141が出力する遅延値(外部装置103がリ
ードアクセスする前に行っていた遅延量調節処理中の遅
延値)に戻し、遅延量調節処理を再開する。従来の技術
であれば、遅延量検索モード中に外部装置103のリー
ドアクセス要求をした場合にメモリ制御装置101は誤
ったデータを読み取る可能性があった。あるいは遅延量
調節処理が終了し、最適な遅延値が確定するまで外部装
置のDRAMへのリードアクセス要求の受け入れを遅ら
す必要があった。本発明によれば遅延量検索モードにお
いても、外部装置103からのデータ読み出し要求に応
じて、メモリ制御装置101はDRAM102から正し
いデータを読みし出すことができる。
Normally, the delay amount adjusting process is performed in order to prevent the read data from being abnormally taken in due to a change in the wiring delay of the read data due to a temperature change or the like. By setting the delay amount search mode at an appropriate timing, the delay value fixed in the previous delay amount search mode is set to the read data fixed period (201 and 20 in FIG. 2).
2)). Correct data can be read using the delay value determined in the previous delay amount search mode. Therefore, as described above, the delay amount adjustment processing of this time is temporarily interrupted, and the memory control device 101 reads data from the DRAM 102 using the delay value determined by the previous delay amount adjustment. After that, when the read access of the external device 103 is completed, the delay value received by the selector 152 by switching the selector 143 again is set to the delay value output by the optimum delay amount search unit 141 (before the external device 103 performs the read access. The value is returned to the delay value during the delay amount adjustment processing being performed), and the delay amount adjustment processing is restarted. With the conventional technique, the memory control device 101 may read erroneous data when a read access request is issued from the external device 103 during the delay amount search mode. Alternatively, it is necessary to delay the acceptance of the read access request to the DRAM of the external device until the delay amount adjustment processing is completed and the optimum delay value is determined. According to the present invention, even in the delay amount search mode, the memory control device 101 can read correct data from the DRAM 102 in response to a data read request from the external device 103.

【0027】電源投入時には最適遅延量記憶部(揮発性
メモリーを有する)は正しい最適の遅延値を記憶してい
ない。そこで、電源投入後の最初の遅延量検索モードに
おいては、遅延量検索モードの途中で外部装置103の
リードアクセス要求があった場合でも遅延量調節処理を
優先して行い、その遅延検索モードが終了した後に外部
装置103リードアクセスを許可する。また、遅延量確
定モードで動作中明らかにDRAM102のデータを正
しく読み出せないことが判明した場合は、強制的に遅延
量検索モードを設定する。この場合は最適遅延量記憶部
142が記憶する遅延値でリードデータレジスタ112
は正しいリードデータを格納できないので遅延量検索モ
ードの途中では、外部装置103のリードアクセス要求
を許可せず、遅延量検索モードが終了後、外部装置10
3のリードアクセス要求を許可する。
When the power is turned on, the optimum delay amount storage section (having a volatile memory) does not store the correct optimum delay value. Therefore, in the first delay amount search mode after the power is turned on, even if a read access request from the external device 103 is issued during the delay amount search mode, the delay amount adjustment process is given priority and the delay search mode ends. After that, the external device 103 read access is permitted. When it is found that the data in the DRAM 102 cannot be read correctly during the operation in the delay amount fixing mode, the delay amount searching mode is forcibly set. In this case, the read data register 112 is set to the delay value stored in the optimum delay amount storage unit 142.
Cannot store correct read data, so the read access request from the external device 103 is not permitted during the delay amount search mode, and after the delay amount search mode ends, the external device 10
The read access request of No. 3 is permitted.

【0028】本実施例のメモリ制御装置は遅延量検索モ
ードにおいて、外部装置がリードアクセスを要求してき
たとき、リードアクセスを優先するか、遅延調量節処理
を優先するかを外部から選択的に設定することができ
る。
In the delay amount search mode, the memory control device of this embodiment selectively externally determines whether the read access is prioritized or the delay adjustment node process is prioritized when the external device requests the read access. Can be set.

【0029】例えば画像データをDRAMに書き込み、
読み出すメモリ制御装置(例えばコンピュータのVGA
コントローラ)においては、外部装置(例えばCPU)
がメモリ制御装置にソフトウェア言語(例えばDire
ctX(マイクロソフト社の登録商標))で記述された
データ書き込み命令を送付する場合がある。メモリ制御
装置は、ソフトウェア言語で記述されたデータ書き込み
命令をハードウェアレベルの書き込みデータに変換し、
変換したデータをDRAMに書き込む。上記の書き込み
処理において、ソフトウェア言語で記述されたデータ書
き込み命令をハードウェアレベルの書き込みデータに変
換するのにある程度の時間がかかる。この時間に(DR
AMは動作していない)実施例1のメモリ制御装置は遅
延量検索モードに移行し、最適の遅延値を検索すること
ができる。また、本実施例のメモリ制御装置は、DRA
Mへのデータの書き込み処理中に、遅延量検索モードに
設定して最適の遅延値を求める遅延量調節処理をするこ
とができる。これにより外部装置からのDRAMへのア
クセスに何らの支障を生じることもなく、メモリ制御装
置は常に最適の遅延値でDRAMからのリードデータを
取り込むことができる。
For example, writing the image data in the DRAM,
Memory controller to read (eg VGA of computer)
In the controller), an external device (eg CPU)
Includes a software language (eg, Dire
A data write command described in ctX (registered trademark of Microsoft Corporation) may be sent. The memory control device converts a data write command written in a software language into hardware level write data,
Write the converted data to the DRAM. In the above write processing, it takes some time to convert the data write instruction written in the software language into the write data of the hardware level. At this time (DR
(AM is not operating) The memory control device of the first embodiment can shift to the delay amount search mode and search for the optimum delay value. In addition, the memory control device of the present embodiment is
During the process of writing data to M, the delay amount adjustment process can be performed by setting the delay amount search mode to obtain the optimum delay value. As a result, the memory control device can always take in the read data from the DRAM with the optimum delay value without causing any trouble in accessing the DRAM from the external device.

【0030】《実施例2》本発明の実施例2のメモリ制
御装置について図3、図4を用いて説明する。図3にお
いて301はメモリ制御装置、102はDRAM、10
3はDRAM302にアクセスする外部装置である。メ
モリ制御装置301は、基準クロック生成部311、リ
ードデータレジスタ312、入出力部313、比較部3
14、比較用データレジスタ315、遅延量制御部31
6、遅延量調節部317を有する。遅延量制御部316
は、最適遅延量検索部341、最適遅延量記憶部34
2、セレクタ343を有する。遅延量調節部317は、
粗調節用多段遅延部351、セレクタ352、微調節用
多段遅延部353、セレクタ354を有する。
<Embodiment 2> A memory control apparatus according to Embodiment 2 of the present invention will be described with reference to FIGS. In FIG. 3, 301 is a memory control device, 102 is a DRAM, and 10
An external device 3 accesses the DRAM 302. The memory control device 301 includes a reference clock generation unit 311, a read data register 312, an input / output unit 313, and a comparison unit 3.
14, comparison data register 315, delay amount control unit 31
6. It has a delay amount adjusting unit 317. Delay amount control unit 316
Is the optimum delay amount search unit 341 and the optimum delay amount storage unit 34.
2. It has a selector 343. The delay amount adjusting unit 317
It has a coarse adjustment multi-stage delay unit 351, a selector 352, a fine adjustment multi-stage delay unit 353, and a selector 354.

【0031】メモリ制御装置301の説明をする。基準
クロック生成部311は、遅延値0の基準クロックを粗
調節用多段遅延部351及びDRAM102に出力す
る。DRAM102は基準クロックに従ってリードデー
タを出力する。リードデータレジスタ312は、取り込
みクロックに従いDRAM102からリードデータを読
み込み入出力部313に出力する。入出力部313は外
部装置103から送られたデータを入力してライトデー
タレジスタ(DRAMへの書き込み用レジスタ。図示し
ていない)に伝送し、リードデータレジスタ312が出
力したデータを入力し、外部装置に伝送する。(後述す
る)遅延量検索モードにおいては、入出力部313はリ
ードデータを出力しない。比較部314は、読み込みテ
スト時にDRAM102から読み込んだテスト値と、比
較用データレジスタ315格納されているテスト値を比
較し、正しくデータが読み込まれたか否か判定し、判断
結果(比較結果)遅延量制御部316に伝送する。比較
用データレジスタ315は、読み込みテスト用のテスト
値を格納する。
The memory controller 301 will be described. The reference clock generation unit 311 outputs the reference clock having the delay value of 0 to the coarse adjustment multi-stage delay unit 351 and the DRAM 102. The DRAM 102 outputs read data according to the reference clock. The read data register 312 reads the read data from the DRAM 102 according to the fetch clock and outputs the read data to the input / output unit 313. The input / output unit 313 inputs the data sent from the external device 103, transmits the data to a write data register (a register for writing to DRAM, not shown), inputs the data output from the read data register 312, and outputs the data to the outside. Transmit to device. In the delay amount search mode (described later), the input / output unit 313 does not output read data. The comparison unit 314 compares the test value read from the DRAM 102 at the time of the read test with the test value stored in the comparison data register 315, determines whether or not the data is correctly read, and determines the determination result (comparison result) delay amount. It is transmitted to the control unit 316. The comparison data register 315 stores a test value for a read test.

【0032】最適遅延量検索部341は比較部314か
ら比較結果を入力し、記憶している複数の粗調節用遅延
値及び複数の微調節用遅延値の中から、一つの粗調節用
遅延値、及び一つの微調節用遅延値を選択し、セレクタ
343へ出力する。なお最適遅延量検索部341は、遅
延量検索モードが終了しデータ読み込みの最適の遅延値
が確定したときは、確定した粗調節用遅延値、及び微調
節用遅延値を最適遅延量記憶部342へ登録しておく。
最適遅延量記憶部342は前回の遅延量検索モードで求
められた粗調節用遅延値及び微調節用遅延値を記憶して
おき、その粗調節用遅延値及び微調節用遅延値をセレク
タ343に出力する。セレクタ343は最適遅延量検索
部341及び最適遅延量記憶部342から粗調節用遅延
値及び微調節用遅延値の組をそれぞれ一組ずつ入し、入
力される2組の遅延値の内、1組(粗調節用遅延値及び
微調節用遅延値からなる)を選択し、選択した遅延値の
組の粗調節用遅延値を遅延量調節部317のセレクタ3
52へ、微調節用遅延値をセレクタ354へ出力する。
The optimum delay amount retrieval unit 341 inputs the comparison result from the comparison unit 314 and selects one coarse adjustment delay value from the stored coarse adjustment delay values and fine adjustment delay values. , And one fine adjustment delay value are selected and output to the selector 343. When the delay amount search mode ends and the optimum delay value for data reading is confirmed, the optimum delay amount searching unit 341 stores the determined coarse adjustment delay value and fine adjustment delay value in the optimum delay amount storage unit 342. Register to.
The optimum delay amount storage unit 342 stores the coarse adjustment delay value and the fine adjustment delay value obtained in the previous delay amount search mode, and stores the coarse adjustment delay value and the fine adjustment delay value in the selector 343. Output. The selector 343 inputs one set of each of the coarse adjustment delay value and the fine adjustment delay value from the optimum delay amount search unit 341 and the optimum delay amount storage unit 342, and selects one of the two input delay values. A set (consisting of a coarse adjustment delay value and a fine adjustment delay value) is selected, and the coarse adjustment delay value of the selected set of delay values is selected by the selector 3 of the delay amount adjusting unit 317.
52 and outputs the fine adjustment delay value to the selector 354.

【0033】粗調節用多段遅延部351は基準クロック
を入力し、異なった粗調節用遅延値を持つ複数の取り込
みクロックをセレクタ352に出力する。セレクタ35
2は入力される複数の取り込みクロックの中から、遅延
量制御部316が出力した粗調節用遅延値を持つ取り込
みクロックを選択し、微調節用多段遅延部353に出力
する。微調節用多段遅延部353はセレクタ352から
一定の粗調節用遅延値を持った取り込みクロックを受け
ると、その粗調節用遅延値を基準とし、異なる微調節用
遅延値をもつ複数の取り込みクロックをセレクタ354
に出力する。セレクタ354は一定の粗調節用遅延値を
基準とし、異なる微調節用遅延値を持つ複数の取り込み
クロックを受けると遅延量制御部316が出力した微調
節用遅延値に対応する取り込みクロックを選択し、リー
ドデータレジスタ312へ出力する。ここで遅延量制御
部316が出力する微調節用遅延値は粗調節用遅延値よ
りも細かく設定することができるものである。例えば粗
調節用遅延値が1増すと取り込みクロックの遅延値が1
ns増加し、微調節用遅延値が1増すと取り込みデータ
の遅延値が0.1ns増加する。また微調節用多段遅延
部353において、例えば微調節用遅延値を0から8ま
での9段階設定できる場合、初期状態をその中心値の4
にしておく(理由は後述)。
The coarse adjustment multi-stage delay unit 351 receives the reference clock and outputs a plurality of fetched clocks having different coarse adjustment delay values to the selector 352. Selector 35
2 selects a capture clock having a coarse adjustment delay value output from the delay amount control unit 316 from a plurality of input capture clocks and outputs it to the fine adjustment multi-stage delay unit 353. When the fine adjustment multi-stage delay unit 353 receives a capture clock having a constant coarse adjustment delay value from the selector 352, it receives a plurality of capture clocks having different fine adjustment delay values with the coarse adjustment delay value as a reference. Selector 354
Output to. The selector 354 selects a capture clock corresponding to the fine adjustment delay value output from the delay amount control unit 316 when receiving a plurality of capture clocks having different fine adjustment delay values with reference to a constant coarse adjustment delay value. , To the read data register 312. Here, the fine adjustment delay value output from the delay amount control unit 316 can be set more finely than the coarse adjustment delay value. For example, if the delay value for coarse adjustment is increased by 1, the delay value of the fetched clock is increased by 1.
When the fine adjustment delay value is increased by 1, the delay value of the fetched data is increased by 0.1 ns. Further, in the fine adjustment multi-stage delay unit 353, for example, when the fine adjustment delay value can be set in 9 steps from 0 to 8, the initial state is set to the center value of
(The reason will be described later).

【0034】以上のように構成された本実施例のメモリ
制御装置について、以下その動作を説明する。メモリ制
御装置301は、最適の遅延値を検索する遅延量検索モ
ードと、確定した遅延量(最適の遅延量)で基準クロッ
クを遅延させる遅延量確定モードとを有する。遅延量検
索モード(外部からDRAM102のデータの読み出し
要求がないものとする)におけるメモリ制御装置301
の動作を説明する。始めにDRAM102にテスト値を
書き込み、同時に比較用データレジスタ315に同じ値
のテスト値を格納する。遅延量制御部316は最初、粗
調節用遅延値を0、微調節用遅延値を4に設定し、セレ
クタ343を通じて粗調節用遅延値0をセレクタ352
へ、微調節用遅延値4をセレクタ354へ出力する。粗
調節用多段遅延部351は、基準クロック生成部311
から基準クロックを入力し、異なる粗調節用遅延値を持
った複数の取り込みクロックを生成し、セレクタ352
に出力する。セレクタ352は入力された複数の取り込
みクロックの中から、粗調節用遅延値0の取り込みクロ
ックを選択し、微調節用多段遅延部353へ出力する。
微調節用多段遅延部353は、セレクタ352から粗調
節用遅延値0を持った取り込みクロックを受けると、粗
調節用遅延値は0のもとで異なる微調節用遅延値を持っ
た複数の取り込みクロックをセレクタ354へ出力す
る。セレクタ354は入力された粗調節用遅延値0のも
とで、異なる微調節用遅延値をもつ複数の取り込みクロ
ックの中から、微調節用遅延値4の取り込みクロックを
選択し、リードデータレジスタ312へ出力する。
The operation of the memory control device of this embodiment constructed as described above will be described below. The memory control device 301 has a delay amount search mode for searching for an optimum delay value and a delay amount fixing mode for delaying a reference clock with a fixed delay amount (optimal delay amount). Memory control device 301 in delay amount search mode (assuming that there is no external request to read data from DRAM 102)
The operation of will be described. First, the test value is written in the DRAM 102, and at the same time, the same test value is stored in the comparison data register 315. The delay amount control unit 316 first sets the coarse adjustment delay value to 0 and the fine adjustment delay value to 4, and sets the coarse adjustment delay value 0 to the selector 352 through the selector 343.
To output the fine adjustment delay value 4 to the selector 354. The coarse adjustment multi-stage delay unit 351 includes a reference clock generation unit 311.
The reference clock is input from the selector 352 to generate a plurality of acquisition clocks having different coarse adjustment delay values.
Output to. The selector 352 selects a capture clock having a coarse adjustment delay value of 0 from a plurality of input capture clocks and outputs it to the fine adjustment multi-stage delay unit 353.
When the fine adjustment multi-stage delay unit 353 receives the capture clock having the coarse adjustment delay value 0 from the selector 352, the coarse adjustment delay value is 0, and a plurality of captures having different fine adjustment delay values are received. The clock is output to the selector 354. Based on the input coarse adjustment delay value of 0, the selector 354 selects the capture clock of the fine adjustment delay value 4 from a plurality of capture clocks having different fine adjustment delay values, and reads the read data register 312. Output to.

【0035】リードデータレジスタ312は、粗調節用
遅延値0、微調節用遅延値4の取り込みクロックに従
い、DRAM102に書き込んだテスト値を読み込む。
比較部314はその取り込まれた値と、比較用データレ
ジスタ315に格納されているテスト値を比較する。リ
ードデータが確定している期間内に取り込みクロックが
設定されていた場合はリードデータレジスタ312に正
しい値が読み込まれ、リードデータが確定していない期
間に取り込みクロックが設定されていた場合はリードデ
ータレジスタ312には間違った値が読み込まれる。比
較部314は、両者が一致しているかどうか確認した
後、当該比較結果を遅延量制御部316に送る。遅延量
制御部316は粗調節用遅延値を1段階増やして、粗調
節用遅延値1をセレクタ352に出力し、微調節用遅延
値4を(変更せずに)セレクタ354へ出力する。この
場合遅延量調節部317は、粗調節用遅延値1、微調節
用遅延値4の取り込みクロックをリードデータレジスタ
312に出力する。
The read data register 312 reads the test value written in the DRAM 102 in accordance with the fetch clock of the coarse adjustment delay value 0 and the fine adjustment delay value 4.
The comparison unit 314 compares the fetched value with the test value stored in the comparison data register 315. If the capture clock is set within the period when the read data is confirmed, a correct value is read into the read data register 312, and if the capture clock is set during the period when the read data is not confirmed, the read data is read. A wrong value is read into the register 312. The comparison unit 314, after confirming whether the two match, sends the comparison result to the delay amount control unit 316. The delay amount control unit 316 increases the coarse adjustment delay value by one step, outputs the coarse adjustment delay value 1 to the selector 352, and outputs the fine adjustment delay value 4 (without change) to the selector 354. In this case, the delay amount adjusting unit 317 outputs the fetch clock of the coarse adjustment delay value 1 and the fine adjustment delay value 4 to the read data register 312.

【0036】以下粗調節用遅延値を1ずつ増やして同様
の処理を行う。微調節用遅延値は4に固定したままで、
粗調節用遅延値を0から最大値の粗調節用遅延値2ま
で、それぞれの遅延値に対してDRAM102が出力す
るリードデータをリードデータレジスタ312に正しく
格納できるかどうか調べる。図4は遅延量制御部316
が出力する粗調節用遅延値及び微調節用遅延値によって
遅延値が設定された取り込みクロックと、DRAM10
2から読み出したリードデータとの関係を表したタイミ
ングチャートである。リードデータレジスタ312は、
取り込みクロックの立ち上がりエッジでリードデータを
読み込む。例えば図4に示されているように(リードデ
ータが確定している期間が短いため)粗調節用遅延値が
1の時のみリードデータが確定している期間内に取り込
みクロックが設定されているとする。しかし粗調節用遅
延値が1の時においても、例えばこの時図4(b)に示
されているように、リードブロックがリードデータが確
定している期間の真ん中でなく、前の方に設定されてい
る可能性もある。この場合粗調節用遅延値が1の場合で
も、配線遅延などでリードデータが確定している期間が
後ろに遅延した場合、取り込みクロックの立ち上がりエ
ッジがリードデータの確定している期間外になり、デー
タを正しく読み込めなくなる可能性がある。言い換えれ
ば、粗調節用遅延値1、微調節用遅延値4のもとでは安
定してDRAMのデータを読み込むことができない。取
り込みクロックがその確定している時間内のできる限り
中心にあれば、多少リードデータの配線遅延が変化して
も、確定している期間外に取り込みクロックが設定され
ることを避けることができる。
Thereafter, the coarse adjustment delay value is increased by 1 and the same processing is performed. The delay value for fine adjustment remains fixed at 4,
It is checked whether the read data output from the DRAM 102 can be correctly stored in the read data register 312 for each coarse adjustment delay value from 0 to the maximum coarse adjustment delay value 2. FIG. 4 shows the delay amount control unit 316.
And the acquisition clock whose delay value is set by the coarse adjustment delay value and the fine adjustment delay value output from the DRAM 10.
3 is a timing chart showing the relationship with the read data read from No. 2. The read data register 312 is
Read the read data at the rising edge of the capture clock. For example, as shown in FIG. 4, the capture clock is set within the period in which the read data is fixed only when the coarse adjustment delay value is 1 (because the period in which the read data is fixed is short). And However, even when the delay value for coarse adjustment is 1, for example, as shown in FIG. 4B at this time, the read block is set to the front, not in the middle of the period when the read data is fixed. It may have been done. In this case, even if the delay value for coarse adjustment is 1, if the period in which the read data is fixed is delayed due to wiring delay or the like, the rising edge of the capture clock is outside the period in which the read data is fixed, Data may not be read correctly. In other words, under the coarse adjustment delay value 1 and the fine adjustment delay value 4, the DRAM data cannot be read stably. If the fetch clock is as centered as possible within the fixed time, it is possible to avoid setting the fetch clock outside the fixed period even if the wiring delay of the read data changes to some extent.

【0037】そこで次は粗調節用遅延値を最適の値であ
る1に固定しておき、微調節用遅延値を現在4であるの
を0から設定可能な最大値(この例では遅延値8)まで
可変し、それぞれに対してDRAM102のリードデー
タをリードデータレジスタ312に正しく格納できるか
否か調べていく。ここで、粗調節用遅延値を決めるテス
トをする際に微調節用遅延値を設定できる範囲の中心に
していた理由は、粗調節用遅延値を固定した後に、その
前後に取り込みクロックを微調節できるようにするため
である。粗調節用遅延値を1に固定し微調節用遅延値を
可変した結果、図4においては微調節用遅延値が3から
7であれば、リードデータが確定している期間内に取り
込みクロックが設定される。つまりその期間内に取り込
みクロックが設定されていれば、正常にDRAM102
のリードデータを読み出すことができることを示してい
る。微調節用遅延値を3から7の中心である5に設定す
る。結局、セレクタ352に入力する粗調節用遅延値
と、セレクタ354に入力する微調節用遅延値のそれぞ
れの最適値は、1と5になる。最適の粗調節用遅延値及
び微調節用遅延値を決定し、この値により安定してDR
AMのデータを読み込むことができると判断された場
合、最適遅延量検索部341は確定した粗調節用遅延値
及び微調節用遅延値を最適遅延量記憶部342に格納す
る。
Therefore, next, the delay value for coarse adjustment is fixed to 1 which is the optimum value, and the delay value for fine adjustment is 4 from the present value of 4 to the maximum value (in this example, the delay value of 8 is set). ), And whether or not the read data of the DRAM 102 can be correctly stored in the read data register 312 is checked for each. The reason for setting the delay value for fine adjustment at the center of the range in which the delay value for fine adjustment can be set when performing the test for determining the delay value for coarse adjustment is to fix the delay value for coarse adjustment and then finely adjust the capture clock before and after that. This is so that it can be done. As a result of fixing the delay value for coarse adjustment to 1 and varying the delay value for fine adjustment, if the delay values for fine adjustment are 3 to 7 in FIG. Is set. That is, if the capture clock is set within that period, the DRAM 102 is normally operated.
It indicates that the read data can be read. The fine adjustment delay value is set to 5, which is the center of 3 to 7. After all, the optimum values of the coarse adjustment delay value input to the selector 352 and the fine adjustment delay value input to the selector 354 are 1 and 5, respectively. Determine the optimal delay value for coarse adjustment and delay value for fine adjustment, and use this value to stabilize DR
When it is determined that the AM data can be read, the optimum delay amount searching unit 341 stores the determined coarse adjustment delay value and fine adjustment delay value in the optimum delay amount storage unit 342.

【0038】次に遅延量確定モードにおけるメモリ制御
装置301の動作を説明する。遅延量確定モードにおい
ては、遅延量制御部316のセレクタ343は最適遅延
量記憶部342が出力する確定した粗調節用遅延値及び
微調節用遅延値を選択し、遅延量調節部317のセレク
タ352及び354にそれぞれ送る。セレクタ352及
び354は基準クロックを最適の遅延値だけ遅延させた
取り込みクロックを選択して出力する。リードデータレ
ジスタ312は、当該取り込みクロックに従ってDRA
M102からのリードデータを読み込む。従来のメモリ
制御装置においては、一定の遅延量を単位として一定期
間の先端から終端まで取り込みクロック立ち上がりタイ
ミングを変化させ、最適の遅延量を検索した。本発明の
メモリ制御装置においては、粗調節用多段遅延部により
大まかな最大値を求め、その後微調節用多段遅延部によ
り正確な最適値を求める。これにより遅延量検索モード
での最適遅延量の検索時間を短くすることができる。微
調節用遅延値を一定にした状態で、粗調節用遅延値を変
化させてリードデータレジスタ312が正しくデータを
読み取ることができるか否かを調べた結果、最適の遅延
値を確定することができた場合は、微調節用遅延値を変
化させてリードデータレジスタ312が正しくデータを
読み取ることができるか否かを調べるステップを省略す
ることができる。例えば粗調節用遅延値を0から2に変
化させた結果、全ての場合にリードデータレジスタ31
2が正しくデータを読み取ることができたとする。この
場合、粗調節用遅延値を1、及び微調節用遅延値を一定
の値のまま(実施例においては4)に設定することによ
り、リードデータレジスタ312は温度変化配線遅延な
どの影響で誤動作することなく、常に正しいデータをD
RAMから読み取ることができる。
Next, the operation of the memory control device 301 in the delay amount fixing mode will be described. In the delay amount confirmation mode, the selector 343 of the delay amount control unit 316 selects the confirmed coarse adjustment delay value and fine adjustment delay value output from the optimum delay amount storage unit 342, and the selector 352 of the delay amount adjustment unit 317. And 354 respectively. The selectors 352 and 354 select and output the fetched clock obtained by delaying the reference clock by the optimum delay value. The read data register 312 uses the DRA according to the capture clock.
Read the read data from M102. In the conventional memory control device, the optimum delay amount is searched for by changing the timing of the rising edge of the clock from the beginning to the end of the fixed period in units of a constant delay amount. In the memory control device of the present invention, a rough maximum value is obtained by the coarse adjustment multistage delay unit, and then an accurate optimum value is obtained by the fine adjustment multistage delay unit. As a result, the search time for the optimum delay amount in the delay amount search mode can be shortened. As a result of checking whether the read data register 312 can correctly read the data by changing the coarse adjustment delay value while keeping the fine adjustment delay value constant, the optimum delay value can be determined. If so, the step of changing the fine adjustment delay value and checking whether the read data register 312 can correctly read the data can be omitted. For example, as a result of changing the coarse adjustment delay value from 0 to 2, the read data register 31
2 can read the data correctly. In this case, by setting the coarse adjustment delay value to 1 and the fine adjustment delay value to a constant value (4 in the embodiment), the read data register 312 malfunctions due to the influence of the temperature change wiring delay or the like. Always correct data without
It can be read from RAM.

【0039】上記の実施例においては、DRAMに入力
する読みとりクロックを固定とし、リードデータレジス
タに入力する読みとりクロックを可変とした。これに代
えてリードデータレジスタに入力する読みとりクロック
を固定とし、DRAMに入力する読みとりクロックを可
変としても良い。「取り込みクロックに従いリードデー
タレジスタがDRAMデータを読み込む」とは、上記の
いずれの場合も含む。
In the above embodiment, the read clock input to the DRAM is fixed and the read clock input to the read data register is variable. Alternatively, the read clock input to the read data register may be fixed and the read clock input to the DRAM may be variable. "The read data register reads the DRAM data according to the fetch clock" includes any of the above cases.

【0040】[0040]

【発明の効果】本発明のメモリ制御装置は、前回の遅延
量検索モードで得られた遅延値を記憶しておく最適遅延
量記憶部を有する。遅延量調節処理中に外部装置がリー
ドアクセスを要求してきた場合、前回の遅延量検索モー
ドで得られた遅延値に一旦戻し、アクセスしてきたブロ
ックのリード処理を行う。そのアクセスが終了した時点
で、遅延値を遅延量調節処理中であった設定値に戻し、
遅延量調節処理を再開する。遅延量検索モード終了後の
リード処理ではその新しい遅延値を用いる。又、本発明
のメモリ制御装置は、遅延量検索モード中に外部装置が
DRAMのデータの読み出しを要求してきた場合は、遅
延量検索モードの間データの読み出しを許可せず、遅延
量確定モードになった後、データの読み出しを許可す
る。本発明によれば、常に正しいデータをDRAMから
読み出すメモリ制御装置を実現できるという有利な効果
が得られるまた本発明によれば、遅延量調節部を2段階
にし、粗調節用多段遅延部と微調節用多段遅延部とを設
ける。最初に粗調節用遅延値を変化させて大まかに最適
の遅延量を求め、その後微調節用遅延値を変化させて正
確で、最適な遅延値を求める。本発明によれば、短時間
で最適な遅延値を求めるメモリ制御装置を実現できる有
利な効果が得られる。
The memory control device of the present invention has an optimum delay amount storage section for storing the delay value obtained in the previous delay amount search mode. When the external device requests a read access during the delay amount adjustment processing, the delay value obtained in the previous delay amount search mode is temporarily returned, and the read processing of the accessed block is performed. When the access is completed, the delay value is returned to the setting value that was being adjusted for the delay amount,
Restart the delay amount adjustment processing. The new delay value is used in the read process after the end of the delay amount search mode. In addition, the memory control device of the present invention does not permit the data read during the delay amount search mode when the external device requests to read the data of the DRAM during the delay amount search mode, and enters the delay amount confirmation mode. After that, data reading is permitted. According to the present invention, it is possible to obtain an advantageous effect that a memory control device that always reads correct data from a DRAM can be realized. Further, according to the present invention, the delay amount adjusting unit is provided in two stages, that is, the coarse adjusting multistage delay unit and the fine adjusting unit. And a multistage delay unit for adjustment. First, the rough adjustment delay value is changed to roughly obtain an optimum delay amount, and then the fine adjustment delay value is changed to obtain an accurate and optimum delay value. According to the present invention, it is possible to obtain an advantageous effect of realizing a memory control device that obtains an optimum delay value in a short time.

【図面の簡単な説明】[Brief description of drawings]

【図1】本発明の実施例1によるメモリ制御装置の構成
FIG. 1 is a configuration diagram of a memory control device according to a first embodiment of the present invention.

【図2】実施例1におけるメモリ制御装置におけるDR
AMからのリードデータの格納タイミングチャート
FIG. 2 DR in the memory control device according to the first embodiment
Storage timing chart of read data from AM

【図3】本発明の実施例2によるメモリ制御装置の構成
FIG. 3 is a configuration diagram of a memory control device according to a second embodiment of the present invention.

【図4】実施例2におけるメモリ制御装置におけるDR
AMからのリードデータの格納タイミングチャート
FIG. 4 DR in the memory control device according to the second embodiment
Storage timing chart of read data from AM

【図5】従来の技術によるメモリ制御装置の構成図FIG. 5 is a block diagram of a memory control device according to a conventional technique.

【図6】従来の例のメモリ制御装置におけるDRAMか
らのリードデータの格納タイミングチャート。
FIG. 6 is a storage timing chart of read data from a DRAM in a conventional memory control device.

【符号の説明】[Explanation of symbols]

101、301、501 メモリ制御装置 102 DRAM 103 外部装置 111、311、511 基準クロック生成部 112、312、512 リードデータレジスタ 113、313、513 入出力部 114、314、514 比較部 115、315、515 比較用データレジスタ 116、316、516 遅延量制御部 117、317、517 遅延量調節部 141、341 最適遅延量検索部 142、342 最適遅延量記憶部 143、152、343、352、354、542
セレクタ 151、541 多段遅延部 351 粗調節用多段遅延部 353 微調節用多段遅延部
101, 301, 501 Memory control device 102 DRAM 103 External device 111, 311, 511 Reference clock generation unit 112, 312, 512 Read data register 113, 313, 513 Input / output unit 114, 314, 514 Comparison unit 115, 315, 515 Comparison data registers 116, 316, 516 Delay amount control units 117, 317, 517 Delay amount adjusting units 141, 341 Optimal delay amount searching units 142, 342 Optimal delay amount storage units 143, 152, 343, 352, 354, 542
Selectors 151, 541 Multistage delay unit 351 Coarse adjustment multistage delay unit 353 Fine adjustment multistage delay unit

Claims (6)

【特許請求の範囲】[Claims] 【請求項1】 基準クロックを生成する基準クロック生
成部と、 取り込みクロックの遅延値を出力する遅延量制御部と、 前記基準クロック及び前記遅延値を入力し、前記基準ク
ロックを前記遅延値だけ遅延させた取り込みクロックを
生成する遅延量調節部と、 前記取り込みクロックに従いDRAMのデータを読み込
むリードデータレジスタと、 前記リードデータレジスタのデータを外部に出力する出
力部と、 読み込みテスト用のデータを格納する比較用データレジ
スタと、 読み込みテスト時に、前記リードデータレジスタに読み
込んだデータと、前記比較用データレジスタに格納され
ているデータとを比較し、比較した結果を出力するする
比較部と、 を有し、 遅延量検索モードと、遅延量確定モードと、 を有し、 前記遅延量制御部は、 複数の遅延値の中から一つの遅延値を選択し、選択した
第1の遅延値を出力する最適遅延量検索部と、 確定した遅延値である第2の遅延値を記憶する最適遅延
量記憶部と、 前記第1の遅延値と前記第2の遅延値との中から一つを
選択し、前記遅延量調節部に出力するセレクタとを有
し、 外部からDRAMのデータの読み出し要求がない時であ
って且つ前記遅延量検索モードにおいては、前記最適遅
延量検索部は複数の前記第1の遅延値を順次出力し、前
記セレクタは前記第1の遅延値を選択して出力し、前記
遅延量調節部は前記第1の遅延値だけ遅延した取り込み
クロックを生成し、前記リードデータレジスタは前記取
り込みクロックに従ってDRAMのデータを取り込み、
前記比較部は前記リードデータレジスタが取り込んだデ
ータと前記比較用データレジスタに格納されたデータと
を比較してその比較結果を出力し、前記遅延量制御部は
前記比較結果に基づいて複数の前記第1の遅延値の中か
ら最適の前記第1の遅延値を決定し、前記最適遅延量記
憶部は最適の前記第1の遅延値を前記第2の遅延値とし
て記憶し、 外部からDRAMのデータの読み出し要求がある時又は
前記遅延量確定モードにおいては、前記セレクタは前記
第2の遅延値を選択して出力する、 ことを特徴とするメモリ制御装置。
1. A reference clock generation unit that generates a reference clock, a delay amount control unit that outputs a delay value of a fetched clock, the reference clock and the delay value are input, and the reference clock is delayed by the delay value. A delay amount adjusting section for generating the fetched clock, a read data register for reading the data of the DRAM in accordance with the fetched clock, an output section for outputting the data of the read data register to the outside, and storing the read test data. A comparison data register, and a comparison unit that compares the data read into the read data register with the data stored in the comparison data register during a read test and outputs the comparison result. A delay amount search mode and a delay amount confirmation mode, wherein the delay amount control unit is Optimal delay amount search unit that selects one delay value from the number of delay values and outputs the selected first delay value, and optimum delay amount storage that stores the second delay value that is the confirmed delay value Section and a selector that selects one from the first delay value and the second delay value and outputs the selected delay value to the delay amount adjusting section, and there is no external request to read data from the DRAM. At the same time and in the delay amount search mode, the optimum delay amount search unit sequentially outputs the plurality of first delay values, and the selector selects and outputs the first delay value, The delay amount adjusting unit generates a fetch clock delayed by the first delay value, and the read data register fetches DRAM data according to the fetch clock.
The comparison unit compares the data received by the read data register with the data stored in the comparison data register and outputs a comparison result, and the delay amount control unit determines a plurality of the delay units based on the comparison result. The optimum first delay value is determined from the first delay values, and the optimum delay amount storage unit stores the optimum first delay value as the second delay value, and externally stores the DRAM delay value. The memory control device, wherein the selector selects and outputs the second delay value when there is a data read request or in the delay amount fixing mode.
【請求項2】 基準クロックを生成する基準クロック生
成部と、 取り込みクロックの遅延値を出力する遅延量制御部と、 前記基準クロック及び前記遅延値を入力し、前記基準ク
ロックを前記遅延値だけ遅延させた取り込みクロックを
生成する遅延量調節部と、 前記取り込みクロックに従いDRAMのデータを読み込
むリードデータレジスタと、 前記リードデータレジスタのデータを外部に出力する出
力部と、 読み込みテスト用のデータを格納する比較用データレジ
スタと、 読み込みテスト時に、前記リードデータレジスタに読み
込んだデータと、前記比較用データレジスタに格納され
ているデータとを比較し、比較結果を出力する比較部
と、 を有し、 遅延量検索モードと、遅延量確定モードと、を有し、 前記遅延量制御部は、 複数の遅延値の中から一つの遅延値を選択し、選択した
第1の遅延値を出力する最適遅延量検索部と、 確定した遅延値である第2の遅延値を記憶する最適遅延
量記憶部と、 前記第1の遅延値と前記第2の遅延値との中から一つを
選択し、前記遅延量調節部に出力するセレクタとを有
し、 前記遅延量検索モードにおいては、前記最適遅延量検索
部は複数の前記第1の遅延値を順次出力し、前記セレク
タは前記第1の遅延値を選択して出力し、前記遅延量調
節部は前記第1の遅延値だけ遅延した取り込みクロック
を生成し、前記リードデータレジスタは前記取り込みク
ロックに従ってDRAMのデータを取り込み、前記比較
部は前記リードデータレジスタが取り込んだデータと前
記比較用データレジスタに格納されたデータとを比較し
てその比較結果を出力し、前記遅延量制御部は前記比較
結果に基づいて複数の前記第1の遅延値の中から最適の
前記第1の遅延値を決定し、前記最適遅延量記憶部は最
適の前記第1の遅延値を前記第2の遅延値として記憶
し、 前記遅延量確定モードにおいては、前記セレクタは前記
第2の遅延値を選択して出力し、 前記遅延量検索モードにおいて外部からDRAMのデー
タの読み出し要求があった場合は、前記遅延量検索モー
ドが終了して前記遅延量確定モードになった後に、前記
DRAMのデータの読み出し要求に応じて、前記DRA
Mのデータを読み出して出力する、 ことを特徴とするメモリ制御装置。
2. A reference clock generation unit that generates a reference clock, a delay amount control unit that outputs a delay value of a fetched clock, the reference clock and the delay value are input, and the reference clock is delayed by the delay value. A delay amount adjusting section for generating the fetched clock, a read data register for reading the data of the DRAM in accordance with the fetched clock, an output section for outputting the data of the read data register to the outside, and storing the read test data. A comparison data register, and a comparison unit that compares the data read in the read data register with the data stored in the comparison data register at the time of the read test and outputs the comparison result. A delay amount determination mode and a delay amount confirmation mode. An optimum delay amount search unit that selects one delay value from the values and outputs the selected first delay value; and an optimum delay amount storage unit that stores the second delay value that is the confirmed delay value, A selector that selects one from the first delay value and the second delay value and outputs the selected delay value to the delay amount adjusting unit; in the delay amount search mode, the optimum delay amount search is performed. A unit sequentially outputs the plurality of first delay values, the selector selects and outputs the first delay value, and the delay amount adjusting unit generates a capture clock delayed by the first delay value. Then, the read data register fetches the DRAM data in accordance with the fetch clock, and the comparison unit compares the data fetched by the read data register with the data stored in the comparison data register and outputs the comparison result. The delay amount control unit determines the optimum first delay value from the plurality of first delay values based on the comparison result, and the optimum delay amount storage unit determines the optimum first delay value. Is stored as the second delay value. In the delay amount fixing mode, the selector selects and outputs the second delay value. When there is a read request, after the delay amount search mode is finished and the delay amount confirmation mode is entered, the DRA is responded to in response to the data read request of the DRAM.
A memory control device, wherein M data is read and output.
【請求項3】 メモリ制御装置を請求項1に記載のメモ
リ制御装置として動作させることと、請求項2に記載の
メモリ制御装置として動作させることとを、外部から選
択的に設定できることを特徴とするメモリ制御装置。
3. The memory control device can be selectively set from the outside to operate as the memory control device according to claim 1 and to operate as the memory control device according to claim 2. Memory controller.
【請求項4】 DRAMへのデータの書き込み処理中
に、前記遅延量検索モードに設定して最適の前記遅延値
を検索することを特徴とする請求項1又は請求項2に記
載のメモリ制御装置。
4. The memory control device according to claim 1, wherein the delay amount search mode is set to search for the optimum delay value during the process of writing data to the DRAM. .
【請求項5】 基準クロックを生成する基準クロック生
成部と、 粗調節用遅延値と、前記粗調節用遅延値よりも細かく設
定することが可能な、微調節用遅延値を出力する遅延量
制御部と、 前記基準クロック並びに前記粗調節用遅延値及び前記微
調節用遅延値を入力し、前記基準クロックを前記粗調節
用遅延値及び前記微調節用遅延値だけ遅延させた取り込
みクロックを生成する遅延量調節部と、 前記取り込みクロックに従いDRAMのデータを読み込
むリードデータレジスタと、 前記リードデータレジスタのデータを外部に出力する出
力部と、 読み込みテスト用のデータを格納する比較用データレジ
スタと、 読み込みテスト時に、前記リードデータレジスタに読み
込んだデータと、前記比較用データレジスタに格納され
ているデータとを比較し、比較結果を出力する比較部
と、 を有し、 遅延量検索モードと、遅延量確定モードと、を有し、 前記遅延量制御部は、 複数の粗調節用遅延値から一つの遅延値を選択し、複数
の微調節用遅延値の中から一つの遅延値を選択し、選択
した第1の粗調節用遅延値及び第1の微調節用遅延値を
出力する最適遅延量検索部と、 確定した粗調節用遅延値及び微調節用遅延値である第2
の粗調節用遅延値及び第2の微調節用遅延値を記憶する
最適遅延量記憶部と、 前記第1の粗調節用遅延値及び前記第1の微調節用遅延
値と前記第2の粗調節用遅延値及び前記第2の微調節用
遅延値との中から一つを選択し、前記遅延量調節部に出
力するセレクタとを有し、 前記遅延量検索モードにおいては、前記最適遅延量検索
部は複数の前記第1の粗調節用遅延値及び一定の第1の
微調節用遅延値を順次出力し、前記セレクタは前記第1
の粗調節用遅延値及び前記第1の微調節用遅延値を選択
して出力し、前記遅延量調節部は前記第1の粗調節用遅
延値及び前記第1の微調節用遅延値だけ遅延した取り込
みクロックを生成し、前記リードデータレジスタは前記
取り込みクロックに従ってDRAMのデータを取り込
み、前記比較部は前記リードデータレジスタが取り込ん
だデータと前記比較用データレジスタに格納されたデー
タとを比較してその比較結果を出力し、前記遅延量制御
部は前記比較結果に基づいて複数の前記第1の粗調節用
遅延値の中から最適の前記第1の粗調節用遅延値を決定
し、次に前記最適遅延量検索部は最適の前記第1の粗調
節用遅延値及び複数の第1の微調節用遅延値を順次出力
し、前記セレクタは前記第1の粗調節用遅延値及び前記
第1の微調節用遅延値を選択して出力し、前記遅延量調
節部は前記第1の粗調節用遅延値及び前記第1の微調節
用遅延値だけ遅延した取り込みクロックを生成し、前記
リードデータレジスタは前記取り込みクロックに従って
DRAMのデータを取り込み、前記比較部は前記リード
データレジスタが取り込んだデータと前記比較用データ
レジスタに格納されたデータとを比較してその比較結果
を出力し、前記遅延量制御部は前記比較結果に基づいて
複数の前記第1の微調節用遅延値の中から最適の前記第
1の微調節用遅延値を決定し、前記最適遅延量記憶部は
最適の前記第1の粗調節用遅延値を前記第2の粗調節用
遅延値として記憶し、最適の前記第1の微調節用遅延値
を前記第2の微調節用遅延値として記憶し、 前記遅延量確定モードにおいては、前記セレクタは前記
第2の粗調節用遅延値及び前記第2の微調節用遅延値を
選択して出力する、ことを特徴とするメモリ制御装置。
5. A reference clock generation unit that generates a reference clock, a delay value for coarse adjustment, and a delay amount control that outputs a fine adjustment delay value that can be set more finely than the coarse adjustment delay value. Section, and inputs the reference clock, the coarse adjustment delay value and the fine adjustment delay value, and generates a capture clock by delaying the reference clock by the coarse adjustment delay value and the fine adjustment delay value. A delay amount adjusting section, a read data register for reading the DRAM data according to the fetch clock, an output section for outputting the data of the read data register to the outside, a comparison data register for storing the read test data, and a read During the test, compare the data read in the read data register with the data stored in the comparison data register. And a comparison unit that outputs a comparison result, and a delay amount search mode and a delay amount confirmation mode, wherein the delay amount control unit includes one delay value from a plurality of coarse adjustment delay values. An optimum delay amount search unit that selects a value, selects one delay value from a plurality of fine adjustment delay values, and outputs the selected first coarse adjustment delay value and first fine adjustment delay value. And the determined coarse adjustment delay value and fine adjustment delay value
An optimal delay amount storage unit for storing the coarse adjustment delay value and the second fine adjustment delay value, the first coarse adjustment delay value, the first fine adjustment delay value, and the second coarse adjustment delay value. A selector that selects one from the adjustment delay value and the second fine adjustment delay value and outputs the selected one to the delay amount adjustment unit, and in the delay amount search mode, the optimum delay amount. The search unit sequentially outputs a plurality of the first coarse adjustment delay values and a constant first fine adjustment delay value, and the selector outputs the first coarse adjustment delay value.
The coarse adjustment delay value and the first fine adjustment delay value are selected and output, and the delay amount adjusting unit delays by the first coarse adjustment delay value and the first fine adjustment delay value. The read data register fetches the data of the DRAM in accordance with the fetch clock, and the comparator compares the data fetched by the read data register with the data stored in the comparison data register. The comparison result is output, and the delay amount control unit determines the optimum first coarse adjustment delay value from among the plurality of first coarse adjustment delay values based on the comparison result, and then, The optimum delay amount search unit sequentially outputs the optimum first coarse adjustment delay value and a plurality of first fine adjustment delay values, and the selector outputs the first coarse adjustment delay value and the first coarse adjustment delay value. Fine adjustment delay The delay amount adjusting section generates a capture clock delayed by the first coarse adjustment delay value and the first fine adjustment delay value, and the read data register follows the capture clock. The data of the DRAM is fetched, the comparison unit compares the data fetched by the read data register with the data stored in the comparison data register, and outputs the comparison result, and the delay amount control unit causes the comparison result. The optimum first fine adjustment delay value from a plurality of the first fine adjustment delay values, and the optimum delay amount storage section determines the optimum first coarse adjustment delay value. Is stored as the second coarse adjustment delay value, the optimal first fine adjustment delay value is stored as the second fine adjustment delay value, and in the delay amount confirmation mode, the selector The second coarse adjustment delay value and selects said second fine adjustment delay value output from the memory controller, characterized in that.
【請求項6】 前記遅延量検索モードにおいて、前記最
適遅延量検索部が複数の前記第1の粗調節用遅延値及び
一定の第1の微調節用遅延値を順次出力し、複数の前記
第1の粗調節用遅延値の中から最適の前記第1の粗調節
用遅延値を決定した時、 最適の前記第1の粗調節用遅延値及び一定の前記第1の
微調節用遅延値だけ遅延した前記取り込みクロックに従
い前記リードデータレジスタが安定してDRAMのデー
タを読み込むと判断した場合は、前記最適遅延量記憶部
は最適の前記第1の粗調節用遅延値を前記第2の粗調節
用遅延値として記憶し、一定の前記第1の微調節用遅延
値を前記第2の微調節用遅延値として記憶し、 最適の前記第1の粗調節用遅延値及び一定の前記第1の
微調節用遅延値だけ遅延した前記取り込みクロックに従
っては前記リードデータレジスタが安定してDRAMの
データを読み込めないと判断した場合は、次に前記最適
遅延量検索部は最適の前記第1の粗調節用遅延値及び複
数の第1の微調節用遅延値を順次出力し、前記セレクタ
は前記第1の粗調節用遅延値及び前記第1の微調節用遅
延値を選択して出力し、前記遅延量調節部は前記第1の
粗調節用遅延値及び前記第1の微調節用遅延値だけ遅延
した取り込みクロックを生成し、前記リードデータレジ
スタは前記取り込みクロックに従ってDRAMのデータ
を取り込み、前記比較部は前記リードデータレジスタが
取り込んだデータと前記比較用データレジスタに格納さ
れたデータとを比較してその比較結果を出力し、前記遅
延量制御部は前記比較結果に基づいて複数の前記第1の
微調節用遅延値の中から最適の前記第1の微調節用遅延
値を決定し、前記最適遅延量記憶部は最適の前記第1の
粗調節用遅延値を前記第2の粗調節用遅延値として記憶
し、最適の前記第1の微調節用遅延値を前記第2の微調
節用遅延値として記憶することを特徴とする請求項5に
記載のメモリ制御装置。
6. In the delay amount search mode, the optimum delay amount search unit sequentially outputs a plurality of the first coarse adjustment delay values and a constant first fine adjustment delay value, and a plurality of the plurality of the first fine adjustment delay values. When the optimum first coarse adjustment delay value is determined from among the first coarse adjustment delay values, only the optimum first coarse adjustment delay value and the constant first fine adjustment delay value When it is determined that the read data register stably reads the data of the DRAM according to the delayed capture clock, the optimum delay amount storage unit sets the optimum first coarse adjustment delay value to the second coarse adjustment. A fixed first fine adjustment delay value is stored as the second fine adjustment delay value, and an optimum first rough adjustment delay value and a constant first fine adjustment delay value are stored. According to the acquisition clock delayed by the delay value for fine adjustment If it is determined that the read data register cannot stably read the data in the DRAM, the optimum delay amount search unit then determines the optimum first rough adjustment delay value and a plurality of first fine adjustment delay values. The delay values are sequentially output, the selector selects and outputs the first coarse adjustment delay value and the first fine adjustment delay value, and the delay amount adjusting unit outputs the first coarse adjustment delay. Value and the first fine adjustment delay value, a capture clock delayed is generated, the read data register captures DRAM data in accordance with the capture clock, and the comparison unit compares the data captured by the read data register with the data. The data stored in the data register and outputs the comparison result, and the delay amount control unit selects one of the plurality of first fine adjustment delay values based on the comparison result. The optimum first fine adjustment delay value is determined from the above, and the optimum delay amount storage unit stores the optimum first coarse adjustment delay value as the second coarse adjustment delay value. The memory control device according to claim 5, wherein the first fine adjustment delay value is stored as the second fine adjustment delay value.
JP2001238364A 2001-08-06 2001-08-06 Memory controller Pending JP2003050739A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001238364A JP2003050739A (en) 2001-08-06 2001-08-06 Memory controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001238364A JP2003050739A (en) 2001-08-06 2001-08-06 Memory controller

Publications (1)

Publication Number Publication Date
JP2003050739A true JP2003050739A (en) 2003-02-21

Family

ID=19069290

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001238364A Pending JP2003050739A (en) 2001-08-06 2001-08-06 Memory controller

Country Status (1)

Country Link
JP (1) JP2003050739A (en)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7038953B2 (en) 2004-03-26 2006-05-02 Nec Corporation Memory interface control circuit and memory interface control method
JP2006189916A (en) * 2004-12-28 2006-07-20 Matsushita Electric Ind Co Ltd Timing adjustment method and device
JP2007058990A (en) * 2005-08-24 2007-03-08 Nec Electronics Corp Interface circuit and semiconductor device
JP2007507794A (en) * 2003-09-30 2007-03-29 ラムバス・インコーポレーテッド Integrated circuit with bimodal data strobe
JP2009237678A (en) * 2008-03-26 2009-10-15 Fujitsu Microelectronics Ltd Memory controller device, control method for memory controller device and data reception device
JP2011508311A (en) * 2007-12-21 2011-03-10 ラムバス・インコーポレーテッド Method and apparatus for calibrating the write timing of a memory system
US7966439B1 (en) * 2004-11-24 2011-06-21 Nvidia Corporation Apparatus, system, and method for a fast data return memory controller
WO2011077574A1 (en) 2009-12-25 2011-06-30 富士通株式会社 Signal decoding circuit, latency adjustment circuit, memory controller, processor, computer, signal decoding method, and latency adjustment method
JP2012515377A (en) * 2009-01-12 2012-07-05 ラムバス・インコーポレーテッド Clock transfer low power signaling system
JP2015118571A (en) * 2013-12-18 2015-06-25 キヤノン株式会社 Recording reproducing device, method for controlling recording reproducing device, and computer program
JP2017010139A (en) * 2015-06-18 2017-01-12 株式会社日立超エル・エス・アイ・システムズ Memory control device and memory system
CN111831214A (en) * 2019-04-23 2020-10-27 旺宏电子股份有限公司 Method for optimizing input/output delay, system and memory device using the same
JP2021120909A (en) * 2017-06-30 2021-08-19 ルネサスエレクトロニクス株式会社 Semiconductor integrated circuit

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000235517A (en) * 1999-02-12 2000-08-29 Nec Corp Semiconductor integrated circuit and method for adjusting clock delay
JP2001154907A (en) * 1999-11-29 2001-06-08 Nec Kofu Ltd Delay adjustment circuit and information processor

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000235517A (en) * 1999-02-12 2000-08-29 Nec Corp Semiconductor integrated circuit and method for adjusting clock delay
JP2001154907A (en) * 1999-11-29 2001-06-08 Nec Kofu Ltd Delay adjustment circuit and information processor

Cited By (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011146063A (en) * 2003-09-30 2011-07-28 Rambus Inc Integrated circuit with bimodal data strobe
JP2007507794A (en) * 2003-09-30 2007-03-29 ラムバス・インコーポレーテッド Integrated circuit with bimodal data strobe
US7038953B2 (en) 2004-03-26 2006-05-02 Nec Corporation Memory interface control circuit and memory interface control method
US7966439B1 (en) * 2004-11-24 2011-06-21 Nvidia Corporation Apparatus, system, and method for a fast data return memory controller
JP2006189916A (en) * 2004-12-28 2006-07-20 Matsushita Electric Ind Co Ltd Timing adjustment method and device
JP4662536B2 (en) * 2004-12-28 2011-03-30 パナソニック株式会社 Timing adjustment method and apparatus
JP2007058990A (en) * 2005-08-24 2007-03-08 Nec Electronics Corp Interface circuit and semiconductor device
JP2011508311A (en) * 2007-12-21 2011-03-10 ラムバス・インコーポレーテッド Method and apparatus for calibrating the write timing of a memory system
JP2009237678A (en) * 2008-03-26 2009-10-15 Fujitsu Microelectronics Ltd Memory controller device, control method for memory controller device and data reception device
US9753521B2 (en) 2009-01-12 2017-09-05 Rambus Inc. Chip-to-chip signaling link timing calibration
US10331193B2 (en) 2009-01-12 2019-06-25 Rambus Inc. Signaling interface with phase and framing calibration
US8737162B2 (en) 2009-01-12 2014-05-27 Rambus Inc. Clock-forwarding low-power signaling system
US11960344B2 (en) 2009-01-12 2024-04-16 Rambus Inc. Memory controller with looped-back calibration data receiver
US8918667B2 (en) 2009-01-12 2014-12-23 Rambus Inc. Mesochronous signaling system with core-clock synchronization
US9043633B2 (en) 2009-01-12 2015-05-26 Rambus Inc. Memory controller with transaction-queue-monitoring power mode circuitry
US11556164B2 (en) 2009-01-12 2023-01-17 Rambus Inc. Memory IC with data loopback
US9229523B2 (en) 2009-01-12 2016-01-05 Rambus Inc. Memory controller with transaction-queue-dependent power modes
US10901485B2 (en) 2009-01-12 2021-01-26 Rambus Inc. Clock-forwarding memory controller with mesochronously-clocked signaling interface
JP2012515377A (en) * 2009-01-12 2012-07-05 ラムバス・インコーポレーテッド Clock transfer low power signaling system
WO2011077574A1 (en) 2009-12-25 2011-06-30 富士通株式会社 Signal decoding circuit, latency adjustment circuit, memory controller, processor, computer, signal decoding method, and latency adjustment method
US8788780B2 (en) 2009-12-25 2014-07-22 Fujitsu Limited Signal restoration circuit, latency adjustment circuit, memory controller, processor, computer, signal restoration method, and latency adjustment method
JP2015118571A (en) * 2013-12-18 2015-06-25 キヤノン株式会社 Recording reproducing device, method for controlling recording reproducing device, and computer program
JP2017010139A (en) * 2015-06-18 2017-01-12 株式会社日立超エル・エス・アイ・システムズ Memory control device and memory system
JP2021120909A (en) * 2017-06-30 2021-08-19 ルネサスエレクトロニクス株式会社 Semiconductor integrated circuit
JP7075528B2 (en) 2017-06-30 2022-05-25 ルネサスエレクトロニクス株式会社 Semiconductor integrated circuit
CN111831214A (en) * 2019-04-23 2020-10-27 旺宏电子股份有限公司 Method for optimizing input/output delay, system and memory device using the same

Similar Documents

Publication Publication Date Title
JP2003050739A (en) Memory controller
US20050223204A1 (en) Data processing apparatus adopting pipeline processing system and data processing method used in the same
US20090300297A1 (en) Data processing apparatus, memory controller, and access control method of memory controller
CN111782027A (en) DDR memory operation frequency adjusting method and device
US20090235026A1 (en) Data transfer control device and data transfer control method
US20060184752A1 (en) Memory controller and memory control system predicting non-contiguous access
US7315928B2 (en) Apparatus and related method for accessing page mode flash memory
US6769051B2 (en) Memory controller and memory control method for controlling an external memory device to be accessible even in an addressing mode that is not supported thereby
US6629226B1 (en) Fifo read interface protocol
US5916311A (en) Bus controller and information processing device providing reduced idle cycle time during synchronization
US20070277006A1 (en) Systems and methods capable of controlling multiple data access
JP2008152315A (en) Signal processing circuit
KR100882414B1 (en) Memory access device
US6393542B1 (en) Electronic circuit system and interface circuit that compares read and write clock operations
US6810098B1 (en) FIFO read interface protocol
JP2702421B2 (en) Database search method
US20040250038A1 (en) Information processing apparatus and memory access arranging method
JP4377567B2 (en) Semiconductor memory device and apparatus and method for setting burst mode in memory device
JP3251237B2 (en) Reprogramming method in SDRAM
JP3188042B2 (en) Table search device in digital computer
JPH09198305A (en) Memory controller
US20050060475A1 (en) Data transfer apparatus and data transfer method
JP2003216479A (en) Memory read timing adjusting circuit and memory read timing adjusting method
JP2635863B2 (en) Central processing unit
JPH11219314A (en) Information processing system, its memory configuration setting method and recording medium recording its control program

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20050526

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20061129

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080723

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110516

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110524

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20111011