JP6407653B2 - MEMORY CONTROL DEVICE, SEMICONDUCTOR DEVICE, CONTROL PROGRAM, AND MEMORY CONTROL DEVICE OPERATION METHOD - Google Patents

MEMORY CONTROL DEVICE, SEMICONDUCTOR DEVICE, CONTROL PROGRAM, AND MEMORY CONTROL DEVICE OPERATION METHOD Download PDF

Info

Publication number
JP6407653B2
JP6407653B2 JP2014203792A JP2014203792A JP6407653B2 JP 6407653 B2 JP6407653 B2 JP 6407653B2 JP 2014203792 A JP2014203792 A JP 2014203792A JP 2014203792 A JP2014203792 A JP 2014203792A JP 6407653 B2 JP6407653 B2 JP 6407653B2
Authority
JP
Japan
Prior art keywords
data
memory
phase
adjustment
unit
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.)
Active
Application number
JP2014203792A
Other languages
Japanese (ja)
Other versions
JP2016071821A (en
Inventor
岡本 彰
彰 岡本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
MegaChips Corp
Original Assignee
MegaChips Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by MegaChips Corp filed Critical MegaChips Corp
Priority to JP2014203792A priority Critical patent/JP6407653B2/en
Publication of JP2016071821A publication Critical patent/JP2016071821A/en
Application granted granted Critical
Publication of JP6407653B2 publication Critical patent/JP6407653B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Memory System (AREA)

Description

本発明は、メモリを制御するメモリ制御装置に関する。   The present invention relates to a memory control device that controls a memory.

従来から、メモリを制御するメモリ制御装置に関する様々な技術が提案されている。特許文献1には、DDR(Double Data Rate)型のSDRAM (Synchronous Dynamic Random Access Memory) を制御するメモリ制御装置に関する技術が開示されている。   Conventionally, various techniques related to a memory control device for controlling a memory have been proposed. Patent Document 1 discloses a technology related to a memory control device that controls a DDR (Double Data Rate) type SDRAM (Synchronous Dynamic Random Access Memory).

特開2013−4131号公報JP 2013-4131 A

さて、メモリ制御装置がメモリからデータを読み出す際には、メモリ制御装置がメモリからのデータを取り込む際の基準となる制御信号がメモリから出力されることがある。例えば、DDR型のSDRAMからは、データストローブ信号と呼ばれる制御信号が、データとともに出力される。メモリ制御装置は、この制御信号に基づいてメモリからのデータを取り込む。   When the memory control device reads data from the memory, a control signal that serves as a reference when the memory control device fetches data from the memory may be output from the memory. For example, a control signal called a data strobe signal is output together with data from a DDR type SDRAM. The memory control device takes in data from the memory based on this control signal.

メモリ制御装置では、上記の制御信号の位相が適切でなければ、当該制御信号に基づいて、メモリからのデータを適切に取り込めない可能性がある。   In the memory control device, if the phase of the control signal is not appropriate, there is a possibility that the data from the memory cannot be properly captured based on the control signal.

そこで、本発明は上述の点に鑑みて成されたものであり、メモリからデータとともに出力される制御信号の位相を適切な値に設定することが可能な技術を提供することを目的とする。   Therefore, the present invention has been made in view of the above points, and an object thereof is to provide a technique capable of setting the phase of a control signal output together with data from a memory to an appropriate value.

上記課題を解決するため、本発明に係るメモリ制御装置の一態様は、メモリを制御するメモリ制御装置であって、前記メモリ制御装置が前記メモリからデータを読み出す際に当該メモリがデータとともに出力する第1制御信号に対して位相調整を行う第1位相調整部と、前記第1制御信号に基づいて、前記メモリから読み出されたデータを取り込むデータ取り込み部とを備え、前記メモリ制御装置は、前記第1制御信号に対する位相調整用の第1調整用データを前記メモリに書き込み、前記データ取り込み部は、前記メモリ制御装置が前記メモリから読み出した前記第1調整用データを前記第1制御信号に基づいて取り込み、前記第1位相調整部は、前記データ取り込み部によって取り込まれた前記第1調整用データが適切か否かを判定し、その判定結果に基づいて前記第1制御信号に対する位相調整を行い、前記メモリ制御装置は、前記第1調整用データに含まれる複数種類の第1データのそれぞれについて、当該第1データを前記メモリに書き込んだ後、当該第1データを前記メモリから読み出す処理を複数回実行し、前記第1位相調整部は、前記複数種類の第1データのそれぞれについて、当該第1データを用いた前記処理が前記メモリ制御装置で実行されるたびに、前記第1制御信号の位相を変化させ、前記第1位相調整部は、前記複数種類の第1データのそれぞれについて、前記メモリ制御装置が前記処理を実行するたびに前記データ取り込み部によって取り込まれた当該第1データがそれぞれ適切であるか否かを判定し、その判定結果に基づいて、前記複数種類の第1データのそれぞれについて、前記データ取り込み部によって取り込まれた当該第1データが適切となる前記第1制御信号の位相範囲を特定し、特定した複数の位相範囲が重複する範囲の中央値を前記第1制御信号の位相の適切な値とするIn order to solve the above problems, one aspect of a memory control device according to the present invention is a memory control device that controls a memory, and the memory control device outputs data together with the data when the memory control device reads data from the memory A first phase adjusting unit that performs phase adjustment on the first control signal; and a data capturing unit that captures data read from the memory based on the first control signal. The first adjustment data for phase adjustment with respect to the first control signal is written to the memory, and the data capturing unit uses the first adjustment data read from the memory by the memory control device as the first control signal. The first phase adjustment unit determines whether the first adjustment data captured by the data capture unit is appropriate, There line phase adjustment to the determination that said first control signal based on the, the memory controller, wherein each of the plurality of types of first data contained in the first adjustment data, the said first data memory , The process of reading the first data from the memory is executed a plurality of times, and the first phase adjustment unit performs the process using the first data for each of the plurality of types of first data. Each time it is executed by the memory control device, the phase of the first control signal is changed, and the first phase adjustment unit executes the process for each of the plurality of types of first data. Each time it is determined whether each of the first data captured by the data capturing unit is appropriate, and based on the determination result, the plurality of types of first data For each of the data, the phase range of the first control signal in which the first data captured by the data capturing unit is appropriate is identified, and the median of the range where the identified plurality of phase ranges overlap is the first value The phase of one control signal is set to an appropriate value .

また、本発明に係るメモリ制御装置の一態様では、前記第1位相調整部は、前記データ取り込み部によって取り込まれた前記第1データに対してパリティチェックを行うことによって、当該第1データが適切か否かを判定する。 Further, in one embodiment of a memory controller according to the present invention, the first phase adjustment unit, by performing a parity check with respect to the first data captured by the data capturing unit, the first de It is determined whether the data is appropriate.

また、本発明に係るメモリ制御装置の一態様では、前記メモリ制御装置と前記メモリとの間のデータバスのビット数は、N(≧2)ビットであり、前記複数種類の第1データのそれぞれは、パターンデータであって、前記複数種類の第1データは、Nビットから成る第1単位データと、Nビットから成る第2単位データとが交互に現れる第1パターンデータと、Nビットから成る第3単位データと、Nビットから成る第4単位データとが交互に現れる第2パターンデータとを含み、前記第1及び第2単位データの間では1ビットだけ相違し、前記第3及び第4単位データの間ではNビットすべて相違する。   In one aspect of the memory control device according to the present invention, the number of bits of the data bus between the memory control device and the memory is N (≧ 2) bits, and each of the plurality of types of first data Is pattern data, and the plurality of types of first data includes first pattern data in which first unit data consisting of N bits and second unit data consisting of N bits appear alternately, and N bits. 3rd unit data and 2nd pattern data in which the 4th unit data which consists of N bits appear alternately, differ only 1 bit between the 1st and 2nd unit data, and the 3rd and 4th All N bits are different between unit data.

また、本発明に係るメモリ制御装置の一態様では、前記メモリ制御装置が、前記メモリにデータを書き込む際に出力する、当該メモリが当該データを取り込む際の基準となる第2制御信号に対して位相調整を行う第2位相調整部が設けられ、前記メモリ制御装置は、前記第2制御信号に対する位相調整用の第2調整用データを前記メモリに書き込み、前記データ取り込み部は、前記メモリ制御装置が前記メモリから読み出した前記第2調整用データを前記第1制御信号に基づいて取り込み、前記第2位相調整部は、前記データ取り込み部によって取り込まれた前記第2調整用データが適切か否かを判定し、その判定結果に基づいて前記第2制御信号に対する位相調整を行う。   In one aspect of the memory control device according to the present invention, the memory control device outputs a second control signal that is output when the memory writes data into the memory and serves as a reference when the memory takes in the data. A second phase adjustment unit configured to perform phase adjustment; the memory control device writes second adjustment data for phase adjustment with respect to the second control signal to the memory; and the data capturing unit includes the memory control device. Fetches the second adjustment data read from the memory based on the first control signal, and the second phase adjustment unit determines whether the second adjustment data fetched by the data fetch unit is appropriate. And adjusting the phase of the second control signal based on the determination result.

また、本発明に係るメモリ制御装置の一態様では、前記メモリ制御装置が、前記メモリにデータを書き込む際あるいは当該メモリからデータを読み出す際に、当該データに先立って出力する第3制御信号に対して位相調整を行う第3位相調整部が設けられ、前記メモリ制御装置は、前記第3制御信号に対する位相調整用の第3調整用データを前記メモリに書き込み、前記データ取り込み部は、前記メモリ制御装置が前記メモリから読み出した前記第3調整用データを前記第1制御信号に基づいて取り込み、前記第3位相調整部は、前記データ取り込み部によって取り込まれた前記第3調整用データが適切か否かを判定し、その判定結果に基づいて前記第3制御信号に対する位相調整を行う。   In one aspect of the memory control device according to the present invention, when the memory control device writes data to the memory or reads data from the memory, the third control signal output prior to the data is output. A third phase adjustment unit for performing phase adjustment, the memory control device writes third adjustment data for phase adjustment with respect to the third control signal to the memory, and the data capturing unit is configured to control the memory control. The apparatus reads the third adjustment data read from the memory based on the first control signal, and the third phase adjustment unit determines whether the third adjustment data read by the data acquisition unit is appropriate. And adjusting the phase of the third control signal based on the determination result.

また、本発明に係る半導体装置は、上記のメモリ制御装置と、前記メモリ制御装置が制御するメモリとを備える。   A semiconductor device according to the present invention includes the above-described memory control device and a memory controlled by the memory control device.

また、本発明に係る制御プログラムの一態様は、メモリを制御するメモリ制御装置を制御するための制御プログラムであって、前記メモリ制御装置に、(a)前記メモリ制御装置が前記メモリからデータを読み出す際に、当該メモリがデータとともに出力する制御信号に対する位相調整用の調整用データを前記メモリに書き込み、書き込んだ前記調整用データを前記メモリから読み出す工程と、(b)前記メモリから読み出された前記調整用データを前記制御信号に基づいて取り込む工程と、(c)前記制御信号に基づいて取り込まれた前記調整用データが適切か否かを判定し、その判定結果に基づいて前記制御信号に対する位相調整を行う工程とを実行させ、前記工程(a)は、前記調整用データに含まれる複数種類のデータのそれぞれについて、当該データを前記メモリに書き込んだ後、当該データを前記メモリから読み出す処理を複数回実行する工程を含み、前記工程(b)は、前記複数種類のデータのそれぞれについて、当該データを用いた前記処理が実行されるたびに、前記制御信号の位相を変化させて前記データを前記制御信号に基づいて取り込む工程を含み、前記工程(c)は、前記複数種類のデータのそれぞれについて、前記処理が実行されるたびに取り込まれた当該データがそれぞれ適切であるか否かを判定し、その判定結果に基づいて、前記複数種類のデータのそれぞれについて、取り込まれた当該データが適切となる前記制御信号の位相範囲を特定し、特定した複数の位相範囲が重複する範囲の中央値を前記制御信号の位相の適切な値とする工程を含むAnother aspect of the control program according to the present invention is a control program for controlling a memory control device that controls a memory, wherein the memory control device receives data from the memory. when reading, the adjustment data for phase adjustment to the control signal to which the memory is output together with data write in the memory, a step of reading out the adjustment data written from the memory, read out from the (b) said memory (C) determining whether or not the adjustment data acquired based on the control signal is appropriate, and performing the control based on the determination result to execute a step of performing phase adjustment to signals, wherein the step (a), each of the plurality of types of data included in the adjustment data Then, after writing the data into the memory, the process includes a step of executing a process of reading the data from the memory a plurality of times, and the step (b) uses the data for each of the plurality of types of data. Each time the processing is executed, the method includes a step of changing the phase of the control signal and taking in the data based on the control signal, wherein the step (c) includes the processing for each of the plurality of types of data. Each time when is executed, it is determined whether or not the captured data is appropriate, and based on the determination result, for each of the plurality of types of data, the captured data becomes appropriate Specifying a phase range of the signal, and setting a median value of a range where the specified plurality of phase ranges overlap as an appropriate value of the phase of the control signal .

また、本発明に係るメモリ制御装置の動作方法の一態様は、メモリを制御するメモリ制御装置の動作方法であって、(a)前記メモリ制御装置が前記メモリからデータを読み出す際に、当該メモリがデータとともに出力する制御信号に対する位相調整用の調整用データを前記メモリに書き込み、書き込んだ前記調整用データを前記メモリから読み出す工程と、(b)前記メモリから読み出された前記調整用データを前記制御信号に基づいて取り込む工程と、(c)前記制御信号に基づいて取り込まれた前記調整用データが適切か否かを判定し、その判定結果に基づいて前記制御信号に対する位相調整を行う工程とを備え、前記工程(a)は、前記調整用データに含まれる複数種類のデータのそれぞれについて、当該データを前記メモリに書き込んだ後、当該データを前記メモリから読み出す処理を複数回実行する工程を含み、前記工程(b)は、前記複数種類のデータのそれぞれについて、当該データを用いた前記処理が実行されるたびに、前記制御信号の位相を変化させて前記データを前記制御信号に基づいて取り込む工程を含み、前記工程(c)は、前記複数種類のデータのそれぞれについて、前記処理が実行されるたびに取り込まれた当該データがそれぞれ適切であるか否かを判定し、その判定結果に基づいて、前記複数種類のデータのそれぞれについて、取り込まれた当該データが適切となる前記制御信号の位相範囲を特定し、特定した複数の位相範囲が重複する範囲の中央値を前記制御信号の位相の適切な値とする工程を含む
An aspect of the operation method of the memory control device according to the present invention is an operation method of the memory control device that controls a memory, and (a) when the memory control device reads data from the memory, the memory process and, (b) the adjustment data read out from said memory but to read write the adjustment data for phase adjustment to the control signal to be output with the data in the memory, the adjustment data written from the memory (C) determining whether or not the adjustment data acquired based on the control signal is appropriate, and performing phase adjustment on the control signal based on the determination result and a step, wherein the step (a) for each of the plurality of types of data included in the adjustment data, writing the data to the memory A process of reading the data from the memory a plurality of times, and the step (b) is performed each time the process using the data is performed for each of the plurality of types of data. A step of capturing the data based on the control signal by changing a phase of the control signal, and the step (c) is captured each time the processing is executed for each of the plurality of types of data. Whether or not the data is appropriate, and based on the determination result, for each of the multiple types of data, identify the phase range of the control signal for which the captured data is appropriate, A step of setting a median value of a range where the plurality of identified phase ranges overlap to an appropriate value of the phase of the control signal .

本発明の一態様によれば、メモリからデータとともに出力される制御信号の位相を適切な値に設定することができる。   According to one embodiment of the present invention, the phase of a control signal output together with data from a memory can be set to an appropriate value.

半導体装置の構成を示す図である。It is a figure which shows the structure of a semiconductor device. クロック信号、データ及びデータストローブ信号の理想的な関係を示す図である。It is a figure which shows the ideal relationship of a clock signal, data, and a data strobe signal. メモリ制御装置の構成を示す図である。It is a figure which shows the structure of a memory control apparatus. メモリ制御装置の動作を示すフローチャートである。It is a flowchart which shows operation | movement of a memory control apparatus. 調整用データの一例を示す図である。It is a figure which shows an example of the data for adjustment. リード側データストローブ信号の位相の設定値の一例を示す図である。It is a figure which shows an example of the setting value of the phase of a read side data strobe signal. メモリ制御装置の動作を示すフローチャートである。It is a flowchart which shows operation | movement of a memory control apparatus. 判定部での判定結果の一例を示す図である。It is a figure which shows an example of the determination result in a determination part. メモリ制御装置の動作を示すフローチャートである。It is a flowchart which shows operation | movement of a memory control apparatus. 判定部での判定結果の一例を示す図である。It is a figure which shows an example of the determination result in a determination part. メモリ制御装置の動作を示すフローチャートである。It is a flowchart which shows operation | movement of a memory control apparatus. 判定部での判定結果の一例を示す図である。It is a figure which shows an example of the determination result in a determination part. 調整用データに含まれるパターンデータの一例を示す図である。It is a figure which shows an example of the pattern data contained in the data for adjustment. 調整用データに含まれるパターンデータの一例を示す図である。It is a figure which shows an example of the pattern data contained in the data for adjustment. メモリ制御装置の動作を示すフローチャートである。It is a flowchart which shows operation | movement of a memory control apparatus. メモリ制御装置の動作を示すフローチャートである。It is a flowchart which shows operation | movement of a memory control apparatus.

図1は実施の形態に係る半導体装置1の構成を示す図である。図1に示されるように、半導体装置1は、メモリ2及び半導体集積回路3を備えている。メモリ2は、例えばDDR型のSDRAMである。半導体集積回路3は、例えば、入力される画像データに対して圧縮処理等の各種画像処理を行う画像処理回路である。半導体集積回路3は、画像データ等をメモリ2に書き込んだり、メモリ2内の画像データ等を読み出したりする。半導体集積回路3は、メモリ2を制御するメモリ制御装置4を備えている。メモリ制御装置4は、メモリ2にデータを書き込み、メモリ2からデータを読み出す。メモリ制御装置4とメモリ2とは、様々な信号線によって互いに接続されており、当該信号線を使用して信号のやり取りを行う。なお、半導体集積回路3は画像処理回路以外であっても良い。   FIG. 1 is a diagram showing a configuration of a semiconductor device 1 according to an embodiment. As shown in FIG. 1, the semiconductor device 1 includes a memory 2 and a semiconductor integrated circuit 3. The memory 2 is, for example, a DDR type SDRAM. The semiconductor integrated circuit 3 is an image processing circuit that performs various image processing such as compression processing on input image data, for example. The semiconductor integrated circuit 3 writes image data or the like into the memory 2 or reads image data or the like in the memory 2. The semiconductor integrated circuit 3 includes a memory control device 4 that controls the memory 2. The memory control device 4 writes data to the memory 2 and reads data from the memory 2. The memory control device 4 and the memory 2 are connected to each other by various signal lines, and exchange signals using the signal lines. The semiconductor integrated circuit 3 may be other than the image processing circuit.

本実施の形態では、半導体集積回路3とメモリ2とは別々のパッケージに収められている。そして、半導体集積回路3及びメモリ2は、プリント基板10上に搭載されており、当該プリント基板10上に設けられた配線によって互いに接続されている。なお、半導体集積回路3とメモリ2とは一つのパッケージに収められても良い。   In the present embodiment, the semiconductor integrated circuit 3 and the memory 2 are housed in separate packages. The semiconductor integrated circuit 3 and the memory 2 are mounted on the printed circuit board 10 and are connected to each other by wiring provided on the printed circuit board 10. The semiconductor integrated circuit 3 and the memory 2 may be housed in one package.

メモリ制御装置4は、クロック信号CLKに同期して動作する。またメモリ制御装置4は、メモリ2に対してクロック信号CLKを出力する。メモリ2はクロック信号CLKに同期して動作する。   The memory control device 4 operates in synchronization with the clock signal CLK. Further, the memory control device 4 outputs a clock signal CLK to the memory 2. The memory 2 operates in synchronization with the clock signal CLK.

メモリ制御装置4とメモリ2とは、データDQのやり取りを行うデータ線DQLによって互いに接続されている。データ線DQLは双方向の信号線である。メモリ制御装置4が出力するデータDQはデータ線DQLを通じてメモリ2に入力され、メモリ2が出力するデータDQはデータ線DQLを通じてメモリ制御装置4に入力される。データ線DQLにデータDQが出力されていない場合には、データ線DQLはハイインピーダンスとなる。   The memory control device 4 and the memory 2 are connected to each other by a data line DQL that exchanges data DQ. The data line DQL is a bidirectional signal line. Data DQ output from the memory control device 4 is input to the memory 2 through the data line DQL, and data DQ output from the memory 2 is input to the memory control device 4 through the data line DQL. When data DQ is not output to the data line DQL, the data line DQL becomes high impedance.

データ線DQLはN(≧2)ビットのデータバスである。データDQはNビットデータである。したがって、メモリ制御装置4とメモリ2との間のデータのやり取りはNビット単位で行われる。本実施の形態では、例えばN=8である。なお、Nの値はこれに限られない。例えば、N=4、N=16、N=32であっても良い。以後、メモリ2から読み出されるデータDQを「リードデータrDQ」と呼び、メモリ2に書き込まれるデータDQを「ライトデータwDQ」と呼ぶことがある。   The data line DQL is an N (≧ 2) bit data bus. Data DQ is N-bit data. Therefore, data exchange between the memory control device 4 and the memory 2 is performed in units of N bits. In the present embodiment, for example, N = 8. Note that the value of N is not limited to this. For example, N = 4, N = 16, and N = 32 may be used. Hereinafter, the data DQ read from the memory 2 may be referred to as “read data rDQ”, and the data DQ written to the memory 2 may be referred to as “write data wDQ”.

メモリ制御装置4とメモリ2とは、データストローブ信号DQSのやり取りを行うデータストローブ線DQSLによって互いに接続されている。データストローブ線DQSLは双方向の信号線である。メモリ制御装置4が出力するデータストローブ信号DQSはデータストローブ線DQSLを通じてメモリ2に入力され、メモリ2が出力するデータストローブ信号DQSはデータストローブ線DQSLを通じてメモリ制御装置4に入力される。データストローブ線DQSLにデータストローブ信号DQSが出力されていない場合には、データストローブ線DQSLはハイインピーダンスとなる。   The memory control device 4 and the memory 2 are connected to each other by a data strobe line DQSL that exchanges a data strobe signal DQS. The data strobe line DQSL is a bidirectional signal line. The data strobe signal DQS output from the memory control device 4 is input to the memory 2 through the data strobe line DQSL, and the data strobe signal DQS output from the memory 2 is input to the memory control device 4 through the data strobe line DQSL. When the data strobe signal DQS is not output to the data strobe line DQSL, the data strobe line DQSL becomes high impedance.

メモリ制御装置4は、データストローブ信号DQS以外の複数種類の制御信号CNTをメモリ2に出力する。複数種類の制御信号CNTには、アドレス信号ADDR、ロウアドレスストローブ信号RAS、カラムアドレスストローブ信号CAS、チップセレクト信号CS、ライトイネーブル信号WE等が含まれている。メモリ制御装置4は、リードサイクル及びライトサイクルにおいて、データストローブ信号DQS及びデータDQに先立って制御信号CNTを出力する。以後、制御信号CNTを「先行制御信号CNT」と呼ぶことがある。   The memory control device 4 outputs a plurality of types of control signals CNT other than the data strobe signal DQS to the memory 2. The plurality of types of control signals CNT include an address signal ADDR, a row address strobe signal RAS, a column address strobe signal CAS, a chip select signal CS, a write enable signal WE, and the like. The memory control device 4 outputs the control signal CNT prior to the data strobe signal DQS and the data DQ in the read cycle and the write cycle. Hereinafter, the control signal CNT may be referred to as “preceding control signal CNT”.

図2は、クロック信号CLK、データDQ及びデータストローブ信号DQSの理想的な関係を示す図である。図2の上から1番目にはクロック信号CLKが示されている。図2の上から2番目にはデータストローブ信号DQSが示されている。図2の上から3番目にはリードデータrDQが示されている。そして、図2の一番下にはライトデータwDQが示されている。   FIG. 2 is a diagram illustrating an ideal relationship among the clock signal CLK, the data DQ, and the data strobe signal DQS. The clock signal CLK is shown first from the top in FIG. The data strobe signal DQS is shown second from the top in FIG. Read data rDQ is shown third from the top in FIG. The write data wDQ is shown at the bottom of FIG.

データストローブ信号DQSは、クロック信号CLKに同期して、Highレベル及びLowレベルを交互に繰り返す信号である。つまり、データストローブ信号DQSは、クロック信号CLKに同期して、立ち上がりエッジ及び立ち上がりエッジを交互に繰り返す信号である。データストローブ信号DQSの周期はクロック信号CLKの周期と一致する。   The data strobe signal DQS is a signal that alternately repeats a high level and a low level in synchronization with the clock signal CLK. That is, the data strobe signal DQS is a signal that alternately repeats the rising edge and the rising edge in synchronization with the clock signal CLK. The cycle of the data strobe signal DQS coincides with the cycle of the clock signal CLK.

リードサイクルでは、理想的には、メモリ2から出力されるデータストローブ信号DQSにエッジが現れるたびに、当該エッジのタイミングで、メモリ2からのリードデータrDQの出力が開始する。1回のリードサイクルにおいては、データストローブ信号DQSに複数回エッジが現れることから、1回のリードサイクルでは、8ビットのリードデータrDQがメモリ2から複数回出力される。つまり、1回のリードサイクルにおいて、リードデータrDQがバースト的にメモリ2から出力される。   Ideally, in the read cycle, every time an edge appears in the data strobe signal DQS output from the memory 2, the output of the read data rDQ from the memory 2 starts at the timing of the edge. In one read cycle, an edge appears in the data strobe signal DQS a plurality of times. Therefore, in one read cycle, 8-bit read data rDQ is output from the memory 2 a plurality of times. That is, the read data rDQ is output from the memory 2 in a burst manner in one read cycle.

一方で、ライトサイクルでは、理想的には、メモリ制御装置4から出力されるデータストローブ信号DQSにエッジが現れるたびに、当該エッジのタイミングから1/4サイクル前に、メモリ制御装置4からのライトデータwDQの出力が開始する。1回のライトサイクルにおいては、データストローブ信号DQSに複数回エッジが現れることから、1回のライトサイクルでは、8ビットのライトデータwDQがメモリ制御装置4から複数回出力される。つまり、1回のライトサイクルにおいて、ライトデータwDQがバースト的にメモリ制御装置4から出力される。   On the other hand, in the write cycle, ideally, every time an edge appears in the data strobe signal DQS output from the memory control device 4, a write cycle from the memory control device 4 is made 1/4 cycle before the edge timing. Output of data wDQ starts. Since one edge appears in the data strobe signal DQS in one write cycle, 8-bit write data wDQ is output from the memory controller 4 a plurality of times in one write cycle. That is, in one write cycle, the write data wDQ is output from the memory control device 4 in a burst manner.

リードサイクルにおいて、メモリ制御装置4内でのデータストローブ信号DQS及びリードデータrDQの位相の関係が図2に示される関係であれば、メモリ制御装置4は、入力されたデータストローブ信号DQSの位相を90°だけ遅らせるだけで、データストローブ信号DQSの各エッジのタイミングでリードデータrDQを適切に取り込むことができる。しかしながら、メモリ制御装置4とメモリ2とを実際に接続すると、配線遅延、同時スイッチングノイズなどが原因で、メモリ制御装置4内では、データストローブ信号DQS及びリードデータrDQの位相の関係が図2のような理想的な関係にはならない可能性がある。したがって、メモリ制御装置4は、入力されたデータストローブ信号DQSの位相を90°だけ遅延させるだけでは、リードデータrDQを適切に取り込むことができない可能性がある。   If the phase relationship between the data strobe signal DQS and the read data rDQ in the memory control device 4 in the read cycle is the relationship shown in FIG. 2, the memory control device 4 changes the phase of the input data strobe signal DQS. The read data rDQ can be appropriately captured at the timing of each edge of the data strobe signal DQS only by delaying by 90 °. However, when the memory control device 4 and the memory 2 are actually connected, the phase relationship between the data strobe signal DQS and the read data rDQ in the memory control device 4 is caused by wiring delay, simultaneous switching noise, and the like. It may not be an ideal relationship. Therefore, there is a possibility that the memory control device 4 cannot appropriately take in the read data rDQ only by delaying the phase of the input data strobe signal DQS by 90 °.

また、ライトサイクルにおいて、メモリ2内でのデータストローブ信号DQS及びライトデータwDQの位相の関係が図2に示される関係であれば、メモリ2は、入力されたデータストローブ信号DQSの各エッジのタイミングでライトデータwDQを取り込むことができる。しかしながら、メモリ制御装置4とメモリ2とを実際に接続すると、配線遅延、同時スイッチングノイズなどが原因で、メモリ2内では、データストローブ信号DQS及びライトデータwDQの位相の関係が図2のような理想的な関係にはならない可能性がある。したがって、メモリ2は、入力されたデータストローブ信号DQSの各エッジのタイミングでライトデータwDQを取り込んだとしても、当該ライトデータwDQを適切に取り込むことができない可能性がある。   Further, in the write cycle, if the phase relationship between the data strobe signal DQS and the write data wDQ in the memory 2 is the relationship shown in FIG. 2, the memory 2 determines the timing of each edge of the input data strobe signal DQS. Can capture the write data wDQ. However, when the memory control device 4 and the memory 2 are actually connected, the relationship between the phases of the data strobe signal DQS and the write data wDQ in the memory 2 is as shown in FIG. There may be no ideal relationship. Therefore, even if the memory 2 captures the write data wDQ at the timing of each edge of the input data strobe signal DQS, there is a possibility that the memory 2 cannot properly capture the write data wDQ.

また、市場に投入された実運用中の半導体装置1においては、温度変化、電源電圧の変化等によって、リードサイクルでのデータストローブ信号DQS及びリードデータrDQの位相の関係が変化することがある。したがって、その位相関係が調整されない場合には、あるタイミングにおいて、メモリ制御装置4が、入力されたデータストローブ信号DQSに基づいてリードデータrDQを適切に取り込むことができたとしても、別のタイミングでは、入力されたデータストローブ信号DQSに基づいてリードデータrDQを適切に取り込むことができない可能性がある。   Further, in the semiconductor device 1 in actual operation that has been put on the market, the phase relationship between the data strobe signal DQS and the read data rDQ in the read cycle may change due to a change in temperature, a change in power supply voltage, or the like. Therefore, if the phase relationship is not adjusted, even if the memory control device 4 can appropriately capture the read data rDQ based on the input data strobe signal DQS at a certain timing, at another timing, The read data rDQ may not be properly captured based on the input data strobe signal DQS.

同様に、実運用中の半導体装置1においては、温度変化、電源電圧の変化等によって、ライトサイクルでのデータストローブ信号DQS及びライトデータwDQの位相の関係が変化することがある。したがって、その位相関係が調整されない場合には、あるタイミングにおいて、メモリ2が、入力されたデータストローブ信号DQSに基づいてライトデータwDQを適切に取り込むことができたとしても、別のタイミングでは、入力されたデータストローブ信号DQSに基づいてライトデータwDQを適切に取り込むことができない可能性がある。   Similarly, in the semiconductor device 1 in actual operation, the phase relationship between the data strobe signal DQS and the write data wDQ in the write cycle may change due to a change in temperature, a change in power supply voltage, or the like. Therefore, if the phase relationship is not adjusted, even if the memory 2 can appropriately capture the write data wDQ based on the input data strobe signal DQS at a certain timing, There is a possibility that the write data wDQ cannot be properly captured based on the data strobe signal DQS that has been set.

そこで、本実施の形態に係るメモリ制御装置4は、当該メモリ制御装置4においてリードデータrDQを適切に取り込むことができ、メモリ2においてもライトデータwDQを適切に取り込むことができるように、データストローブ信号DQSの位相を適切な値に設定できるように構成されている。   Therefore, the memory control device 4 according to the present embodiment can appropriately read the read data rDQ in the memory control device 4 and can properly capture the write data wDQ in the memory 2 as well. The phase of the signal DQS can be set to an appropriate value.

また、メモリ制御装置4が、リードサイクルあるいはライトサイクルにおいて、データストローブ信号DQS及びデータDQに先立って出力する、アドレス信号ADDR等の先行制御信号CNTの位相については、メモリ制御装置4単体では適切な値になっていたとしても、メモリ制御装置4とメモリ2とを実際に接続すると、配線遅延、同時スイッチングノイズなどが原因で適切な値にならない可能性がある。また、実運用中の半導体装置1では、温度変化、電源電圧の変化等によって、先行制御信号CNTの位相が変化することがある。したがって、先行制御信号CNTの位相が調整されない場合には、メモリ制御装置4は、メモリ2から適切にデータを読み出すことができなかったり、メモリ2に対して適切にデータを書き込めなかったりする可能性がある。   The phase of the preceding control signal CNT such as the address signal ADDR that the memory control device 4 outputs prior to the data strobe signal DQS and the data DQ in the read cycle or the write cycle is appropriate for the memory control device 4 alone. Even if it is a value, if the memory control device 4 and the memory 2 are actually connected, there is a possibility that an appropriate value may not be obtained due to wiring delay, simultaneous switching noise, and the like. Further, in the semiconductor device 1 in actual operation, the phase of the preceding control signal CNT may change due to temperature change, power supply voltage change, and the like. Therefore, when the phase of the preceding control signal CNT is not adjusted, the memory control device 4 may not be able to read data properly from the memory 2 or may not be able to write data to the memory 2 properly. There is.

そこで、本実施の形態に係るメモリ制御装置4は、メモリ2から適切にデータを読み出したり、メモリ2に対して適切にデータを書き込めたりできるように、先行制御信号CNTの位相も適切な値に設定できるように構成されている。以下にメモリ制御装置4について詳細に説明する。   Therefore, the memory control device 4 according to the present embodiment also sets the phase of the preceding control signal CNT to an appropriate value so that data can be appropriately read from the memory 2 and data can be appropriately written to the memory 2. It is configured to be configurable. Hereinafter, the memory control device 4 will be described in detail.

<メモリ制御装置の詳細について>
本実施の形態では、メモリ制御装置4は、動作モードとして、位相調整モードを備えている。位相調整モードでは、データストローブ信号DQS等の制御信号の位相が調整される。以後、メモリ制御装置4での、位相調整モード以外の動作モードを「通常モード」と呼ぶ。通常モードでは、位相調整モードで位相が適切に調整された各種制御信号が使用されて、メモリ2に対してライトアクセス及びリードアクセスが行われる。
<Details of memory control device>
In the present embodiment, the memory control device 4 has a phase adjustment mode as an operation mode. In the phase adjustment mode, the phase of the control signal such as the data strobe signal DQS is adjusted. Hereinafter, an operation mode other than the phase adjustment mode in the memory control device 4 is referred to as a “normal mode”. In the normal mode, various control signals whose phases are appropriately adjusted in the phase adjustment mode are used to perform write access and read access to the memory 2.

図3はメモリ制御装置4の構成を示す図である。図3に示されるように、メモリ制御装置4は、主制御部40と、調整部41,42,43と、位相調整用制御部44と、セレクタ45と、データ取り込み部46と、判定部47とを備えている。メモリ制御装置4は、一種のコンピュータ装置である。   FIG. 3 is a diagram showing a configuration of the memory control device 4. As shown in FIG. 3, the memory control device 4 includes a main control unit 40, adjustment units 41, 42, 43, a phase adjustment control unit 44, a selector 45, a data capture unit 46, and a determination unit 47. And. The memory control device 4 is a kind of computer device.

主制御部40は、メモリ制御装置4全体の動作を管理する。また主制御部40は、半導体集積回路3全体の動作も管理する。主制御部40は、例えば、CPU400及び記憶部401等を備えている。記憶部401は、ROM(Read Only Memory)及びRAM(Random Access Memory)等の、CPU400が読み取り可能な非一時的な記録媒体で構成されている。記憶部401内には、メモリ制御装置4あるいは半導体集積回路3を制御するための様々な制御プログラムが記憶されている。例えば、記憶部401には、メモリ制御装置4を制御するための制御プログラムの一種である位相調整用プログラム402が記憶されている。位相調整用プログラム402は、データストローブ信号DQS等の制御信号の位相を調整するための制御プログラムである。CPU400が記憶部401内の位相調整用プログラム402を実行することによって、メモリ制御装置4の動作モードは位相調整モードとなる。   The main control unit 40 manages the operation of the entire memory control device 4. The main control unit 40 also manages the operation of the entire semiconductor integrated circuit 3. The main control unit 40 includes, for example, a CPU 400, a storage unit 401, and the like. The storage unit 401 includes a non-transitory recording medium that can be read by the CPU 400, such as a ROM (Read Only Memory) and a RAM (Random Access Memory). In the storage unit 401, various control programs for controlling the memory control device 4 or the semiconductor integrated circuit 3 are stored. For example, the storage unit 401 stores a phase adjustment program 402 that is a type of control program for controlling the memory control device 4. The phase adjustment program 402 is a control program for adjusting the phase of a control signal such as the data strobe signal DQS. When the CPU 400 executes the phase adjustment program 402 in the storage unit 401, the operation mode of the memory control device 4 becomes the phase adjustment mode.

主制御部40は、メモリ2に供給するクロック信号CLK及び複数種類の先行制御信号CNTを生成して出力する。また主制御部40は、メモリ制御装置4が通常モードで動作する際にメモリ2に書き込むライトデータwDQを生成して出力する。以後、当該ライトデータwDQを「通常ライトデータwDQn」と呼ぶことがある。   The main control unit 40 generates and outputs a clock signal CLK and a plurality of types of preceding control signals CNT supplied to the memory 2. The main control unit 40 also generates and outputs write data wDQ to be written to the memory 2 when the memory control device 4 operates in the normal mode. Hereinafter, the write data wDQ may be referred to as “normal write data wDQn”.

さらに主制御部40は、ライトサイクルにおいて、データストローブ信号DQSを生成して出力する。以後、当該データストローブ信号DQSを「ライト側データストローブ信号wDQS」と呼ぶことがある。   Further, main controller 40 generates and outputs data strobe signal DQS in the write cycle. Hereinafter, the data strobe signal DQS may be referred to as a “write side data strobe signal wDQS”.

調整部41は、主制御部40が出力する複数種類の先行制御信号CNTの位相を調整する。調整部41で位相が調整された複数種類の先行制御信号CNTはメモリ2に入力される。本実施の形態では、複数種類の先行制御信号CNTの位相はまとめて調整されるが、複数種類の先行制御信号CNTのそれぞれの位相は個別に調整されても良い。   The adjustment unit 41 adjusts the phases of a plurality of types of preceding control signals CNT output from the main control unit 40. A plurality of types of preceding control signals CNT whose phases have been adjusted by the adjustment unit 41 are input to the memory 2. In the present embodiment, the phases of the plurality of types of preceding control signals CNT are adjusted together, but the phases of the plurality of types of preceding control signals CNT may be individually adjusted.

調整部42は、主制御部40が出力するライト側データストローブ信号wDQSの位相を調整する。調整部42で位相が調整されたライト側データストローブ信号wDQSはメモリ2に入力される。   The adjustment unit 42 adjusts the phase of the write-side data strobe signal wDQS output from the main control unit 40. The write side data strobe signal wDQS whose phase has been adjusted by the adjustment unit 42 is input to the memory 2.

調整部43は、リードサイクルにおいて、メモリ2が出力するデータストローブ信号DQSの位相を調整する。以後、当該データストローブ信号DQSを「リード側データストローブ信号rDQS」と呼ぶことがある。調整部43で位相が調整されたリード側データストローブ信号rDQSはデータ取り込み部46に入力される。   The adjustment unit 43 adjusts the phase of the data strobe signal DQS output from the memory 2 in the read cycle. Hereinafter, the data strobe signal DQS may be referred to as “read-side data strobe signal rDQS”. The read-side data strobe signal rDQS whose phase has been adjusted by the adjusting unit 43 is input to the data capturing unit 46.

位相調整用制御部44は、主制御部40によって制御される。位相調整用制御部44は、調整部41,42,43のそれぞれを個別に制御する。また位相調整用制御部44は、メモリ制御装置4が位相調整モードで動作する際に、データストローブ信号DQS等の制御信号に対する位相調整用のライトデータwDQを出力する。以後、当該ライトデータwDQを「調整用データwDQt」と呼ぶことがある。   The phase adjustment control unit 44 is controlled by the main control unit 40. The phase adjustment control unit 44 controls each of the adjustment units 41, 42, and 43 individually. The phase adjustment control unit 44 outputs phase adjustment write data wDQ for a control signal such as the data strobe signal DQS when the memory control device 4 operates in the phase adjustment mode. Hereinafter, the write data wDQ may be referred to as “adjustment data wDQt”.

調整部41,42のそれぞれは、入力される制御信号の位相を遅延させる複数の遅延バッファを有している。調整部41,42のそれぞれは、遅延バッファのカスケード接続段数を変化させることによって、入力される制御信号の位相を遅延させる。つまり、調整部41,42のそれぞれは、入力される制御信号の位相についての、入力時の位相に対する遅延量を設定することによって、当該制御信号の位相を設定する。   Each of the adjustment units 41 and 42 has a plurality of delay buffers that delay the phase of the input control signal. Each of the adjustment units 41 and 42 delays the phase of the input control signal by changing the number of cascade connection stages of the delay buffer. That is, each of the adjustment units 41 and 42 sets the phase of the control signal by setting a delay amount with respect to the phase at the time of input with respect to the phase of the input control signal.

調整部43は、例えば、入力される制御信号(リード側データストローブ信号rDQS)を遅延させるDLL(Digital Locked Loop)回路を有している。調整部43は、当該DLL回路を使用して、入力される制御信号の位相についての、入力時の位相に対する相対的な遅延量を設定することによって、当該制御信号の位相を設定する。   The adjustment unit 43 includes, for example, a DLL (Digital Locked Loop) circuit that delays an input control signal (read-side data strobe signal rDQS). The adjustment unit 43 sets the phase of the control signal by setting a relative delay amount with respect to the phase at the time of input with respect to the phase of the input control signal using the DLL circuit.

以後、制御信号の位相の遅延量と言えば、制御信号の位相についての、入力時の位相に対する遅延量を意味する。   Hereinafter, the amount of delay of the phase of the control signal means the amount of delay of the phase of the control signal with respect to the phase at the time of input.

セレクタ45は、2つの入力端子450,451を有している。一方の入力端子450には、通常ライトデータwDQnが入力され、他方の入力端子451には、調整用データwDQtが入力される。セレクタ45は、位相調整用制御部44による制御によって、2つの入力端子450,451のどちらか一方を選択し、選択した入力端子に入力される信号を出力する。セレクタ45は、メモリ制御装置4が通常モードで動作するときには入力端子450を選択し、メモリ制御装置4が位相調整モードで動作するときには入力端子451を選択する。したがって、メモリ制御装置4が通常モードで動作するときには、セレクタ45からは通常ライトデータwDQnが出力され、メモリ制御装置4が位相調整モードで動作するときには、セレクタ45からは調整用データwDQtが出力される。セレクタ45から出力されるライトデータwDQはメモリ2に入力される。   The selector 45 has two input terminals 450 and 451. The normal write data wDQn is input to one input terminal 450, and the adjustment data wDQt is input to the other input terminal 451. The selector 45 selects one of the two input terminals 450 and 451 under the control of the phase adjustment control unit 44, and outputs a signal input to the selected input terminal. The selector 45 selects the input terminal 450 when the memory control device 4 operates in the normal mode, and selects the input terminal 451 when the memory control device 4 operates in the phase adjustment mode. Therefore, when the memory control device 4 operates in the normal mode, the normal write data wDQn is output from the selector 45, and when the memory control device 4 operates in the phase adjustment mode, the adjustment data wDQt is output from the selector 45. The Write data wDQ output from the selector 45 is input to the memory 2.

データ取り込み部46は、調整部43で位相調整されたリード側データストローブ信号rDQSに基づいて、メモリ2から出力されるリードデータrDQを取り込む。具体的には、データ取り込み部46は、例えばフリップフロップ回路を有しており、リード側データストローブ信号rDQSの立ち上がりエッジ及び立下りエッジのそれぞれのタイミングにおいて、メモリ2からのリードデータrDQを当該フリップフロップ回路によって保持する。   The data capturing unit 46 captures the read data rDQ output from the memory 2 based on the read-side data strobe signal rDQS whose phase has been adjusted by the adjusting unit 43. Specifically, the data capturing unit 46 includes, for example, a flip-flop circuit, and reads the read data rDQ from the memory 2 at the timing of the rising edge and the falling edge of the read-side data strobe signal rDQS. Held by a loop circuit.

判定部47は、データ取り込み部46で取り込まれたリードデータrDQが適切であるか否かを判定する。そして、判定部47は、その判定結果を主制御部40に出力する。主制御部40は、判定部47から通知される判定結果を記憶部401に記憶する。   The determination unit 47 determines whether or not the read data rDQ acquired by the data acquisition unit 46 is appropriate. Then, the determination unit 47 outputs the determination result to the main control unit 40. The main control unit 40 stores the determination result notified from the determination unit 47 in the storage unit 401.

なお、判定部47での判定結果は、本実施の形態に係る半導体装置1の外部に出力されても良い。この場合には、判定部47での判定結果が、半導体装置1の外部の表示装置に表示されても良い。   Note that the determination result in the determination unit 47 may be output to the outside of the semiconductor device 1 according to the present embodiment. In this case, the determination result in the determination unit 47 may be displayed on a display device outside the semiconductor device 1.

<通常モードについて>
次に通常モードのメモリ制御装置4の動作について説明する。通常モードのメモリ制御装置4では、位相調整用制御部44は、主制御部40による制御によって、入力端子450を選択するようにセレクタ45を制御する。これにより、通常モードのメモリ制御装置4からは通常ライトデータwDQnがメモリ2に出力される。
<Regarding the normal mode>
Next, the operation of the memory control device 4 in the normal mode will be described. In the memory controller 4 in the normal mode, the phase adjustment control unit 44 controls the selector 45 so as to select the input terminal 450 under the control of the main control unit 40. Accordingly, the normal write data wDQn is output from the memory controller 4 in the normal mode to the memory 2.

また、通常モードのメモリ制御装置4では、調整部41,42,43のそれぞれは、位相調整用制御部44によって制御されない。これにより、通常モードのメモリ制御装置4では、調整部41,42,43のそれぞれが設定する制御信号の位相は一定である。   In the normal mode memory control device 4, each of the adjustment units 41, 42, and 43 is not controlled by the phase adjustment control unit 44. Thereby, in the memory control device 4 in the normal mode, the phases of the control signals set by the adjusting units 41, 42, and 43 are constant.

通常モードのメモリ制御装置4では、リードサイクルにおいて、主制御部40が、メモリ2からデータを読み出すために必要な先行制御信号CNTを出力する。この先行制御信号CNTは調整部41を通じてメモリ2に出力される。リードサイクルでは、メモリ2は、メモリ制御装置4からのアドレス信号ADDR等の先行制御信号CNTで指定される記憶領域からリードデータrDQを読み出してメモリ制御装置4に出力するとともに、リード側データストローブ信号rDQSをメモリ制御装置4に出力する。通常モードのメモリ制御装置4では、メモリ2からのリード側データストローブ信号rDQSが調整部43を通じてデータ取り込み部46に入力され、メモリ2からのリードデータrDQもデータ取り込み部46に入力される。データ取り込み部46は、入力されるリードデータrDQを、調整部43が出力するリード側データストローブ信号rDQSに基づいて取り込む。そして、データ取り込み部46は、取り込んだリードデータrDQを主制御部40に出力する。これにより、主制御部40は、メモリ2から読み出されたリードデータrDQを取得することができる。   In the memory controller 4 in the normal mode, the main control unit 40 outputs a preceding control signal CNT necessary for reading data from the memory 2 in the read cycle. The preceding control signal CNT is output to the memory 2 through the adjustment unit 41. In the read cycle, the memory 2 reads the read data rDQ from the storage area specified by the preceding control signal CNT such as the address signal ADDR from the memory control device 4 and outputs the read data rDQ to the memory control device 4 as well as the read side data strobe signal. The rDQS is output to the memory control device 4. In the memory controller 4 in the normal mode, the read side data strobe signal rDQS from the memory 2 is input to the data capturing unit 46 through the adjustment unit 43, and the read data rDQ from the memory 2 is also input to the data capturing unit 46. The data capturing unit 46 captures input read data rDQ based on the read-side data strobe signal rDQS output from the adjustment unit 43. Then, the data capture unit 46 outputs the captured read data rDQ to the main control unit 40. Thereby, the main control unit 40 can acquire the read data rDQ read from the memory 2.

また、通常モードのメモリ制御装置4では、ライトサイクルにおいて、主制御部40が、メモリ2にデータを書き込むために必要な先行制御信号CNTを出力する。この先行制御信号CNTは調整部41を通じてメモリ2に出力される。ライトサイクルでは、その後、主制御部40が通常ライトデータwDQnとライト側データストローブ信号wDQSを出力する。通常ライトデータwDQnはセレクタ45を通じてメモリ2に出力され、ライト側データストローブ信号wDQSは調整部42を通じてメモリ2に出力される。メモリ2は、メモリ制御装置4からの通常ライトデータwDQnを、メモリ制御装置4からのライト側データストローブ信号wDQSに基づいて取り込む。そして、メモリ2は、取り込んだ通常ライトデータwDQnを、メモリ制御装置4からのアドレス信号ADDR等の先行制御信号CNTによって指定される記憶領域に記憶する。   In the memory controller 4 in the normal mode, the main control unit 40 outputs the preceding control signal CNT necessary for writing data into the memory 2 in the write cycle. The preceding control signal CNT is output to the memory 2 through the adjustment unit 41. Thereafter, in the write cycle, the main control unit 40 outputs the normal write data wDQn and the write side data strobe signal wDQS. The normal write data wDQn is output to the memory 2 through the selector 45, and the write side data strobe signal wDQS is output to the memory 2 through the adjustment unit 42. The memory 2 takes in the normal write data wDQn from the memory control device 4 based on the write side data strobe signal wDQS from the memory control device 4. Then, the memory 2 stores the fetched normal write data wDQn in a storage area designated by the preceding control signal CNT such as the address signal ADDR from the memory control device 4.

<位置調整モードについて>
次に位置調整モードのメモリ制御装置4の動作について説明する。図4は位置調整モードのメモリ制御装置4が行う位置調整処理を示すフローチャートである。CPU400が記憶部401内の位相調整用プログラム402を実行することによって、図4に示される位相調整処理がメモリ制御装置4で行われる。図4に示される位相調整処理は、例えば、実運用中の半導体装置1の電源が投入された直後に実行される。また、図4に示される位相調整処理は、実運用中の半導体装置1において、定期的にあるいは不定期的に繰り返して実行される。
<About the position adjustment mode>
Next, the operation of the memory control device 4 in the position adjustment mode will be described. FIG. 4 is a flowchart showing a position adjustment process performed by the memory control device 4 in the position adjustment mode. When the CPU 400 executes the phase adjustment program 402 in the storage unit 401, the phase adjustment process shown in FIG. The phase adjustment process illustrated in FIG. 4 is executed, for example, immediately after the semiconductor device 1 in actual operation is turned on. Further, the phase adjustment process shown in FIG. 4 is repeatedly or periodically performed repeatedly in the semiconductor device 1 in actual operation.

図4に示されるように、位相調整処理では、まずステップs1において、リード側データストローブ信号rDQSに対する位相調整が行われる。その後、ステップs2において、ライト側データストローブ信号wDQSに対する位相調整が行われる。最後にステップs3において、アドレス信号ADDR等の先行制御信号CNTに対する位相調整が行われる。   As shown in FIG. 4, in the phase adjustment process, first, in step s1, phase adjustment is performed on the read-side data strobe signal rDQS. Thereafter, in step s2, phase adjustment for the write side data strobe signal wDQS is performed. Finally, in step s3, phase adjustment is performed on the preceding control signal CNT such as the address signal ADDR.

ここで、先行制御信号CNTの位相のずれの許容範囲は比較的広いことから、先行制御信号CNTの位相のずれに基づく不具合(メモリ2からのデータの読み出しミス、メモリ2に対するデータの書き込みミス)が発生する可能性は比較的低い。   Here, since the permissible range of the phase shift of the preceding control signal CNT is relatively wide, a defect based on the phase shift of the preceding control signal CNT (data read error from the memory 2, data write error to the memory 2). Is relatively unlikely to occur.

また、ライトデータwDQ及びライト側データストローブ信号wDQSは、クロック信号CLKと同様にメモリ制御装置4で生成される信号である。したがって、メモリ2においては、クロック信号CLKの位相とライトデータwDQの位相とライト側データストローブ信号wDQSの位相との関係が図2のような理想的な関係から大きくずれる可能性は比較的低い。そのため、クロック信号CLKに基づいて動作するメモリ2が、図2のような理想的な関係に基づいてライトデータwDQをライト側データストローブ信号wDQSのエッジのタイミングで取り込んだとしても、ライトデータwDQを適切に取り込むことができる可能性が比較的高い。   The write data wDQ and the write side data strobe signal wDQS are signals generated by the memory control device 4 in the same manner as the clock signal CLK. Therefore, in the memory 2, it is relatively unlikely that the relationship between the phase of the clock signal CLK, the phase of the write data wDQ, and the phase of the write side data strobe signal wDQS greatly deviates from the ideal relationship as shown in FIG. Therefore, even if the memory 2 that operates based on the clock signal CLK captures the write data wDQ at the edge timing of the write-side data strobe signal wDQS based on the ideal relationship as shown in FIG. There is a relatively high possibility that it can be properly captured.

一方で、メモリ2は、メモリ制御装置4からのクロック信号CLKに基づいてリード側データストローブ信号rDQSを生成する。このとき、メモリ2では、DLL回路等の遅延回路が使用され、この遅延回路によって、リード側データストローブ信号rDQSにジッタが発生することがある。このため、メモリ制御装置4においては、リード側データストローブ信号rDQSの位相とリードデータrDQの位相との関係が上述の図2のような理想的な関係から大きくずれる可能性が比較的高い。そのため、メモリ制御装置4が、図2のような理想的な関係を考慮して、リード側データストローブ信号rDQSの位相を遅延させると、リード側データストローブ信号rDQSに基づいてリードデータrDQを適切に取り込むことができない可能性が比較的高い。   On the other hand, the memory 2 generates the read side data strobe signal rDQS based on the clock signal CLK from the memory control device 4. At this time, the memory 2 uses a delay circuit such as a DLL circuit, and this delay circuit may cause jitter in the read-side data strobe signal rDQS. Therefore, in the memory control device 4, there is a relatively high possibility that the relationship between the phase of the read-side data strobe signal rDQS and the phase of the read data rDQ greatly deviates from the ideal relationship as shown in FIG. Therefore, when the memory control device 4 delays the phase of the read side data strobe signal rDQS in consideration of the ideal relationship as shown in FIG. 2, the read data rDQ is appropriately set based on the read side data strobe signal rDQS. There is a high probability that it cannot be imported.

このように、先行制御信号CNTの位相のずれに基づく不具合が発生する可能性、及びメモリ2がライト側データストローブ信号wDQSに基づいて適切にライトデータwDQを取り込むことができない可能性は比較的低く、メモリ制御装置4がリード側データストローブ信号rDQSに基づいて適切にリードデータrDQを取り込むことができない可能性は比較的高い。   As described above, there is a relatively low possibility that a malfunction based on the phase shift of the preceding control signal CNT occurs and that the memory 2 cannot properly capture the write data wDQ based on the write side data strobe signal wDQS. There is a relatively high possibility that the memory control device 4 cannot properly read the read data rDQ based on the read-side data strobe signal rDQS.

そこで、本実施の形態では、メモリ制御装置4は、まずステップs1において、リード側データストローブ信号rDQSの位相を適切な値に調整する。そして、リード側データストローブ信号rDQSの位相が適切な値に調整された後、メモリ制御装置4は、ステップs2において、ライト側データストローブ信号wDQSの位相を適切な値に調整する。そして、リード側データストローブ信号rDQS及びライト側データストローブ信号wDQSの位相が適切な値に調整された後、メモリ制御装置4は、ステップs3において、先行制御信号CNTの位相を適切な値に調整する。なお、ステップs1〜s3の実行順序はこれに限られない。以下に、ステップs1〜s3での処理について詳細に説明する。   Therefore, in the present embodiment, the memory control device 4 first adjusts the phase of the read-side data strobe signal rDQS to an appropriate value in step s1. Then, after the phase of the read side data strobe signal rDQS is adjusted to an appropriate value, the memory control device 4 adjusts the phase of the write side data strobe signal wDQS to an appropriate value in step s2. Then, after the phases of the read side data strobe signal rDQS and the write side data strobe signal wDQS are adjusted to appropriate values, the memory control device 4 adjusts the phase of the preceding control signal CNT to appropriate values in step s3. . The execution order of steps s1 to s3 is not limited to this. Below, the process in step s1-s3 is demonstrated in detail.

<リード側データストローブ信号に対する位相調整の詳細>
本実施の形態では、ステップs1において、メモリ制御装置4は、メモリ2に対して書き込んだ調整用データwDQtを当該メモリ2から読み出し、読み出した調整用データwDQtをリード側データストローブ信号rDQSに基づいて取り込む。そして、メモリ制御装置4は、取り込んだ調整用データwDQtが適切でるか否かを判定し、その判定結果に基づいて、リード側データストローブ信号rDQSの位相を調整する。本実施の形態では、主制御部40、位相調整用制御部44、調整部43及び判定部47によって、取り込まれた調整用データwDQtが適切であるか否かを判定し、その判定結果に基づいてリード側データストローブ信号rDQSの位相を調整する第1位相調整部100(図3において破線で囲まれた部分)が構成される。
<Details of phase adjustment for read side data strobe signal>
In the present embodiment, in step s1, the memory control device 4 reads the adjustment data wDQt written to the memory 2 from the memory 2, and reads the read adjustment data wDQt based on the read-side data strobe signal rDQS. take in. Then, the memory control device 4 determines whether or not the fetched adjustment data wDQt is appropriate, and adjusts the phase of the read-side data strobe signal rDQS based on the determination result. In the present embodiment, the main control unit 40, the phase adjustment control unit 44, the adjustment unit 43, and the determination unit 47 determine whether or not the acquired adjustment data wDQt is appropriate, and based on the determination result. Thus, a first phase adjustment unit 100 (a portion surrounded by a broken line in FIG. 3) for adjusting the phase of the read-side data strobe signal rDQS is configured.

また本実施の形態では、調整用データwDQtとして、複数種類のパターンデータが規定されている。図5は当該複数種類のパターンデータの一例を示す図である。図5に示されるように、本実施の形態では、調整用データwDQtとして、9種類のパターンデータが規定されている。具体的には、調整用データwDQtとして、1ビット目変化パターンデータ、2ビット目変化パターンデータ、3ビット目変化パターンデータ、4ビット目変化パターンデータ、5ビット目変化パターンデータ、6ビット目変化パターンデータ、7ビット目変化パターンデータ、8ビット目変化パターンデータ、全ビット変化パターンデータが規定されている。   In the present embodiment, a plurality of types of pattern data are defined as the adjustment data wDQt. FIG. 5 is a diagram showing an example of the plurality of types of pattern data. As shown in FIG. 5, in this embodiment, nine types of pattern data are defined as the adjustment data wDQt. Specifically, as the adjustment data wDQt, the first bit change pattern data, the second bit change pattern data, the third bit change pattern data, the fourth bit change pattern data, the fifth bit change pattern data, and the sixth bit change Pattern data, 7th bit change pattern data, 8th bit change pattern data, and all bit change pattern data are defined.

各パターンデータは、8ビット(Nビット)から成る第1単位データと、8ビットから成る第2単位データとが交互に現れるパターンデータである。本実施の形態に係る各パターンデータでは、第1及び第2単位データのそれぞれが例えば4回現れる。メモリ制御装置4とメモリ2との間のデータバスのビット数は8ビットであることから、メモリ制御装置4は、パターンデータをメモリ2に書き込む際には、8ビットのライトデータwDQとして、第1単位データ及び第2単位データを交互に出力する。またメモリ制御装置4がパターンデータをメモリ2から読み出す際には、メモリ2は、8ビットのリードデータrDQとして、第1単位データ及び第2単位データを交互に出力する。   Each pattern data is pattern data in which first unit data composed of 8 bits (N bits) and second unit data composed of 8 bits appear alternately. In each pattern data according to the present embodiment, each of the first and second unit data appears four times, for example. Since the number of bits of the data bus between the memory control device 4 and the memory 2 is 8 bits, the memory control device 4 uses the 8-bit write data wDQ as the 8-bit write data wDQ when writing the pattern data to the memory 2. One unit data and second unit data are alternately output. When the memory control device 4 reads the pattern data from the memory 2, the memory 2 alternately outputs the first unit data and the second unit data as 8-bit read data rDQ.

1ビット目変化パターンデータでは、第1単位データは“0x00”(16進数表記の“00”)であり、第2単位データは“0x01”である。したがって、1ビット目変化パターンデータの第1及び第2単位データの間では、下位から1ビット目だけ相違する。   In the first bit change pattern data, the first unit data is “0x00” (“00” in hexadecimal notation), and the second unit data is “0x01”. Accordingly, the first and second unit data of the first bit change pattern data differ by the first bit from the lower order.

2ビット目変化パターンデータでは、第1単位データは“0x00”であり、第2単位データは“0x02”である。したがって、2ビット目変化パターンデータの第1及び第2単位データの間では、下位から2ビット目だけ相違する。   In the second bit change pattern data, the first unit data is “0x00”, and the second unit data is “0x02”. Therefore, the first and second unit data of the second bit change pattern data differ by only the second bit from the lower order.

3ビット目変化パターンデータでは、第1単位データは“0x00”であり、第2単位データは“0x04”である。したがって、3ビット目変化パターンデータの第1及び第2単位データの間では、下位から3ビット目だけ相違する。   In the third bit change pattern data, the first unit data is “0x00”, and the second unit data is “0x04”. Therefore, the first and second unit data of the third bit change pattern data differ by the third bit from the lower order.

4ビット目変化パターンデータでは、第1単位データは“0x00”であり、第2単位データは“0x08”である。したがって、4ビット目変化パターンデータの第1及び第2単位データの間では、下位から4ビット目だけ相違する。   In the fourth bit change pattern data, the first unit data is “0x00”, and the second unit data is “0x08”. Accordingly, the first and second unit data of the fourth bit change pattern data differ by the fourth bit from the lower order.

5ビット目変化パターンデータでは、第1単位データは“0x00”であり、第2単位データは“0x10”である。したがって、5ビット目変化パターンデータの第1及び第2単位データの間では、下位から5ビット目だけ相違する。   In the fifth bit change pattern data, the first unit data is “0x00”, and the second unit data is “0x10”. Therefore, the first and second unit data of the fifth bit change pattern data differ by the fifth bit from the lower order.

6ビット目変化パターンデータでは、第1単位データは“0x00”であり、第2単位データは“0x20”である。したがって、6ビット目変化パターンデータの第1及び第2単位データの間では、下位から6ビット目だけ相違する。   In the sixth bit change pattern data, the first unit data is “0x00”, and the second unit data is “0x20”. Therefore, the first and second unit data of the sixth bit change pattern data differ by the sixth bit from the lower order.

7ビット目変化パターンデータでは、第1単位データは“0x00”であり、第2単位データは“0x40”である。したがって、7ビット目変化パターンデータの第1及び第2単位データの間では、下位から7ビット目だけ相違する。   In the 7th bit change pattern data, the first unit data is “0x00”, and the second unit data is “0x40”. Therefore, the first and second unit data of the seventh bit change pattern data differ by the seventh bit from the lower order.

8ビット目変化パターンデータでは、第1単位データは“0x00”であり、第2単位データは“0x80”である。したがって、8ビット目変化パターンデータの第1及び第2単位データの間では、下位から8ビット目だけ相違する。   In the eighth bit change pattern data, the first unit data is “0x00” and the second unit data is “0x80”. Therefore, the first and second unit data of the eighth bit change pattern data differ by the eighth bit from the lower order.

全ビット変化パターンデータでは、第1単位データは“0x00”であり、第2単位データは“0xff”である。したがって、全ビット変化パターンデータの第1及び第2単位データの間では、8ビットすべてが相違する。   In all bit change pattern data, the first unit data is “0x00”, and the second unit data is “0xff”. Therefore, all the 8 bits are different between the first and second unit data of the all bit change pattern data.

本実施の形態では、9種類のパターンデータのすべてが使用されてリード側データストローブ信号rDQSの位相の調整が行われる。以後、1ビット目変化パターンデータ、2ビット目変化パターンデータ、3ビット目変化パターンデータ、4ビット目変化パターンデータ、5ビット目変化パターンデータ、6ビット目変化パターンデータ、7ビット目変化パターンデータ及び8ビット目変化パターンデータを特に区別する必要が無い場合には、それぞれを「1ビット変化パターンデータ」と呼ぶ。   In the present embodiment, all nine types of pattern data are used to adjust the phase of the read-side data strobe signal rDQS. Thereafter, the first bit change pattern data, the second bit change pattern data, the third bit change pattern data, the fourth bit change pattern data, the fifth bit change pattern data, the sixth bit change pattern data, and the seventh bit change pattern data. When there is no need to distinguish the 8th bit change pattern data, each is referred to as “1 bit change pattern data”.

また本実施の形態では、リード側データストローブ信号rDQSの位相の設定値について、複数種類の設定値が用意されている。例えば、32種類の設定値が用意されている。調整部43は、32種類の設定値のうちのいずれか一つを、リード側データストローブ信号rDQSの位相に設定する。   In the present embodiment, a plurality of types of setting values are prepared for the phase setting values of the read-side data strobe signal rDQS. For example, 32 types of setting values are prepared. The adjustment unit 43 sets any one of the 32 types of setting values as the phase of the read-side data strobe signal rDQS.

図6はリード側データストローブ信号rDQSの位相についての複数種類の設定値の一例を示す図である。本実施の形態では、リード側データストローブ信号rDQSの位相の設定値は、リード側データストローブ信号rDQSの位相の遅延量を示している。図6に示されるように、本実施の形態では、“0”〜“31”までの32種類の設定値が規定されている。設定値“x”(0≦x≦31)は、リード側データストローブ信号rDQSの位相の遅延量が(11.25×x)°であることを示している。調整部43は、リード側データストローブ信号rDQSの位相の遅延量を11.25°間隔で設定することが可能である。以後、リード側データストローブ信号rDQSの位相の設定値を「rDQS用設定値」と呼ぶことがある。リード側データストローブ信号rDQSの位相の初期値としては、図2に示される、リード側データストローブ信号rDQS及びリードデータrDQの位相の理想的な関係に基づいて、例えば、rDQS用設定値“8”(遅延量90°)が採用される。   FIG. 6 is a diagram illustrating an example of a plurality of types of setting values for the phase of the read-side data strobe signal rDQS. In the present embodiment, the set value of the phase of the read side data strobe signal rDQS indicates the amount of delay of the phase of the read side data strobe signal rDQS. As shown in FIG. 6, in this embodiment, 32 types of set values from “0” to “31” are defined. The set value “x” (0 ≦ x ≦ 31) indicates that the phase delay amount of the read-side data strobe signal rDQS is (11.25 × x) °. The adjustment unit 43 can set the phase delay amount of the read-side data strobe signal rDQS at 11.25 ° intervals. Hereinafter, the set value of the phase of the read side data strobe signal rDQS may be referred to as “set value for rDQS”. As the initial value of the phase of the read side data strobe signal rDQS, for example, based on the ideal relationship between the phases of the read side data strobe signal rDQS and the read data rDQ shown in FIG. (Delay amount 90 °) is adopted.

図7はステップs1での処理を詳細に示すフローチャートである。図7に示されるように、ステップs11において、主制御部40は、調整用データwDQtの9種類のパターンデータのいずれか一つを、処理対象のパターンデータとして決定し、決定したパターンデータを位相調整用制御部44に通知する。   FIG. 7 is a flowchart showing in detail the processing in step s1. As shown in FIG. 7, in step s11, the main control unit 40 determines any one of nine types of pattern data of the adjustment data wDQt as the pattern data to be processed, and the determined pattern data is phase-converted. Notify the adjustment control unit 44.

次にステップs12において、第1位相調整部100は、リード側データストローブ信号rDQSの位相を決定する。具体的には、主制御部40が、rDQS用設定値“0”〜“31”のうちの一つを選択し、選択したrDQS用設定値を位相調整用制御部44を通じて調整部43に通知する。調整部43は、リード側データストローブ信号rDQSが入力されると、その位相を、通知されたrDQS用設定値に設定する。つまり、調整部43は、リード側データストローブ信号rDQSの位相の遅延量を、主制御部40から位相調整用制御部44を介して通知された値に設定する。   Next, in step s12, the first phase adjustment unit 100 determines the phase of the read-side data strobe signal rDQS. Specifically, the main control unit 40 selects one of the rDQS setting values “0” to “31” and notifies the adjustment unit 43 through the phase adjustment control unit 44 of the selected rDQS setting value. To do. When the read side data strobe signal rDQS is input, the adjustment unit 43 sets the phase to the notified setting value for rDQS. That is, the adjustment unit 43 sets the phase delay amount of the read-side data strobe signal rDQS to a value notified from the main control unit 40 via the phase adjustment control unit 44.

次にステップs13において、メモリ制御装置4は、ステップs11で決定された処理対象のパターンデータをメモリ2に書き込む。このとき、調整部41,42のそれぞれでは、入力される制御信号の位相の遅延量が初期値に設定される。ステップs13では、主制御部40が、メモリ2にデータを書き込む際に必要な先行制御信号CNTと、ライト側データストローブ信号wDQSを出力する。また位相調整用制御部44が、ステップs11で決定された処理対象のパターンデータを生成して出力する。位相調整モードのメモリ制御装置4では、セレクタ45は入力端子451を選択していることから、位相調整用制御部44が出力するパターンデータはメモリ2に入力される。   Next, in step s13, the memory control device 4 writes the processing target pattern data determined in step s11 into the memory 2. At this time, in each of the adjustment units 41 and 42, the delay amount of the phase of the input control signal is set to the initial value. In step s13, the main control unit 40 outputs a preceding control signal CNT and a write-side data strobe signal wDQS necessary for writing data into the memory 2. The phase adjustment control unit 44 generates and outputs the pattern data to be processed determined in step s11. In the memory control device 4 in the phase adjustment mode, since the selector 45 selects the input terminal 451, the pattern data output from the phase adjustment control unit 44 is input to the memory 2.

次にステップs14において、メモリ制御装置4は、ステップs13でメモリ2に書き込まれたパターンデータをメモリ2から読み出す。ステップs14では、主制御部40が、メモリ2からデータを読み出す際に必要な先行制御信号CNTを出力する。メモリ2から読み出されたパターンデータはデータ取り込み部46に入力され、メモリ2が出力するリード側データストローブ信号rDQSは調整部43に入力される。調整部43は、入力されるリード側データストローブ信号rDQSの位相を、ステップs12で通知されたrDQS用設定値に設定して、当該リード側データストローブ信号rDQSをデータ取り込み部46に出力する。   Next, in step s14, the memory control device 4 reads the pattern data written in the memory 2 in step s13 from the memory 2. In step s14, the main control unit 40 outputs a preceding control signal CNT necessary for reading data from the memory 2. The pattern data read from the memory 2 is input to the data capturing unit 46, and the read side data strobe signal rDQS output from the memory 2 is input to the adjustment unit 43. The adjustment unit 43 sets the phase of the input read side data strobe signal rDQS to the set value for rDQS notified in step s12, and outputs the read side data strobe signal rDQS to the data capturing unit 46.

次にステップs15において、データ取り込み部46は、ステップs14で読み出されたパターンデータを、調整部43から出力されるリード側データストローブ信号rDQSの各エッジのタイミングで取り込む。そして、データ取り込み部46は、取り込んだパターンデータを判定部47に出力する。   In step s15, the data capturing unit 46 captures the pattern data read in step s14 at the timing of each edge of the read-side data strobe signal rDQS output from the adjustment unit 43. Then, the data capture unit 46 outputs the captured pattern data to the determination unit 47.

次にステップs16において、判定部47は、ステップs15で取り込まれたパターンデータが適切か否かを判定する。つまり、判定部47は、取り込まれたパターンデータがステップs13でメモリ2に書き込まれた処理対象のパターンデータと一致するか否かを判定する。   Next, in step s16, the determination unit 47 determines whether the pattern data captured in step s15 is appropriate. That is, the determination unit 47 determines whether or not the fetched pattern data matches the processing target pattern data written in the memory 2 in step s13.

本実施の形態では、判定部47は、例えば、取り込まれたパターンデータに対するパリティチェックを行うことによって、当該パターンデータが適切であるか否かを判定する。上述の図5に示されるように、各パターンデータでは、4byte単位(第1単位データとそれに続く第2単位データの組が2組)で見ると、“1”を示すビットの数が偶数となる。判定部47は、取り込まれたパターンデータのパリティチェックを行う際には、当該パターンデータを4byteごとに区切って、複数の区分データを生成する。そして、判定部47は、取り込まれたパターンデータを構成する複数の区分データのそれぞれについて、当該区分データに含まれる、“1”を示すビットの数が偶数であるか否かを判定する。   In the present embodiment, the determination unit 47 determines whether the pattern data is appropriate, for example, by performing a parity check on the captured pattern data. As shown in FIG. 5 described above, in each pattern data, when viewed in 4-byte units (two sets of first unit data and subsequent second unit data), the number of bits indicating “1” is an even number. Become. When the parity check of the fetched pattern data is performed, the determination unit 47 divides the pattern data every 4 bytes to generate a plurality of segment data. Then, the determination unit 47 determines whether or not the number of bits indicating “1” included in the segment data is an even number for each of the plurality of segment data constituting the captured pattern data.

ここで、区分データに含まれる、“1”を示すビットの数が偶数である場合には、当該区分データのパリティが“0”であるとし、区分データに含まれる、“1”を示すビットの数が奇数である場合には、当該区分データのパリティが“1”であるとする。判定部47は、取り込まれたパターンデータを構成する複数の区分データのそれぞれについてのパリティが“0”である場合には、当該パターンデータが適切であると判定する。つまり、判定部47は、取り込まれたパターンデータが、ステップs13でメモリ2に書き込まれたパターンデータと一致すると判定する。一方で、判定部47は、取り込まれたパターンデータを構成する複数の区分データに、パリティが“1”である区分データが含まれる場合には、当該パターンデータが適切ではないと判定する。つまり、判定部47は、取り込まれたパターンデータが、ステップs13でメモリ2に書き込まれたパターンデータと一致しないと判定する。判定部47は、取り込まれたパターンデータが適切であるか否かの判定結果を主制御部40に通知する。主制御部40は、ステップs17において、判定部47から通知された判定結果を記憶部401に記憶する。このとき、主制御部40は、判定結果と、ステップs11で決定された処理対象のパターンデータを特定する情報と、ステップs12で決定されたrDQS用設定値を特定する情報とを互いに対応付けて記憶部401に記憶する。   Here, if the number of bits indicating “1” included in the partition data is an even number, the parity of the partition data is assumed to be “0”, and the bit indicating “1” included in the partition data. Is the odd number, it is assumed that the parity of the segmented data is “1”. The determination unit 47 determines that the pattern data is appropriate when the parity for each of the plurality of pieces of divided data constituting the captured pattern data is “0”. That is, the determination unit 47 determines that the fetched pattern data matches the pattern data written in the memory 2 in step s13. On the other hand, the determination unit 47 determines that the pattern data is not appropriate when the plurality of pieces of partition data constituting the fetched pattern data includes the partition data having the parity “1”. That is, the determination unit 47 determines that the captured pattern data does not match the pattern data written in the memory 2 in step s13. The determination unit 47 notifies the main control unit 40 of the determination result as to whether or not the fetched pattern data is appropriate. In step s17, the main control unit 40 stores the determination result notified from the determination unit 47 in the storage unit 401. At this time, the main control unit 40 associates the determination result, the information specifying the pattern data to be processed determined in step s11, and the information specifying the set value for rDQS determined in step s12 with each other. Store in the storage unit 401.

次にステップs18において、主制御部40は、リード側データストローブ信号rDQSの位相を所定範囲変化させたか否かを判定する。具体的には、主制御部40は、32種類のrDQS用設定値のすべてを、リード側データストローブ信号rDQSの位相に設定したか否かを判定する。ステップs18においてNoと判定されると、再度ステップs12が実行される。ここでのステップs12では、32種類のrDQS用設定値のうち、リード側データストローブ信号rDQSの位相として未だ採用されていないrDQS用設定値が選択される。その後、ステップs13が実行されて、処理対象のパターンデータがメモリ2に書き込まれる。以後、ステップs14〜s17が同様に実行される。   Next, in step s18, the main control unit 40 determines whether or not the phase of the read-side data strobe signal rDQS has been changed by a predetermined range. Specifically, the main control unit 40 determines whether or not all of the 32 types of rDQS set values are set to the phase of the read-side data strobe signal rDQS. If it is determined No in step s18, step s12 is executed again. In step s12 here, among the 32 types of rDQS set values, rDQS set values that have not been adopted as the phase of the read-side data strobe signal rDQS are selected. Thereafter, step s13 is executed, and the pattern data to be processed is written into the memory 2. Thereafter, steps s14 to s17 are executed similarly.

一方で、ステップs18においてYesと判定されると、つまり、判定部47において、リード側データストローブ信号rDQSの位相についての32種類のrDQS用設定値にそれぞれに対応する32個の判定結果が得られると、主制御部40は、ステップs19において、9種類のパターンデータのすべてを処理対象としたかを判定する。ステップs19においてNoと判定されると、ステップs11が再度実行される。ここでのステップs11では、9種類のパターンデータにおいて処理対象とされてないパターンデータが新たな処理対象とされる。その後、ステップs12以降が同様に実行される。   On the other hand, if it is determined Yes in step s18, that is, the determination unit 47 obtains 32 determination results corresponding to the 32 types of rDQS set values for the phase of the read-side data strobe signal rDQS. In step s19, the main control unit 40 determines whether all nine types of pattern data have been processed. If it is determined No in step s19, step s11 is executed again. In step s11 here, pattern data that is not a processing target in nine types of pattern data is set as a new processing target. Thereafter, step s12 and subsequent steps are executed in the same manner.

なお、ステップs11において処理対象のパターンデータが新たに決定された場合には、主制御部40は、リード側データストローブ信号rDQSの位相に、32種類のrDQS用設定値のそれぞれをあらためて設定する。したがって、ステップs11において処理対象のパターンデータが新たに決定された後、ステップs18においてYesと判定されると、主制御部40は、32種類のrDQS用設定値にそれぞれに対応する、当該処理対象のパターンデータに応じた32個の判定結果を記憶している。   When the pattern data to be processed is newly determined in step s11, the main control unit 40 newly sets each of the 32 types of setting values for rDQS in the phase of the read-side data strobe signal rDQS. Therefore, after the pattern data to be processed is newly determined in step s11, if it is determined Yes in step s18, the main control unit 40 corresponds to each of the 32 types of rDQS setting values. 32 determination results corresponding to the pattern data are stored.

ステップs19においてYesと判定されると、つまり、9種類のパターンデータのそれぞれに関して、32種類のrDQS用設定値にそれぞれ対応する32個の判定結果が主制御部40に記憶されると、ステップs20において、主制御部40は、これらの判定結果に基づいて、リード側データストローブ信号rDQSの位相の適切な値を決定する。   If it is determined Yes in step s19, that is, if 32 determination results respectively corresponding to 32 types of rDQS setting values are stored in the main control unit 40 for each of the 9 types of pattern data, step s20 is performed. The main control unit 40 determines an appropriate value for the phase of the read-side data strobe signal rDQS based on these determination results.

図8は、ステップs19においてYesと判定された後に主制御部40に記憶されている判定結果の一例を示す図である。図中の丸印は、取り込まれたパターンデータが適切であることを示し、図中の×印は、取り込まれたパターンデータが適切でないことを示している。後述の図10,12においても同様である。   FIG. 8 is a diagram illustrating an example of a determination result stored in the main control unit 40 after determining Yes in step s19. A circle in the figure indicates that the captured pattern data is appropriate, and a cross in the figure indicates that the acquired pattern data is not appropriate. The same applies to FIGS. 10 and 12 described later.

ステップs20において、主制御部40は、9種類のパターンデータのそれぞれについて、当該パターンデータに応じた32個の判定結果に基づいて、データ取り込み部46で取り込まれる当該パターンデータが適切となる、リード側データストローブ信号rDQSの位相範囲を特定する。言い換えれば、主制御部40は、9種類のパターンデータのそれぞれについて、当該パターンデータに応じた32個の判定結果に基づいて、データ取り込み部46で取り込まれる当該パターンデータが適切となる、リード側データストローブ信号rDQSの位相の遅延量の範囲を特定する。   In step s20, the main control unit 40 reads, for each of the nine types of pattern data, the pattern data captured by the data capturing unit 46 is appropriate based on 32 determination results corresponding to the pattern data. The phase range of the side data strobe signal rDQS is specified. In other words, the main control unit 40 determines, for each of the nine types of pattern data, that the pattern data captured by the data capturing unit 46 is appropriate based on 32 determination results corresponding to the pattern data. The range of the phase delay amount of the data strobe signal rDQS is specified.

図8の例では、データ取り込み部46で取り込まれる1ビット目変化パターンデータが適切となる、リード側データストローブ信号rDQSの位相範囲は、rDQS用設定値“7”〜“12”の範囲である。また、データ取り込み部46で取り込まれる2ビット目変化パターンデータが適切となる、リード側データストローブ信号rDQSの位相範囲は、rDQS用設定値“7”〜“12”の範囲である。また、データ取り込み部46で取り込まれる3ビット目変化パターンデータが適切となる、リード側データストローブ信号rDQSの位相範囲は、rDQS用設定値“7”〜“13”の範囲である。   In the example of FIG. 8, the phase range of the read-side data strobe signal rDQS in which the first bit change pattern data captured by the data capturing unit 46 is appropriate is a range of rDQS set values “7” to “12”. . The phase range of the read-side data strobe signal rDQS in which the second bit change pattern data captured by the data capturing unit 46 is appropriate is a range of rDQS setting values “7” to “12”. The phase range of the read-side data strobe signal rDQS in which the third bit change pattern data captured by the data capturing unit 46 is appropriate is a range of rDQS setting values “7” to “13”.

主制御部40は、9種類のパターンデータのそれぞれについて、データ取り込み部46で取り込まれる当該パターンデータが適切となる、リード側データストローブ信号rDQSの位相範囲を特定すると、特定した複数の位相範囲が重複する重複範囲110からリード側データストローブ信号rDQSの位相の適切な値を決定する。主制御部40は、例えば、当該重複範囲110の中央の値を、リード側データストローブ信号rDQSの位相の適切な値とする。図8の例では、重複範囲110はrDQS用設定値“8”〜“12”の範囲である。そして、リード側データストローブ信号rDQSの位相の適切な値はrDQS用設定値“10”となる。   When the main control unit 40 specifies the phase range of the read-side data strobe signal rDQS in which the pattern data acquired by the data acquisition unit 46 is appropriate for each of the nine types of pattern data, the plurality of specified phase ranges are obtained. An appropriate value of the phase of the read-side data strobe signal rDQS is determined from the overlapping range 110 that overlaps. For example, the main control unit 40 sets the center value of the overlapping range 110 as an appropriate value of the phase of the read-side data strobe signal rDQS. In the example of FIG. 8, the overlapping range 110 is a range of rDQS set values “8” to “12”. The appropriate value of the phase of the read side data strobe signal rDQS is the set value “10” for rDQS.

以上の説明から理解できるように、本実施の形態では、メモリ制御装置4は、処理対象のパターンデータをメモリ2に書き込んだ後、処理対象のパターンデータをメモリ2から読み出す処理を複数回実行する(ステップs13,s14)。第1位相調整部100は、メモリ制御装置4で当該処理が実行されるたびに、リード側データストローブ信号rDQSの位相を変化させる(ステップs12)。そして、第1位相調整部100は、メモリ制御装置4が当該処理を実行するたびにデータ取り込み部46によって取り込まれた処理対象のパターンデータがそれぞれ適切であるか否かを判定し(ステップs15,s16)、その判定結果に基づいて、当該処理対象のパターンが適切となるリード側データストローブ信号rDQSの位相範囲を特定する(ステップs20)。メモリ制御装置4は、これらの処理を9種類のパターンデータのそれぞれについて行う。そして、第1位相調整部100は、特定された複数の位相範囲が重複する重複範囲110から、リード側データストローブ信号rDQSの位相の適切な値を決定する。   As can be understood from the above description, in the present embodiment, the memory control device 4 writes the pattern data to be processed into the memory 2 and then executes the process of reading the pattern data to be processed from the memory 2 a plurality of times. (Steps s13, s14). The first phase adjustment unit 100 changes the phase of the read-side data strobe signal rDQS every time the process is executed by the memory control device 4 (step s12). Then, each time the memory control device 4 executes the process, the first phase adjustment unit 100 determines whether or not the pattern data to be processed acquired by the data acquisition unit 46 is appropriate (steps s15 and s15). s16) Based on the determination result, the phase range of the read-side data strobe signal rDQS in which the processing target pattern is appropriate is specified (step s20). The memory control device 4 performs these processes for each of the nine types of pattern data. Then, the first phase adjustment unit 100 determines an appropriate value for the phase of the read-side data strobe signal rDQS from the overlapping range 110 where the plurality of identified phase ranges overlap.

主制御部40は、リード側データストローブ信号rDQSの位相の適切な値を決定すると、その適切な値を位相調整用制御部44を通じて調整部43に通知する。これにより、ステップs1での、リード側データストローブ信号rDQSに対する位相調整が完了する。通常モードのメモリ制御装置4では、リードアクセスにおいて、調整部43は、入力されるリード側データストローブ信号rDQSの位相を、ステップs1で決定された適切な値に設定する。図8の例では、調整部43は、リード側データストローブ信号rDQSの位相をrDQS用設定値“10”に設定する。   When the main control unit 40 determines an appropriate value of the phase of the read-side data strobe signal rDQS, the main control unit 40 notifies the adjustment unit 43 of the appropriate value through the phase adjustment control unit 44. Thereby, the phase adjustment for the read-side data strobe signal rDQS in step s1 is completed. In the memory controller 4 in the normal mode, in the read access, the adjustment unit 43 sets the phase of the input read side data strobe signal rDQS to the appropriate value determined in step s1. In the example of FIG. 8, the adjustment unit 43 sets the phase of the read-side data strobe signal rDQS to the rDQS setting value “10”.

なお、調整用データwDQtはパターンデータでなくても良い。また上記の例では、調整用データwDQtとして、複数種類のパターンデータが使用されているが、メモリ制御装置4は、1種類のパターンデータのみを用いて、リード側データストローブ信号rDQSに対する位相調整を行っても良い。この場合には、主制御部40には、1種類のパターンデータ応じた32個の判定結果が記憶される。第1位相調整部100は、当該32個の判定結果に基づいて、データ取り込み部46で取り込まれるパターンデータが適切となる、リード側データストローブ信号rDQSの位相範囲を特定し、その位相範囲から適切な値を決定する。例えば、第1位相調整部100は、当該位相範囲の中央の値を適切な値とする。   The adjustment data wDQt may not be pattern data. In the above example, plural types of pattern data are used as the adjustment data wDQt. However, the memory control device 4 uses only one type of pattern data to adjust the phase of the read-side data strobe signal rDQS. You can go. In this case, the main control unit 40 stores 32 determination results corresponding to one type of pattern data. Based on the 32 determination results, the first phase adjustment unit 100 identifies the phase range of the read-side data strobe signal rDQS in which the pattern data captured by the data capturing unit 46 is appropriate, and appropriately determines from the phase range. Determine the correct value. For example, the first phase adjustment unit 100 sets the center value of the phase range to an appropriate value.

また上記の例では、第1位相調整部100は、データ取り込み部46によって取り込まれたパターンデータに対してパリティチェックを行うことによって、当該パターンデータが適切か否かを判定しているが、これ以外の方法で、データ取り込み部46によって取り込まれた調整用データwDQtが適切か否かを判定しても良い。例えば、第1位相調整部100は、ステップs15においてデータ取り込み部46によって取り込まれたパターンデータの全ビットと、ステップs13においてメモリ2に書き込まれたパターンデータの全ビットとを直接比較し、両パターンデータが一致するか否かによって、データ取り込み部46によって取り込まれたパターンデータが適切であるか否かを判定しても良い。   In the above example, the first phase adjustment unit 100 performs parity check on the pattern data captured by the data capturing unit 46 to determine whether the pattern data is appropriate. It may be determined whether or not the adjustment data wDQt fetched by the data fetching unit 46 is appropriate by a method other than. For example, the first phase adjustment unit 100 directly compares all the bits of the pattern data fetched by the data fetching unit 46 in step s15 with all the bits of the pattern data written in the memory 2 in step s13. Whether or not the pattern data captured by the data capturing unit 46 is appropriate may be determined based on whether or not the data match.

以上のように、本実施の形態では、主制御部40、位相調整用制御部44、調整部43及び判定部47によって構成される第1位相調整部100は、データ取り込み部46によって取り込まれた調整用データwDQtが適切であるか否かを判定し、その判定結果に基づいてリード側データストローブ信号rDQSの位相を調整する。そのため、第1位相調整部100は、データ取り込み部46によって取り込まれる、メモリ2からのリードデータrDQが適切となるように、リード側データストローブ信号rDQSの位相を適切な値に設定することができる。   As described above, in the present embodiment, the first phase adjustment unit 100 configured by the main control unit 40, the phase adjustment control unit 44, the adjustment unit 43, and the determination unit 47 is acquired by the data acquisition unit 46. It is determined whether or not the adjustment data wDQt is appropriate, and the phase of the read-side data strobe signal rDQS is adjusted based on the determination result. Therefore, the first phase adjustment unit 100 can set the phase of the read-side data strobe signal rDQS to an appropriate value so that the read data rDQ read from the memory 2 taken in by the data fetching unit 46 is appropriate. .

また、本実施の形態では、第1位相調整部100は、データ取り込み部46によって取り込まれた調整用データwDQtに対してパリティチェックを行うことによって、当該調整用データwDQtが適切か否かを判定する。したがって、メモリ2に書き込んだ調整用データwDQtの全ビットと、データ取り込み部46によって取り込まれた調整用データwDQtの全ビットとを直接比較して、当該調整用データwDQtが適切か否かを判定する場合と比べて処理が簡素化される。   Further, in the present embodiment, the first phase adjustment unit 100 determines whether or not the adjustment data wDQt is appropriate by performing a parity check on the adjustment data wDQt acquired by the data acquisition unit 46. To do. Accordingly, all the bits of the adjustment data wDQt written in the memory 2 and all the bits of the adjustment data wDQt captured by the data capturing unit 46 are directly compared to determine whether the adjustment data wDQt is appropriate. Compared with the case where it does, processing is simplified.

また、本実施の形態では、調整用データwDQtとして、複数種類のパターンデータが使用されている。そして、第1位相調整部100は、データ取り込み部46によって取り込まれた当該複数種類のパターンデータのそれぞれが適切か否かを判定し、その判定結果に基づいてリード側データストローブ信号rDQSに対して位相調整を行う。したがって、メモリ2から読み出されるリードデータrDQのパターンにかかわらず、データ取り込み部46によって取り込まれたリードデータrDQが適切となるように、リード側データストローブ信号rDQSの位相を適切な値に設定することができる。   In the present embodiment, a plurality of types of pattern data are used as the adjustment data wDQt. Then, the first phase adjustment unit 100 determines whether or not each of the plurality of types of pattern data acquired by the data acquisition unit 46 is appropriate, and determines the read-side data strobe signal rDQS based on the determination result. Perform phase adjustment. Therefore, regardless of the pattern of the read data rDQ read from the memory 2, the phase of the read side data strobe signal rDQS is set to an appropriate value so that the read data rDQ captured by the data capturing unit 46 is appropriate. Can do.

また、本実施の形態では、データ取り込み部46で取り込まれる調整用データwDQtが適切となるリード側データストローブ信号rDQSの位相範囲が特定され、当該位相範囲からリード側データストローブ信号rDQSの位相の適切な値が決定される。したがって、実運用中の半導体装置1が動作している間に、温度変化、電源電圧の変化等によって、リード側データストローブ信号rDQS及びリードデータrDQの位相の関係が多少変化する場合であっても、データ取り込み部46で取り込まれるリードデータrDQが適切とならないことを抑制することができる。   In the present embodiment, the phase range of the read-side data strobe signal rDQS in which the adjustment data wDQt captured by the data capturing unit 46 is appropriate is specified, and the phase of the read-side data strobe signal rDQS is determined from the phase range. The correct value is determined. Therefore, even when the semiconductor device 1 in actual operation is operating, even when the phase relationship between the read-side data strobe signal rDQS and the read data rDQ slightly changes due to temperature change, power supply voltage change, and the like. The read data rDQ captured by the data capturing unit 46 can be prevented from becoming inappropriate.

また、本実施の形態では、調整用データwDQtについての複数種類のパターンデータのそれぞれについて、データ取り込み部46で取り込まれた当該パターンデータが適切となるリード側データストローブ信号rDQSの位相範囲が特定され、特定された複数の位相範囲が重複する重複範囲からリード側データストローブ信号rDQSの位相の適切な値が決定される。したがって、実運用中の半導体装置1が動作している間に、リード側データストローブ信号rDQS及びリードデータrDQの位相の関係が多少変化する場合であっても、メモリ2から読み出されるリードデータrDQのパターンにかかわらず、データ取り込み部46で取り込まれるリードデータrDQが適切とならないことを抑制することができる。   In the present embodiment, the phase range of the read-side data strobe signal rDQS to which the pattern data captured by the data capturing unit 46 is appropriate is specified for each of a plurality of types of pattern data for the adjustment data wDQt. An appropriate value of the phase of the read-side data strobe signal rDQS is determined from the overlapping range in which the plurality of identified phase ranges overlap. Therefore, even when the phase relationship between the read-side data strobe signal rDQS and the read data rDQ slightly changes while the semiconductor device 1 in actual operation is operating, the read data rDQ read from the memory 2 is not changed. Regardless of the pattern, it is possible to prevent the read data rDQ captured by the data capturing unit 46 from being appropriate.

また、本実施の形態では、調整用データwDQtとして、第1及び第2単位データの間では1ビットだけ相違する1ビット変化パターンデータと、第1及び第2単位データの間では8ビットすべて相違する全ビット変化パターンデータとが使用されている。メモリ2から1ビット変化パターンデータが読み出される際には、同時スイッチングノイズの影響は少なく、メモリ2から全ビット変化パターンデータが読み出される際には、同時スイッチングノイズの影響は大きい。   Further, in this embodiment, as the adjustment data wDQt, 1-bit change pattern data that is different by 1 bit between the first and second unit data and all 8 bits are different between the first and second unit data. All bit change pattern data to be used is used. When 1-bit change pattern data is read from the memory 2, the influence of simultaneous switching noise is small, and when all the bit change pattern data is read from the memory 2, the influence of simultaneous switching noise is large.

同時スイッチングノイズの影響が大きい状況だけが考慮されて、リード側データストローブ信号rDQSの位相が調整される場合には、同時スイッチングノイズの影響が小さい状況において、データ取り込み部46で取り込まれるリードデータrDQが適切とならない可能性がある。本実施の形態では、1ビット変化パターンデータと全ビット変化パターンデータの両方が使用されてリード側データストローブ信号rDQSの位相が調整されるため、同時スイッチングノイズの影響が小さい状況と、同時スイッチングノイズの影響が大きい状況との両方が考慮され、リード側データストローブ信号rDQSの位相が調整される。したがって、同時スイッチングノイズの影響の大きさにかかわらず、データ取り込み部46で取り込まれるリードデータrDQが適切とならないことを抑制することができる。   When the phase of the read-side data strobe signal rDQS is adjusted considering only the situation where the influence of the simultaneous switching noise is large, the read data rDQ captured by the data capturing section 46 in the situation where the influence of the simultaneous switching noise is small. May not be appropriate. In this embodiment, both the 1-bit change pattern data and the all-bit change pattern data are used to adjust the phase of the read-side data strobe signal rDQS. The phase of the read side data strobe signal rDQS is adjusted in consideration of both the situation where the influence of the Therefore, it is possible to prevent the read data rDQ captured by the data capturing unit 46 from being appropriate regardless of the influence of the simultaneous switching noise.

<ライト側データストローブ信号に対する位相調整の詳細>
ライト側データストローブ信号wDQSに対する位相調整は、リード側データストローブ信号rDQSに対する位相調整と同様に行われる。ステップs2において、メモリ制御装置4は、メモリ2に対して書き込んだ調整用データwDQtを当該メモリ2から読み出し、読み出した調整用データwDQtをリード側データストローブ信号rDQSに基づいて取り込む。そして、メモリ制御装置4は、取り込んだ調整用データwDQtが適切であるか否かを判定し、その判定結果に基づいて、ライト側データストローブ信号wDQSの位相を調整する。本実施の形態では、主制御部40、位相調整用制御部44、調整部42及び判定部47によって、取り込まれた調整用データwDQtが適切であるか否かを判定し、その判定結果に基づいてライト側データストローブ信号wDQSの位相を調整する第2位相調整部200(図3において一点鎖線で囲まれた部分)が構成される。
<Details of phase adjustment for write side data strobe signal>
The phase adjustment for the write side data strobe signal wDQS is performed in the same manner as the phase adjustment for the read side data strobe signal rDQS. In step s2, the memory control device 4 reads the adjustment data wDQt written to the memory 2 from the memory 2, and takes in the read adjustment data wDQt based on the read-side data strobe signal rDQS. Then, the memory control device 4 determines whether or not the fetched adjustment data wDQt is appropriate, and adjusts the phase of the write-side data strobe signal wDQS based on the determination result. In the present embodiment, the main control unit 40, the phase adjustment control unit 44, the adjustment unit 42, and the determination unit 47 determine whether or not the acquired adjustment data wDQt is appropriate, and based on the determination result. Thus, a second phase adjustment unit 200 (a portion surrounded by a one-dot chain line in FIG. 3) for adjusting the phase of the write-side data strobe signal wDQS is configured.

また本実施の形態では、ステップs2で使用される調整用データwDQtは、例えば、ステップs1で使用される調整用データwDQtと同じである。ステップs2での調整用データwDQtとして、上述の図5に示される複数種類のパターンデータが使用される。なお、ステップs2で使用される調整用データwDQtは、ステップs1で使用される調整用データwDQtと異なっても良い。   In the present embodiment, the adjustment data wDQt used in step s2 is the same as the adjustment data wDQt used in step s1, for example. As the adjustment data wDQt in step s2, a plurality of types of pattern data shown in FIG. 5 are used. Note that the adjustment data wDQt used in step s2 may be different from the adjustment data wDQt used in step s1.

また本実施の形態では、ライト側データストローブ信号wDQSの位相の設定値について、複数種類の設定値が用意されている。例えば、32種類の設定値が用意されている。調整部42は、32種類の設定値のうちのいずれか一つを、ライト側データストローブ信号wDQSの位相に設定する。以後、ライト側データストローブ信号wDQSの位相の設定値を「wDQS用設定値」と呼ぶことがある。   In the present embodiment, a plurality of types of setting values are prepared for the phase setting values of the write-side data strobe signal wDQS. For example, 32 types of setting values are prepared. The adjustment unit 42 sets any one of the 32 types of setting values as the phase of the write-side data strobe signal wDQS. Hereinafter, the set value of the phase of the write-side data strobe signal wDQS may be referred to as “wDQS set value”.

wDQS用設定値は、ライト側データストローブ信号wDQSの位相の遅延量を示している。クロック信号CLKの周期が例えば2.5nsであるとすると、調整部42は、ライト側データストローブ信号wDQSの位相の遅延量を例えば0.1ns間隔で設定することが可能である。本実施の形態では、“0”〜“31”までの32種類のwDQS用設定値が規定されている。wDQS用設定値は、その値が大きいほど、ライト側データストローブ信号wDQSの位相の遅延量が大きいことを示している。ライト側データストローブ信号wDQSの位相の初期値としては、例えば、wDQS用設定値“16”が採用される。   The set value for wDQS indicates the phase delay amount of the write-side data strobe signal wDQS. If the period of the clock signal CLK is, for example, 2.5 ns, the adjustment unit 42 can set the phase delay amount of the write-side data strobe signal wDQS at intervals of 0.1 ns, for example. In this embodiment, 32 types of setting values for wDQS from “0” to “31” are defined. The wDQS set value indicates that the larger the value, the larger the phase delay amount of the write-side data strobe signal wDQS. As the initial value of the phase of the write-side data strobe signal wDQS, for example, the wDQS setting value “16” is employed.

図9はステップs2での処理を詳細に示すフローチャートである。図9に示されるように、ステップs21において、主制御部40は、上述のステップs11と同様に、調整用データwDQtの9種類のパターンデータのいずれか一つを、処理対象のパターンデータとして決定し、決定したパターンデータを位相調整用制御部44に通知する。   FIG. 9 is a flowchart showing in detail the processing in step s2. As shown in FIG. 9, in step s21, the main control unit 40 determines any one of the nine types of pattern data of the adjustment data wDQt as the pattern data to be processed, as in step s11 described above. Then, the determined pattern data is notified to the phase adjustment control unit 44.

次にステップs22において、第2位相調整部200は、ライト側データストローブ信号wDQSの位相を決定する。具体的には、主制御部40が、wDQS用設定値“0”〜“31”のうちの一つのwDQS用設定値を選択し、選択したwDQS用設定値を位相調整用制御部44を通じて調整部42に通知する。調整部42は、ライト側データストローブ信号wDQSが入力されると、その位相を、通知されたwDQS用設定値に設定する。つまり、調整部42は、ライト側データストローブ信号wDQSの位相の遅延量を、主制御部40から位相調整用制御部44を介して通知された値に設定する。   Next, in step s22, the second phase adjustment unit 200 determines the phase of the write-side data strobe signal wDQS. Specifically, the main control unit 40 selects one of the wDQS setting values “0” to “31” and adjusts the selected wDQS setting value through the phase adjustment control unit 44. Notify the unit 42. When the write side data strobe signal wDQS is input, the adjustment unit 42 sets the phase to the notified setting value for wDQS. That is, the adjustment unit 42 sets the phase delay amount of the write side data strobe signal wDQS to a value notified from the main control unit 40 via the phase adjustment control unit 44.

次にステップs23において、メモリ制御装置4は、上述のステップs13と同様に、ステップs21で決定された処理対象のパターンデータをメモリ2に書き込む。このとき、調整部41では、入力される制御信号の位相が初期値に設定される。また制御部43では、リード側データストローブ信号rDQSの位相は、ステップs1で求められた適切な値に設定される。   Next, in step s23, the memory control device 4 writes the pattern data to be processed determined in step s21 into the memory 2, similarly to step s13 described above. At this time, the adjustment unit 41 sets the phase of the input control signal to an initial value. In the control unit 43, the phase of the read side data strobe signal rDQS is set to an appropriate value obtained in step s1.

次にステップs24において、メモリ制御装置4は、上述のステップs14と同様に、ステップs23でメモリ2に書き込まれたパターンデータをメモリ2から読み出す。   Next, in step s24, the memory control device 4 reads the pattern data written in the memory 2 in step s23 from the memory 2, similarly to the above-described step s14.

次にステップs25において、データ取り込み部46は、ステップs24で読み出されたパターンデータを、調整部43から出力されるリード側データストローブ信号rDQSの各エッジのタイミングで取り込む。そして、データ取り込み部46は、取り込んだパターンデータを判定部47に出力する。   Next, in step s25, the data capturing unit 46 captures the pattern data read in step s24 at the timing of each edge of the read-side data strobe signal rDQS output from the adjustment unit 43. Then, the data capture unit 46 outputs the captured pattern data to the determination unit 47.

次にステップs26において、判定部47は、上述のステップs16と同様にして、ステップs25で取り込まれたパターンデータが適切か否かを判定する。そして、判定部47は、取り込まれたパターンデータが適切であるか否かの判定結果を主制御部40に通知する。主制御部40は、ステップs27において、判定部47から通知された判定結果を記憶部401に記憶する。このとき、主制御部40は、判定結果と、ステップs21で決定された処理対象のパターンデータを特定する情報と、ステップs22で決定されたwDQS用設定値を特定する情報とを互いに対応付けて記憶部401に記憶する。   Next, in step s26, the determination unit 47 determines whether or not the pattern data captured in step s25 is appropriate in the same manner as in step s16 described above. Then, the determination unit 47 notifies the main control unit 40 of a determination result as to whether or not the captured pattern data is appropriate. In step s27, the main control unit 40 stores the determination result notified from the determination unit 47 in the storage unit 401. At this time, the main control unit 40 associates the determination result, information for specifying the pattern data to be processed determined in step s21, and information for specifying the set value for wDQS determined in step s22. Store in the storage unit 401.

次にステップs28において、主制御部40は、ライト側データストローブ信号wDQSの位相を所定範囲変化させたか否かを判定する。具体的には、主制御部40は、32種類のwDQS用設定値のすべてを、ライト側データストローブ信号wDQSの位相に設定したか否かを判定する。ステップs28においてNoと判定されると、再度ステップs22が実行される。ここでのステップs22では、32種類のwDQS用設定値のうち、ライト側データストローブ信号wDQSの位相として未だ採用されていないwDQS用設定値が選択される。その後、ステップs23が実行されて、処理対象のパターンデータがメモリ2に書き込まれる。以後、ステップs24〜s27が同様に実行される。   Next, in step s28, the main control unit 40 determines whether or not the phase of the write-side data strobe signal wDQS has been changed by a predetermined range. Specifically, the main control unit 40 determines whether or not all of the 32 types of wDQS setting values are set to the phase of the write-side data strobe signal wDQS. If it is determined No in step s28, step s22 is executed again. In step s22 here, a wDQS setting value that has not been adopted as the phase of the write-side data strobe signal wDQS is selected from the 32 types of wDQS setting values. Thereafter, step s23 is executed, and the pattern data to be processed is written into the memory 2. Thereafter, steps s24 to s27 are executed similarly.

一方で、ステップs28においてYesと判定されると、つまり、判定部47において、ライト側データストローブ信号wDQSの位相についての32種類のwDQS用設定値にそれぞれに対応する32個の判定結果が得られると、主制御部40は、ステップs29において、9種類のパターンデータのすべてを処理対象としたかを判定する。ステップs29においてNoと判定されると、ステップs21が再度実行される。ここでのステップs21では、9種類のパターンデータにおいて処理対象とされてないパターンデータが新たな処理対象とされる。その後、ステップs22以降が同様に実行される。   On the other hand, if it is determined Yes in step s28, that is, the determination unit 47 obtains 32 determination results corresponding to the 32 types of wDQS setting values for the phase of the write-side data strobe signal wDQS. In step s29, the main control unit 40 determines whether all nine types of pattern data have been processed. If it is determined No in step s29, step s21 is executed again. In step s21 here, pattern data that is not a processing target in nine types of pattern data is set as a new processing target. Thereafter, step s22 and subsequent steps are executed in the same manner.

なお、ステップs21において処理対象のパターンデータが新たに決定された場合には、主制御部40は、ライト側データストローブ信号wDQSの位相に、32種類のwDQS用設定値のそれぞれをあらためて設定する。したがって、ステップs21において処理対象のパターンデータが新たに決定された後、ステップs28においてYesと判定されると、主制御部40には、32種類のwDQS用設定値にそれぞれ対応する、当該処理対象のパターンデータに応じた32個の判定結果が記憶される。   When the pattern data to be processed is newly determined in step s21, the main control unit 40 newly sets each of the 32 types of setting values for wDQS in the phase of the write-side data strobe signal wDQS. Therefore, after the pattern data to be processed is newly determined in step s21, if it is determined Yes in step s28, the main control unit 40 has the processing target corresponding to each of 32 types of set values for wDQS. 32 determination results corresponding to the pattern data are stored.

ステップs29においてYesと判定されると、つまり、9種類のパターンデータのそれぞれに関して、32種類のwDQS用設定値にそれぞれ対応する32個の判定結果が主制御部40に記憶されると、ステップs30において、主制御部40は、これらの判定結果に基づいて、ライト側データストローブ信号wDQSの位相の適切な値を決定する。   If it is determined Yes in step s29, that is, if 32 determination results respectively corresponding to 32 types of wDQS setting values are stored in the main control unit 40 for each of the 9 types of pattern data, step s30 is performed. The main control unit 40 determines an appropriate value for the phase of the write-side data strobe signal wDQS based on these determination results.

図10は、ステップs29においてYesと判定された後に主制御部40に記憶されている判定結果の一例を示す図である。   FIG. 10 is a diagram illustrating an example of a determination result stored in the main control unit 40 after determining Yes in step s29.

ステップs30において、主制御部40は、9種類のパターンデータのそれぞれについて、当該パターンデータに応じた32個の判定結果に基づいて、データ取り込み部46で取り込まれる当該パターンデータが適切となる、ライト側データストローブ信号wDQSの位相範囲を特定する。   In step s30, the main control unit 40 writes, for each of the nine types of pattern data, the pattern data captured by the data capture unit 46 based on 32 determination results corresponding to the pattern data. The phase range of the side data strobe signal wDQS is specified.

図10の例では、データ取り込み部46で取り込まれる1ビット目変化パターンデータが適切となる、ライト側データストローブ信号wDQSの位相範囲はwDQS用設定値“22”〜“28”の範囲である。また、データ取り込み部46で取り込まれる2ビット目変化パターンデータが適切となる、ライト側データストローブ信号wDQSの位相範囲はwDQS用設定値“21”〜“27”の範囲である。また、データ取り込み部46で取り込まれる3ビット目変化パターンデータが適切となる、ライト側データストローブ信号wDQSの位相範囲はwDQS用設定値“21”〜“29”の範囲である。   In the example of FIG. 10, the phase range of the write-side data strobe signal wDQS in which the first bit change pattern data captured by the data capturing unit 46 is appropriate is the range of wDQS set values “22” to “28”. Further, the phase range of the write-side data strobe signal wDQS in which the second bit change pattern data captured by the data capturing unit 46 is appropriate is a range of wDQS setting values “21” to “27”. Further, the phase range of the write-side data strobe signal wDQS in which the third bit change pattern data captured by the data capturing unit 46 is appropriate is a range of wDQS set values “21” to “29”.

主制御部40は、9種類のパターンデータのそれぞれについて、データ取り込み部46で取り込まれる当該パターンデータが適切となる、ライト側データストローブ信号wDQSの位相範囲を特定すると、特定した複数の位相範囲が重複する重複範囲210からライト側データストローブ信号wDQSの位相の適切な値を決定する。主制御部40は、例えば、当該重複範囲210の中央の値を、ライト側データストローブ信号wDQSの位相の適切な値とする。図10の例では、重複範囲210はwDQS用設定値“22”〜“26”の範囲である。そして、ライト側データストローブ信号wDQSの位相の適切な値はwDQS用設定値“24”となる。   When the main control unit 40 specifies the phase range of the write-side data strobe signal wDQS for each of the nine types of pattern data, the pattern data acquired by the data acquisition unit 46 is appropriate, the specified plurality of phase ranges are obtained. An appropriate value of the phase of the write side data strobe signal wDQS is determined from the overlapping range 210 that overlaps. For example, the main control unit 40 sets the center value of the overlapping range 210 as an appropriate value of the phase of the write-side data strobe signal wDQS. In the example of FIG. 10, the overlapping range 210 is a range of setting values “22” to “26” for wDQS. An appropriate value of the phase of the write side data strobe signal wDQS is the set value “24” for wDQS.

主制御部40は、ライト側データストローブ信号wDQSの位相の適切な値を決定すると、その適切な値を位相調整用制御部44を通じて調整部42に通知する。これにより、ステップs2での、ライト側データストローブ信号wDQSに対する位相調整が完了する。通常モードのメモリ制御装置4では、ライトサイクルにおいて、調整部42は、入力されるライト側データストローブ信号wDQSの位相を、ステップs2で決定された適切な値に設定する。図10の例では、調整部42は、ライト側データストローブ信号wDQSの位相をwDQS用設定値“24”に設定する。   When determining the appropriate value of the phase of the write side data strobe signal wDQS, the main control unit 40 notifies the adjustment unit 42 of the appropriate value through the phase adjustment control unit 44. Thereby, the phase adjustment for the write-side data strobe signal wDQS in step s2 is completed. In the memory controller 4 in the normal mode, in the write cycle, the adjustment unit 42 sets the phase of the input write side data strobe signal wDQS to an appropriate value determined in step s2. In the example of FIG. 10, the adjustment unit 42 sets the phase of the write-side data strobe signal wDQS to the wDQS set value “24”.

なお、ライト側データストローブ信号wDQSの位相を調整する際の調整用データwDQtについても、パターンデータでなくても良い。また、リード側データストローブ信号rDQSの位相を調整する場合と同様に、メモリ制御装置4は、1種類のパターンデータのみを用いて、ライト側データストローブ信号wDQSに対する位相調整を行っても良い。また第2位相調整部200は、データ取り込み部46によって取り込まれたパターンデータに対してパリティチェックを行う以外の方法で、当該パターンデータが適切か否かを判定しても良い。   Note that the adjustment data wDQt for adjusting the phase of the write-side data strobe signal wDQS may not be pattern data. Similarly to the case of adjusting the phase of the read-side data strobe signal rDQS, the memory control device 4 may adjust the phase of the write-side data strobe signal wDQS using only one type of pattern data. Further, the second phase adjustment unit 200 may determine whether or not the pattern data is appropriate by a method other than performing a parity check on the pattern data fetched by the data fetching unit 46.

以上のように、本実施の形態では、主制御部40、位相調整用制御部44、調整部42及び判定部47によって構成される第2位相調整部200は、データ取り込み部46によって取り込まれた調整用データwDQtが適切であるか否かを判定し、その判定結果に基づいてライト側データストローブ信号wDQSの位相を調整する。   As described above, in the present embodiment, the second phase adjustment unit 200 configured by the main control unit 40, the phase adjustment control unit 44, the adjustment unit 42, and the determination unit 47 is acquired by the data acquisition unit 46. It is determined whether or not the adjustment data wDQt is appropriate, and the phase of the write-side data strobe signal wDQS is adjusted based on the determination result.

ここで、ステップs1の実行によって、リード側データストローブ信号rDQSの位相は適切な値に設定されることから、データ取り込み部46に入力されるリード側データストローブ信号rDQS及びリードデータrDQの位相の関係は適切であり、データ取り込み部46がリードデータrDQを適切に取り込むことができる。このような場合には、メモリ2が、メモリ制御装置4からの調整用データwDQtを、メモリ制御装置4からのライト側データストローブ信号wDQSに基づいて適切に取り込むことができれば、メモリ制御装置4のデータ取り込み部46が取り込む、メモリ2からの調整用データwDQtは適切なデータとなる。したがって、データ取り込み部46が取り込む調整用データwDQtが適切であれば、メモリ2が、メモリ制御装置4からの調整用データwDQtを、メモリ制御装置4からのライト側データストローブ信号wDQSに基づいて適切に取り込むことができたと考えることができる。一方で、データ取り込み部46が取り込む調整用データwDQtが適切でなければ、メモリ2が、メモリ制御装置4からの調整用データwDQtを、メモリ制御装置4からのライト側データストローブ信号wDQSに基づいて適切に取り込むことができなかったと考えることができる。よって、ステップs2において、第2位相調整部200が、データ取り込み部46によって取り込まれた調整用データwDQtが適切であるか否かの判定結果に基づいてライト側データストローブ信号wDQSの位相を調整することにより、第2位相調整部200は、メモリ2においてライトデータwDQがライト側データストローブ信号wDQSに基づいて適切に取り込まれるように、ライト側データストローブ信号wDQSの位相を適切な値に設定することができる。   Here, since the phase of the read-side data strobe signal rDQS is set to an appropriate value by executing step s1, the relationship between the phases of the read-side data strobe signal rDQS and the read data rDQ input to the data capturing unit 46. Is appropriate, and the data capturing unit 46 can appropriately capture the read data rDQ. In such a case, if the memory 2 can appropriately capture the adjustment data wDQt from the memory control device 4 based on the write side data strobe signal wDQS from the memory control device 4, the memory control device 4 The adjustment data wDQt from the memory 2 captured by the data capturing unit 46 is appropriate data. Therefore, if the adjustment data wDQt fetched by the data fetching unit 46 is appropriate, the memory 2 sets the adjustment data wDQt from the memory control device 4 based on the write side data strobe signal wDQS from the memory control device 4. It can be thought that it was able to be taken in. On the other hand, if the adjustment data wDQt captured by the data capture unit 46 is not appropriate, the memory 2 determines the adjustment data wDQt from the memory control device 4 based on the write side data strobe signal wDQS from the memory control device 4. It can be thought that it was not able to capture properly. Therefore, in step s2, the second phase adjustment unit 200 adjusts the phase of the write-side data strobe signal wDQS based on the determination result of whether or not the adjustment data wDQt fetched by the data fetching unit 46 is appropriate. Accordingly, the second phase adjustment unit 200 sets the phase of the write side data strobe signal wDQS to an appropriate value so that the write data wDQ is appropriately captured in the memory 2 based on the write side data strobe signal wDQS. Can do.

また、ステップs2においては、ステップs1と同様に、第2位相調整部200は、データ取り込み部46によって取り込まれた調整用データwDQtに対してパリティチェックを行うことによって、当該調整用データwDQtが適切か否かを判定する。そのため、データ取り込み部46によって取り込まれた調整用データwDQtが適切であるか否かを簡単に判定するができる。   In step s2, as in step s1, the second phase adjustment unit 200 performs parity check on the adjustment data wDQt acquired by the data acquisition unit 46, so that the adjustment data wDQt is appropriate. It is determined whether or not. Therefore, it is possible to easily determine whether or not the adjustment data wDQt fetched by the data fetching unit 46 is appropriate.

また、ステップs2においては、ステップs1と同様に、調整用データwDQtとして複数種類のパターンデータが使用されているため、メモリ2に書き込むライトデータwDQのパターンにかかわらず、メモリ2においてライトデータwDQがライト側データストローブ信号wDQSに基づいて適切に取り込まれるように、ライト側データストローブ信号wDQSの位相を適切な値に設定することができる。   In step s2, similarly to step s1, since plural types of pattern data are used as the adjustment data wDQt, the write data wDQ is stored in the memory 2 regardless of the pattern of the write data wDQ written to the memory 2. The phase of the write-side data strobe signal wDQS can be set to an appropriate value so that it is appropriately captured based on the write-side data strobe signal wDQS.

また、ステップs2においては、データ取り込み部46で取り込まれる調整用データwDQtが適切となるライト側データストローブ信号wDQSの位相範囲が特定され、当該位相範囲からライト側データストローブ信号wDQSの位相の適切な値が決定される。したがって、実運用中の半導体装置1が動作している間に、温度変化、電源電圧の変化等によって、ライト側データストローブ信号wDQS及びライトデータwDQの位相の関係が多少変化したとしても、メモリ2においてライトデータwDQが適切に取り込まれないことを抑制することができる。   In step s2, the phase range of the write side data strobe signal wDQS in which the adjustment data wDQt captured by the data capturing unit 46 is appropriate is specified, and the phase of the write side data strobe signal wDQS is determined from the phase range. The value is determined. Therefore, even if the phase relationship between the write side data strobe signal wDQS and the write data wDQ slightly changes due to a temperature change, a change in power supply voltage, or the like while the semiconductor device 1 in actual operation is operating, the memory 2 Can prevent the write data wDQ from being properly captured.

また、ステップs2においては、調整用データwDQtについての複数種類のパターンデータのそれぞれについて、データ取り込み部46で取り込まれた当該パターンデータが適切となるライト側データストローブ信号wDQSの位相範囲が特定され、特定された複数の位相範囲が重複する重複範囲からライト側データストローブ信号wDQSの位相の適切な値が決定されている。したがって、実運用中の半導体装置1が動作している間に、ライト側データストローブ信号wDQS及びライトデータwDQの位相の関係が多少変化する場合であっても、メモリ2に書き込むライトデータwDQのパターンにかかわらず、メモリ2においてライトデータwDQが適切に取り込まれないことを抑制することができる。   In step s2, the phase range of the write-side data strobe signal wDQS for which the pattern data captured by the data capturing unit 46 is appropriate is specified for each of a plurality of types of pattern data for the adjustment data wDQt. An appropriate value of the phase of the write-side data strobe signal wDQS is determined from the overlapping range where the plurality of identified phase ranges overlap. Therefore, even when the phase relationship between the write-side data strobe signal wDQS and the write data wDQ slightly changes while the semiconductor device 1 in actual operation is operating, the pattern of the write data wDQ written to the memory 2 Regardless of this, it is possible to prevent the write data wDQ from being properly captured in the memory 2.

また、ステップs2において、ステップs1と同様に、調整用データwDQtとして1ビット変化パターンデータと全ビット変化パターンデータとが使用される。そのため、同時スイッチングノイズの影響が小さい状況と、同時スイッチングノイズの影響が大きい状況との両方が考慮されて、ライト側データストローブ信号wDQSの位相が調整される。したがって、同時スイッチングノイズの影響の大きさにかかわらず、メモリ2においてライトデータwDQが適切に取り込まれないことを抑制することができる。   In step s2, similarly to step s1, 1-bit change pattern data and all-bit change pattern data are used as the adjustment data wDQt. Therefore, the phase of the write-side data strobe signal wDQS is adjusted in consideration of both the situation where the influence of the simultaneous switching noise is small and the situation where the influence of the simultaneous switching noise is large. Therefore, it is possible to prevent the write data wDQ from being properly captured in the memory 2 regardless of the influence of the simultaneous switching noise.

<先行制御信号に対する位相調整の詳細>
先行制御信号CNTに対する位相調整は、ライト側データストローブ信号wDQSに対する位相調整と同様に行われる。ステップs3において、メモリ制御装置4は、メモリ2に対して書き込んだ調整用データwDQtを当該メモリ2から読み出し、読み出した調整用データwDQtをリード側データストローブ信号rDQSに基づいて取り込む。そして、メモリ制御装置4は、取り込んだ調整用データwDQtが適切でるか否かを判定し、その判定結果に基づいて、各先行制御信号CNTの位相を調整する。本実施の形態では、主制御部40、位相調整用制御部44、調整部41及び判定部47によって、取り込まれた調整用データwDQtが適切であるか否かを判定し、その判定結果に基づいて先行制御信号CNTの位相を調整する第3位相調整部300(図3において二点鎖線で囲まれた部分)が構成される。
<Details of phase adjustment for preceding control signal>
The phase adjustment for the preceding control signal CNT is performed in the same manner as the phase adjustment for the write-side data strobe signal wDQS. In step s3, the memory control device 4 reads the adjustment data wDQt written to the memory 2 from the memory 2, and takes in the read adjustment data wDQt based on the read-side data strobe signal rDQS. Then, the memory control device 4 determines whether or not the fetched adjustment data wDQt is appropriate, and adjusts the phase of each preceding control signal CNT based on the determination result. In the present embodiment, the main control unit 40, the phase adjustment control unit 44, the adjustment unit 41, and the determination unit 47 determine whether or not the acquired adjustment data wDQt is appropriate, and based on the determination result. Thus, a third phase adjusting unit 300 (a portion surrounded by a two-dot chain line in FIG. 3) for adjusting the phase of the preceding control signal CNT is configured.

また本実施の形態では、ステップs3で使用される調整用データwDQtは、例えば、ステップs1,s2で使用される調整用データwDQtと同じである。ステップs3での調整用データwDQtとして、上述の図5に示される複数種類のパターンデータが使用される。なお、ステップs3で使用される調整用データwDQtは、ステップs1で使用される調整用データwDQtと異なっても良い。また、ステップs3で使用される調整用データwDQtは、ステップs2で使用される調整用データwDQtと異なっても良い。   In the present embodiment, the adjustment data wDQt used in step s3 is the same as the adjustment data wDQt used in steps s1 and s2, for example. As the adjustment data wDQt in step s3, a plurality of types of pattern data shown in FIG. 5 are used. The adjustment data wDQt used in step s3 may be different from the adjustment data wDQt used in step s1. Further, the adjustment data wDQt used in step s3 may be different from the adjustment data wDQt used in step s2.

また本実施の形態では、先行制御信号CNTの位相の設定値について、複数種類の設定値が用意されている。例えば、32種類の設定値が用意されている。調整部41は、32種類の設定値のうちのいずれか一つを、各先行制御信号CNTの位相に設定する。以後、先行制御信号CNTの位相の設定値を「CNT用設定値」と呼ぶことがある。   In the present embodiment, a plurality of types of setting values are prepared for the phase setting value of the preceding control signal CNT. For example, 32 types of setting values are prepared. The adjustment unit 41 sets any one of the 32 types of setting values as the phase of each preceding control signal CNT. Hereinafter, the set value of the phase of the preceding control signal CNT may be referred to as a “CNT set value”.

CNT用設定値は、先行制御信号CNTの位相の遅延量を示している。調整部41は、調整部42と同様に、先行制御信号CNTの位相の遅延量を例えば0.1ns間隔で設定することが可能である。本実施の形態では、“0”〜“31”までの32種類のCNT用設定値が規定されている。CNT用設定値は、その値が大きいほど、先行制御信号CNTの位相の遅延量が大きいことを示している。各先行制御信号CNTの位相の初期値としては、例えば、CNT用設定値“16”が採用される。   The set value for CNT indicates the phase delay amount of the preceding control signal CNT. Similar to the adjustment unit 42, the adjustment unit 41 can set the delay amount of the phase of the preceding control signal CNT, for example, at intervals of 0.1 ns. In the present embodiment, 32 types of setting values for CNT from “0” to “31” are defined. The set value for CNT indicates that the larger the value, the larger the phase delay amount of the preceding control signal CNT. As the initial value of the phase of each preceding control signal CNT, for example, the set value “16” for CNT is adopted.

図11はステップs3での処理を詳細に示すフローチャートである。図11に示されるように、ステップs31において、主制御部40は、上述のステップs11,s21と同様に、調整用データwDQtの9種類のパターンデータのいずれか一つを、処理対象のパターンデータとして決定し、決定したパターンデータを位相調整用制御部44に通知する。   FIG. 11 is a flowchart showing in detail the processing in step s3. As shown in FIG. 11, in step s31, the main control unit 40 converts any one of nine types of pattern data of the adjustment data wDQt into pattern data to be processed, as in the above-described steps s11 and s21. And the determined pattern data is notified to the phase adjustment control unit 44.

次にステップs32において、第3位相調整部300は、各先行制御信号CNTの位相を決定する。具体的には、主制御部40が、CNT用設定値“0”〜“31”のうちの一つのCNT用設定値を選択し、選択したCNT用設定値を位相調整用制御部44を通じて調整部41に通知する。調整部41は、先行制御信号CNTが入力されると、その位相を、通知されたCNT用設定値に設定する。   Next, in step s32, the third phase adjustment unit 300 determines the phase of each preceding control signal CNT. Specifically, the main control unit 40 selects one of the CNT setting values “0” to “31” and adjusts the selected CNT setting value through the phase adjustment control unit 44. Notify unit 41. When the preceding control signal CNT is input, the adjustment unit 41 sets the phase to the notified setting value for CNT.

次にステップs33において、メモリ制御装置4は、上述のステップs13,s23と同様に、ステップs31で決定された処理対象のパターンデータをメモリ2に書き込む。このとき、調整部42では、ライト側データストローブ信号wDQSの位相は、ステップs2で求められた適切な値に設定される。また制御部43では、リード側データストローブ信号rDQSの位相は、ステップs1で求められた適切な値に設定される。   Next, in step s33, the memory control device 4 writes the pattern data to be processed determined in step s31 into the memory 2 in the same manner as in steps s13 and s23 described above. At this time, in the adjustment unit 42, the phase of the write side data strobe signal wDQS is set to an appropriate value obtained in step s2. In the control unit 43, the phase of the read side data strobe signal rDQS is set to an appropriate value obtained in step s1.

次にステップs34において、メモリ制御装置4は、上述のステップs14,s24と同様に、ステップs33でメモリ2に書き込まれたパターンデータをメモリ2から読み出す。   Next, in step s34, the memory control device 4 reads the pattern data written in the memory 2 in step s33 from the memory 2, similarly to the above-described steps s14 and s24.

次にステップs35において、データ取り込み部46は、ステップs34で読み出されたパターンデータを、調整部43から出力されるリード側データストローブ信号rDQSの各エッジのタイミングで取り込む。そして、データ取り込み部46は、取り込んだパターンデータを判定部47に出力する。   Next, in step s35, the data capturing unit 46 captures the pattern data read in step s34 at the timing of each edge of the read-side data strobe signal rDQS output from the adjusting unit 43. Then, the data capture unit 46 outputs the captured pattern data to the determination unit 47.

次にステップs36において、判定部47は、上述のステップs16,s26と同様にして、ステップs35で取り込まれたパターンデータが適切か否かを判定する。そして、判定部47は、取り込まれたパターンデータが適切であるか否かの判定結果を主制御部40に通知する。主制御部40は、ステップs37において、判定部47から通知された判定結果を記憶部401に記憶する。このとき、主制御部40は、判定結果と、ステップs31で決定された処理対象のパターンデータを特定する情報と、ステップs32で決定されたCNT用設定値を特定する情報とを互いに対応付けて記憶部401に記憶する。   Next, in step s36, the determination unit 47 determines whether the pattern data fetched in step s35 is appropriate in the same manner as in the above-described steps s16 and s26. Then, the determination unit 47 notifies the main control unit 40 of a determination result as to whether or not the captured pattern data is appropriate. In step s37, the main control unit 40 stores the determination result notified from the determination unit 47 in the storage unit 401. At this time, the main control unit 40 associates the determination result, the information specifying the pattern data to be processed determined in step s31, and the information specifying the set value for CNT determined in step s32. Store in the storage unit 401.

次にステップs38において、主制御部40は、先行制御信号CNTの位相を所定範囲変化させたか否かを判定する。具体的には、主制御部40は、32種類のCNT用設定値のすべてを、先行制御信号CNTの位相に設定したか否かを判定する。ステップs38においてNoと判定されると、再度ステップs32が実行される。ここでのステップs32では、32種類のCNT用設定値のうち、先行制御信号CNTの位相として未だ採用されていないCNT用設定値が選択される。その後、ステップs33が実行されて、処理対象のパターンデータがメモリ2に書き込まれる。以後、ステップs34〜s37が同様に実行される。   Next, in step s38, the main control unit 40 determines whether or not the phase of the preceding control signal CNT has been changed by a predetermined range. Specifically, the main control unit 40 determines whether or not all 32 types of CNT setting values have been set to the phase of the preceding control signal CNT. If it is determined No in step s38, step s32 is executed again. In step s32 here, among the 32 types of CNT setting values, a CNT setting value that has not yet been adopted as the phase of the preceding control signal CNT is selected. Thereafter, step s33 is executed, and the pattern data to be processed is written into the memory 2. Thereafter, steps s34 to s37 are executed similarly.

一方で、ステップs38においてYesと判定されると、つまり、判定部47において、先行制御信号CNTの位相についての32種類のCNT用設定値にそれぞれ対応する32個の判定結果が得られると、主制御部40は、ステップs39において、9種類のパターンデータのすべてを処理対象としたかを判定する。ステップs39においてNoと判定されると、ステップs31が再度実行される。ここでのステップs31では、9種類のパターンデータにおいて処理対象とされてないパターンデータが新たな処理対象とされる。その後、ステップs32以降が同様に実行される。   On the other hand, when it is determined Yes in step s38, that is, when the determination unit 47 obtains 32 determination results respectively corresponding to the 32 types of CNT setting values for the phase of the preceding control signal CNT, In step s39, the control unit 40 determines whether all nine types of pattern data have been processed. If it is determined No in step s39, step s31 is executed again. In step s31 here, pattern data that is not a processing target in nine types of pattern data is set as a new processing target. Thereafter, step s32 and subsequent steps are executed in the same manner.

なお、ステップs31において処理対象のパターンデータが新たに決定された場合には、主制御部40は、先行制御信号CNTの位相に、32種類のCNT用設定値のそれぞれをあらためて設定する。したがって、ステップs31において処理対象のパターンデータが新たに決定された後、ステップs38においてYesと判定されると、主制御部40には、32種類のCNT用設定値にそれぞれ対応する、当該処理対象のパターンデータに応じた32個の判定結果が記憶されている。   When the pattern data to be processed is newly determined in step s31, the main control unit 40 newly sets each of the 32 types of setting values for CNT in the phase of the preceding control signal CNT. Therefore, after the pattern data to be processed is newly determined in step s31, if it is determined Yes in step s38, the main control unit 40 has the processing target corresponding to each of the 32 types of CNT setting values. 32 determination results corresponding to the pattern data are stored.

ステップs39においてYesと判定されると、つまり、9種類のパターンデータのそれぞれに関して、32種類のCNT用設定値にそれぞれ対応する32個の判定結果が主制御部40に記憶されると、ステップs40において、主制御部40は、これらの判定結果に基づいて、各先行制御信号CNTの位相の適切な値を決定する。   If it is determined Yes in step s39, that is, if 32 determination results respectively corresponding to 32 types of CNT setting values are stored in the main control unit 40 for each of the nine types of pattern data, step s40 is performed. The main control unit 40 determines an appropriate value of the phase of each preceding control signal CNT based on these determination results.

図12は、ステップs39においてYesと判定された後に主制御部40に記憶されている判定結果の一例を示す図である。   FIG. 12 is a diagram illustrating an example of a determination result stored in the main control unit 40 after determining Yes in step s39.

ステップs40において、主制御部40は、9種類のパターンデータのそれぞれについて、当該パターンデータに応じた32個の判定結果に基づいて、データ取り込み部46で取り込まれる当該パターンデータが適切となる、先行制御信号CNTの位相範囲を特定する。   In step s40, the main control unit 40 determines, for each of the nine types of pattern data, that the pattern data captured by the data capturing unit 46 is appropriate based on 32 determination results corresponding to the pattern data. The phase range of the control signal CNT is specified.

図12の例では、データ取り込み部46で取り込まれる1ビット目変化パターンデータが適切となる、先行制御信号CNTの位相範囲は、CNT用設定値“12”〜“19”の範囲である。また、データ取り込み部46で取り込まれる2ビット目変化パターンデータが適切となる、先行制御信号CNTの位相範囲は、CNT用設定値“12”〜“17”の範囲である。また、データ取り込み部46で取り込まれる3ビット目変化パターンデータが適切となる、先行制御信号CNTの位相範囲は、CNT用設定値“12”〜“19”の範囲である。   In the example of FIG. 12, the phase range of the preceding control signal CNT in which the first bit change pattern data captured by the data capturing unit 46 is appropriate is a range of CNT set values “12” to “19”. In addition, the phase range of the preceding control signal CNT in which the second bit change pattern data captured by the data capturing unit 46 is appropriate is a range of CNT set values “12” to “17”. In addition, the phase range of the preceding control signal CNT in which the third bit change pattern data captured by the data capturing unit 46 is appropriate is a range of CNT set values “12” to “19”.

主制御部40は、9種類のパターンデータのそれぞれについて、データ取り込み部46で取り込まれる当該パターンデータが適切となる、先行制御信号CNTの位相範囲を特定すると、特定した複数の位相範囲が重複する重複範囲310からライト側データストローブ信号wDQSの位相の適切な値を決定する。主制御部40は、例えば、当該重複範囲310の中央の値を、先行制御信号CNTの位相の適切な値とする。図12の例では、重複範囲310はCNT用設定値“12”〜“17”の範囲である。そして、重複範囲310の中央の値は、CNT用設定値“14”及び“15”である。このように、重複範囲310の中央の値が2つ存在する場合には、当該2つのうちのどちらを、先行制御信号CNTの位相の適切な値としても良い。ここでは、CNT用設定値“14”が、先行制御信号CNTの位相の適切な値とされる。   When the main control unit 40 identifies the phase range of the preceding control signal CNT in which the pattern data captured by the data capturing unit 46 is appropriate for each of the nine types of pattern data, the plurality of identified phase ranges overlap. An appropriate value of the phase of the write side data strobe signal wDQS is determined from the overlapping range 310. For example, the main control unit 40 sets the central value of the overlapping range 310 as an appropriate value of the phase of the preceding control signal CNT. In the example of FIG. 12, the overlapping range 310 is a range of CNT setting values “12” to “17”. The central values of the overlapping range 310 are the CNT setting values “14” and “15”. Thus, when there are two central values in the overlapping range 310, either of the two values may be set as an appropriate value for the phase of the preceding control signal CNT. Here, the set value for CNT “14” is an appropriate value for the phase of the preceding control signal CNT.

主制御部40は、先行制御信号CNTの位相の適切な値を決定すると、その適切な値を位相調整用制御部44を通じて調整部41に通知する。これにより、ステップs3での、各先行制御信号CNTに対する位相調整が完了する。通常モードのメモリ制御装置4では、リードサイクルあるいはライトサイクルにおいて、調整部41は、入力される先行制御信号CNTの位相を、ステップs3で決定された適切な値に設定する。図12の例では、調整部41は、各先行制御信号CNTの位相をCNT用設定値“14”に設定する。   When the main control unit 40 determines an appropriate value of the phase of the preceding control signal CNT, the main control unit 40 notifies the adjustment unit 41 of the appropriate value through the phase adjustment control unit 44. Thereby, the phase adjustment for each preceding control signal CNT in step s3 is completed. In the memory controller 4 in the normal mode, in the read cycle or the write cycle, the adjustment unit 41 sets the phase of the input preceding control signal CNT to the appropriate value determined in step s3. In the example of FIG. 12, the adjustment unit 41 sets the phase of each preceding control signal CNT to the CNT setting value “14”.

なお、先行制御信号CNTの位相を調整する際の調整用データwDQtについても、パターンデータでなくても良い。また、リード側データストローブ信号rDQSの位相を調整する場合と同様に、メモリ制御装置4は、1種類のパターンデータのみを用いて、先行制御信号CNTに対する位相調整を行っても良い。また第3位相調整部300は、データ取り込み部46によって取り込まれたパターンデータに対してパリティチェックを行う以外の方法で、当該パターンデータが適切か否かを判定しても良い。   Note that the adjustment data wDQt for adjusting the phase of the preceding control signal CNT may not be pattern data. Similarly to the case of adjusting the phase of the read-side data strobe signal rDQS, the memory control device 4 may adjust the phase of the preceding control signal CNT using only one type of pattern data. The third phase adjustment unit 300 may determine whether the pattern data is appropriate by a method other than performing a parity check on the pattern data captured by the data capturing unit 46.

以上のように、本実施の形態では、主制御部40、位相調整用制御部44、調整部41及び判定部47によって構成される第3位相調整部300は、データ取り込み部46によって取り込まれた調整用データwDQtが適切であるか否かを判定し、その判定結果に基づいて先行制御信号CNTの位相を調整する。   As described above, in the present embodiment, the third phase adjustment unit 300 configured by the main control unit 40, the phase adjustment control unit 44, the adjustment unit 41, and the determination unit 47 is acquired by the data acquisition unit 46. It is determined whether or not the adjustment data wDQt is appropriate, and the phase of the preceding control signal CNT is adjusted based on the determination result.

ここで、ステップs1,s2の実行によって、リード側データストローブ信号rDQS及びライト側データストローブ信号wDQSの位相は適切な値に設定されることから、データ取り込み部46に入力されるリード側データストローブ信号rDQS及びリードデータrDQの位相の関係は適切であり、メモリ2でのライト側データストローブ信号wDQS及びライトデータwDQの位相の関係は適切である。このような場合には、先行制御信号CNTの位相が適切であれば、データ取り込み部46が取り込む調整用データwDQtは適切なデータとなる。したがって、データ取り込み部46が取り込む調整用データwDQtが適切であれば、各制御信号CNTの位相は適切であると考えることができる。一方で、データ取り込み部46が取り込む調整用データwDQtが適切でなければ、制御信号CNTの位相は適切でないと考えることができる。よって、ステップs3において、第3位相調整部300が、データ取り込み部46によって取り込まれた調整用データwDQtが適切であるか否かの判定結果に基づいて先行制御信号CNTの位相を調整することにより、第3位相調整部300は、先行制御信号CNTの位相を適切な値に設定することができる。その結果、メモリ2からのデータの読み出しミスが発生したり、メモリ2に対するデータの書き込みミスが発生したりすることが抑制される。   Here, by executing steps s1 and s2, the phases of the read side data strobe signal rDQS and the write side data strobe signal wDQS are set to appropriate values. The phase relationship between rDQS and read data rDQ is appropriate, and the phase relationship between write-side data strobe signal wDQS and write data wDQ in memory 2 is appropriate. In such a case, if the phase of the preceding control signal CNT is appropriate, the adjustment data wDQt captured by the data capture unit 46 is appropriate data. Therefore, if the adjustment data wDQt captured by the data capturing unit 46 is appropriate, it can be considered that the phase of each control signal CNT is appropriate. On the other hand, if the adjustment data wDQt captured by the data capturing unit 46 is not appropriate, it can be considered that the phase of the control signal CNT is not appropriate. Therefore, in step s3, the third phase adjustment unit 300 adjusts the phase of the preceding control signal CNT based on the determination result of whether or not the adjustment data wDQt fetched by the data fetching unit 46 is appropriate. The third phase adjustment unit 300 can set the phase of the preceding control signal CNT to an appropriate value. As a result, a data read error from the memory 2 or a data write error to the memory 2 is suppressed.

また、ステップs3においては、ステップs1,s2と同様に、第3位相調整部300は、データ取り込み部46によって取り込まれた調整用データwDQtに対してパリティチェックを行うことによって、当該調整用データwDQtが適切か否かを判定する。そのため、データ取り込み部46によって取り込まれた調整用データwDQtが適切であるか否かを簡単に判定するができる。   In step s3, similarly to steps s1 and s2, the third phase adjustment unit 300 performs a parity check on the adjustment data wDQt fetched by the data fetch unit 46, thereby adjusting the adjustment data wDQt. Determine whether is appropriate. Therefore, it is possible to easily determine whether or not the adjustment data wDQt fetched by the data fetching unit 46 is appropriate.

また、ステップs3においては、ステップs1,s2と同様に、調整用データwDQtとして、複数種類のパターンデータが使用されているため、メモリ2に書き込むライトデータwDQのパターン及びメモリ2から読み出すリードデータrDQのパターンにかかわらず、先行制御信号CNTの位相を適切な値に設定することができる。   In step s3, similar to steps s1 and s2, since plural types of pattern data are used as the adjustment data wDQt, the pattern of the write data wDQ to be written to the memory 2 and the read data rDQ to be read from the memory 2 are used. Regardless of the pattern, the phase of the preceding control signal CNT can be set to an appropriate value.

また、ステップs3においては、データ取り込み部46で取り込まれる調整用データwDQtが適切となる先行制御信号CNTの位相範囲が特定され、当該位相範囲から先行制御信号CNTの位相の適切な値が決定される。したがって、実運用中の半導体装置1が動作している間に、温度変化、電源電圧の変化等によって、先行制御信号CNTの位相が多少変化したとしても、メモリ2からのデータの読み出しミスが発生したり、メモリ2に対するデータの書き込みミスが発生したりすることが抑制される。   In step s3, the phase range of the preceding control signal CNT in which the adjustment data wDQt captured by the data capturing unit 46 is appropriate is specified, and an appropriate value of the phase of the preceding control signal CNT is determined from the phase range. The Therefore, even when the semiconductor device 1 in actual operation is operating, even if the phase of the preceding control signal CNT slightly changes due to a temperature change, a power supply voltage change, etc., a data read error from the memory 2 occurs. Or occurrence of a data write error to the memory 2 is suppressed.

また、ステップs3においては、調整用データwDQtについての複数種類のパターンデータのそれぞれについて、データ取り込み部46で取り込まれた当該パターンデータが適切となる先行制御信号CNTの位相範囲が特定され、特定された複数の位相範囲が重複する重複範囲から先行制御信号CNTの位相の適切な値が決定されている。したがって、実運用中の半導体装置1が動作している間に、先行制御信号CNTの位相が多少変化する場合であっても、メモリ2に書き込むライトデータwDQのパターン及びメモリ2から読み出すリードデータrDQのパターンにかかわらず、メモリ2からのデータの読み出しミスが発生したり、メモリ2に対するデータの書き込みミスが発生したりすることが抑制される。   In step s3, for each of a plurality of types of pattern data for the adjustment data wDQt, the phase range of the preceding control signal CNT in which the pattern data captured by the data capturing unit 46 is appropriate is identified and identified. Further, an appropriate value of the phase of the preceding control signal CNT is determined from the overlapping range where the plurality of phase ranges overlap. Therefore, even if the phase of the preceding control signal CNT changes slightly while the semiconductor device 1 in actual operation is operating, the pattern of the write data wDQ to be written to the memory 2 and the read data rDQ to be read from the memory 2 Regardless of the pattern, occurrence of a data read error from the memory 2 or a data write error to the memory 2 is suppressed.

また、ステップs3において、ステップs1,s2と同様に、調整用データwDQtとして1ビット変化パターンデータと全ビット変化パターンデータとが使用される。そのため、同時スイッチングノイズの影響が小さい状況と、同時スイッチングノイズの影響が大きい状況との両方が考慮されて、先行制御信号CNTの位相が調整される。したがって、同時スイッチングノイズの影響の大きさにかかわらず、メモリ2からのデータの読み出しミスが発生したり、メモリ2に対するデータの書き込みミスが発生したりすることが抑制される。   In step s3, similarly to steps s1 and s2, 1-bit change pattern data and all-bit change pattern data are used as the adjustment data wDQt. Therefore, the phase of the preceding control signal CNT is adjusted in consideration of both the situation where the influence of the simultaneous switching noise is small and the situation where the influence of the simultaneous switching noise is large. Therefore, regardless of the influence of the simultaneous switching noise, occurrence of a data read error from the memory 2 or a data write error to the memory 2 is suppressed.

なお、リード側データストローブ信号rDQS等の制御信号に対する位相調整に使用される調整用データwDQtには、図5に示されるパターンデータ以外のパターンデータが含められても良い。例えば、図13に示されるような、第1及び第2単位データの間で2ビットだけが相違する2ビット変化パターンデータが調整用データwDQtに含められても良い。また図14に示されるような、第1及び第2単位データの間で4ビットだけが相違する4ビット変化パターンデータが調整用データwDQtに含められても良い。2ビット変化パターンデータ及び4ビット変化パターンデータの少なくとも一方が使用されて制御信号の位相が調整されることによって、同時スイッチングノイズの影響が小さい状況(1ビット変化パターンデータ)と、同時スイッチングノイズの影響がやや大きい状況(2ビット変化パターンデータ、4ビット変化パターンデータ)と、同時スイッチングノイズの影響がかなり大きい状況(全ビット変化パターンデータ)とが考慮されて、制御信号の位相が調整される。   Note that the adjustment data wDQt used for phase adjustment with respect to control signals such as the read-side data strobe signal rDQS may include pattern data other than the pattern data shown in FIG. For example, as shown in FIG. 13, 2-bit change pattern data in which only 2 bits differ between the first and second unit data may be included in the adjustment data wDQt. Further, as shown in FIG. 14, 4-bit change pattern data in which only 4 bits differ between the first and second unit data may be included in the adjustment data wDQt. When at least one of 2-bit change pattern data and 4-bit change pattern data is used to adjust the phase of the control signal, the influence of simultaneous switching noise is small (1-bit change pattern data), and The phase of the control signal is adjusted in consideration of a situation where the influence is slightly large (2-bit change pattern data, 4-bit change pattern data) and a situation where the influence of simultaneous switching noise is quite large (all bit change pattern data). .

また上記の例では、図4に示される位相調整処理は、実運用中の半導体装置1において実行されていた。しかしながら、メモリ制御装置4とメモリ2とが接続された状態で半導体装置1の出荷が行われる場合には、つまり、半導体装置1全体が一つの製品として出荷される場合には、半導体装置1の出荷検査(製造工場での検査)において、図4に示される位相調整処理が実行されても良い。また、半導体集積回路3とメモリ2とが別々の製品として出荷され、ユーザが半導体集積回路3とメモリ2とを接続して半導体装置1を製作する場合には、半導体集積回路3とメモリ2との接続確認テストの際に、図4に示される位相調整処理が行われても良い。   In the above example, the phase adjustment processing shown in FIG. 4 is executed in the semiconductor device 1 in actual operation. However, when the semiconductor device 1 is shipped with the memory control device 4 and the memory 2 connected, that is, when the entire semiconductor device 1 is shipped as one product, the semiconductor device 1 In the shipping inspection (inspection at the manufacturing factory), the phase adjustment process shown in FIG. 4 may be executed. When the semiconductor integrated circuit 3 and the memory 2 are shipped as separate products and the user connects the semiconductor integrated circuit 3 and the memory 2 to manufacture the semiconductor device 1, the semiconductor integrated circuit 3 and the memory 2 In the connection confirmation test, the phase adjustment process shown in FIG. 4 may be performed.

また上記の例では、ステップs1が実行される際に、ライト側データストローブ信号wDQSとライトデータwDQの位相の関係が大きくずれており、メモリ制御装置4がメモリ2に対してデータを適切に書き込むことができない場合には、ステップs1においてデータ取り込み部46が取り込んだパターンデータは常に不適切となる。したがって、ステップs20において、メモリ制御装置4は、リード側データストローブ信号rDQSの位相の適切な値を求めることができない。図15に示されるように、メモリ制御装置4は、ステップs1(ステップs20)においてリード側データストローブ信号rDQSの位相の適切な値を求めることができない場合には(ステップs50)、リード側データストローブ信号rDQSの位相を初期値に設定した上でステップs2及びステップs3を順次実行し、その後、ステップs1を再度実行しても良い。このとき、図16に示されるように、ステップs2においてライト側データストローブ信号wDQSの位相について適切な値が求められない場合には(ステップs60のNo)、メモリ制御装置4は、ステップs3を実行せずに、リード側データストローブ信号rDQSの位相を変化させた上で(ステップs61)再度ステップs2を実行しても良い。そして、このステップs2においても、ライト側データストローブ信号wDQSの位相について適切な値が求められない場合(ステップs60のNo)には、メモリ制御装置4は、リード側データストローブ信号rDQSの位相をさらに変化させて(ステップs61)、ステップs2を実行する。メモリ制御装置4は、ステップs2においてライト側データストローブ信号wDQSの位相について適切な値が求められるまでこれを繰り返す。メモリ制御装置4は、ステップs2おいてライト側データストローブ信号wDQSの位相について適切な値が求められると(ステップs60のYes)、ステップs3を実行し、その後ステップs1を実行する。   In the above example, when step s1 is executed, the phase relationship between the write-side data strobe signal wDQS and the write data wDQ is greatly shifted, and the memory control device 4 appropriately writes data to the memory 2. If this is not possible, the pattern data captured by the data capturing unit 46 in step s1 is always inappropriate. Therefore, in step s20, the memory control device 4 cannot obtain an appropriate value for the phase of the read-side data strobe signal rDQS. As shown in FIG. 15, when the memory control device 4 cannot obtain an appropriate value of the phase of the read side data strobe signal rDQS in step s1 (step s20) (step s50), the read side data strobe Steps s2 and s3 may be executed sequentially after setting the phase of the signal rDQS to an initial value, and then step s1 may be executed again. At this time, as shown in FIG. 16, when an appropriate value is not obtained for the phase of the write-side data strobe signal wDQS in step s2 (No in step s60), the memory control device 4 executes step s3. Instead, the phase of the read side data strobe signal rDQS may be changed (step s61), and step s2 may be executed again. Also in this step s2, if an appropriate value is not obtained for the phase of the write side data strobe signal wDQS (No in step s60), the memory control device 4 further sets the phase of the read side data strobe signal rDQS. Change (step s61) and execute step s2. The memory control device 4 repeats this until an appropriate value is obtained for the phase of the write side data strobe signal wDQS in step s2. When an appropriate value is obtained for the phase of the write-side data strobe signal wDQS in step s2 (Yes in step s60), the memory control device 4 executes step s3, and then executes step s1.

以上のように、半導体装置1は詳細に説明されたが、上記した説明は、全ての局面において例示であって、この発明がそれに限定されるものではない。また、上述した各種変形例は、相互に矛盾しない限り組み合わせて適用可能である。そして、例示されていない無数の変形例が、この発明の範囲から外れることなく想定され得るものと解される。   As described above, the semiconductor device 1 has been described in detail. However, the above description is illustrative in all aspects, and the present invention is not limited thereto. The various modifications described above can be applied in combination as long as they do not contradict each other. And it is understood that the countless modification which is not illustrated can be assumed without deviating from the scope of the present invention.

1 半導体装置
2 メモリ
4 メモリ制御装置
46 データ取り込み部
100 第1位相調整部
200 第2位相調整部
300 第3位相調整部
402 位置調整用プログラム
DESCRIPTION OF SYMBOLS 1 Semiconductor device 2 Memory 4 Memory control apparatus 46 Data acquisition part 100 1st phase adjustment part 200 2nd phase adjustment part 300 3rd phase adjustment part 402 Position adjustment program

Claims (8)

メモリを制御するメモリ制御装置であって、
前記メモリ制御装置が前記メモリからデータを読み出す際に当該メモリがデータとともに出力する第1制御信号に対して位相調整を行う第1位相調整部と、
前記第1制御信号に基づいて、前記メモリから読み出されたデータを取り込むデータ取り込み部と
を備え、
前記メモリ制御装置は、前記第1制御信号に対する位相調整用の第1調整用データを前記メモリに書き込み、
前記データ取り込み部は、前記メモリ制御装置が前記メモリから読み出した前記第1調整用データを前記第1制御信号に基づいて取り込み、
前記第1位相調整部は、前記データ取り込み部によって取り込まれた前記第1調整用データが適切か否かを判定し、その判定結果に基づいて前記第1制御信号に対する位相調整を行い、
前記メモリ制御装置は、前記第1調整用データに含まれる複数種類の第1データのそれぞれについて、当該第1データを前記メモリに書き込んだ後、当該第1データを前記メモリから読み出す処理を複数回実行し、
前記第1位相調整部は、前記複数種類の第1データのそれぞれについて、当該第1データを用いた前記処理が前記メモリ制御装置で実行されるたびに、前記第1制御信号の位相を変化させ、
前記第1位相調整部は、前記複数種類の第1データのそれぞれについて、前記メモリ制御装置が前記処理を実行するたびに前記データ取り込み部によって取り込まれた当該第1データがそれぞれ適切であるか否かを判定し、その判定結果に基づいて、前記複数種類の第1データのそれぞれについて、前記データ取り込み部によって取り込まれた当該第1データが適切となる前記第1制御信号の位相範囲を特定し、特定した複数の位相範囲が重複する範囲の中央値を前記第1制御信号の位相の適切な値とする、メモリ制御装置。
A memory control device for controlling a memory,
A first phase adjustment unit that performs phase adjustment on a first control signal that the memory outputs together with data when the memory control device reads data from the memory;
A data capturing unit that captures data read from the memory based on the first control signal;
The memory control device writes phase adjustment first adjustment data for the first control signal to the memory,
The data capturing unit captures the first adjustment data read from the memory by the memory control device based on the first control signal,
The first phase adjustment unit, the data acquisition part of the first adjustment data captured by it is determined whether it is appropriate, have rows phase adjustment to the first control signal based on the determination result,
The memory control device performs a process of reading the first data from the memory a plurality of times after writing the first data to the memory for each of the plurality of types of first data included in the first adjustment data. Run,
The first phase adjustment unit changes the phase of the first control signal for each of the plurality of types of first data each time the processing using the first data is executed by the memory control device. ,
The first phase adjustment unit determines whether or not each of the plurality of types of first data is appropriate for each of the first data fetched by the data fetching unit each time the memory control device executes the process. And determining a phase range of the first control signal in which the first data captured by the data capturing unit is appropriate for each of the plurality of types of first data based on the determination result. A memory control device, wherein a median value of a range where a plurality of specified phase ranges overlap is set to an appropriate value of the phase of the first control signal .
請求項1に記載のメモリ制御装置であって、
前記第1位相調整部は、前記データ取り込み部によって取り込まれた前記第1データに対してパリティチェックを行うことによって、当該第1データが適切か否かを判定する、メモリ制御装置。
The memory control device according to claim 1,
The first phase adjustment portion, said by performing a parity check with respect to the first data captured by the data capturing unit, determines whether the first data is correct, the memory controller .
請求項及び請求項のいずれか一つに記載のメモリ制御装置であって、
前記メモリ制御装置と前記メモリとの間のデータバスのビット数は、N(≧2)ビットであり、
前記複数種類の第1データのそれぞれは、パターンデータであって、
前記複数種類の第1データは、
Nビットから成る第1単位データと、Nビットから成る第2単位データとが交互に現れる第1パターンデータと、
Nビットから成る第3単位データと、Nビットから成る第4単位データとが交互に現れる第2パターンデータと
を含み、
前記第1及び第2単位データの間では1ビットだけ相違し、
前記第3及び第4単位データの間ではNビットすべて相違する、メモリ制御装置。
A memory control device according to any one of claims 1 and 2 ,
The number of bits of the data bus between the memory controller and the memory is N (≧ 2) bits,
Each of the plurality of types of first data is pattern data,
The plurality of types of first data are:
First pattern data in which first unit data composed of N bits and second unit data composed of N bits appear alternately;
Including third unit data composed of N bits and second pattern data in which fourth unit data composed of N bits appear alternately,
There is a difference of 1 bit between the first and second unit data,
A memory control device, wherein all N bits are different between the third and fourth unit data.
請求項1乃至請求項のいずれか一つに記載のメモリ制御装置であって、
前記メモリ制御装置が、前記メモリにデータを書き込む際に出力する、当該メモリが当該データを取り込む際の基準となる第2制御信号に対して位相調整を行う第2位相調整部を備え、
前記メモリ制御装置は、前記第2制御信号に対する位相調整用の第2調整用データを前記メモリに書き込み、
前記データ取り込み部は、前記メモリ制御装置が前記メモリから読み出した前記第2調整用データを前記第1制御信号に基づいて取り込み、
前記第2位相調整部は、前記データ取り込み部によって取り込まれた前記第2調整用データが適切か否かを判定し、その判定結果に基づいて前記第2制御信号に対する位相調整を行う、メモリ制御装置。
A memory control device according to any one of claims 1 to 3 ,
The memory control device includes a second phase adjustment unit that adjusts a phase with respect to a second control signal that is output when the data is written to the memory and that is a reference when the memory captures the data
The memory control device writes phase adjustment second adjustment data for the second control signal to the memory;
The data capturing unit captures the second adjustment data read from the memory by the memory control device based on the first control signal,
The second phase adjustment unit determines whether or not the second adjustment data acquired by the data acquisition unit is appropriate, and performs phase adjustment on the second control signal based on the determination result apparatus.
請求項1乃至請求項のいずれか一つに記載のメモリ制御装置であって、
前記メモリ制御装置が、前記メモリにデータを書き込む際あるいは当該メモリからデータを読み出す際に、当該データに先立って出力する第3制御信号に対して位相調整を行う第3位相調整部を備え、
前記メモリ制御装置は、前記第3制御信号に対する位相調整用の第3調整用データを前記メモリに書き込み、
前記データ取り込み部は、前記メモリ制御装置が前記メモリから読み出した前記第3調整用データを前記第1制御信号に基づいて取り込み、
前記第3位相調整部は、前記データ取り込み部によって取り込まれた前記第3調整用データが適切か否かを判定し、その判定結果に基づいて前記第3制御信号に対する位相調整を行う、メモリ制御装置。
A memory control device according to any one of claims 1 to 4 ,
When the memory control device writes data to the memory or reads data from the memory, the memory control device includes a third phase adjustment unit that performs phase adjustment on a third control signal that is output prior to the data,
The memory control device writes third adjustment data for phase adjustment to the third control signal in the memory;
The data capturing unit captures the third adjustment data read from the memory by the memory control device based on the first control signal,
The third phase adjustment unit determines whether or not the third adjustment data captured by the data capture unit is appropriate, and performs phase adjustment on the third control signal based on the determination result. apparatus.
請求項1乃至請求項のいずれか一つに記載のメモリ制御装置と、
前記メモリ制御装置が制御するメモリと
を備える、半導体装置。
A memory control device according to any one of claims 1 to 5 ;
And a memory controlled by the memory control device.
メモリを制御するメモリ制御装置を制御するための制御プログラムであって、
前記メモリ制御装置に、
(a)前記メモリ制御装置が前記メモリからデータを読み出す際に、当該メモリがデータとともに出力する制御信号に対する位相調整用の調整用データを前記メモリに書き込み、書き込んだ前記調整用データを前記メモリから読み出す工程と、
(b)前記メモリから読み出された前記調整用データを前記制御信号に基づいて取り込む工程と、
(c)前記制御信号に基づいて取り込まれた前記調整用データが適切か否かを判定し、その判定結果に基づいて前記制御信号に対する位相調整を行う工程と
を実行させ、
前記工程(a)は、前記調整用データに含まれる複数種類のデータのそれぞれについて、当該データを前記メモリに書き込んだ後、当該データを前記メモリから読み出す処理を複数回実行する工程を含み、
前記工程(b)は、前記複数種類のデータのそれぞれについて、当該データを用いた前記処理が実行されるたびに、前記制御信号の位相を変化させて前記データを前記制御信号に基づいて取り込む工程を含み、
前記工程(c)は、前記複数種類のデータのそれぞれについて、前記処理が実行されるたびに取り込まれた当該データがそれぞれ適切であるか否かを判定し、その判定結果に基づいて、前記複数種類のデータのそれぞれについて、取り込まれた当該データが適切となる前記制御信号の位相範囲を特定し、特定した複数の位相範囲が重複する範囲の中央値を前記制御信号の位相の適切な値とする工程を含む、制御プログラム。
A control program for controlling a memory control device for controlling a memory,
In the memory control device,
(A) when the memory controller reads data from the memory, the adjustment data for phase adjustment to the control signal to which the memory is output together with data write in the memory, the said adjustment data written memory Reading from
(B) capturing the adjustment data read from the memory based on the control signal;
(C) determining whether or not the adjustment data captured based on the control signal is appropriate, and performing a phase adjustment on the control signal based on the determination result ;
The step (a) includes, for each of a plurality of types of data included in the adjustment data, a step of executing a process of reading the data from the memory a plurality of times after writing the data to the memory,
The step (b) includes, for each of the plurality of types of data, changing the phase of the control signal and capturing the data based on the control signal each time the processing using the data is executed. Including
In the step (c), for each of the plurality of types of data, it is determined whether or not the captured data is appropriate each time the processing is executed, and the plurality of types of data are determined based on the determination result. For each type of data, the phase range of the control signal for which the captured data is appropriate is identified, and the median value of the range where the plurality of identified phase ranges overlap is the appropriate value for the phase of the control signal. A control program including a step of performing.
メモリを制御するメモリ制御装置の動作方法であって、
(a)前記メモリ制御装置が前記メモリからデータを読み出す際に、当該メモリがデータとともに出力する制御信号に対する位相調整用の調整用データを前記メモリに書き込み、書き込んだ前記調整用データを前記メモリから読み出す工程と、
(b)前記メモリから読み出された前記調整用データを前記制御信号に基づいて取り込む工程と、
(c)前記制御信号に基づいて取り込まれた前記調整用データが適切か否かを判定し、その判定結果に基づいて前記制御信号に対する位相調整を行う工程と
を備え
前記工程(a)は、前記調整用データに含まれる複数種類のデータのそれぞれについて、当該データを前記メモリに書き込んだ後、当該データを前記メモリから読み出す処理を複数回実行する工程を含み、
前記工程(b)は、前記複数種類のデータのそれぞれについて、当該データを用いた前記処理が実行されるたびに、前記制御信号の位相を変化させて前記データを前記制御信号に基づいて取り込む工程を含み、
前記工程(c)は、前記複数種類のデータのそれぞれについて、前記処理が実行されるたびに取り込まれた当該データがそれぞれ適切であるか否かを判定し、その判定結果に基づいて、前記複数種類のデータのそれぞれについて、取り込まれた当該データが適切となる前記制御信号の位相範囲を特定し、特定した複数の位相範囲が重複する範囲の中央値を前記制御信号の位相の適切な値とする工程を含む、メモリ制御装置の動作方法。
An operation method of a memory control device for controlling a memory, comprising:
(A) when the memory controller reads data from the memory, the adjustment data for phase adjustment to the control signal to which the memory is output together with data write in the memory, the said adjustment data written memory Reading from
(B) capturing the adjustment data read from the memory based on the control signal;
(C) determining whether or not the adjustment data captured based on the control signal is appropriate, and performing phase adjustment on the control signal based on the determination result ,
The step (a) includes, for each of a plurality of types of data included in the adjustment data, a step of executing a process of reading the data from the memory a plurality of times after writing the data to the memory,
The step (b) includes, for each of the plurality of types of data, changing the phase of the control signal and capturing the data based on the control signal each time the processing using the data is executed. Including
In the step (c), for each of the plurality of types of data, it is determined whether or not the captured data is appropriate each time the processing is executed, and the plurality of types of data are determined based on the determination result. For each type of data, the phase range of the control signal for which the captured data is appropriate is identified, and the median value of the range where the plurality of identified phase ranges overlap is the appropriate value for the phase of the control signal. A method for operating a memory control device , comprising the step of :
JP2014203792A 2014-10-02 2014-10-02 MEMORY CONTROL DEVICE, SEMICONDUCTOR DEVICE, CONTROL PROGRAM, AND MEMORY CONTROL DEVICE OPERATION METHOD Active JP6407653B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014203792A JP6407653B2 (en) 2014-10-02 2014-10-02 MEMORY CONTROL DEVICE, SEMICONDUCTOR DEVICE, CONTROL PROGRAM, AND MEMORY CONTROL DEVICE OPERATION METHOD

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014203792A JP6407653B2 (en) 2014-10-02 2014-10-02 MEMORY CONTROL DEVICE, SEMICONDUCTOR DEVICE, CONTROL PROGRAM, AND MEMORY CONTROL DEVICE OPERATION METHOD

Publications (2)

Publication Number Publication Date
JP2016071821A JP2016071821A (en) 2016-05-09
JP6407653B2 true JP6407653B2 (en) 2018-10-17

Family

ID=55867013

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014203792A Active JP6407653B2 (en) 2014-10-02 2014-10-02 MEMORY CONTROL DEVICE, SEMICONDUCTOR DEVICE, CONTROL PROGRAM, AND MEMORY CONTROL DEVICE OPERATION METHOD

Country Status (1)

Country Link
JP (1) JP6407653B2 (en)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005056334A (en) * 2003-08-07 2005-03-03 Ricoh Co Ltd Data taking-in circuit for taking in data from synchronous memory
JP2005141725A (en) * 2003-10-16 2005-06-02 Pioneer Plasma Display Corp Memory access circuit, operating method therefor, and display device using the memory access circuit
JP5268392B2 (en) * 2008-03-07 2013-08-21 パナソニック株式会社 Memory device, memory system, and access timing adjustment method in memory system
JP2010182149A (en) * 2009-02-06 2010-08-19 Renesas Electronics Corp Memory controller and memory control method
JP2012252530A (en) * 2011-06-03 2012-12-20 Fujitsu Ltd Memory controller and control method

Also Published As

Publication number Publication date
JP2016071821A (en) 2016-05-09

Similar Documents

Publication Publication Date Title
US20100205386A1 (en) Memory controller and memory control method
US8624647B2 (en) Duty cycle correction circuit for memory interfaces in integrated circuits
KR102121891B1 (en) System and method for frequency mode detection and implementation
US20080276112A1 (en) Semiconductor integrated circuit
US20110128794A1 (en) Apparatus and method for controlling operation timing in semiconductor memory device
JP2009278478A (en) Counter circuit, latency counter and semiconductor memory device with the same, and, data processing system
US7272054B2 (en) Time domain bridging circuitry for use in determining output enable timing
JP2011170516A (en) Memory controller, semiconductor memory device and memory system including them
US7493461B1 (en) Dynamic phase alignment for resynchronization of captured data
US20040008069A1 (en) Method and apparatus for skewing data with respect to command on a DDR interface
TWI514377B (en) Random access memory and method of adjusting read timing thereof
JP2015103262A (en) Semiconductor device
JP6407653B2 (en) MEMORY CONTROL DEVICE, SEMICONDUCTOR DEVICE, CONTROL PROGRAM, AND MEMORY CONTROL DEVICE OPERATION METHOD
JP4757583B2 (en) Output control signal generation circuit
JP4854258B2 (en) Data output time adjustment method for synchronous memory device
TWI404339B (en) Method for adjusting memory signal phase
JP4206508B2 (en) Signal control circuit
US20230005515A1 (en) Apparatus, memory device, and method reducing clock training time
US20180166112A1 (en) Semiconductor device
US9263104B2 (en) Semiconductor device
JP2012058997A (en) Semiconductor integrated circuit
US9043511B2 (en) Semiconductor memory device and operation method thereof
JP2009301612A (en) Semiconductor memory device
US20070121775A1 (en) Memory controller and method thereof
KR100579629B1 (en) Apparatus for controlling a dqs in a ddr memory

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170901

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180629

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180710

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180820

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180911

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180919

R150 Certificate of patent or registration of utility model

Ref document number: 6407653

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250