KR20200112040A - 캘리브레이션 회로를 포함하는 반도체 장치 및 그의 트레이닝 방법 - Google Patents

캘리브레이션 회로를 포함하는 반도체 장치 및 그의 트레이닝 방법 Download PDF

Info

Publication number
KR20200112040A
KR20200112040A KR1020190031885A KR20190031885A KR20200112040A KR 20200112040 A KR20200112040 A KR 20200112040A KR 1020190031885 A KR1020190031885 A KR 1020190031885A KR 20190031885 A KR20190031885 A KR 20190031885A KR 20200112040 A KR20200112040 A KR 20200112040A
Authority
KR
South Korea
Prior art keywords
signal
nth
output
code
activated
Prior art date
Application number
KR1020190031885A
Other languages
English (en)
Inventor
김영훈
Original Assignee
에스케이하이닉스 주식회사
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 에스케이하이닉스 주식회사 filed Critical 에스케이하이닉스 주식회사
Priority to KR1020190031885A priority Critical patent/KR20200112040A/ko
Priority to US16/670,719 priority patent/US11024350B2/en
Priority to CN201911292000.2A priority patent/CN111724835A/zh
Publication of KR20200112040A publication Critical patent/KR20200112040A/ko

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 
    • G11C7/222Clock generating, synchronizing or distributing circuits within memory device
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/4076Timing circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/028Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/50Marginal testing, e.g. race, voltage or current testing
    • G11C29/50012Marginal testing, e.g. race, voltage or current testing of timing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • G11C7/1057Data output buffers, e.g. comprising level conversion circuits, circuits for adapting load
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • G11C7/1084Data input buffers, e.g. comprising level conversion circuits, circuits for adapting load
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 
    • G11C7/225Clock input buffers
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M9/00Parallel/series conversion or vice versa
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/22Control and timing of internal memory operations
    • G11C2207/2254Calibration
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/023Detection or location of defective auxiliary circuits, e.g. defective refresh counters in clock generator or timing circuitry

Landscapes

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

Abstract

반도체 장치는, 트레이닝 모드 시, 제 1 내지 제 N 출력 클럭에 대응되는 펄스를 데이터 스트로브 패드로 순차적으로 출력하는 송신 회로; 상기 데이터 스트로브 패드로 입력되는 상기 펄스의 라이징 에지와 폴링 에지에 각각 활성화되는 라이징 신호 및 폴링 신호를 생성하는 수신 회로; 구간 신호에 따라, 상기 라이징 신호 및 상기 폴링 신호의 위상차에 대응되는 검출 코드를 제 1 내지 제 N 레지스터에 순차적으로 저장하여 제 1 내지 제 N 저장값의 평균값을 산출하고, 상기 평균값과 상기 제 1 내지 제 N 저장값의 편차를 상기 제 1 내지 제 N 레지스터에 재저장하는 캘리브레이션 회로; 및 상기 제 1 내지 제 N 레지스터의 재저장값을 이용하여 상기 제 1 내지 제 N 출력 클럭의 듀티비를 보정하는 클럭 생성 회로를 포함할 수 있다.

Description

캘리브레이션 회로를 포함하는 반도체 장치 및 그의 트레이닝 방법 {SEMICONDUCTOR MEMORY DEVICE HAVING CALIBRATION CIRCUIT AND TRAINING METHOD THEREOF}
본 발명은 반도체 설계 기술에 관한 것으로, 특히, 구체적으로는 스트로브 신호에 따라 데이터를 입출력하는 반도체 장치의 캘리브레이션 회로에 관한 것이다.
일반적으로 반도체 장치는 데이터 출력 동작을 위해 데이터 출력 버퍼를 구비한다. 그리고 데이터 출력 버퍼는 글로벌 입출력 라인을 통해 전달되는 데이터를 스트로브 신호에 동기시켜 출력하는 기능을 수행한다. 스트로브 신호는 출력 클럭의 라이징 에지에 따라 활성화되는 라이징 클럭 또는 출력 클럭의 폴링 에지에 따라 활성화되는 폴링 클럭을 이용하여 생성될 수 있다. 스트로브 신호를 생성하기 위해 스트로브 신호 생성 회로가 구비될 수 있다.
일반적으로 지연 고정 라인(Delay Locked Loop: DLL) 회로는 반도체 장치의 내부에 존재하는 지연 소자들의 지연값을 보상하기 위해 외부 클럭보다 소정 시간 앞선 위상을 갖는 출력 클럭을 생성하고, 이를 라이징 클럭과 폴링 클럭으로 분할한 후, 각각의 듀티비를 50%로 조정하는 동작을 수행한다. 따라서 이상적으로는 스트로브 신호 생성 회로에 전달되는 라이징 클럭과 폴링 클럭 각각의 듀티비에 변함이 없어야 하나, 공정, 전압, 온도(PVT) 변동, 클럭의 전송 라인에 존재하는 저항 및 노이즈 등의 영향으로 실제로는 각 듀티비가 변화하게 된다. 이처럼 라이징 클럭과 폴링 클럭 각각의 듀티비가 50%이 아닌 상황에서 스트로브 신호를 생성하게 되면, 스트로브 신호의 활성화 구간이 변화하게 되어 데이터 출력 버퍼의 동작을 정확히 제어할 수 없게 되며, 심할 경우 데이터 출력 동작이 수행되지 않는 오동작이 발생할 수 있다.
본 발명의 실시예들은, 정확한 듀티비를 가지는 스트로브 신호를 생성할 수 있는 캘리브레이션 회로를 포함하는 반도체 장치를 제공하는 것이다.
본 발명의 일 실시예에 따른 반도체 장치는, 트레이닝 모드 시, 제 1 내지 제 N 출력 클럭에 대응되는 펄스를 데이터 스트로브 패드로 순차적으로 출력하는 송신 회로; 상기 데이터 스트로브 패드로 입력되는 상기 펄스의 라이징 에지와 폴링 에지에 각각 활성화되는 라이징 신호 및 폴링 신호를 생성하는 수신 회로; 구간 신호에 따라, 상기 라이징 신호 및 상기 폴링 신호의 위상차에 대응되는 검출 코드를 제 1 내지 제 N 레지스터에 순차적으로 저장하여 제 1 내지 제 N 저장값의 평균값을 산출하고, 상기 평균값과 상기 제 1 내지 제 N 저장값의 편차를 상기 제 1 내지 제 N 레지스터에 재저장하는 캘리브레이션 회로; 및 상기 제 1 내지 제 N 레지스터의 재저장값을 이용하여 상기 제 1 내지 제 N 출력 클럭의 듀티비를 보정하는 클럭 생성 회로를 포함할 수 있다.
본 발명의 일 실시예에 따른 캘리브레이션 회로는, 트레이닝 모드 시, 제 1 내지 제 N 출력 클럭에 대응되는 펄스를 데이터 스트로브 패드로 순차적으로 출력하는 단계; 상기 데이터 스트로브 패드로 입력되는 상기 펄스의 라이징 에지와 폴링 에지에 각각 활성화되는 라이징 신호 및 폴링 신호를 생성하는 단계; 상기 라이징 신호 및 상기 폴링 신호의 위상차에 대응되는 검출 코드를 제 1 내지 제 N 레지스터에 순차적으로 저장하고, 제 1 내지 제 N 저장값을 누적 합산하여 합산 신호를 생성하는 단계; 상기 합산 신호를 토대로 제 1 내지 제 N 저장값의 평균값을 산출하고, 상기 평균값과 상기 제 1 내지 제 N 저장값의 편차를 상기 제 1 내지 제 N 레지스터에 재저장하는 단계; 및 상기 제 1 내지 제 N 레지스터의 재저장값을 이용하여 상기 제 1 내지 제 N 출력 클럭의 듀티비를 보정하는 단계를 포함할 수 있다.
본 발명의 일 실시예에 따른 반도체 장치의 트레이닝 방법은, 라이징 신호 및 상기 폴링 신호의 위상차를 검출하여 검출 코드를 생성하는 검출부; 구간 신호에 따라 상기 검출 코드 또는 누적 편차 코드를 선택하고, 제 1 내지 제 N 레지스터 제어 신호에 따라 선택된 코드를 제 1 내지 제 N 레지스터에 저장하는 저장부; 상기 제 1 내지 제 N 레지스터 제어 신호 및 상기 구간 신호에 따라, 상기 제 1 내지 제 N 레지스터에 저장된 제 1 내지 제 N 저장값을 누적 합산하여 합산 신호를 출력하거나, 편차 코드를 누적 합산하여 상기 누적 편차 코드를 출력하는 누적 합산부; 상기 합산 신호를 토대로 평균값을 산출하는 평균 계산부; 및 선택 신호에 따라 상기 제 1 내지 제 N-1 저장값 중 하나를 선택하고, 상기 평균값과 상기 선택된 저장값의 차이를 상기 편차 코드로 출력하는 편차 계산부를 포함할 수 있다.
제안된 실시예에 따른 반도체 장치는, 데이터 스트로브 패드를 통해 최종적으로 출력되는 스트로브 신호의 1-비트 펄스폭을 일정하게 유지할 수 있다.
또한, 제안된 실시예에 따른 반도체 장치는, 정확한 듀티비를 가지는 스트로브 신호를 제공함으로써 데이터 출력 동작의 신뢰성을 향상시킬 수 있다.
도 1 은 본 발명의 실시예에 따른 반도체 장치의 블록도 이다.
도 2a 및 도 2b 는 도 1 의 송신 회로의 동작을 설명하기 위한 파형도 이다.
도 3 은 도 1 의 패턴 생성부의 회로도 이다.
도 4 는 도 3 의 패턴 생성부의 동작을 설명하기 위한 파형도 이다.
도 5 는 도 1 의 캘리브레이션 회로 및 캘리브레이션 제어 회로의 상세 블록도 이다.
도 6 은 도 5 의 트리밍 제어기의 블록도 이다.
도 7 은 도 6 의 주기 생성기의 회로도 이다.
도 8 은 도 6 의 코드 변환기의 회로도 이다.
도 9 는 도 6 의 초기 구간 설정부의 회로도 이다.
도 10 은 도 6 의 코드 출력기의 회로도 이다.
도 11 은 도 5 의 저장부 및 평균-편차 계산부의 회로도 이다.
도 12 는 도 5 의 캘리브레이션 제어 회로의 상세 블록도 이다.
도 13 은 도 12 의 구간 정의부의 회로도 이다.
도 14 는 도 13 의 구간 정의부의 동작을 설명하기 위한 파형도 이다.
도 15 는 도 12 의 제어 신호 생성부의 상세 회로도 이다.
도 16a 및 도 16b 는 도 5 의 캘리브레이션 회로 및 캘리브레이션 제어 회로의 동작을 설명하기 위한 파형도 이다.
도 17 은 본 발명의 실시예에 따른 반도체 장치의 트레이닝 동작을 설명하기 위한 순서도 이다.
도 18 은 도 17 의 트레이닝 동작에 따른 출력 클럭들의 듀티 보정을 보여주는 도면 이다.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있도록 상세히 설명하기 위하여, 본 발명의 가장 바람직한 실시예들을 첨부 도면을 참조하여 설명하고자 한다.
도 1 은 본 발명의 실시예에 따른 반도체 장치(100)의 블록도 이다.
도 1 을 참조하면, 반도체 장치(100)는, 클럭 생성 회로(110), 송신 회로(120), 수신 회로(130) 및 캘리브레이션 회로(140)를 포함할 수 있다.
클럭 생성 회로(110)는, 클럭 패드(CLK_P)를 통해 외부에서 입력되는 클럭(CLK)을 토대로 출력 클럭들(R1DOCLK, F1DOCLK, R2DOCLK, F2DOCLK)을 생성할 수 있다. 출력 클럭들(R1DOCLK, F1DOCLK, R2DOCLK, F2DOCLK)은, 소정의 위상차로 활성화되는 다중 위상 클럭일 수 있다. 이하에서는, 출력 클럭들(R1DOCLK, F1DOCLK, R2DOCLK, F2DOCLK)이 4-phase 클럭인 경우를 예로 들어 설명하기로 한다. 이 경우, 출력 클럭들(R1DOCLK, F1DOCLK, R2DOCLK, F2DOCLK)은 4-phase (즉, 90도)의 위상차로 활성화되는 제 1 내지 제 4 출력 클럭(R1DOCLK, F1DOCLK, R2DOCLK, F2DOCLK)을 포함할 수 있다.
보다 자세하게, 클럭 생성 회로(110)는, 클럭 버퍼(112) 및 클럭 생성부(114)를 포함할 수 있다.
클럭 버퍼(112)는, 클럭 패드(CLK_P)를 통해 외부에서 입력되는 클럭(CLK)을 버퍼링하여 내부 클럭(CLKI)을 출력할 수 있다. 클럭 생성부(114)는, 내부 클럭(CLKI)을 토대로 4-phase (즉, 90도)의 위상차로 활성화되는 제 1 내지 제 4 출력 클럭(R1DOCLK, F1DOCLK, R2DOCLK, F2DOCLK)을 생성할 수 있다. 본 발명의 실시예에 따른 클럭 생성 회로(110)의 클럭 생성부(114)는, 제 1 내지 제 3 캘리브레이션 코드(R1_F1<0:3>, F1_R2<0:3>, R2_F2<0:3>)에 따라 제 1 내지 제 4 출력 클럭(R1DOCLK, F1DOCLK, R2DOCLK, F2DOCLK)의 듀티비를 각각 보정할 수 있다.
송신 회로(120)는, 노멀 동작(즉, 리드 동작) 시, 제 1 내지 제 4 출력 클럭(R1DOCLK, F1DOCLK, R2DOCLK, F2DOCLK)에 따라 제 1 내지 제 4 입력 데이터(BL0~BL3)를 각각 래치하여 일정 주기로 토글링하는 스트로브 신호(DQS)를 생성할 수 있다. 송신 회로(120)는, 스트로브 신호(DQS)를 데이터 스트로브 패드(DQS_P)로 출력할 수 있다. 제 1 내지 제 4 입력 데이터(BL0~BL3) 각각은, 로직 하이 레벨 또는 로직 로우 레벨을 유지하는 신호일 수 있다.
도 2a 를 참조하면, 리드 동작 시 송신 회로(120)의 동작이 도시되어 있다.
도 2a 에 도시된 바와 같이, 버스트 랭쓰(Burst length: BL)가 16 인 경우, 로직 하이 레벨의 제 1 및 제 3 입력 데이터(BL0, BL2)와, 로직 로우 레벨의 제 2 및 제 4 입력 데이터(BL1, BL3)가 제공될 수 있다. 송신 회로(120)는, 제 1 내지 제 4 출력 클럭(R1DOCLK, F1DOCLK, R2DOCLK, F2DOCLK)에 따라 제 1 내지 제 4 입력 데이터(BL0~BL3)를 각각 4 번씩 래치하여 H-L-H-L-H-L-H-L-H-L-H-L-H-L-H-L의 순서로 16 번 토글링하는 스트로브 신호(DQS)를 생성할 수 있다. 데이터 출력 버퍼(미도시)는, 스트로브 신호(DQS)의 라이징 에지 및 폴링 에지에 따라 16 개의 출력 데이터(D0~D15)를 데이터 입출력 (DQ) 패드를 통해 순차적으로 외부로 출력할 수 있다. 이 때, 출력 데이터(D0, D4, D8, D12)는 제 1 출력 클럭(R1DOCLK)에 동기되어 출력되고, 출력 데이터(D1, D5, D9, D13)는 제 2 출력 클럭(F1DOCLK)에 동기되어 출력되고, 출력 데이터(D2, D6, D10, D14)는 제 3 출력 클럭(R2DOCLK)에 동기되어 출력되고, 출력 데이터(D3, D7, D11, D15)는 제 4 출력 클럭(F1DOCLK)에 동기되어 출력됨을 알 수 있다.
다시 도 1 을 참조하면, 송신 회로(120)는, 트레이닝 모드 시, 제 1 내지 제 4 출력 클럭(R1DOCLK, F1DOCLK, R2DOCLK, F2DOCLK)에 대응되는 펄스를 데이터 스트로브 패드(DQS_P)로 순차적으로 출력할 수 있다. 송신 회로(120)는, 트레이닝 모드 시, 제 1 및 제 2 테스트 신호(R1DOA, R2DOA)에 따라 제 1 내지 제 4 패턴 데이터(BL0_CALP~BL3_CALP)를 생성하고, 제 1 내지 제 4 출력 클럭(R1DOCLK, F1DOCLK, R2DOCLK, F2DOCLK)에 따라 제 1 내지 제 4 패턴 데이터(BL0_CALP~BL3_CALP)를 각각 래치하여 소정 패턴으로 활성화되는 트레이닝 신호(TRS)를 생성할 수 있다. 송신 회로(120)는, 트레이닝 신호(TRS)를 데이터 스트로브 패드(DQS_P)로 출력할 수 있다. 제 1 내지 제 4 패턴 데이터(BL0_CALP~BL3_CALP) 각각은, 제 1 및 제 2 테스트 신호(R1DOA, R2DOA)의 소정 주기 동안, 순차적으로 로직 하이 레벨을 유지하는 신호일 수 있다. 제 1 내지 제 4 패턴 데이터(BL0_CALP~BL3_CALP) 각각은, 서로 겹치지 않는 활성화 구간을 가질 수 있다.
도 2b 를 참조하면, 트레이닝 모드 시 송신 회로(120)의 동작이 도시되어 있다.
도 2b 에 도시된 바와 같이, 트레이닝 모드 시 제 1 및 제 2 테스트 신호(R1DOA, R2DOA)가 동일 주기로 소정 위상차로 입력된다. 제 1 및 제 2 테스트 신호(R1DOA, R2DOA)는, 제 1 내지 제 4 출력 클럭(R1DOCLK, F1DOCLK, R2DOCLK, F2DOCLK)의 2 배의 주기를 가질 수 있다. 송신 회로(120)는, 제 1 테스트 신호(R1DOA)의 소정 주기 동안 활성화되는 제 1 패턴 데이터(BL0_CALP)를 생성할 수 있다. 송신 회로(120)는, 제 1 패턴 데이터(BL0_CALP)가 비활성화된 후 제 1 테스트 신호(R1DOA)의 소정 주기 동안 활성화되는 제 2 패턴 데이터(BL1_CALP)를 생성할 수 있다. 송신 회로(120)는, 제 2 패턴 데이터(BL1_CALP)가 비활성화된 후 제 2 테스트 신호(R2DOA)의 소정 주기 동안 활성화되는 제 3 패턴 데이터(BL2_CALP)를 생성할 수 있다. 송신 회로(120)는, 제 3 패턴 데이터(BL2_CALP)가 비활성화된 후 제 2 테스트 신호(R2DOA)의 소정 주기 동안 활성화되는 제 4 패턴 데이터(BL3_CALP)를 생성할 수 있다.
송신 회로(120)는, 제 1 내지 제 4 출력 클럭(R1DOCLK, F1DOCLK, R2DOCLK, F2DOCLK)에 따라 제 1 내지 제 4 패턴 데이터(BL0_CALP~BL3_CALP)를 각각 래치하여 소정 패턴으로 활성화되는 트레이닝 신호(TRS)를 생성할 수 있다. 즉, 트레이닝 신호(TRS)는, 제 1 패턴 데이터(BL0_CALP)의 활성화 구간 동안 H-L-L-L의 펄스로, 제 2 패턴 데이터(BL1_CALP)의 활성화 구간 동안 L-H-L-L의 펄스로, 제 3 패턴 데이터(BL2_CALP)의 활성화 구간 동안 L-L-H-L의 펄스로, 제 4 패턴 데이터(BL3_CALP)의 활성화 구간 동안 L-L-L-H의 펄스로 출력될 수 있다.
다시 도 1 을 참조하면, 송신 회로(120)는, 패턴 생성부(122), 직렬화부(124) 및 출력 드라이버(126)를 포함할 수 있다.
패턴 생성부(122)는, 트레이닝 모드 시 활성화되는 트레이닝 모드 신호(CAL_EN)에 따라 인에이블되고, 트레이닝 동작이 종료됨을 알리는 트레이닝 종료 신호(CAL_OFF)에 따라 디스에이블될 수 있다. 패턴 생성부(122)는, 제 1 및 제 2 테스트 신호(R1DOA, R2DOA)를 이용하여 제 1 내지 제 4 패턴 데이터(BL0_CALP~BL3_CALP)를 생성할 수 있다. 예를 들어, 패턴 생성부(122)는, 제 1 테스트 신호(R1DOA)의 소정 주기 동안 순차적으로 활성화되는 제 1 및 제 2 패턴 데이터(BL0_CALP, BL1_CALP)를 생성한 후, 제 2 테스트 신호(R2DOA)의 소정 주기 동안 순차적으로 활성화되는 제 3 및 제 4 패턴 데이터(BL2_CALP, BL3_CALP)를 생성할 수 있다. 제 1 내지 제 4 패턴 데이터(BL0_CALP~BL3_CALP) 각각은, 서로 겹치지 않는 활성화 구간을 가질 수 있다.
직렬화부(124)는, 제 1 내지 제 4 출력 클럭(R1DOCLK, F1DOCLK, R2DOCLK, F2DOCLK)에 따라 제 1 내지 제 4 입력 데이터(BL0~BL3) 또는 제 1 내지 제 4 패턴 데이터(BL0_CALP~BL3_CALP)를 각각 래치하고, 래치된 신호들을 직렬화하여 풀업 제어 신호(PU) 및 풀다운 제어 신호(PD)를 생성할 수 있다. 직렬화부(124)는, 리드 동작 시, 제 1 내지 제 4 출력 클럭(R1DOCLK, F1DOCLK, R2DOCLK, F2DOCLK)에 따라 제 1 내지 제 4 입력 데이터(BL0~BL3)를 각각 래치하고, 래치된 신호들을 직렬화하여 풀업 제어 신호(PU) 및 풀다운 제어 신호(PD)를 생성할 수 있다. 반면, 직렬화부(124)는, 트레이닝 모드 시, 제 1 내지 제 4 출력 클럭(R1DOCLK, F1DOCLK, R2DOCLK, F2DOCLK)에 따라 제 1 내지 제 4 패턴 데이터(BL0_CALP~BL3_CALP)를 각각 래치하고, 래치된 신호들을 직렬화하여 풀업 제어 신호(PU) 및 풀다운 제어 신호(PD)를 생성할 수 있다.
출력 드라이버(126)는, 풀업 제어 신호(PU) 및 풀다운 제어 신호(PD)에 따라 데이터 스트로브 패드(DQS_P)를 구동하여 스트로브 신호(DQS) 또는 트레이닝 신호(TRS)를 출력할 수 있다.
수신 회로(130)는, 노멀 동작(즉, 라이트 동작) 시 데이터 스트로브 패드(DQS_P)로 입력되는 스트로브 신호(DQS), 또는 트레이닝 모드 시 데이터 스트로브 패드(DQS_P)로 입력되는 트레이닝 신호(TRS)의 라이징 에지와 폴링 에지에 각각 활성화되는 라이징 신호(IDQS) 및 폴링 신호(QDQS)를 생성할 수 있다. 이 때, 수신 회로(130)는, 라이징 신호(IDQS) 및 폴링 신호(QDQS)가 스트로브 신호(DQS)의 2 배의 주기를 가지도록 생성할 수 있다. 일반적으로, 수신 회로(130)는, 라이트 동작 시에만 활성화되지만, 본 발명의 실시예에 따른 수신 회로(130)는, 트레이닝 모드 시에도 인에이블 되어, 데이터 스트로브 패드(DQS_P)로 입력되는 트레이닝 신호(TRS)를 입력받을 수 있다.
보다 자세하게, 수신 회로(130)는, 입력 버퍼(132)와 분주기(134)를 포함할 수 있다.
입력 버퍼(132)는, 라이트 동작 시 데이터 스트로브 패드(DQS_P)로 입력되는 스트로브 신호(DQS) 또는 트레이닝 모드 시 데이터 스트로브 패드(DQS_P)로 입력되는 트레이닝 신호(TRS)를 버퍼링하여 내부 스트로브 신호(DQSI)를 출력할 수 있다. 입력 버퍼(132)는, 트레이닝 모드 신호(CAL_EN)에 따라 인에이블될 수 있다.
분주기(134)는, 내부 스트로브 신호(DQSI)의 주파수를 소정 수(예를 들어, 2)로 분주하고, 분주된 신호의 라이징 에지와 폴링 에지에 각각 활성화되는 라이징 신호(IDQS) 및 폴링 신호(QDQS)를 생성할 수 있다. 참고로, 분주기(134)는, 내부 스트로브 신호(DQSI)의 주파수를 2 분주하여, 내부 스트로브 신호(DQSI)의 라이징 에지에 활성화되는 제 1 라이징 신호(IDQS)를 생성하고, 제 1 라이징 신호(IDQS)를 반전하여 제 2 라이징 신호(IDQSB)를 생성하고, 내부 스트로브 신호(DQSI)의 폴링 에지에 활성화되는 제 1 폴링 신호(QDQS)를 생성하고, 제 1 폴링 신호(QDQS)를 반전하여 제 2 폴링 신호(QDQSB)를 생성할 수 있다. 본 발명의 실시예에서는, 트레이닝 동작 시, 분주기(134)가 제 1 라이징 신호(IDQS) 및 제 1 폴링 신호(QDQS)를 이용하는 경우를 예로 들어 설명한다.
캘리브레이션 회로(140)는, 구간 신호(SAR_EN)에 따라, 라이징 신호(IDQS) 및 폴링 신호(QDQS)의 위상차에 대응되는 검출 코드(미도시)를 제 1 내지 제 4 레지스터(미도시)에 순차적으로 저장할 수 있다. 캘리브레이션 회로(140)는, 구간 신호(SAR_EN)에 따라, 제 1 내지 제 4 레지스터의 제 1 내지 제 4 저장값의 평균값을 산출하고, 평균값과 제 1 내지 제 4 저장값의 편차를 제 1 내지 제 4 레지스터에 각각 재저장할 수 있다. 제 1 내지 제 4 레지스터에 재저장된 제 1 내지 제 4 저장값은 제 1 내지 제 3 캘리브레이션 코드(R1_F1<0:3>, F1_R2<0:3>, R2_F2<0:3>)로 출력될 수 있다. 캘리브레이션 회로(140)는, 트레이닝 모드 신호(CAL_EN)에 따라 활성화될 수 있다.
한편, 반도체 장치(100)는, 캘리브레이션 회로(140)를 제어하기 위한 캘리브레이션 제어 회로(150)를 더 포함할 수 있다. 캘리브레이션 제어 회로(150)는, 트레이닝 모드 신호(CAL_EN)에 따라 활성화되며, 라이징 신호(IDQS) 및 폴링 신호(QDQS) 중 적어도 하나의 신호에 따라 소정 주기로 활성화되는 시드 신호(SEED)에 따라 구간 신호(SAR_EN) 및 순차적으로 활성화되는 제 1 내지 제 4 레지스터 제어 신호(REG0P~REG3P)를 생성할 수 있다. 예를 들어, 캘리브레이션 제어 회로(150)는, 트레이닝 모드 신호(CAL_EN)에 따라 활성화되고, 시드 신호(SEED)가 소정 횟수의 활성화된 후 비활성화되는 구간 신호(SAR_EN)를 생성할 수 있다. 또한, 캘리브레이션 제어 회로(150)는, 캘리브레이션 회로(140)가 제 1 내지 제 4 저장값의 편차를 제 1 내지 제 4 레지스터에 재저장한 후 활성화되는 트레이닝 종료 신호(CAL_OFF)를 생성할 수 있다.
캘리브레이션 회로(140)는, 구간 신호(SAR_EN)가 활성화되면, 제 1 내지 제 4 레지스터 제어 신호(REG0P~REG3P)에 따라 검출 코드를 제 1 내지 제 4 레지스터에 순차적으로 저장하고, 제 1 내지 제 4 저장값을 누적 합산하여 합산 신호(미도시)를 생성할 수 있다. 또한, 캘리브레이션 회로(140)는, 구간 신호(SAR_EN)가 비활성화되면, 합산 신호를 토대로 평균값을 산출하고, 제 1 내지 제 4 레지스터 제어 신호(REG0P~REG3P)에 따라 제 1 내지 제 4 저장값에 대응되는 편차를 제 1 내지 제 4 레지스터에 순차적으로 재저장할 수 있다. 최종적으로, 제 1 내지 제 4 레지스터는, 재저장된 제 1 내지 제 4 저장값을 제 1 내지 제 3 캘리브레이션 코드(R1_F1<0:3>, F1_R2<0:3>, R2_F2<0:3>)로 출력할 수 있다. 이하, 본 발명의 실시예에서는, 캘리브레이션 회로(140)가 제 1 내지 제 4 저장값의 평균값을 산출하고, 평균값과 제 1 내지 제 3 저장값의 편차를 제 1 내지 제 3 레지스터에 각각 재저장하여 제 1 내지 제 3 캘리브레이션 코드(R1_F1<0:3>, F1_R2<0:3>, R2_F2<0:3>)로 출력하는 경우를 예로 들어 설명한다. 하지만, 제안 발명은 이에 한정되지 않으며, 캘리브레이션 회로(140)가 다양한 방법으로 평균값과 제 1 내지 제 4 저장값의 편차를 제 1 내지 제 4 레지스터에 재저장할 수 있다.
한편, 도 1 에는, 캘리브레이션 회로(140)가, 라이징 신호(IDQS) 및 폴링 신호(QDQS) 중 적어도 하나의 신호에 따라 시드 신호(SEED)를 생성하고, 캘리브레이션 제어 회로(150)가 시드 신호(SEED)에 따라 제 1 내지 제 4 레지스터 제어 신호(REG0P~REG3P) 및 구간 신호(SAR_EN)를 생성하는 점이 도시되어 있다. 하지만, 제안 발명은 이에 한정되지 않으며, 캘리브레이션 제어 회로(150)가 라이징 신호(IDQS) 및 폴링 신호(QDQS) 중 적어도 하나의 신호에 따라 시드 신호(SEED)를 생성할 수 있다. 또한, 캘리브레이션 제어 회로(150)는, 제 1 내지 제 4 레지스터 제어 신호(REG0P~REG3P) 및 구간 신호(SAR_EN) 이외에도, 캘리브레이션 회로(140)를 제어하기 위한 제어 신호들을 생성할 수 있다. 이에 대한 설명은 도 5 에서 상세히 설명하기로 한다.
상기와 같이, 본 발명의 실시예에 따른 반도체 장치는, 트레이닝 모드 시, 각 출력 클럭에 대응되는 펄스들로 구성된 트레이닝 신호를 데이터 스트로브 패드로 순차적으로 출력하고, 데이터 스트로브 패드를 통해 최종적으로 전달되는 트레이닝 신호를 피드백 받을 수 있다. 또한, 피드백된 펄스들의 라이징 에지와 폴링 에지에 대응되는 라이징 신호(IDQS) 및 폴링 신호(QDQS)의 위상차를 측정하여 피드백된 펄스들의 각 펄스폭을 검출할 수 있다. 검출된 각 펄스폭을 레지스터들에 저장하고 저장된 값을 이용하여 평균값 및 편차를 계산하여 각 출력 클력의 듀티비를 개별적으로 보정함으로써 스트로브 신호의 1-비트 펄스폭을 일정하게 유지할 수 있다.
도 3 은 도 1 의 패턴 생성부(122)의 회로도 이다.
도 3 을 참조하면, 패턴 생성부(122)는, 제 1 주파수 분주기(210), 제 2 주파수 분주기(220), 제 1 신호 생성기(230), 제 2 신호 생성기(240) 및 패턴 조합기(250)를 포함할 수 있다. 또한, 패턴 생성부(122)는, 트레이닝 모드 신호(CAL_EN) 및 트레이닝 종료 신호(CAL_OFF)의 반전 신호를 로직 낸드 연산하여 패턴 구간 신호(PT)를 생성하는 리셋 제어기(260)을 더 포함할 수 있다. 제 1 주파수 분주기(210), 제 2 주파수 분주기(220), 제 1 신호 생성기(230) 및 제 2 신호 생성기(240)는, 패턴 구간 신호(PT)에 따라 초기화될 수 있다.
제 1 주파수 분주기(210)는, 제 1 테스트 신호(R1DOA)의 주파수를 소정 주기(예를 들어, 2 )로 분주하여 제 1 분주 클럭(R1DOACLK)을 생성할 수 있다. 제 2 주파수 분주기(220)는, 제 2 테스트 신호(R2DOA)의 주파수를 소정 주기(예를 들어, 2)로 분주하여 제 2 분주 클럭(R2DOACLK)을 생성할 수 있다. 제 1 주파수 분주기(210) 및 제 2 주파수 분주기(220)는, 제 1 및 제 2 테스트 신호(R1DOA, R2DOA) 중 대응되는 신호를 클럭단으로 입력받고, 출력단(Q)의 반전 신호를 입력단(D)으로 입력받고, 패턴 구간 신호(PT)를 리셋 신호(R)로 입력받는 D-플립플롭으로 구성될 수 있다.
제 1 신호 생성기(230)는, 제 1 분주 클럭(R1DOACLK)에 따라 순차적으로 활성화되는 제 1 내지 제 7 쉬프트 신호(D0~D6)를 생성할 수 있다. 제 1 신호 생성기(230)는, 직렬 연결되어 제 1 분주 클럭(R1DOACLK)의 폴링 에지에 동기되어 제 1 내지 제 7 쉬프트 신호(D0~D6)를 각각 출력하는 제 1 내지 제 7 쉬프터(231~237)로 구성될 수 있다. 제 1 내지 제 7 쉬프터(231~237) 각각은, 제 1 분주 클럭(R1DOACLK)의 반전 신호를 클럭단으로 입력받고, 앞단의 출력단(Q)의 신호를 입력단(D)으로 입력받고, 패턴 구간 신호(PT)를 리셋 신호(R)로 입력받는 D-플립플롭으로 구성될 수 있다. 제 1 쉬프터(231)는, 전원 전압(VDD)을 입력단(D)으로 입력받을 수 있다.
제 2 신호 생성기(240)는, 제 1 신호 생성기(230)의 출력(즉, 제 7 쉬프트 신호(D6))을 입력받아 제 2 분주 클럭(R2DOACLK)에 따라 순차적으로 활성화되는 제 8 내지 제 11 쉬프트 신호(D7~D10)를 생성할 수 있다. 제 2 신호 생성기(240)는, 직렬 연결되어 제 2 분주 클럭(R2DOACLK)의 폴링 에지에 동기되어 제 8 내지 제 11 쉬프트 신호(D7~D10)를 각각 출력하는 제 8 내지 제 11 쉬프터(241~244)로 구성될 수 있다. 제 8 내지 제 11 쉬프터(241~244) 각각은, 제 2 분주 클럭(R2DOACLK)의 반전 신호를 클럭단으로 입력받고, 앞단의 출력단(Q)의 신호를 입력단(D)으로 입력받고, 패턴 구간 신호(PT)를 리셋 신호(R)로 입력받는 D-플립플롭으로 구성될 수 있다. 제 8 쉬프터(241)는, 제 7 쉬프트 신호(D6)를 입력단(D)으로 입력받을 수 있다.
패턴 조합기(250)는, 제 1 내지 제 11 쉬프트 신호(D0~D10) 중 적어도 두 개를 조합하여 제 1 내지 제 4 패턴 데이터(BL0_CALP~BL3_CALP)를 출력할 수 있다. 바람직하게, 패턴 조합기(250)는, 제 1 신호 생성기(230)로부터 출력되는 제 1 내지 제 7 쉬프트 신호(D0~D6) 중 하나와, 제 2 신호 생성기(240)로부터 출력되는 제 8 내지 제 11 쉬프트 신호(D7~D10) 중 하나를 조합하여 제 1 내지 제 4 패턴 데이터(BL0_CALP~BL3_CALP) 중 하나로 출력할 수 있다. 예를 들어, 패턴 조합기(250)는, 제 1 쉬프트 신호(D0)와 제 5 쉬프트 신호(D4)의 반전 신호를 로직 앤드 연산하여 제 1 패턴 데이터(BL0_CALP)를 생성하고, 제 5 쉬프트 신호(D4)와 제 7 쉬프트 신호(D6)의 반전 신호를 로직 앤드 연산하여 제 2 패턴 데이터(BL1_CALP)를 생성하고, 제 7 쉬프트 신호(D6)와 제 9 쉬프트 신호(D8)의 반전 신호를 로직 앤드 연산하여 제 3 패턴 데이터(BL2_CALP)를 생성하고, 제 9 쉬프트 신호(D8)와 전지 전압(VSS)를 로직 앤드 연산하여 제 4 패턴 데이터(BL3_CALP)를 생성할 수 있다.
도 4 는 도 3 의 패턴 생성부(122)의 동작을 설명하기 위한 파형도 이다.
도 4 를 참조하면, 리셋 제어기(260)는, 트레이닝 모드 신호(CAL_EN)에 따라 패턴 구간 신호(PT)를 로직 로우 레벨로 생성할 수 있다.
패턴 구간 신호(PT)가 로직 로우 레벨이 되면, 제 1 주파수 분주기(210)는, 제 1 테스트 신호(R1DOA)를 2 분주하여 제 1 분주 클럭(R1DOACLK)을 생성하고, 제 2 주파수 분주기(220)는, 제 2 테스트 신호(R2DOA)를 2 분주하여 제 2 분주 클럭(R2DOACLK)을 생성한다. 제 1 신호 생성기(230)는, 제 1 분주 클럭(R1DOACLK)의 폴링 에지에 따라 제 1 내지 제 7 쉬프트 신호(D0~D6)를 순차적으로 활성화시켜 출력할 수 있다. 제 2 신호 생성기(240)는, 제 7 쉬프트 신호(D6)의 활성화 이후 제 2 분주 클럭(R2DOACLK)의 폴링 에지에 따라 제 8 내지 제 11 쉬프트 신호(D7~D10)를 순차적으로 활성화시켜 출력할 수 있다.
패턴 조합기(250)는, 제 1 쉬프트 신호(D0)의 라이징 에지와 제 5 쉬프트 신호(D4)의 라이징 에지 사이의 활성화 구간을 가지는 제 1 패턴 데이터(BL0_CALP)를 생성하고, 제 5 쉬프트 신호(D4)의 라이징 에지와 제 7 쉬프트 신호(D6)의 라이징 에지 사이의 활성화 구간을 가지는 제 2 패턴 데이터(BL1_CALP)를 생성하고, 제 7 쉬프트 신호(D6)의 라이징 에지와 제 9 쉬프트 신호(D8)의 라이징 에지 사이의 활성화 구간을 가지는 제 3 패턴 데이터(BL2_CALP)를 생성하고, 제 9 쉬프트 신호(D8)의 라이징 에지와 트레이닝 모드 신호(CAL_EN)의 라이징 에지 사이의 활성화 구간을 가지는 제 4 패턴 데이터(BL3_CALP)를 생성할 수 있다.
이 후, 리셋 제어기(260)는, 트레이닝 종료 신호(CAL_OFF)가 로직 하이 레벨로 활성화됨에 따라 로직 하이 레벨의 패턴 구간 신호(PT)를 생성할 수 있다.
제 1 주파수 분주기(210), 제 2 주파수 분주기(220), 제 1 신호 생성기(230) 및 제 2 신호 생성기(240)는, 패턴 구간 신호(PT)에 따라 초기화되어, 제 1 내지 제 4 패턴 데이터(BL0_CALP~BL3_CALP)는 초기화될 수 있다.
상기와 같이, 패턴 생성부(122)는, 제 1 및 제 2 테스트 신호(R1DOA, R2DOA)를 이용하여 순차적으로 활성화되되 서로 겹치지 않는 활성화 구간을 가지는 제 1 내지 제 4 패턴 데이터(BL0_CALP~BL3_CALP)를 생성할 수 있다.
한편, 도 4 에 도시된 바와 같이, 제 1 패턴 데이터(BL0_CALP) 및 제 4 패턴 데이터(BL3_CALP)는, 제 2 및 제 3 패턴 데이터(BL1_CALP, BL2_CALP)의 적어도 2 배의 구간 동안 활성화될 수 있다. 이는, 제 1 패턴 데이터(BL0_CALP)의 활성화 구간의 초기 구간이 캘리브레이션 회로(140)의 초기 트리밍 설정 동작을 수행하기 위해 할당되고, 제 4 패턴 데이터(BL3_CALP)의 후기 구간이 편차 계산 동작을 수행하기 위해 할당되기 때문이다. 이와 관련한 자세한 설명은 도 5 에서 설명하기로 한다.
도 5 는 도 1 의 캘리브레이션 회로(140) 및 캘리브레이션 제어 회로(150)의 상세 블록도 이다.
도 5 를 참조하면, 캘리브레이션 회로(140)는, 검출부(310), 저장부(320) 및 평균-편차 계산부(330)를 포함할 수 있다.
검출부(310)는, 라이징 신호(IDQS) 및 폴링 신호(QDQS)의 위상차를 검출하여 검출 코드(DOUT<0:3>)를 생성할 수 있다.
보다 자세하게, 검출부(310)는, 제 1 트리머(312), 제 2 트리머(314), 비교기(316) 및 트리밍 제어기(318)를 포함할 수 잇다.
제 1 트리머(312)는, 트리밍 코드(D_TRIM<0:5>)에 따라 지연량이 조절되는 지연 라인으로 구현되며, 제 2 트리머(314)는, 검출 코드(DOUT<0:3>)에 따라 지연량이 조절되는 지연 라인으로 구현될 수 있다. 제 1 트리머(312) 및 제 2 트리머(314)는, 직렬 연결되어, 라이징 신호(IDQS)를 소정 시간 지연시켜 지연된 라이징 신호(IDQSD)를 출력할 수 있다. 비교기(316)는, 지연된 라이징 신호(IDQSD) 및 폴링 신호(QDQS)의 위상차를 비교하여 비교 신호(COMP)를 출력할 수 있다. 바람직하게, 비교기(316)는, 지연된 라이징 신호(IDQSD)를 입력단으로 입력받고 폴링 신호(QDQS)를 클럭 신호로 입력받아 비교 신호(COMP)를 출력단으로 출력하는 D-플립플롭으로 구성될 수 있다. 즉, 비교기(316)는, 폴링 신호(QDQS)에 따라 지연된 라이징 신호(IDQSD)를 래치하여 비교 신호(COMP)로 출력할 수 있다. 트리밍 제어기(318)는, 트레이닝 모드 신호(CAL_EN)가 활성화되면, 폴링 신호(QDQS)에 따라 소정 주기로 활성화되는 시드 신호(SEED) 및 제 1 내지 제 7 펄스 신호(P0~P6)를 생성할 수 있다. 트리밍 제어기(318)는, 시드 신호(SEED) 및 제 1 내지 제 7 펄스 신호(P0~P6)에 따라, 비교 신호(COMP)에 대응되는 트리밍 코드(D_TRIM<0:5>) 및 검출 코드(DOUT<0:3>)를 생성할 수 있다.
저장부(320)는, 제 1 내지 제 4 레지스터 제어 신호(REG0P~REG3P)에 따라 각각 활성화되는 제 1 내지 제 4 레지스터(미도시)를 포함할 수 있다. 저장부(320)는, 구간 신호(SAR_EN)가 활성화되면, 제 1 내지 제 4 레지스터 제어 신호(REG0P~REG3P)에 따라 검출 코드(DOUT<0:3>)를 순차적으로 제 1 내지 제 4 레지스터에 저장할 수 있다. 저장부(320)는, 구간 신호(SAR_EN)가 비활성화되면, 제 1 내지 제 4 레지스터 제어 신호(REG0P~REG3P)에 따라 평균-편차 계산부(330)로부터 제공되는 누적 편차 코드(FB_DEV<0:3>)를 순차적으로 제 1 내지 제 4 레지스터에 저장할 수 있다.
평균-편차 계산부(330)는, 구간 신호(SAR_EN)가 활성화되면, 제 1 내지 제 4 레지스터 제어 신호(REG0P~REG3P) 및 누적 클럭(ACC_CLK)에 따라 제 1 내지 제 4 저장값을 누적하여 합산 신호를 생성할 수 있다. 평균-편차 계산부(330)는, 구간 신호(SAR_EN)가 비활성화되면, 누적 클럭(ACC_CLK), 누적 리셋 신호(ACC_RST), 평균 산출 신호(REG_QW) 및 선택 신호(REG_SEL<0:2>)에 따라, 합산 신호를 토대로 평균값을 산출하고, 평균값과 제 1 내지 제 4 저장값 간의 편차에 대응되는 누적 편차 코드(FB_DEV<0:3>)를 산출하여 저장부(320)로 제공할 수 있다.
한편, 캘리브레이션 제어 회로(150)는, 트레이닝 모드 신호(CAL_EN)에 따라 활성화되어, 시드 신호(SEED) 및 제 1 내지 제 7 펄스 신호(P0~P6) 중 일부 신호들(예를 들어, 제 3 펄스 신호(P2) 및 제 5 펄스 신호(P4))에 따라, 제 1 내지 제 4 레지스터 제어 신호(REG0P~REG3P), 구간 신호(SAR_EN), 누적 클럭(ACC_CLK), 누적 리셋 신호(ACC_RST), 평균 산출 신호(REG_QW) 및 선택 신호(REG_SEL<0:2>)를 생성할 수 있다. 이와 관련한 자세한 설명은 도 8 에서 설명하기로 한다.
참고로, 도 4 에서 설명된 제 1 패턴 데이터(BL0_CALP)의 활성화 구간의 초기 구간 동안, 트리밍 코드(D_TRIM<0:5>)에 따라 제 1 트리머(312)의 지연량이 설정될 수 있다. 이 후, 제 1 패턴 데이터(BL0_CALP)의 활성화 구간의 후기 구간과, 제 2 및 제 3 패턴 데이터(BL1_CALP, BL2_CALP)의 활성화 구간과 제 4 패턴 데이터(BL3_CALP)의 활성화 구간의 초기 구간 동안, 검출 코드(DOUT<0:3>)에 따라 제 2 트리머(314)의 지연량이 조절될 수 있다. 이하에서는, 제 1 트리머(312)의 지연량을 설정하는 동작을 초기 트리밍 설정 동작으로 정의하고, 제 2 트리머(314)의 지연량을 조절하는 동작을 위상 검출 동작으로 정의하기로 한다. 이 후, 제 4 패턴 데이터(BL3_CALP)의 활성화 구간의 후기 구간 동안 평균-편차 계산부(330)의 평균-편차 계산 동작이 수행될 수 있다.
상기와 같이, 캘리브레이션 회로(140)의 검출부(310)는, 트레이닝 모드 신호(CAL_EN)가 활성화되면, 초기 트리밍 설정 동작을 수행하여 제 1 트리머(312)의 지연량을 설정하고, 이후 위상 검출 동작을 통해 제 2 트리머(314)의 지연량을 조절할 수 있다. 구간 신호(SAR_EN)가 활성화되면, 저장부(320)는 검출 코드(DOUT<0:3>)를 순차적으로 제 1 내지 제 4 레지스터에 저장할 수 있다. 이 후, 구간 신호(SAR_EN)가 비활성화되면, 평균-편차 계산부(330)는 제 1 내지 제 4 저장값의 평균값을 산출하고, 평균값과 제 1 내지 제 4 저장값의 편차에 대응되는 누적 편차 코드(FB_DEV<0:3>)를 산출하여 저장부(320)로 제공할 수 있다. 저장부(320)는 평균-편차 계산부(330)로부터 제공되는 누적 편차 코드(FB_DEV<0:3>)를 순차적으로 제 1 내지 제 3 레지스터에 재저장할 수 있다. 제 1 내지 제 3 레지스터에 재저장된 제 1 내지 제 3 저장값은 제 1 내지 제 3 캘리브레이션 코드(R1_F1<0:3>, F1_R2<0:3>, R2_F2<0:3>)로 각각 출력될 수 있다.
도 6 은 도 5 의 트리밍 제어기(318)의 블록도 이다.
도 6 을 참조하면, 트리밍 제어기(318)는, 주기 생성기(410), 코드 변환기(420), 초기 구간 설정기(430) 및 코드 출력기(440)를 포함할 수 있다.
주기 생성기(410)는, 트레이닝 모드 신호(CAL_EN)가 활성화되면, 반전된 폴링 신호(QDQSB)에 따라 시드 신호(SEED) 및 제 1 내지 제 7 펄스 신호(P0~P6)를 순차적으로 활성화시킬 수 있다. 시드 신호(SEED) 및 제 1 내지 제 7 펄스 신호(P0~P6)는, 로직 로우 레벨로 소정 구간 활성화되는 펄스 신호일 수 있다. 한편, 본 실시예에서는, 주기 생성부(410)가 반전된 폴링 신호(QDQSB)를 이용하는 것으로 설명하였지만, 제안 발명은 이에 한정되지 않으며, 실시예에 따라, 폴링 신호(QDQS) 또는 반전된 폴링 신호(QDQSB) 중 하나를 이용할 수 있다.
보다 자세하게, 주기 생성기(410)는, 시드 신호 생성기(412) 및 펄스 생성기(414)를 포함할 수 있다.
시드 신호 생성기(412)는, 트레이닝 모드 신호(CAL_EN)가 활성화되면, 반전된 폴링 신호(QDQSB) 및 제 7 펄스 신호(P6)에 따라 시드 신호(SEED)를 일정한 주기로 활성화시킬 수 있다. 펄스 생성기(414)는, 시드 신호(SEED)의 비활성화에 따라 순차적으로 활성화되는 제 1 펄스 신호(P0~P6)를 생성할 수 있다.
코드 변환기(420)는, 시드 신호(SEED) 및 제 1 내지 제 7 펄스 신호(P0~P6)에 따라, 비교 신호(COMP)를 예비 코드(DOUT_PRE<0:5>)로 변환할 수 있다. 코드 변환기(420)는, 시드 신호(SEED)가 활성화되면 초기화되어, 제 1 내지 제 7 펄스 신호(P0~P6)에 따라 순차적으로 입력되는 비교 신호(COMP)를 예비 코드(DOUT_PRE<0:5>)로 변환할 수 있다.
초기 구간 설정부(430)는, 트레이닝 모드 신호(CAL_EN) 및 제 7 펄스 신호(P6)에 따라 트리밍 구간 신호(TRIM)를 생성할 수 있다. 초기 구간 설정부(430)는, 트레이닝 모드 신호(CAL_EN)의 비활성화 구간, 즉, 트레이닝 동작 전에 로직 하이 레벨로 설정되고, 제 7 펄스 신호(P6)에 따라 로직 로우 레벨로 비활성화되는 트리밍 구간 신호(TRIM)를 생성할 수 있다. 또한, 트리밍 구간 신호(TRIM)를 반전하여 반전된 트리밍 구간 신호(TRIMB)를 생성할 수 있다. 트리밍 구간 신호(TRIM)는, 초기 트리밍 설정 동작과 위상 검출 동작을 구분하기 위한 신호로, 도 4 에서 설명된 제 1 패턴 데이터(BL0_CALP)의 활성화 구간의 초기 구간 동안 로직 하이 레벨로 활성화될 수 있다.
코드 출력기(440)는, 트리밍 구간 신호(TRIM) 및 반전된 트리밍 구간 신호(TRIMB)에 따라 예비 코드(DOUT_PRE<0:5>)를 트리밍 코드(D_TRIM<0:5>) 또는 검출 코드(DOUT<0:3>)로 출력할 수 있다. 코드 출력기(440)는, 트리밍 구간 신호(TRIM)가 활성화되는 초기 트리밍 설정 동작 시, 예비 코드(DOUT_PRE<0:5>)를 트리밍 코드(D_TRIM<0:5>)로 출력하고, 제 7 펄스 신호(P6)에 동기되어 예비 코드(DOUT_PRE<0:5>)를 내부 래치(미도시)에 저장할 수 있다. 코드 출력기(440)는, 트리밍 구간 신호(TRIM)가 비활성화되는 위상 검출 동작 시, 래치에 저장된 코드를 트리밍 코드(D_TRIM<0:5>)로 출력하고, 예비 코드(DOUT_PRE<0:5>)를 검출 코드(DOUT<0:3>)로 출력할 수 있다.
도 7 은 도 6 의 주기 생성기(410)의 회로도 이다.
도 7 을 참조하면, 시드 신호 생성기(412)는, 직렬 연결된 제 1 및 제 2 D-플립플롭(412A, 412B), 시드 신호 출력기(412C) 및 셋 조합기(412D)를 포함할 수 있다.
제 1 D-플립플롭(412A)은, 접지 전압(VSS)을 입력단(D)으로 입력 받으며, 반전된 폴링 신호(QDQSB)를 클럭 신호로 입력받고, 셋 조합 신호(S3)를 셋 바 신호(SB)로 입력받아 출력단(Q)으로 제 1 출력 신호(S1)을 출력할 수 있다. 제 2 D-플립플롭(412B)은, 제 1 출력 신호(S1)을 입력단(D)으로 입력 받으며, 반전된 폴링 신호(QDQSB)를 클럭 신호로 입력받고, 셋 조합 신호(S3)를 셋 바 신호(SB)로 입력받아 출력단(Q)으로 제 2 출력 신호(S2)을 출력할 수 있다. 시드 신호 출력기(412C)는, 제 1 출력 신호(S1) 및 제 2 출력 신호(S2)를 조합하여 시드 신호(SEED)로 출력할 수 있다. 시드 신호 출력기(412C)는, 제 1 출력 신호(S1)가 로직 하이 레벨이고, 제 2 출력 신호(S2)가 로직 로우 레벨일 때 로직 로우 레벨로 활성화되는 시드 신호(SEED)를 출력할 수 있다. 셋 조합기(412D)는, 트레이닝 모드 신호(CAL_EN)와 제 7 펄스 신호(P6)를 로직 낸드 연산하여 셋 조합 신호(S3)를 생성할 수 있다. 즉, 셋 조합기(412D)는, 트레이닝 모드 신호(CAL_EN)와 제 7 펄스 신호(P6) 중 하나라도 로직 로우 레벨이 되면 로직 하이 레벨의 셋 조합 신호(S3)를 출력할 수 있다.
상기의 구성으로, 시드 신호 생성기(412)는, 트레이닝 모드 신호(CAL_EN)의 비활성화 구간, 즉, 트레이닝 동작 전에 로직 하이 레벨로 설정되고, 제 7 펄스 신호(P6)에 따라 소정 주기로 로직 로우 레벨로 활성화되는 시드 신호(SEED)를 출력할 수 있다.
펄스 생성기(414)는, 직렬 연결된 제 3 내지 제 9 D-플립플롭(414A~414G)을 포함할 수 있다.
제 3 내지 제 9 D-플립플롭(414A~414G)은, 트레이닝 모드 신호(CAL_EN)를 셋 바 신호(SB)로 입력받고, 반전된 폴링 신호(QDQSB)를 클럭 신호로 입력받을 수 있다. 제 3 D-플립플롭(414A)은, 시드 신호(SEED)를 입력단(D)으로 입력받아 출력단(Q)으로 제 1 펄스 신호(P0)를 출력할 수 있다. 제 4 내지 제 9 D-플립플롭(414B~414G)은, 앞단의 출력 신호를 입력단(D)으로 입력받아 출력단(Q)으로 제 2 내지 제 7 펄스 신호(P1~P6)를 순차적으로 출력할 수 있다.
상기의 구성으로, 펄스 생성기(414)는, 트레이닝 모드 신호(CAL_EN)의 비활성화 구간, 즉, 트레이닝 동작 전에 로직 하이 레벨로 설정되고, 로직 로우 레벨의 시드 신호(SEED)가 입력된 후 반전된 폴링 신호(QDQSB)의 토글링에 따라 순차적으로 로직 로우 레벨로 활성화되는 제 1 내지 제 7 펄스 신호(P0~P6)를 출력할 수 있다.
도 8 은 도 6 의 코드 변환기(420)의 회로도 이다.
도 8 을 참조하면, 코드 변환기(420)는, 제 1 내지 제 7 D-플립플롭(420A~420G)을 포함할 수 있다.
제 1 내지 제 7 D-플립플롭(420A~420G)은, 비교 신호(COMP)를 입력단(D)으로 입력받고, 시드 신호(SEED)를 리셋 바 신호(RB)로 입력받고, 제 7 내지 제 1 펄스 신호(P6~P0)를 셋 바 신호(SB)로 각각 입력받을 수 있다. 제 1 D-플립플롭(420A)은, 접지 전압(VSS)을 클럭 신호로 입력받고, 제 2 내지 제 7 D-플립플롭(420B~420G)은, 제 1 내지 제 6 D-플립플롭(420A~420F)의 출력단(Q)의 신호를 클럭 신호로 입력받아 예비 코드(DOUT_PRE<0:5>)를 출력할 수 있다.
상기의 구성으로, 코드 변환기(420)는, 시드 신호(SEED)가 활성화되면 로직 로우 레벨로 초기화되고, 제 1 내지 제 7 펄스 신호(P0~P6)에 따라 순차적으로 입력되는 비교 신호(COMP)를 예비 코드(DOUT_PRE<0:5>)의 역순(즉, DOUT_PRE<5:0>)으로 변환하여 출력할 수 있다.
도 9 는 도 6 의 초기 구간 설정부(430)의 회로도 이다.
도 9 를 참조하면, 초기 구간 설정부(430)는, D-플립플롭(432) 및 인버터(434)를 포함할 수 있다.
D-플립플롭(432)은, 접지 전압(VSS)을 입력단(D)으로 입력받고, 트레이닝 모드 신호(CAL_EN)를 셋 바 신호(SB)를 입력받고, 제 7 펄스 신호(P6)를 클럭 신호로 입력받아 트리밍 구간 신호(TRIM)를 출력할 수 있다. 인버터(434)는, 트리밍 구간 신호(TRIM)를 반전하여 반전된 트리밍 구간 신호(TRIMB)를 출력할 수 있다.
상기의 구성으로, 초기 구간 설정부(430)는, 트레이닝 모드 신호(CAL_EN)의 비활성화 구간, 즉, 트레이닝 동작 전에 로직 하이 레벨로 설정되고, 제 7 펄스 신호(P6)의 활성화에 따라 로직 로우 레벨로 비활성화되는 트리밍 구간 신호(TRIM)를 생성할 수 있다.
도 10 은 도 6 의 코드 출력기(440)의 회로도 이다.
도 10 을 참조하면, 코드 출력기(440)는, 타이밍 제어기(442), 래치(444) 및 선택 출력기(446)를 포함할 수 있다.
타이밍 제어기(442)는, 트리밍 구간 신호(TRIM)의 활성화 구간 동안 제 7 펄스 신호(P6)를 반전하여 타이밍 신호(T1)를 출력할 수 있다. 타이밍 제어기(442)는, 인버터(442A) 및 제 1 앤드 게이트(442B)를 포함할 수 있다. 인버터(442A)는, 제 7 펄스 신호(P6)를 반전하고, 제 1 앤드 게이트(442B)는, 인버터(442A)의 출력과 트리밍 구간 신호(TRIM)를 로직 앤드 연산할 수 있다.
래치(444)는, 타이밍 신호(T1)에 따라 예비 코드(DOUT_PRE<0:5>)를 저장할 수 있다.
선택 출력기(446)는, 트리밍 구간 신호(TRIM) 및 반전된 트리밍 구간 신호(TRIMB)에 따라 예비 코드(DOUT_PRE<0:5>)를 트리밍 코드(D_TRIM<0:5>) 또는 검출 코드(DOUT<0:3>)로 출력할 수 있다. 선택 출력기(446)는, 제 2 내지 제 4 앤드 게이트(446A~446C) 및 오아 게이트(446D)를 포함할 수 있다. 제 2 앤드 게이트(446A)는, 반전된 트리밍 구간 신호(TRIMB)와 예비 코드(DOUT_PRE<0:5>)를 로직 앤드 연산하여 검출 코드(DOUT<0:3>)로 출력할 수 있다. 제 3 앤드 게이트(446B)는, 트리밍 구간 신호(TRIM)와 예비 코드(DOUT_PRE<0:5>)를 로직 앤드 연산하고, 제 4 앤드 게이트(446C)는, 반전된 트리밍 구간 신호(TRIMB)와 래치(444)에 저장된 코드를 로직 앤드 연산할 수 있다. 오아 게이트(446D)는, 제 3 앤드 게이트(446B) 및 제 4 앤드 게이트(446C)의 출력을 로직 오아 연산하여 트리밍 코드(D_TRIM<0:5>)로 출력할 수 있다.
상기의 구성으로, 코드 출력기(440)는, 트리밍 구간 신호(TRIM)가 활성화되면, 예비 코드(DOUT_PRE<0:5>)를 트리밍 코드(D_TRIM<0:5>)로 출력하고, 타이밍 신호(T1)에 따라 래치(444)에 트리밍 코드(D_TRIM<0:5>)를 저장할 수 있다. 반면, 코드 출력기(440)는, 트리밍 구간 신호(TRIM)가 비활성화되면, 예비 코드(DOUT_PRE<0:5>)를 검출 코드(DOUT<0:3>)로 출력하고, 래치(444)에 저장된 코드를 트리밍 코드(D_TRIM<0:5>)로 출력할 수 있다.
도 11 은 도 5 의 저장부(320) 및 평균-편차 계산부(330)의 회로도 이다.
도 11 을 참조하면, 저장부(320)는, 저장 선택기(321) 및 제 1 내지 제 4 레지스터(322~325)를 포함할 수 있다.
저장 선택기(321)는, 구간 신호(SAR_EN)가 활성화되면 검출부(310)로부터 제공되는 검출 코드(DOUT<0:3>)를 선택하고, 구간 신호(SAR_EN)가 비활성화되면 평균-편차 계산부(330)로부터 제공되는 누적 편차 코드(FB_DEV<0:3>)를 선택하여 출력할 수 있다. 제 1 내지 제 4 레지스터(322~325)는, 제 1 내지 제 4 레지스터 제어 신호(REG0P~REG3P)에 따라 순차적으로 활성화되어, 저장 선택기(321)의 출력을 저장할 수 있다.
평균-편차 계산부(330)는, 누적 합산부(332), 평균 계산부(334) 및 편차 계산부(336)를 포함할 수 있다.
누적 합산부(332)는, 구간 신호(SAR_EN)가 활성화되면, 제 1 내지 제 4 레지스터 제어 신호(REG0P~REG3P) 및 누적 클럭(ACC_CLK)에 따라, 제 1 내지 제 4 레지스터(322~325)에 저장된 제 1 내지 제 4 저장값을 누적 합산하여 합산 신호(SUM<0:3>)를 출력할 수 있다. 누적 합산부(332)는, 구간 신호(SAR_EN)가 비활성화되면, 누적 클럭(ACC_CLK) 및 누적 리셋 신호(ACC_RST)에 따라 편차 계산부(336)로부터 제공되는 편차 코드(DEV<0:3>)를 누적 합산하여 누적 편차 코드(FB_DEV<0:3>)를 출력할 수 있다.
보다 자세하게, 누적 합산부(332)는, 제 1 누적 선택기(332A), 제 2 누적 선택기(332B), 가산기(332C) 및 D-플립플롭(332D)을 포함할 수 있다.
제 1 누적 선택기(332A)는, 제 1 내지 제 4 레지스터 제어 신호(REG0P~REG3P)에 따라 제 1 내지 제 4 저장값을 선택하여 출력할 수 있다. 제 2 누적 선택기(332B)는, 구간 신호(SAR_EN)에 따라 제 1 누적 선택기(332A)의 출력 또는 편차 계산부(336)로부터 출력되는 편차 코드(DEV<0:3>)를 선택하여 출력할 수 있다. 가산기(332C)는, 제 2 누적 선택기(332B)의 출력과 D-플립플롭(332D)의 출력을 더할 수 있다. D-플립플롭(332D)은, 누적 리셋 신호(ACC_RST)에 따라 초기화되며, 누적 클럭(ACC_CLK)에 따라 가산기(332C)의 출력을 저장할 수 있다. 상기의 구성으로, 누적 합산부(332)는, 구간 신호(SAR_EN)가 활성화되면, 누적 클럭(ACC_CLK)에 따라 제 1 내지 제 4 레지스터(322~325)의 제 1 내지 제 4 저장값을 순차적으로 누적 합산하여 합산 신호(SUM<0:3>)를 출력할 수 있다. 또한, 누적 합산부(332)는, 구간 신호(SAR_EN)가 비활성화되면, 누적 클럭(ACC_CLK)에 따라 편차 코드(DEV<0:3>)를 순차적으로 누적 합산하여 누적 편차 코드(FB_DEV<0:3>)를 출력할 수 있다.
평균 계산부(334)는, 평균 산출 신호(REG_QW)에 따라 합산 신호(SUM<0:3>)를 제 1 내지 제 4 레지스터(322~325)의 개수(즉, 4)로 나눈 값을 평균값, 즉, 평균 코드(AVG<0:3>)로 출력할 수 있다. 바람직하게, 평균 계산부(334)는, 평균 산출 신호(REG_QW)에 따라서, 합산 신호(SUM<0:3>)의 각 비트를 제 1 내지 제 4 레지스터(322~325)의 개수(즉, 4)에 대응되는 횟수(2 회) 만큼 오른쪽으로 쉬프팅하여 평균 코드(AVG<0:3>)를 출력하는 쉬프터로 구현될 수 있다. 편차 계산부(336)는, 선택 신호(REG_SEL<0:2>)에 따라 평균 코드(AVG<0:3>)로부터 제 1 내지 제 3 저장값을 각각 빼서 편차 코드(DEV<0:3>)를 산출할 수 있다.
편차 계산부(336)는, 편차 선택기(336A) 및 감산기(336B)를 포함할 수 있다. 편차 선택기(336A)는, 선택 신호(REG_SEL<0:2>)에 따라 제 1 내지 제 3 저장값 중 하나를 선택하여 출력할 수 있다. 감산기(336B)는, 평균 코드(AVG<0:3>)와 편차 선택기(336A)의 출력의 차를 편차 코드(DEV<0:3>)로 출력할 수 있다.
상기와 같이, 평균-편차 계산부(330)는, 구간 신호(SAR_EN)가 활성화되면, 제 1 내지 제 4 레지스터 제어 신호(REG0P~REG3P) 및 누적 클럭(ACC_CLK)에 따라 제 1 내지 제 4 저장값을 순차적으로 누적하여 합산 신호(SUM<0:3>)를 생성할 수 있다. 또한, 평균-편차 계산부(330)는, 구간 신호(SAR_EN)가 비활성화되면, 평균 산출 신호(REG_QW)에 따라 합산 신호(SUM<0:3>)를 토대로 평균 코드(AVG<0:3>)를 산출하고, 선택 신호(REG_SEL<0:2>)에 따라 평균 코드(AVG<0:3>)와 제 1 내지 제 3 저장값의 누적 편차 코드(FB_DEV<0:3>)를 산출하여 저장부(320)로 제공할 수 있다. 한편, 도 11 에서 설명된 평균-편차 계산부(330)는, 편차 코드(DEV<0:3>)를 누적하여 산출된 누적 편차 코드(FB_DEV<0:3>)를 저장부(320)로 제공하는 것으로 설명되었지만, 제안 발명은 이에 한정되지 않는다. 실시예에 따라, 평균-편차 계산부(330)는, 편차 코드(DEV<0:3>)를 누적하지 않고 저장부(320)로 제공할 수 있다.
도 12 는 도 5 의 캘리브레이션 제어 회로(150)의 상세 블록도 이다.
도 12 를 참조하면, 캘리브레이션 제어 회로(150)는, 구간 정의부(510) 및 제어 신호 생성부(520)를 포함할 수 있다.
구간 정의부(510)는, 트레이닝 모드 신호(CAL_EN)가 활성화되면, 시드 신호(SEED)의 각 주기마다 활성화되는 제 1 내지 제 6 구간 정의 신호(C0_C1~C5_C6)를 생성할 수 있다. 예를 들어, 구간 정의부(510)는, 시드 신호(SEED)의 제 1 라이징 에지와 제 2 라이징 에지 사이에 활성화 구간을 가지는 제 1 구간 정의 신호(C0_C1)를 생성하고, 제 2 라이징 에지와 제 3 라이징 에지 사이에 활성화 구간을 가지는 제 2 구간 정의 신호(C1_C2)를 생성할 수 있다. 제 1 내지 제 6 구간 정의 신호(C0_C1~C5_C6)는, 로직 로우 레벨로 활성화되는 신호일 수 있다. 또한, 구간 정의부(510)는, 트레이닝 모드 신호(CAL_EN)에 따라 활성화되고, 제 1 내지 제 6 구간 정의 신호(C0_C1~C5_C6) 중 하나에 따라 비활성화되는 구간 신호(SAR_EN)를 생성할 수 있다. 바람직하게, 구간 정의부(510)는, 제 1 내지 제 6 구간 정의 신호(C0_C1~C5_C6) 중 제 5 구간 정의 신호(C4_C5)에 따라 구간 신호(SAR_EN)를 비활성화 시킬 수 있다.
제어 신호 생성부(520)는, 제 1 내지 제 6 구간 정의 신호(C0_C1~C5_C6) 및 구간 신호(SAR_EN)에 따라 제 1 내지 제 4 레지스터 제어 신호(REG0P~REG3P)를 생성할 수 있다.
보다 자세하게, 제어 신호 생성부(520)는, 제 1 내지 제 3 제어 신호 생성기(522~526)를 포함할 수 있다. 제 1 제어 신호 생성기(522)는, 제 1 내지 제 6 구간 정의 신호(C0_C1~C5_C6), 구간 신호(SAR_EN), 제 3 펄스 신호(P2) 및 제 5 펄스 신호(P4)에 따라, 제 1 내지 제 4 레지스터 제어 신호(REG0P~REG3P)를 생성할 수 있다. 제 2 제어 신호 생성기(524)는, 제 1 내지 제 6 구간 정의 신호(C0_C1~C5_C6), 구간 신호(SAR_EN) 및 제 3 펄스 신호(P2)에 따라, 평균 산출 신호(REG_QW), 선택 신호(REG_SEL<0:2>) 및 트레이닝 종료 신호(CAL_OFF)를 생성할 수 있다. 제 3 제어 신호 생성기(526)는, 제 1 내지 제 6 구간 정의 신호(C0_C1~C5_C6), 구간 신호(SAR_EN), 제 3 펄스 신호(P2) 및 시드 신호(SEED)에 따라, 누적 클럭(ACC_CLK) 및 누적 리셋 신호(ACC_RST)를 생성할 수 있다.
도 13 은 도 12 의 구간 정의부(510)의 회로도 이다.
도 13 을 참조하면, 구간 정의부(510)는, 제 1 내지 제 8 D-플립플롭(511~518), 제 1 내지 제 6 비교기(511A~511F) 및 클럭 조합기(511G)를 포함할 수 있다.
제 1 내지 제 7 D-플립플롭(511~517)은, 직렬 연결되어, 트레이닝 모드 신호(CAL_EN)를 셋 바 신호(SB)로 입력받고, 시드 신호(SEED)를 클럭 신호로 입력받아 제 1 내지 제 7 예비 구간 신호(C0~C6)를 출력할 수 있다. 제 1 D-플립플롭(511)은, 제 7 D-플립플롭(517)의 출력단(Q)의 반전된 신호를 입력단(D)으로 입력받아 출력단(Q)으로 제 1 예비 구간 신호(C0)를 출력할 수 있다. 제 2 내지 제 7 D-플립플롭(512~517)은, 앞단의 출력 신호를 입력단(D)으로 입력받아 출력단(Q)으로 제 2 내지 제 7 예비 구간 신호(C1~C6)를 순차적으로 출력할 수 있다.
제 1 내지 제 6 비교기(511A~511F)는, 인접한 두 개의 예비 구간 신호(C1~C6)를 비교하여 제 1 내지 제 6 구간 정의 신호(C0_C1~C5_C6)를 출력할 수 있다. 제 1 내지 제 6 비교기(511A~511F)는, 인접한 두 개의 예비 구간 신호(C1~C6)를 로직 XNOR 연산하여 제 1 내지 제 6 구간 정의 신호(C0_C1~C5_C6)를 출력하는 XNOR 게이트로 구현될 수 있다. 예를 들어, 제 1 비교기(511A)는, 제 1 예비 구간 신호(C0)과 제 2 예비 구간 신호(C1)가 서로 다른 로직 레벨을 가지는 경우, 로직 로우 레벨이 되는 제 1 구간 정의 신호(C0_C1)를 출력할 수 있다.
클럭 조합기(511G)는, 제 5 구간 정의 신호(C4_C5)와 시드 신호(SEED)를 로직 오아 연산하여 구간 클럭(T2)을 생성할 수 있다. 즉, 클럭 조합기(511G)는, 제 5 구간 정의 신호(C4_C5)와 시드 신호(SEED)가 모두 로직 로우 레벨이 될 때 로직 로우 레벨의 구간 클럭(T2)을 출력할 수 있다.
제 8 D-플립플롭(518)는, 트레이닝 모드 신호(CAL_EN)를 셋 바 신호(SB)로 입력받고, 접지 전압(VSS)를 입력단(D)으로 입력받고, 구간 클럭(T2)을 클럭 신호로 입력받아 구간 신호(SAR_EN)를 출력할 수 있다.
도 14 는 도 13 의 구간 정의부(510)의 동작을 설명하기 위한 파형도 이다.
도 14 를 참조하면, 트레이닝 모드 신호(CAL_EN)의 비활성화 구간, 즉, 트레이닝 동작 전에 제 1 내지 제 8 D-플립플롭(511~518)은 제 1 내지 제 7 예비 구간 신호(C0~C6) 및 구간 신호(SAR_EN)는 로직 로직 하이 레벨로 설정된다.
트레이닝 모드 신호(CAL_EN)가 활성화되면, 제 1 내지 제 7 D-플립플롭(511~517)은, 시드 신호(SEED)의 라이징 에지에 따라 제 1 내지 제 7 예비 구간 신호(C0~C6)를 순차적으로 로직 로우 레벨로 출력할 수 있다. 제 1 내지 제 6 비교기(511A~511F)는, 인접한 두 개의 예비 구간 신호(C1~C6)가 서로 다른 로직 레벨을 가지는 경우, 제 1 내지 제 6 구간 정의 신호(C0_C1~C5_C6)를 로직 로우 레벨로 출력할 수 있다.
클럭 조합기(511G)는, 제 5 구간 정의 신호(C4_C5)와 시드 신호(SEED)가 모두 로직 로우 레벨이 될 때 로직 로우 레벨의 구간 클럭(T2)을 출력할 수 있다. 제 8 D-플립플롭(518)는, 구간 클럭(T2)의 라이징 에지에 동기되어 구간 신호(SAR_EN)를 로직 로우 레벨로 비활성화시켜 출력할 수 있다.
도 15 는 도 12 의 제어 신호 생성부(520)의 회로도 이다.
도 15 를 참조하면, 제 1 제어 신호 생성기(522)는, 제 1 내지 제 4 조합기(522A~522D)를 포함할 수 있다.
제 1 조합기(522A)는, 구간 신호(SAR_EN)가 활성화되면, 제 2 구간 정의 신호(C1_C2)와 제 5 펄스 신호(P4)에 따라 제 1 레지스터 제어 신호(REG0P)를 출력하고, 구간 신호(SAR_EN)가 비활성화되면, 제 3 구간 정의 신호(C2_C3)와 제 3 펄스 신호(P2)에 따라 제 1 레지스터 제어 신호(REG0P)를 출력할 수 있다. 제 1 조합기(522A)는, 구간 신호(SAR_EN)가 활성화되면, 제 2 구간 정의 신호(C1_C2)와 제 5 펄스 신호(P4)가 모두 로직 로우 레벨이 될 때 제 1 레지스터 제어 신호(REG0P)를 출력하고, 구간 신호(SAR_EN)가 비활성화되면, 제 3 구간 정의 신호(C2_C3)와 제 3 펄스 신호(P2)가 모두 로직 로우 레벨이 될 때 제 1 레지스터 제어 신호(REG0P)를 출력할 수 있다. 제 2 조합기(522B)는, 구간 신호(SAR_EN)가 활성화되면, 제 3 구간 정의 신호(C2_C3)와 제 5 펄스 신호(P4)에 따라 제 2 레지스터 제어 신호(REG1P)를 출력하고, 구간 신호(SAR_EN)가 비활성화되면, 제 4 구간 정의 신호(C3_C4)와 제 3 펄스 신호(P2)에 따라 제 2 레지스터 제어 신호(REG1P)를 출력할 수 있다. 제 3 조합기(522C)는, 구간 신호(SAR_EN)가 활성화되면, 제 4 구간 정의 신호(C3_C4)와 제 5 펄스 신호(P4)에 따라 제 3 레지스터 제어 신호(REG2P)를 출력하고, 구간 신호(SAR_EN)가 비활성화되면, 제 5 구간 정의 신호(C4_C5)와 제 3 펄스 신호(P2)에 따라 제 3 레지스터 제어 신호(REG2P)를 출력할 수 있다. 제 4 조합기(522D)는, 구간 신호(SAR_EN)가 활성화되면, 제 5 구간 정의 신호(C4_C5)와 제 5 펄스 신호(P4)에 따라 제 4 레지스터 제어 신호(REG3P)를 출력할 수 있다.
제 2 제어 신호 생성기(524)는, 제 5 내지 제 8 조합기(524A~524D)를 포함할 수 있다.
제 5 조합기(524A)는, 구간 신호(SAR_EN)가 비활성화되면, 제 1 구간 정의 신호(C0_C1)와 제 3 펄스 신호(P2)에 따라 선택 신호(REG_SEL<0:2>)의 제 1 비트(REG_SEL<0>)를 출력할 수 있다. 즉, 제 5 조합기(524A)는, 제 1 구간 정의 신호(C0_C1)와 제 3 펄스 신호(P2)가 모두 로직 로우 레벨이 될 때 제 1 비트(REG_SEL<0>)를 출력할 수 있다. 이 때, 제 5 조합기(524A)는, 제 1 비트(REG_SEL<0>)와 동일한 로직 레벨의 평균 산출 신호(REG_QW)를 출력할 수 있다. 제 6 조합기(524B)는, 구간 신호(SAR_EN)가 비활성화되면, 제 3 구간 정의 신호(C2_C3)와 제 3 펄스 신호(P2)에 따라 선택 신호(REG_SEL<0:2>)의 제 2 비트(REG_SEL<1>)를 출력할 수 있다. 제 7 조합기(524C)는, 구간 신호(SAR_EN)가 비활성화되면, 제 4 구간 정의 신호(C3_C4)와 제 3 펄스 신호(P2)에 따라 선택 신호(REG_SEL<0:2>)의 제 3 비트(REG_SEL<2>)를 출력할 수 있다. 제 8 조합기(524D)는, 구간 신호(SAR_EN)가 비활성화되면, 제 6 구간 정의 신호(C5_C6)와 제 3 펄스 신호(P2)에 따라 클럭 펄스 신호(CAL_OFFP)를 생성하고, 클럭 펄스 신호(CAL_OFFP)에 따라 트레이닝 종료 신호(CAL_OFF)를 로직 하이 레벨로 활성화시켜 출력할 수 있다.
제 3 제어 신호 생성기(526)는, 제 9 조합기(526A) 및 제 10 조합기(526B)를 포함할 수 있다.
제 9 조합기(526A)는, 구간 신호(SAR_EN)가 활성화되면, 제 2 내지 제 5 구간 정의 신호(C1_C2~C4_C5) 및 시드 신호(SEED)에 따라 누적 클럭(ACC_CLK)을 출력하고, 구간 신호(SAR_EN)가 비활성화되면, 제 2 내지 제 4 구간 정의 신호(C1_C2~C3_C4) 및 시드 신호(SEED)에 따라 누적 클럭(ACC_CLK)을 출력할 수 있다. 즉, 제 9 조합기(526A)는, 구간 신호(SAR_EN)가 활성화되면, 제 2 내지 제 5 구간 정의 신호(C1_C2~C4_C5) 중 어느 하나라도 로직 로우 레벨일 때 시드 신호(SEED)가 로직 로우 레벨이 되면 누적 클럭(ACC_CLK)을 출력할 수 있다. 또한, 제 8 조합기(526A)는, 구간 신호(SAR_EN)가 비활성화되면, 제 2 내지 제 4 구간 정의 신호(C1_C2~C3_C4) 중 어느 하나라도 로직 로우 레벨일 때 시드 신호(SEED)가 로직 로우 레벨이 되면 누적 클럭(ACC_CLK)을 출력할 수 있다. 제 10 조합기(526B)는, 구간 신호(SAR_EN)가 비활성화되면, 제 2 구간 정의 신호(C1_C2)와 제 3 펄스 신호(P2)에 따라 누적 리셋 신호(ACC_RST)를 출력할 수 있다.
한편, 도 15 에 도시된 제 1 내지 제 10 조합기(522A~522D, 524D~524C, 526A, 526B)의 로직들은 하나의 예시일 뿐 제안 발명은 이에 한정되지 않으며 캘리브레이션 회로(140) 및 캘리브레이션 제어 회로(150)의 타이밍을 제어하기 위한 다양한 로직들로 구현될 수 있다.
이하, 도 5 내지 도 16b 을 참조하여, 캘리브레이션 회로(140) 및 캘리브레이션 제어 회로(150)의 동작을 설명하기로 한다.
도 16a 및 도 16b 는 도 5 의 캘리브레이션 회로(140) 및 캘리브레이션 제어 회로(150)의 동작을 설명하기 위한 파형도 이다. 참고로, 도 16a 및 도 16b 에 도시되지 않았지만, 도 14 에 도시된 바와 같이, 제 1 내지 제 6 구간 정의 신호(C0_C1~C5_C6)는, 시드 신호(SEED)의 인접한 라이징 에지 사이에서 순차적인 활성화 구간을 가질 수 있다. 예를 들어, 제 1 구간 정의 신호(C0_C1)는, 시드 신호(SEED)의 제 1 라이징 에지와 제 2 라이징 에지 사이의 구간, 제 7 라이징 에지와 제 8 라이징 에지 사이의 구간에서 로직 로우 레벨로 활성화될 수 있다.
도 16a 를 참조하면, 반전된 폴링 신호(QDQSB)에 따라 시드 신호(SEED) 및 제 1 내지 제 7 펄스 신호(P0~P6)가 순차적으로 활성화된다. 지연된 라이징 신호(IDQSD) 및 폴링 신호(QDQS)의 위상차를 비교하여 비교 신호(COMP)가 출력되고, 시드 신호(SEED) 및 제 1 내지 제 7 펄스 신호(P0~P6)에 따라, 비교 신호(COMP)는 예비 코드(DOUT_PRE<0:5>)의 역순(즉, DOUT_PRE<5:0>)으로 변환되어 출력된다. 이 때, 로직 하이 레벨의 트리밍 구간 신호(TRIM)에 따라, 예비 코드(DOUT_PRE<0:5>)는 트리밍 코드(D_TRIM<0:5>)로 출력되어, 제 1 트리머(312)의 지연량이 설정된다. 라이징 신호(IDQS) 및 폴링 신호(QDQS)가 입력될 때 마다 상기의 동작들이 반복 수행되여 최종적으로 트리밍 코드(D_TRIM<0:5>)가 출력될 수 있다. 상기의 동작을 도 4 에서 설명된 제 1 패턴 데이터(BL0_CALP)의 활성화 구간의 초기 구간(즉, 시드 신호(SEED)의 한 주기) 동안 수행되는 초기 트리밍 설정 동작으로 정의할 수 있다.
이 후, 제 7 펄스 신호(P6)의 활성화에 따라 트리밍 구간 신호(TRIM)이 로직 로우 레벨로 비활성화된다.
제 1 패턴 데이터(BL0_CALP)의 활성화 구간의 후기 구간(즉, 시드 신호(SEED)의 다음 주기) 동안, 로직 로우 레벨의 트리밍 구간 신호(TRIM)에 따라, 라이징 신호(IDQS)와 폴링 신호(QDQS)의 위상차에 대응되는 예비 코드(DOUT_PRE<0:5>)가 검출 코드(DOUT<0:3>)로 출력되어, 제 2 트리머(314)의 지연량이 조절된다. 제 1 레지스터 제어 신호(REG0P)가 활성화되면, 최종적으로 검출 코드(DOUT<0:3>)가 제 1 레지스터(322)에 저장되고, 누적 클럭(ACC_CLK)에 따라 제 1 레지스터(322)에 저장된 제 1 저장값이 합산 신호(SUM<0:3>)로 출력된다.
제 2 패턴 데이터(BL1_CALP)의 활성화 구간(즉, 시드 신호(SEED)의 다음 한 주기) 동안, 라이징 신호(IDQS)와 폴링 신호(QDQS)의 위상차에 대응되는 예비 코드(DOUT_PRE<0:5>)가 검출 코드(DOUT<0:3>)로 출력되어, 제 2 트리머(314)의 지연량이 조절된다. 제 2 레지스터 제어 신호(REG1P)에 따라 최종적으로 검출 코드(DOUT<0:3>)가 제 2 레지스터(323)에 저장되고, 누적 클럭(ACC_CLK)에 따라 기존의 합산 신호(SUM<0:3>)(즉, 제 1 저장값)과 제 2 레지스터(323)에 저장된 제 2 저장값이 누적 합산되어 합산 신호(SUM<0:3>)로 출력될 수 있다. 마찬가지로, 제 3 패턴 데이터(BL2_CALP)의 활성화 구간(즉, 시드 신호(SEED)의 다음 한 주기) 동안, 제 3 레지스터 제어 신호(REG2P) 및 누적 클럭(ACC_CLK)에 따라, 기존의 합산 신호(SUM<0:3>)(즉, 제 1 및 제 2 저장값의 합)과 제 3 레지스터(324)에 저장된 제 3 저장값이 누적 합산되어 합산 신호(SUM<0:3>)로 출력될 수 있다. 최종적으로, 제 4 패턴 데이터(BL3_CALP)의 활성화 구간의 초기 구간(즉, 시드 신호(SEED)의 다음 한 주기) 동안, 제 1 내지 4 저장값이 누적 합산되어 최종적으로 합산 신호(SUM<0:3>)로 출력될 수 있다.
상기와 같이, 제 1 패턴 데이터(BL0_CALP)의 활성화 구간의 후기 구간과, 제 2 및 제 3 패턴 데이터(BL1_CALP, BL2_CALP)의 활성화 구간과 제 4 패턴 데이터(BL3_CALP)의 활성화 구간의 초기 구간 동안, 라이징 신호(IDQS)와 폴링 신호(QDQS)의 위상차에 대응되는 검출 코드(DOUT<0:3>)를 각 레지스터에 저장하는 동작을 위상 검출 동작으로 정의할 수 있다.
이후, 구간 신호(SAR_EN)는 로직 로우 레벨로 비활성화된다. 이에 따라, 평균-편차 계산부(330)의 평균-편차 계산 동작이 수행될 수 있다.
도 16b 를 참조하면, 평균 산출 신호(REG_QW) 및 선택 신호(REG_SEL<0:2>)의 제 1 비트(REG_SEL<0>)가 활성화된다. 평균 산출 신호(REG_QW)에 따라 합산 신호(SUM<0:3>)를 토대로 평균 코드(AVG<0:3>)가 산출되고, 제 1 비트(REG_SEL<0>)에 따라 평균 코드(AVG<0:3>)로부터 제 1 저장값을 뺀 편차 코드(DEV<0:3>)가 산출될 수 있다.
한편, 누적 리셋 신호(ACC_RST)가 활성화되어 합산 신호(SUM<0:3>)가 초기화 될 수 있다. 누적 클럭(ACC_CLK)에 따라 편차 코드(DEV<0:3>)가 합산 신호(SUM<0:3>)로 출력된다. 이 때, 합산 신호(SUM<0:3>)는, 누적 편차 코드(FB_DEV<0:3>)로 제공될 수 있다. 제 3 펄스 신호(P2)에 따라 제 1 레지스터 제어 신호(REG0P)가 활성화되어 누적 편차 코드(FB_DEV<0:3>)가 제 1 레지스터(322)에 재저장될 수 있다. 이와 동시에, 선택 신호(REG_SEL<0:2>)의 제 2 비트(REG_SEL<1>)가 활성화되고, 평균 코드(AVG<0:3>)로부터 제 2 저장값을 뺀 편차 코드(DEV<0:3>)가 산출될 수 있다. 누적 클럭(ACC_CLK)에 따라, 편차 코드(DEV<0:3>)와 기존의 합산 신호(SUM<0:3>)가 누적 합산되어 누적 편차 코드(FB_DEV<0:3>)로 출력될 수 있다. 제 2 레지스터 제어 신호(REG1P)가 활성화되면, 누적 편차 코드(FB_DEV<0:3>)가 제 2 레지스터(323)에 재저장될 수 있다. 마찬가지로, 선택 신호(REG_SEL<0:2>)의 제 3 비트(REG_SEL<2>) 및 누적 클럭(ACC_CLK)이 순차적으로 활성화되면, 편차 코드(DEV<0:3>)와 기존의 합산 신호(SUM<0:3>)가 누적 합산되어 누적 편차 코드(FB_DEV<0:3>)로 출력되고, 제 3 레지스터 제어 신호(REG2P)에 따라 누적 편차 코드(FB_DEV<0:3>)가 제 3 레지스터(324)에 재저장될 수 있다.
상기의 평균-편차 계산 동작에 따라 누적 편차 코드(FB_DEV<0:3>)는 제 1 내지 제 3 레지스터(322~324)에 각각 저장될 수 있다. 제 1 내지 제 3 레지스터(322~324)에 저장된 누적 편차 코드(FB_DEV<0:3>)는, 제 1 내지 제 3 캘리브레이션 코드(R1_F1<0:3>, F1_R2<0:3>, R2_F2<0:3>)로 각각 출력되어, 제 1 내지 제 4 출력 클럭(R1DOCLK, F1DOCLK, R2DOCLK, F2DOCLK)의 듀티비를 보정하는 데 이용될 수 있다.
도 17 은 본 발명의 실시예에 따른 반도체 장치의 트레이닝 동작을 설명하기 위한 순서도 이다. 도 18 은 도 17 의 트레이닝 동작에 따른 출력 클럭들의 듀티 보정을 보여주는 도면 이다.
도 17 을 참조하면, 송신 회로(120)는, 트레이닝 모드 시, 제 1 패턴 데이터(BL0_CALP)의 활성화 구간 동안 제 1 출력 클럭(R1DOCLK)에 대응되는 H-L-L-L의 펄스로 트레이닝 신호(TRS)가 데이터 스트로브 패드(DQS_P)로 출력된다(S1701). 수신 회로(130)는, 데이터 스트로브 패드(DQS_P)로 입력되는 트레이닝 신호(TRS)의 라이징 에지와 폴링 에지에 각각 활성화되는 라이징 신호(IDQS) 및 폴링 신호(QDQS)를 생성한다(S1702).
도 16a 에서 설명된 바와 같이, 제 1 패턴 데이터(BL0_CALP)의 활성화 구간의 초기 구간 동안, 캘리브레이션 회로(140)는, 라이징 신호(IDQS) 및 폴링 신호(QDQS)의 위상차에 대응되는 트리밍 코드(D_TRIM<0:5>)를 이용하여 제 1 트리머(312)의 지연량을 설정하는 초기 트리밍 설정 동작을 수행한다(S1703).
이 후, 제 1 패턴 데이터(BL0_CALP)의 활성화 구간의 후기 구간 동안, 캘리브레이션 회로(140)는, 라이징 신호(IDQS) 및 폴링 신호(QDQS)의 위상차에 대응되는 검출 코드(DOUT<0:3>)를 제 1 레지스터(322)에 저장하는 위상 검출 동작을 수행한다(S1704).
이 후, 제 2 패턴 데이터(BL1_CALP)의 활성화 구간 동안, 제 2 출력 클럭(F1DOCLK)에 대응되는 대응되는 L-H-L-L의 펄스로 트레이닝 신호(TRS)가 데이터 스트로브 패드(DQS_P)로 출력된다(S1706). 수신 회로(130)는, 트레이닝 신호(TRS)의 라이징 에지와 폴링 에지에 각각 활성화되는 라이징 신호(IDQS) 및 폴링 신호(QDQS)를 생성한다(S1707). 캘리브레이션 회로(140)는, 라이징 신호(IDQS) 및 폴링 신호(QDQS)의 위상차에 대응되는 검출 코드(DOUT<0:3>)를 제 2 레지스터(323)에 저장하는 위상 검출 동작을 수행한다(S1704).
마찬가지로, 제 3 패턴 데이터(BL2_CALP)의 활성화 구간 동안, 제 3 출력 클럭(R2DOCLK)에 대응되는 L-L-H-L의 펄스로 트레이닝 신호(TRS)가 데이터 스트로브 패드(DQS_P)로 출력된다(S1706), 수신 회로(130)는, 트레이닝 신호(TRS)의 라이징 에지와 폴링 에지에 각각 활성화되는 라이징 신호(IDQS) 및 폴링 신호(QDQS)를 생성한다(S1707). 캘리브레이션 회로(140)는, 라이징 신호(IDQS) 및 폴링 신호(QDQS)의 위상차에 대응되는 검출 코드(DOUT<0:3>)를 제 3 레지스터(324)에 저장하는 위상 검출 동작을 수행한다(S1704).
마지막으로, 제 4 패턴 데이터(BL3_CALP)의 활성화 구간 동안, 제 4 출력 클럭(F2DOCLK)에 대응되는 L-L-L-H의 펄스로 트레이닝 신호(TRS)가 데이터 스트로브 패드(DQS_P)로 출력된다(S1706). 수신 회로(130)는, 트레이닝 신호(TRS)의 라이징 에지와 폴링 에지에 각각 활성화되는 라이징 신호(IDQS) 및 폴링 신호(QDQS)를 생성한다(S1707). 캘리브레이션 회로(140)는, 라이징 신호(IDQS) 및 폴링 신호(QDQS)의 위상차에 대응되는 검출 코드(DOUT<0:3>)를 제 4 레지스터(325)에 저장하는 위상 검출 동작을 수행한다(S1704). 위상 검출 동작 시, 제 1 내지 제 4 레지스터(322~325)에 저장된 제 1 내지 4 저장값이 누적 합산되어 최종적으로 합산 신호(SUM<0:3>)로 출력될 수 있다
이 후, 구간 신호(SAR_EN)가 로직 로우 레벨로 비활성화되면(S1705), 평균-편차 계산 동작이 수행될 수 있다. 캘리브레이션 회로(140)는, 합산 신호(SUM<0:3>)를 토대로 평균 코드(AVG<0:3>)를 산출한다(S1708). 캘리브레이션 회로(140)는, 평균 코드(AVG<0:3>)로부터 제 1 저장값을 뺀 편차 코드(DEV<0:3>)를 제 1 레지스터(322)에 재저장하고, 평균 코드(AVG<0:3>)로부터 제 2 저장값을 뺀 편차 코드(DEV<0:3>)와 이전의 누적 편차 코드를 합산하여 새로운 누적 편차 코드(FB_DEV<0:3>)를 제 2 레지스터(323)에 재저장하고, 평균 코드(AVG<0:3>)로부터 제 3 저장값을 뺀 편차 코드(DEV<0:3>)와 이전의 누적 편차 코드를 합산하여 새로운 누적 편차 코드(FB_DEV<0:3>)를 제 3 레지스터(324)에 재저장할 수 있다(S1709). 재저장된 제 1 내지 제 3 저장값은 제 1 내지 제 3 캘리브레이션 코드(R1_F1<0:3>, F1_R2<0:3>, R2_F2<0:3>)로 각각 출력될 수 있다. 이 후, 클럭 생성 회로(110)는, 제 1 내지 제 3 캘리브레이션 코드(R1_F1<0:3>, F1_R2<0:3>, R2_F2<0:3>)에 따라 제 1 내지 제 4 출력 클럭(R1DOCLK, F1DOCLK, R2DOCLK, F2DOCLK)의 듀티비를 보정할 수 있다(S1710).
도 18 을 참조하면, 트레이닝 동작 전에, 제 1 내지 제 4 출력 클럭(R1DOCLK, F1DOCLK, R2DOCLK, F2DOCLK)의 듀티비가 틀어져 스트로브 신호(DQS)의 1-비트 펄스폭이 254 ps - 215 ps - 248 ps - 203 ps 으로 출력된다고 가정한다. 스트로브 신호(DQS)가 4 개의 출력 클럭에 따라 생성되므로 4-비트 펄스폭은 일정할 수 있다. 즉, 4-비트 펄스폭은 254+215+248+203=950 ps으로 고정되어 있으며, 이상적인 1-비트 펄스폭은 230 ps 일 수 있다. 이 때, 스트로브 신호(DQS)가 입출력 경로를 지나면서 발생할 수 있는 옵셋(err)이 있더라도, 동일한 경로를 통과하므로 스트로브 신호(DQS)의 1-비트 펄스폭은 254+err ps - 215+err ps - 248+err ps - 203+err ps 가 될 수 있다.
본 발명의 실시예에서, 캘리브레이션 회로(140)는, 950+4*err의 합산 신호(SUM<0:3>)를 토대로 230+err의 평균 코드(AVG<0:3>)를 산출할 수 있다. 캘리브레이션 회로(140)는, 평균 코드(AVG<0:3>)로부터 254+err의 제 1 저장값을 뺀 -24 ps의 누적 편차 코드(FB_DEV<0:3>)를 제 1 레지스터(322)에 재저장하고, 평균 코드(AVG<0:3>)로부터 215+err의 제 2 저장값을 뺀 15 ps의 편차 코드(DEV<0:3>)와 이전의 -24 ps의 누적 편차 코드를 합산하여 -9 ps 의 누적 편차 코드(FB_DEV<0:3>)를 제 2 레지스터(323)에 재저장하고, 평균 코드(AVG<0:3>)로부터 248+err의 제 3 저장값을 뺀 -18 ps의 편차 코드(DEV<0:3>)와 이전의 -9 ps의 누적 편차 코드를 합산하여 -27 ps 의 누적 편차 코드(FB_DEV<0:3>)를 제 3 레지스터(324)에 재저장할 수 있다.
재저장된 제 1 내지 제 3 저장값(-24 ps, -9 ps, -27 ps)은 제 1 내지 제 3 캘리브레이션 코드(R1_F1<0:3>, F1_R2<0:3>, R2_F2<0:3>)로 각각 출력되어, 제 1 내지 제 4 출력 클럭(R1DOCLK, F1DOCLK, R2DOCLK, F2DOCLK)의 듀티비를 보정할 수 있다.
상기와 같이, 본 발명의 실시예에 따른 반도체 장치는, 스트로브 신호의 1-비트 펄스폭을 일정하게 유지할 수 있어 데이터 출력 동작의 신뢰성을 향상시킬 수 있다.
본 발명의 기술 사상은 상기 바람직한 실시예에 따라 구체적으로 기록되었으나, 상기한 실시예는 그 설명을 위한 것이며 그 제한을 위한 것이 아님을 주의하여야 한다. 또한, 본 발명의 기술 분야의 통상의 전문가라면 본 발명의 기술 사상의 범위 내에서 다양한 실시예가 가능함을 이해할 수 있을 것이다.
예컨대, 전술한 실시예에서 예시한 논리 게이트 및 트랜지스터는 입력되는 신호의 극성에 따라 그 위치 및 종류가 다르게 구현되어야 할 것이다.

Claims (20)

  1. 트레이닝 모드 시, 제 1 내지 제 N 출력 클럭에 대응되는 펄스를 데이터 스트로브 패드로 순차적으로 출력하는 송신 회로;
    상기 데이터 스트로브 패드로 입력되는 상기 펄스의 라이징 에지와 폴링 에지에 각각 활성화되는 라이징 신호 및 폴링 신호를 생성하는 수신 회로;
    구간 신호에 따라, 상기 라이징 신호 및 상기 폴링 신호의 위상차에 대응되는 검출 코드를 제 1 내지 제 N 레지스터에 순차적으로 저장하여 제 1 내지 제 N 저장값의 평균값을 산출하고, 상기 평균값과 상기 제 1 내지 제 N 저장값의 편차를 상기 제 1 내지 제 N 레지스터에 재저장하는 캘리브레이션 회로; 및
    상기 제 1 내지 제 N 레지스터의 재저장값을 이용하여 상기 제 1 내지 제 N 출력 클럭의 듀티비를 보정하는 클럭 생성 회로
    를 포함하는 반도체 장치.
  2. 제 1 항에 있어서,
    상기 트레이닝 모드 시, 상기 라이징 신호 및 상기 폴링 신호 중 적어도 하나에 따라 소정 주기로 활성화되는 시드 신호에 따라 상기 구간 신호와 순차적으로 활성화되는 제 1 내지 제 N 레지스터 제어 신호를 생성하는 캘리브레이션 제어 회로
    를 더 포함하는 반도체 장치.
  3. 제 2 항에 있어서,
    상기 캘리브레이션 회로는,
    상기 구간 신호가 활성화되면, 상기 제 1 내지 제 N 레지스터 제어 신호에 따라 상기 검출 코드를 상기 제 1 내지 제 N 레지스터에 순차적으로 저장하고, 상기 제 1 내지 제 N 저장값을 누적 합산하여 합산 신호를 생성하고,
    상기 구간 신호가 비활성화되면, 상기 합산 신호를 토대로 상기 평균값을 산출하고, 상기 평균값과 상기 제 1 내지 제 N 저장값의 상기 편차를 상기 제 1 내지 제 N 레지스터에 재저장하는
    반도체 장치.
  4. 제 2 항에 있어서,
    상기 캘리브레이션 제어 회로는,
    상기 시드 신호의 각 주기마다 활성화되는 다수의 구간 정의 신호들을 생성하고, 트레이닝 모드 신호에 따라 활성화되고 상기 다수의 구간 정의 신호들 중 하나에 따라 비활성화되는 상기 구간 신호를 생성하는 구간 정의부; 및
    상기 구간 신호 및 상기 구간 정의 신호들에 따라 상기 제 1 내지 제 N 레지스터 제어 신호를 생성하는 제어 신호 생성부
    를 포함하는 반도체 장치.
  5. 제 1 항에 있어서,
    상기 캘리브레이션 회로는,
    상기 라이징 신호 및 상기 폴링 신호의 위상차를 검출하여 상기 검출 코드를 생성하는 검출부;
    상기 구간 신호가 활성화되면, 제 1 내지 제 N 레지스터 제어 신호에 따라 상기 검출 코드를 상기 제 1 내지 제 N 레지스터에 순차적으로 저장하고, 상기 구간 신호가 비활성화되면, 상기 제 1 내지 제 N 레지스터 제어 신호에 따라 상기 편차를 상기 제 1 내지 제 N 레지스터에 순차적으로 저장하는 저장부; 및
    상기 구간 신호가 활성화되면 상기 제 1 내지 제 N 레지스터 제어 신호에 따라 상기 제 1 내지 제 N 저장값을 누적 합산하여 합산 신호를 생성하고,상기 구간 신호가 비활성화되면 상기 합산 신호를 토대로 상기 평균값을 산출하고, 상기 평균값과 상기 제 1 내지 제 N 저장값의 상기 편차를 산출하는 평균-편차 계산부
    를 포함하는 반도체 장치.
  6. 제 5 항에 있어서,
    상기 검출부는,
    트리밍 코드에 따라 지연량이 설정되며, 상기 라이징 신호를 지연하는 제 1 트리머;
    상기 검출 코드에 따라 지연량이 조절되며, 상기 제 1 트리머의 출력을 지연하여 지연된 라이징 신호를 출력하는 제 2 트리머;
    상기 지연된 라이징 신호 및 상기 폴링 신호의 위상차를 비교하여 비교 신호를 출력하는 비교기; 및
    상기 폴링 신호에 따라 소정 주기로 활성화되는 시드 신호를 생성하고, 상기 시드 신호에 따라 상기 비교 신호에 대응되는 상기 트리밍 코드 및 상기 검출 코드를 생성하는 트리밍 제어기
    를 포함하는 반도체 장치.
  7. 제 6 항에 있어서,
    상기 트리밍 제어기는,
    상기 폴링 신호에 따라 순차적으로 활성화되는 상기 시드 신호 및 다수의 펄스 신호들을 생성하는 주기 생성기;
    상기 시드 신호 및 상기 펄스 신호들에 따라, 상기 비교 신호를 예비 코드로 변환하는 코드 변환기;
    상기 펄스 신호들 중 하나에 따라 트리밍 구간 신호를 생성하는 초기 구간 설정부; 및
    상기 트리밍 구간 신호에 따라 상기 예비 코드를 상기 트리밍 코드 또는 상기 검출 코드로 출력하는 코드 출력기
    를 포함하는 반도체 장치.
  8. 제 5 항에 있어서,
    상기 저장부는,
    상기 구간 신호가 활성화되면 상기 검출 코드를 선택하고, 상기 구간 신호가 비활성화되면 상기 편차를 선택하여 출력하는 저장 선택기; 및
    상기 제 1 내지 제 N 레지스터 제어 신호에 따라 순차적으로 활성화되어, 상기 저장 선택기의 출력을 저장하는 상기 제 1 내지 제 N 레지스터
    를 포함하는 반도체 장치.
  9. 제 5 항에 있어서,
    상기 평균-편차 계산부는,
    상기 구간 신호가 활성화되면, 상기 제 1 내지 제 N 레지스터 제어 신호에 따라 상기 제 1 내지 제 N 저장값을 누적 합산하여 상기 합산 신호를 출력하는 누적 합산부;
    상기 구간 신호가 비활성화되면, 상기 합산 신호를 토대로 상기 평균값으로 산출하는 평균 계산부; 및
    상기 평균값으로부터 상기 제 1 내지 제 N 저장값을 각각 빼서 상기 편차를 산출하는 편차 계산부
    를 포함하는 반도체 장치.
  10. 제 1 항에 있어서,
    상기 송신 회로는,
    트레이닝 모드 신호에 따라 인에이블 되어, 제 1 및 제 2 테스트 신호를 이용하여 순차적으로 활성화되며, 서로 겹치지 않는 활성화 구간을 가지는 제 1 내지 제 N 패턴 데이터를 생성하는 패턴 생성부;
    상기 제 1 내지 제 N 출력 클럭에 따라 상기 제 1 내지 제 N 패턴 데이터를 각각 래치하고, 래치된 신호들을 직렬화하여 풀업 제어 신호 및 풀다운 제어 신호를 생성하는 직렬화부; 및
    상기 풀업 제어 신호 및 상기 풀다운 제어 신호에 따라 상기 데이터 스트로브 패드를 구동하는 출력 드라이버
    를 포함하는 반도체 장치.
  11. 제 10 항에 있어서,
    상기 패턴 생성부는,
    상기 트레이닝 모드 신호에 따라, 상기 제 1 및 제 2 테스트 신호의 주파수를 소정 주기로 분주하여 제 1 분주 클럭 및 제 2 분주 클럭을 생성하는 주파수 분주기;
    상기 제 1 분주 클럭에 따라 순차적으로 활성화되는 다수의 쉬프트 신호를 생성하는 제 1 신호 생성기;
    상기 제 1 신호 생성기의 마지막 쉬프트 신호를 입력받아, 상기 제 2 분주 클럭에 따라 순차적으로 활성화되는 다수의 쉬프트 신호를 생성하는 제 2 신호 생성기; 및
    상기 쉬프트 신호들 중 적어도 두 개를 조합하여 상기 제 1 내지 제 N 패턴 데이터를 출력하는 패턴 조합기
    를 포함하는 반도체 장치.
  12. 제 11 항에 있어서,
    상기 패턴 조합기는,
    상기 제 1 신호 생성기로부터 제공되는 상기 쉬프트 신호들 중 하나와, 상기 제 2 신호 생성기로부터 제공되는 상기 쉬프트 신호들 중 하나를 조합하여 상기 제 1 내지 제 N 패턴 데이터 중 하나로 출력하는 반도체 장치.
  13. 제 1 항에 있어서,
    상기 수신 회로는,
    트레이닝 모드 신호에 따라, 상기 데이터 스트로브 패드로 입력되는 상기 펄스를 버퍼링하여 내부 스트로브 신호를 출력하는 입력 버퍼; 및
    상기 내부 스트로브 신호의 주파수를 소정 수로 분주하고, 분주된 신호의 라이징 에지와 폴링 에지에 각각 활성화되는 상기 라이징 신호 및 상기 폴링 신호를 생성하는 분주기
    를 포함하는 반도체 장치.
  14. 트레이닝 모드 시, 제 1 내지 제 N 출력 클럭에 대응되는 펄스를 데이터 스트로브 패드로 순차적으로 출력하는 단계;
    상기 데이터 스트로브 패드로 입력되는 상기 펄스의 라이징 에지와 폴링 에지에 각각 활성화되는 라이징 신호 및 폴링 신호를 생성하는 단계;
    상기 라이징 신호 및 상기 폴링 신호의 위상차에 대응되는 검출 코드를 제 1 내지 제 N 레지스터에 순차적으로 저장하고, 제 1 내지 제 N 저장값을 누적 합산하여 합산 신호를 생성하는 단계;
    상기 합산 신호를 토대로 제 1 내지 제 N 저장값의 평균값을 산출하고, 상기 평균값과 상기 제 1 내지 제 N 저장값의 편차를 상기 제 1 내지 제 N 레지스터에 재저장하는 단계; 및
    상기 제 1 내지 제 N 레지스터의 재저장값을 이용하여 상기 제 1 내지 제 N 출력 클럭의 듀티비를 보정하는 단계
    를 포함하는 반도체 장치의 트레이닝 방법.
  15. 제 14 항에 있어서,
    상기 제 1 내지 제 N 출력 클럭에 대응되는 펄스를 데이터 스트로브 패드로 순차적으로 출력하는 단계는,
    상기 트레이닝 모드 시, 순차적으로 활성화되며 서로 겹치지 않는 활성화 구간을 가지는 제 1 내지 제 N 패턴 데이터를 생성하는 단계; 및
    상기 제 1 내지 제 N 출력 클럭에 따라 상기 제 1 내지 제 N 패턴 데이터를 각각 래치하여 상기 데이터 스트로브 패드로 출력하는 단계
    를 포함하는 반도체 장치의 트레이닝 방법.
  16. 제 14 항에 있어서,
    상기 N은 4이고, 상기 제 1 출력 클럭에 대응되는 펄스는, H-L-L-L의 패턴을 가지며,
    상기 제 2 출력 클럭에 대응되는 펄스는, L-H-L-L의 패턴을 가지며,
    상기 제 3 출력 클럭에 대응되는 펄스는, L-L-H-L의 패턴을 가지며,
    상기 제 4 출력 클럭에 대응되는 펄스는, L-L-L-H의 패턴
    을 가지는 반도체 장치의 트레이닝 방법.
  17. 제 14 항에 있어서,
    트리밍 코드에 따라 상기 라이징 신호를 제 1 지연시키는 단계;
    상기 검출 코드에 따라 상기 제 1 지연된 신호를 제 2 지연시켜 지연된 라이징 신호를 생성하는 단계;
    상기 지연된 라이징 신호 및 상기 폴링 신호의 위상차를 비교하여 비교 신호를 출력하는 단계; 및
    상기 폴링 신호에 따라 소정 주기로 활성화되는 시드 신호를 생성하고, 상기 시드 신호에 따라, 상기 비교 신호에 대응되는 상기 트리밍 코드 및 상기 검출 코드를 생성하는 단계
    를 더 포함하는 반도체 장치의 트레이닝 방법.
  18. 라이징 신호 및 상기 폴링 신호의 위상차를 검출하여 검출 코드를 생성하는 검출부;
    구간 신호에 따라 상기 검출 코드 또는 누적 편차 코드를 선택하고, 제 1 내지 제 N 레지스터 제어 신호에 따라 선택된 코드를 제 1 내지 제 N 레지스터에 저장하는 저장부;
    상기 제 1 내지 제 N 레지스터 제어 신호 및 상기 구간 신호에 따라, 상기 제 1 내지 제 N 레지스터에 저장된 제 1 내지 제 N 저장값을 누적 합산하여 합산 신호를 출력하거나, 편차 코드를 누적 합산하여 상기 누적 편차 코드를 출력하는 누적 합산부;
    상기 합산 신호를 토대로 평균값을 산출하는 평균 계산부; 및
    선택 신호에 따라 상기 제 1 내지 제 N-1 저장값 중 하나를 선택하고, 상기 평균값과 상기 선택된 저장값의 차이를 상기 편차 코드로 출력하는 편차 계산부
    를 포함하는 캘리브레이션 회로.
  19. 제 18 항에 있어서,
    상기 누적 합산부는,
    상기 제 1 내지 제 N 레지스터 제어 신호에 따라 상기 제 1 내지 제 N 저장값 중 하나를 선택하여 출력하는 제 1 누적 선택기;
    상기 구간 신호에 따라 상기 제 1 누적 선택기의 출력과 상기 편차 코드 중 하나를 선택하여 출력하는 제 2 누적 선택기;
    상기 제 2 누적 선택기의 출력과 상기 합산 신호 혹은 상기 누적 편차 코드를 합산하는 가산기; 및
    누적 클럭에 따라 상기 가산기의 출력을 저장하는 플립플롭
    을 포함하는 캘리브레이션 회로.
  20. 제 18 항에 있어서,
    상기 편차 계산부는,
    상기 선택 신호에 따라 상기 제 1 내지 제 3 저장값 중 하나를 선택하는 편차 선택기; 및
    상기 평균값과 상기 편차 선택기의 출력의 차를 상기 편차 코드로 출력하는 감산기
    를 포함하는 캘리브레이션 회로.
KR1020190031885A 2019-03-20 2019-03-20 캘리브레이션 회로를 포함하는 반도체 장치 및 그의 트레이닝 방법 KR20200112040A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020190031885A KR20200112040A (ko) 2019-03-20 2019-03-20 캘리브레이션 회로를 포함하는 반도체 장치 및 그의 트레이닝 방법
US16/670,719 US11024350B2 (en) 2019-03-20 2019-10-31 Semiconductor device including a calibration circuit capable of generating strobe signals and clock signals having accurate duty ratio and training method thereof
CN201911292000.2A CN111724835A (zh) 2019-03-20 2019-12-16 包括校准电路的半导体器件及其训练方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190031885A KR20200112040A (ko) 2019-03-20 2019-03-20 캘리브레이션 회로를 포함하는 반도체 장치 및 그의 트레이닝 방법

Publications (1)

Publication Number Publication Date
KR20200112040A true KR20200112040A (ko) 2020-10-05

Family

ID=72513717

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190031885A KR20200112040A (ko) 2019-03-20 2019-03-20 캘리브레이션 회로를 포함하는 반도체 장치 및 그의 트레이닝 방법

Country Status (3)

Country Link
US (1) US11024350B2 (ko)
KR (1) KR20200112040A (ko)
CN (1) CN111724835A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11398290B2 (en) 2019-10-11 2022-07-26 SK Hynix Inc. Stacked memory device and memory system including the same
US11783908B2 (en) 2019-10-11 2023-10-10 SK Hynix Inc. Stacked semiconductor device and semiconductor system including the same

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115565576A (zh) 2021-07-02 2023-01-03 长鑫存储技术有限公司 一种信号生成电路、方法及半导体存储器
CN115565577A (zh) * 2021-07-02 2023-01-03 长鑫存储技术有限公司 一种信号生成电路、方法及半导体存储器
KR20230037859A (ko) * 2021-09-10 2023-03-17 에스케이하이닉스 주식회사 반도체 장치
CN116137535B (zh) * 2023-02-09 2023-08-29 上海奎芯集成电路设计有限公司 并串转换电路及并串转换时钟信号的生成方法
CN117112030B (zh) * 2023-09-12 2024-03-26 南京微盟电子有限公司 一种寄存器组地址自动累加电路及应用方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003059298A (ja) * 2001-08-09 2003-02-28 Mitsubishi Electric Corp 半導体記憶装置
KR100670654B1 (ko) * 2005-06-30 2007-01-17 주식회사 하이닉스반도체 도메인 크로싱 마진을 증가시키기 위한 반도체메모리소자
US7698589B2 (en) 2006-03-21 2010-04-13 Mediatek Inc. Memory controller and device with data strobe calibration
KR100813554B1 (ko) 2007-01-10 2008-03-17 주식회사 하이닉스반도체 데이터 출력 스트로브 신호 생성 회로 및 이를 포함하는반도체 메모리 장치
EP2232493B1 (en) * 2007-12-21 2018-05-09 Rambus Inc. Method and apparatus for calibrating write timing in a memory system
JP5407551B2 (ja) * 2009-05-22 2014-02-05 富士通セミコンダクター株式会社 タイミング調整回路及びタイミング調整方法
KR20160029391A (ko) * 2014-09-05 2016-03-15 에스케이하이닉스 주식회사 반도체 장치의 출력 타이밍 제어 회로 및 방법
KR20170013486A (ko) * 2015-07-27 2017-02-07 에스케이하이닉스 주식회사 반도체장치 및 반도체시스템
KR102472123B1 (ko) * 2016-03-16 2022-11-30 에스케이하이닉스 주식회사 반도체 시스템 및 그의 동작 방법
KR102536657B1 (ko) * 2016-07-12 2023-05-30 에스케이하이닉스 주식회사 반도체 장치 및 반도체 시스템
KR102410014B1 (ko) * 2017-08-03 2022-06-21 삼성전자주식회사 클락 지터 측정 회로 및 이를 포함하는 반도체 장치
KR20190093293A (ko) 2018-02-01 2019-08-09 에스케이하이닉스 주식회사 직렬화기 및 이를 포함하는 반도체 시스템
US10727824B2 (en) 2018-02-01 2020-07-28 SK Hynix Inc. Strobe generation circuit and semiconductor device including the same
KR102520259B1 (ko) * 2018-03-09 2023-04-11 에스케이하이닉스 주식회사 반도체시스템
JP7066556B2 (ja) * 2018-07-11 2022-05-13 キオクシア株式会社 メモリシステム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11398290B2 (en) 2019-10-11 2022-07-26 SK Hynix Inc. Stacked memory device and memory system including the same
US11783908B2 (en) 2019-10-11 2023-10-10 SK Hynix Inc. Stacked semiconductor device and semiconductor system including the same

Also Published As

Publication number Publication date
US20200302979A1 (en) 2020-09-24
CN111724835A (zh) 2020-09-29
US11024350B2 (en) 2021-06-01

Similar Documents

Publication Publication Date Title
KR20200112040A (ko) 캘리브레이션 회로를 포함하는 반도체 장치 및 그의 트레이닝 방법
US7642827B2 (en) Apparatus and method for multi-phase clock generation
US6157229A (en) Skew compensation device
US7825710B2 (en) Delay-locked loop circuits and method for generating transmission core clock signals
US7183824B2 (en) Duty cycle correction circuit and a method for duty cycle correction in a delay locked loop using an inversion locking scheme
KR100753137B1 (ko) 지연고정루프 및 지연고정루프 클럭 생성방법
US7501866B2 (en) Delay locked loop circuit
US10439601B2 (en) Apparatus and method for instant-on quadra-phase signal generator
US7719334B2 (en) Apparatus and method for multi-phase clock generation
US7605622B2 (en) Delay locked loop circuit
US20080191757A1 (en) Delay locked loop circuit with duty cycle correction and method of controlling the same
US20090009228A1 (en) Clock generating apparatus
US20120268181A1 (en) Semiconductor device
KR20100073426A (ko) Dll 회로
US20050146365A1 (en) Apparatus for generating internal clock signal
US8729940B2 (en) Delay locked loop circuit and semiconductor device having the same
KR100608371B1 (ko) 메모리 장치의 데이타 출력 제어 방법 및 그 장치
US7940096B2 (en) Register controlled delay locked loop circuit
KR100525096B1 (ko) Dll 회로
US7884661B2 (en) Clock generator circuit, method of clock generating, and data output circuit using the clock generating circuit and method
US11962309B2 (en) Phase adjusting circuit, delay locking circuit, and memory
US20080180149A1 (en) Delay locked loop circuit having coarse lock time adaptive to frequency band and semiconductor memory device having the delay locked loop circuit
US8970268B2 (en) Semiconductor apparatus
US7177229B2 (en) Apparatus for tuning a RAS active time in a memory device
US20240063802A1 (en) Delay locked loop and memory

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal