JP2011253501A - Semiconductor device - Google Patents

Semiconductor device Download PDF

Info

Publication number
JP2011253501A
JP2011253501A JP2010128842A JP2010128842A JP2011253501A JP 2011253501 A JP2011253501 A JP 2011253501A JP 2010128842 A JP2010128842 A JP 2010128842A JP 2010128842 A JP2010128842 A JP 2010128842A JP 2011253501 A JP2011253501 A JP 2011253501A
Authority
JP
Japan
Prior art keywords
scan data
control signal
signal
clock signal
delay amount
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.)
Withdrawn
Application number
JP2010128842A
Other languages
Japanese (ja)
Inventor
Yoshihiro Yamashita
芳弘 山下
Kiichi Morooka
毅一 諸岡
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.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics 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 Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2010128842A priority Critical patent/JP2011253501A/en
Publication of JP2011253501A publication Critical patent/JP2011253501A/en
Withdrawn legal-status Critical Current

Links

Images

Abstract

PROBLEM TO BE SOLVED: To provide a semiconductor device for accurately calculating a phase difference between a clock signal and a control signal in a memory which operates synchronously with the clock signal.SOLUTION: A Slave DLL13 delays and outputs a control signal within a prescribed range. On the basis of a sampling result from a sampling circuit in a DDR3 DIMM2 obtained while making the Slave DLL13 change the delay amount of the control signal, a DQS output phase adjustment circuit 12 extracts the undefined range of the sampling result generated when the setup time or hold time of the sampling circuit is not satisfied, and calculates a phase difference between a clock signal and the control signal on the basis of the extracted undefined range, and adjusts the delay amount of the control signal. Therefore, it is possible to accurately calculate the phase difference between the clock signal and the control signal.

Description

本発明は、クロック信号に同期してデータの読み出しおよび書き込みが行なわれるメモリを制御する技術に関し、特に、制御信号とクロック信号との位相を調整してメモリを制御する半導体装置に関する。   The present invention relates to a technique for controlling a memory that reads and writes data in synchronization with a clock signal, and more particularly to a semiconductor device that controls a memory by adjusting the phase of a control signal and a clock signal.

近年、コンピュータ、携帯端末などの高機能化、多機能化が進んでおり、それに伴ってメモリに対しても高速アクセスが要求されるようになってきている。SDRAM(Synchronous Dynamic Random Access Memory)の高速化を図る1つの手法として、DDR(Double Data Rate)を挙げることができる。DDR SDRAMにおいては、SDRAMをバンク構成とすることにより、外部バスの動作周波数に比べて内部バスの動作周波数を下げることができ、SDRAMに対して負担が少ない速度で動作させることができる。   In recent years, the functions and functions of computers and portable terminals have been increasing, and accordingly, high-speed access to memory has been required. One method for speeding up SDRAM (Synchronous Dynamic Random Access Memory) is DDR (Double Data Rate). In the DDR SDRAM, the SDRAM has a bank configuration, so that the operating frequency of the internal bus can be lowered compared to the operating frequency of the external bus, and the SDRAM can be operated at a speed with less burden.

このようなDDR SDRAMのさらなる高速化が進んでおり、SDRAMを8バンク構成としたDDR3 SDRAM(以下、DDR3 DIMM(Dual Inline Memory Module)とも呼ぶ。)が開発されている。   Such a DDR SDRAM has been further increased in speed, and a DDR3 SDRAM (hereinafter also referred to as DDR3 DIMM (Dual Inline Memory Module)) having an 8-bank configuration of SDRAM has been developed.

DDR3 SDRAMにおいては、各メモリモジュールにおける信号の波形品質の向上を図るために、各メモリモジュールの共通する信号線を1つのラインで数珠繋ぎにしたフライバイ・トポロジー(Fly-by Topology)が採用されている。この方式を採用することにより、DIMM内の配線の短縮を図ることができるが、その反面、クロックがDIMM内の各メモリモジュールに伝播する時間に差が生じてしまい、クロック信号とデータストローブ(DQS)信号との間に位相差が発生することになる。   In the DDR3 SDRAM, in order to improve the waveform quality of the signal in each memory module, a fly-by topology (Fly-by Topology) in which signal lines common to each memory module are connected in a single line is adopted. . By adopting this method, it is possible to shorten the wiring in the DIMM. However, on the other hand, there is a difference in the time that the clock propagates to each memory module in the DIMM, and the clock signal and the data strobe (DQS) ) A phase difference occurs between the signal and the signal.

そこで、DIMM内の各メモリモジュールを制御するメモリコントローラ側で、DQS信号の入力タイミングをクロック信号の伝播遅延にあわせて遅らせるといった処理が必要になる。これに関連する技術として、下記の特許文献1〜3に開示された発明がある。   Therefore, it is necessary for the memory controller that controls each memory module in the DIMM to delay the input timing of the DQS signal in accordance with the propagation delay of the clock signal. As technologies related to this, there are inventions disclosed in the following Patent Documents 1 to 3.

特許文献1は、伝送条件の悪化や不整合があってもデータ信号のラッチ動作を誤らないメモリインターフェース回路を提供することを目的とする。メモリインターフェース回路は、発振回路と遅延回路と位相比較器とデータラッチとを備え、クロックに同期してDQS信号とデータ信号とを出力するDDR−SDRAMを接続可能である。遅延回路は、発振回路が出力するクロックを遅延してリードクロックとして出力する。位相比較器は入力されたデータストローブ信号とリードクロックとの位相差を測定し、遅延回路は測定した位相差に従ってリードクロックの遅延時間を加減し、データラッチはリードクロックに同期してデータ信号を取り込む。   Patent Document 1 aims to provide a memory interface circuit that does not erroneously latch data signals even when transmission conditions are deteriorated or mismatched. The memory interface circuit includes an oscillation circuit, a delay circuit, a phase comparator, and a data latch, and can connect a DDR-SDRAM that outputs a DQS signal and a data signal in synchronization with a clock. The delay circuit delays the clock output from the oscillation circuit and outputs it as a read clock. The phase comparator measures the phase difference between the input data strobe signal and the read clock, the delay circuit adjusts the read clock delay time according to the measured phase difference, and the data latch synchronizes the read clock with the data signal. take in.

特許文献2は、クロック信号線がデイジーチェーンで配線された複数のメモリに対して、リード(read)動作の制御を行なう場合において、複数のメモリから出力されたデータ信号の入力時間を容易に揃えることを目的とする。メモリ制御回路は、ライトレベリング機能をそなえ、クロック信号線がデイジーチェーンで配線された複数のメモリに対して、クロック信号線を介してクロック信号を供給することにより、リード/ライト動作の制御を行なう。複数のメモリに対応してそれぞれ、ライト動作時において、メモリに出力するデータストローブ信号DQSを、ライトレベリング機能を用いて設定された第1遅延時間だけ遅延させる第1可変遅延部と、リード動作時において、メモリから入力されるデータ信号DQを、第1遅延時間に基づいて設定された第2遅延時間だけ遅延させる第2可変遅延部とを備える。   In Patent Document 2, when a read operation is controlled for a plurality of memories in which clock signal lines are wired in a daisy chain, input times of data signals output from the plurality of memories are easily aligned. For the purpose. The memory control circuit has a write leveling function and controls a read / write operation by supplying a clock signal via a clock signal line to a plurality of memories having clock signal lines wired in a daisy chain. . A first variable delay unit that delays the data strobe signal DQS output to the memory by a first delay time set by using the write leveling function during a write operation and a read operation corresponding to a plurality of memories, respectively. The second variable delay unit delays the data signal DQ input from the memory by a second delay time set based on the first delay time.

特許文献3は、データを正しく取り込むことを目的とする。3つのDIMMからなるメモリ制御装置において、DIMMが搭載されたSPD(Serial Presence Detect)にアクセスしてDIMMの枚数等を取得する。取得したDIMMの枚数等に従ってDIMMの同期クロックCLKの遅延時間を設定し、このクロックに同期してデータを取り込む。   Patent Document 3 aims to capture data correctly. In a memory control device including three DIMMs, an SPD (Serial Presence Detect) on which DIMMs are mounted is accessed to acquire the number of DIMMs and the like. The delay time of the synchronous clock CLK of the DIMM is set according to the number of acquired DIMMs and the like, and data is taken in synchronization with this clock.

特開2008−071018号公報JP 2008-071018 A 特開2009−075682号公報JP 2009-077562A 特開2002−278825号公報JP 2002-278825 A

上述のように、メモリコントローラ側で、DQS信号の入力タイミングをクロック信号の伝播遅延にあわせて遅らせるといった処理が必要になる。DDR3 SDRAMには、メモリコントローラがクロック信号とDQS信号との位相補正を行なう、いわゆるライトレべリングを補助する機能が用意されている。   As described above, it is necessary on the memory controller side to delay the input timing of the DQS signal in accordance with the propagation delay of the clock signal. The DDR3 SDRAM has a function for assisting so-called write leveling in which the memory controller corrects the phase of the clock signal and the DQS signal.

DDR3 SDRAMの各メモリモジュールには、DQS信号の立ち上がりでクロック信号をサンプリングし、そのサンプリング結果をデータ(DQ)信号に出力する機能が設けられている。メモリコントローラ側で、DQS信号の位相をずらしながら各メモリモジュールからのサンプリング結果を取得し、サンプリング結果が“0”から“1”に変化するときの位相差をDQS信号の遅延量とする。   Each memory module of the DDR3 SDRAM has a function of sampling a clock signal at the rising edge of the DQS signal and outputting the sampling result to a data (DQ) signal. On the memory controller side, the sampling result from each memory module is acquired while shifting the phase of the DQS signal, and the phase difference when the sampling result changes from “0” to “1” is set as the delay amount of the DQS signal.

しかしながら、DDR3 SDRAM内に設けられた、ライトレべリングのためのサンプリング回路には、セットアップ(tWLS)時間、ホールド(tWLH)時間が規定されており、DDR3−800の場合にはそれぞれ325ps程度の値が規定されている。したがって、tWLS、tWLHを満足しない状態でサンプリング回路が動作することが考えられ、クロック信号とDQS信号との間の位相差を精度よく測定することができないといった問題点があった。   However, in the sampling circuit for write leveling provided in the DDR3 SDRAM, the setup (tWLS) time and the hold (tWLH) time are specified. In the case of DDR3-800, the value is about 325 ps. Is stipulated. Therefore, it is conceivable that the sampling circuit operates without satisfying tWLS and tWLH, and there is a problem that the phase difference between the clock signal and the DQS signal cannot be measured with high accuracy.

また、クロック信号やDQS信号にノイズやジッタが入っている場合には、その影響でさらに調整精度が悪化するといった問題点もあった。   In addition, when the clock signal or the DQS signal includes noise or jitter, the adjustment accuracy is further deteriorated due to the influence.

また、リードレべリングを行なわない場合には、ライトレべリングで測定した位相差を用いてデータ読み出しを行なう必要があるため、さらに精度が悪化してしまい、正しくデータを読み出すことができなくなるといった問題点もあった。   In addition, when read leveling is not performed, it is necessary to read data using the phase difference measured by write leveling, which further deteriorates accuracy and makes it impossible to read data correctly. There was also a point.

本発明は、上記問題点を解決するためになされたものであり、その目的は、クロック信号に同期して動作するメモリにおけるクロック信号と制御信号との位相差を精度よく算出することが可能な半導体装置を提供することである。   The present invention has been made to solve the above problems, and an object of the present invention is to accurately calculate a phase difference between a clock signal and a control signal in a memory operating in synchronization with the clock signal. A semiconductor device is provided.

本発明の一実施例によれば、クロック信号に同期して動作し、制御信号の立ち上がりで前記クロック信号をサンプリングするサンプリング回路を有するメモリを制御する半導体装置が提供される。SlaveDLLは、制御信号を所定の範囲内で遅延して出力する。DQS出力位相調整回路は、SlaveDLLに制御信号の遅延量を変更させながら得られたサンプリング回路からのサンプリング結果に基づいて、サンプリング回路のセットアップ時間またはホールド時間を満足しないことによって生じるサンプリング結果の不定の範囲を抽出する。そして、抽出された不定の範囲に基づいてクロック信号と制御信号との位相差を求め、制御信号の遅延量を調整する。   According to an embodiment of the present invention, there is provided a semiconductor device that operates in synchronization with a clock signal and controls a memory having a sampling circuit that samples the clock signal at the rising edge of the control signal. The SlaveDLL outputs the control signal with a delay within a predetermined range. Based on the sampling result from the sampling circuit obtained by changing the delay amount of the control signal in Slave DLL, the DQS output phase adjustment circuit is indefinite of the sampling result caused by not satisfying the setup time or hold time of the sampling circuit. Extract range. Then, the phase difference between the clock signal and the control signal is obtained based on the extracted indefinite range, and the delay amount of the control signal is adjusted.

本発明の一実施例によれば、DQS出力位相調整回路が、サンプリング回路のセットアップ時間またはホールド時間を満足しないことによって生じるサンプリング結果の不定の範囲を抽出してクロック信号と制御信号との位相差を求めるので、クロック信号と制御信号との位相差を精度よく算出することが可能となる。   According to one embodiment of the present invention, the DQS output phase adjustment circuit extracts an indefinite range of the sampling result caused by not satisfying the setup time or hold time of the sampling circuit, and the phase difference between the clock signal and the control signal is extracted. Therefore, the phase difference between the clock signal and the control signal can be accurately calculated.

本発明の第1の実施の形態における半導体装置を含んだシステムの構成例を示すブロック図である。1 is a block diagram illustrating a configuration example of a system including a semiconductor device according to a first embodiment of the present invention. DQS出力位相調整回路12の処理手順を説明するためのフローチャートである。4 is a flowchart for explaining a processing procedure of a DQS output phase adjustment circuit 12; DQS出力位相調整回路12内のスクリーニング処理を行なう部分の機能的構成を示すブロック図である。FIG. 3 is a block diagram showing a functional configuration of a part that performs screening processing in a DQS output phase adjustment circuit 12; 図3に示すスクリーニング処理部の処理手順を説明するためのフローチャート(その1)である。FIG. 4 is a flowchart (No. 1) for explaining the processing procedure of the screening processing unit shown in FIG. 3. 図3に示すスクリーニング処理部の処理手順を説明するためのフローチャート(その2)である。It is a flowchart (the 2) for demonstrating the process sequence of the screening process part shown in FIG. 図4および図5に示す処理によって走査データが更新されてゆくところを示す図である。It is a figure which shows the place where scanning data are updated by the process shown in FIG. 4 and FIG. スクリーニング処理結果とDQS信号の遅延量との関係を示す図である。It is a figure which shows the relationship between a screening process result and the delay amount of a DQS signal. 本発明の第3の実施の形態における半導体装置を含んだシステムの構成例を示すブロック図である。It is a block diagram which shows the structural example of the system containing the semiconductor device in the 3rd Embodiment of this invention.

(第1の実施の形態)
図1は、本発明の第1の実施の形態における半導体装置を含んだシステムの構成例を示すブロック図である。このシステムは、半導体装置(以下、制御回路と呼ぶ。)1と、DDR3 DIMM2とを含む。
(First embodiment)
FIG. 1 is a block diagram showing a configuration example of a system including a semiconductor device according to the first embodiment of the present invention. This system includes a semiconductor device (hereinafter referred to as a control circuit) 1 and a DDR3 DIMM2.

DDR3 DIMM2は、8つのRamモジュール0〜7(21−0〜21−7)を含む。Ramモジュール0〜7(21−0〜21−7)のそれぞれがサンプリング回路を有しており、ライトレベリングモードにおいては、サンプリング回路のそれぞれがデータストローブ(DQS)信号の立ち上がりでクロック信号をサンプリングし、そのサンプリング結果をデータ(DQ)信号に出力する。   The DDR3 DIMM 2 includes eight Ram modules 0 to 7 (21-0 to 21-7). Each of the Ram modules 0 to 7 (21-0 to 21-7) has a sampling circuit. In the write leveling mode, each of the sampling circuits samples the clock signal at the rising edge of the data strobe (DQS) signal. The sampling result is output as a data (DQ) signal.

制御回路1は、DDR3 DIMM2内のRamモジュール0〜7(21−0〜21−7)のそれぞれに対応する8つのDQS信号を生成するが、DQS信号のぞれぞれに対応するRamモジュールから得られたサンプリング結果に基づいてクロック信号との位相差を求め、DQS信号のそれぞれの遅延量を決定する。   The control circuit 1 generates eight DQS signals corresponding to each of the Ram modules 0 to 7 (21-0 to 21-7) in the DDR3 DIMM 2, and from the Ram module corresponding to each of the DQS signals. A phase difference from the clock signal is obtained based on the obtained sampling result, and the delay amount of each DQS signal is determined.

制御回路1は、MasterDLL(Delay Locked Loop)11と、DQS出力位相調整回路12と、SlaveDLL13と、READ FIFO14と、DQ出力回路15と、DQS出力回路16と、CLK出力回路17と、入出力バッファ18および19とを含む。   The control circuit 1 includes a master DLL (Delay Locked Loop) 11, a DQS output phase adjustment circuit 12, a slave DLL 13, a READ FIFO 14, a DQ output circuit 15, a DQS output circuit 16, a CLK output circuit 17, and an input / output buffer. 18 and 19.

MasterDLL11は、環境(電源電圧、温度など)の変化や内的原因に起因して外部クロックと内部クロックとの間に発生する誤差を補正するための回路であり、位相差を検出した場合にはその遅延コードをDQS出力位相調整回路12に出力する。   The MasterDLL 11 is a circuit for correcting an error generated between the external clock and the internal clock due to a change in the environment (power supply voltage, temperature, etc.) or an internal cause. When a phase difference is detected, The delay code is output to the DQS output phase adjustment circuit 12.

DQS出力位相調整回路12は、DDR3 DIMM2内のRamモジュール0〜7(21−0〜21−7)から出力されるDQ信号(サンプリング結果)に応じて、CLK信号とそれぞれのDQS信号との位相差を求め、DQS信号の遅延量をMasterDLL11から出力される遅延コードに演算する。なお、このDQS出力位相調整回路12の詳細については後述する。   The DQS output phase adjustment circuit 12 determines the level of the CLK signal and each DQS signal according to the DQ signal (sampling result) output from the Ram modules 0 to 7 (21-0 to 21-7) in the DDR3 DIMM2. The phase difference is obtained, and the delay amount of the DQS signal is calculated as a delay code output from the MasterDLL 11. The details of the DQS output phase adjustment circuit 12 will be described later.

SlaveDLL13は、基準クロックを180°以上(半クロック以上)シフトさせることが可能な回路であり、DQS出力位相調整回路12から出力される遅延量に応じて基準クロックを遅延させる。   The Slave DLL 13 is a circuit capable of shifting the reference clock by 180 ° or more (half clock or more), and delays the reference clock according to the delay amount output from the DQS output phase adjustment circuit 12.

READ FIFO14は、SlaveDLL13から出力されるクロック信号およびDDR3 DIMM2から出力されるDQS信号に応じて、DDR3 DIMM2から読み出されたデータ(DQ)を保持して外部に出力する。   The READ FIFO 14 holds the data (DQ) read from the DDR3 DIMM 2 and outputs it to the outside according to the clock signal output from the Slave DLL 13 and the DQS signal output from the DDR3 DIMM 2.

DQ出力回路15は、SlaveDLL13から出力されるクロック信号に応じて、DDR3 DIMM2にデータ(DQ)を出力する。   The DQ output circuit 15 outputs data (DQ) to the DDR3 DIMM 2 according to the clock signal output from the Slave DLL 13.

DQS出力回路16は、SlaveDLL13から出力されるクロック信号に応じて、DDR3 DIMM2内のRamモジュール0〜7(21−0〜21−7)のそれぞれに与えるDQS信号を生成して出力する。   The DQS output circuit 16 generates and outputs a DQS signal to be given to each of the Ram modules 0 to 7 (21-0 to 21-7) in the DDR3 DIMM 2 in accordance with the clock signal output from the Slave DLL 13.

入出力バッファ18は、DQ出力回路15から受けたデータ(DQ)をDDR3 DIMM2に出力し、DDR3 DIMM2から受けたデータ(DQ)をDQS出力位相調整回路12およびREAD FIFO14に出力する。   The input / output buffer 18 outputs the data (DQ) received from the DQ output circuit 15 to the DDR3 DIMM 2 and outputs the data (DQ) received from the DDR3 DIMM 2 to the DQS output phase adjustment circuit 12 and the READ FIFO 14.

入出力バッファ19は、DQS出力回路16から受けたDQS信号をDDR3 DIMM2に出力し、DDR3 DIMM2から受けたDQS信号をREAD FIFO14に出力する。   The input / output buffer 19 outputs the DQS signal received from the DQS output circuit 16 to the DDR3 DIMM 2 and outputs the DQS signal received from the DDR3 DIMM 2 to the READ FIFO 14.

図2は、DQS出力位相調整回路12の処理手順を説明するためのフローチャートである。まず、DQS出力位相調整回路12は、SlaveDLL13に基準クロックの位相を0°から180°まで順次シフトさせることにより、DDR3 DIMM2内のRamモジュール0〜7(21−0〜21−7)のそれぞれに与えるDQS信号の位相を0°〜180°まで順次シフトさせる。そして、そのときにDDR3 DIMM2から出力されるデータ(DQ)を取得することにより、180°区間の測定を行なう(S1)。   FIG. 2 is a flowchart for explaining the processing procedure of the DQS output phase adjustment circuit 12. First, the DQS output phase adjustment circuit 12 sequentially shifts the phase of the reference clock from 0 ° to 180 ° in the Slave DLL 13 to each of the Ram modules 0 to 7 (21-0 to 21-7) in the DDR3 DIMM2. The phase of the given DQS signal is sequentially shifted from 0 ° to 180 °. Then, by obtaining the data (DQ) output from the DDR3 DIMM 2 at that time, the 180 ° section is measured (S1).

たとえば、180°の区間で65個のサンプリングデータを得るのであれば、DQS信号を180°/65ずつシフトさせながら、180°区間の測定を行なう。なお、同一位相のDQS信号で複数回測定を行ない、すべてが“0”の場合には走査データを“0”とし、すべてが“1”の場合には走査データを“1”とし、“0”と“1”とが混在する場合には走査データを“both”とする。   For example, if 65 pieces of sampling data are obtained in a 180 ° section, the 180 ° section is measured while the DQS signal is shifted by 180 ° / 65. It should be noted that the measurement is performed a plurality of times with the DQS signal of the same phase. When all are “0”, the scan data is “0”, and when all are “1”, the scan data is “1”. "" And "1" are mixed, the scan data is "both".

次に、DQS出力位相調整回路12は、測定結果のスクリーニングを行ない、Ramモジュール0〜7(21−0〜21−7)内のサンプリング回路のセットアップ時間またはホールド時間を満足しないことにより不定となっている範囲を特定する(S2)。なお、このスクリーニング処理の詳細は後述する。   Next, the DQS output phase adjustment circuit 12 screens the measurement result and becomes indefinite by not satisfying the setup time or hold time of the sampling circuit in the Ram modules 0 to 7 (21-0 to 21-7). The range is specified (S2). Details of this screening process will be described later.

最後に、DQS出力位相調整回路12は、スクリーニング処理によって得られた結果からDQS信号の遅延量を求め、MasterDLL11から出力される遅延コードとの演算を行ない、SlaveDLL13による位相量を求める(S3)。   Finally, the DQS output phase adjustment circuit 12 obtains the delay amount of the DQS signal from the result obtained by the screening process, performs an operation on the delay code output from the Master DLL 11, and obtains the phase amount by the Slave DLL 13 (S3).

図3は、DQS出力位相調整回路12内のスクリーニング処理を行なう部分の機能的構成を示すブロック図である。なお、このスクリーニング処理部は、ハードウェアによって実現されてもよいし、CPU(Central Processing Unit)がプログラムを実行することによって実現されてもよい。   FIG. 3 is a block diagram showing a functional configuration of a portion that performs screening processing in the DQS output phase adjustment circuit 12. This screening processing unit may be realized by hardware, or may be realized by a CPU (Central Processing Unit) executing a program.

スクリーニング処理部は、走査データ格納部31と、走査データ取得部32と、変化間隔算出部33と、最小変化間隔抽出部34と、境界数カウント部35と、境界数判定部36と、走査データ更新部37とを含む。   The screening processing unit includes a scan data storage unit 31, a scan data acquisition unit 32, a change interval calculation unit 33, a minimum change interval extraction unit 34, a boundary number count unit 35, a boundary number determination unit 36, and scan data. And an update unit 37.

走査データ格納部31は、図2に示すフローチャートのステップS1で測定された走査データを格納する。上述のように、180°の区間で65回サンプリングを行なう場合には、Ramモジュールのそれぞれに対応して、“0”、“1”、“both”の何れかを示すデータが走査データ格納部31に65個格納されることになる。   The scan data storage unit 31 stores the scan data measured in step S1 of the flowchart shown in FIG. As described above, when sampling is performed 65 times in the 180 ° section, data indicating any one of “0”, “1”, and “both” corresponds to each of the Ram modules. 65 are stored in 31.

走査データ取得部32は、走査データ格納部31に格納される走査データの中の、位相量が0°〜180°の走査データを順次取得して変化間隔算出部33、境界数カウント部35および走査データ更新部37に出力する。   The scan data acquisition unit 32 sequentially acquires scan data having a phase amount of 0 ° to 180 ° in the scan data stored in the scan data storage unit 31 to obtain a change interval calculation unit 33, a boundary number counting unit 35, and The data is output to the scan data update unit 37.

変化間隔算出部33は、走査データ取得部32によって順次取得される走査データが変化するときの間隔を算出し、その変化間隔を最小変化間隔抽出部34および走査データ更新部37に出力する。   The change interval calculation unit 33 calculates an interval when the scan data sequentially acquired by the scan data acquisition unit 32 changes, and outputs the change interval to the minimum change interval extraction unit 34 and the scan data update unit 37.

最小変化間隔抽出部34は、変化間隔算出部33によって算出された変化間隔の中から最小変化間隔を抽出して、走査データ更新部37に出力する。   The minimum change interval extraction unit 34 extracts the minimum change interval from the change intervals calculated by the change interval calculation unit 33 and outputs the minimum change interval to the scan data update unit 37.

境界数カウント部35は、走査データ取得部32によって順次取得される走査データが変化するときの境界数をカウントし、その境界数を境界数判定部36に出力する。   The boundary number counting unit 35 counts the number of boundaries when the scan data sequentially acquired by the scan data acquisition unit 32 changes, and outputs the boundary number to the boundary number determination unit 36.

境界数判定部36は、境界数カウント部35から受けた境界数に応じてスクリーニング処理を続行するか否かを判定する。そして、スクリーニング処理を終了する場合には、走査データ取得部32にその旨を通知する。   The boundary number determination unit 36 determines whether or not to continue the screening process according to the number of boundaries received from the boundary number counting unit 35. When the screening process ends, the scanning data acquisition unit 32 is notified of this.

走査データ更新部37は、変化間隔算出部33から出力される変化間隔および最小変化間隔抽出部34から出力される最小変化間隔に基づいて、走査データ取得部32によって取得された走査データを更新し、走査データ格納部31に書き戻す。   The scan data update unit 37 updates the scan data acquired by the scan data acquisition unit 32 based on the change interval output from the change interval calculation unit 33 and the minimum change interval output from the minimum change interval extraction unit 34. The data is written back to the scan data storage unit 31.

図4および図5は、図3に示すスクリーニング処理部の処理手順を説明するためのフローチャートである。ここで、フローチャートに記載されている変数について簡単に説明する。min_interval[6:0]は、走査データが変化するときの最小変化間隔を示す7ビットの情報である。   4 and 5 are flowcharts for explaining the processing procedure of the screening processing unit shown in FIG. Here, the variables described in the flowchart will be briefly described. min_interval [6: 0] is 7-bit information indicating the minimum change interval when the scan data changes.

border[2:0]は、走査データが変化するときの境界数を示す3ビットの情報である。dat[64:0][1:0]は、65個の走査データの内容を示す2ビットの情報である。走査データが“0”の場合には“01”、走査データが“1”の場合には“10”、走査データが“both”の場合には“11”が格納される。   border [2: 0] is 3-bit information indicating the number of boundaries when the scan data changes. dat [64: 0] [1: 0] is 2-bit information indicating the contents of 65 pieces of scan data. “01” is stored when the scan data is “0”, “10” is stored when the scan data is “1”, and “11” is stored when the scan data is “both”.

pre_state[1:0]は、前回の走査データの値を示す2ビットの情報である。pre_state_num[7:0]は、前回の走査データの度数(位相量)に対応する値を示す8ビットの情報であり、0〜64の値が設定される。実際の度数としては、その値に180°/65を掛けたものとなる。   pre_state [1: 0] is 2-bit information indicating the value of the previous scan data. pre_state_num [7: 0] is 8-bit information indicating a value corresponding to the frequency (phase amount) of the previous scan data, and a value of 0 to 64 is set. The actual frequency is obtained by multiplying the value by 180 ° / 65.

interval[6:0]は、現在調査中の走査データの変化間隔を示す7ビットの情報である。counter[7:0]およびcounter2[7:0]は、走査データを順次取得するためのポインタとなる8ビットのカウンタである。   The interval [6: 0] is 7-bit information indicating the change interval of the scan data currently being investigated. counter [7: 0] and counter2 [7: 0] are 8-bit counters serving as pointers for sequentially acquiring scan data.

図4に示すフローチャートは、主に最小変化間隔の抽出と境界数の判定とを行なうものである。まず、min_interval[6:0]に“7’h3F”が設定され、border[2:0]に“3’h0”が設定され、counter[7:0]に“8’h00”が設定されて、初期化が行なわれる(S11)。なお、設定値の表記は、HDL(Hardware Description Language)表記に準じている。   The flowchart shown in FIG. 4 mainly performs extraction of the minimum change interval and determination of the number of boundaries. First, “7′h3F” is set in min_interval [6: 0], “3′h0” is set in border [2: 0], and “8′h00” is set in counter [7: 0]. Initialization is performed (S11). In addition, the description of a setting value is based on HDL (Hardware Description Language) description.

次に、走査データ取得部32は、counterの値が“0”であるか否かを判定する(S12)。counterの値が“0”であれば(S12,Yes)、走査データ取得部32は、走査データ格納部31から走査データdat[0][1:0]を取得してpre_state[1:0]に代入し、counterの値“0”をpre_state_num[7:0]に代入し(S13)、ステップS14に処理が進む。また、counterの値が“0”でなければ(S12,No)、ステップS14に処理が進む。   Next, the scanning data acquisition unit 32 determines whether or not the value of the counter is “0” (S12). If the value of counter is “0” (S12, Yes), the scanning data acquisition unit 32 acquires the scanning data dat [0] [1: 0] from the scanning data storage unit 31 and pre_state [1: 0]. And the counter value “0” is substituted for pre_state_num [7: 0] (S13), and the process proceeds to step S14. If the value of counter is not “0” (S12, No), the process proceeds to step S14.

ステップS14において、変化間隔算出部33は、今回の走査データdat[counter]が前回の走査データpre_stateと同じであるか否かを判定する。同じであれば(S14,Yes)、ステップS20に処理が進む。   In step S14, the change interval calculation unit 33 determines whether or not the current scan data dat [counter] is the same as the previous scan data pre_state. If they are the same (S14, Yes), the process proceeds to step S20.

同じでなければ(S14,No)、変化間隔算出部33は、counterの値からpre_state_numの値を減算してintervalに代入する。また、境界数カウント部35は、境界数borderの値をインクリメントする(S15)。なお、border[2:0]の値が“3’h7”となっている場合は、それ以上インクリメントをせずにオーバーフローしないように処理を行なう。   If not the same (S14, No), the change interval calculation unit 33 subtracts the value of pre_state_num from the value of counter and substitutes it for interval. Further, the boundary number counting unit 35 increments the value of the boundary number border (S15). If the value of border [2: 0] is “3′h7”, processing is performed so as not to overflow without further incrementing.

次に、前回の走査データの各ビットに対してAND演算を行ない、“1’b0”であるか否かが判定される(S16)。演算結果が“0”でなければ、すなわち前回の走査データが“both”であれば(S16,No)、ステップS19に処理が進む。   Next, an AND operation is performed on each bit of the previous scan data to determine whether it is “1′b0” (S16). If the calculation result is not “0”, that is, if the previous scan data is “both” (S16, No), the process proceeds to step S19.

また、演算結果が“0”であれば、すなわち前回の走査データが“0”または“1”であれば(S16,Yes)、最小変化間隔抽出部34は、min_intervalがintervalよりも大きいか否かを判定する(S17)。min_intervalがinterval以下であれば(S17,No)、ステップS19に処理が進む。   If the calculation result is “0”, that is, if the previous scan data is “0” or “1” (Yes in S16), the minimum change interval extraction unit 34 determines whether min_interval is greater than interval. Is determined (S17). If min_interval is equal to or less than interval (S17, No), the process proceeds to step S19.

min_intervalがintervalよりも大きければ(S17,Yes)、最小変化間隔抽出部34は、min_intervalにintervalの値を代入して最小変化間隔を更新し(S18)、ステップS19に処理が進む。   If min_interval is larger than interval (S17, Yes), the minimum change interval extraction unit 34 updates the minimum change interval by substituting the interval value for min_interval (S18), and the process proceeds to step S19.

ステップS19において、走査データ取得部32は、counterの値を前回の走査時の度数pre_state_numに代入し、走査データdat[counter]の値を前回の走査データpre_stateに代入する(S20)。そして、走査データ取得部32は、counterの値をインクリメントする(S21)。   In step S19, the scanning data acquisition unit 32 substitutes the counter value for the frequency pre_state_num at the previous scanning, and substitutes the scanning data dat [counter] value for the previous scanning data pre_state (S20). Then, the scanning data acquisition unit 32 increments the value of counter (S21).

次に、走査データ取得部32は、counterの値が“64”よりも大きいか否かを判定する(S22)。counterの値が“64”以下であれば(S22,No)、ステップS12に戻って以降の処理が繰り返される。   Next, the scanning data acquisition unit 32 determines whether the value of counter is larger than “64” (S22). If the value of counter is “64” or less (S22, No), the process returns to step S12 and the subsequent processing is repeated.

また、counterの値が“64”よりも大きければ(S22,Yes)、境界数判定部36は、borderの値が“2”よりも大きいか否かを判定する(S23)。borderの値が“2”よりも大きければ(S23,Yes)、図5のステップS24に処理が進む。また、borderの値が“2”以下であれば(S23,No)、境界数判定部36は、走査データ取得部32に処理終了を通知し、処理が終了される。   If the counter value is greater than “64” (S22, Yes), the boundary number determination unit 36 determines whether the border value is greater than “2” (S23). If the value of border is larger than “2” (S23, Yes), the process proceeds to step S24 in FIG. If the value of border is “2” or less (S23, No), the boundary number determination unit 36 notifies the scanning data acquisition unit 32 of the end of processing, and the processing ends.

図5に示すフローチャートは、主に変化間隔が最小変化間隔と一致する走査データを“both”に置換するものである。ステップS24において、counter[7:0]に“8’h00”が設定されて、初期化が行なわれる(S24)。   The flowchart shown in FIG. 5 mainly replaces scan data whose change interval matches the minimum change interval with “both”. In step S24, "8'h00" is set in counter [7: 0] and initialization is performed (S24).

次に、走査データ取得部32は、counterの値が“0”であるか否かを判定する(S25)。counterの値が“0”であれば(S25,Yes)、走査データ取得部32は、走査データ格納部31から走査データdat[0][1:0]を取得してpre_state[1:0]に代入し、counterの値“0”をpre_state_num[7:0]に代入し(S26)、ステップS27に処理が進む。また、counterの値が“0”でなければ(S25,No)、ステップS27に処理が進む。   Next, the scanning data acquisition unit 32 determines whether or not the value of the counter is “0” (S25). If the value of counter is “0” (S25, Yes), the scanning data acquisition unit 32 acquires the scanning data dat [0] [1: 0] from the scanning data storage unit 31 and pre_state [1: 0]. The counter value “0” is substituted into pre_state_num [7: 0] (S26), and the process proceeds to step S27. If the value of counter is not “0” (S25, No), the process proceeds to step S27.

ステップS27において、変化間隔算出部33は、今回の走査データdat[counter]が前回の走査データpre_stateと同じであるか否かを判定する。同じであれば(S27,Yes)、ステップS36に処理が進む。   In step S27, the change interval calculation unit 33 determines whether or not the current scan data dat [counter] is the same as the previous scan data pre_state. If they are the same (S27, Yes), the process proceeds to step S36.

同じでなければ(S27,No)、変化間隔算出部33は、counterの値からpre_state_numの値を減算してintervalに代入して変化間隔を更新する(S28)。   If not the same (S27, No), the change interval calculation unit 33 updates the change interval by subtracting the value of pre_state_num from the value of counter and substituting it into interval (S28).

次に、最小変化間隔抽出部34は、min_intervalがintervalと同じであるか否かを判定する(S29)。min_intervalがintervalと同じでなければ(S29,No)、ステップS35に処理が進む。   Next, the minimum change interval extraction unit 34 determines whether min_interval is the same as the interval (S29). If min_interval is not the same as interval (S29, No), the process proceeds to step S35.

min_intervalがintervalと同じであれば(S35,Yes)、前回の走査データの各ビットに対してAND演算を行ない、“1’b0”であるか否かが判定される(S30)。演算結果が“0”でなければ、すなわち前回の走査データが“both”であれば(S30,No)、ステップS35に処理が進む。   If min_interval is the same as interval (S35, Yes), an AND operation is performed on each bit of the previous scan data to determine whether or not “1′b0” (S30). If the calculation result is not “0”, that is, if the previous scan data is “both” (S30, No), the process proceeds to step S35.

また、演算結果が“0”であれば、すなわち前回の走査データが“0”または“1”であれば(S30,Yes)、走査データ更新部37は、counter2[7:0]に前回の走査時の度数pre_state_numの値を代入する(S31)。   If the calculation result is “0”, that is, if the previous scan data is “0” or “1” (S30, Yes), the scan data update unit 37 sets the previous count to counter2 [7: 0]. The value of the frequency pre_state_num at the time of scanning is substituted (S31).

次に、走査データ更新部37は、走査データdat[counter2]に“2’b11”(both)を代入して走査データを更新し、走査データ格納部31に書き戻す(S32)。そして、counter2の値をインクリメントし(S33)、counter2の値がcounterの値以上であるか否かを判定する(S34)。counter2の値がcounterの値未満であれば(S34,No)、ステップS32に戻って以降の処理を繰り返す。   Next, the scan data update unit 37 updates the scan data by substituting “2′b11” (both) into the scan data dat [counter2], and writes it back to the scan data storage unit 31 (S32). Then, the value of counter2 is incremented (S33), and it is determined whether or not the value of counter2 is equal to or greater than the value of counter (S34). If the value of counter2 is less than the value of counter (S34, No), the process returns to step S32 and the subsequent processing is repeated.

また、counter2の値がcounterの値以上であれば(S34,Yes)、走査データ取得部32は、counterの値を前回の走査時の度数pre_state_numに代入し(S35)、走査データdat[counter]の値を前回の走査データpre_stateに代入する(S36)。そして、走査データ取得部32は、counterの値をインクリメントする(S37)。   If the value of counter2 is equal to or greater than the value of counter (S34, Yes), the scanning data acquisition unit 32 substitutes the value of counter for the frequency pre_state_num at the previous scanning (S35), and scan data dat [counter] Is substituted into the previous scan data pre_state (S36). Then, the scanning data acquisition unit 32 increments the value of counter (S37).

次に、走査データ取得部32は、counterの値が“64”よりも大きいか否かを判定する(S38)。counterの値が“64”以下であれば(S38,No)、ステップS25に戻って以降の処理が繰り返される。また、counterの値が“64”よりも大きければ(S38,Yes)、図4のステップS11に戻って以降の処理が繰り返される。   Next, the scanning data acquisition unit 32 determines whether the value of counter is larger than “64” (S38). If the value of counter is “64” or less (S38, No), the process returns to step S25 and the subsequent processing is repeated. If the value of counter is larger than “64” (S38, Yes), the process returns to step S11 in FIG. 4 and the subsequent processing is repeated.

このようにして、境界数が2以下となるまで変化間隔と最小変化間隔とが一致する走査データが“both”に置換され、Ramモジュール0〜7(21−0〜21−7)内のサンプリング回路のセットアップ時間またはホールド時間を満足しないことにより測定結果が不定となっている範囲を特定する。ここで、測定結果が不定となっているとは、測定結果が短い間隔で変化するか、同じ位相で測定したにもかかわらず測定結果が異なる値となっていることを指している。   In this way, scanning data whose change interval and minimum change interval coincide with each other until the number of boundaries becomes 2 or less is replaced with “both”, and sampling in the Ram modules 0 to 7 (21-0 to 21-7) is performed. The range in which the measurement result is indefinite by not satisfying the setup time or hold time of the circuit is specified. Here, the measurement result being indefinite means that the measurement result changes at a short interval or that the measurement result has a different value even though the measurement result is measured at the same phase.

図6は、図4および図5に示す処理によって走査データが更新されてゆくところを示す図である。図6の左側の“走査データ”の欄は、走査データ格納部31に格納される最初の走査データを記載している。なお、図6においては、クロック信号の立ち上がり近辺の走査データのみを記載しているが、実際には65個のデータがある。   FIG. 6 is a diagram showing the location where the scan data is updated by the processing shown in FIGS. 4 and 5. The column “scan data” on the left side of FIG. 6 describes the first scan data stored in the scan data storage unit 31. In FIG. 6, only the scan data near the rising edge of the clock signal is shown, but there are actually 65 pieces of data.

図6の“1回目”の欄は、図4および図5に示す処理の1回目で走査データが更新された後の状態を記載している。走査データの変化間隔が最小変化間隔“1”と一致する箇所の値が“both”に置換されている。   The column “first time” in FIG. 6 describes a state after the scan data is updated in the first time of the processing shown in FIGS. 4 and 5. The value where the scan data change interval coincides with the minimum change interval “1” is replaced with “both”.

図6の“2回目”の欄は、図4および図5に示す処理の2回目で走査データが更新された後の状態を記載している。走査データの変化間隔が最小変化間隔“2”と一致する箇所の値が“both”に置換されている。   The column “second time” in FIG. 6 describes a state after the scan data is updated in the second time of the processing shown in FIGS. 4 and 5. The value where the scan data change interval matches the minimum change interval “2” is replaced with “both”.

図6の“3回目”の欄は、図4および図5に示す処理の3回目で走査データが更新された後の状態を記載している。走査データの変化間隔が最小変化間隔“3”と一致する箇所の値が“both”に置換されている。この3回目の状態で、走査データが“0”から“both”、“both”から“1”に変化しており、境界数が“2”となっているため処理が終了されている。この3回目の“both”が記載されている範囲が、サンプリング回路のセットアップ時間またはホールド時間を満足しないことにより測定結果が不定となっている範囲である。   The column “third time” in FIG. 6 describes a state after the scan data is updated in the third time of the processes shown in FIGS. 4 and 5. The value where the scan data change interval coincides with the minimum change interval “3” is replaced with “both”. In this third state, the scan data has changed from “0” to “both” and from “both” to “1”, and since the number of boundaries is “2”, the processing is completed. The range in which the third “both” is described is a range in which the measurement result is indefinite because the setup time or hold time of the sampling circuit is not satisfied.

図7は、スクリーニング処理結果とDQS信号の遅延量との関係を示す図である。たとえば、パターン(12)〜(14)は、クロック信号の立ち上がりが180°程度遅延している場合を示しており、DQS信号の位相量が0°のときに、T1でDQS信号が立ち上がっていることを示している。Ramモジュール0〜7(21−0〜21−7)の中で、末端に配置されるRamモジュール7(21−7)がこのような状態に近いと考えられる。   FIG. 7 is a diagram showing the relationship between the screening processing result and the delay amount of the DQS signal. For example, patterns (12) to (14) show a case where the rising edge of the clock signal is delayed by about 180 °, and when the phase amount of the DQS signal is 0 °, the DQS signal rises at T1. It is shown that. Among the Ram modules 0 to 7 (21-0 to 21-7), it is considered that the Ram module 7 (21-7) arranged at the end is close to such a state.

パターン(12)は、スクリーニング処理によって“0”から“1”に変化する1つの境界のみが検出された場合を示している。このパターンにおいては、DQS信号の立ち上がりが“0”から“1”に変化するポイントと一致するようにDQS信号の位相量(遅延量)が決定される。   Pattern (12) shows a case where only one boundary that changes from “0” to “1” is detected by the screening process. In this pattern, the phase amount (delay amount) of the DQS signal is determined so as to coincide with the point where the rising edge of the DQS signal changes from “0” to “1”.

パターン(13)は、スクリーニング処理によって“0”から“both”に変化する1つの境界のみが検出された場合を示している。このパターンにおいては、DQS信号の立ち上がりが“both”の中点となるようにDQS信号の位相量(遅延量)が決定される。   Pattern (13) shows a case where only one boundary that changes from “0” to “both” is detected by the screening process. In this pattern, the phase amount (delay amount) of the DQS signal is determined so that the rising edge of the DQS signal is at the midpoint of “both”.

パターン(14)は、走査データがすべて“0”であって境界が検出されなかった場合を示している。このパターンにおいては、DQS信号の位相量(遅延量)が180°と決定される。   Pattern (14) shows a case where all the scan data is “0” and no boundary is detected. In this pattern, the phase amount (delay amount) of the DQS signal is determined to be 180 °.

パターン(4)〜(6)は、クロック信号の立ち上がりが少しだけ遅延している場合を示しており、DQS信号の位相量が0°のときに、T2でDQS信号が立ち上がっていることを示している。   Patterns (4) to (6) show a case where the rising edge of the clock signal is slightly delayed, and shows that the DQS signal rises at T2 when the phase amount of the DQS signal is 0 °. ing.

パターン(4)は、スクリーニング処理によって“both”から“1”に変化し、さらに“1”から“0”に変化して2つの境界が検出された場合を示している。このパターンにおいては、DQS信号の立ち上がりが“both”の中点である0°となるようにDQS信号の位相量(遅延量)が決定される。   Pattern (4) shows a case where two boundaries are detected by changing from “both” to “1” and further from “1” to “0” by the screening process. In this pattern, the phase amount (delay amount) of the DQS signal is determined so that the rising edge of the DQS signal is 0 ° which is the midpoint of “both”.

パターン(5)は、スクリーニング処理によって“both”から“1”に変化し、さらに“1”から“both”に変化して2つの境界が検出された場合を示している。このパターンにおいては、DQS信号の立ち上がりが最初の“both”の中点である0°となるようにDQS信号の位相量(遅延量)が決定される。   Pattern (5) shows a case where two boundaries are detected by changing from “both” to “1” and further from “1” to “both” by the screening process. In this pattern, the phase amount (delay amount) of the DQS signal is determined so that the rising edge of the DQS signal is 0 ° which is the midpoint of the first “both”.

パターン(6)は、スクリーニング処理によって“both”から“1”に変化する1つの境界のみが検出された場合を示している。このパターンにおいては、DQS信号の立ち上がりが“both”の中点である0°となるようにDQS信号の位相量(遅延量)が決定される。   Pattern (6) shows a case where only one boundary that changes from “both” to “1” is detected by the screening process. In this pattern, the phase amount (delay amount) of the DQS signal is determined so that the rising edge of the DQS signal is 0 ° which is the midpoint of “both”.

パターン(2)〜(3)は、クロック信号の立ち上がりよりもDQS信号の立ち上がりの方が遅延している場合を示しており、DQS信号の位相量が0°のときに、T3でDQS信号が立ち上がっていることを示している。   Patterns (2) to (3) show a case where the rising edge of the DQS signal is delayed from the rising edge of the clock signal. When the phase amount of the DQS signal is 0 °, the DQS signal is displayed at T3. It shows that it has stood up.

パターン(2)は、スクリーニング処理によって“1”から“both”に変化する1つの境界のみが検出された場合を示している。このパターンにおいては、DQS信号の立ち上がりが“both”の中点から180°差し引いた値となるようにDQS信号の位相量(遅延量)が決定される。   Pattern (2) shows a case where only one boundary that changes from “1” to “both” is detected by the screening process. In this pattern, the phase amount (delay amount) of the DQS signal is determined so that the rising edge of the DQS signal becomes a value obtained by subtracting 180 ° from the midpoint of “both”.

パターン(3)は、走査データがすべて“1”であって境界が検出されなかった場合を示している。このパターンにおいては、DQS信号の位相量(遅延量)が0°と決定される。   Pattern (3) shows a case where all the scan data is “1” and no boundary is detected. In this pattern, the phase amount (delay amount) of the DQS signal is determined to be 0 °.

なお、図7においては、パターンごとに走査データの幅が異なるように記載されているが、これは走査データのパターン変化のみを主に示しているためであり、必ずしも走査データの幅が走査データの数に対応している訳ではない。   In FIG. 7, the width of the scan data is described so as to be different for each pattern, but this is because only the pattern change of the scan data is mainly shown, and the width of the scan data is not necessarily the scan data. It does not correspond to the number of.

以上の説明においては、測定結果が不定となっている“both”の中点と一致するようにDQS信号の遅延量を決定するとした。これは、サンプリング回路のセットアップ時間とホールド時間とが同じ場合を想定しているためである。セットアップ時間とホールド時間とが異なる場合には、“both”の中点ではなく、その比率に応じて“both”の範囲内で位相量を決定するようにすればよい。   In the above description, the delay amount of the DQS signal is determined so as to coincide with the midpoint of “both” where the measurement result is indefinite. This is because it is assumed that the setup time and hold time of the sampling circuit are the same. When the setup time and the hold time are different, the phase amount may be determined within the range of “both” according to the ratio instead of the midpoint of “both”.

以上説明したように、本実施の形態における半導体装置によれば、DQS出力位相調整回路12が、Ramモジュール0〜7(21−0〜21−7)内のサンプリング回路のセットアップ時間またはホールド時間を満足しないことにより不定となっている“both”の範囲を特定し、DQS信号の立ち上がりがその“both”の範囲の中点となるように遅延量を決定するようにした。したがって、DQS信号の遅延量を精度よく算出することが可能となった。   As described above, according to the semiconductor device in the present embodiment, the DQS output phase adjustment circuit 12 determines the setup time or hold time of the sampling circuit in the Ram modules 0 to 7 (21-0 to 21-7). The range of “both”, which is indefinite due to not being satisfied, is specified, and the delay amount is determined so that the rising edge of the DQS signal becomes the midpoint of the range of “both”. Therefore, the delay amount of the DQS signal can be calculated with high accuracy.

また、DQS信号の遅延量を精度よく算出して位相を制御することができるため、リードレベリングを行なわない場合でもデータ読み出し時のDQS信号のタイミングの精度をある程度高く維持することができ、正しくデータを読み出すことが可能となった。   In addition, since the phase can be controlled by accurately calculating the delay amount of the DQS signal, the accuracy of the timing of the DQS signal at the time of data reading can be maintained to a certain degree even when the read leveling is not performed, and the data Can be read.

さらには、MasterDLL11およびSlaveDLL13によってクロック信号の位相を制御するようにしたので、環境変化によって生じる遅延変化を吸収することが可能となった。   Furthermore, since the phase of the clock signal is controlled by the MasterDLL11 and SlaveDLL13, it becomes possible to absorb delay changes caused by environmental changes.

(第2の実施の形態)
第1の実施の形態においては、クロック信号とDQS信号との位相差が180°以上となる場合には、位相差が0°近辺のパターンと同じパターンが現れることになる。たとえば、図7のパターン(20)〜(31)が、位相差が180°を超えた場合のものであり、パターン(1)〜(19)と同様のパターンが現れるため、DQS信号の遅延量を正しく算出することができなくなる。
(Second Embodiment)
In the first embodiment, when the phase difference between the clock signal and the DQS signal is 180 ° or more, the same pattern as the pattern near the phase difference of 0 ° appears. For example, the patterns (20) to (31) in FIG. 7 are those when the phase difference exceeds 180 °, and the same pattern as the patterns (1) to (19) appears, so the delay amount of the DQS signal Cannot be calculated correctly.

本発明の第2の実施の形態においては、DDR3 DIMM2が保持するSPD(Serial Presence Detect)情報を読み出してDIMMタイプを判定することによってDQS信号の遅延量を正しく算出するものである。なお、本発明の第2の実施の形態における制御回路の構成、スクリーニング処理の手順およびスクリーニング処理部の構成は、図1〜3に示すものと同様である。したがって、重複する構成および機能の詳細な説明は繰り返さない。   In the second embodiment of the present invention, the delay amount of the DQS signal is correctly calculated by reading the SPD (Serial Presence Detect) information held by the DDR3 DIMM 2 and determining the DIMM type. The configuration of the control circuit, the screening process, and the screening processing unit in the second embodiment of the present invention are the same as those shown in FIGS. Therefore, detailed description of overlapping configurations and functions will not be repeated.

DQS出力位相調整回路12は、スクリーニング処理後のパターンからDQS信号の遅延量を算出する際、DDR3 DIMM2からSPD情報を読み出してRamモジュールの配列数などを取得する。これによって、クロック信号の遅延量がある程度把握できるため、位相差が180°を超えると予想される場合には、DQS信号の遅延量に180°を加算する。   When calculating the delay amount of the DQS signal from the pattern after the screening process, the DQS output phase adjusting circuit 12 reads the SPD information from the DDR3 DIMM 2 and acquires the number of Ram modules arranged. Thus, since the delay amount of the clock signal can be grasped to some extent, when the phase difference is expected to exceed 180 °, 180 ° is added to the delay amount of the DQS signal.

たとえば、図7のパターン(20)〜(31)が180°を超える場合を示しているが、DQS信号の遅延量を算出する際に、さらに180°を加算している。たとえば、パターン(24)の場合、スクリーニング処理によって“1”から“both”に変化して1つの境界のみが検出されたことを示している。このパターンにおいては、DQS信号の立ち上がりが“both”の中点に180°を加算したものとなるようにDQS信号の位相量(遅延量)が決定される。   For example, although patterns (20) to (31) in FIG. 7 show a case where the angle exceeds 180 °, 180 ° is further added when calculating the delay amount of the DQS signal. For example, the pattern (24) changes from “1” to “both” by the screening process to indicate that only one boundary is detected. In this pattern, the phase amount (delay amount) of the DQS signal is determined so that the rising edge of the DQS signal is obtained by adding 180 ° to the midpoint of “both”.

以上説明したように、本実施の形態における半導体装置によれば、SPD情報を参照することによってクロック信号の遅延量が180°を超えることが想定される場合には、さらに180°を加算してDQS信号の遅延量とするようにした。したがって、第1の実施の形態において説明した効果に加えて、DQS信号の遅延量をさらに精度よく算出することが可能となった。   As described above, according to the semiconductor device of the present embodiment, when the delay amount of the clock signal is assumed to exceed 180 ° by referring to the SPD information, 180 ° is further added. The delay amount of the DQS signal is set. Therefore, in addition to the effects described in the first embodiment, the delay amount of the DQS signal can be calculated with higher accuracy.

(第3の実施の形態)
第1および第2の実施に形態における半導体装置は、DDR3−800相当のDDR3 DIMMを対象としており、さらに基準クロックの周波数が高くなった場合には、第1および第2の実施の形態において説明した方法ではDQS信号の遅延量を精度よく算出することができない。
(Third embodiment)
The semiconductor devices according to the first and second embodiments are intended for DDR3-DIM equivalent to DDR3-800, and when the frequency of the reference clock becomes higher, the description will be given in the first and second embodiments. With this method, the delay amount of the DQS signal cannot be accurately calculated.

本発明の第3の実施の形態における半導体装置においては、ライトレベリング時にのみ基準クロックをライトレベリング測定用クロックに切り替えるものである。なお、本発明の第3の実施の形態におけるスクリーニング処理の手順およびスクリーニング処理部の構成は、図2〜図3に示すものと同様である。したがって、重複する構成および機能の詳細な説明は繰り返さない。   In the semiconductor device according to the third embodiment of the present invention, the reference clock is switched to the write leveling measurement clock only at the time of write leveling. Note that the procedure of the screening process and the configuration of the screening processing unit in the third embodiment of the present invention are the same as those shown in FIGS. Therefore, detailed description of overlapping configurations and functions will not be repeated.

図8は、本発明の第3の実施の形態における半導体装置を含んだシステムの構成例を示すブロック図である。図1に示す第1の実施の形態における制御回路1と比較して、マルチプレクサ(MUX)20が追加されて点のみが異なる。したがって、重複する構成および機能の詳細な説明は繰り返さない。   FIG. 8 is a block diagram showing a configuration example of a system including a semiconductor device according to the third embodiment of the present invention. Compared with the control circuit 1 in the first embodiment shown in FIG. 1, the only difference is that a multiplexer (MUX) 20 is added. Therefore, detailed description of overlapping configurations and functions will not be repeated.

通常動作時において、MUX20は、基準クロックを選択して出力する。また、ライトレベリング時において、MUX20は、ライトレベリング測定用クロックを選択して出力する。たとえば、基準クロックが800MHzの場合には、ライトレベリング測定用クロックとして400MHzのクロックが使用される。これによって、第1および第2の実施の形態において説明したものと同様の動作によって、DQS信号の遅延量を算出することができる。   During normal operation, the MUX 20 selects and outputs a reference clock. At the time of write leveling, the MUX 20 selects and outputs a write leveling measurement clock. For example, when the reference clock is 800 MHz, a 400 MHz clock is used as the write leveling measurement clock. Thereby, the delay amount of the DQS signal can be calculated by the same operation as that described in the first and second embodiments.

以上説明したように、本実施の形態における半導体装置によれば、MUX20が、基準クロックとライトレベリング測定用クロックとを切り替えるようにしたので、第1および第2の実施の形態において説明した効果に加えて、DDR3−800よりもさらに高速動作が可能となるDDR3−1600などにも対応することが可能となった。   As described above, according to the semiconductor device in the present embodiment, since the MUX 20 switches between the reference clock and the write leveling measurement clock, the effects described in the first and second embodiments can be obtained. In addition, it has become possible to deal with DDR3-1600, which can operate at higher speed than DDR3-800.

今回開示された実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。   The embodiment disclosed this time should be considered as illustrative in all points and not restrictive. The scope of the present invention is defined by the terms of the claims, rather than the description above, and is intended to include any modifications within the scope and meaning equivalent to the terms of the claims.

1 制御回路、2 DDR3 DIMM、11 MasterDLL、12 DQS出力位相調整回路、13 SlaveDLL、14 READ FIFO、15 DQ出力回路、16 DQS出力回路、17 CLK出力回路、18,19 入出力バッファ、20 MUX、21−0〜21−7 Ramモジュール、31 走査データ格納部、32 走査データ取得部、33 変化間隔算出部、34 最小変化間隔抽出部、35 境界数カウント部、36 境界数判定部、37 走査データ更新部。   DESCRIPTION OF SYMBOLS 1 Control circuit, 2 DDR3 DIMM, 11 MasterDLL, 12 DQS output phase adjustment circuit, 13 SlaveDLL, 14 READ FIFO, 15 DQ output circuit, 16 DQS output circuit, 17 CLK output circuit, 18, 19 I / O buffer, 20 MUX, 21-0 to 21-7 Ram module, 31 scan data storage unit, 32 scan data acquisition unit, 33 change interval calculation unit, 34 minimum change interval extraction unit, 35 boundary number count unit, 36 boundary number determination unit, 37 scan data Update department.

Claims (5)

クロック信号に同期して動作し、制御信号の立ち上がりで前記クロック信号をサンプリングするサンプリング回路を有するメモリを制御する半導体装置であって、
前記制御信号を所定の範囲内で遅延して出力する遅延手段と、
前記遅延手段に前記制御信号の遅延量を変更させながら得られた前記サンプリング回路からのサンプリング結果に基づいて、前記サンプリング回路のセットアップ時間またはホールド時間を満足しないことによって生じるサンプリング結果の不定の範囲を抽出する抽出手段と、
前記抽出手段によって抽出された不定の範囲に基づいて前記クロック信号と前記制御信号との位相差を求め、前記制御信号の遅延量を調整する調整手段とを含む、半導体装置。
A semiconductor device that operates in synchronization with a clock signal and controls a memory having a sampling circuit that samples the clock signal at the rising edge of a control signal,
Delay means for delaying and outputting the control signal within a predetermined range;
Based on the sampling result from the sampling circuit obtained by changing the delay amount of the control signal by the delay means, an indefinite range of the sampling result caused by not satisfying the setup time or hold time of the sampling circuit. Extracting means for extracting;
A semiconductor device comprising: an adjustment unit that obtains a phase difference between the clock signal and the control signal based on an indefinite range extracted by the extraction unit and adjusts a delay amount of the control signal.
前記抽出手段は、同じ遅延量の前記制御信号で得られた複数のサンプリング結果がすべて第1の値の場合に走査データを第1の状態とし、前記複数のサンプリング結果がすべて第2の値の場合に走査データを第2の状態とし、前記複数のサンプリング結果に前記第1の値と前記第2の値とが混在する場合に走査データを第3の状態とし、前記遅延手段による遅延量ごとに走査データを格納する走査データ格納手段と、
前記走査データ格納手段によって格納される走査データの中から所定間隔で状態が変化する箇所を第3の状態に置換して、前記走査データ格納手段に格納される走査データを更新する走査データ更新手段と、
前記走査データが変化する境界数が所定数以下となるまで前記所定間隔を増やしながら前記走査データ更新手段に走査データの更新を行なわせる境界数判定手段と、
前記更新された走査データの中の第3の状態が連続する範囲を前記不定の範囲として抽出する範囲抽出手段とを含む、請求項1記載の半導体装置。
The extraction means sets the scan data to the first state when all the plurality of sampling results obtained with the control signal having the same delay amount are the first value, and the plurality of sampling results all have the second value. In this case, the scan data is set to the second state, and the scan data is set to the third state when the first value and the second value are mixed in the plurality of sampling results. Scanning data storage means for storing the scanning data in
Scan data update means for updating the scan data stored in the scan data storage means by replacing a portion of the scan data stored by the scan data storage means at a predetermined interval with a third state. When,
Boundary number determination means for causing the scan data update means to update the scan data while increasing the predetermined interval until the number of boundaries at which the scan data changes is equal to or less than a predetermined number;
The semiconductor device according to claim 1, further comprising: a range extracting unit that extracts a range in which the third state in the updated scan data continues as the indefinite range.
前記調整手段は、前記制御信号の立ち上がりが前記範囲抽出手段によって抽出された前記不定の範囲の中点と一致するように前記制御信号の遅延量を調整する、請求項2記載の半導体装置。   The semiconductor device according to claim 2, wherein the adjustment unit adjusts a delay amount of the control signal so that a rising edge of the control signal coincides with a midpoint of the indefinite range extracted by the range extraction unit. 前記調整手段は、前記メモリが保持するメモリモジュールの配置情報を読み出すことにより、前記制御信号の遅延量に所定量を加算するか否かを判定する、請求項1〜3のいずれかに記載の半導体装置。   The said adjustment means determines whether to add a predetermined amount to the delay amount of the said control signal by reading the arrangement | positioning information of the memory module which the said memory hold | maintains. Semiconductor device. 前記半導体装置はさらに、通常動作時の基準クロックとライトレベリング測定用クロックとのいずれかを選択して前記クロック信号として出力する選択手段を含む、請求項1〜4のいずれかに記載の半導体装置。   5. The semiconductor device according to claim 1, further comprising selection means for selecting any one of a reference clock and a write leveling measurement clock during normal operation and outputting the selected clock signal as the clock signal. .
JP2010128842A 2010-06-04 2010-06-04 Semiconductor device Withdrawn JP2011253501A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010128842A JP2011253501A (en) 2010-06-04 2010-06-04 Semiconductor device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010128842A JP2011253501A (en) 2010-06-04 2010-06-04 Semiconductor device

Publications (1)

Publication Number Publication Date
JP2011253501A true JP2011253501A (en) 2011-12-15

Family

ID=45417356

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010128842A Withdrawn JP2011253501A (en) 2010-06-04 2010-06-04 Semiconductor device

Country Status (1)

Country Link
JP (1) JP2011253501A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9405506B2 (en) 2012-12-13 2016-08-02 Samsung Electronics Co., Ltd. Method of operating system on chip and apparatuses including the same
US9514794B2 (en) 2015-04-02 2016-12-06 Fujitsu Limited Information processing apparatus, information processing system and phase adjusting method
CN114844603A (en) * 2022-04-26 2022-08-02 长鑫存储技术有限公司 Signal detection method and device and memory

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9405506B2 (en) 2012-12-13 2016-08-02 Samsung Electronics Co., Ltd. Method of operating system on chip and apparatuses including the same
US9514794B2 (en) 2015-04-02 2016-12-06 Fujitsu Limited Information processing apparatus, information processing system and phase adjusting method
CN114844603A (en) * 2022-04-26 2022-08-02 长鑫存储技术有限公司 Signal detection method and device and memory

Similar Documents

Publication Publication Date Title
US7412616B2 (en) Semiconductor integrated circuit
US9000817B2 (en) Apparatuses and methods for altering a forward path delay of a signal path
JP5013394B2 (en) Semiconductor integrated circuit device
US9571105B2 (en) System and method for an accuracy-enhanced DLL during a measure initialization mode
US8984320B2 (en) Command paths, apparatuses and methods for providing a command to a data block
JP4786262B2 (en) Interface circuit
JP5407551B2 (en) Timing adjustment circuit and timing adjustment method
JP5577776B2 (en) Memory control apparatus and mask timing control method
US9355744B2 (en) Dynamic memory signal phase tracking method and associated control circuit
US9196349B2 (en) Semiconductor device
US8065550B2 (en) Digital delay locked loop circuit using mode register set
US7796465B2 (en) Write leveling of memory units designed to receive access requests in a sequential chained topology
US7493461B1 (en) Dynamic phase alignment for resynchronization of captured data
US8754656B2 (en) High speed test circuit and method
US20150146477A1 (en) Semiconductor device
CN1933015A (en) Semiconductor integrated circuit device
US20070247960A1 (en) System and method to synchronize signals in individual integrated circuit components
JP2011253501A (en) Semiconductor device
JP2013109637A (en) Memory interface circuit and operation method thereof
KR20120119441A (en) Latency control circuit, semiconductor memory device including the same and latency control method
JP2005518685A (en) Method and apparatus for clock circuit
US10902896B2 (en) Memory circuit and method thereof
KR20070030691A (en) Semiconductor integraged circuit device
KR101034036B1 (en) Semiconductor memory test board, semiconductor memory test system including the same and method of testing a semiconductor memory
KR20150078012A (en) Semiconductor memory apparatus and test method using the same

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20130806