KR102338377B1 - A programmable High-Speed Digital Clock Frequency Divider and method for controlling thereof - Google Patents

A programmable High-Speed Digital Clock Frequency Divider and method for controlling thereof Download PDF

Info

Publication number
KR102338377B1
KR102338377B1 KR1020210153366A KR20210153366A KR102338377B1 KR 102338377 B1 KR102338377 B1 KR 102338377B1 KR 1020210153366 A KR1020210153366 A KR 1020210153366A KR 20210153366 A KR20210153366 A KR 20210153366A KR 102338377 B1 KR102338377 B1 KR 102338377B1
Authority
KR
South Korea
Prior art keywords
clk
reset
output
logic
value
Prior art date
Application number
KR1020210153366A
Other languages
Korean (ko)
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 KR1020210153366A priority Critical patent/KR102338377B1/en
Application granted granted Critical
Publication of KR102338377B1 publication Critical patent/KR102338377B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K21/00Details of pulse counters or frequency dividers
    • H03K21/40Monitoring; Error detection; Preventing or correcting improper counter operation
    • H03K21/406Synchronisation of counters
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K21/00Details of pulse counters or frequency dividers
    • H03K21/38Starting, stopping or resetting the counter
    • 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/16Indirect frequency synthesis, i.e. generating a desired one of a number of predetermined frequencies using a frequency- or phase-locked loop
    • H03L7/18Indirect frequency synthesis, i.e. generating a desired one of a number of predetermined frequencies using a frequency- or phase-locked loop using a frequency divider or counter in the loop
    • H03L7/183Indirect frequency synthesis, i.e. generating a desired one of a number of predetermined frequencies using a frequency- or phase-locked loop using a frequency divider or counter in the loop a time difference being used for locking the loop, the counter counting between fixed numbers or the frequency divider dividing by a fixed number
    • H03L7/193Indirect frequency synthesis, i.e. generating a desired one of a number of predetermined frequencies using a frequency- or phase-locked loop using a frequency divider or counter in the loop a time difference being used for locking the loop, the counter counting between fixed numbers or the frequency divider dividing by a fixed number the frequency divider/counter comprising a commutable pre-divider, e.g. a two modulus divider

Landscapes

  • Manipulation Of Pulses (AREA)
  • Stabilization Of Oscillater, Synchronisation, Frequency Synthesizers (AREA)

Abstract

The present invention relates to a variably programmable high-speed digital clock frequency divider and a control method thereof. The variably programmable high-speed digital clock frequency divider comprises: a synchronous counter which increase and counts the number whenever a pulse signal of an input clock (CLK_IN) occurs, and generates a count code (C) as an output signal; a count detector which compares the count code (C), which is the output signal of the synchronous counter, with a programmable variable divisor (N) applied from the outside, and generates an output clock (CLK_OUT) divided by a frequency 1/N lower than the frequency of the input clock (CLK_IN) under the control of a reset logic unit; and the reset logic unit which detects a change in the output clock (CLK_OUT) of the count detector and generates a reset signal (Reset) for controlling the state of the synchronous counter. The present invention can greatly improve the operating speed of the frequency divider to 10 GHz or more.

Description

가변적으로 프로그램 가능한 고속 디지털 클럭 주파수 분주기 및 그 제어방법 {A programmable High-Speed Digital Clock Frequency Divider and method for controlling thereof}A variably programmable High-Speed Digital Clock Frequency Divider and method for controlling thereof

본 발명은 반도체 회로의 클럭 주파수 분주기 (Clock Frequency Divider) 회로에 관한 것으로, 보다 상세하게는 고속의 입력 클럭 주파수를 가변적으로 프로그램 가능한 정수의 제수 값 N으로 분주하여 1/N의 낮은 출력 클럭 주파수를 발생시키는 고속 CMOS 기반 가변적으로 프로그램 가능한 고속 디지털 클럭 주파수 분주기 및 그 제어방법에 관한 것이다. The present invention relates to a clock frequency divider circuit for a semiconductor circuit, and more particularly, to a low output clock frequency of 1/N by dividing a high-speed input clock frequency by a variably programmable integer divisor value N. A high-speed CMOS-based variably programmable high-speed digital clock frequency divider for generating

주파수 분주기는 입력 신호를 분주하여, 입력 신호보다 낮은 주파수를 가지는 출력 신호를 발생하는 기능을 수행한다. 주파수 분주기는 위상 고정 루프(phase-locked loop; PLL), 주파수 합성기(frequency synthesizer)등과 같은 클럭 생성 회로 및 이를 포함하는 다양한 집적 회로에 적용될 수 있다.The frequency divider divides the input signal to generate an output signal having a lower frequency than the input signal. The frequency divider may be applied to a clock generation circuit such as a phase-locked loop (PLL), a frequency synthesizer, and the like, and various integrated circuits including the same.

온-칩 (On-Chip) 클럭 주파수 분주기 (Clock Frequency Divider)는 일반적인 PLL (phase-locked loop) 혹은 Multiplying Delay-Locked Loop (MDLL) 기반 주파수 합성기/증배기 (frequency synthesizer/multiplier) 구조에서 주파수 증배를 위해 필요한 가장 핵심적인 회로의 하나이다. On-Chip Clock Frequency Divider is a common phase-locked loop (PLL) or Multiplying Delay-Locked Loop (MDLL) based frequency synthesizer/multiplier architecture. It is one of the most essential circuits required for multiplication.

고속으로 동작하는 대부분의 집적회로 (Integrated Circuit: IC)들은 칩 (Chip) 내부에 클럭 주파수의 증배 및 합성을 위한 PLL (phase-locked loop) 혹은 Multiplying Delay-Locked Loop (MDLL) 기반의 주파수 합성기/증배기 (frequency synthesizer/multiplier) 회로를 포함하고 있는데, 이러한 주파수 합성기/증배기 구조에서 가장 핵심적인 구성 요소의 하나가 프로그래머블한 클럭 주파수 분주기이다. 넓고 다양한 PLL/MDLL 기반 주파수 증배기/합성기의 출력 주파수 생성을 위해서 클럭 주파수 분주기의 가변 제수 N 값은 넓은 범위에서 가변적으로 프로그램 할 수 있어야 하며, 고속동작과 작은 면적 및 적은 파워소모를 필요로 한다. Most integrated circuits (ICs) operating at high speed are PLL (phase-locked loop) or Multiplying Delay-Locked Loop (MDLL)-based frequency synthesizers/ It contains a frequency synthesizer/multiplier circuit, and one of the most essential components of this frequency synthesizer/multiplier structure is a programmable clock frequency divider. In order to generate the output frequency of a wide variety of PLL/MDLL-based frequency multipliers/synthesizers, the variable divisor N value of the clock frequency divider must be variably programmable over a wide range, requiring high-speed operation, small area, and low power consumption. do.

클록 주파수 분주기는 입력 클록 (fclk)의 주파수를 특정 제수 (divisor) 값 N으로 나누어 입력보다 낮은 출력 주파수 fout (= fclk/N)을 생성하는 회로이다. A clock frequency divider is a circuit that divides the frequency of the input clock (fclk) by a specific divisor value N to produce an output frequency fout (= fclk/N) lower than the input.

일반적인 클록 주파수 분주기는 일반적으로 직렬 디바이드-바이-2 카운터 (cascaded divide-by-2 counter) 방식과 이중-모듈러스 프리스칼라 (dual-modulus prescalar) 방식을 예로 들 수 있다. 디바이드-바이-2 카운터 방식의 클록 분주기는 출력 주파수를 2M으로만 나눌 수 있으므로 사용이 제한적이다. A typical clock frequency divider may include, for example, a cascaded divide-by-2 counter method and a dual-modulus prescalar method. The divide-by-2 counter type clock divider can only divide the output frequency by 2 M , so its use is limited.

여기서 M은 직렬로 연결된 D 플립-플롭 (Flip-Flop) 단의 수이다. 이중-모듈러스 프리스칼라 (dual-modulus prescalar) 기반 분주기는 주로 좁은 주파수 범위에서 고주파수 분해능을 생성하는 무선 RF 응용 분야에 적합하다.where M is the number of D flip-flop stages connected in series. Dual-modulus prescalar-based dividers are primarily suitable for wireless RF applications that produce high-frequency resolution in a narrow frequency range.

종래 기술에 따른 디바이드-바이-N 클럭 주파수 분주기들은 작은 면적으로 자유롭게 제수 N을 넓은 범위에서 (예: 1 ~ 1024) 선택적으로 프로그램하여 사용하기에 적합하지 않았다. The divide-by-N clock frequency dividers according to the prior art are not suitable for selectively programming the divisor N in a wide range (eg, 1 to 1024) with a small area.

또한, 종래 구조의 디바이드-바이-N 클럭 주파수 분주기들은 10GHz 이상의 고속 동작에 적합하지 않거나, 넓은 실리콘 면적과 많은 파워소모를 가지는 문제점을 가지므로 출력 주파수를 가변적으로 다양하고 넓은 범위로 프로그램해야하는 고속 PLL/MDLL 기반 주파수 합성기/증배기 등의 응용에 적용하기 어려운 구조를 가진다.In addition, the divide-by-N clock frequency dividers of the conventional structure are not suitable for high-speed operation of 10 GHz or more, or have problems with a large silicon area and large power consumption. It has a structure that is difficult to apply to applications such as PLL/MDLL-based frequency synthesizers/multipliers.

따라서, 고속의 PLL 혹은 MDLL 기반 주파수 증배기/합성기에서 프로그래머블하게 주파수 증배 계수 N을 가변적으로 바꿀 수 있는 기능에 필요한 divide-by-N 카운터 구조의 초고속, 저전력 및 소면적을 갖는 가변적으로 프로그램 가능한 주파수 분주기의 개발이 필요한 상황이다.Therefore, a variably programmable frequency with ultra-high speed, low power and small area with a divide-by-N counter structure required for the ability to variably change the frequency multiplication factor N programmably in a high-speed PLL or MDLL-based frequency multiplier/synthesizer. There is a need to develop a dispenser.

한국등록특허 제10-0266742 호Korean Patent No. 10-0266742

본 발명은 상술한 종래의 문제점을 극복하기 위한 것으로서, 본 발명이 해결하고자 하는 과제는 고속의 입력 클럭 주파수를 자유롭게 값을 변경하여 프로그램 가능한 정수의 제수 (= Divisor 혹은 Division Factor) N으로 분주하여 1/N의 낮은 출력 클럭 주파수를 발생시키는 고속, 저전력, 소면적을 갖는 가변적으로 프로그램 가능한 고속 디지털 클럭 주파수 분주기 및 그 제어방법을 제공하기 위한 것이다.The present invention is to overcome the above-mentioned conventional problems, and the problem to be solved by the present invention is to freely change the value of a high-speed input clock frequency and divide it by a programmable integer divisor (= Divisor or Division Factor) N to 1 An object of the present invention is to provide a variably programmable high-speed digital clock frequency divider having a high speed, low power, and small area for generating a low output clock frequency of /N, and a method for controlling the same.

본 발명의 예시적인 실시예에 따르면, 입력 클럭(CLK_IN)의 펄스 신호가 발생할 때 마다 숫자를 증가시켜 카운팅하여, 출력신호로 카운트 코드(C)를 발생시키는 동기식 카운터; 상기 동기식 카운터의 출력신호인 카운터 코드(C)와 외부에서 인가된 프로그래머블한 가변 제수(N)를 비교하여, 리셋 로직부의 제어에 따라 상기 입력 클럭(CLK_IN)의 주파수보다 1/N의 낮은 주파수로 분주된 출력 클럭(CLK_OUT)를 발생시키는 카운트 디텍터; 및 상기 카운트 디텍터의 출력 클럭(CLK_OUT)의 변화를 감지하여, 상기 동기식 카운터의 상태를 제어하는 리셋 신호(Reset)을 발생시키는 리셋 로직부;를 포함하는 가변적으로 프로그램 가능한 고속 디지털 클럭 주파수 분주기가 제공된다.According to an exemplary embodiment of the present invention, each time the pulse signal of the input clock (CLK_IN) is generated, counting by increasing the number, a synchronous counter to generate a count code (C) as an output signal; By comparing the counter code (C), which is the output signal of the synchronous counter, and a programmable variable divisor (N) applied from the outside, the frequency of 1/N lower than the frequency of the input clock (CLK_IN) is set according to the control of the reset logic unit. a count detector for generating a divided output clock CLK_OUT; and a reset logic unit that detects a change in the output clock (CLK_OUT) of the count detector and generates a reset signal (Reset) for controlling the state of the synchronous counter. provided

상기 동기식 카운터는, 다수 개의 플립-플롭(flip-flop)으로 구성되어 K-bit의 다중 출력을 갖는 것을 특징으로 한다. The synchronous counter is composed of a plurality of flip-flops and has multiple outputs of K-bit.

상기 다수 개의 플립-플롭의 출력은 입력 클럭(CLK_IN) 펄스 신호에 동기되어 바이너리(Binary) 출력 신호인 K-bit 카운터 코드(C)를 출력할 수 있다. Outputs of the plurality of flip-flops may be synchronized with an input clock (CLK_IN) pulse signal to output a K-bit counter code C, which is a binary output signal.

상기 동기식 카운터는 상기 리셋 로직부의 출력인 리셋 신호(Reset)가 로직 '1'을 유지하고 있을 경우에만 카운팅 동작을 수행하며, 상기 리셋 신호(Reset)가 로직 '0'일 경우 카운터 코드를 '0'으로 리셋시키는 동작을 수행한다. The synchronous counter performs a counting operation only when the reset signal Reset, which is the output of the reset logic unit, maintains a logic '1'. When the reset signal Reset is a logic '0', the counter code is set to '0'. ' to reset it.

상기 카운트 디텍터는 슈도-NMOS(Pseudo-NMOS) 기반 카운트 디덱터인 것을 특징으로 한다. The count detector is a pseudo-NMOS (Pseudo-NMOS) based count detector.

상기 슈도-NMOS 기반 카운트 디텍터는, 상기 카운터 코드(C)와 상기가변 제수 (N)값이 서로 같아질 때, 상기 출력 클럭(CLK_OUT)을 초기 로직 '1' 상태에서 로직 '0'으로 변환시키며, 다음 입력 클럭(CLK_IN) 사이클 상승 에지에 상기 카운터 코드(C)가 증가하여 상기 카운터 코드(C)와 상기 가변 제수(N)가 서로 상이하게 되면, 상기 출력 클럭(CLK_OUT)을 로직 '1' 상태로 복귀시킨다. The pseudo-NMOS based count detector converts the output clock CLK_OUT from an initial logic '1' state to a logic '0' when the counter code (C) and the variable divisor (N) value are equal to each other, , when the counter code C increases at the rising edge of the next input clock CLK_IN cycle and the counter code C and the variable divisor N are different from each other, the output clock CLK_OUT is set to a logic '1' return to state

상기 슈도-NMOS 기반 카운트 디텍터는, PMOS 소자; 상기 PMOS에 연결된 복수의 비교 유닛(Comparator Unit); 및 상기 복수의 비교 유닛에 연결된 제1 CMOS 인버터;를 포함한다. The pseudo-NMOS based count detector may include a PMOS device; a plurality of comparison units connected to the PMOS; and a first CMOS inverter coupled to the plurality of comparison units.

상기 PMOS는 게이트(Gate) 단자가 로직 '0' 값으로 연결되고, 소스(Source) 단자가 전원 전압에 연결되고, 드레인(Drain) 단자는 노드 X에 연결되어 항상 도통 (turn-on)되도록 구성되며, 상기 복수의 비교 유닛 각각은 상기 노드 X에 연결되고, 두 개의 입력 신호로 카운터 코드(C)와 가변 제수(N)을 입력 받아서 Exclusive-OR(XOR) 로직 기능을 수행하며, 상기 제1 CMOS 인버터는 상기 노드 X를 입력으로 받고 출력 클럭(CLK_OUT)을 생성하는 것을 특징으로 한다. The PMOS is configured such that a gate terminal is connected to a logic '0' value, a source terminal is connected to a power voltage, and a drain terminal is connected to node X so that it is always turned on. and each of the plurality of comparison units is connected to the node X, receives a counter code (C) and a variable divisor (N) as two input signals to perform an Exclusive-OR (XOR) logic function, and the first The CMOS inverter receives the node X as an input and generates an output clock CLK_OUT.

상기 보수의 비교 유닛 각각은 상기 PMOS 소자와 함께 슈도(Pseudo)-NMOS 비교기 구조를 가지며, 카운터 코드(C)와 가변 제수(N)가 상이할 경우 상기 X 노드의 신호를 로직 '0' 으로 유지시키고, 카운터 코드(C)와 가변 제수(N)가 같은 경우 상기 X 노드를 로직 '1'으로 변환시키는 동작을 수행한다. Each of the complement comparison units has a pseudo-NMOS comparator structure together with the PMOS device, and when the counter code (C) and the variable divisor (N) are different, the signal of the X node is maintained at a logic '0' and, when the counter code (C) and the variable divisor (N) are the same, an operation of converting the X node to a logic '1' is performed.

상기 보수의 비교 유닛 각각은, 카운터 코드(C)와 가변 제수(N)을 입력으로 갖는 2개의 입력단자; 제1 내지 제4 NMOS 소자; 및 제2 CMOS 인버터와 제3 CMOS 인버터;를 포함하며,Each of the complement comparison units includes two input terminals having a counter code (C) and a variable divisor (N) as inputs; first to fourth NMOS devices; and a second CMOS inverter and a third CMOS inverter;

상기 카운터 코드(C)와 상기 가변 제수(N)의 값에 따라, 상기 X노드를 로직 '0'으로 도통시킬 수 있는 제1 전류 패스와 제2 전류 패스의 활성화 내지 차단이 결정된다. Depending on the counter code (C) and the value of the variable divisor (N), activation or blocking of the first current path and the second current path capable of conducting the X node with a logic '0' is determined.

상기 제1 NMOS 소자는 상기 가변 제수(N)을 게이트 입력으로 받고 드레인 노드가 상기 X노드에 연결되며,The first NMOS device receives the variable divisor (N) as a gate input, and a drain node is connected to the X node;

상기 제2 NMOS 소자는 상기 카운트 코드(C)를 게이트 입력으로 받고 드레인 노드가 상기 X노드에 연결되며, The second NMOS device receives the count code (C) as a gate input and a drain node is connected to the X node,

상기 제2 CMOS 인버터는 상기 가변 제수(N)을 입력으로 받아 CMOS 출력을 생성하며, The second CMOS inverter receives the variable divisor (N) as an input and generates a CMOS output,

상기 제3 COMS 인버터는 상기 카운트 코드(C)를 입력으로 받아 CMOS 출력을 생성하며, The third COMS inverter receives the count code (C) as an input and generates a CMOS output,

상기 제3NMOS 소자는 상기 제3 CMOS 인버터의 출력 노드를 게이트 입력으로 받고, 상기 제1 NMOS 소자의 소스 노드를 드레인으로 받고, 상기 소스 노드가 그라운드(Ground)로 연결되며, The third NMOS device receives the output node of the third CMOS inverter as a gate input, receives the source node of the first NMOS device as a drain, and the source node is connected to a ground;

상기 제4 NMOS 소자는 상기 제2CMOS 인버터의 출력 노드를 게이트 입력으로 받고, 상기 제2 NMOS 소자의 소스 노드를 드레인으로 받고, 상기 소스 노드가 그라운드(Ground)로 연결된다. The fourth NMOS device receives the output node of the second CMOS inverter as a gate input, receives the source node of the second NMOS device as a drain, and the source node is connected to a ground.

상기 리셋 로직부는, 상기 출력 클럭(CLK_OUT) 신호를 입력받아 리셋 신호(Reset)를 발생시키고, 상기 리셋 신호(Reset) 신호는 상기 출력 클록(CLK_OUT) 신호의 상승 에지에 동기화된 로직 '0'을 발생시키고, 상기 동기식 카운터의 모든 출력 카운터 코드(C)를 로직'0'으로 리셋시키는 것을 특징으로 한다. The reset logic unit receives the output clock (CLK_OUT) signal to generate a reset signal (Reset), and the reset signal (Reset) generates a logic '0' synchronized with a rising edge of the output clock (CLK_OUT) signal. and resetting all output counter codes (C) of the synchronous counter to logic '0'.

본 발명의 다른 측면에 따르면, 가변 제수(N) 값을 슈도-NMOS 기반 카운트 디텍터에 인가하는 단계; 리셋 로직부의 리셋 신호(Reset)의 출력이 로직 '1'인지 여부를 판단하는 단계; 상기 리셋 신호(Reset)의 출력이 로직 '1'인 경우, 동기식 카운터는 입력 클럭(CLK_IN)을 입력받아, 입력 클럭의 펄스 신호 발생마다 '1'씩 증가시켜 카운트하여, 카운트 코드(C) 값을 발생시키며, 상기 리셋 신호(Reset)의 출력이 로직 'O'인 경우, 카운터 코드(C)값을 모두 0으로 리셋시키는 단계; 카운트 코드(C)값과 가변 제수(N)값이 같은지 비교하는 단계; 판단 결과, 카운트 코드(C)값과 가변 제수(N)값이 같은 경우, 입력 클럭(CLK_IN)의 주파수보다 1/N의 낮은 주파수로 분주된 출력 클럭(CLK_OUT)를 발생시키는 단계;를 포함하는 가변적으로 프로그램 가능한 고속 디지털 클럭 주파수 분주기 제어방법이 제공된다.According to another aspect of the present invention, there is provided a method comprising: applying a variable divisor (N) value to a pseudo-NMOS based count detector; determining whether an output of the reset signal Reset of the reset logic unit is logic '1'; When the output of the reset signal Reset is logic '1', the synchronous counter receives the input clock CLK_IN and increases the count by '1' for each pulse signal of the input clock, and counts the count code (C) value resetting all counter code (C) values to 0 when the output of the reset signal (Reset) is logic 'O'; comparing the count code (C) value and the variable divisor (N) value to see if they are the same; As a result of the determination, when the count code (C) value and the variable divisor (N) value are the same, generating the output clock (CLK_OUT) divided by a frequency 1/N lower than the frequency of the input clock (CLK_IN); A variably programmable high-speed digital clock frequency divider control method is provided.

상기 입력 클럭(CLK_IN)의 주파수보다 1/N의 낮은 주파수로 분주된 출력 클럭(CLK_OUT)를 발생시키는 단계는,The step of generating the output clock CLK_OUT divided by a frequency 1/N lower than the frequency of the input clock CLK_IN includes:

상기 카운트 코드(C)값과 가변 제수(N)값이 같은 경우, 출력 클럭(CLK_OUT) 신호를 초기 로직 '1' 상태에서 로직 '0'로 변환시키는 단계; 다음 입력 클럭(CLK_IN) 사이클 상승 에지에 카운터 코드 C가 1만큼 증가한 후, 카운트 코드(C)값과 가변 제수(N)값이 같은지 비교하는 단계; 판단 결과, 카운트 코드(C)값과 가변 제수(N)값이 서로 달라지게 되면, 출력 클럭(CLK_OUT) 신호를 로직 '1' 상태로 복귀시키는 단계;를 포함한다. converting an output clock (CLK_OUT) signal from an initial logic '1' state to a logic '0' when the count code (C) value and the variable divisor (N) value are the same; after the counter code C is increased by 1 on the rising edge of the next input clock (CLK_IN) cycle, comparing the count code (C) value and the variable divisor (N) value to see if they are the same; and returning the output clock signal CLK_OUT to a logic '1' state when the count code (C) value and the variable divisor (N) value are different from each other as a result of the determination.

본 발명에 따르면, 간단한 구조로 작은 면적과 적은 파워 소모를 가지면서도 10 GHz 이상 고속으로 동작하는 슈도-NMOS 기반 카운트 디텍터를 사용함으로써 주파수 분주기의 동작 속도를 10 GHz 이상으로 크게 개선하며, 동시에 적은 면적과 파워소모를 가지며, 넓은 주파수 범위에서 디지털적으로 출력 주파수를 입력의 1/N로 프로그램하여 분주시키는 효과를 갖는다.According to the present invention, the operation speed of the frequency divider is greatly improved to 10 GHz or more by using a pseudo-NMOS-based count detector that operates at a high speed of 10 GHz or more while having a small area and low power consumption with a simple structure, and at the same time It has an area and power consumption, and has the effect of dividing by digitally programming the output frequency to 1/N of the input in a wide frequency range.

또한, 본 발명에 따른 가변적으로 프로그램 가능한 고속 디지털 클럭 주파수 분주기는 10 GHz 이상 고속 주파수 증배기/합성기에 적용 가능하며, 적은 면적과 파워로 CMOS 주파수 증배기/합성기의 증배 계수를 다양하고 넓은 범위에서 가변적으로 증배/합성할 수 있는 효과를 갖는다.In addition, the variably programmable high-speed digital clock frequency divider according to the present invention can be applied to a high-speed frequency multiplier/synthesizer of 10 GHz or higher, and can increase the multiplication factor of the CMOS frequency multiplier/synthesizer in a wide and diverse range with a small area and power. It has the effect of variably multiplying / synthesizing.

도 1은 본 발명에 따른 가변적으로 프로그램 가능한 고속 디지털 클럭 주파수 분주기의 동작을 설명하기 위한 개념도이다.
도 2는 본 발명의 일 실시예에 따른 가변적으로 프로그램 가능한 고속 디지털 클럭 주파수 분주기의 구성도이다.
도 3은 본 발명에 따른 가변적으로 프로그램 가능한 고속 디지털 클럭 주파수 분주기의 동작을 설명하기 위한 타이밍 다이어그램 도이다.
도 4는 슈도-NMOS 기반 카운트 디텍터의 구성을 나타내는 회로도이다.
도 5는 본 발명에 따른 가변적으로 프로그램 가능한 고속 디지털 클럭 주파수 분주기의 제어방법을 나타낸 흐름도이다.
1 is a conceptual diagram for explaining the operation of a variably programmable high-speed digital clock frequency divider according to the present invention.
2 is a block diagram of a variably programmable high-speed digital clock frequency divider according to an embodiment of the present invention.
3 is a timing diagram for explaining the operation of a variably programmable high-speed digital clock frequency divider according to the present invention.
4 is a circuit diagram showing the configuration of a pseudo-NMOS based count detector.
5 is a flowchart illustrating a control method of a variably programmable high-speed digital clock frequency divider according to the present invention.

이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 대해 상세히 설명한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명에 따른 가변적으로 프로그램 가능한 고속 디지털 클럭 주파수 분주기의 동작을 설명하기 위한 개념도이다. 1 is a conceptual diagram for explaining the operation of a variably programmable high-speed digital clock frequency divider according to the present invention.

도 1을 참조하면, 본 발명에 따른 가변적으로 프로그램 가능한 고속 디지털 클럭 주파수 분주기는 외부에서 프로그래머블하게 제어할 수 있는 가변 제수 (= divisor) N 값에 따라 입력 클럭 주파수 fclk를 1/N로 분주시켜 낮은 주파수를 가지는 출력 클럭 fout (= (1/N)*fclk)을 생성하는 기능을 수행한다. 즉, 입력 클럭 (fclk)의 주파수를 프로그램 가능한 가변 제수 (=divisor) 값 N으로 나누어 입력보다 낮은 출력 주파수 fout (= fclk/N)을 생성할 수 있는 회로이다. 1, a variably programmable high-speed digital clock frequency divider according to the present invention divides an input clock frequency fclk by 1/N according to a variable divisor (= divisor) N value programmable from the outside. It performs a function of generating an output clock fout (= (1/N)*fclk) having a low frequency. That is, it is a circuit capable of generating an output frequency fout (= fclk/N) lower than the input by dividing the frequency of the input clock fclk by a programmable variable divisor (=divisor) value N.

도 2는 본 발명의 일 실시예에 따른 가변적으로 프로그램 가능한 고속 디지털 클럭 주파수 분주기의 구성도이다. 2 is a block diagram of a variably programmable high-speed digital clock frequency divider according to an embodiment of the present invention.

도 2를 참조하면, 본 발명의 일 실시예에 따른 가변적으로 프로그램 가능한 고속 디지털 클럭 주파수 분주기는 슈도-NMOS(Pseudo-NMOS) 기반 카운트 디텍터 (Count Detector)(200), 동기식 카운터(Synchronous Counter)(300) 및 리셋 로직부(Reset logic)(400)을 포함한다.Referring to FIG. 2 , a variably programmable high-speed digital clock frequency divider according to an embodiment of the present invention includes a pseudo-NMOS based count detector 200 and a synchronous counter. 300 and a reset logic unit 400 .

동기식 카운터(Synchronous Counter)(300)는 fclk의 주파수를 가지는 고속 입력 클럭 신호(CLK_IN)의 펄스 신호가 발생할 때 마다 그 숫자를 1씩 증가시켜 카운팅하며, 출력신호로 멀티-비트 카운트 코드(C)를 발생시킨다. 본 실시예에서 동기식 카운터(300)는 멀티-비트(multi-bit) 싱크로너스 바이너리 카운터 (Synchronous Binary Counter)가 이용될 수 있다.The synchronous counter 300 counts by increasing the number by 1 whenever a pulse signal of the high-speed input clock signal CLK_IN having a frequency of fclk occurs, and a multi-bit count code (C) as an output signal causes In this embodiment, the synchronous counter 300 may use a multi-bit synchronous binary counter.

슈도-NMOS 기반 카운트 디텍터(Count Detector)(200)는 동기식 카운터(300)의 출력신호인 카운터 코드(C) 값과 외부에서 인가한 프로그래머블한 가변 제수 N 값을 서로 비교하여, 리셋 로직부의 제어에 따라 입력 클럭(CLK_IN)의 주파수보다 1/N의 낮은 주파수로 분주된 출력 클럭 신호(CLK_OUT)를 발생시킨다. The pseudo-NMOS-based count detector 200 compares the counter code (C) value, which is the output signal of the synchronous counter 300, and the externally applied programmable variable divisor N value with each other, to control the reset logic unit. Accordingly, an output clock signal CLK_OUT divided by a frequency of 1/N lower than the frequency of the input clock CLK_IN is generated.

리셋 로직부(Reset logic)(400)는 슈도-NMOS 기반 카운트 디텍터(200)의 출력 신호(CLK_OUT)의 변화를 감지하여 동기식 카운터(300)의 상태를 제어하는 리셋 신호(Reset)을 발생시킨다. The reset logic unit 400 detects a change in the output signal CLK_OUT of the pseudo-NMOS based count detector 200 to generate a reset signal Reset for controlling the state of the synchronous counter 300 .

각 구성에 대하여 보다 상세히 설명하면, If each configuration is described in more detail,

동기식 카운터 (300)은 주기적인 입력 클럭(CLK_IN)의 클럭 펄스가 발생할 때 마다 그 숫자를 UP 카운터 방식으로 1씩 증가시켜 카운팅하는 동작을 수행하는 K-bit 싱크로너스 바이너리 카운터 (Synchronous Binary Counter)로 구성된다. The synchronous counter 300 is composed of a K-bit synchronous binary counter that counts by increasing the number by 1 in the UP counter method whenever a clock pulse of the periodic input clock (CLK_IN) occurs. do.

이러한 동기식 카운터 (300)은 다수 개의 플립-플롭 (flip-flop)으로 구성되어 K-bit의 다중 출력을 가질 수 있으며, 모든 플립-플롭들의 출력이 입력 신호 (CLK_IN) 클럭 펄스에 동기되어 바이너리 (Binary) 출력 신호인 K-bit 카운터 코드 (C)를 내보내는 동기식 K-bit 바이너리 카운터이다. 카운팅 하고자 하는 숫자의 범위를 늘리고 싶을 경우, K의 숫자를 키워서 변경할 수 있다. 예를 들어, K-bit 동기식 카운터 (300)의 구성에 있어서 K=10 을 사용할 경우, 카운팅 할 수 있는 범위는 십진수로 1 ~ 1024 (=2K = 210)의 정수 값에 해당한다.The synchronous counter 300 is composed of a plurality of flip-flops and may have multiple K-bit outputs, and the outputs of all flip-flops are synchronized with the input signal (CLK_IN) clock pulse to generate a binary ( Binary) It is a synchronous K-bit binary counter that outputs the K-bit counter code (C), which is an output signal. If you want to increase the range of numbers you want to count, you can change it by increasing the number of K. For example, when K=10 is used in the configuration of the K-bit synchronous counter 300, the countable range corresponds to an integer value of 1 to 1024 (=2 K = 2 10 ) in decimal.

동기식 카운터(300)는 리셋 로직부(400)의 출력인 리셋 신호(Reset)가 로직 "1"을 유지하고 있을 경우에만 카운팅 동작을 수행하며, 리셋 신호(Reset)가 로직 "0"일 경우, 카운터 출력 값을 모두 0으로 리셋시키는 동작을 수행한다. 이후 The synchronous counter 300 performs a counting operation only when the reset signal Reset, which is the output of the reset logic unit 400, maintains a logic “1”, and when the reset signal Reset is a logic “0”, Performs an operation to reset all counter output values to 0. after

리셋(Reset)신호가 다시 로직 "1"으로 변경되면, 초기값 0부터 다시 카운팅 동작을 수행한다.When the reset signal is changed back to logic “1”, the counting operation is performed again from the initial value 0.

동기식 카운터의 출력 카운터 코드 신호(C)는 입력 클럭(CLK_IN) 펄스가 발생할 때 마다, 카운팅 동작을 수행하여 카운터 코드 C 값이 초기 값 0에서 트리거 값 (Trigger Value) N이 될 때까지 1씩 증가한다. 여기서 트리거 값은 제수 (divisor) 값 N을 의미하며, 멀티-비트를 사용하여 자유롭게 프로그래밍 할 수 있다. Each time the input clock (CLK_IN) pulse occurs, the output counter code signal (C) of the synchronous counter increases by 1 until the counter code C value becomes the trigger value N from the initial value 0 by performing a counting operation. do. Here, the trigger value means a divisor value N, and can be freely programmed using multi-bit.

카운터 코드 C 값이 초기값에서 출발하여 매 입력 클럭(CLK_IN) 사이클 마다 1씩 증가하여 N번째 상승 에지 (edge)에서 트리거 값인 N이 되면, 카운터 코드 C의 값과 가변 제수 N의 값은 서로 같아지게 된다. If the counter code C value starts from the initial value and increases by 1 for every input clock (CLK_IN) cycle and becomes the trigger value N at the Nth rising edge, the counter code C value and the variable divisor N value are the same will lose

슈도-NMOS 기반 카운트 디텍터(Count Detector)(200)는 C = N 이 되는 순간 즉, 카운터 코드 C의 값과 가변 제수 N의 값은 서로 같아지게 되는 순간을 빠르게 감지하여 가변적으로 프로그램 가능한 고속 디지털 클럭 주파수 분주기의 출력 클럭(CLK_OUT) 신호를 초기 로직 "1" 상태에서 빠르게 로직 "0"로 변환시킨다. The pseudo-NMOS based count detector 200 detects the moment when C = N, that is, the moment when the value of the counter code C and the variable divisor N become equal to each other, and a variably programmable high-speed digital clock The output clock signal (CLK_OUT) of the frequency divider is quickly converted from an initial logic “1” state to a logic “0”.

이어서 다음 입력 클럭(CLK_IN) 사이클 상승 에지에 카운터 코드 C가 1만큼 증가하여 카운터 코드 C 값과 가변 제수 N 값이 서로 달라지게 되면, 슈도-NMOS 기반 카운트 디텍터(200)는 이 순간을 다시 빠르게 감지하여 가변적으로 프로그램 가능한 고속 디지털 클럭 주파수 분주기의 출력 클럭(CLK_OUT) 신호를 로직 "1" 상태로 복귀시킨다. Then, on the rising edge of the next input clock (CLK_IN) cycle, when the counter code C is incremented by 1 and the counter code C value and the variable divisor N value are different from each other, the pseudo-NMOS based count detector 200 quickly detects this moment again. Thus, the output clock signal (CLK_OUT) of the variably programmable high-speed digital clock frequency divider returns to the logic “1” state.

리셋 로직부(Reset logic)(400)는 이러한 출력 클럭(CLK_OUT) 신호를 입력받아 리셋 신호(Reset)를 발생시키고, 리셋 신호(Reset) 신호는 상기 CLK_OUT 신호의 상승 에지에 동기화된 로직 "0" 펄스 신호를 발생시키고, 이를 이용하여 동기식 카운터(300)의 모든 출력 카운터 코드 C 값들을 로직 "0"으로 리셋시킨다.The reset logic unit 400 receives the output clock CLK_OUT signal and generates a reset signal Reset, and the reset signal Reset signal is a logic “0” synchronized with the rising edge of the CLK_OUT signal. A pulse signal is generated and used to reset all output counter code C values of the synchronous counter 300 to logic “0”.

위에서 설명한 이러한 동작을 주기적으로 반복함으로써, 상기 프로그래머블 클럭 주파수 분주기는 입력 클럭 주파수(fclk)를 1/N으로 분주시켜 fout = (1/N)*fclk의 출력 주파수를 가지는 주파수 분주기의 동작을 수행하게 된다.By periodically repeating the above-described operation, the programmable clock frequency divider divides the input clock frequency fclk by 1/N to perform the operation of the frequency divider having an output frequency of fout = (1/N)*fclk. will perform

주파수 분주기의 최대 동작 속도는 카운트 디텍터의 전파 지연 시간, 동기식 카운터의 전파 지연 시간 및 리셋 로직의 지연 시간에 의해 제한된다. 그 중에서도 카운트 디텍터의 지연 성분이 가장 큰 부분을 차지하는데, 본 발명에서는 슈도-NMOS 기반의 카운트 디텍터를 사용하여 주파수 분주기의 동작 속도를 10 GHz 이상으로 크게 개선하며, 동시에 적은 면적과 파워소모를 가지며, 자유롭게 프로그래머블하게 출력 주파수를 입력의 1/N로 분주시키는 것을 특징으로 한다.The maximum operating speed of the frequency divider is limited by the propagation delay time of the count detector, the propagation delay time of the synchronous counter, and the delay time of the reset logic. Among them, the delay component of the count detector occupies the largest portion. In the present invention, the operation speed of the frequency divider is greatly improved to 10 GHz or more by using a pseudo-NMOS based count detector, and at the same time, a small area and power consumption are reduced. It is characterized in that the output frequency is divided by 1/N of the input in a freely programmable manner.

도 3은 본 발명에 따른 가변적으로 프로그램 가능한 고속 디지털 클럭 주파수 분주기의 동작을 설명하기 위한 타이밍 다이어그램 도이다. 3 is a timing diagram for explaining the operation of a variably programmable high-speed digital clock frequency divider according to the present invention.

도 3은 가변 제수 값 N = 4 (5-bit 프로그램 코드 사용의 경우 N[4:0] = [00011]에 해당함) 일 때, 가변적으로 프로그램 가능한 고속 디지털 클럭 주파수 분주기(100)의 동작을 예로 설명한다.3 shows the operation of the variably programmable high-speed digital clock frequency divider 100 when the variable divisor value N = 4 (corresponding to N[4:0] = [00011] in the case of using a 5-bit program code) Explain with an example.

동기식 카운터(300)의 출력 카운터 코드(C) 신호는 입력 클럭(CLK_IN) 펄스가 발생할 때 마다, 카운팅 동작을 수행하여 카운터 코드(C) 값이 초기 값 0에서 트리거 값 N이 될 때까지 1씩 증가한다. 여기서 트리거 값은 제수(divisor) 값 N을 의미하며, 다중-bit (예: N[4:0])을 이용하여 자유롭게 프로그래밍 할 수 있다. The output counter code (C) signal of the synchronous counter 300 performs a counting operation every time an input clock (CLK_IN) pulse occurs, so that the counter code (C) value changes from the initial value 0 to the trigger value N by 1 increases Here, the trigger value means a divisor value N, and it can be freely programmed using multi-bit (eg N[4:0]).

도 3에서 가변 제수 N = 4를 위해 5-bit N[4:0] = [00011]를 할당하여 출력 주파수를 입력 주파수의 1/4로 분주하여 프로그램하고 있는 경우를 보여준다. 3 shows a case in which 5-bit N[4:0] = [00011] is allocated for the variable divisor N = 4 and the output frequency is divided by 1/4 of the input frequency for programming.

입력 클럭(CLK_IN)의 주파수가 fclk일 경우, 가변적으로 프로그램 가능한 고속 디지털 클럭 주파수 분주기(100)의 출력 클럭(CLK_OUT)의 주파수는 1/N = 1/4*fclk 의 동작을 수행할 경우의 예에 해당한다.When the frequency of the input clock CLK_IN is fclk, the frequency of the output clock CLK_OUT of the variably programmable high-speed digital clock frequency divider 100 is 1/N = 1/4*fclk. for example.

카운터 코드 C[4:0] 값이 초기값 [00000]에서 출발하여 매 입력 클럭(CLK_IN) 사이클 마다 1씩 증가하여 4번째 상승 에지 (edge)에서 트리거 값인 [00011]이 되며, 이 때 카운터 코드 C[4:0]의 값과 가변 제수 (= N[4:0])의 값은 서로 같아지게 된다. The counter code C[4:0] value starts from the initial value [00000] and increases by 1 every input clock (CLK_IN) cycle to become the trigger value [00011] at the 4th rising edge, at this time the counter code The value of C[4:0] and the value of the variable divisor (= N[4:0]) become equal to each other.

슈도-NMOS 기반 카운트 디텍터(200)는 이 순간 (즉,카운터 코드 C[4:0]의 값과 가변 제수 (= N[4:0])의 값이 서로 같아지는 순간)을 빠르게 감지하여, 가변적으로 프로그램 가능한 고속 디지털 클럭 주파수 분주기(100)의 출력 클럭(CLK_OUT) 신호를 대기하며 유지하고 있던 로직 "1" 상태에서 로직 "0"로 변환시킨다. The pseudo-NMOS based count detector 200 quickly detects this moment (that is, the moment when the value of the counter code C[4:0] and the value of the variable divisor (= N[4:0]) become equal to each other), The output clock (CLK_OUT) signal of the variably programmable high-speed digital clock frequency divider 100 is converted from a logic “1” state maintained by waiting to a logic “0”.

그리고, 다음 입력 클럭(CLK_IN) 사이클 상승 에지에 카운터 코드 C[4:0]가 1만큼 증가하여 카운터 코드 C[4:0] 값과 가변 제수 N[4:0] 값이 서로 달라지게 되면, 슈도-NMOS 기반 카운트 디텍터(200)은 이 순간을 다시 빠르게 감지하여 가변적으로 프로그램 가능한 고속 디지털 클럭 주파수 분주기(100)의 출력 클럭(CLK_OUT) 신호를 로직 "1" 상태로 복귀시킨다. And, when the counter code C[4:0] increases by 1 on the rising edge of the next input clock (CLK_IN) cycle, the counter code C[4:0] value and the variable divisor N[4:0] value become different from each other, The pseudo-NMOS-based count detector 200 quickly detects this moment again and returns the output clock signal CLK_OUT of the variably programmable high-speed digital clock frequency divider 100 to a logic “1” state.

이어서, 리셋 로직부(400)의 출력인 리셋 신호(Reset)는 출력 클럭(CLK_OUT) 신호의 상승 에지에 동기화 된 로직 "0" 펄스 신호를 발생시키고, 이를 입력받아 동기식 카운터(300)는 모든 출력 카운터 코드(C)값들을 0으로 초기화 시킨다.Subsequently, the reset signal Reset, which is the output of the reset logic unit 400, generates a logic “0” pulse signal synchronized with the rising edge of the output clock (CLK_OUT) signal, and receives this, the synchronous counter 300 outputs all outputs Counter code (C) values are initialized to 0.

위에서 설명한 이러한 동작을 주기적으로 반복함으로써, 가변적으로 프로그램 가능한 고속 디지털 클럭 주파수 분주기(100)는 입력 클럭 주파수(fclk)를 1/N으로 분주시켜 (1/N)*fclk의 출력 주파수를 가지는 주파수 분주기의 동작을 수행할 수 있다.By periodically repeating the above-described operation, the variably programmable high-speed digital clock frequency divider 100 divides the input clock frequency fclk by 1/N to obtain a frequency having an output frequency of (1/N)*fclk. It is possible to perform the operation of the divider.

도 4는 슈도-NMOS 기반 카운트 디텍터의 구성을 나타내는 회로도이다.4 is a circuit diagram showing the configuration of a pseudo-NMOS based count detector.

도 4는 본 발명의 가변적으로 프로그램 가능한 고속 디지털 클럭 주파수 분주기(100)에 사용되는 5-bit 슈도-NMOS (Pseudo-NMOS) 기반 카운트 디텍터 (200) 구성을 예로서 설명한다.4 illustrates a configuration of a 5-bit pseudo-NMOS (Pseudo-NMOS) based count detector 200 used in the variably programmable high-speed digital clock frequency divider 100 of the present invention as an example.

가변적으로 프로그램 가능한 고속 디지털 클럭 주파수 분주기(100)의 동작을 보여주는 도 2 및 도3의 설명에서 알 수 있는 바와 같이, 주파수 분주기가 고속으로 빠르게 동작하기 위해서는 가변 제수 N 값과 카운터 코드 C 값을 비교하여 주파수 분주기의 출력 클럭(CLK_OUT)의 위상을 빠르게 변경시킬 수 있는 고속 동작이 가능한 '비교기(Comparator)' 또는 '카운트 디텍터(Count Detector)'의 사용이 필수적이다.As can be seen from the descriptions of FIGS. 2 and 3 showing the operation of the variably programmable high-speed digital clock frequency divider 100 , a variable divisor N value and a counter code C value in order for the frequency divider to operate at high speed and high speed It is essential to use a 'Comparator' or 'Count Detector' capable of high-speed operation that can quickly change the phase of the output clock (CLK_OUT) of the frequency divider by comparing .

도 4에 보인 본 발명의 5-bit 슈도(Pseudo)-NMOS 기반 카운트 디텍터 (200)는 PMOS(M0)(310), 복수의 비교 유닛(Comparator Unit ;400, 400a, 400b, 400c, 400d) 및 제1 CMOS 인버터(INV0)(320)를 포함한다. The 5-bit pseudo-NMOS based count detector 200 of the present invention shown in FIG. 4 includes a PMOS (M0) 310, a plurality of comparison units (Comparator Units) 400, 400a, 400b, 400c, 400d, and and a first CMOS inverter (INV0) 320 .

도 4에서 PMOS(M0)(310)와 복수의 비교 유닛(400, 400a, 400b, 400c, 400d)들은 슈도 NMOS(Pseudo-NMOS) 로직 기반의 비교기(Comparator)로 동작한다. In FIG. 4 , the PMOS (M0) 310 and the plurality of comparison units 400, 400a, 400b, 400c, and 400d operate as a pseudo-NMOS logic-based comparator.

PMOS(M0)(310)의 게이트(Gate)는 로직 "0"로 항상 ON 되어있으며, PMOS(M0)(310)의 드레인(Drain) 노드 X는 5개의 비교 유닛 즉, 제1 비교 유닛 내지 제5 비교 유닛(400 ~ 400d)들의 제1 NMOS(M1)와 제2 NMOS(M2)의 드레인(Drain) 노드에 연결된다.The gate of the PMOS(M0) 310 is always ON with logic “0”, and the drain node X of the PMOS(M0) 310 has five comparison units, that is, the first comparison unit to the second comparison unit. 5 of the comparison units 400 to 400d are connected to drain nodes of the first NMOS (M1) and the second NMOS (M2).

제1 비교 유닛(400)은 4개의 NMOS(즉, 제1 NMOS(M1), 제2 NMOS(M2), 제3 NMOS(M3), 제4 NMOS(M4))및 2 개의 CMOS 인버터(즉, 제2 CMOS 인버터(INV1), 제3 CMOS 인버터(INV2))로 구성되며, 두 개의 입력 단자로 가변 제수 N[0]와 카운터 코드 C[0]를 입력으로 갖는다. The first comparison unit 400 includes four NMOS (ie, first NMOS (M1), second NMOS (M2), third NMOS (M3), fourth NMOS (M4)) and two CMOS inverters (ie, It consists of a second CMOS inverter INV1 and a third CMOS inverter INV2), and has a variable divisor N[0] and a counter code C[0] as two input terminals.

이러한 두 가변 제수 N[0]와 카운터 코드 C[0]의 값에 따라, X노드를 로직 "0"으로 도통시킬 수 있는 제1 전류 패스와 제2 전류 패스의 활성화 내지 차단이 결정되어진다.According to the values of the two variable divisors N[0] and the counter code C[0], activation or blocking of the first current path and the second current path capable of conducting the X node to logic “0” is determined.

간단한 설명을 위해, 제1 비교 유닛(400)만 사용하여 1-bit 카운트 디텍터를 사용할 경우를 예로서 설명한다. For simple explanation, a case of using the 1-bit count detector using only the first comparison unit 400 will be described as an example.

가변 제수 N[0]와 카운터 코드 C[0]의 값이 서로 다를 경우, If the variable divisor N[0] and the counter code C[0] have different values,

제1 전류 패스나 제2 전류 패스 중 하나의 전류 패스는 활성화되어, 노드 X는 초기값 로직 "1"을 유지하지 못하고, 로직 "0" 값으로 전환된다. 이 경우, 제1 CMOS 인버터(INV0) (320)의 출력 클럭(CLK_OUT) 신호는 로직 "1"값으로 빠른 상승 에지 특성을 보이며 전환되어 유지된다.One of the first current path and the second current path is activated, so that the node X does not maintain the initial value of logic “1” and is converted to a logic “0” value. In this case, the output clock signal CLK_OUT of the first CMOS inverter (INV0) 320 is switched to a logic “1” value, exhibiting fast rising edge characteristics, and is maintained.

가변 제수 N[0]과 카운터 코드 C[0]의 값이 서로 같아질 경우, When the variable divisor N[0] and the counter code C[0] have the same value,

제1 전류 패스와 제2 전류 패스는 모두 비활성화되어, 노드 X는 PMOS(M0) (310)의 전류 패스를 통해 로직 "1"을 값으로 충전되며, 따라서 제1 CMOS 인버터(INV0)(320)의 출력 클럭(CLK_OUT) 신호는 빠르게 로직 "0" 값으로 전환되어 질 수 있다. 비슷한 방식으로 N-bit 카운트 디텍터의 구성은 N 개의 비교 유닛을 노드 X에 연결하여 구성할 수 있다. Both the first current path and the second current path are deactivated, so that node X is charged to a logic “1” value through the current path of the PMOS(M0) 310, and thus the first CMOS inverter (INV0) 320 The output clock (CLK_OUT) signal of can be quickly converted to a logic “0” value. In a similar way, the configuration of the N-bit count detector can be configured by connecting N comparison units to node X.

본 발명에서 제시하는 슈도-NMOS 기반 카운트 디텍터는 프로그래밍 가능한 제수 N 값 확장이 필요한 경우, 간단히 비교 유닛의 갯수를 병렬로 총 N개가 되도록 추가하면 되며, 이에 따라 저전력/소면적으로 고속 동작하는 카운트 디텍터의 설계가 가능하다는 장점을 가진다.In the pseudo-NMOS-based count detector presented in the present invention, when a programmable divisor N value expansion is required, simply add the number of comparison units in parallel to a total of N, and accordingly, a low-power/small-area, high-speed count detector It has the advantage of being able to design

예를 들어, 8-bit 슈도-NMOS 카운트 디텍터를 사용할 때, 제안하는 본 발명의 주파수 분주기의 주파수 분주 계수 N은 28 = 256을 가지며, 소면적/저전력으로 출력 주파수를 1/256로 분주 시킬수 있다. For example, when using an 8-bit pseudo-NMOS count detector, the frequency division coefficient N of the frequency divider of the present invention is 2 8 = 256, and the output frequency is divided by 1/256 with a small area/low power can do it

그 결과, 본 발명의 가변적으로 프로그램 가능한 고속 디지털 클럭 주파수 분주기는 수 GHz에서 10GHz급 이상에서 동작하는 초고속/저전력/소면적 PLL 및 MDLL 기반 주파수 합성기와 증배기의 설계에 적합한 특성을 가질수 있게 된다.As a result, the variably programmable high-speed digital clock frequency divider of the present invention can have characteristics suitable for the design of high-speed/low-power/small-area PLL and MDLL-based frequency synthesizers and multipliers operating from several GHz to 10 GHz or higher. .

도 5는 본 발명에 따른 가변적으로 프로그램 가능한 고속 디지털 클럭 주파수 분주기의 제어방법을 나타낸 흐름도이다.5 is a flowchart illustrating a control method of a variably programmable high-speed digital clock frequency divider according to the present invention.

도 5를 참조하면, 우선 가변 제수 N 값을 슈도-NMOS 기반 카운트 디텍터에 인가한다(S110).Referring to FIG. 5 , first, a variable divisor N is applied to a pseudo-NMOS based count detector ( S110 ).

그 다음 리셋 로직부의 리셋 신호(Reset)의 출력이 로직 '1'인지 여부를 판단하는 과정을 수행한다(S120).Next, a process of determining whether the output of the reset signal Reset of the reset logic unit is logic '1' is performed (S120).

리셋 신호(Reset)의 출력이 로직 '1'인 경우, 동기식 카운터는 입력 클럭(CLK_IN)을 입력받아, 입력 클럭의 펄스 신호 발생마다 '1'씩 증가시켜 카운트하여, 카운트 코드(C) 값을 발생시키는 과정을 수행한다(S140)When the output of the reset signal Reset is logic '1', the synchronous counter receives the input clock (CLK_IN) and counts by incrementing by '1' for each pulse signal of the input clock, and counts the count code (C) value. The process of generating is performed (S140)

한편, 리셋 신호(Reset)의 출력이 로직 '1'이 아닌 경우, 즉 리셋 신호(Reset)의 출력이 로직 'O'인 경우, 카운터 코드(C)값을 모두 0으로 리셋시키는 동작을 수행한다(S130).On the other hand, when the output of the reset signal Reset is not a logic '1', that is, when the output of the reset signal Reset is a logic 'O', an operation of resetting all counter code C values to 0 is performed. (S130).

즉, 동기식 카운터는 리셋 로직부의 출력인 리셋 신호(Reset)가 로직 "1"을 유지하고 있을 경우에만 카운팅 동작을 수행하며, 리셋 신호(Reset)가 로직 "0"일 경우, 카운터 출력 값을 모두 0으로 리셋시키는 동작을 수행한다.That is, the synchronous counter performs a counting operation only when the reset signal Reset, which is the output of the reset logic unit, maintains a logic “1”, and when the reset signal Reset is a logic “0”, all counter output values are An operation to reset to 0 is performed.

그리고 나서, 카운트 코드(C)값과 가변 제수(N)값이 같은지 비교하는 과정을 수행한다(S150).Then, a process of comparing the count code (C) value and the variable divisor (N) value is performed (S150).

판단 결과, 카운트 코드(C)값과 가변 제수(N)값이 다른 경우, 즉 카운트 코드(C)값이 가변 제수(N)값 보다 작은 경우, S120과정으로 복귀한다.As a result of the determination, if the count code C value and the variable divisor N value are different, that is, when the count code C value is smaller than the variable divisor N value, the process returns to step S120.

카운트 코드(C)값과 가변 제수(N)값이 같은 경우, 출력 클럭(CLK_OUT) 신호를 초기 로직 '1' 상태에서 로직 '0'로 변환시키는 과정을 수행한다(S160). When the count code (C) value and the variable divisor (N) value are the same, a process of converting the output clock signal CLK_OUT from an initial logic '1' state to a logic '0' is performed (S160).

그리로 나서, 다음 입력 클럭(CLK_IN) 사이클 상승 에지에 카운터 코드 C가 1만큼 증가한 후, 카운트 코드(C)값과 가변 제수(N)값이 같은지 비교하는 과정을 수행한다(S170).Then, after the counter code C is increased by 1 at the rising edge of the next input clock (CLK_IN) cycle, a process of comparing whether the count code C value and the variable divisor N value are the same is performed (S170).

판단 결과, 카운트 코드(C)값과 가변 제수(N)값이 서로 달라지게 되면, 출력 클럭(CLK_OUT) 신호를 로직 "1" 상태로 복귀시키는 과정을 수행한다(S180).As a result of the determination, when the count code (C) value and the variable divisor (N) value are different from each other, a process of returning the output clock signal CLK_OUT to a logic “1” state is performed ( S180 ).

이상에서 설명한 것은 본 발명에 따른 가변적으로 프로그램 가능한 고속 디지털 클럭 주파수 분주기 및 그 제어방법의 예시적인 실시예에 불과한 것으로서, 본 발명은 상기한 실시예에 한정되지 않고, 이하의 특허청구범위에서 청구하는 바와 같이, 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변경 실시가 가능한 범위까지 본 발명의 기술적 정신이 있다고 할 것이다.What has been described above is merely an exemplary embodiment of a variably programmable high-speed digital clock frequency divider and a control method thereof according to the present invention, and the present invention is not limited to the above-described embodiment, and is claimed in the following claims. As described above, without departing from the gist of the present invention, it will be said that the technical spirit of the present invention exists to the extent that various modifications can be made by anyone with ordinary knowledge in the field to which the invention pertains.

200 : 슈도-NMOS기반 카운트 디텍터
300 : 동기식 카운터
400 : 리셋 로직부
200: pseudo-NMOS based count detector
300: synchronous counter
400: reset logic unit

Claims (10)

가변적으로 프로그램 가능한 고속 디지털 클럭 주파수 분주기에 있어서,
입력 클럭(CLK_IN)의 펄스 신호가 발생할 때 마다 숫자를 증가시켜 카운팅하여, 출력신호로 카운트 코드(C)를 발생시키는 동기식 카운터;
상기 동기식 카운터의 출력신호인 카운터 코드(C)와 외부에서 인가된 프로그래머블한 가변 제수(N)를 비교하여, 리셋 로직부의 제어에 따라 상기 입력 클럭(CLK_IN)의 주파수보다 1/N의 낮은 주파수로 분주된 출력 클럭(CLK_OUT)를 발생시키는 카운트 디텍터; 및
상기 카운트 디텍터의 출력 클럭(CLK_OUT)의 변화를 감지하여, 상기 동기식 카운터의 상태를 제어하는 리셋 신호(Reset)을 발생시키는 리셋 로직부;를 포함하는 것을 특징으로 하는 가변적으로 프로그램 가능한 고속 디지털 클럭 주파수 분주기.
A variably programmable high-speed digital clock frequency divider comprising:
a synchronous counter that counts by increasing a number whenever a pulse signal of the input clock (CLK_IN) is generated, and generates a count code (C) as an output signal;
By comparing the counter code (C), which is the output signal of the synchronous counter, and a programmable variable divisor (N) applied from the outside, the frequency of 1/N lower than the frequency of the input clock (CLK_IN) is set according to the control of the reset logic unit. a count detector for generating a divided output clock CLK_OUT; and
and a reset logic unit that detects a change in the output clock (CLK_OUT) of the count detector and generates a reset signal (Reset) for controlling the state of the synchronous counter. dispenser.
제1항에 있어서,
상기 동기식 카운터는,
다수 개의 플립-플롭(flip-flop)으로 구성되어 K-bit의 다중 출력을 갖는 것을 특징으로 하는 가변적으로 프로그램 가능한 고속 디지털 클럭 주파수 분주기.
According to claim 1,
The synchronous counter is
A variably programmable high-speed digital clock frequency divider that is composed of a plurality of flip-flops and has multiple K-bit outputs.
제2항에 있어서,
상기 다수 개의 플립-플롭의 출력은 입력 클럭(CLK_IN) 펄스 신호에 동기되어 바이너리(Binary) 출력 신호인 K-bit 카운터 코드(C)를 출력하는 것을 특징으로 하는 가변적으로 프로그램 가능한 고속 디지털 클럭 주파수 분주기.

3. The method of claim 2,
The output of the plurality of flip-flops is synchronized with the input clock (CLK_IN) pulse signal to output a K-bit counter code (C) that is a binary output signal. Variably programmable high-speed digital clock frequency division Cycle.

제2항에 있어서,
상기 동기식 카운터는 상기 리셋 로직부의 출력인 리셋 신호(Reset)가 로직 '1'을 유지하고 있을 경우에만 카운팅 동작을 수행하며,
상기 리셋 신호(Reset)가 로직 '0'일 경우 카운터 코드를 '0'으로 리셋시키는 동작을 수행하는 것을 특징으로 하는 가변적으로 프로그램 가능한 고속 디지털 클럭 주파수 분주기.
3. The method of claim 2,
The synchronous counter performs a counting operation only when a reset signal (Reset), which is an output of the reset logic unit, maintains a logic '1',
A variably programmable high-speed digital clock frequency divider that resets a counter code to '0' when the reset signal (Reset) is logic '0'.
제1항에 있어서,
상기 카운트 디텍터는 슈도-NMOS(Pseudo-NMOS) 기반 카운트 디덱터인 것을 특징으로 하는 가변적으로 프로그램 가능한 고속 디지털 클럭 주파수 분주기.
According to claim 1,
The count detector is a variably programmable high-speed digital clock frequency divider, characterized in that the pseudo-NMOS (Pseudo-NMOS) based count detector.
제5항에 있어서,
상기 슈도-NMOS 기반 카운트 디텍터는,
상기 카운터 코드(C)와 상기가변 제수 (N)값이 서로 같아질 때, 상기 출력 클럭(CLK_OUT)을 초기 로직 '1' 상태에서 로직 '0'으로 변환시키며,
다음 입력 클럭(CLK_IN) 사이클 상승 에지에 상기 카운터 코드(C)가 증가하여 상기 카운터 코드(C)와 상기 가변 제수(N)가 서로 상이하게 되면, 상기 출력 클럭(CLK_OUT)을 로직 '1' 상태로 복귀시키는 것을 특징으로 하는 가변적으로 프로그램 가능한 고속 디지털 클럭 주파수 분주기.
6. The method of claim 5,
The pseudo-NMOS based count detector,
When the counter code (C) and the variable divisor (N) are equal to each other, the output clock (CLK_OUT) is converted from an initial logic '1' state to a logic '0',
When the counter code C increases on the rising edge of the next input clock CLK_IN cycle and the counter code C and the variable divisor N are different from each other, the output clock CLK_OUT is set to a logic '1' state. A variably programmable high-speed digital clock frequency divider that returns to
제6항에 있어서,
상기 슈도-NMOS 기반 카운트 디텍터는,
PMOS 소자;
상기 PMOS에 연결된 복수의 비교 유닛(Comparator Unit); 및
상기 복수의 비교 유닛에 연결된 제1 CMOS 인버터;를 포함하는 것을 특징으로 하는 가변적으로 프로그램 가능한 고속 디지털 클럭 주파수 분주기.
7. The method of claim 6,
The pseudo-NMOS based count detector,
PMOS devices;
a plurality of comparison units connected to the PMOS; and
and a first CMOS inverter coupled to the plurality of comparison units.
제1항에 있어서,
상기 리셋 로직부는,
상기 출력 클럭(CLK_OUT) 신호를 입력받아 리셋 신호(Reset)를 발생시키고, 상기 리셋 신호(Reset)는 상기 출력 클록(CLK_OUT) 신호의 상승 에지에 동기화된 로직 '0'을 발생시키고, 상기 동기식 카운터의 모든 출력 카운터 코드(C)를 로직'0'으로 리셋시키는 것을 특징으로 하는 가변적으로 프로그램 가능한 고속 디지털 클럭 주파수 분주기.
According to claim 1,
The reset logic unit,
A reset signal Reset is generated by receiving the output clock signal CLK_OUT, and the reset signal Reset generates a logic '0' synchronized with a rising edge of the output clock signal CLK_OUT, and the synchronous counter A variably programmable high-speed digital clock frequency divider that resets all output counter codes (C) to logic '0'.
가변적으로 프로그램 가능한 고속 디지털 클럭 주파수 분주기 제어방법으로서,
가변 제수(N) 값을 슈도-NMOS 기반 카운트 디텍터에 인가하는 단계;
리셋 로직부의 리셋 신호(Reset)의 출력이 로직 '1'인지 여부를 판단하는 단계;
상기 리셋 신호(Reset)의 출력이 로직 '1'인 경우, 동기식 카운터는 입력 클럭(CLK_IN)을 입력받아, 입력 클럭의 펄스 신호 발생마다 '1'씩 증가시켜 카운트하여, 카운트 코드(C) 값을 발생시키며, 상기 리셋 신호(Reset)의 출력이 로직 'O'인 경우, 카운터 코드(C)값을 모두 0으로 리셋시키는 단계;
카운트 코드(C)값과 가변 제수(N)값이 같은지 비교하는 단계;
판단 결과, 카운트 코드(C)값과 가변 제수(N)값이 같은 경우, 입력 클럭(CLK_IN)의 주파수보다 1/N의 낮은 주파수로 분주된 출력 클럭(CLK_OUT)를 발생시키는 단계;를 포함하는 것을 특징으로 하는 가변적으로 프로그램 가능한 고속 디지털 클럭 주파수 분주기 제어방법.
A variably programmable high-speed digital clock frequency divider control method comprising:
applying a variable divisor (N) value to a pseudo-NMOS based count detector;
determining whether an output of the reset signal Reset of the reset logic unit is logic '1';
When the output of the reset signal Reset is logic '1', the synchronous counter receives the input clock CLK_IN and increases the count by '1' for each pulse signal of the input clock, and counts the count code (C) value resetting all counter code (C) values to 0 when the output of the reset signal (Reset) is logic 'O';
comparing the count code (C) value and the variable divisor (N) value to see if they are the same;
As a result of the determination, when the count code (C) value and the variable divisor (N) value are the same, generating the output clock (CLK_OUT) divided by a frequency 1/N lower than the frequency of the input clock (CLK_IN); A variably programmable high-speed digital clock frequency divider control method.
제9항에 있어서,
상기 입력 클럭(CLK_IN)의 주파수보다 1/N의 낮은 주파수로 분주된 출력 클럭(CLK_OUT)를 발생시키는 단계는,
상기 카운트 코드(C)값과 가변 제수(N)값이 같은 경우, 출력 클럭(CLK_OUT) 신호를 초기 로직 '1' 상태에서 로직 '0'로 변환시키는 단계;
다음 입력 클럭(CLK_IN) 사이클 상승 에지에 카운터 코드 C가 1만큼 증가한 후, 카운트 코드(C)값과 가변 제수(N)값이 같은지 비교하는 단계;
판단 결과, 카운트 코드(C)값과 가변 제수(N)값이 서로 달라지게 되면, 출력 클럭(CLK_OUT) 신호를 로직 '1' 상태로 복귀시키는 단계;를 포함하는 것을 특징으로 하는 가변적으로 프로그램 가능한 고속 디지털 클럭 주파수 분주기 제어방법.
10. The method of claim 9,
The step of generating the output clock CLK_OUT divided by a frequency that is 1/N lower than the frequency of the input clock CLK_IN includes:
converting an output clock signal CLK_OUT from an initial logic '1' state to a logic '0' when the count code (C) value and the variable divisor (N) value are the same;
after the counter code C is increased by 1 at the rising edge of the next input clock (CLK_IN) cycle, comparing the count code (C) value and the variable divisor (N) value to see if they are the same;
As a result of the determination, if the count code (C) value and the variable divisor (N) value are different from each other, returning the output clock (CLK_OUT) signal to a logic '1'state; High-speed digital clock frequency divider control method.
KR1020210153366A 2021-11-09 2021-11-09 A programmable High-Speed Digital Clock Frequency Divider and method for controlling thereof KR102338377B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210153366A KR102338377B1 (en) 2021-11-09 2021-11-09 A programmable High-Speed Digital Clock Frequency Divider and method for controlling thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210153366A KR102338377B1 (en) 2021-11-09 2021-11-09 A programmable High-Speed Digital Clock Frequency Divider and method for controlling thereof

Publications (1)

Publication Number Publication Date
KR102338377B1 true KR102338377B1 (en) 2021-12-10

Family

ID=78865620

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210153366A KR102338377B1 (en) 2021-11-09 2021-11-09 A programmable High-Speed Digital Clock Frequency Divider and method for controlling thereof

Country Status (1)

Country Link
KR (1) KR102338377B1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100266742B1 (en) 1998-03-12 2000-09-15 김수원 Programmable frequency divider
KR20090036446A (en) * 2007-10-09 2009-04-14 고려대학교 산학협력단 Programmable divider and method of controlling the same
KR20100027396A (en) * 2008-09-02 2010-03-11 고려대학교 산학협력단 Programmable frequency divider and method of frequency dividing
KR20110064073A (en) * 2009-12-07 2011-06-15 광운대학교 산학협력단 A wideband programmable frequency divider and a frequency synthesizer including the same
KR20130002627A (en) * 2011-06-29 2013-01-08 삼성전자주식회사 Frequency divider and phase-locked loop including the same

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100266742B1 (en) 1998-03-12 2000-09-15 김수원 Programmable frequency divider
KR20090036446A (en) * 2007-10-09 2009-04-14 고려대학교 산학협력단 Programmable divider and method of controlling the same
KR20100027396A (en) * 2008-09-02 2010-03-11 고려대학교 산학협력단 Programmable frequency divider and method of frequency dividing
KR20110064073A (en) * 2009-12-07 2011-06-15 광운대학교 산학협력단 A wideband programmable frequency divider and a frequency synthesizer including the same
KR20130002627A (en) * 2011-06-29 2013-01-08 삼성전자주식회사 Frequency divider and phase-locked loop including the same

Similar Documents

Publication Publication Date Title
US8847637B1 (en) Time-interleaved multi-modulus frequency divider
JP6375317B2 (en) Fast frequency division method
US9608801B2 (en) Programmable frequency divider providing a fifty-percent duty-cycle output over a range of divide factors
US7139361B1 (en) Counter-based digital frequency synthesizer circuits and methods
US20140003570A1 (en) Frequency divider with improved linearity for a fractional-n synthesizer using a multi-modulus prescaler
US8704557B2 (en) High-speed non-integer frequency divider circuit
JP2004517542A (en) Digital frequency multiplier
US6501816B1 (en) Fully programmable multimodulus prescaler
Yu et al. Design of a low power wide-band high resolution programmable frequency divider
US9543960B1 (en) Multi-stage frequency dividers having duty cycle correction circuits therein
Wang et al. A programmable frequency divider with a full modulus range and 50% output duty cycle
US7683679B2 (en) AFSM circuit and method for low jitter PLL CMOS programmable divider
Chang et al. A 723-MHz 17.2-mW CMOS programmable counter
KR102338377B1 (en) A programmable High-Speed Digital Clock Frequency Divider and method for controlling thereof
US10700669B2 (en) Avoiding very low duty cycles in a divided clock generated by a frequency divider
US10742220B1 (en) Method and apparatus for operating programmable clock divider using reset paths
US6956922B2 (en) Generating non-integer clock division
US6501815B1 (en) Loadable divide-by-N with fixed duty cycle
US20090243668A1 (en) Frequency divider speed booster
US6741670B2 (en) Counter circuit and reset therefor
US7049864B2 (en) Apparatus and method for high frequency state machine divider with low power consumption
KR101123725B1 (en) Phase-switching dual modulus prescaler
US8525561B2 (en) Phase lock loop having high frequency CMOS programmable divider with large divide ratio
US8791728B2 (en) High frequency CMOS programmable divider with large divide ratio
Geng et al. A Novel Design of a 47GHz Programmable Frequency Divider based on RLTSPC logic in 65nm CMOS

Legal Events

Date Code Title Description
A302 Request for accelerated examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant