KR102571068B1 - 프로그래밍가능 제어 회로를 사용한 클록 신호들의 선택적 제공 - Google Patents

프로그래밍가능 제어 회로를 사용한 클록 신호들의 선택적 제공 Download PDF

Info

Publication number
KR102571068B1
KR102571068B1 KR1020207020325A KR20207020325A KR102571068B1 KR 102571068 B1 KR102571068 B1 KR 102571068B1 KR 1020207020325 A KR1020207020325 A KR 1020207020325A KR 20207020325 A KR20207020325 A KR 20207020325A KR 102571068 B1 KR102571068 B1 KR 102571068B1
Authority
KR
South Korea
Prior art keywords
clock signal
circuit
logic
input
delayed
Prior art date
Application number
KR1020207020325A
Other languages
English (en)
Other versions
KR20200098635A (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 자일링크스 인코포레이티드
Publication of KR20200098635A publication Critical patent/KR20200098635A/ko
Application granted granted Critical
Publication of KR102571068B1 publication Critical patent/KR102571068B1/ko

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K5/15Arrangements in which pulses are delivered at different times at several outputs, i.e. pulse distributors
    • H03K5/15013Arrangements in which pulses are delivered at different times at several outputs, i.e. pulse distributors with more than two outputs
    • H03K5/1506Arrangements in which pulses are delivered at different times at several outputs, i.e. pulse distributors with more than two outputs with parallel driven output stages; with synchronously driven series connected output stages
    • H03K5/15066Arrangements in which pulses are delivered at different times at several outputs, i.e. pulse distributors with more than two outputs with parallel driven output stages; with synchronously driven series connected output stages using bistable devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/10Distribution of clock signals, e.g. skew
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/12Synchronisation of different clock signals provided by a plurality of clock generators
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/08Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using semiconductor devices
    • H03K19/094Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using semiconductor devices using field-effect transistors
    • H03K19/096Synchronous circuits, i.e. using clock signals
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/17736Structural details of routing resources
    • H03K19/1774Structural details of routing resources for global signals, e.g. clock, reset
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K5/15Arrangements in which pulses are delivered at different times at several outputs, i.e. pulse distributors
    • H03K5/15013Arrangements in which pulses are delivered at different times at several outputs, i.e. pulse distributors with more than two outputs
    • H03K5/1506Arrangements in which pulses are delivered at different times at several outputs, i.e. pulse distributors with more than two outputs with parallel driven output stages; with synchronously driven series connected output stages
    • H03K5/15093Arrangements in which pulses are delivered at different times at several outputs, i.e. pulse distributors with more than two outputs with parallel driven output stages; with synchronously driven series connected output stages using devices arranged in a shift register
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K2005/00013Delay, i.e. output pulse is delayed after input pulse and pulse length of output pulse is dependent on pulse length of input pulse
    • H03K2005/00019Variable delay

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Nonlinear Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Engineering (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Pulse Circuits (AREA)
  • Logic Circuits (AREA)
  • Manipulation Of Pulses (AREA)

Abstract

개시된 회로 어레인지먼트들은, 로직 회로(105), 로직 회로에 커플링되고 그리고 제1 복수의 쌍안정 회로들(202)을 포함하는 입력 레지스터 로직(104), 및 입력 레지스터 로직에 커플링된 제어 회로(102)를 포함한다. 제어 회로는 입력 클록 신호(150)로부터 복수의 지연된 클록 신호들(142, 148, 306, 308, 320, 326, 414, 416)을 생성하도록 구성된다. 복수의 지연된 클록 신호들은 제1 지연된 클록 신호(142, 148, 306, 308, 320, 326, 414, 416) 및 제2 지연된 클록 신호(142, 148, 306, 308, 320, 326, 414, 416)를 포함한다. 제어 회로는 입력 클록 신호 또는 지연된 클록 신호들 중 하나 이상을 제1 복수의 쌍안정 회로들의 클록 입력들에 선택적으로 제공하고, 그리고 입력 클록 신호 또는 지연된 클록 신호들 중 하나 이상을 로직 회로에 선택적으로 제공한다. 제어 회로는 입력 레지스터 로직에 대한 클록 지연과 로직 회로에 대한 클록 지연을 등화시키도록 구성된 가변 클록 지연 로직(302) 회로를 포함한다.

Description

프로그래밍가능 제어 회로를 사용한 클록 신호들의 선택적 제공
본 개시내용은 일반적으로, 홀드 시간 위반(hold time violation)들을 픽싱(fixing)하고 동기 회로들의 성능을 개선하는 것에 관한 것이다.
"셋업 시간(setup time)" 및 "홀드 시간(hold time)"은 클록 입력과 관련하여, 플립-플롭 또는 레지스터와 같은 순차적 로직 엘리먼트의 데이터 입력에 대한 타이밍 요건들을 설명한다. 셋업 및 홀드 시간들은, 전체 범위의 동작 조건들 및 제조 허용오차들에 대해 예측가능한 성능을 보장하기 위해 데이터가 안정적이어야 하는 시간 윈도우를 정의한다. 셋업 시간은, 데이터 신호의 상태가 신뢰할 수 있게 캡처되도록 하기 위해, 클록 신호의 상승 또는 하강 에지와 같은 클록 이벤트 전에 입력 데이터 신호가 일정하게(steady) 홀드되어야 하는 최소 시간량이다. 홀드 시간은, 데이터 신호의 상태가 신뢰할 수 있게 캡처되도록 하기 위해, 클록이벤트 후에 입력 데이터 신호가 일정하게 홀드되어야 하는 최소 시간량이다. 때때로 긴 경로 문제(long path problem)로 지칭되는 셋업 시간 위반은 경로 길이를 감소시킴으로써 또는 클록 속도를 감소시킴으로써 해결될 수 있다. 때때로 짧은 경로 문제로 지칭되는 홀드 시간 위반은 경로 길이를 증가시킴으로써 또는 신호 경로에 지연 회로망을 추가함으로써 해결될 수 있다.
개시된 회로 어레인지먼트들은, 로직 회로, 로직 회로에 커플링되고 그리고 제1 복수의 쌍안정 회로들을 포함하는 입력 레지스터 로직, 및 입력 레지스터 로직에 커플링된 제어 회로를 포함한다. 제어 회로는 입력 클록 신호로부터 복수의 지연된 클록 신호들을 생성하도록 구성된다. 복수의 지연된 클록 신호들은 제1 지연된 클록 신호 및 제2 지연된 클록 신호를 포함한다. 제어 회로는 입력 클록 신호 또는 지연된 클록 신호들 중 하나 이상을 제1 복수의 쌍안정 회로들의 클록 입력들에 선택적으로 제공하고, 그리고 입력 클록 신호 또는 지연된 클록 신호들 중 하나 이상을 로직 회로에 선택적으로 제공한다. 제어 회로는 입력 레지스터 로직에 대한 클록 지연과 로직 회로에 대한 클록 지연을 등화시키도록 구성된 가변 클록 지연 로직 회로를 포함한다.
일부 실시예들에서, 가변 클록 지연 로직 회로는, 제1 지연된 클록 신호를 입력 클록 신호의 제1 지연된 버전으로서 생성하고 그리고 제2 지연된 클록 신호를 입력 클록 신호의 제2 지연된 버전으로서 생성하도록 구성될 수 있다. 제1 지연된 클록 신호와 입력 클록 신호 사이의 지연은 제2 지연된 클록 신호와 입력 클록 신호 사이의 지연 미만일 수 있다. 가변 클록 지연 로직 회로는 또한, 제1 지연된 클록 신호를 로직 회로에 제공하고, 그리고 제2 지연된 클록 신호를 입력 레지스터 로직에 제공하도록 구성될 수 있다.
일부 실시예들에서, 가변 클록 지연 로직 회로는, 입력 클록 신호를 수신하도록 커플링되고 그리고 제1 지연된 클록 신호를 출력하도록 구성된 제1 지연 회로를 포함하는 제1 클록 경로, 및 제1 지연 회로의 출력을 수신하도록 커플링되고 그리고 제2 지연된 클록 신호를 출력하도록 구성된 제2 지연 회로를 포함하는 제2 클록 경로를 포함할 수 있다. 제어 회로는 추가로, 제1 지연된 클록 신호를 로직 회로에 선택적으로 제공하고, 그리고 제2 지연된 클록 신호를 입력 레지스터 로직에 선택적으로 제공하도록 프로그래밍가능할 수 있다.
일부 실시예들에서, 가변 클록 지연 로직 회로는, 입력 클록 신호 및 가변 클록 지연 로직 회로의 제1 멀티플렉서로부터의 제1 지연된 클록 신호를 수신하도록 커플링된 제1 듀얼 에지 펄스 생성기를 포함하는 제3 클록 경로를 포함할 수 있다. 제1 듀얼 에지 펄스 생성기는 제1 듀얼 에지 클록 신호를 생성하도록 구성될 수 있다. 가변 클록 지연 로직 회로는, 제2 지연 회로로부터 제2 지연된 클록 신호를 수신하고 그리고 가변 클록 지연 로직 회로의 제2 멀티플렉서로부터 제1 지연된 클록 신호를 수신하도록 커플링된 제2 듀얼 에지 펄스 생성기를 포함하는 제4 클록 경로를 더 포함할 수 있다. 제2 듀얼 에지 펄스 생성기는 제2 듀얼 에지 클록 신호를 생성하도록 구성될 수 있다. 제어 회로는 추가로, 제1 듀얼 에지 클록 신호를 로직 회로에 선택적으로 제공하고, 그리고 제2 듀얼 에지 클록 신호를 입력 레지스터 로직에 선택적으로 제공하도록 프로그래밍가능할 수 있다.
일부 실시예들에서, 제어 회로는, 제어 회로의 제1 멀티플렉서로부터 제1 지연된 클록 신호 또는 제2 지연된 클록 신호를 수신하도록 커플링된 제1 펄스 생성기를 포함할 수 있다. 제1 펄스 생성기는, 제1 지연된 클록 신호 또는 제2 지연된 클록 신호의 펄스 폭을 감소시키고, 그리고 제1 좁은 클록 신호(narrow clock signal)를 입력 레지스터 로직에 출력하도록 구성될 수 있다. 제2 펄스 생성기는 제어 회로의 제2 멀티플렉서로부터 제1 지연된 클록 신호, 반전된 클록 신호, 또는 제2 듀얼 에지 클록 신호를 수신하도록 커플링될 수 있다. 제2 펄스 생성기는, 제1 지연된 클록 신호, 반전된 클록 신호, 또는 제2 듀얼 에지 클록 신호의 펄스 폭을 감소시키고, 그리고 제2 좁은 클록 신호를 입력 레지스터 로직에 출력하도록 구성될 수 있다.
일부 실시예들에서, 제어 회로는 추가로, 제1 초기화 모드 및 제2 초기화 모드에서 동작하도록 구성될 수 있다. 제1 초기화 모드에서, 제어 회로는, 입력 레지스터 로직으로의 클록 신호들을 제1 복수의 쌍안정 회로들을 투명하게 만드는 상태로 강제하기 위해 제1 글로벌 신호를 어서팅(assert)하고, 그리고 제1 복수의 쌍안정 회로들로의 초기 값들의 전파에 후속하여, 제1 복수의 쌍안정 회로들이 이전 스테이지로부터 업스트림 데이터 값을 물려받도록(inherit) 제1 글로벌 신호를 디어서팅(deassert)할 수 있다. 제2 초기화 모드에서, 제어 회로는, 입력 레지스터 로직으로의 클록 신호들을 제1 복수의 쌍안정 회로들을 투명하지 않게 만드는 상태로 강제하기 위해 제2 글로벌 신호를 어서팅하고, 제1 복수의 쌍안정 회로들을 특정 상태로 강제하는 제3 글로벌 신호를 입력 레지스터 로직 및 로직 회로에 인가하고, 그리고 제2 글로벌 신호를 디어서팅할 수 있다.
일부 실시예들에서, 제3 글로벌 신호는, 제1 복수의 쌍안정 회로들의 상태들을 로우(low)로 강제하는 글로벌 리셋 신호일 수 있다.
일부 실시예들에서, 제어 회로는 추가로, 제1 복수의 쌍안정 회로들의 출력들 또는 제1 복수의 쌍안정 회로들의 데이터 입력들에서의 신호들을 로직 회로의 입력들에 선택적으로 연결하도록 프로그래밍가능할 수 있다.
일부 실시예들에서, 제어 회로는 제2 복수의 쌍안정 회로들을 포함할 수 있다. 제어 회로는 추가로, 입력 클록 신호 또는 지연된 클록 신호들 중 하나 이상을 제2 복수의 쌍안정 회로들의 클록 입력들에 선택적으로 제공하도록 프로그래밍가능할 수 있다.
일부 실시예들에서, 입력 레지스터 로직은, 로직 회로에 대한 각각의 입력에 대해, 제1 복수의 쌍안정 회로들 중의 쌍안정 회로의 출력 또는 쌍안정 회로의 데이터 입력에서의 신호를 로직 회로의 입력에 선택적으로 연결하도록, 각각의 다른 개개의 데이터 선택 회로와 독립적으로 프로그래밍가능한 개개의 데이터 선택 회로를 포함할 수 있다. 입력 레지스터 로직은, 제1 복수의 쌍안정 회로들 각각에 대해, 입력 클록 신호 또는 지연된 클록 신호들 중 하나 이상을 쌍안정 회로의 클록 입력에 선택적으로 제공하도록, 각각의 다른 개개의 클록 선택 회로와 독립적으로 프로그래밍가능한 개개의 클록 선택 회로를 포함할 수 있다.
다른 개시되는 회로 어레인지먼트는 프로그래밍가능 로직 회로망의 복수의 블록들 및 프로그래밍가능 상호연결 회로망을 포함한다. 프로그래밍가능 로직 회로망의 각각의 블록은 로직 기능을 구현하도록 구성가능하고, 프로그래밍가능 상호연결 회로망은 프로그래밍가능 로직 회로망의 블록들 사이에서 신호들을 선택적으로 라우팅하도록 구성가능하다. 프로그래밍가능 로직 회로망의 복수의 블록들 사이에서 신호들을 선택적으로 라우팅하도록 구성가능한 입력 레지스터 로직은 프로그래밍가능 로직 회로망의 복수의 블록들에 커플링되고, 제1 복수의 쌍안정 회로들을 포함한다. 제어 회로가 입력 레지스터 로직에 커플링된다. 제어 회로는 입력 클록 신호로부터 복수의 지연된 클록 신호들을 생성하도록 구성된다. 복수의 지연된 클록 신호들은 제1 지연된 클록 신호 및 제2 지연된 클록 신호를 포함한다. 제어 회로는 입력 클록 신호 또는 지연된 클록 신호들 중 하나 이상을 제1 복수의 쌍안정 회로들의 클록 입력들에 선택적으로 제공하고, 그리고 입력 클록 신호 또는 지연된 클록 신호들 중 하나 이상을 로직 회로에 선택적으로 제공한다. 제어 회로는 입력 레지스터 로직에 대한 클록 지연과 로직 회로에 대한 클록 지연을 등화시키도록 구성된 가변 클록 지연 로직 회로를 포함한다.
일부 실시예들에서, 가변 클록 지연 로직 회로는, 제1 지연된 클록 신호를 입력 클록 신호의 제1 지연된 버전으로서 생성하고 그리고 제2 지연된 클록 신호를 입력 클록 신호의 제2 지연된 버전으로서 생성하도록 구성될 수 있다. 제1 지연된 클록 신호와 입력 클록 신호 사이의 지연은 제2 지연된 클록 신호와 입력 클록 신호 사이의 지연 미만일 수 있다. 가변 클록 지연 로직 회로는 또한, 제1 지연된 클록 신호를 프로그래밍가능 로직 회로망에 제공하고, 그리고 제2 지연된 클록 신호를 입력 레지스터 로직에 제공하도록 구성될 수 있다.
일부 실시예들에서, 가변 클록 지연 로직 회로는, 입력 클록 신호를 수신하도록 커플링되고 그리고 제1 지연된 클록 신호를 출력하도록 구성된 제1 지연 회로를 포함하는 제1 클록 경로, 및 제1 지연 회로의 출력을 수신하도록 커플링되고 그리고 제2 지연된 클록 신호를 출력하도록 구성된 제2 지연 회로를 포함하는 제2 클록 경로를 포함할 수 있다. 제어 회로는 추가로, 제1 지연된 클록 신호를 프로그래밍가능 로직 회로망에 선택적으로 제공하고, 그리고 제2 지연된 클록 신호를 입력 레지스터 로직에 선택적으로 제공하도록 프로그래밍가능할 수 있다.
일부 실시예들에서, 가변 클록 지연 로직 회로는, 입력 클록 신호 및 가변 클록 지연 로직 회로의 제1 멀티플렉서로부터의 제1 지연된 클록 신호를 수신하도록 커플링된 제1 듀얼 에지 펄스 생성기를 포함하는 제3 클록 경로를 포함할 수 있다. 제1 듀얼 에지 펄스 생성기는 제1 듀얼 에지 클록 신호를 생성하도록 구성될 수 있다. 가변 클록 지연 로직 회로는, 제2 지연 회로로부터 제2 지연된 클록 신호를 수신하고 그리고 가변 클록 지연 로직 회로의 제2 멀티플렉서로부터 제1 지연된 클록 신호를 수신하도록 커플링된 제2 듀얼 에지 펄스 생성기를 포함하는 제4 클록 경로를 더 포함할 수 있다. 제2 듀얼 에지 펄스 생성기는 제2 듀얼 에지 클록 신호를 생성하도록 구성될 수 있다. 제어 회로는 추가로, 제1 듀얼 에지 클록 신호를 프로그래밍가능 로직 회로망에 선택적으로 제공하고, 그리고 제2 듀얼 에지 클록 신호를 입력 레지스터 로직에 선택적으로 제공하도록 프로그래밍가능할 수 있다.
일부 실시예들에서, 제어 회로는, 제어 회로의 제1 멀티플렉서로부터 제1 지연된 클록 신호 또는 제2 지연된 클록 신호를 수신하도록 커플링된 제1 펄스 생성기를 포함할 수 있다. 제1 펄스 생성기는, 제1 지연된 클록 신호 또는 제2 지연된 클록 신호의 펄스 폭을 감소시키고, 그리고 제1 좁은 클록 신호를 입력 레지스터 로직에 출력하도록 구성될 수 있다. 제2 펄스 생성기는 제어 회로의 제2 멀티플렉서로부터 제1 지연된 클록 신호, 반전된 클록 신호, 또는 제2 듀얼 에지 클록 신호를 수신하도록 커플링될 수 있다. 제2 펄스 생성기는, 제1 지연된 클록 신호, 반전된 클록 신호, 또는 제2 듀얼 에지 클록 신호의 펄스 폭을 감소시키고, 그리고 제2 좁은 클록 신호를 입력 레지스터 로직에 출력하도록 구성될 수 있다.
일부 실시예들에서, 제어 회로는 추가로, 제1 초기화 모드 및 제2 초기화 모드에서 동작하도록 구성될 수 있다. 제1 초기화 모드에서, 제어 회로는, 입력 레지스터 로직으로의 클록 신호들을 제1 복수의 쌍안정 회로들을 투명하게 만드는 상태로 강제하기 위해 제1 글로벌 신호를 어서팅하고, 그리고 제1 복수의 쌍안정 회로들로의 초기 값들의 전파에 후속하여, 제1 복수의 쌍안정 회로들이 이전 스테이지로부터 업스트림 데이터 값을 물려받도록 제1 글로벌 신호를 디어서팅할 수 있다. 제2 초기화 모드에서, 제어 회로는, 입력 레지스터 로직으로의 클록 신호들을 제1 복수의 쌍안정 회로들을 투명하지 않게 만드는 상태로 강제하기 위해 제2 글로벌 신호를 어서팅하고, 제1 복수의 쌍안정 회로들을 특정 상태로 강제하는 제3 글로벌 신호를 입력 레지스터 로직 및 프로그래밍가능 로직 회로망에 인가하고, 그리고 제2 글로벌 신호를 디어서팅할 수 있다.
일부 실시예들에서, 제3 글로벌 신호는, 제1 복수의 쌍안정 회로들의 상태들을 로우로 강제하는 글로벌 리셋 신호일 수 있다.
일부 실시예들에서, 제어 회로는 추가로, 제1 복수의 쌍안정 회로들의 출력들 또는 제1 복수의 쌍안정 회로들의 데이터 입력들에서의 신호들을 프로그래밍가능 로직 회로망의 입력들에 선택적으로 연결하도록 프로그래밍가능할 수 있다.
일부 실시예들에서, 제어 회로는 제2 복수의 쌍안정 회로들을 포함할 수 있다. 제어 회로는 추가로, 입력 클록 신호 또는 지연된 클록 신호들 중 하나 이상을 제2 복수의 쌍안정 회로들의 클록 입력들에 선택적으로 제공하도록 프로그래밍가능할 수 있다.
일부 실시예들에서, 입력 레지스터 로직은, 로직 회로에 대한 각각의 입력에 대해, 제1 복수의 쌍안정 회로들 중의 쌍안정 회로의 출력 또는 쌍안정 회로의 데이터 입력에서의 신호를 프로그래밍가능 로직 회로망의 입력에 선택적으로 연결하도록, 각각의 다른 개개의 데이터 선택 회로와 독립적으로 프로그래밍가능한 개개의 데이터 선택 회로를 포함할 수 있다. 입력 레지스터 로직은 또한, 제1 복수의 쌍안정 회로들 각각에 대해, 입력 클록 신호 또는 지연된 클록 신호들 중 하나 이상을 쌍안정 회로의 클록 입력에 선택적으로 제공하도록, 각각의 다른 개개의 클록 선택 회로와 독립적으로 프로그래밍가능한 개개의 클록 선택 회로를 포함할 수 있다.
다른 특징들은 다음의 상세한 설명 및 청구항들을 고려하여 인식될 것이다.
개시된 회로망의 다양한 양상들 및 특징들은 다음의 상세한 설명의 리뷰 시에 그리고 도면들의 참조 시에 자명해질 것이며:
도 1은 시스템의 성능을 향상시키기 위해 제어 회로 및 입력 레지스터 로직에 커플링된 로직 회로를 갖는 시스템을 도시하고;
도 2는 도 1의 입력 레지스터 로직의 예시적인 구현을 도시하고;
도 3은 도 1의 제어 회로의 클록 변조 로직의 예시적인 구현을 도시하고;
도 4는 도 3의 클록 변조 로직의 가변 클록 지연 로직의 예시적인 구현을 도시하고;
도 5는 제어 회로에 의해 생성되고 선택적으로 제공되는 클록 신호들의 파형들을 도시하고; 그리고
도 6은 개시된 회로들 및 프로세스들이 구현될 수 있는 프로그래밍가능 IC(integrated circuit)를 도시한다.
다음의 설명에서, 본원에서 제시된 특정 예들을 설명하기 위해 다수의 특정 세부사항들이 기술된다. 그러나, 하나 이상의 다른 예들 및/또는 이러한 예들의 변형들이 아래에서 주어지는 모든 특정 세부사항들 없이 실시될 수 있다는 것이 당업자에게 명백해야 한다. 다른 인스턴스들에서, 잘 알려진 특징들은 본원에서의 예들의 설명을 모호하게 하지 않기 위해 상세하게 설명되지 않았다. 예시의 용이함을 위해, 동일한 참조 번호들이 동일한 엘리먼트들 또는 동일한 엘리먼트의 추가적인 인스턴스들을 지칭하기 위해 상이한 다이어그램들에서 사용될 수 있다.
개시된 회로들 및 방법들은 로직 회로망의 블록들의 입력들에서 인터페이스 회로들을 수반한다. 각각의 인터페이스 회로는, 파이프라이닝을 선택적으로 인에이블하고, 선택적으로 시간 차용(time borrow)을 하고, 그리고/또는 로직 회로망의 블록으로의 입력들에 대한 최소 지연 경로들 상의 지연들을 선택적으로 증가시킨다. 로직 회로망의 각각의 블록은 블록에 입력되는 각각의 비트를 개별적으로 제어하는 연관된 인터페이스 회로를 가질 수 있다. 인터페이스 회로는, 입력 데이터 신호들이 블록으로의 입력을 위한 인터페이스를 바이패스하는 것을 선택적으로 허용하고, 블록으로의 입력 전에 입력 데이터 신호들을 선택적으로 파이프라이닝하고, 시간 차용을 위해, 지연된 클록 신호로 입력 데이터 신호들을 선택적으로 파이프라이닝하고, 그리고 다른 경로들 상에서의 시간 차용을 인에이블하기 위해 빠른 경로들을 선택적으로 스톨링(stall)할 수 있다.
로직 회로망의 블록들에 대한 입력들 가까이의 인터페이스 회로에 레지스터들을 집중시키고 레지스터들을 클록 지연 엘리먼트들에 커플링하여 시간을 차용함으로써, 거의 모든 곳에서 파이프라인 레지스터들을 갖는 것의 많은 장점은, 주어진 경로 상에서 레지스터들이 소스 플립-플롭에 더 가까이 배치된 것처럼 입력들 가까이의 레지스터들이 거동하도록 강제함으로써 높은 비용없이 달성될 수 있다. 인터페이스 회로는 또한, 더 빠른 데이터 경로들을 스톨링하고 홀드 위반들을 더 일반적으로 픽싱함으로써, 글로벌하게 공격적인 시간 차용을 용이하게 하는 데 사용될 수 있다. 인터페이스 레지스터들의 배치가 로직 회로망의 블록의 입력들 가까이에 집중되기 때문에, 인터페이스 레지스터들은 로직 회로망의 블록과 동일한 제어 세트(클록, 클록-인에이블, 및 리셋)를 공유할 가능성이 더 크며, 그에 의해, 제어 세트로부터 신호들의 선택을 위해 어떤 멀티플렉서들도 필요하지 않기 때문에 레지스터들을 인에이블하는 비용을 감소시킨다.
집적 회로망의 성능을 개선하기 위한 노력으로, 개개의 인터페이스 회로들은 로직 회로망의 블록들에 근접하게 제공된다. 각각의 인터페이스 회로는 입력 레지스터 로직 및 제어 회로를 포함한다. 입력 레지스터 로직은 로직 회로망의 블록으로의 입력 신호들의 선택적 파이프라이닝을 제공하도록 프로그래밍가능하다. 입력 레지스터 로직은 다수의 쌍안정 회로들을 포함한다. 쌍안정 회로들 각각은 입력 데이터 신호를 수신하도록 커플링되고, 데이터 신호를 로직 회로망의 블록의 입력에 출력하도록 커플링된다. 제어 회로는 쌍안정 회로들로의 클록 신호를 제어한다. 제어 회로는 지연된 클록 신호 또는 지연이 없는 클록 신호를 쌍안정 회로들 중 각각의 쌍안정 회로의 클록 입력에 선택적으로 제공하도록 프로그래밍가능하다. 제어 회로는 또한, 쌍안정 회로들의 출력들, 또는 쌍안정 회로들의 데이터 입력들에서의 신호들을 로직 회로망의 블록의 입력들에 선택적으로 연결하도록 프로그래밍가능하다.
도 1은 시스템의 성능을 향상시키기 위해 제어 회로(102) 및 입력 레지스터 로직(104)에 커플링된 로직 회로(105)를 갖는 시스템을 도시한다. 시스템은 입력 레지스터 로직(104-1, ..., 104-P)에 커플링된 제어 회로(102)를 포함하며, 입력 레지스터 로직(104-1, ..., 104-P)은 총괄하여 입력 레지스터 로직(104)으로 언급될 수 있다. 입력 레지스터 로직(104-1, ..., 104-P) 각각은, 각각의 다른 입력 레지스터 로직의 쌍안정 회로들과 별개로 클록킹될 수 있는 쌍안정 회로를 포함하며, 아래에서 도 2와 관련하여 추가로 논의된다. 제어 회로(102)는, 클록 신호(140), 지연된 클록 신호(142), 및 리셋 신호(138)를 생성하여 입력 레지스터 로직(104)에 선택적으로 제공하는 클록 변조 로직(106)을 포함한다. 입력 레지스터 로직(104)은 데이터 신호들(136-1, ..., 136-P)을 수신하고 데이터 신호들(144-1, ..., 144-P)을 로직 회로(105)에 출력하며, 로직 회로(105)는 하나 이상의 쌍안정 회로들(예컨대, 플립-플롭들), 이를테면, 107-1 - 107-N을 포함한다. 클록 변조 로직(106)은 또한, 클록 신호(130)를 생성하여 로직 회로(105)의 플립-플롭들(107-1 - 107-N)에 선택적으로 제공한다.
클록 신호 및 지연된 클록 신호 둘 모두를 입력 레지스터 로직(104-1, ..., 104-P) 각각에 제공하는 것은, 입력 데이터 신호들(136-1, ..., 136-P) 모두가 입력 레지스터 로직을 통해 파이프라이닝되고 그리고 또한 어느 입력들이 시간 차용을 사용할 것인지를 선택적으로 선정하는 것을 가능하게 한다. 이는, 다른 더 빠른 입력 경로들 상에서 홀드 위반들을 도입하지 않으면서, 최대 지연들을 갖는 경로들이 타이밍 요건들을 충족시키는 것을 인에이블한다. 대안적으로, 로직 회로(105)에 대한 일부 입력 경로들이 파이프라이닝될 수 있고, 홀드 시간 위반들은 다른 경로들 상에서 픽싱될 수 있다.
제어 회로(102) 및 입력 레지스터 로직(104)의 하나 이상의 인스턴스들은 로직 회로(105)의 입력들에 근접하게 배치된다. 즉, 입력 레지스터 로직(104)은 IC 다이 상에서 로직 회로(105)에 인접하게 배치된다. 입력 레지스터 로직과 연관 로직 블록 사이에는 어떤 다른 로직 블록들, 플립-플롭들, 메모리들 등도 배치되지 않는다. 입력 레지스터 로직(104)이 로직 회로(105)의 입력들에 근접하게 배치되기 때문에, 입력 레지스터 로직(104)의 쌍안정 회로들은 로직 회로(105)로서 제어 세트(클록, 클록-인에이블, 및 리셋)를 공유할 가능성이 더 크며, 그에 의해, 제어 세트를 원거리 레지스터로부터 로직 회로(105)로 라우팅하는 데 필요한 자원들을 제거한다. 프로그래밍가능 IC들, 이를테면, FPGA(field programmable gate array)들은 로직(105)의 다수의 인스턴스들을 가질 수 있고, 로직(105)의 각각의 인스턴스들은 원하는 로직 기능을 구현하도록 구성가능하다. 로직 회로의 다수의 인스턴스들을 갖는 구현들은 제어 회로(102) 및 입력 레지스터 로직(104)의 개개의 인스턴스들을 가질 수 있다.
클록 변조 로직(106)은 클록 신호(146) 및 지연된 클록 신호(148)를 제공하고, 멀티플렉서들(116 및 124)은 클록 신호(146) 또는 지연된 클록 신호(148)를 선택하여 쌍안정 회로들(118 및 126)을 클록킹한다. 제어 회로(102)는, 글로벌 리셋 신호(110) 및 쌍안정 회로(118)의 출력을 수신하여 리셋 신호(132)를 로직 회로(105)에 제공하기 위한 멀티플렉서(120)를 포함한다. 제어 회로(102)는 또한, 글로벌 클록 인에이블 신호(112) 및 쌍안정 회로(126)의 출력을 수신하여 클록 인에이블 신호(134)를 로직 회로(105)에 제공하는 멀티플렉서(128)를 포함한다. 제어 회로(102)는, 글로벌 클록 신호(108)와 글로벌 클록 신호(108)의 반전된 버전 중에서 선택하여 입력 클록 신호(150)를 클록 변조 로직(106)에 제공하는 멀티플렉서(114)를 포함한다.
적어도 하나의 구현에서, 시스템의 초기화 모드를 결정하기 위해 글로벌 신호(145)가 클록 변조 로직(106)에 제공된다. 초기화 모드의 선택은 클록 변조 로직(106)의 메모리 셀의 프로그래밍에 기반한다. 제1 초기화 모드는 로직 회로(105)의 홀드 위반들을 픽싱하는 것과 연관된다. 도 1에 예시된 것과 같은 시스템의 구성 동안, 입력 레지스터 로직(104)에 제공된 클록 신호들은, 글로벌 신호(145)를 어서팅함으로써 입력 레지스터 로직(104)의 쌍안정 회로들(예컨대, 도 2에 예시된 쌍안정 회로(202))을 초기에 투명하게 만드는 상태로 강제된다. 초기 값들이 쌍안정 회로들에 전파된 후에, 글로벌 신호(145)는 디어서팅된다. 쌍안정 회로들에 제공되는 클록 신호들의 제어는 로컬 회로망에 리턴된다. 쌍안정 회로들은 이전 스테이지로부터 업스트림 데이터 값을 물려받아, 그들이, 제1 사이클에서의 적합한 동작을 위한 비동기 경로처럼 거동하게 만든다.
시스템의 제2 초기화 모드는 입력 레지스터 로직(104)의 쌍안정 회로들을 통해 데이터 신호들을 로직 회로(105)에 파이프라이닝하는 것과 연관된다. 시스템의 구성 동안, 쌍안정 회로들에 제공되는 로컬 클록 신호들은, 글로벌 신호(145)를 어서팅함으로써 쌍안정 회로들을 투명하지 않게 만드는 특정 상태로 강제된다. 예컨대, 글로벌 신호(145)는, 쌍안정 회로들의 상태들을 로우(low)로 강제하는 글로벌 리셋 신호 또는 쌍안정 회로들의 상태들을 하이(high)로 강제하는 글로벌 세트 신호일 수 있다. 글로벌 신호(145)가 디어서팅되고, 쌍안정 회로들에 제공되는 클록 신호들의 제어는 로컬 회로망에 리턴된다. 제2 초기화 모드는 입력 로직(104)의 쌍안정 회로들이 쌍안정 회로들 각각에 대한 추가적인 회로망 없이 초기화되는 것을 인에이블한다.
도 1에 도시되지 않았지만, 로직 회로(105)는 추가적인 쌍안정 회로들에 커플링될 수 있다. 클록 변조 로직(106)은 클록 신호(130), 리셋 신호(132), 및/또는 클록 인에이블 신호(134)를 생성하여 추가적인 쌍안정 회로들에 선택적으로 제공할 수 있다.
도 2는 도 1의 입력 레지스터 로직(104)의 예시적인 구현을 도시한다. 입력 레지스터 로직(104)은, 도시되지 않은 하나 이상의 추가적인 쌍안정 회로들과 함께, 쌍안정 회로(202)를 포함한다. 도 2는 입력 레지스터 로직(104)의 비트당 회로 어레인지먼트(per bit circuit arrangement)를 예시한다. 쌍안정 회로(202)는 데이터 신호(136) 및 리셋 신호(138)를 수신한다. 쌍안정 회로(202)의 클록 입력은 멀티플렉서(208)의 출력을 수신하며, 멀티플렉서(208)는 클록 신호(140)와 지연된 클록 신호(142) 중에서 선택한다. 입력 레지스터 로직(104)은 바이패스 경로(137)를 포함하며, 그에 따라 데이터 신호(136)는 파이프라이닝되지 않고, 쌍안정 회로(202)를 바이패싱한다. 구성 메모리 셀(210)은 쌍안정 회로(202)에 제공된 클록 신호를 선택하도록 프로그래밍될 수 있다. 예컨대, 비-임계 경로의 데이터 신호(136)가 파이프라이닝될 때, 클록 신호(140)가 쌍안정 회로(202)에 선택적으로 제공될 수 있다. 임계 경로의 데이터 신호(136)가 파이프라이닝될 때, 지연된 클록 신호(142)가 쌍안정 회로(202)에 선택적으로 제공될 수 있다. 본원에서 사용되는 바와 같이, "임계 경로"는 최대 지연 타이밍 위반을 갖는 경로를 지칭한다. 멀티플렉서(204)에 커플링된 구성 메모리 셀(206)은, 비-임계 경로의 데이터 신호(136)가 파이프라이닝되지 않을 때 바이패스 경로(137)를 선택하거나, 또는 임계 경로의 데이터 신호(136)가 파이프라이닝될 때 쌍안정 회로(202)의 출력을 선택하도록 프로그래밍될 수 있다.
도 3은 도 1의 제어 회로(102)의 클록 변조 로직(106)의 예시적인 구현을 도시한다. 클록 변조 로직(106)은, (도 4와 관련하여 아래에서 논의되는 바와 같이) 홀드 위반들을 회피 및/또는 방지하기 위해, 시간 차용, 클록 신호들의 배가(doubling)를 위한 넓은 펄스 생성, 및 입력 레지스터 로직(104) 및 다운스트림 로직 회로(105)에 대한 클록 신호들의 지연을 위해 사용될 수 있는 회로이다. 클록 변조 로직(106)에 의해 생성된 클록 신호들은 입력 레지스터 로직(104) 및 다운스트림 로직 회로(105)에 독립적으로 전송되고, 그에 따라 로직 회로(105)는 입력 레지스터 로직(104)에 의해 사용되는 클록 신호들과는 상이한 클록 신호를 사용할 수 있다. 클록 변조 로직(106)은 입력 클록 신호(150)를 수신하며, 입력 클록 신호(150)는 멀티플렉서(312) 및 가변 클록 지연 로직 회로(302)에 제공된다. 가변 클록 지연 로직 회로(302)는 아래에서 도 4와 관련하여 추가로 논의된다. 가변 클록 지연 로직 회로(302)는 입력 클록 신호(150)에 기반하여 다음의 클록 신호들: 멀티플렉서(312)에 제공되는 듀얼 에지 클록 신호(304); 멀티플렉서(312), 멀티플렉서(316), 및 멀티플렉서(322)에 제공되는 제1 지연된 클록 신호(306); 멀티플렉서(316)에 제공되는, (제1 지연된 클록 신호(306)에 기반하는) 제2 지연된 클록 신호(308); 및 멀티플렉서(322)에 제공되는, (제1 지연된 클록 신호(306)에 기반하는) 지연된 듀얼 에지 클록 신호(310)를 생성 및 출력한다.
클록 신호(130)는 멀티플렉서(312)로부터 로직 회로(105)로 출력된다. 멀티플렉서(312)의 제어 단자에 커플링된 구성 메모리 셀(314)은, 입력 클록 신호(150), 듀얼 에지 클록 신호(304), 또는 제1 지연된 클록 신호(306)를 선택하도록 프로그래밍될 수 있다.
멀티플렉서(316)로부터 출력된 지연된 클록 신호(320)는 좁은 펄스 생성기(332), 및 리셋 및 클록 제어 로직(328)에 제공된다. 좁은 펄스 생성기는, 입력 신호의 펄스 폭 미만인 펄스 폭을 갖는 신호를 출력한다. 구성 메모리 셀(318)은 멀티플렉서(316)에 커플링되며, 제1 지연된 클록 신호(306) 또는 제2 지연된 클록 신호(308)를 선택하도록 프로그래밍될 수 있다. 좁은 펄스 생성기(332)의 출력은 AND 게이트(340)의 하나의 입력에 커플링되고, 구성 메모리 셀(348)은 AND 게이트(340)의 다른 입력에 커플링된다. 구성 메모리 셀(348)의 상태는, 지연된 클록 신호(148)로서 좁은 펄스 생성기(332)로부터의 출력의, 쌍안정 회로들(118 및 126)로의 전파를 인에이블하거나 디스에이블한다.
지연된 클록 신호(306), 지연된 클록 신호(306)의 반전된 버전("네거티브 에지 클록 신호"로 또한 지칭됨), 및 지연된 듀얼 에지 클록 신호(310)는 입력들로서 멀티플렉서(322)에 제공된다. 멀티플렉서(322)로부터 출력된 지연된 클록 신호(326)는 좁은 펄스 생성기(334), 및 리셋 및 클록 제어 로직(328)에 제공된다. 네거티브 에지 클록 신호는 인입 홀드 위반들을 픽싱하기 위해 클록 사이클의 절반 동안 인입 데이터를 스톨링하는 데 유익하다. 구성 메모리 셀(324)은 멀티플렉서(316)에 커플링되며, 제1 지연된 클록 신호(306), 반전된 제1 지연된 클록 신호, 또는 지연된 듀얼 에지 클록 신호(310)를 선택하도록 프로그래밍될 수 있다. 좁은 펄스 생성기(334)는 AND 게이트(342)의 하나의 입력에 커플링되고, 구성 메모리 셀(350)은 AND 게이트(342)의 다른 입력에 커플링된다. 구성 메모리 셀(350)의 상태는, 클록 신호(146)로서 좁은 펄스 생성기로부터의 출력의, 쌍안정 회로들(118 및 126)로의 전파를 인에이블하거나 디스에이블한다.
리셋 및 클록 제어 로직(328)은 베이스 클록 신호(320), 지연된 클록 신호(326), 클록 인에이블 신호(134), 리셋 신호(331), 및 인에이블 신호(356)를 수신한다. 리셋 신호(331) 또는 클록 인에이블 신호(134)가 인에이블되지 않거나 또는 어서팅되지 않는 경우, 베이스 클록 신호(320) 및 지연된 클록 신호(326)는 리셋 및 클록 제어 로직(328)을 통과한다. 리셋 신호(331)가 어서팅되고 인에이블 리셋 신호(357)가 어서팅되고, 그리고 인에이블 동기 신호(355)가 어서팅되지 않는 경우, 베이스 클록 및 지연된 클록 출력들은 쌍안정 회로들을 리셋하기 위해, 쌍안정 회로들로의 입력 경로를 차단(shut off)하도록 즉시 로우로 강제된다. 리셋 신호(331)가 어서팅되고 인에이블 리셋 신호(357)가 어서팅되고, 그리고 인에이블 동기 신호(355)가 어서팅되는 경우, 출력 베이스 클록은 입력 베이스 클록의 상승 에지에서 로우로 강제되고, 출력 지연된 클록은 입력 지연된 클록의 상승 에지 상에서 로우로 강제된다. 클록 인에이블 신호(134)가 디어서팅되고 인에이블 신호(356)가 어서팅되는 경우, 베이스 클록 신호 및 지연된 클록 신호는 그들 자신의 클록들에 동기식으로 로우로 강제된다.
좁은 펄스 생성기들(336 및 338)은 리셋 및 클록 제어 로직(328)으로부터의 개개의 출력 신호들을 수신하도록 커플링된다. 좁은 펄스 생성기(336)의 출력은 AND 게이트(344)의 하나의 입력에 커플링되고, 좁은 펄스 생성기(338)의 출력은 AND 게이트(346)의 하나의 입력에 커플링된다. 구성 메모리 셀(352)의 출력은 AND 게이트(344)의 다른 입력에 커플링되고, 구성 메모리 셀(354)의 출력은 AND 게이트(346)의 다른 입력에 커플링된다. 구성 메모리 셀들(352 및 354)의 상태들은 입력 레지스터 로직(104)의 쌍안정 회로들로의 클록 신호(140) 및 지연된 클록 신호(142)의 전파를 각각 인에이블 또는 디스에이블한다.
리셋 로직(330)은 인에이블 동기 신호(355), 리셋 신호(331), 인에이블 리셋 신호(357), 및 신호(326)를 수신한다. 리셋 로직(330)은 리셋 신호(138)를 입력 레지스터 로직(104)의 쌍안정 회로들에 출력한다. 인에이블 리셋 신호(357) 및 인에이블 동기 신호(355)가 어서팅되는 경우, 리셋 로직(330)은 신호(326)의 상승 에지들에 대해서만 리셋 신호(331)를 샘플링한다. 인에이블 리셋 신호(357)가 어서팅되고 인에이블 동기 신호(355)가 어서팅되지 않는 경우, 리셋 로직(330)은 리셋 신호(331)를 연속적으로 샘플링한다.
도 4는 도 3의 클록 변조 로직(106)의 가변 클록 지연 로직 회로(302)의 예시적인 구현을 도시한다. 가변 클록 지연 로직 회로(302)는, 입력 클록 신호(150)를 수신하고 입력 클록 신호에 기반하여 상이한 클록 신호들을 생성 및 출력하는 회로이다. 가변 클록 지연 로직 회로(302)는 복수의 클록 경로들을 포함한다. 제1 클록 경로는 입력 클록 신호(150)를 수신하는 제1 지연 회로(402)를 포함한다. 제1 지연 회로(402)는 멀티플렉서(406)의 입력들에 연결되는 다수의 탭들을 포함한다. 구성 메모리 셀들(도시되지 않음)은 멀티플렉서(406)의 제어 단자에 연결될 수 있고, 탭들 중 하나의 탭으로부터 클록 신호(150)의 지연된 버전을 선택하도록 프로그래밍될 수 있다. 선택된 지연된 클록 신호는 지연된 클록 신호(306)이다.
제2 클록 경로는 지연된 클록 신호(414)를 수신하는 제2 지연 회로(404)를 포함한다. 지연된 클록 신호(414)는 지연 회로(402)의 마지막 탭으로부터의 출력 클록 신호이다. 제2 지연 회로(404)는 멀티플렉서(408)의 입력들에 연결되는 다수의 탭들을 포함한다. 지연 회로(402)의 탭들로부터의 출력 신호들은 또한 멀티플렉서(408)의 입력들에 연결된다. 구성 메모리 셀들(도시되지 않음)은 멀티플렉서(408)의 제어 단자에 연결될 수 있고, 탭들 중 하나의 탭으로부터 클록 신호(150)의 지연된 버전을 선택하도록 프로그래밍될 수 있다. 선택된 지연된 클록 신호는 제2 지연된 클록 신호(308)이다. 제1 및 제2 지연된 클록 신호들(306 및 308)은, 후속적인 클록 사이클들로부터 시간을 차용하도록 입력 레지스터 로직(104) 및/또는 로직 회로(105)를 인에이블하는 데 유익할 수 있다.
제3 클록 경로는, 입력 클록 신호(150) 및 멀티플렉서(406)로부터의 제1 지연된 클록 신호(306)를 수신하는 제1 듀얼 에지 펄스 생성기를 포함하고, 제1 듀얼 에지 펄스 생성기는 XOR(exclusive OR) 게이트(412)에 의해 구현될 수 있다. 입력 클록 신호(150)와 제1 지연된 클록 신호(306)를 XOR하는 것은 듀얼 에지 클록 신호(304)로서 제1 지연된 클록 신호(306)의 듀얼 에지 버전을 생성한다. 이 프로세스는 업스트림 클록 트리에서 전력을 절약하기에 유익할 수 있다. 듀얼 에지 클록 신호(304)는 로직 회로(105)에 선택적으로 제공된다.
제4 클록 경로는, 제2 지연 회로(404)로부터의 제2 지연된 클록 신호(308) 및 지연 회로(404)의 마지막 탭으로부터 출력된 지연된 클록 신호(416)를 수신하는 제2 듀얼 에지 펄스 생성기, 이를테면, XOR 게이트(410)를 포함한다. 제2 지연된 클록 신호(308)와 지연된 클록 신호(416)와 XOR하는 것은 지연된 듀얼 에지 클록 신호(310)로서 제2 지연된 클록 신호(308)의 듀얼 에지 버전을 생성하며, 이는 제어 회로(102) 및/또는 입력 레지스터 로직(104)의 쌍안정 회로들에 선택적으로 제공된다. 제5 클록 경로는 가변 클록 지연 로직 회로(302)에 의해 수정되지 않은 입력 클록 신호(150)를 출력한다.
로직 회로의 쌍안정 회로들, 이를테면, 로직 회로(105)의 쌍안정 회로들(107)에서의 홀드 위반들은 로직 회로 다음에 놓인 입력 레지스터 로직의 쌍안정 회로들, 이를테면, 입력 레지스터 로직(104)의 쌍안정 회로(202)에서의 홀드 위반들보다 더 길 수 있다. 입력 레지스터 로직(105)의 블록이 쌍안정 회로들(202 및 107) 둘 모두를 위해 사용되는 것을 인에이블하기 위해, 가변 클록 지연 로직 회로(302)는 2개의 지연 회로들(402 및 404)을 포함한다. 지연 회로(402)는 입력 클록 신호(150)로부터 제1 지연된 클록 신호(306)를 생성하는 반면, 지연 회로(404)는 제1 지연 회로(402)의 출력으로부터 제2 지연된 클록 신호(308)를 생성한다. 즉, 제2 지연된 클록 신호(308)는 클록 신호(306)의 추가로 지연된 버전일 수 있다. 로직 회로(105) 및 입력 레지스터 로직(104)에 커플링된 가변 클록 지연 로직 회로(302)는 입력 레지스터 로직(104)의 쌍안정 회로들에 대한 클록 지연들을 로직 회로(105)의 쌍안정 회로들에 대한 클록 지연들과 등화하도록 프로그래밍될 수 있다. 예컨대, 제어 회로(102)는, 제1 지연된 클록 신호(306)를 로직 회로(105)의 쌍안정 회로들(107)에 그리고 제2 지연된 클록 신호(308)를 입력 레지스터 로직(104)의 쌍안정 회로들(202)에 선택적으로 제공하도록 프로그래밍가능하다.
등화 없이, 입력 레지스터 로직(104)의 쌍안정 회로들에 대한 클록 지연들은 로직 회로(105)에 대한 쌍안정 회로들(107)에 대한 클록 지연들보다 더 짧을 수 있다. 결과적으로, 로직 회로(105) 및 입력 레지스터 로직(104)의 쌍안정 회로들 사이의 입력 홀드 위반들을 회피하기 위해, 하나 이상의 데이터 경로들이 로직 회로(105)에 추가될 필요가 있을 것이다. 대조적으로, 본 개시내용의 구현들은, 로직 회로(105)의 타이밍을 변경할 필요 없이, 입력 레지스터 로직(104)의 블록이 로직 회로(105)의 쌍안정 회로들(107)에 대한 상이한 클록 지연들 및 다수의 사이즈들의 로직 회로(105)의 블록들과 함께 사용되는 것을 인에이블한다.
도 5는 도 1의 제어 회로(102)에 의해 생성되고 선택적으로 제공되는 클록 신호들의 파형들을 도시한다. 도 5에 예시된 바와 같이, 입력 클록 신호(150)는 베이스 클록 신호로 지칭될 수 있고, 제1 지연된 클록 신호(306)는 지연된 베이스 클록 신호로 지칭될 수 있다. 제1 지연된 클록 신호(306)는 입력 클록 신호(150)의 위상 시프트된 버전일 수 있다. 듀얼 에지 클록 신호(304)는 입력 클록 신호(150)의 상승 및 하강 에지들에서 상승 에지를 갖는다. 파형들(146-1, 146-2, 148-1, 및 148-2)은, 입력 클록 신호(150), 제1 지연된 클록 신호(306), 입력 클록 신호(150)의 반전된(네거티브 에지) 버전, 및 듀얼 에지 클록 신호(304)의 좁은 버전들을 각각 나타낸다.
도 6은 개시된 회로들 및 프로세스들이 구현될 수 있는 프로그래밍가능 IC(integrated circuit)(600)를 도시한다. 프로그래밍가능 IC는 또한, 다른 프로그래밍가능 리소스들과 함께 FPGA(field programmable gate array logic)를 포함하는 SOC(System On Chip)로 지칭될 수 있다. FPGA 로직은 어레이에서 몇몇 상이한 타입들의 프로그래밍가능 로직 블록들을 포함할 수 있다. 예컨대, 도 6은, 멀티-기가비트 트랜시버(MGT)들(601), 구성가능 로직 블록(CLB)들(602), 랜덤 액세스 메모리 블록(BRAM)들(603), 입력/출력 블록(IOB)들(604), 구성 및 클록킹 로직(CONFIG/CLOCKS)(605), 디지털 신호 프로세싱 블록(DSP)들(606), 특화된 입력/출력 블록들(I/O)(607), 예컨대 클록 포트들, 및 다른 프로그래밍가능 로직(608), 이를테면, 디지털 클록 관리자들, 아날로그-투-디지털 변환기들, 시스템 모니터링 로직 등을 포함하는 많은 수의 상이한 프로그래밍가능 타일들을 포함하는 프로그래밍가능 IC(600)를 예시한다. FPGA 로직을 갖는 일부 프로그래밍가능 IC는 또한, 전용 프로세서 블록들(PROC)(610) 및 입력 및 외부 재구성 포트들(도시되지 않음)을 포함한다.
일부 FPGA 로직에서, 각각의 프로그래밍가능 타일은, 각각의 인접한 타일 내의 대응하는 상호연결 엘리먼트로의 그리고 대응하는 상호연결 엘리먼트로부터의 표준화된 연결들을 갖는 프로그래밍가능 상호연결 엘리먼트(INT)(611)를 포함한다. 따라서, 함께 취해진 프로그래밍가능 상호연결 엘리먼트들은 예시된 FPGA 로직에 대한 프로그래밍가능 상호연결 구조를 구현한다. 프로그래밍가능 상호연결 엘리먼트(INT)(611)는 또한, 도 6의 최상부에 포함된 예들에 의해 도시된 바와 같이, 동일한 타일 내의 프로그래밍가능 로직 엘리먼트로의 그리고 프로그래밍가능 로직 엘리먼트로부터의 연결들을 포함한다.
예컨대, CLB(602)는, 사용자 로직뿐만 아니라 단일 INT(611)를 구현하도록 프로그래밍될 수 있는 구성가능 로직 엘리먼트(CLE)(612)를 포함할 수 있다. BRAM(603)은 하나 이상의 프로그래밍가능 상호연결 엘리먼트들에 추가하여 BRAM 로직 엘리먼트(BRL)(613)를 포함할 수 있다. 전형적으로, 타일에 포함된 상호 연결 엘리먼트들의 수는 타일의 높이에 따라 좌우된다. 예시된 BRAM 타일은 5개의 CLB들과 동일한 높이를 갖지만, 다른 개수들(예컨대, 4)이 또한 사용될 수 있다. DSP 타일(606)은 적합한 수의 프로그래밍가능 상호연결 엘리먼트들에 추가하여 DSP 로직 엘리먼트(DSPL)(614)를 포함할 수 있다. IOB(604)는, 예컨대 INT(611)의 하나의 인스턴스에 추가하여 입력/출력 로직 엘리먼트(IOL)(615)의 2개의 인스턴스들을 포함할 수 있다. 당업자들에게 자명할 바와 같이, 예컨대 IOL(615)에 연결된 실제 I/O 본드 패드(bond pad)들은 다양한 예시된 로직 블록들 위에 계층화된 금속을 사용하여 제조되며, 전형적으로, 입력/출력 로직 엘리먼트(615)의 영역으로 제한되지 않는다.
(도 6에서 음영으로 도시된) 다이의 중심 가까이의 컬럼 영역(columnar area)은 구성, 클록, 및 다른 제어 로직에 대해 사용될 수 있다. 이러한 컬럼으로부터 연장되는 수평 영역들(609)은 프로그래밍가능 IC의 폭에 걸쳐 클록들 및 구성 신호들을 분배하는 데 사용된다. "컬럼" 및 "수평" 영역들에 대한 참조들은 세로 배향(portrait orientation)으로 도면을 보는 것에 관한 것임을 주목한다.
도 6에 예시된 아키텍처를 활용하는 일부 프로그래밍가능 IC들은 프로그래밍가능 IC의 많은 부분을 구성하는 일반적인 컬럼 구조를 방해하는 추가적인 로직 블록들을 포함한다. 추가적인 로직 블록들은 프로그래밍가능 블록들 및/또는 전용 로직일 수 있다. 예컨대, 도 6에 도시된 프로세서 블록(PROC)(610)은 CLB들 및 BRAM들의 몇몇 컬럼들에 걸쳐 있다.
도 6이 단지 예시적인 프로그래밍가능 IC 아키텍처를 예시하도록 의도됨을 주목한다. 컬럼 내의 로직 블록들의 수들, 컬럼들의 상대적인 폭들, 컬럼들의 수 및 순서, 컬럼들에 포함된 로직 블록들의 타입들, 로직 블록들의 상대적인 사이즈들, 및 도 6의 최상부에 포함된 상호연결/로직 구현들은 전적으로 예시적이다. 예컨대, 실제 프로그래밍가능 IC에서, CLB들의 1개보다 많은 인접한 컬럼은 전형적으로, 사용자 로직의 효율적인 구현을 용이하게 하기 위해, CLB들이 나타나는 곳마다 포함된다.
일부 경우들에서, 양상들 및 특징들이 개별 도면들에서 설명될 수 있지만, 하나의 도면으로부터의 특징들은 조합이 명시적으로 도시되지 않거나 또는 조합으로서 명시적으로 설명되지 않더라도 다른 도면의 특징들과 조합될 수 있다는 것이 인식될 것이다.
개시된 회로들 및 방법들은 집적 회로들의 타이밍을 최적화하기 위한 다양한 시스템들에 적용가능한 것으로 간주된다. 다른 양상들 및 특징들은 본 명세서의 고려사항으로부터 당업자들에게 명백해질 것이다. 회로들 및 방법들은 ASIC(application specific integrated circuit) 또는 프로그래밍가능 로직으로서 구현될 수 있다. 명세서 및 도면들은 단지 예들로서 고려되도록 의도되며, 본 발명의 실제 범위는 다음의 청구항들에 의해 표시된다.

Claims (15)

  1. 회로 어레인지먼트로서,
    로직 회로(105);
    상기 로직 회로(105)에 커플링되고 그리고 제1 복수의 쌍안정 회로들을 포함하는 입력 레지스터 로직(104) ― 상기 제1 복수의 쌍안정 회로들은 복수의 입력 데이터 신호들을 수신하고, 상기 입력 레지스터 로직은 복수의 바이패스 경로들 및 복수의 멀티플렉서 회로들을 포함하며, 상기 복수의 멀티플렉서 회로들 각각은, 상기 복수의 입력 데이터 신호들 중 상기 복수의 바이패스 경로들 중 하나 상의 일 입력 데이터 신호와 상기 제1 복수의 쌍안정 회로들 중 일 쌍안정 회로로부터의 출력 신호 사이에서 선택하여 상기 입력 레지스터 로직으로부터의 복수의 출력 데이터 신호들 중 일 출력 데이터 신호로서 제공하도록 구성되고, 상기 로직 회로는 상기 입력 레지스터 로직으로부터 상기 복수의 출력 데이터 신호들을 수신하도록 커플링됨 ― ; 및
    상기 입력 레지스터 로직에 커플링된 제어 회로(102)
    를 포함하며,
    상기 제어 회로(102)는:
    입력 클록 신호(150)로부터 복수의 지연된 클록 신호들을 생성하고 ― 상기 복수의 지연된 클록 신호들은 제1 지연된 클록 신호(306) 및 제2 지연된 클록 신호(308)를 포함함 ―;
    상기 지연된 클록 신호들 또는 상기 입력 클록 신호 중 하나 이상을 상기 제1 복수의 쌍안정 회로들의 클록 입력들에 선택적으로 제공하고; 그리고
    상기 지연된 클록 신호들 또는 상기 입력 클록 신호 중 하나 이상을 상기 로직 회로에 선택적으로 제공하도록 구성되고,
    상기 제어 회로(102)는 상기 입력 레지스터 로직(104)에 대한 클록 지연과 상기 로직 회로(105)에 대한 클록 지연을 동일하게 만들도록 구성된 가변 클록 지연 로직 회로(302)를 포함하는,
    회로 어레인지먼트.
  2. 제1 항에 있어서,
    상기 가변 클록 지연 로직 회로(302)는,
    상기 제1 지연된 클록 신호(306)를 상기 입력 클록 신호의 제1 지연된 버전으로서 생성하고 그리고 상기 제2 지연된 클록 신호(308)를 상기 입력 클록 신호의 제2 지연된 버전으로서 생성하며 ― 상기 제1 지연된 클록 신호(306)와 상기 입력 클록 신호(150) 사이의 지연은 상기 제2 지연된 클록 신호(308)와 상기 입력 클록 신호(150) 사이의 지연 미만임 ―;
    상기 제1 지연된 클록 신호(306)를 상기 로직 회로(105)에 제공하고; 그리고
    상기 제2 지연된 클록 신호(308)를 상기 입력 레지스터 로직(104)에 제공하도록 구성되는,
    회로 어레인지먼트.
  3. 제1 항 또는 제2 항에 있어서,
    상기 가변 클록 지연 로직 회로(302)는,
    상기 입력 클록 신호(105)를 수신하도록 커플링되고 그리고 상기 제1 지연된 클록 신호(306)를 출력하도록 구성된 제1 지연 회로(402)를 포함하는 제1 클록 경로; 및
    상기 제1 지연 회로(402)로부터 상기 제1 지연된 클록 신호(306)와 상이한 출력 클록 신호(414)를 수신하도록 커플링되고 그리고 상기 제2 지연된 클록 신호(308)를 출력하도록 구성된 제2 지연 회로(404)를 포함하는 제2 클록 경로를 포함하고,
    상기 제어 회로(102)는 추가로,
    상기 제1 지연된 클록 신호(306)를 상기 로직 회로(105)에 선택적으로 제공하고; 그리고
    상기 제2 지연된 클록 신호(308)를 상기 입력 레지스터 로직(104)에 선택적으로 제공하도록 프로그래밍가능한,
    회로 어레인지먼트.
  4. 제3 항에 있어서,
    상기 가변 클록 지연 로직 회로(302)는,
    상기 입력 클록 신호(105) 및 상기 가변 클록 지연 로직 회로(302)의 상기 제1 지연 회로(402)에 커플링된 제1 멀티플렉서(406)로부터 상기 제1 지연된 클록 신호(306)를 수신하도록 커플링된 제1 듀얼 에지 펄스 생성기(412)를 포함하는 제3 클록 경로 ― 상기 제1 듀얼 에지 펄스 생성기(412)는 제1 듀얼 에지 클록 신호(304)를 생성하도록 구성됨 ―; 및
    상기 제2 지연 회로(404)로부터 상기 제2 지연된 클록 신호(308)와 상이한 출력 클록 신호(416)를 수신하고 그리고 상기 가변 클록 지연 로직 회로(302)의 상기 제2 지연 회로(404)에 커플링된 제2 멀티플렉서(408)로부터 상기 제2 지연된 클록 신호(308)를 수신하도록 커플링된 제2 듀얼 에지 펄스 생성기(410)를 포함하는 제4 클록 경로 ― 상기 제2 듀얼 에지 펄스 생성기(410)는 제2 듀얼 에지 클록 신호(310)를 생성하도록 구성됨 ―
    를 포함하고,
    상기 제어 회로(102)는 추가로:
    상기 제1 듀얼 에지 클록 신호(306)를 상기 로직 회로(105)에 선택적으로 제공하고; 그리고
    상기 제2 듀얼 에지 클록 신호(308)를 상기 입력 레지스터 로직(104)에 선택적으로 제공하도록 프로그래밍가능한,
    회로 어레인지먼트.
  5. 제4 항에 있어서,
    상기 제어 회로(102)는:
    상기 제어 회로(102)의 제1 멀티플렉서(316)로부터 상기 제1 지연된 클록 신호(306) 또는 상기 제2 지연된 클록 신호(308)를 수신하도록 커플링된 제1 펄스 생성기(332) ― 상기 제1 멀티플렉서(316)는 상기 제어 회로(102)의 상기 가변 클록 지연 로직 회로(302)로부터 상기 제1 지연된 클록 신호(306) 및 상기 제2 지연된 클록 신호(308)를 수신하도록 구성되며, 상기 제1 펄스 생성기(332)는:
    상기 제1 지연된 클록 신호(306) 또는 상기 제2 지연된 클록 신호(308)의 펄스 폭을 감소시키고; 그리고
    제1 좁은 클록 신호(narrow clock signal)를 상기 입력 레지스터 로직(104)에 출력하도록 구성됨 ― ; 및
    상기 제어 회로(102)의 제2 멀티플렉서(322)로부터 상기 제1 지연된 클록 신호(306), 반전된 제1 지연된 클록 신호, 또는 상기 제2 듀얼 에지 클록 신호(310)를 수신하도록 커플링된 제2 펄스 생성기(334) ― 상기 제2 멀티플렉서(322)는 상기 제어 회로(102)의 상기 가변 클록 지연 로직 회로(302)로부터 상기 제1 지연된 클록 신호(306), 상기 반전된 제1 지연된 클록 신호 및 상기 제2 듀얼 에지 클록 신호(310)를 수신하도록 구성되며, 상기 제2 펄스 생성기(334)는:
    상기 제1 지연된 클록 신호(306), 상기 반전된 제1 지연된 클록 신호, 또는 상기 제2 듀얼 에지 클록 신호(310)의 펄스 폭을 감소시키고; 그리고
    제2 좁은 클록 신호를 상기 입력 레지스터 로직(104)에 출력하도록 구성됨 ―
    를 포함하는,
    회로 어레인지먼트.
  6. 제1 항에 있어서,
    상기 제어 회로는 추가로,
    제1 초기화 모드에서,
    상기 입력 레지스터 로직으로의 상기 클록 신호들을 상기 제1 복수의 쌍안정 회로들을 투명하게 만드는 상태로 강제하기 위해 제1 글로벌 신호를 어서팅(assert)하고,
    상기 제1 복수의 쌍안정 회로들로의 초기 값들의 전파에 후속하여, 상기 제1 복수의 쌍안정 회로들이 이전 스테이지로부터 업스트림 데이터 값을 물려받도록(inherit) 상기 제1 글로벌 신호를 디어서팅(deassert)하도록 구성되고, 그리고
    제2 초기화 모드에서,
    상기 입력 레지스터 로직으로의 상기 클록 신호들을 상기 제1 복수의 쌍안정 회로들을 투명하지 않게 만드는 상태로 강제하기 위해 제2 글로벌 신호를 어서팅하고,
    상기 제1 복수의 쌍안정 회로들을 특정 상태로 강제하는 제3 글로벌 신호를 상기 입력 레지스터 로직 및 상기 로직 회로에 인가하고, 그리고
    상기 제2 글로벌 신호를 디어서팅하도록 구성되는,
    회로 어레인지먼트.
  7. 제6 항에 있어서,
    상기 제3 글로벌 신호는, 상기 제1 복수의 쌍안정 회로들의 상태들을 로우(low)로 강제하는 글로벌 리셋 신호인,
    회로 어레인지먼트.
  8. 제1 항에 있어서,
    상기 제어 회로는 추가로, 상기 제1 복수의 쌍안정 회로들의 출력들 또는 상기 제1 복수의 쌍안정 회로들의 데이터 입력들에서의 신호들을 상기 로직 회로의 입력들에 선택적으로 연결하도록 프로그래밍가능한,
    회로 어레인지먼트.
  9. 제1 항에 있어서,
    상기 제어 회로는 제2 복수의 쌍안정 회로들을 포함하고, 그리고
    상기 제어 회로는 추가로, 상기 입력 클록 신호 또는 상기 지연된 클록 신호들 중 하나 이상을 상기 제2 복수의 쌍안정 회로들의 클록 입력들에 선택적으로 제공하도록 프로그래밍가능한,
    회로 어레인지먼트.
  10. 제1 항에 있어서,
    상기 입력 레지스터 로직은, 상기 로직 회로에 대한 각각의 입력에 대해, 상기 제1 복수의 쌍안정 회로들 중의 쌍안정 회로의 출력 또는 상기 쌍안정 회로의 데이터 입력에서의 신호를 상기 로직 회로의 입력에 선택적으로 연결하도록, 각각의 다른 개개의 데이터 선택 회로와 독립적으로 프로그래밍가능한 개개의 데이터 선택 회로를 포함하고, 그리고
    상기 입력 레지스터 로직은, 상기 제1 복수의 쌍안정 회로들 각각에 대해, 상기 입력 클록 신호 또는 상기 지연된 클록 신호들 중 하나 이상을 상기 쌍안정 회로의 클록 입력에 선택적으로 제공하도록, 각각의 다른 개개의 클록 선택 회로와 독립적으로 프로그래밍가능한 개개의 클록 선택 회로를 포함하는,
    회로 어레인지먼트.
  11. 회로 어레인지먼트로서,
    프로그래밍가능 로직 회로망(105)의 복수의 블록들 ― 상기 프로그래밍가능 로직 회로망의 각각의 블록은 로직 기능을 구현하도록 구성가능함 ― ; 및
    상기 프로그래밍가능 로직 회로망의 복수의 블록들 사이에서 신호들을 선택적으로 라우팅하도록 구성가능한 프로그래밍가능 상호연결 회로망;
    상기 프로그래밍가능 로직 회로망의 복수의 블록들에 커플링되고 그리고 제1 복수의 쌍안정 회로들을 포함하는 입력 레지스터 로직(104) ― 상기 제1 복수의 쌍안정 회로들은 복수의 입력 데이터 신호들을 수신하고, 상기 입력 레지스터 로직은 복수의 바이패스 경로들 및 복수의 멀티플렉서 회로들을 포함하며, 상기 복수의 멀티플렉서 회로들 각각은, 상기 복수의 입력 데이터 신호들 중 상기 복수의 바이패스 경로들 중 하나 상의 일 입력 데이터 신호와 상기 제1 복수의 쌍안정 회로들 중 일 쌍안정 회로로부터의 출력 신호 사이에서 선택하여 상기 입력 레지스터 로직으로부터의 복수의 출력 데이터 신호들 중 일 출력 데이터 신호로서 제공하도록 구성되고, 상기 프로그래밍가능 로직 회로의 복수의 블록들은 상기 입력 레지스터 로직으로부터 상기 복수의 출력 데이터 신호들을 수신하도록 커플링됨 ― ; 및
    상기 입력 레지스터 로직(104)에 커플링된 제어 회로(102)
    를 포함하고,
    상기 제어 회로(102)는:
    입력 클록 신호(150)로부터 복수의 지연된 클록 신호들을 생성하고 ― 상기 복수의 지연된 클록 신호들은 제1 지연된 클록 신호(306) 및 제2 지연된 클록 신호(308)를 포함함 ― ;
    상기 지연된 클록 신호들 또는 상기 입력 클록 신호 중 하나 이상을 상기 제1 복수의 쌍안정 회로들의 클록 입력들에 선택적으로 제공하고; 그리고
    상기 지연된 클록 신호들 또는 상기 입력 클록 신호 중 하나 이상을 상기 프로그래밍가능 로직 회로망에 선택적으로 제공하도록 구성되고,
    상기 제어 회로(102)는 상기 입력 레지스터 로직(104)에 대한 클록 지연과 상기 프로그래밍가능 로직 회로망(105)에 대한 클록 지연을 동일하게 만들도록 구성된 가변 클록 지연 로직 회로(302)를 포함하는,
    회로 어레인지먼트.
  12. 제11 항에 있어서,
    상기 가변 클록 지연 로직 회로(302)는:
    상기 제1 지연된 클록 신호(306)를 상기 입력 클록 신호의 제1 지연된 버전으로서 생성하고 그리고 상기 제2 지연된 클록 신호(308)를 상기 입력 클록 신호의 제2 지연된 버전으로서 생성하고 ― 상기 제1 지연된 클록 신호(306)와 상기 입력 클록 신호(150) 사이의 지연은 상기 제2 지연된 클록 신호(308)와 상기 입력 클록 신호(150) 사이의 지연 미만임 ―;
    상기 제1 지연된 클록 신호(306)를 상기 프로그래밍가능 로직 회로망(105)에 제공하고; 그리고
    상기 제2 지연된 클록 신호(308)를 상기 입력 레지스터 로직(104)에 제공하도록 구성되는,
    회로 어레인지먼트.
  13. 제11 항에 있어서,
    상기 가변 클록 지연 로직 회로(302)는:
    상기 입력 클록 신호(150)를 수신하도록 커플링되고 그리고 상기 제1 지연된 클록 신호(306)를 출력하도록 구성된 제1 지연 회로(402)를 포함하는 제1 클록 경로; 및
    상기 제1 지연 회로(402)로부터 상기 제1 지연된 클록 신호(306)와 상이한 출력 클록 신호(414)를 수신하도록 커플링되고 그리고 상기 제2 지연된 클록 신호(308)를 출력하도록 구성된 제2 지연 회로(404)를 포함하는 제2 클록 경로
    를 포함하고,
    상기 제어 회로(102)는 추가로:
    상기 제1 지연된 클록 신호(306)를 상기 프로그래밍가능 로직 회로망(105)에 선택적으로 제공하고; 그리고
    상기 제2 지연된 클록 신호(308)를 상기 입력 레지스터 로직(104)에 선택적으로 제공하도록 프로그래밍가능한,
    회로 어레인지먼트.
  14. 제13 항에 있어서,
    상기 가변 클록 지연 로직 회로(302)는,
    상기 입력 클록 신호(150) 및 상기 가변 클록 지연 로직 회로(302)의 상기 제1 지연 회로(402)에 커플링된 제1 멀티플렉서(406)로부터 상기 제1 지연된 클록 신호(306)를 수신하도록 커플링된 제1 듀얼 에지 펄스 생성기(412)를 포함하는 제3 클록 경로 ― 상기 제1 듀얼 에지 펄스 생성기(412)는 제1 듀얼 에지 클록 신호(304)를 생성하도록 구성됨 ―; 및
    상기 제2 지연 회로(404)로부터 상기 제2 지연된 클록 신호(308)와 상이한 출력 클록 신호(416)를 수신하고 그리고 상기 가변 클록 지연 로직 회로(302)의 상기 제2 지연 회로(404)에 커플링된 제2 멀티플렉서(408)로부터 상기 제2 지연된 클록 신호(308)를 수신하도록 커플링된 제2 듀얼 에지 펄스 생성기(410)를 포함하는 제4 클록 경로 ― 상기 제2 듀얼 에지 펄스 생성기(410)는 제2 듀얼 에지 클록 신호(310)를 생성하도록 구성됨 ―
    를 포함하고,
    상기 제어 회로(102)는 추가로:
    상기 제1 듀얼 에지 클록 신호(412)를 상기 프로그래밍가능 로직 회로망(105)에 선택적으로 제공하고; 그리고
    상기 제2 듀얼 에지 클록 신호(310)를 상기 입력 레지스터 로직(104)에 선택적으로 제공하도록 프로그래밍가능한,
    회로 어레인지먼트.
  15. 제11 항에 있어서,
    상기 제어 회로는 추가로:
    제1 초기화 모드에서,
    상기 입력 레지스터 로직으로의 상기 클록 신호들을 상기 제1 복수의 쌍안정 회로들을 투명하게 만드는 상태로 강제하기 위해 제1 글로벌 신호를 어서팅하고,
    상기 제1 복수의 쌍안정 회로들로의 초기 값들의 전파에 후속하여, 상기 제1 복수의 쌍안정 회로들이 이전 스테이지로부터 업스트림 데이터 값을 물려받도록 상기 제1 글로벌 신호를 디어서팅하도록 구성되고, 그리고
    제2 초기화 모드에서,
    상기 입력 레지스터 로직으로의 상기 클록 신호들을 상기 제1 복수의 쌍안정 회로들을 투명하지 않게 만드는 상태로 강제하기 위해 제2 글로벌 신호를 어서팅하고,
    상기 제1 복수의 쌍안정 회로들을 특정 상태로 강제하는 제3 글로벌 신호를 상기 입력 레지스터 로직 및 상기 프로그래밍가능 로직 회로망에 인가하고, 그리고
    상기 제2 글로벌 신호를 디어서팅하도록 구성되는,
    회로 어레인지먼트.
KR1020207020325A 2017-12-18 2018-12-06 프로그래밍가능 제어 회로를 사용한 클록 신호들의 선택적 제공 KR102571068B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/845,957 US10284185B1 (en) 2017-12-18 2017-12-18 Selectively providing clock signals using a programmable control circuit
US15/845,957 2017-12-18
PCT/US2018/064315 WO2019125781A1 (en) 2017-12-18 2018-12-06 Selectively providing clock signals using a programmable control circuit

Publications (2)

Publication Number Publication Date
KR20200098635A KR20200098635A (ko) 2020-08-20
KR102571068B1 true KR102571068B1 (ko) 2023-08-24

Family

ID=64902446

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020207020325A KR102571068B1 (ko) 2017-12-18 2018-12-06 프로그래밍가능 제어 회로를 사용한 클록 신호들의 선택적 제공

Country Status (6)

Country Link
US (1) US10284185B1 (ko)
EP (1) EP3729646B1 (ko)
JP (1) JP7297784B2 (ko)
KR (1) KR102571068B1 (ko)
CN (1) CN111512552B (ko)
WO (1) WO2019125781A1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113381754A (zh) * 2020-03-10 2021-09-10 意法半导体国际有限公司 用于芯片复位架构的时钟延迟电路
US20210286417A1 (en) * 2020-03-10 2021-09-16 Stmicroelectronics International N.V. Clock delay circuit for chip reset architecture
US11216022B1 (en) * 2020-09-16 2022-01-04 Gowin Semiconductor Corporation Methods and apparatus for providing a clock fabric for an FPGA organized in multiple clock regions
US12014129B2 (en) * 2020-09-25 2024-06-18 Intel Corporation Circuit design visibility in integrated circuit devices

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003216271A (ja) * 2002-01-25 2003-07-31 Sharp Corp 半導体集積回路
JP2004343291A (ja) 2003-05-14 2004-12-02 Oki Electric Ind Co Ltd 位相調整回路

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5487163A (en) * 1990-10-05 1996-01-23 Bull Hn Information Systems Inc. Fast synchronization of asynchronous signals with a synchronous system
DE69304471T2 (de) * 1992-08-03 1997-03-20 Advanced Micro Devices Inc Programmierbare logische Vorrichtung
JPH10107599A (ja) * 1996-10-02 1998-04-24 Dainippon Printing Co Ltd 論理回路
JPH11272353A (ja) * 1998-03-19 1999-10-08 Toshiba Corp クロック供給回路及びデータ転送回路
KR100666320B1 (ko) * 2000-07-18 2007-01-09 삼성전자주식회사 시프트 레지스터 및 그를 채용한 액정표시장치의 구동 회로
US7197659B2 (en) * 2001-09-28 2007-03-27 Intel Corporation Global I/O timing adjustment using calibrated delay elements
JP4288066B2 (ja) * 2002-12-27 2009-07-01 エヌエックスピー ビー ヴィ 回路装置
US7114069B2 (en) * 2003-04-22 2006-09-26 Motorola, Inc. Reconfigurable processing circuit including a delay locked loop multiple frequency generator for generating a plurality of clock signals which are configured in frequency by a control processor
JP2006287163A (ja) * 2005-04-05 2006-10-19 Renesas Technology Corp 半導体集積回路
JP2008177947A (ja) * 2007-01-19 2008-07-31 Toshiba Corp 可変レイテンシ回路及び可変レイテンシ回路のレイテンシ制御方法
US8130019B1 (en) * 2008-10-15 2012-03-06 Octasic Inc. Clock signal propagation method for integrated circuits (ICs) and integrated circuit making use of same
US8519763B2 (en) * 2010-06-11 2013-08-27 Altera Corporation Integrated circuits with dual-edge clocking
US9075930B2 (en) * 2012-11-09 2015-07-07 Xilinx, Inc. Configurable embedded memory system
JP2015076711A (ja) * 2013-10-08 2015-04-20 マイクロン テクノロジー, インク. 半導体装置
US9118310B1 (en) * 2014-09-10 2015-08-25 Xilinx, Inc. Programmable delay circuit block
US9602082B2 (en) 2015-07-30 2017-03-21 Xilinx, Inc. Offset insensitive quadrature clock error correction and duty cycle calibration for high-speed clocking

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003216271A (ja) * 2002-01-25 2003-07-31 Sharp Corp 半導体集積回路
JP2004343291A (ja) 2003-05-14 2004-12-02 Oki Electric Ind Co Ltd 位相調整回路

Also Published As

Publication number Publication date
WO2019125781A1 (en) 2019-06-27
JP2021508131A (ja) 2021-02-25
CN111512552B (zh) 2023-09-26
KR20200098635A (ko) 2020-08-20
EP3729646B1 (en) 2022-08-10
JP7297784B2 (ja) 2023-06-26
EP3729646A1 (en) 2020-10-28
US10284185B1 (en) 2019-05-07
CN111512552A (zh) 2020-08-07

Similar Documents

Publication Publication Date Title
KR102571068B1 (ko) 프로그래밍가능 제어 회로를 사용한 클록 신호들의 선택적 제공
JP5354427B2 (ja) 集積回路のための再構成可能論理ファブリックおよび再構成可能論理ファブリックを構成するためのシステムおよび方法
US9685957B2 (en) System reset controller replacing individual asynchronous resets
CN109905116B (zh) 可编程流水线接口电路
US7724028B1 (en) Clocking for a hardwired core embedded in a host integrated circuit device
US8212585B1 (en) Programmable logic device
US9047934B1 (en) Timing signal adjustment for data storage
US8988125B1 (en) Circuits for and methods of routing signals in an integrated circuit
JP6602849B2 (ja) プログラマブル遅延回路ブロック
US9729153B1 (en) Multimode multiplexer-based circuit
US8086986B1 (en) Clock boosting systems and methods
US8847626B1 (en) Circuits and methods for providing clock signals
US10069486B1 (en) Multimode registers with pulse latches
US10389341B1 (en) Synchronize-able modular physical layer architecture for scalable interface
US8219844B1 (en) Methods and systems for emulating a synchronous clear port
JP2004127012A (ja) 同期式回路およびその設計方法
Kudo et al. Comparison of Pipelined Asynchronous Circuits Designed for FPGA
Memory et al. Functional Description

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant