JP2009104721A - Ddr memory controller and semiconductor device - Google Patents

Ddr memory controller and semiconductor device Download PDF

Info

Publication number
JP2009104721A
JP2009104721A JP2007276184A JP2007276184A JP2009104721A JP 2009104721 A JP2009104721 A JP 2009104721A JP 2007276184 A JP2007276184 A JP 2007276184A JP 2007276184 A JP2007276184 A JP 2007276184A JP 2009104721 A JP2009104721 A JP 2009104721A
Authority
JP
Japan
Prior art keywords
ddr memory
clock
circuit
signal
memory controller
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.)
Granted
Application number
JP2007276184A
Other languages
Japanese (ja)
Other versions
JP5160856B2 (en
Inventor
Kyosuke Sugishita
恭輔 杉下
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.)
NEC Electronics Corp
Original Assignee
NEC 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 NEC Electronics Corp filed Critical NEC Electronics Corp
Priority to JP2007276184A priority Critical patent/JP5160856B2/en
Priority to US12/256,024 priority patent/US7911858B2/en
Publication of JP2009104721A publication Critical patent/JP2009104721A/en
Priority to US13/035,209 priority patent/US20110141834A1/en
Application granted granted Critical
Publication of JP5160856B2 publication Critical patent/JP5160856B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/18Address timing or clocking circuits; Address control signal generation or management, e.g. for row address strobe [RAS] or column address strobe [CAS] signals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1689Synchronisation and timing concerns
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03LAUTOMATIC CONTROL, STARTING, SYNCHRONISATION OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES
    • H03L7/00Automatic control of frequency or phase; Synchronisation
    • H03L7/06Automatic control of frequency or phase; Synchronisation using a reference signal applied to a frequency- or phase-locked loop
    • H03L7/08Details of the phase-locked loop
    • H03L7/0805Details of the phase-locked loop the loop being adapted to provide an additional control signal for use outside the loop
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03LAUTOMATIC CONTROL, STARTING, SYNCHRONISATION OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES
    • H03L7/00Automatic control of frequency or phase; Synchronisation
    • H03L7/06Automatic control of frequency or phase; Synchronisation using a reference signal applied to a frequency- or phase-locked loop
    • H03L7/08Details of the phase-locked loop
    • H03L7/081Details of the phase-locked loop provided with an additional controlled phase shifter
    • H03L7/0812Details of the phase-locked loop provided with an additional controlled phase shifter and where no voltage or current controlled oscillator is used
    • H03L7/0816Details of the phase-locked loop provided with an additional controlled phase shifter and where no voltage or current controlled oscillator is used the controlled phase shifter and the frequency- or phase-detection arrangement being connected to a common input
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Dram (AREA)
  • Memory System (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To reduce a temporal overhead caused by a change of the operation frequency of a DDR memory. <P>SOLUTION: A DDR memory controller 10 includes a clock control circuit 20 and a strobe delay circuit 40. The clock control circuit 20 outputs any one of a plurality of clock signals CLK1 to CLKn as an operation clock signal SCLK of a DDR memory 1. The strobe delay circuit 40 delays a strobe signal DQS output from the DDR memory 1 by a predetermined delay time tSD. The delay time tSD is adjusted such that a phase of one CLK1 of the plurality of clock signals CLK1-CLKn which has a maximum frequency is shifted by a predetermined angle. <P>COPYRIGHT: (C)2009,JPO&INPIT

Description

本発明は、DDRメモリ用のDDRメモリコントローラ、及びそのDDRメモリコントローラが搭載された半導体装置に関する。   The present invention relates to a DDR memory controller for a DDR memory and a semiconductor device on which the DDR memory controller is mounted.

SDRAM(Synchronous Dynamic Random Access Memory)の一種として、高速データ転送が可能なDDR(Double Data Rate)−SDRAMが知られている。DDR−SDRAMは、以下「DDRメモリ」と参照される。また、DDRメモリ用のメモリコントローラは、以下「DDRメモリコントローラ」と参照される。   As a type of SDRAM (Synchronous Dynamic Random Access Memory), DDR (Double Data Rate) -SDRAM capable of high-speed data transfer is known. The DDR-SDRAM is hereinafter referred to as “DDR memory”. The memory controller for the DDR memory is hereinafter referred to as “DDR memory controller”.

DDRメモリとDDRメモリコントローラとの間の高速データ転送においては、「ストローブ信号」と呼ばれる専用の信号が用いられる。具体的には、データ送出側は、データ信号と共にストローブ信号を出力する。そのストローブ信号は、データ信号の出力タイミング毎にH/Lのトグル動作を繰り返すが、クロック信号とは別の信号である。データ受取側は、クロック信号ではなく受け取ったストローブ信号を参照して、データ信号の取り込みを行う。   In high-speed data transfer between the DDR memory and the DDR memory controller, a dedicated signal called “strobe signal” is used. Specifically, the data transmission side outputs a strobe signal together with the data signal. The strobe signal repeats the H / L toggle operation at every output timing of the data signal, but is a signal different from the clock signal. The data receiving side takes in the data signal with reference to the received strobe signal instead of the clock signal.

例えばデータ読み出し時、DDRメモリは、読み出しデータを示すデータ信号に加えてストローブ信号を出力する。DDRメモリコントローラは、受け取ったストローブ信号を参照して、ストローブ信号の立ち上がりエッジ及び立ち下がりエッジのタイミングで、受け取ったデータ信号をラッチする。この時、データ信号が安定した状態でラッチを行うために、DDRメモリコントローラは、受け取ったストローブ信号を遅延させ、遅延したストローブ信号を参照してデータ信号をラッチする。ストローブ信号を遅延させる手法として、DLL(Delay Locked Loop)回路及びディレイ回路を用いる手法が知られている(特許文献1、非特許文献1参照)。   For example, when reading data, the DDR memory outputs a strobe signal in addition to a data signal indicating read data. The DDR memory controller refers to the received strobe signal and latches the received data signal at the timing of the rising edge and falling edge of the strobe signal. At this time, in order to perform latching in a state where the data signal is stable, the DDR memory controller delays the received strobe signal and latches the data signal with reference to the delayed strobe signal. As a technique for delaying the strobe signal, a technique using a DLL (Delay Locked Loop) circuit and a delay circuit is known (see Patent Document 1 and Non-Patent Document 1).

図1は、非特許文献1のFig.30に記載されたDDRメモリコントローラ140を示している。このDDRメモリコントローラ140は、DDRメモリから出力されるデータ信号DQ及びストローブ信号DQSを受け取る。データ信号DQは、例えば8ビットの信号(DQ0〜DQ7)である。図1に示されるように、DDRメモリコントローラは、スレーブディレイ回路110、マスターDLL回路120、及びギア比論理回路130を備えている。   FIG. 1 shows FIG. 30 shows a DDR memory controller 140 described in FIG. The DDR memory controller 140 receives a data signal DQ and a strobe signal DQS output from the DDR memory. The data signal DQ is, for example, an 8-bit signal (DQ0 to DQ7). As shown in FIG. 1, the DDR memory controller includes a slave delay circuit 110, a master DLL circuit 120, and a gear ratio logic circuit 130.

スレーブディレイ回路110は、DDRメモリから受け取ったストローブ信号DQSを遅延させる回路である。具体的には、スレーブディレイ回路110は、ディレイコードに応じて遅延段数が変化する可変遅延回路を有しており、その遅延段数に応じた遅延時間tSDだけストローブ信号DQSを遅延させる。このスレーブディレイ回路110から出力されるストローブ信号DQSの立ち上がりエッジ及び立ち下がりエッジを参照して、フリップフロップ群はデータ信号DQをラッチする。データ信号DQが安定状態でラッチされるために、典型的には、ストローブ信号DQSの位相が約90度シフトするように遅延段数(遅延時間tSD)が設定される。言い換えれば、ストローブ信号DQSの位相が約90度シフトするように、ディレイコードが決定される。   The slave delay circuit 110 is a circuit that delays the strobe signal DQS received from the DDR memory. Specifically, the slave delay circuit 110 includes a variable delay circuit whose number of delay stages changes according to the delay code, and delays the strobe signal DQS by a delay time tSD corresponding to the number of delay stages. With reference to the rising and falling edges of the strobe signal DQS output from the slave delay circuit 110, the flip-flop group latches the data signal DQ. Since data signal DQ is latched in a stable state, the number of delay stages (delay time tSD) is typically set such that the phase of strobe signal DQS is shifted by approximately 90 degrees. In other words, the delay code is determined so that the phase of the strobe signal DQS is shifted by about 90 degrees.

ここで、遅延回路を構成する遅延素子の特性は、温度や製造ばらつきに依存して変化することに注意する必要がある。つまり、ディレイコード(遅延段数)が同じ場合であっても、温度や製造ばらつきに依存して遅延時間tSDがばらつく可能性がある。半導体チップ毎に遅延時間tSDを揃えるためには、半導体チップ毎にディレイコードを調整(トリミング)する必要がある。そのようなディレイコードのトリミングを行うための構成が、マスターDLL回路120及びギア比論理回路130である。   Here, it is necessary to note that the characteristics of the delay elements constituting the delay circuit change depending on temperature and manufacturing variations. That is, even when the delay code (the number of delay stages) is the same, the delay time tSD may vary depending on temperature and manufacturing variations. In order to align the delay time tSD for each semiconductor chip, it is necessary to adjust (trim) the delay code for each semiconductor chip. A configuration for performing such trimming of the delay code is the master DLL circuit 120 and the gear ratio logic circuit 130.

マスターDLL回路120は、DDRメモリの動作クロックCKをリファレンスクロックとして受け取り、そのリファレンスクロックCKの位相が360度(1周期)シフトするような遅延段数を求める。具体的には、マスターDLL回路120は、可変遅延回路、位相検出器、及び遅延コントローラを有している。可変遅延回路は、上述のスレーブディレイ回路110と同じ構成を有しており、遅延コントローラから出力される制御信号に応じて遅延段数が変化する。この可変遅延回路は、リファレンスクロックCKを受け取り、設定された遅延段数に応じた遅延時間tCKだけリファレンスクロックCKを遅延させる。位相検出器には、遅延していないリファレンスクロックCKと、可変遅延回路から出力される遅延後のリファレンスクロックCKが入力される。そして、位相検出器は、それら2つのリファレンスクロックCKの位相を比較し、比較結果を遅延コントローラに出力する。遅延コントローラは、比較結果に基づいて制御信号を変更し、可変遅延回路における遅延段数を変化させる。このような構成により、リファレンスクロックCKが1周期遅延するような遅延段数を決定することが可能となる。   The master DLL circuit 120 receives the operation clock CK of the DDR memory as a reference clock, and obtains the number of delay stages such that the phase of the reference clock CK is shifted 360 degrees (one cycle). Specifically, the master DLL circuit 120 includes a variable delay circuit, a phase detector, and a delay controller. The variable delay circuit has the same configuration as the slave delay circuit 110 described above, and the number of delay stages changes according to the control signal output from the delay controller. The variable delay circuit receives the reference clock CK and delays the reference clock CK by a delay time tCK corresponding to the set number of delay stages. The reference clock CK that is not delayed and the delayed reference clock CK that is output from the variable delay circuit are input to the phase detector. Then, the phase detector compares the phases of the two reference clocks CK and outputs the comparison result to the delay controller. The delay controller changes the control signal based on the comparison result, and changes the number of delay stages in the variable delay circuit. With such a configuration, it is possible to determine the number of delay stages such that the reference clock CK is delayed by one cycle.

ギア比論理回路130は、リファレンスクロックCKが1周期遅延するような遅延段数を“4”で割る。その結果、リファレンスクロックCKの位相が90度シフトするような遅延段数が算出される。その算出された遅延段数を示す信号が、本半導体チップにおけるディレイコードである。スレーブディレイ回路110は、決定されたディレイコードに基づいて遅延段数を設定し、ストローブ信号DQSを遅延時間tSDだけ遅延させる。   The gear ratio logic circuit 130 divides the number of delay stages such that the reference clock CK is delayed by one cycle by “4”. As a result, the number of delay stages is calculated such that the phase of the reference clock CK is shifted by 90 degrees. A signal indicating the calculated number of delay stages is a delay code in the semiconductor chip. The slave delay circuit 110 sets the number of delay stages based on the determined delay code, and delays the strobe signal DQS by the delay time tSD.

このようにして、マスターDLL回路120及びギア比論理回路130により、ディレイコードのトリミングが半導体チップ毎に実施される。その結果、スレーブディレイ回路110におけるストローブ信号DQSの遅延時間tSDが、半導体チップ毎に揃うことになる。すなわち、動作環境の温度や製造ばらつきに対処することが可能となる。   In this manner, the trimming of the delay code is performed for each semiconductor chip by the master DLL circuit 120 and the gear ratio logic circuit 130. As a result, the delay time tSD of the strobe signal DQS in the slave delay circuit 110 is uniform for each semiconductor chip. That is, it becomes possible to cope with the temperature of the operating environment and manufacturing variations.

特開2004−220643号公報JP 2004-220463 A DesignLine,Volume 8,Issue 3,3Q99, Micron Technology Inc.DesignLine, Volume 8, Issue 3, 3Q99, Micron Technology Inc.

近年、DDRメモリを様々な動作周波数で動作させたいという要望がある。例えば、データがあまり読み出されないときには、消費電力を抑制するために、DDRメモリの動作周波数を低下させたいという要望がある。図1で示された構成によれば、DDRメモリの動作クロックCKが変更されると、それに応じて上述のディレイコードも適切な値に再度設定される。これにより、DDRメモリの動作周波数の変更後でも、DDRメモリコントローラはデータ信号DQを安定的に取り込むことができる。   In recent years, there is a demand for operating a DDR memory at various operating frequencies. For example, when data is not read out very much, there is a desire to reduce the operating frequency of the DDR memory in order to reduce power consumption. According to the configuration shown in FIG. 1, when the operation clock CK of the DDR memory is changed, the above-described delay code is also set to an appropriate value accordingly. Thereby, even after the operating frequency of the DDR memory is changed, the DDR memory controller can stably capture the data signal DQ.

しかしながら、ディレイコードの再設定(再トリミング)には、ある程度の時間が必要である。従って、ディレイコードの再設定の間は、DDRメモリを待機状態にする必要があり、スループットが低下する。すなわち、DDRメモリの動作周波数の変更に伴うディレイコードの再設定による時間的なオーバーヘッドは、スループットの低下を招く。   However, a certain amount of time is required for resetting (re-trimming) the delay code. Therefore, during the resetting of the delay code, it is necessary to put the DDR memory in a standby state, which reduces the throughput. That is, the time overhead due to the resetting of the delay code accompanying the change in the operating frequency of the DDR memory causes a decrease in throughput.

以下に、[発明を実施するための最良の形態]で使用される番号・符号を用いて、[課題を解決するための手段]を説明する。これらの番号・符号は、[特許請求の範囲]の記載と[発明を実施するための最良の形態]との対応関係を明らかにするために括弧付きで付加されたものである。ただし、それらの番号・符号を、[特許請求の範囲]に記載されている発明の技術的範囲の解釈に用いてはならない。   [Means for Solving the Problems] will be described below using the numbers and symbols used in [Best Mode for Carrying Out the Invention]. These numbers and symbols are added in parentheses in order to clarify the correspondence between the description of [Claims] and [Best Mode for Carrying Out the Invention]. However, these numbers and symbols should not be used for the interpretation of the technical scope of the invention described in [Claims].

本発明の第1の観点において、マスターDLL(50)により決定されたディレイコード(DCODE)に基づき、DDRメモリ(1)からのストローブ信号(DQS)をスレーブディレイ(40)にて遅延させ、DDRメモリ(1)からのデータ信号(DQ)に対するストローブ信号(DQS’)とするDDRメモリコントローラ(10)が提供される。そのDDRメモリコントローラ(10)は、周波数の異なる複数のクロック信号(CLK1〜CLKn)から周波数選択信号(SEL)に応じて選択されたクロック信号(SCLK)をDDRメモリ(1)に出力するクロック制御回路(20)を備える。マスターDLL(50)には、上記複数のクロック信号(CLK1〜CLKn)のうち最大周波数のクロック信号(CLK1)がリファレンスクロック(REF)として入力される。   In the first aspect of the present invention, the strobe signal (DQS) from the DDR memory (1) is delayed by the slave delay (40) based on the delay code (DCODE) determined by the master DLL (50), and the DDR A DDR memory controller (10) is provided which provides a strobe signal (DQS ') for the data signal (DQ) from the memory (1). The DDR memory controller (10) outputs a clock signal (SCLK) selected in response to a frequency selection signal (SEL) from a plurality of clock signals (CLK1 to CLKn) having different frequencies to the DDR memory (1). A circuit (20) is provided. The master DLL (50) receives a clock signal (CLK1) having the maximum frequency among the plurality of clock signals (CLK1 to CLKn) as a reference clock (REF).

本発明の第2の観点において、DDRメモリコントローラ(10)は、クロック制御回路(20)とストローブ遅延回路(40)とを備える。クロック制御回路(20)は、周波数の異なる複数のクロック信号(CLK1〜CLKn)のうちいずれか1つをDDRメモリ(1)の動作クロック信号(SCLK)として出力する。ストローブ遅延回路(40)は、DDRメモリ(1)から出力されるストローブ信号(DQS)を、所定の遅延時間(tSD)だけ遅延させる。その遅延時間(tSD)は、上記複数のクロック信号(CLK1〜CLKn)のうち最大周波数のクロック信号(CLK1)の位相が所定の角度だけシフトする量に調整される。   In the second aspect of the present invention, the DDR memory controller (10) includes a clock control circuit (20) and a strobe delay circuit (40). The clock control circuit (20) outputs any one of a plurality of clock signals (CLK1 to CLKn) having different frequencies as an operation clock signal (SCLK) of the DDR memory (1). The strobe delay circuit (40) delays the strobe signal (DQS) output from the DDR memory (1) by a predetermined delay time (tSD). The delay time (tSD) is adjusted to an amount by which the phase of the clock signal (CLK1) having the maximum frequency among the plurality of clock signals (CLK1 to CLKn) is shifted by a predetermined angle.

本発明の第3の観点において、上記DDRメモリコントローラ(10)が搭載された半導体装置が提供される。   In a third aspect of the present invention, a semiconductor device on which the DDR memory controller (10) is mounted is provided.

本発明によれば、クロック制御回路(20)によって、DDRメモリ(1)の動作クロック信号(SCLK)を変更したいという要求は満たされる。一方で、ディレイコード(DCODE)は、DDRメモリ(1)の動作クロック信号(SCLK)となり得る複数のクロック信号(CLK1〜CLKn)のうち、最大周波数のクロック信号(CLK1)を基準として用いることにより決定される。つまり、ストローブ信号(DQS)の遅延時間(tSD)は、DDRメモリ(1)の動作クロック信号(SCLK)にかかわらず、最大周波数のクロック信号(CLK1)の位相が所定の角度だけシフトする量に調整される。   According to the present invention, the request to change the operation clock signal (SCLK) of the DDR memory (1) is satisfied by the clock control circuit (20). On the other hand, the delay code (DCODE) is obtained by using the clock signal (CLK1) having the maximum frequency among the plurality of clock signals (CLK1 to CLKn) that can be the operation clock signal (SCLK) of the DDR memory (1) as a reference. It is determined. That is, the delay time (tSD) of the strobe signal (DQS) is an amount by which the phase of the clock signal (CLK1) having the maximum frequency is shifted by a predetermined angle regardless of the operation clock signal (SCLK) of the DDR memory (1). Adjusted.

DDRメモリ(1)の動作クロック信号(SCLK)が、最大周波数のクロック信号(CLK1)から、それ以外のもの(CLK2〜CLKn)に変更される場合を考える。この時、データ信号(DQ)のストローブ信号(DQS’)に対するセットアップバジェットは変わらず、これは動作上問題ない。また、データ信号(DQ)のストローブ信号(DQS’)に対するホールドバジェットは必然的により大きくなり、これも動作上問題ない。すなわち、DDRメモリ(1)の動作クロック信号(SCLK)としていかなるクロック信号が選択されても、DDRメモリコントローラ(10)は、データ信号(DQ)を安定的に取り込むことが可能である。言い換えれば、DDRメモリ(1)の動作クロック信号(SCLK)が変更されても、ディレイコード(DCODE)を再度トリミングする必要はない。   Consider a case where the operation clock signal (SCLK) of the DDR memory (1) is changed from the clock signal (CLK1) having the maximum frequency to another one (CLK2 to CLKn). At this time, the setup budget of the data signal (DQ) with respect to the strobe signal (DQS ') does not change, which is not a problem in operation. Further, the hold budget of the data signal (DQ) with respect to the strobe signal (DQS ') inevitably becomes larger, and this also causes no problem in operation. That is, regardless of what clock signal is selected as the operation clock signal (SCLK) of the DDR memory (1), the DDR memory controller (10) can stably capture the data signal (DQ). In other words, even if the operation clock signal (SCLK) of the DDR memory (1) is changed, it is not necessary to trim the delay code (DCODE) again.

以上に説明されたように、ディレイコード(DCODE)のトリミング時に基準となるクロック信号(REF)は、DDRメモリ(1)の動作クロック信号(SCLK)となり得る複数のクロック信号(CLK1〜CLKn)のうち最大周波数のクロック信号(CLK1)に固定される。この場合、DDRメモリ(1)の動作クロック信号(SCLK)が変更されても、ディレイコード(DCODE)を再度トリミングする必要はない。従って、動作クロック信号(SCLK)の変更に伴う時間的なオーバーヘッドが短縮される。結果として、スループットの低下が防止され、動作速度が全体として向上する。   As described above, the reference clock signal (REF) at the time of trimming the delay code (DCODE) is a plurality of clock signals (CLK1 to CLKn) that can be the operation clock signal (SCLK) of the DDR memory (1). Of these, the clock signal (CLK1) having the maximum frequency is fixed. In this case, even if the operation clock signal (SCLK) of the DDR memory (1) is changed, it is not necessary to trim the delay code (DCODE) again. Therefore, the time overhead associated with the change of the operation clock signal (SCLK) is reduced. As a result, a decrease in throughput is prevented and the operation speed is improved as a whole.

本発明によれば、DDRメモリの動作周波数の変更に伴う時間的なオーバーヘッドが短縮される。その結果、スループットの低下が防止され、動作速度が全体として向上する。   According to the present invention, the time overhead associated with changing the operating frequency of the DDR memory is reduced. As a result, a decrease in throughput is prevented and the operation speed is improved as a whole.

添付図面を参照して、本発明の実施の形態に係るDDRメモリコントローラ及び半導体装置を説明する。   A DDR memory controller and a semiconductor device according to embodiments of the present invention will be described with reference to the accompanying drawings.

1.第1の実施の形態
1−1.全体構成
図2は、本発明の第1の実施の形態に係るDDRメモリコントローラ及び半導体装置の構成を示すブロック図である。半導体装置は、DDRメモリ(DDR−SDRAM)1及びDDRメモリコントローラ10を備えている。例えば、DDRメモリ1とDDRメモリコントローラ10とは、それぞれ別々の半導体チップとして構成される。また、DDRメモリコントローラ10は論理半導体チップなどに搭載されていてもよい。つまり、DDRメモリコントローラ10が搭載された半導体集積回路が提供されてもよい。さらにまた、DDRメモリ1とDDRメモリコントローラ10とが1つの半導体チップに構成されていてもよい。
1. 1. First embodiment 1-1. Overall Configuration FIG. 2 is a block diagram showing a configuration of a DDR memory controller and a semiconductor device according to the first embodiment of the present invention. The semiconductor device includes a DDR memory (DDR-SDRAM) 1 and a DDR memory controller 10. For example, the DDR memory 1 and the DDR memory controller 10 are configured as separate semiconductor chips. The DDR memory controller 10 may be mounted on a logic semiconductor chip or the like. That is, a semiconductor integrated circuit on which the DDR memory controller 10 is mounted may be provided. Furthermore, the DDR memory 1 and the DDR memory controller 10 may be configured in one semiconductor chip.

DDRメモリ1は、動作クロック信号SCLKに基づいて動作する。また、データ読み出し時、DDRメモリ1は、読み出しデータを示すデータ信号DQ(DQ0〜DQi)に加えて、そのデータ信号DQに対応するストローブ信号DQSを出力する。   The DDR memory 1 operates based on the operation clock signal SCLK. At the time of data reading, the DDR memory 1 outputs a strobe signal DQS corresponding to the data signal DQ in addition to the data signal DQ (DQ0 to DQi) indicating the read data.

DDRメモリコントローラ10は、動作クロック信号SCLKをDDRメモリ1に出力し、また、動作クロック信号SCLKを切り換える機能を有している。更に、DDRメモリコントローラ10は、DDRメモリ1からデータ信号DQ及びストローブ信号DQS信号を受け取り、ストローブ信号DQSに基づいてデータ信号DQを外部に出力する機能を有している。これら機能を実現するために、DDRメモリコントローラ10は、クロック制御回路20、出力回路30、ストローブ遅延回路40、及びDLL回路50を有している。以下、各構成を詳しく説明する。   The DDR memory controller 10 has a function of outputting the operation clock signal SCLK to the DDR memory 1 and switching the operation clock signal SCLK. Further, the DDR memory controller 10 has a function of receiving the data signal DQ and the strobe signal DQS signal from the DDR memory 1 and outputting the data signal DQ to the outside based on the strobe signal DQS. In order to realize these functions, the DDR memory controller 10 includes a clock control circuit 20, an output circuit 30, a strobe delay circuit 40, and a DLL circuit 50. Hereinafter, each configuration will be described in detail.

1−2.クロック制御回路
近年、DDRメモリ1を状況に応じて様々な動作周波数で動作させたいという要望がある。つまり、DDRメモリ1の動作クロック信号SCLKを動的に変更したいという要望がある。そのような要望に応えるための構成が、クロック制御回路20である。
1-2. Clock control circuit In recent years, there is a demand for operating the DDR memory 1 at various operating frequencies depending on the situation. That is, there is a demand for dynamically changing the operation clock signal SCLK of the DDR memory 1. A configuration for meeting such a demand is the clock control circuit 20.

クロック制御回路20は、DDRメモリコントローラ10の外部から基準クロック信号CLKを受け取る。典型的には、基準クロック信号CLKは、システムクロック信号である。クロック制御回路20は、受け取った基準クロック信号CLKに基づいて、互いに周波数の異なる複数のクロック信号CLK1〜CLKnを生成する(nは2以上の整数)。更に、クロック制御回路20は、生成された複数のクロック信号CLK1〜CLKnのうちいずれか1つを、DDRメモリ1の動作クロック信号SCLKとしてDDRメモリ1に出力する。   The clock control circuit 20 receives the reference clock signal CLK from the outside of the DDR memory controller 10. Typically, the reference clock signal CLK is a system clock signal. The clock control circuit 20 generates a plurality of clock signals CLK1 to CLKn having different frequencies based on the received reference clock signal CLK (n is an integer of 2 or more). Further, the clock control circuit 20 outputs any one of the generated clock signals CLK <b> 1 to CLKn to the DDR memory 1 as the operation clock signal SCLK of the DDR memory 1.

より詳細には、図2に示されるように、クロック制御回路20は、クロック生成回路60及びクロック選択回路70を有している。クロック生成回路60は、基準クロック信号CLKから、互いに周波数の異なる複数のクロック信号CLK1〜CLKnを生成する。一方、クロック選択回路70は、複数のクロック信号CLK1〜CLKnに加えて周波数選択信号SELを受け取る。周波数選択信号SELは、DDRメモリ1の動作クロック信号SCLKを指定する信号であり、例えばCPUによって発行される。クロック選択回路70は、周波数選択信号SELに応答して、複数のクロック信号CLK1〜CLKnから1つの動作クロック信号SCLKを選択し、選択された動作クロック信号SCLKをDDRメモリ1に出力する。   More specifically, as shown in FIG. 2, the clock control circuit 20 includes a clock generation circuit 60 and a clock selection circuit 70. The clock generation circuit 60 generates a plurality of clock signals CLK1 to CLKn having different frequencies from the reference clock signal CLK. On the other hand, the clock selection circuit 70 receives the frequency selection signal SEL in addition to the plurality of clock signals CLK1 to CLKn. The frequency selection signal SEL is a signal that specifies the operation clock signal SCLK of the DDR memory 1, and is issued by, for example, the CPU. The clock selection circuit 70 selects one operation clock signal SCLK from the plurality of clock signals CLK1 to CLKn in response to the frequency selection signal SEL, and outputs the selected operation clock signal SCLK to the DDR memory 1.

このように、クロック制御回路20は、複数のクロック信号CLK1〜CLKnを生成し、そのうち周波数選択信号SELに応じて選択された動作クロック信号SCLKをDDRメモリ1に出力する。DDRメモリ1は、選択された動作クロック信号SCLKに基づいて動作する、すなわち、複数のクロック信号CLK1〜CLKnのいずれかに基づいて動作する。クロック制御回路20によって生成される複数のクロック信号CLK1〜CLKnは、DDRメモリ1の動作クロック信号SCLKとなり得る候補であると言える。   Thus, the clock control circuit 20 generates a plurality of clock signals CLK1 to CLKn, and outputs the operation clock signal SCLK selected according to the frequency selection signal SEL to the DDR memory 1. The DDR memory 1 operates based on the selected operation clock signal SCLK, that is, operates based on any one of the plurality of clock signals CLK1 to CLKn. It can be said that the plurality of clock signals CLK <b> 1 to CLKn generated by the clock control circuit 20 are candidates that can be the operation clock signal SCLK of the DDR memory 1.

図3は、クロック制御回路20の回路構成の一例を示している。図3において、クロック生成回路60は、複数の分周回路61、62及び63を有している。分周回路61、62及び63のそれぞれは、基準クロック信号CLKから、互いに周波数の異なるクロック信号CLK1、CLK2及びCLK3を生成する。例えば、分周回路61、62及び63は、それぞれ1/2分周回路、1/4分周回路、及び1/8分周回路である。この場合、分周回路61によって生成されるクロック信号CLK1の周波数が最大となり、分周回路63によって生成されるクロック信号CLK3の周波数が最小となる。尚、クロック生成回路60の別の形態として、分周回路61、62、63の他に入力クロック(CLK)をスルーするバッファを有する構成も可能である。   FIG. 3 shows an example of the circuit configuration of the clock control circuit 20. In FIG. 3, the clock generation circuit 60 has a plurality of frequency dividing circuits 61, 62 and 63. Each of the frequency dividing circuits 61, 62, and 63 generates clock signals CLK1, CLK2, and CLK3 having different frequencies from the reference clock signal CLK. For example, the frequency dividing circuits 61, 62, and 63 are a 1/2 frequency dividing circuit, a 1/4 frequency dividing circuit, and a 1/8 frequency dividing circuit, respectively. In this case, the frequency of the clock signal CLK1 generated by the frequency dividing circuit 61 is maximized, and the frequency of the clock signal CLK3 generated by the frequency dividing circuit 63 is minimized. As another form of the clock generating circuit 60, a configuration having a buffer through which the input clock (CLK) is passed in addition to the frequency dividing circuits 61, 62, 63 is also possible.

クロック選択回路70は、クロック信号CLK1〜CLK3と周波数選択信号SELを受け取る。周波数選択信号SELは、クロック信号CLK1の選択/非選択を示す選択信号SEL1と、クロック信号CLK2の選択/非選択を示す選択信号SEL2と、クロック信号CLK3の選択/非選択を示す選択信号SEL3からなる。いずれの選択信号に関しても、Hレベルが「選択」を意味し、Lレベルが「非選択」を意味するとする。ここでは、複数のクロック信号(CLK1〜CLK3)から1つのクロック信号が選択されるように、選択信号SEL1、SEL2、SEL3は排他的に設定される。   The clock selection circuit 70 receives the clock signals CLK1 to CLK3 and the frequency selection signal SEL. The frequency selection signal SEL includes a selection signal SEL1 indicating selection / non-selection of the clock signal CLK1, a selection signal SEL2 indicating selection / non-selection of the clock signal CLK2, and a selection signal SEL3 indicating selection / non-selection of the clock signal CLK3. Become. For any selection signal, it is assumed that the H level means “selection” and the L level means “non-selection”. Here, the selection signals SEL1, SEL2, and SEL3 are exclusively set so that one clock signal is selected from the plurality of clock signals (CLK1 to CLK3).

図3において、クロック選択回路70は、選択回路75と同期化回路80を有している。同期化回路80は、周波数選択信号SELをクロック信号CLK1〜CLK3のそれぞれに同期化させるための回路であり、フリップフロップ群81〜83を有している。具体的には、フリップフロップ群81は、多段に接続されたフリップフロップを含んでおり、クロック信号CLK1を利用して選択信号SEL1の同期化を行う。同様に、フリップフロップ群82は、クロック信号CLK2を利用して選択信号SEL2の同期化を行い、フリップフロップ群83は、クロック信号CLK3を利用して選択信号SEL3の同期化を行う。尚、選択信号SEL(SEL1〜SEL3)としてデコード済みの信号が入力される例をここでは示したが、クロック選択回路70は、選択情報をデコードして選択信号SEL(SEL1〜SEL3)を出力するデコード回路を有していてもよい。   In FIG. 3, the clock selection circuit 70 has a selection circuit 75 and a synchronization circuit 80. The synchronization circuit 80 is a circuit for synchronizing the frequency selection signal SEL with each of the clock signals CLK1 to CLK3, and includes flip-flop groups 81 to 83. Specifically, the flip-flop group 81 includes flip-flops connected in multiple stages, and synchronizes the selection signal SEL1 using the clock signal CLK1. Similarly, the flip-flop group 82 synchronizes the selection signal SEL2 using the clock signal CLK2, and the flip-flop group 83 synchronizes the selection signal SEL3 using the clock signal CLK3. Although an example in which a decoded signal is input as the selection signal SEL (SEL1 to SEL3) is shown here, the clock selection circuit 70 decodes the selection information and outputs the selection signal SEL (SEL1 to SEL3). You may have a decoding circuit.

選択回路75は、同期化回路80から出力される周波数選択信号SEL(SEL1〜SEL3)に応じたクロック信号を、クロック信号CLK1〜CLK3の中から選択し出力する。例えば図3に示されるように、選択回路75は、AND回路71〜73及びOR回路74を有している。AND回路71には、クロック信号CLK1と同期化回路80から出力される選択信号SEL1が入力される。AND回路72には、クロック信号CLK2と同期化回路80から出力される選択信号SEL2が入力される。AND回路73には、クロック信号CLK3と同期化回路80から出力される選択信号SEL3が入力される。AND回路71〜73のそれぞれの出力は、OR回路74に入力される。OR回路74から出力される信号が、DDRメモリ1の動作クロック信号SCLKである。   The selection circuit 75 selects and outputs a clock signal corresponding to the frequency selection signal SEL (SEL1 to SEL3) output from the synchronization circuit 80 from the clock signals CLK1 to CLK3. For example, as illustrated in FIG. 3, the selection circuit 75 includes AND circuits 71 to 73 and an OR circuit 74. The AND circuit 71 receives the clock signal CLK1 and the selection signal SEL1 output from the synchronization circuit 80. The AND circuit 72 receives the clock signal CLK2 and the selection signal SEL2 output from the synchronization circuit 80. The AND circuit 73 receives the clock signal CLK3 and the selection signal SEL3 output from the synchronization circuit 80. The outputs of the AND circuits 71 to 73 are input to the OR circuit 74. The signal output from the OR circuit 74 is the operation clock signal SCLK of the DDR memory 1.

図4は、図3で示されたクロック制御回路20の動作の一例を示すタイミングチャートである。図4には、基準クロック信号CLK、クロック信号CLK1〜CLK3、選択信号SEL1、AND回路71の出力、選択信号SEL2、AND回路72の出力、及び選択された動作クロック信号SCLKが示されている。尚、図4中の各段に付されている数字は、図3中の対応する数字で示される位置での信号をそれぞれ意味している。   FIG. 4 is a timing chart showing an example of the operation of the clock control circuit 20 shown in FIG. FIG. 4 shows the reference clock signal CLK, the clock signals CLK1 to CLK3, the selection signal SEL1, the output of the AND circuit 71, the selection signal SEL2, the output of the AND circuit 72, and the selected operation clock signal SCLK. Note that the numbers given to the respective stages in FIG. 4 mean the signals at the positions indicated by the corresponding numbers in FIG.

図4で示される例では、最初、選択信号SEL1だけがHレベルであり、その他の選択信号はLレベルである。その結果、クロック制御回路20からは、クロック信号CLK1〜CLK3のうち最大周波数のクロック信号CLK1が、選択的に動作クロック信号SCLKとして出力される。その後、選択信号SEL1がLレベルに変更される。続いて、選択信号SEL2がLレベルからHレベルに変更される。その結果、クロック制御回路20からは、クロック信号CLK1〜CLK3のうちクロック信号CLK2が、選択的に動作クロック信号SCLKとして出力される。このように、動作クロック信号SCLKが、最大周波数のクロック信号CLK1から、それより低い周波数のクロック信号CLK2に切り換えられる。   In the example shown in FIG. 4, only the selection signal SEL1 is initially at the H level, and the other selection signals are at the L level. As a result, the clock control circuit 20 selectively outputs the clock signal CLK1 having the maximum frequency among the clock signals CLK1 to CLK3 as the operation clock signal SCLK. Thereafter, the selection signal SEL1 is changed to L level. Subsequently, the selection signal SEL2 is changed from the L level to the H level. As a result, the clock control circuit 20 selectively outputs the clock signal CLK2 among the clock signals CLK1 to CLK3 as the operation clock signal SCLK. As described above, the operation clock signal SCLK is switched from the clock signal CLK1 having the maximum frequency to the clock signal CLK2 having a lower frequency.

図5は、クロック制御回路20の回路構成の他の例を示している。図5において、クロック選択回路70の構成は、図3で示されたものと同じである。一方、クロック生成回路60は、分周回路61〜63に加えてPLL回路64を更に有している。PLL回路64は、基準クロック信号CLKの周波数を逓倍する機能を有している。この場合、分周回路61〜63のそれぞれは、逓倍後の基準クロック信号CLK’からクロック信号CLK1〜CLK3を生成する。このように、クロック制御回路20は、基準クロック信号CLKを逓倍した後に、複数のクロック信号CLK1〜CLK3を生成してもよい。この場合でも、クロック制御回路20が果たす役割は同じである。   FIG. 5 shows another example of the circuit configuration of the clock control circuit 20. In FIG. 5, the configuration of the clock selection circuit 70 is the same as that shown in FIG. On the other hand, the clock generation circuit 60 further includes a PLL circuit 64 in addition to the frequency dividing circuits 61 to 63. The PLL circuit 64 has a function of multiplying the frequency of the reference clock signal CLK. In this case, each of the frequency dividing circuits 61 to 63 generates clock signals CLK1 to CLK3 from the multiplied reference clock signal CLK '. Thus, the clock control circuit 20 may generate the plurality of clock signals CLK1 to CLK3 after multiplying the reference clock signal CLK. Even in this case, the role played by the clock control circuit 20 is the same.

1−3.出力回路及びストローブ遅延回路
再度図2を参照して、DDRメモリコントローラ10の出力回路30及びストローブ遅延回路40(スレーブディレイ回路)を説明する。
1-3. Output Circuit and Strobe Delay Circuit With reference to FIG. 2 again, the output circuit 30 and the strobe delay circuit 40 (slave delay circuit) of the DDR memory controller 10 will be described.

DDRメモリ1から出力されるストローブ信号DQSは、まず、ストローブ遅延回路40に入力される。このストローブ遅延回路40は、DDRメモリ1から受け取ったストローブ信号DQSを、所定の遅延時間(tSD)だけ遅延させる回路である。具体的には、スレーブディレイ回路40は、多段の遅延素子から構成される可変遅延回路41を含んでいる。その遅延素子の段数、すなわち、遅延時間(tSD)は、後述される「ディレイコードDCODE」に応じて変化する。つまり、ストローブ遅延回路40は、ディレイコードDCODEに応じた遅延時間(tSD)だけ、ストローブ信号DQSを遅延させる。遅延後のストローブ信号DQSは、以下「ストローブ信号DQS’」と参照される。そのストローブ信号DQS’は、出力回路30に供給される。   The strobe signal DQS output from the DDR memory 1 is first input to the strobe delay circuit 40. The strobe delay circuit 40 is a circuit that delays the strobe signal DQS received from the DDR memory 1 by a predetermined delay time (tSD). Specifically, the slave delay circuit 40 includes a variable delay circuit 41 composed of multistage delay elements. The number of stages of the delay elements, that is, the delay time (tSD) changes according to “delay code DCODE” described later. That is, the strobe delay circuit 40 delays the strobe signal DQS by a delay time (tSD) corresponding to the delay code DCODE. The delayed strobe signal DQS is hereinafter referred to as “strobe signal DQS ′”. The strobe signal DQS ′ is supplied to the output circuit 30.

出力回路30は、DDRメモリ1から出力されるデータ信号DQ(DQ0〜DQi)を受け取る。データ信号DQは、例えば8ビットの信号(DQ0〜DQ7)である。また、出力回路30は、ストローブ遅延回路40を通して、ストローブ信号DQS’を受け取る。そして、出力回路30は、受け取ったストローブ信号DQS’を参照し、そのストローブ信号DQS’の立ち上がりエッジ及び立ち下がりエッジのタイミングでデータ信号DQを取り込む。   The output circuit 30 receives the data signal DQ (DQ0 to DQi) output from the DDR memory 1. The data signal DQ is, for example, an 8-bit signal (DQ0 to DQ7). Further, the output circuit 30 receives the strobe signal DQS ′ through the strobe delay circuit 40. Then, the output circuit 30 refers to the received strobe signal DQS 'and takes in the data signal DQ at the timing of the rising edge and the falling edge of the strobe signal DQS'.

具体的には、図2に示されるように、出力回路30は、フリップフロップ31−0〜31−i及びフリップフロップ32−0〜32−iを有している。フリップフロップ31−0〜31−iには、ストローブ信号DQS’が入力される。そして、フリップフロップ31−0〜31−iのそれぞれは、ストローブ信号DQS’の立ち上がりエッジのタイミングで、データ信号DQ0〜DQiをラッチする。一方、フリップフロップ32−0〜32−iには、ストローブ信号DQS’の反転信号が入力される。そして、フリップフロップ32−0〜32−iのそれぞれは、ストローブ信号DQS’の立ち下がりエッジのタイミングで、データ信号DQ0〜DQiをラッチする。そして、出力回路30は、データ信号DQ0〜DQiを、DDRメモリコントローラ10の外部に出力する。   Specifically, as illustrated in FIG. 2, the output circuit 30 includes flip-flops 31-0 to 31-i and flip-flops 32-0 to 32-i. The strobe signal DQS 'is input to the flip-flops 31-0 to 31-i. Then, each of the flip-flops 31-0 to 31-i latches the data signals DQ0 to DQi at the timing of the rising edge of the strobe signal DQS '. On the other hand, an inverted signal of the strobe signal DQS 'is input to the flip-flops 32-0 to 32-i. Each of the flip-flops 32-0 to 32-i latches the data signals DQ0 to DQi at the timing of the falling edge of the strobe signal DQS '. Then, the output circuit 30 outputs the data signals DQ0 to DQi to the outside of the DDR memory controller 10.

図6は、データ信号DQとストローブ信号DQS、DQS’の関係を示すタイミングチャートである。DDRメモリ1は、上述の動作クロック信号SCLKに基づいて動作し、データ信号DQとストローブ信号DQSを出力する。この時、ストローブ信号DQSは、データ信号DQの出力タイミング毎にH/Lのトグル動作を繰り返す。   FIG. 6 is a timing chart showing the relationship between the data signal DQ and the strobe signals DQS and DQS '. The DDR memory 1 operates based on the operation clock signal SCLK described above, and outputs a data signal DQ and a strobe signal DQS. At this time, the strobe signal DQS repeats the H / L toggle operation at every output timing of the data signal DQ.

DDRメモリコントローラ10内で、ストローブ遅延回路40は、ストローブ信号DQSを所定の遅延時間tSDだけ遅延させる。その結果、ストローブ遅延回路40から出力されるストローブ信号DQS’の立ち上がりエッジ及び立ち下がりエッジのタイミングは、データ信号DQが安定期間に含まれることになる。つまり、データ信号DQに関して十分なセットアップ時間t(setup)とホールド時間t(hold)が確保されることになる。結果として、出力回路30は、データ信号DQが安定している期間に、そのデータ信号DQをラッチすることが可能となる。尚、図6では、データ信号DQ及びストローブ信号DQSの各エッジにおいて位相差(スキュー)が無いものとして記載している。しかしながら実際には、後述のように(例えば図8)、各データ信号DQ及びストローブ信号DQS間にはスキューが生じてしまう。   Within the DDR memory controller 10, the strobe delay circuit 40 delays the strobe signal DQS by a predetermined delay time tSD. As a result, the timing of the rising edge and falling edge of the strobe signal DQS ′ output from the strobe delay circuit 40 includes the data signal DQ in the stable period. That is, a sufficient setup time t (setup) and hold time t (hold) are secured for the data signal DQ. As a result, the output circuit 30 can latch the data signal DQ while the data signal DQ is stable. In FIG. 6, it is described that there is no phase difference (skew) at each edge of the data signal DQ and the strobe signal DQS. However, in practice, as will be described later (for example, FIG. 8), a skew occurs between each data signal DQ and the strobe signal DQS.

このように、ストローブ遅延回路40がストローブ信号DQSを遅延時間tSDだけ遅延させることにより、DDRメモリコントローラ10はデータ信号DQを安定状態でラッチすることが可能となる。逆に言えば、データ信号DQが安定状態でラッチされるように、遅延時間tSDは設定される。その遅延時間tSDは、可変遅延回路41を構成する遅延素子の段数によって決まり、その段数はディレイコードDCODEに応じて設定される。   Thus, the strobe delay circuit 40 delays the strobe signal DQS by the delay time tSD, so that the DDR memory controller 10 can latch the data signal DQ in a stable state. In other words, the delay time tSD is set so that the data signal DQ is latched in a stable state. The delay time tSD is determined by the number of stages of delay elements constituting the variable delay circuit 41, and the number of stages is set according to the delay code DCODE.

ここで、遅延素子の特性は、温度や製造ばらつきに依存して変化することに注意する必要がある。つまり、ディレイコードDCODE(遅延段数)が同じ場合であっても、温度や製造ばらつきに依存して遅延時間tSDがばらつく可能性がある。半導体チップ毎に遅延時間tSDを揃えるためには、半導体チップ毎にディレイコードDCODEを調整(トリミング)する必要がある。そのようなディレイコードDCODEのトリミングを行うための構成が、次に説明されるDLL回路50である。   Here, it should be noted that the characteristics of the delay element change depending on temperature and manufacturing variations. That is, even when the delay code DCODE (the number of delay stages) is the same, the delay time tSD may vary depending on temperature and manufacturing variations. In order to align the delay time tSD for each semiconductor chip, it is necessary to adjust (trim) the delay code DCODE for each semiconductor chip. A configuration for performing such trimming of the delay code DCODE is a DLL circuit 50 described below.

1−4.DLL回路
再度図2を参照して、DLL回路50(マスターDLL回路)を説明する。DLL回路50は、ストローブ遅延回路40(スレーブディレイ回路)における遅延時間tSDを指定するディレイコードDCODEのトリミングを行い、適切なディレイコードDCODEを決定する。
1-4. DLL Circuit With reference to FIG. 2 again, the DLL circuit 50 (master DLL circuit) will be described. The DLL circuit 50 trims the delay code DCODE that specifies the delay time tSD in the strobe delay circuit 40 (slave delay circuit), and determines an appropriate delay code DCODE.

ディレイコードDCODEの決定に際し、本実施の形態に係るDLL回路50は、上述のクロック制御回路20によって生成された複数のクロック信号CLK1〜CLKnのうち「最大周波数のクロック信号CLK1」をリファレンスクロックREFとして利用する。つまり、DDRメモリ1の動作クロック信号SCLKにかかわらず、DLL回路50は、最大周波数のクロック信号CLK1を利用してディレイコードDCODEを決定する。そのために、DLL回路50はクロック制御回路20から、最大周波数のクロック信号CLK1をリファレンスクロックREFとして受け取る(図2、図3、図5参照)。   In determining the delay code DCODE, the DLL circuit 50 according to the present embodiment uses the “maximum frequency clock signal CLK1” among the plurality of clock signals CLK1 to CLKn generated by the clock control circuit 20 as a reference clock REF. Use. That is, regardless of the operation clock signal SCLK of the DDR memory 1, the DLL circuit 50 determines the delay code DCODE using the clock signal CLK1 having the maximum frequency. For this purpose, the DLL circuit 50 receives the clock signal CLK1 having the maximum frequency from the clock control circuit 20 as the reference clock REF (see FIGS. 2, 3, and 5).

図2に示されるように、DLL回路50は、可変遅延回路51、位相検出器52、遅延コントローラ53、及びコード生成論理回路54を有している。可変遅延回路51は、ストローブ遅延回路40に含まれる可変遅延回路41のレプリカであり、多段の遅延素子を有している。その遅延素子の段数(遅延段数)は、遅延コントローラ53から出力される制御信号に応じて変化する。可変遅延回路51は、リファレンスクロックREFを受け取り、設定された遅延段数に応じた遅延時間だけリファレンスクロックREFを遅延させる。   As shown in FIG. 2, the DLL circuit 50 includes a variable delay circuit 51, a phase detector 52, a delay controller 53, and a code generation logic circuit 54. The variable delay circuit 51 is a replica of the variable delay circuit 41 included in the strobe delay circuit 40, and has multistage delay elements. The number of stages of delay elements (the number of delay stages) varies according to the control signal output from the delay controller 53. The variable delay circuit 51 receives the reference clock REF and delays the reference clock REF by a delay time corresponding to the set number of delay stages.

位相検出器52には、遅延していないリファレンスクロックREFと、可変遅延回路51から出力される遅延後のリファレンスクロックREFが入力される。そして、位相検出器52は、それら2つのリファレンスクロックREFの位相を比較し、比較結果を遅延コントローラ53に出力する。遅延コントローラ53は、比較結果に基づいて制御信号を変更し、可変遅延回路51における遅延段数を変化させる。   The reference clock REF that is not delayed and the delayed reference clock REF that is output from the variable delay circuit 51 are input to the phase detector 52. Then, the phase detector 52 compares the phases of the two reference clocks REF and outputs the comparison result to the delay controller 53. The delay controller 53 changes the control signal based on the comparison result, and changes the number of delay stages in the variable delay circuit 51.

以上に説明された可変遅延回路51、位相検出器52、及び遅延コントローラ53によって、リファレンスクロックREFの位相が360度(1周期)シフトするような遅延段数を決定することが可能である。コード生成論理回路54は、リファレンスクロックREFの位相が360度シフトするような遅延段数を、所定の数で割る割算回路である。例えば、コード生成論理回路54は、上記遅延段数を“4”で割る。その結果、リファレンスクロックREFの位相が90度シフトするような遅延段数が算出される。言い換えれば、最大周波数のクロック信号CLK1の位相が90度シフトするような遅延段数が算出される。   The variable delay circuit 51, the phase detector 52, and the delay controller 53 described above can determine the number of delay stages such that the phase of the reference clock REF is shifted by 360 degrees (one cycle). The code generation logic circuit 54 is a division circuit that divides the number of delay stages by which the phase of the reference clock REF is shifted by 360 degrees by a predetermined number. For example, the code generation logic circuit 54 divides the number of delay stages by “4”. As a result, the number of delay stages is calculated such that the phase of the reference clock REF is shifted by 90 degrees. In other words, the number of delay stages is calculated such that the phase of the clock signal CLK1 having the maximum frequency is shifted by 90 degrees.

このようにして算出された遅延段数を示す信号が、ディレイコードDCODEである。本実施の形態に係るDLL回路50は、最大周波数のクロック信号CLK1の位相が所定の角度(例えば90度)だけシフトするようにディレイコードDCODEを決定する。上述のストローブ遅延回路40は、決定されたディレイコードDCODEに基づいて、遅延段数を設定し、ストローブ信号DQSを遅延時間tSDだけ遅延させる。すなわち、ストローブ信号DQSの遅延時間tSDは、最大周波数のクロック信号CLK1の位相が所定の角度(例えば90度)だけシフトする量に調整(トリミング)される。   A signal indicating the number of delay stages calculated in this way is a delay code DCODE. The DLL circuit 50 according to the present embodiment determines the delay code DCODE so that the phase of the clock signal CLK1 having the maximum frequency is shifted by a predetermined angle (for example, 90 degrees). The above strobe delay circuit 40 sets the number of delay stages based on the determined delay code DCODE, and delays the strobe signal DQS by the delay time tSD. That is, the delay time tSD of the strobe signal DQS is adjusted (trimmed) so that the phase of the clock signal CLK1 having the maximum frequency is shifted by a predetermined angle (for example, 90 degrees).

以上に説明されたように、本実施の形態によれば、DLL回路50に入力されるリファレンスクロックREFは、DDRメモリ1の動作クロック信号SCLKにかかわらず、最大周波数のクロック信号CLK1に固定される。言い換えれば、ディレイコードDCODEは、動作クロック信号SCLKとなり得るクロック信号CLK1〜CLKnのうち、最大周波数のクロック信号CLK1を基準として用いることにより決定される。結果として、ストローブ信号DQSの遅延時間tSDは、動作クロック信号SCLKに依存することなく、最大周波数のクロック信号CLK1の位相が所定の角度だけシフトする量に調整されることになる。DDRメモリ1の動作クロック信号SCLKが変更されたとしても、ディレイコードDCODEや遅延時間tSDは変わらないことに留意されたい。   As described above, according to the present embodiment, the reference clock REF input to the DLL circuit 50 is fixed to the clock signal CLK1 having the maximum frequency regardless of the operation clock signal SCLK of the DDR memory 1. . In other words, the delay code DCODE is determined by using the clock signal CLK1 having the maximum frequency among the clock signals CLK1 to CLKn that can be the operation clock signal SCLK as a reference. As a result, the delay time tSD of the strobe signal DQS is adjusted to an amount by which the phase of the clock signal CLK1 having the maximum frequency is shifted by a predetermined angle without depending on the operation clock signal SCLK. Note that even if the operation clock signal SCLK of the DDR memory 1 is changed, the delay code DCODE and the delay time tSD do not change.

1−5.DDRメモリの動作クロック信号の切り換え
次に、DDRメモリ1の動作クロック信号SCLKの切り換え時におけるDDRメモリコントローラ10の動作を説明する。図7は、動作クロック信号SCLKの切り換え処理の一例を示すタイミングチャートである。図7には、DDRメモリ1に対するコマンド、動作クロック信号SCLK、DDRメモリ1から出力されるストローブ信号DQSとデータ信号DQ、及びストローブ遅延回路40から出力されるストローブ信号DQS’が示されている。
1-5. Switching of Operation Clock Signal of DDR Memory Next, the operation of the DDR memory controller 10 when the operation clock signal SCLK of the DDR memory 1 is switched will be described. FIG. 7 is a timing chart showing an example of the switching process of the operation clock signal SCLK. FIG. 7 shows a command for the DDR memory 1, an operation clock signal SCLK, a strobe signal DQS and data signal DQ output from the DDR memory 1, and a strobe signal DQS ′ output from the strobe delay circuit 40.

図7で示される例において、DDRメモリ1にはリードコマンド(READ)が入力され、その後、ノーオペレーションコマンド(NOP)が入力される。リードコマンド(READ)に応答して、DDRメモリ1は、データを読み出す。このとき、バースト長は8であるとする。   In the example shown in FIG. 7, a read command (READ) is input to the DDR memory 1, and then a no operation command (NOP) is input. In response to the read command (READ), the DDR memory 1 reads data. At this time, the burst length is assumed to be 8.

最初、DDRメモリ1の動作クロック信号SCLKは、最大周波数のクロック信号CLK1である。DDRメモリ1は、最大周波数のクロック信号CLK1に基づいて、ストローブ信号DQS及びデータ信号DQを出力する。ストローブ信号DQS及びデータ信号DQは、NOPコマンドの期間に出力されている。DDRメモリコントローラ10において、ストローブ遅延回路40は、ストローブ信号DQSを所定の遅延時間tSDだけ遅延させる。その遅延時間tSDは、最大周波数のクロック信号CLK1の位相が所定の角度だけシフトする量に設定されている。   Initially, the operation clock signal SCLK of the DDR memory 1 is the clock signal CLK1 having the maximum frequency. The DDR memory 1 outputs a strobe signal DQS and a data signal DQ based on the clock signal CLK1 having the maximum frequency. The strobe signal DQS and the data signal DQ are output during the NOP command period. In the DDR memory controller 10, the strobe delay circuit 40 delays the strobe signal DQS by a predetermined delay time tSD. The delay time tSD is set to an amount by which the phase of the clock signal CLK1 having the maximum frequency is shifted by a predetermined angle.

NOPコマンドの期間中のあるタイミングにおいて、周波数選択信号SELが変更され、動作クロック信号SCLKが切り換えられる。例えば、動作クロック信号SCLKは、最大周波数のクロック信号CLK1から、それより低いクロック信号CLK2に切り換えられる(既出の図4参照)。図4及び図7に示されるように、動作クロック信号SCLKは、クロック信号CLK1から多少の間をおいてクロック信号CLK2に変わる。その後、DDRメモリ1は、クロック信号CLK2に基づいて、ストローブ信号DQS及びデータ信号DQを出力する。   At a certain timing during the period of the NOP command, the frequency selection signal SEL is changed and the operation clock signal SCLK is switched. For example, the operation clock signal SCLK is switched from the clock signal CLK1 having the maximum frequency to the lower clock signal CLK2 (see FIG. 4 described above). As shown in FIG. 4 and FIG. 7, the operation clock signal SCLK changes to the clock signal CLK2 after a while from the clock signal CLK1. Thereafter, the DDR memory 1 outputs a strobe signal DQS and a data signal DQ based on the clock signal CLK2.

ここで注意すべきことは、DLL回路50に入力されるリファレンスクロックREFは、最大周波数のクロック信号CLK1のまま変わらないことである。すなわち、DLL回路50においてディレイコードDCODEの再トリミングは実施されず、ディレイコードDCODEは変わらず一定である。従って、ストローブ遅延回路40によるストローブ信号DQSの遅延時間tSDも変わらない。遅延時間tSDは、最大周波数のクロック信号CLK1の位相が所定の角度だけシフトする量のままである。   It should be noted that the reference clock REF input to the DLL circuit 50 remains the clock signal CLK1 having the maximum frequency. In other words, the delay code DCODE is not re-trimmed in the DLL circuit 50, and the delay code DCODE remains constant. Therefore, the delay time tSD of the strobe signal DQS by the strobe delay circuit 40 does not change. The delay time tSD remains the amount by which the phase of the clock signal CLK1 with the maximum frequency is shifted by a predetermined angle.

図8は、DDRメモリ1の動作周波数が最大周波数の場合とその他の場合とでのタイミングバジェットを概念的に示している。より詳細には、図8には、DDRメモリコントローラ10に入力されるストローブ信号DQSとデータ信号DQが示されている。ストローブ信号DQSは、時刻t1においてDDRメモリコントローラ10に到達するとする。また、スキュー(Skew)を考慮すると、データ信号DQが安定する期間は、図中の“Data Valid”で示される期間となる。そのデータ信号DQの安定期間内の時刻t2に、ストローブ信号DQS’のエッジのタイミングが位置することが望ましい。その時刻t2と上記時刻t1の差が、望ましい遅延時間tSDである。但し、実際の遅延回路では、遅延時間tSDに誤差が生じる可能性がある。そのような不確定性(SU: Strobe Uncertainty)も考慮すると、図8に示されるように、セットアップバジェット(Setup Budget)とホールドバジェット(Hold Budget)が定義され得る。   FIG. 8 conceptually shows timing budgets when the operating frequency of the DDR memory 1 is the maximum frequency and in other cases. More specifically, FIG. 8 shows a strobe signal DQS and a data signal DQ input to the DDR memory controller 10. The strobe signal DQS reaches the DDR memory controller 10 at time t1. In consideration of the skew, the period during which the data signal DQ is stable is a period indicated by “Data Valid” in the drawing. It is desirable that the edge timing of the strobe signal DQS 'is located at time t2 within the stable period of the data signal DQ. A difference between the time t2 and the time t1 is a desirable delay time tSD. However, in an actual delay circuit, an error may occur in the delay time tSD. In consideration of such uncertainty (SU), a setup budget and a hold budget can be defined as shown in FIG.

上述の通り、本実施の形態によれば、ディレイコードDCODEは、最大周波数のクロック信号CLK1を利用することによりトリミングされている。つまり、遅延時間tSDは、DDRメモリ1の動作周波数が最大の場合でもセットアップ/ホールド制約が満たされるように設定されている。   As described above, according to the present embodiment, the delay code DCODE is trimmed by using the clock signal CLK1 having the maximum frequency. That is, the delay time tSD is set so that the setup / hold constraint is satisfied even when the operating frequency of the DDR memory 1 is maximum.

次に、動作周波数が最大周波数以外の場合を考える。この場合も、ディレイコードDCODE、すなわち遅延時間tSDは、最大周波数の場合と同じである。そのため、セットアップバジェットは最大周波数の場合と変わらないが、これは動作上問題ない。一方、ホールドバジェットは、図8に示されるように、最大周波数の場合よりも必然的に大きくなる。これも当然、動作上問題ない。すなわち、最大周波数の場合と少なくとも同等のタイミングバジェットが確保されるため、正常動作が保障される。   Next, consider a case where the operating frequency is other than the maximum frequency. Also in this case, the delay code DCODE, that is, the delay time tSD is the same as in the case of the maximum frequency. Therefore, the setup budget is not different from the case of the maximum frequency, but this is not a problem in operation. On the other hand, as shown in FIG. 8, the hold budget is inevitably larger than the maximum frequency. Of course, there is no problem in operation. That is, since a timing budget at least equivalent to that of the maximum frequency is ensured, normal operation is ensured.

このように、DDRメモリ1の動作クロック信号SCLKとしていかなるクロック信号が選択されても、十分なタイミングバジェットが確保されるため、DDRメモリコントローラ10は、データ信号DQを安定的に取り込むことが可能である。言い換えれば、十分なタイミングバジェットが保障されているため、動作クロック信号SCLKが変更されても、ディレイコードDCODEを再度トリミングする必要はない。   As described above, a sufficient timing budget is ensured regardless of what clock signal is selected as the operation clock signal SCLK of the DDR memory 1, so that the DDR memory controller 10 can stably capture the data signal DQ. is there. In other words, since a sufficient timing budget is guaranteed, there is no need to trim the delay code DCODE again even if the operation clock signal SCLK is changed.

以上に説明されたように、ディレイコードDCODEは、DDRメモリ1の動作クロック信号SCLKとなり得る候補のうち最大周波数のクロック信号CLK1を利用することにより決定される。その場合、DDRメモリ1の動作クロック信号SCLKが変更されても、ディレイコードDCODEを再度トリミングする必要はない。従って、DDRメモリコントローラ10におけるディレイコードDCODEの再トリミング処理の間に、DDRメモリ1を待機状態にする必要もない。周波数選択信号SELが切り換えられたとき、DDRメモリ1は、コントローラ側の再トリミング処理を待つことなく、すぐに動作することが可能である。このように、動作クロック信号SCLKの動的な変更に伴う時間的なオーバーヘッドが短縮される。結果として、スループットの低下が防止され、動作速度が全体として向上する。   As described above, the delay code DCODE is determined by using the clock signal CLK1 having the maximum frequency among candidates that can be the operation clock signal SCLK of the DDR memory 1. In this case, even if the operation clock signal SCLK of the DDR memory 1 is changed, it is not necessary to trim the delay code DCODE again. Therefore, it is not necessary to put the DDR memory 1 in the standby state during the re-trimming process of the delay code DCODE in the DDR memory controller 10. When the frequency selection signal SEL is switched, the DDR memory 1 can operate immediately without waiting for a re-trimming process on the controller side. Thus, the time overhead associated with the dynamic change of the operation clock signal SCLK is reduced. As a result, a decrease in throughput is prevented and the operation speed is improved as a whole.

尚、動作クロック信号SCLKの切り換えタイミングは、図7で示された例に限られない。動作クロック信号SCLKの切り換えタイミングは、DDRメモリ1側の仕様に応じて適宜決定されるとよい。例えば、DDRメモリ1の仕様が、セルフリフレッシュ動作中での動作クロック信号SCLKの切り換えを許可する場合を考える。その場合は、図9に示されるように、セルフリフレッシュ動作の最中に、動作クロック信号SCLKが切り換えられるとよい。図9で示される例の場合でも、DDRコントローラ10側の処理は同じである。つまり、本実施の形態に係るDDRコントローラ10は、DDRメモリ1側の仕様によらず、汎用的に適用可能である。   Note that the switching timing of the operation clock signal SCLK is not limited to the example shown in FIG. The switching timing of the operation clock signal SCLK may be appropriately determined according to the specifications on the DDR memory 1 side. For example, consider a case where the specification of the DDR memory 1 permits switching of the operation clock signal SCLK during the self-refresh operation. In that case, as shown in FIG. 9, the operation clock signal SCLK may be switched during the self-refresh operation. Even in the case of the example shown in FIG. 9, the processing on the DDR controller 10 side is the same. That is, the DDR controller 10 according to the present embodiment can be applied universally regardless of the specifications on the DDR memory 1 side.

1−6.効果
本実施の形態によれば、DDRメモリ1の動作クロック信号SCLKを動的に変更したいという要求は、クロック制御回路20によって満たされる。
1-6. Effect According to the present embodiment, a request to dynamically change the operation clock signal SCLK of the DDR memory 1 is satisfied by the clock control circuit 20.

また、ディレイコードDCODEのトリミング時に用いられるリファレンスクロックREFは、DDRメモリ1の動作クロック信号SCLKとなり得る複数のクロック信号CLK1〜CLKnのうち最大周波数のクロック信号CLK1に固定される。この場合、DDRメモリ1の動作クロック信号SCLKが変更されても、ディレイコードDCODEを再度トリミングする必要はない。従って、動作クロック信号SCLKの動的な変更に伴う時間的なオーバーヘッドが短縮される。結果として、スループットの低下が防止され、動作速度が全体として向上する。   Further, the reference clock REF used when the delay code DCODE is trimmed is fixed to the clock signal CLK1 having the maximum frequency among the plurality of clock signals CLK1 to CLKn that can be the operation clock signal SCLK of the DDR memory 1. In this case, even if the operation clock signal SCLK of the DDR memory 1 is changed, it is not necessary to trim the delay code DCODE again. Therefore, the time overhead associated with the dynamic change of the operation clock signal SCLK is reduced. As a result, a decrease in throughput is prevented and the operation speed is improved as a whole.

2.第2の実施の形態
図10は、本発明の第2の実施の形態に係るDDRメモリコントローラ及び半導体装置の構成を示すブロック図である。半導体装置は、DDRメモリ1及びDDRメモリコントローラ10を備えている。本実施の形態において、DDRメモリコントローラ10は、図2で示された構成に加えて保持回路90を有している。その他の構成は第1の実施の形態と同様であり、重複する説明は適宜省略される。
2. Second Embodiment FIG. 10 is a block diagram showing a configuration of a DDR memory controller and a semiconductor device according to a second embodiment of the present invention. The semiconductor device includes a DDR memory 1 and a DDR memory controller 10. In the present embodiment, the DDR memory controller 10 has a holding circuit 90 in addition to the configuration shown in FIG. Other configurations are the same as those in the first embodiment, and redundant description is omitted as appropriate.

保持回路90は、ディレイコードDCODEを保持する記憶回路であり、DLL回路50とストローブ遅延回路40に接続されている。DLL回路50は、決定したディレイコードDCODEを保持回路90に出力し、保持回路90は、DLL回路50によって決定されたディレイコードDCODEを保持する。そのディレイコードDCODEは、保持回路90からストローブ遅延回路40に出力される。ストローブ遅延回路40は、保持回路90によって保持されているディレイコードDCODEに基づいて、ストローブ信号DQSを遅延させる。   The holding circuit 90 is a storage circuit that holds the delay code DCODE, and is connected to the DLL circuit 50 and the strobe delay circuit 40. The DLL circuit 50 outputs the determined delay code DCODE to the holding circuit 90, and the holding circuit 90 holds the delay code DCODE determined by the DLL circuit 50. The delay code DCODE is output from the holding circuit 90 to the strobe delay circuit 40. The strobe delay circuit 40 delays the strobe signal DQS based on the delay code DCODE held by the holding circuit 90.

第1の実施の形態で説明されたように、DDRメモリ1の動作クロックSCLKが変更されたとしても、ディレイコードDCODEの再トリミングを実施する必要はない。従って、ディレイコードDCODEが一旦決定された後は、DLL回路50の動作を停止させることが可能である。これにより、消費電力が低減される。   As described in the first embodiment, even if the operation clock SCLK of the DDR memory 1 is changed, it is not necessary to perform trimming of the delay code DCODE again. Therefore, once the delay code DCODE is determined, the operation of the DLL circuit 50 can be stopped. Thereby, power consumption is reduced.

例えば、DDRメモリコントローラ10の初期化時に、イネーブル信号ENがHレベルに設定され、DLL回路50はディレイコードDCODEを決定する。ディレイコードDCODEの決定後は、イネーブル信号ENはLレベルに設定され、DLL回路50はスタンバイ状態に設定される。これにより、DLL回路50におけるリファレンスクロックREFのトグル動作がなくなり、消費電力が大幅に削減される。DLL回路50がスタンバイ状態となっても、保持回路90からストローブ遅延回路40にディレイコードDCODEが出力されるため、ストローブ遅延回路40はストローブ信号DQSを遅延させることができる。   For example, when the DDR memory controller 10 is initialized, the enable signal EN is set to H level, and the DLL circuit 50 determines the delay code DCODE. After the delay code DCODE is determined, the enable signal EN is set to the L level, and the DLL circuit 50 is set to the standby state. Thereby, the toggle operation of the reference clock REF in the DLL circuit 50 is eliminated, and the power consumption is greatly reduced. Even when the DLL circuit 50 is in the standby state, the delay code DCODE is output from the holding circuit 90 to the strobe delay circuit 40, so that the strobe delay circuit 40 can delay the strobe signal DQS.

3.その他の例
本発明は、上述のいずれの実施の形態の記載にのみ限定されるものではない。たとえば、上述の可変遅延回路41、51はともに段数が固定の多段の遅延素子を有し、その遅延素子の動作電圧(電源電圧)を、遅延コントローラ53から出力される制御信号に応じて変化する構成としてもよい。たとえば可変遅延回路51を4段の遅延素子で構成すれば、遅延素子が1段ごとに位相を90度ずつシフトすることが可能である。
3. Other Examples The present invention is not limited to the description of any of the above embodiments. For example, each of the variable delay circuits 41 and 51 described above has a multi-stage delay element having a fixed number of stages, and the operating voltage (power supply voltage) of the delay element changes according to a control signal output from the delay controller 53. It is good also as a structure. For example, if the variable delay circuit 51 is composed of four stages of delay elements, the delay elements can shift the phase by 90 degrees for each stage.

また、上述のいずれの実施の形態においてもクロック生成回路60を備える構成として示した。別途周波数の異なる複数のクロックを本発明のDDRコントローラのために準備できる場合は、単に周波数の異なる複数のクロック信号を直接クロック選択回路70に入力する構成をとってもよいことはもちろんである。   In any of the above-described embodiments, the clock generation circuit 60 is shown. In the case where a plurality of clocks having different frequencies can be separately prepared for the DDR controller of the present invention, it is needless to say that a configuration in which a plurality of clock signals having different frequencies are directly input to the clock selection circuit 70 may be adopted.

さらにまた、上述のDDRメモリ1及びDDRコントローラ10が備えられた半導体装置は、単にプリント板(PCB)にそれぞれ独立した半導体集積回路(半導体チップ)として搭載された構成でもよい。あるいは、SIP(System In Package)として、DDRメモリチップとDDRコントローラ10が搭載された半導体チップとが1つの半導体パッケージ基板に収められてもよい。DDRメモリチップやDDRコントローラ10が搭載された半導体チップは、所望の数(1つまたは複数)を搭載してよい。   Furthermore, the semiconductor device provided with the DDR memory 1 and the DDR controller 10 described above may be simply mounted as an independent semiconductor integrated circuit (semiconductor chip) on a printed board (PCB). Alternatively, as a SIP (System In Package), a DDR memory chip and a semiconductor chip on which the DDR controller 10 is mounted may be housed in one semiconductor package substrate. A semiconductor chip on which the DDR memory chip or the DDR controller 10 is mounted may be mounted in a desired number (one or more).

図1は、従来技術におけるDDRメモリコントローラの構成を示すブロック図である。FIG. 1 is a block diagram showing a configuration of a DDR memory controller in the prior art. 図2は、本発明の第1の実施の形態に係るDDRメモリコントローラ及び半導体装置の構成を示すブロック図である。FIG. 2 is a block diagram showing the configurations of the DDR memory controller and the semiconductor device according to the first embodiment of the present invention. 図3は、クロック制御回路の構成の一例を示す回路図である。FIG. 3 is a circuit diagram showing an example of the configuration of the clock control circuit. 図4は、クロック制御回路の動作の一例を示すタイミングチャートである。FIG. 4 is a timing chart showing an example of the operation of the clock control circuit. 図5は、クロック制御回路の構成の他の例を示す回路図である。FIG. 5 is a circuit diagram showing another example of the configuration of the clock control circuit. 図6は、データ信号DQとストローブ信号DQS、DQS’の関係を示すタイミングチャートである。FIG. 6 is a timing chart showing the relationship between the data signal DQ and the strobe signals DQS and DQS '. 図7は、DDRメモリの動作クロック信号の切り換え処理の一例を示すタイミングチャートである。FIG. 7 is a timing chart showing an example of the operation clock signal switching process of the DDR memory. 図8は、最高周波数の場合とその他の周波数の場合とでのタイミングバジェットの比較を示す概念図である。FIG. 8 is a conceptual diagram showing a comparison of timing budgets in the case of the highest frequency and other frequencies. 図9は、DDRメモリの動作クロック信号の切り換え処理の他の例を示すタイミングチャートである。FIG. 9 is a timing chart showing another example of the operation clock signal switching process of the DDR memory. 図10は、本発明の第2の実施の形態に係るDDRメモリコントローラ及び半導体装置の構成を示すブロック図である。FIG. 10 is a block diagram showing a configuration of a DDR memory controller and a semiconductor device according to the second embodiment of the present invention.

符号の説明Explanation of symbols

1 DDRメモリ
10 DDRメモリコントローラ
20 クロック制御回路
30 出力回路
40 ストローブ遅延回路
41 可変遅延回路
50 DLL回路
51 可変遅延回路
52 位相検出器
53 遅延コントローラ
54 コード生成論理回路
60 クロック生成回路
61〜63 分周回路
64 PLL回路
70 クロック選択回路
75 選択回路
80 同期化回路
90 保持回路
CLK 基準クロック信号
CLK1〜CLKn クロック信号
SCLK 動作クロック信号
DQ データ信号
DQS,DQS’ ストローブ信号
REF リファレンスクロック
SEL 周波数選択信号
DCODE ディレイコード
DESCRIPTION OF SYMBOLS 1 DDR memory 10 DDR memory controller 20 Clock control circuit 30 Output circuit 40 Strobe delay circuit 41 Variable delay circuit 50 DLL circuit 51 Variable delay circuit 52 Phase detector 53 Delay controller 54 Code generation logic circuit 60 Clock generation circuit 61-63 Frequency division Circuit 64 PLL circuit 70 Clock selection circuit 75 Selection circuit 80 Synchronization circuit 90 Holding circuit CLK Reference clock signal CLK1 to CLKn Clock signal SCLK Operation clock signal DQ Data signal DQS, DQS 'Strobe signal REF Reference clock SEL Frequency selection signal DCODE Delay code

Claims (14)

マスターDLLにより決定されたディレイコードに基づき、DDRメモリからのストローブ信号をスレーブディレイにて遅延させ、前記DDRメモリからのデータ信号に対するストローブ信号とするDDRメモリコントローラであって、
周波数の異なる複数のクロック信号から周波数選択信号に応じて選択されたクロック信号を前記DDRメモリに出力するクロック制御回路を備え、
前記マスターDLLには、前記複数のクロック信号のうち最大周波数のクロック信号がリファレンスクロックとして入力されることを特徴とするDDRメモリコントローラ。
A DDR memory controller that delays a strobe signal from a DDR memory by a slave delay based on a delay code determined by a master DLL, and sets a strobe signal for a data signal from the DDR memory;
A clock control circuit that outputs a clock signal selected according to a frequency selection signal from a plurality of clock signals having different frequencies to the DDR memory;
A DDR memory controller, wherein a clock signal having a maximum frequency among the plurality of clock signals is input to the master DLL as a reference clock.
請求項1に記載のDDRメモリコントローラであって、
前記クロック制御回路は、入力された基準クロック信号から前記複数のクロック信号を生成するクロック生成回路を有することを特徴とするDDRメモリコントローラ。
The DDR memory controller according to claim 1,
The DDR memory controller, wherein the clock control circuit includes a clock generation circuit that generates the plurality of clock signals from an input reference clock signal.
請求項2に記載のDDRメモリコントローラであって、
前記クロック制御回路は、前記周波数選択信号に応じたクロック信号を前記複数のクロック信号から選択し、前記選択されたクロック信号を前記DDRメモリに出力するクロック選択回路を更に有することを特徴とするDDRメモリコントローラ。
The DDR memory controller according to claim 2,
The clock control circuit further includes a clock selection circuit that selects a clock signal corresponding to the frequency selection signal from the plurality of clock signals and outputs the selected clock signal to the DDR memory. Memory controller.
請求項2に記載のDDRメモリコントローラであって、
前記クロック制御回路は、
前記基準クロック信号から前記複数のクロック信号のそれぞれを生成する複数の分周回路と、
前記周波数選択信号を前記複数のクロック信号のそれぞれに同期化させる同期化回路と、
前記同期化回路から出力される前記周波数選択信号に応じたクロック信号を前記複数のクロック信号から選択する選択回路と
を有することを特徴とするDDRメモリコントローラ。
The DDR memory controller according to claim 2,
The clock control circuit includes:
A plurality of frequency dividers for generating each of the plurality of clock signals from the reference clock signal;
A synchronization circuit for synchronizing the frequency selection signal to each of the plurality of clock signals;
A DDR memory controller, comprising: a selection circuit that selects, from the plurality of clock signals, a clock signal corresponding to the frequency selection signal output from the synchronization circuit.
請求項2乃至4のいずれかに記載のDDRメモリコントローラであって、
前記クロック制御回路は、前記基準クロック信号の周波数を逓倍するPLL回路を有し、前記複数のクロック信号は、逓倍後の前記基準クロック信号から生成されることを特徴とするDDRメモリコントローラ。
A DDR memory controller according to any one of claims 2 to 4,
The DDR memory controller, wherein the clock control circuit includes a PLL circuit that multiplies the frequency of the reference clock signal, and the plurality of clock signals are generated from the multiplied reference clock signal.
請求項1乃至5のいずれかに記載のDDRメモリコントローラであって、
前記ディレイコードは、初期化時に決定され、前記DDRメモリに対して出力されるクロック信号が変わっても変化しないことを特徴とするDDRメモリコントローラ。
A DDR memory controller according to any one of claims 1 to 5,
The DDR memory controller, wherein the delay code is determined at initialization and does not change even when a clock signal output to the DDR memory changes.
周波数の異なる複数のクロック信号のうちいずれか1つをDDRメモリの動作クロック信号として出力するクロック制御回路と、
前記DDRメモリから出力されるストローブ信号を、所定の遅延時間だけ遅延させるストローブ遅延回路と
を備え、
前記遅延時間は、前記複数のクロック信号のうち最大周波数のクロック信号の位相が所定の角度だけシフトする量に調整される
DDRメモリコントローラ。
A clock control circuit that outputs any one of a plurality of clock signals having different frequencies as an operation clock signal of the DDR memory;
A strobe delay circuit for delaying a strobe signal output from the DDR memory by a predetermined delay time;
The delay time is adjusted to an amount by which a phase of a clock signal having a maximum frequency among the plurality of clock signals is shifted by a predetermined angle. DDR memory controller.
請求項7に記載のDDRメモリコントローラであって、
前記クロック制御回路は、入力された基準クロック信号から前記複数のクロック信号を生成するクロック生成回路を有する
DDRメモリコントローラ。
The DDR memory controller according to claim 7,
The clock control circuit includes a clock generation circuit that generates the plurality of clock signals from an input reference clock signal. DDR memory controller.
請求項7又は8に記載のDDRメモリコントローラであって、
更に、前記クロック制御回路から前記最大周波数のクロック信号を受け取るDLL回路を備え、
前記DLL回路は、前記最大周波数のクロック信号の位相が前記所定の角度だけシフトするディレイコードを決定し、
前記ストローブ遅延回路は、前記ディレイコードに基づいて、前記ストローブ信号を前記遅延時間だけ遅延させる
DDRメモリコントローラ。
A DDR memory controller according to claim 7 or 8,
And a DLL circuit for receiving the clock signal having the maximum frequency from the clock control circuit.
The DLL circuit determines a delay code in which the phase of the clock signal having the maximum frequency is shifted by the predetermined angle,
The strobe delay circuit delays the strobe signal by the delay time based on the delay code. DDR memory controller.
請求項9に記載のDDRメモリコントローラであって、
更に、前記ディレイコードを保持する保持回路を有し、
前記ストローブ遅延回路は、前記保持回路によって保持された前記ディレイコードに基づいて、前記ストローブ信号を遅延させる
DDRメモリコントローラ。
A DDR memory controller according to claim 9,
Furthermore, it has a holding circuit for holding the delay code,
The strobe delay circuit delays the strobe signal based on the delay code held by the holding circuit. DDR memory controller.
請求項10に記載のDDRメモリコントローラであって、
前記DLL回路は、初期化時に前記ディレイコードを決定し、前記ディレイコードの決定後はスタンバイ状態に設定される
DDRメモリコントローラ。
A DDR memory controller according to claim 10,
The DLL circuit determines the delay code at initialization, and is set to a standby state after the delay code is determined. DDR memory controller.
請求項7乃至11のいずれかに記載のDDRメモリコントローラであって、
前記クロック制御回路は、周波数選択信号に応答して前記複数のクロック信号から前記動作クロック信号を選択し、前記選択された動作クロック信号を前記DDRメモリに出力するクロック選択回路を有する
DDRメモリコントローラ。
The DDR memory controller according to any one of claims 7 to 11,
The clock control circuit includes a clock selection circuit that selects the operation clock signal from the plurality of clock signals in response to a frequency selection signal and outputs the selected operation clock signal to the DDR memory.
請求項1乃至12のいずれかに記載のDDRメモリコントローラを備えることを特徴とする半導体集積回路。   A semiconductor integrated circuit comprising the DDR memory controller according to claim 1. DDRメモリと、
DDRメモリコントローラと
を具備し、
前記DDRメモリコントローラは、
周波数の異なる複数のクロック信号のうちいずれか1つを前記DDRメモリの動作クロック信号として出力するクロック制御回路と、
前記DDRメモリから出力されるストローブ信号を、所定の遅延時間だけ遅延させるストローブ遅延回路と
を備え、
前記遅延時間は、前記複数のクロック信号のうち最大周波数のクロック信号の位相が所定の角度だけシフトする量に調整される
半導体装置。
DDR memory,
A DDR memory controller,
The DDR memory controller
A clock control circuit that outputs any one of a plurality of clock signals having different frequencies as an operation clock signal of the DDR memory;
A strobe delay circuit for delaying a strobe signal output from the DDR memory by a predetermined delay time;
The delay time is adjusted to an amount by which a phase of a clock signal having a maximum frequency among the plurality of clock signals is shifted by a predetermined angle.
JP2007276184A 2007-10-24 2007-10-24 DDR memory controller and semiconductor device Expired - Fee Related JP5160856B2 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2007276184A JP5160856B2 (en) 2007-10-24 2007-10-24 DDR memory controller and semiconductor device
US12/256,024 US7911858B2 (en) 2007-10-24 2008-10-22 Semiconductor device with DDR memory controller
US13/035,209 US20110141834A1 (en) 2007-10-24 2011-02-25 Semiconductor device with ddr memory controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007276184A JP5160856B2 (en) 2007-10-24 2007-10-24 DDR memory controller and semiconductor device

Publications (2)

Publication Number Publication Date
JP2009104721A true JP2009104721A (en) 2009-05-14
JP5160856B2 JP5160856B2 (en) 2013-03-13

Family

ID=40582626

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007276184A Expired - Fee Related JP5160856B2 (en) 2007-10-24 2007-10-24 DDR memory controller and semiconductor device

Country Status (2)

Country Link
US (2) US7911858B2 (en)
JP (1) JP5160856B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014504064A (en) * 2010-11-22 2014-02-13 アップル インコーポレイテッド Mechanism for efficient DLL training protocol during frequency changes
JP2015036965A (en) * 2013-08-16 2015-02-23 富士通株式会社 Memory controller, memory controller control method, and information processing apparatus

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8081527B1 (en) * 2009-05-08 2011-12-20 Juniper Networks, Inc. Per-bit de-skew mechanism for a memory interface controller
US8190944B2 (en) * 2009-12-11 2012-05-29 Ati Technologies Ulc Device configured to switch a clock speed for multiple links running at different clock speeds and method for switching the clock speed
US8572322B2 (en) * 2010-03-29 2013-10-29 Freescale Semiconductor, Inc. Asynchronously scheduling memory access requests
US8560796B2 (en) * 2010-03-29 2013-10-15 Freescale Semiconductor, Inc. Scheduling memory access requests using predicted memory timing and state information
CN102347081B (en) * 2010-07-30 2013-11-06 联芯科技有限公司 Method for calibrating phase of DQS (bidirectional data strobe) delay for DDR (double data rate) controller and apparatus thereof
US8520428B2 (en) * 2011-03-25 2013-08-27 Intel Corporation Combined data level-shifter and DE-skewer
JP2012209811A (en) * 2011-03-30 2012-10-25 Renesas Electronics Corp Semiconductor device
WO2012158392A2 (en) * 2011-05-17 2012-11-22 Rambus Inc. Memory system using asymmetric source-synchronous clocking
JP5568057B2 (en) * 2011-05-30 2014-08-06 株式会社東芝 Memory access circuit and memory system
CN102637155B (en) * 2012-01-10 2014-11-05 江苏中科梦兰电子科技有限公司 Method for configuring data strobe signal delays in DDR3 (double data rate) through training and correcting
US9542512B1 (en) * 2012-01-17 2017-01-10 Cadence Design Systems, Inc. System and method for automatic correction of flight time skew of timing signals in simulated source synchronous interface operation
CN102693197B (en) * 2012-05-07 2015-01-28 江苏中科梦兰电子科技有限公司 Method for calculating minimum unit of read strobe enable fine tuning register of memory controller
US9047237B2 (en) * 2012-08-03 2015-06-02 Cypress Semiconductor Corporation Power savings apparatus and method for memory device using delay locked loop
US9213359B2 (en) * 2012-12-24 2015-12-15 Arm Limited Interface for controlling the phase alignment of clock signals for a recipient device
US9520864B2 (en) 2014-06-06 2016-12-13 Qualcomm Incorporated Delay structure for a memory interface
US10241942B2 (en) 2016-06-28 2019-03-26 Mediatek Inc. Method and apparatus for memory access
US10254782B2 (en) * 2016-08-30 2019-04-09 Micron Technology, Inc. Apparatuses for reducing clock path power consumption in low power dynamic random access memory
US10347307B2 (en) * 2017-06-29 2019-07-09 SK Hynix Inc. Skew control circuit and interface circuit including the same
KR102523101B1 (en) * 2018-01-10 2023-04-18 삼성전자주식회사 Read margin control circuit determining data valid window, memory controller including the same, and electronic device
US10418125B1 (en) * 2018-07-19 2019-09-17 Marvell Semiconductor Write and read common leveling for 4-bit wide DRAMs
KR102570959B1 (en) * 2018-09-18 2023-08-28 에스케이하이닉스 주식회사 Integrated circuit
KR20210069514A (en) * 2019-12-03 2021-06-11 에스케이하이닉스 주식회사 Memory system and method of training the memory system
US10998020B1 (en) * 2020-05-05 2021-05-04 Realtek Semiconductor Corporation Memory system and memory access interface device thereof

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004206480A (en) * 2002-12-25 2004-07-22 Seiko Epson Corp Semiconductor integrated circuit
JP2005078547A (en) * 2003-09-03 2005-03-24 Renesas Technology Corp Semiconductor integrated circuit
JP2006013990A (en) * 2004-06-28 2006-01-12 Ricoh Co Ltd Delay controller
JP2006012363A (en) * 2004-06-29 2006-01-12 Ricoh Co Ltd Strobe signal delay device and semiconductor device equipped with the same
JP2007109203A (en) * 2005-09-13 2007-04-26 Renesas Technology Corp Semiconductor integrated circuit device
JP2008071249A (en) * 2006-09-15 2008-03-27 Ricoh Co Ltd Memory control device

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002025296A2 (en) * 2000-09-22 2002-03-28 Don Mccord Method and system for wafer and device-level testing of an integrated circuit
US6665230B1 (en) * 2001-09-14 2003-12-16 Denali Software, Inc. Programmable delay compensation circuit
JP2004220643A (en) 2003-01-09 2004-08-05 Ricoh Co Ltd Semiconductor memory controller
US7746135B2 (en) * 2007-09-29 2010-06-29 Intel Corporation Wake-up circuit
US7795935B2 (en) * 2007-09-29 2010-09-14 Intel Corporation Bias signal delivery

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004206480A (en) * 2002-12-25 2004-07-22 Seiko Epson Corp Semiconductor integrated circuit
JP2005078547A (en) * 2003-09-03 2005-03-24 Renesas Technology Corp Semiconductor integrated circuit
JP2006013990A (en) * 2004-06-28 2006-01-12 Ricoh Co Ltd Delay controller
JP2006012363A (en) * 2004-06-29 2006-01-12 Ricoh Co Ltd Strobe signal delay device and semiconductor device equipped with the same
JP2007109203A (en) * 2005-09-13 2007-04-26 Renesas Technology Corp Semiconductor integrated circuit device
JP2008071249A (en) * 2006-09-15 2008-03-27 Ricoh Co Ltd Memory control device

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014504064A (en) * 2010-11-22 2014-02-13 アップル インコーポレイテッド Mechanism for efficient DLL training protocol during frequency changes
JP2015036965A (en) * 2013-08-16 2015-02-23 富士通株式会社 Memory controller, memory controller control method, and information processing apparatus

Also Published As

Publication number Publication date
US20110141834A1 (en) 2011-06-16
JP5160856B2 (en) 2013-03-13
US20090109770A1 (en) 2009-04-30
US7911858B2 (en) 2011-03-22

Similar Documents

Publication Publication Date Title
JP5160856B2 (en) DDR memory controller and semiconductor device
US6836166B2 (en) Method and system for delay control in synchronization circuits
US7327173B2 (en) Delay-locked loop having a pre-shift phase detector
TWI617137B (en) Semiconductor device
JP5537568B2 (en) Signal receiving circuit, memory controller, processor, computer, and phase control method
KR100832007B1 (en) Semiconductor memory device and operation method thereof
US7365583B2 (en) Delay locked loop for high speed semiconductor memory device
WO2019160587A1 (en) Improved timing circuit for command path in a memory device
US7944772B2 (en) Semiconductor memory device and method for generating output enable signal
KR20190032638A (en) Apparatus and method for adjusting delay of command signal path
US7499370B2 (en) Synchronous semiconductor memory device
US6982924B2 (en) Data output control circuit
JP2002124873A (en) Semiconductor device
JPH11353878A (en) Semiconductor device
KR100695525B1 (en) Delay locked loop in semiconductor memory device
US8144530B2 (en) Semiconductor memory device and method for generating output enable signal
WO2019156715A1 (en) Techniques for command synchronization in a memory device
US7994833B2 (en) Delay locked loop for high speed semiconductor memory device
US6977848B2 (en) Data output control circuit
JP4944373B2 (en) Delay locked loop circuit
US8294499B2 (en) Clock signal generation circuit for reducuing current consumption, and semiconductor device having the same
KR20140090300A (en) Latency control circuit and semiconductor memory device including the same
KR20240133428A (en) Control circuit and semiconductor memory device
CN118522337A (en) Control circuit and semiconductor memory device
JP2004078657A (en) Memory system &amp; memory module

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100517

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120327

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120409

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120509

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: 20121121

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121213

R150 Certificate of patent or registration of utility model

Ref document number: 5160856

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151221

Year of fee payment: 3

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees