KR20140013032A - 설정가능한 논리 셀들 - Google Patents

설정가능한 논리 셀들 Download PDF

Info

Publication number
KR20140013032A
KR20140013032A KR1020137027211A KR20137027211A KR20140013032A KR 20140013032 A KR20140013032 A KR 20140013032A KR 1020137027211 A KR1020137027211 A KR 1020137027211A KR 20137027211 A KR20137027211 A KR 20137027211A KR 20140013032 A KR20140013032 A KR 20140013032A
Authority
KR
South Korea
Prior art keywords
configurable logic
logic cell
configurable
cell peripheral
configuration
Prior art date
Application number
KR1020137027211A
Other languages
English (en)
Other versions
KR101924439B1 (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 KR20140013032A publication Critical patent/KR20140013032A/ko
Application granted granted Critical
Publication of KR101924439B1 publication Critical patent/KR101924439B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7867Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
    • G06F15/7871Reconfiguration support, e.g. configuration loading, configuration switching, or hardware OS
    • 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
    • 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/17704Logic 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 the logic functions being realised by the interconnection of rows and columns
    • H03K19/17708Logic 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 the logic functions being realised by the interconnection of rows and columns using an AND matrix followed by an OR matrix, i.e. programmable logic arrays

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Logic Circuits (AREA)

Abstract

프로세서는 RISC CPU 코어 및 하나 이상의 설정가능한 논리 셀 주변장치들을 포함하는 복수의 주변장치들을 포함한다. 상기 설정가능한 논리 셀 주변장치는 프로세서의 내부 구성 및 신호 경로들에 대한 실시간 소프트웨어 액세스를 허용하도록 구성될 수 있다. 상기 설정가능한 논리 셀 주변장치는 실시간 구성 제어를 가질 수 있다.

Description

설정가능한 논리 셀들{CONFIGURABLE LOGIC CELLS}
본 출원은 "설정가능한 논리 셀들(Configurable Logic Cells)"이라는 제목으로 2011년 4월 21일 출원된 미국 가 출원 번호 61/477821호의 우선권의 이익을 주장하고, 그 전체가 여기에서 통합된다. 본 출원은 "16입력들로부터 4 신호들의 선택(Selecting Four Signals From Sixteen Inputs)"이라는 제목으로 2012년 4월 18일 출원된 동시 계류중인 미국 특허출원 13/449,687; "설정가능한 논리 셀들(Configurable Logic Cells)"이라는 제목으로 2012년 4월 18일 출원된 미국 특허출원 번호 13/449,850 및 "구동 세기를 제어하기 위해 단일 인터럽트 소스 및 다수의 신호 소스들로의 복수의 인터럽트 소스들의 조합을 위한 논리 디바이스(A Logic Device For Combing Various Interrupt Sources Into A Single Interrupt Source And Various Signal Sources To Control Drive Strength)"라는 제목으로 출원된 미국 특허출원 번호 _____에 관한 것으로, 이 모두 본 출원과 동시에 출원되었고, 여기에서 그 전체가 통합된다.
본 발명은 설정가능한 논리 셀들(configurable logic cells)에 관한 것으로, 특히 조합된 논리 주변장치를 구비하는 프로세서, 마이크로프로세서 내에 통합되고 상기 마이크로프로세서와는 독립적으로 동작하는 설정가능한 논리 셀, 집적 회로 디바이스 내의 내부 구성 및 신호 경로들 내에 소프트웨어 액세스를 허용하는 설정가능한 논리 셀, 실시간 구성 제어가능한 설정가능 논리 셀, 및 하나 이상의 논리 기능들을 통합하는 설정가능한 논리 셀에 관한 것이다.
축소 명령 세트 컴퓨팅(Reduced Instruction Set Computing; RISC) 프로세서 시스템과 같은 프로세서 시스템은 마이크로프로세서 코어 및 복수의 주변장치들을 포함할 수 있다.
상기 마이크로프로세서의 동작은 (a) 전력 소모를 저감하거나(예를 들어, 슬립 또는 최대절전(hibernate)) 또는 제3자의 논리(예를 들어, 디버그 프리즈(debug freeze))에 의해 내부 레지스터의 조사를 허용하도록 때때로 의도적으로 정지된다. 이들 예들에서, 주변 장치들은 논리 인터페이스를 간소화하기 위해서나 또는 "현재 상태"가 조사를 위해 수집될 수 있도록 일반적으로 정지된다.
FPGA(Field Programmable Gate Arrays) 및 PLD(Programmable Logic Devices)와 같은 디바이스들은 설정가능한 논리 셀들을 제공한다. 일반적으로 말해서, 논리의 설계는 레지스터들, 어드레스 버스들 및 기타 종래의 마이크로프로세서 인터페이스 기술들을 이용하는 소프트웨어 입력들을 명시적으로 제공해야 하므로, 추가의 FPGA 자원들은 이 특징을 담당할 필요가 있다. 이들 종래의 FPGA 및 PLD 논리 셀들은 유저에 의해 설정되어야 하며, 그 구성은 셀이 서비스 상태에 있는 동안 정적 상태를 유지한다.
FPGA들 및 PLD들은 일반적으로 D 플립플롭 기술을 기반으로 한 설정가능한 논리 셀들을 제공한다. 이는 범용 목적 사용 및 자동 논리 구성에 적합한 반면에 항상 최소의 회로 이용 해결책으로 되는 것은 아니다.
따라서 설정가능한 논리 디바이스들을 제공하는 개선된 시스템 및 방법이 필요하다.
종래 기술의 이들 및 다른 결점들은 대부분 본 발명의 실시예들에 따른 시스템 및 방법에 의해 해결된다.
청구한 실시예들에 따른 프로세서는 RISC CPU 코어 및 하나 이상의 설정가능한 논리 셀 주변 장치들을 갖는 복수의 주변 장치를 포함한다. 일부 실시예들에서, 상기 설정가능한 논리 셀 주변 장치는 프로세서의 내부 구성 및 신호 경로들에 실시간 소프트웨어 액세스를 허용하도록 구성될 수 있다. 일부 실시예들에서, 상기 설정가능한 논리 셀 주변 장치는 실시간 구성 제어를 가질 수 있다.
일부 실시예들에서, 상기 설정가능한 논리 셀 주변장치는 D 래치(D-latch)를 포함한다.
또 다른 실시예들에서, 상기 설정가능한 논리 셀 주변장치는 JK 플립플롭(JK flip-flop)을 포함한다. 일반적으로, 상기 설정가능한 논리 셀은 복수의 소정의 논리 기능들 중 하나로서 기능하도록 프로그램될 수 있다. 일부 실시예들에서, 상기 설정가능한 논리 셀 주변장치는 프로세서와 무관하게 동작할 수 있다. 일부 실시예들에서, 상기 설정가능한 논리 셀 주변장치는 프로세서가 슬립 또는 프리즈(freeze) 조건에 있는 동안 동작하도록 구성될 수 있다.
일부 실시예들에서, 상기 설정가능한 논리 셀 주변장치는 하나 이상의 소프트웨어 레지스터들을 통해 설정가능하다. 또 다른 실시예들에서, 상기 설정가능 논리 셀 주변장치는 비휘발성 메모리를 통해 설정가능하다. 상기 비휘발성 메모리는 구성을 위해 정적으로 접속될 수 있다. 일부 실시예들에서, 상기 비휘발성 메모리가 판독되고, 구성 데이터가 설정가능 논리 셀 주변장치를 구성하기 위해 구성 레지스터들로 전달될 수 있다. 일부 실시예들에서, 초기화 구성 이후에, 상기 설정가능한 논리 셀 주변장치의 구성은 소프트웨어를 통해 갱신될 수 있다.
본 발명에 의하면 설정가능한 논리 디바이스들을 제공하는 개선된 시스템 및 방법을 제공할 수 있다.
도 1은 설정가능한 논리 셀을 포함하는 예시의 집적 회로를 나타낸다.
도 2는 설정가능한 논리 셀을 포함하는 집적 회로 내의 예시의 데이터 및 어드레스 라인들을 나타낸다.
도 3은 설정가능한 논리 셀을 포함하는 예시의 모듈을 나타낸다.
도 4a 및 도 4b는 설정가능한 논리 셀의 소프트웨어 제어 및 구성을 나타낸다.
도 5a 및 도 5b는 2개의 정적으로 구성된 기능들을 단일의 소프트웨어 제어식 기능으로 대체하는 설정가능한 논리 셀에 대한 예시의 논리 기능들을 나타낸다.
도 6a 내지 도 6d는 예시의 설정가능한 논리 셀을 위한 논리 함수 조합 옵션들을 나타낸다.
도 7a 내지 도 7d는 예시의 설정가능한 논리 셀을 위한 논리 기능 상태 옵션들을 나타낸다.
도 8은 예시의 설정가능한 논리 셀로서 구현된 예시의 JK 플립플롭 응용 및 타이밍을 도시한다.
첨부한 도면과 관련된 다음의 설명을 참조하면 당업자들이 본 발명을 보다 완전히 이해할 수 있을 것이고, 본 발명의 여러 가지 목적들, 특징들 및 장점들은 당업자들에게 자명할 것이다. 다른 도면들에서 동일한 참조 부호의 사용은 유사하거나 또는 동일한 대상을 나타낸다.
한편, 도면 특히 도 1을 주목하면, 본 발명의 일 실시예에 따른 프로세서 또는 마이크로컨트롤러(100)의 도면이 도시된다. 프로세서(100)는 RISC 코어로서 실현될 수 있는 프로세서 코어(MCU;102)를 포함한다. 상기 프로세서 코어(102)는 버스(106)를 통해 아날로그 주변 장치들(108) 및 디지털 주변장치들(110)과 같은 하나 이상의 온 칩(on-chip) 주변 장치들에 결합된다. 프로세서(100)는 또한, 프로그램가능한 플래시 메모리로서 구현될 수 있는 하나 이상의 온 칩 메모리 장치들(103)을 포함할 수 있다.
또한, 이하에서 보다 상세히 기술하는 바와 같이, 프로세서(100)는 주변 장치들로서 기능하고 또한 상기 버스(106)에 결합된 하나 이상의 설정가능한 논리 셀들(CLC;104)을 포함한다. 즉, 상기 설정가능한 논리 셀들(104)은 다른 주변 장치들처럼 어드레스가능하고, 시스템에 논리 기능들을 제공한다. 이하에서 보다 상세히 논의하는 바와 같이, 상기 설정가능한 논리 셀들(104)은 다양한 논리 기능들을 구현하도록 프로그램가능하다. 이들은 예를 들어, AND, OR, X0R 기능들 및 D, JK 및 SR 저장장치를 포함할 수 있다.
상기 프로세서(100)는 또한 하나 이상의 입력 및/또는 출력들(116, 118, 120, 122, 124) 및 관련 포트 드라이버들, 입력 제어부들(114) 등을 포함한다.
도시한 실시예에서, 상기 설정가능한 논리 셀(104)은 외부 핀(124), 디지털 주변장치들(110)로부터 입력들 그리고 상기 프로세서 코어(102)로부터 리셋 신호를 수신한다. 이들 신호들은 예를 들어, 보상 파형 발생기(Complementary Waveform Generator; CWG) 소스, 데이터 신호 변조기(Data Signal Modulator; DSM) 소스 및 다이렉트 디지털 합성(Direct Digital Synthesis; DDS)/타이머 클럭 입력들을 포함한다. 일반적으로, 입력들은 I/O 핀들, 레지스터 비트들, 다른 주변 장치들 및 내부 클럭들에서 나온다.
또한, 상기 설정가능한 논리 셀(104)은 아날로그 주변장치들(108), 디지털 주변장치들(110) 및 프로세서 코어(102) 중 하나 이상에 디지털 출력들을 제공할 수 있다. 추가의 출력들(슬루 레이트(slew rate), 풀업 삼상 스레숄드 등) 이 포트 드라이버들(112)에 제공될 수 있는 한편, 다른 출력들은 외부 핀들(118)에 제공될 수 있다.
따라서, 일반적으로, 상기 설정가능한 논리 셀(104)은 디지털 주변 장치, I/O 포트 또는 내부 상태 비트들과 같은 임의의 서브시스템으로부터의 입력들 또는 예를 들어, 오실레이터 출력, 시스템 클럭들 등을 포함하는 리셋 신호들을 수신하고, I/O 핀들, 주변 장치들, 프로세서 코어 인터럽트, I/O 포트 제어 기능들, 상태 신호들, 시스템 클럭들에 출력들을 제공하고, 심지어 다른 설정가능한 논리 셀들(도시 않음)에도 출력들을 제공한다.
전술한 바와 같이, 일부 실시예에 있어서, 설정가능한 논리 셀(104)은 다른 주변 장치들과 같이 어드레스되고, 실시간으로 설정가능하다. 일부 실시예들에서, 상기 설정가능한 논리 셀(104)은 하나 이상의 특수 기능 레지스터들(도시 않음)을 이용하여 실시간으로 설정될 수 있다. 따라서 상기 설정가능한 논리 셀(104)은 프로세서 어드레스 및 데이터 버스에 완전하게 집적될 수 있다. 구성은 응용의 필요를 기초로 하여 실시간으로 정적으로 적용되거나 또는 업데이트될 수 있다.
일부 실시예들에서, 상기 설정가능한 논리 셀(104) 구성은 소프트웨어 레지스터들 또는 비휘발성 메모리로부터 만들어진다. 일부 실시예들에서 메모리가 판독될 수 있어서 구성 레지스터들에 데이터가 전달될 수 있다. 다른 실시예들에서, 메모리는 (일반적인 논리 어레이들/프로그램가능 논리 어레이들(GAL/PAL)에서와 같이) 구성을 위해 정적으로 접속될 수 있다. 또한, 일부 실시예들에서, 초기화 구성 이후에, 소프트웨어는 구성을 위해 업데이트될 수 있다.
이렇게 해서 일부 실시예들에서, 시스템 신호들 및 I/O 신호들은 도 2에 도시한 바와 같이, 상기 설정가능한 논리 셀(104)에 라우팅된다. 그 다음에 상기 설정가능한 논리 셀(104)은 설정된 논리를 실행하고, 출력을 제공한다. 특히, 도 2에서는 프로세서 코어(102), 프로그램 플래시 메모리(203) 및 주변장치들(202)을 포함하는 프로세서(100)가 도시된다. 상기 프로그램 플래시 메모리(203)는 프로그램 어드레스 라인들/버스(205) 및 프로그램 데이터 라인들/버스(207)를 통해 프로세서 코어(102)에 결합된다.
도시한 예에서, 주변장치들은 타이머(202a), 데이터 메모리(202b), 비교기(202c) 및 설정가능한 논리 셀(104)을 포함한다. 주변장치들은 데이터 어드레스 라인들/버스(206) 및 데이터 라인/버스(204)를 통해 상기 프로세서 코어(102)에 결합된다. 상기 설정가능한 논리 셀(104)은 주변 장치들(208) 또는 입력 핀(124)으로부터 또 다른 개별 입력들을 수신할 수 있다. 따라서 소프트웨어 및 다른 주변장치들은 설정가능한 논리 셀(104)에 입력들을 공급할 수 있다. 상기 설정가능한 논리 셀(104)은 설정된 논리 동작을 실행하고, 출력(312)을 제공한다.
전술한 바와 같이, 설정가능한 논리 셀은 하나 이상의 논리 기능들을 구현하고, 프로세서 코어의 상태와 무관하게 예를 들어 프로세서 코어가 슬립 또는 디버그 모드에 있는 동안에도 논리 기능들을 수행할 수 있다. 이하에서 보다 상세히 기술하는 바와 같이, 상기 설정가능한 논리 셀은 단일 게이트들, 다중 게이트들, 플립플롭들 등과 같은 다양한 기능들을 구현하기 위해 프로그램가능한 불 논리(Bollean logic)를 포함한다.
도 3은 특히 일 실시예에 따른 설정가능한 논리 셀 환경을 도시한다. 설정가능한 논리 셀(104)은 복수의 셀렉터들(302)로부터 채널 입력들(304) LxOUT1, LxOUT2, LxOUT3 및 LxOUT4를 수신한다. 셀렉터들(302)에 대한 입력들은 신호들(208) 및 I/O(124)로부터 유래한다. 일부 실시예들에서, 셀렉터들(302)은 멀티플렉서들 및/또는 설정가능한 게이트들이다. 예를 들어, 일부 실시예들에서, 셀렉터들(302)은 입력들 elc_in(208)의 수를 8개에서 4개(304)로 줄여서 8개의 선택가능한 단일-출력 기능들 중 하나를 구동할 수 있다. 셀렉터들(302)의 특정 구현에 대한 보다 상세한 것은 2012년 4월 7일 출원된 "16신호로부터 4신호의 선택"(Selecting Four Signals from Sixteen Inputs)이라는 제목의 "공동 양수된 동시 계류 중인 특허 출원 번호 _____에서 볼 수 있으며, 여기에서 완전히 기술된 것처럼 그 전체 내용은 참조로 통합한다.
도시된 예에서, 설정가능한 논리 셀(104)은 하나 이상의 제어 레지스터들(315)로부터 제어입력들 LCMODE<2:0>(314) 및 LCEN(316)을 수신한다. 상기 설정가능한 논리 셀(104)의 LxDATA는 LCEN 입력(316)과 AND 논리된다. AND 게이트(308)의 출력은 제어 레지스터(315)로부터의 제어 신호 LOPOL과 XOR 논리된 다음 CLCxOUT로서 출력되는데 이하에서 상세히 설명하기로 한다.
전술한 바와 같이, 실시예들은 설정가능한 논리 셀의 실시간 구성을 허용한다. 즉, 구성이 마이크로프로세서로부터 액세스가능한 레지스터들을 통해 제공되며, 예를 들어, 외부 입력들, 시각(time of day), 시스템의 온도, 다른 이벤트들과의 일치, 또는 원격 제어 호스트로부터의 명령들을 기초로 갱신될 수 있다.
도 4a 및 도 4b는 이러한 동작을 개략적으로 나타낸다. 특히, 프로세서 코어(102) 및 설정가능 논리 셀(104)을 포함하는 프로세서(100)가 도시된다. 상기 프로세서(100)는 프로세서 코어(102)에 대한 I/O 입력(406) 및 설정가능한 논리 코어(104)에 대한 한 쌍의 입력들(124a, 124b)을 갖는다. 상기 설정가능한 논리 셀(104)은 핀(412)에 대한 출력들을 포함한다.
동작에 있어서, 상기 I/O 핀(406)의 상태는 설정가능한 논리 코어 기능을 설정하는데 사용될 수 있다. 도시된 예에 있어서, I/O 입력(406)의 논리 상태가 "0"일 경우, 설정가능한 논리 셀(104)이 AND 기능(402)을 실시할 수 있도록 상기 프로세서 코어(102)가 하나 이상의 레지스터들(도 3의 LxMode 레지스터(314) 등)에 기록하여 핀(412) 상의 출력들은 입력들 A(124a)와 B(124b)의 논리 AND (AB)가 된다. 대조적으로, I/O 입력(406)의 논리 상태가 "1"인 경우, 설정가능한 논리 셀(104)이 OR 기능을 실시하도록 프로세서 코어(102)가 하나 이상의 레지스터들에 기록하여 핀(412) 상의 출력은 입력 A(124a)와 B(124b)의 논리 OR (A+B)가 된다. 주지하는 바와 같이, 일단 기능들이 설정되면, 상기 설정가능한 논리 셀(104)은 프로세서 코어(102)의 기능과 무관하게 설정된 기능을 구현한다.
바람직하게도, 본 발명의 실시예들의 상기 설정가능한 논리 셀(104)은 소프트웨어에 대한 동적 구성 및 직접 액세스를 가능하게 하여 시스템이 구동중에 소프트웨어가 각각의 게이트들 및 인버터들을 재구성할 수 있게 한다. 즉, 본 발명의 실시예들의 설정가능한 논리 셀은 마이크로프로세서 인터페이스를 필요로 하지 않고 내부 구성 및 신호 경로들에 대한 실시간 소프트웨어 액세스가 가능하게 한다.
예를 들어, 도 5a에서 보는 바와 같이, 두 개의 기능들((A*B) + C)' 및 ((A*B)' + C)'를 구현하기 위한 마이크로프로세서 인터페이스의 정적 구성은 AND 게이트들(506, 510), NOR 게이트들(508, 514) 및 인버터(512)를 포함하는 두 개의 버전들(502, 504)을 필요로 한다.
대조적으로, 기능들을 구현하기 위한 예시의 설정가능한 논리 셀(104)이 도 5b에 도시된다. 상기 설정가능한 논리 셀(104)은 AND 게이트(552), XOR 게이트(554) 및 NOR 게이트(556)를 포함한다. 입력들(A 및 B)은 AND 게이트(552)에 제공되는 한편, 입력(C)은 NOR 게이트(556)에 제공된다. AND 게이트(552)의 출력은 XOR 게이트(554)에 제공되는 한편, XOR 게이트(554)는 그 출력을 NOR 게이트(556)의 입력에 제공한다. 또한, (예를 들어, 제어 레지스터로부터의) 다이렉트 소프트웨어(SW) 입력(558)은 XOR 게이트(554)의 입력에 제공된다. 이러한 방식으로, 회로들(502, 504)의 두 기능들이 단일 회로 및 이에 더하여 다이렉트 소프트웨어 제어를 이용하여 구현된다.
특정 4 입력 설정가능한 논리 셀의 예시의 조합 옵션이 도 6a 내지 도 6d에 도시된다. 특히, 일부 실시예들에 있어서, LxMODE<2:0> 구성 레지스터(314)(도 3)는 셀의 논리 모드를 정의한다. LxMODE = 000인 경우, 상기 설정가능한 논리 셀은 AND-OR 기능을 구현한다. LxMODE = 001인 경우, 상기 셀은 OR-XOR 기능을 구현한다. LxMODE = 010인 경우, 상기 셀은 AND 기능을 구현하고; LxMODE = 011인 경우 셀은 RS 래치이다.
대응적으로, 상기 설정가능한 논리 셀(104)은 복수의 상태 논리 기능들을 통합할 수 있다. 이들은 도 7a 내지 7d를 참조로 하여 도시된다. 이 상태 기능들은 비동기 셋(S) 및 리셋(R)을 갖는 D(도 7a) 및 JK 플립플롭들(도 7b)을 포함한다. 입력 채널1(LCOUT1)은 상승 구간 클럭을 제공한다. 하강 구간이 필요하다면, 채널1(LCOUT1)은 채널 논리(도시 않음)에서 반전될 수 있다. 입력 채널2(LCOUT2) 및 때로 채널4(LCOUT4)은 레지스터 또는 래치 입력들에 데이터를 제공한다.
LCMODE = 1OO의 경우, 셀은 S 및 R를 갖는 1 입력 D 플립플롭을 구현한다. LCMODE = 101의 경우, 셀은 R을 갖는 2 입력 D 플립플롭을 구현한다. LCMODE = 110의 경우, 셀은 R을 갖는 JK 플립플롭을 구현한다. LCMODE = 111일 경우, 셀은 S 및 R을 갖는 1 입력 투명 래치를 구현한다(출력 Q는 LE가 로우일 동안 D를 따르는 한편, LE가 하이인 동안 상태를 유지한다).
최종으로, 도 8은 본 발명에 따른 JK 플립플롭의 일례의 동작을 나타낸다. 특히, 입력(806), 출력(802) 및 클럭(804)를 갖는 플립플롭(800)을 포함하는 클럭 게이팅 예가 도시된다. 출력(802)은 게이트된 FCLK/2이다.
상기 JK 플립플롭은 도 7b에 따라 설정될 수 있으며, LCOUT1에서 클럭, LCOUT2에서 입력 및 LCOUT4에서 K 입력(반전)을 갖는다. 주지하는 바와 같이, 출력(802)은 항상 전체 주기들의 수를 포함한다. 다른 논리 및 상태 기능들이 구현될 수 있음을 지적한다. 따라서 도면들은 예시만을 위한 것이다.
이동 컴퓨팅 장치의 특정 구현 및 하드웨어/소프트웨어 구성을 기술했지만, 다른 구현 및 하드웨어 구성도 가능하고, 특정 구현 또는 하드웨어/소프트웨어 구성이 필요치 않음을 지적한다. 따라서 여기에 개시된 방법들을 구현하기 위한 이동 컴퓨팅 장치에 도시된 모든 부품들이 필요치 않을 수 있다.
여기에서 사용되는 바와 같이, 위의 상세한 설명 또는 이하의 청구범위에 있어서, 용어 "포함하는", "구비하는", "지니는", "갖는", "함유하는", "망라하는" 등은 개방형(open-ended)으로 해석되어야 즉, 한정되지 않는 것으로 해석되어야 한다. 단지 청구범위에 기재된 변천적인 구 "이루어진" 및 "필수적으로 이루어진"은 특허 심사 절차의 미국 특허청 매뉴얼의 함축적인 변천구로 해석되어야 한다.
청구범위에서 청구범위의 요소를 변경하기 위한 "제1", "제2", "제3" 등의 순서적인 용어들의 임의의 사용은 그 자체로 다른 청구범위의 요소에 대한 하나의 청구범위의 임의의 우선순위, 선행 또는 순서 혹은 방법의 행위들이 실행되는 일시적인 순서를 암시하지 않는다. 이보다는 다르게 기술하지 않는한, 그러한 순서적인 용어들은 단순히 동일한 명칭을 갖는 다른 요소로부터 임의의 명칭을 갖는 하나의 청구범위의 요소를 구별하기 위한 라벨(서수 용어의 사용이 아니라면)로서 사용된다.

Claims (31)

  1. 프로세서로서,
    RISC CPU 코어;
    하나 이상의 설정가능한(configurable) 논리 셀 주변장치들(logic cell peripherals)을 포함하는 복수의 주변 장치들을 포함하는 프로세서.
  2. 제1항에 있어서,
    상기 설정가능한 논리 셀 주변장치는 상기 프로세서의 내부 구성(configuration) 및 신호 경로들에 대한 실시간 소프트웨어 액세스를 허용하도록 구성되는 프로세서.
  3. 제1항에 있어서,
    상기 설정가능한 논리 셀 주변 장치는 실시간 구성 제어를 갖는 프로세서.
  4. 제1항에 있어서,
    상기 설정가능 논리 셀 주변 장치는 D-래치(D-latch)를 포함하는 프로세서.
  5. 제1항에 있어서,
    상기 설정가능 논리 셀 주변 장치는 JK 플립플롭(JK flip-flop)을 포함하는 프로세서.
  6. 제1항에 있어서,
    상기 설정가능한 논리 셀은 복수의 소정의 논리 기능들 중 하나로서 기능하도록 프로그램가능한 프로세서.
  7. 제1항에 있어서,
    상기 설정가능한 논리 셀 주변 장치는 프로세서와 무관하게 동작하는 프로세서.
  8. 제7항에 있어서,
    상기 설정가능한 논리 셀 주변장치는 상기 프로세서가 슬립 또는 프리즈(freeze) 조건에 있는 동안 동작하도록 구성되는 프로세서.
  9. 제1항에 있어서,
    상기 설정가능한 논리 셀 주변장치는 하나 이상의 소프트웨어 레지스터들을 통해 설정가능한 프로세서.
  10. 제1항에 있어서,
    상기 설정가능한 논리 셀 주변 장치는 비휘발성 메모리를 통해 설정가능한 프로세서.
  11. 제10항에 있어서,
    상기 비휘발성 메모리는 구성을 위해 정적으로 연결되는(statically connected) 프로세서.
  12. 제10항에 있어서,
    상기 비휘발성 메모리가 판독되어 구성 데이터가 상기 설정가능한 논리 셀 주변 장치를 구성하기 위해 구성 레지스터들(configuration registers)들에 전달되는 프로세서.
  13. 제1항에 있어서,
    최초의 구성이후에 상기 설정가능한 논리 셀의 구성은 소프트웨어를 통해 갱신되는 프로세서.
  14. 프로세서로서,
    중앙 처리 장치(CPU) 코어;
    적어도 하나의 설정가능한 논리 셀 주변 장치를 포함하고, 하나 이상의 버스들을 통해 상기 CPU에 결합하는 복수의 주변 장치들을 포함하는 프로세서.
  15. 제14항에 있어서,
    상기 적어도 하나의 설정가능한 논리 셀 주변 장치는 상기 프로세서의 내부 구성 및 신호 경로들에 대한 실시간 소프트웨어 액세스를 허용하도록 구성되는 프로세서.
  16. 제14항에 있어서,
    상기 적어도 하나의 설정가능한 논리 셀 주변장치는 실시간 구성 제어를 갖는 프로세서.
  17. 제14항에 있어서,
    상기 적어도 하나의 설정가능한 논리 셀 주변 장치는 D-래치를 포함하는 프로세서.
  18. 제14항에 있어서,
    상기 적어도 하나의 설정가능한 논리 셀 주변 장치는 JK 플립플롭을 포함하는 프로세서.
  19. 제14항에 있어서,
    상기 적어도 하나의 설정가능한 논리 셀 주변 장치는 하나 이상의 소정의 논리 기능들을 구현하도록 프로그램가능한 프로세서.
  20. 제14항에 있어서,
    상기 적어도 하나의 설정가능한 논리 셀 주변장치는 상기 프로세서와 무관하게 동작하는 프로세서.
  21. 제20항에 있어서,
    상기 적어도 하나의 설정가능한 논리 주변장치는 프로세서가 슬립 또는 프리즈 조건에 있는 동안에도 동작하도록 구성되는 프로세서.
  22. 프로세서 시스템에서 사용을 위한 방법으로서,
    제어 레지스터 내에 적어도 하나 이상의 비트들을 설정하는 단계;
    설정가능한 논리 셀에 의해 구현되는 복수의 조합 및 논리 기능 상태들을 포함하는 기능들을 정의하는데 상기 제어 레지스터 내에서 하나 이상의 비트들을 사용하는 단계를 포함하는 프로세서 시스템에서 사용을 위한 방법.
  23. 제22항에 있어서,
    상기 기능들은 논리 게이트를 포함하는 프로세서 시스템에서 사용을 위한 방법.
  24. 제22항에 있어서,
    상기 기능들은 복수의 논리 게이트들을 포함하는 프로세서 시스템에서 사용을 위한 방법.
  25. 제22항에 있어서,
    상기 기능들은 D-래치를 포함하는 프로세서 시스템에서 사용을 위한 방법.
  26. 제22항에 있어서,
    상기 기능들은 JK 플립플롭을 포함하는 프로세서 시스템에서 사용을 위한 방법.
  27. 제22항에 있어서,
    상기 설정가능한 논리 셀 주변 장치는 하나 이상의 소프트웨어 레지스터들을 통해 설정가능한 프로세서 시스템에서 사용을 위한 방법.
  28. 제22항에 있어서,
    상기 설정가능한 논리 셀 주변 장치는 비휘발성 메모리를 통해 설정가능한 프로세서 시스템에서 사용을 위한 방법.
  29. 제28항에 있어서,
    상기 비휘발성 메모리는 구성을 위해 정적으로 연결되는 프로세서 시스템에서 사용을 위한 방법.
  30. 제28항에 있어서,
    상기 비휘발성 메모리는 판독되어 상기 구성 데이터가 상기 설정가능 논리 셀 주변장치를 구성하기 위해 구성 레지스터들에 전달되는 프로세서 시스템에서 사용을 위한 방법.
  31. 제28항에 있어서,
    초기화 구성 이후에, 상기 설정가능 논리 셀 주변장치의 구성은 소프트웨어를 통해 갱신되는 프로세서 시스템에서 사용을 위한 방법.
KR1020137027211A 2011-04-21 2012-04-20 설정가능한 논리 셀들 KR101924439B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201161477821P 2011-04-21 2011-04-21
US61/477,821 2011-04-21
US13/449,993 2012-04-18
US13/449,993 US8710863B2 (en) 2011-04-21 2012-04-18 Configurable logic cells
PCT/US2012/034367 WO2012145578A1 (en) 2011-04-21 2012-04-20 Configurable logic cells

Publications (2)

Publication Number Publication Date
KR20140013032A true KR20140013032A (ko) 2014-02-04
KR101924439B1 KR101924439B1 (ko) 2018-12-03

Family

ID=47020828

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020137027211A KR101924439B1 (ko) 2011-04-21 2012-04-20 설정가능한 논리 셀들

Country Status (7)

Country Link
US (1) US8710863B2 (ko)
EP (1) EP2700170B1 (ko)
KR (1) KR101924439B1 (ko)
CN (1) CN103477561B (ko)
ES (1) ES2617318T3 (ko)
TW (1) TWI589120B (ko)
WO (1) WO2012145578A1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120268162A1 (en) * 2011-04-21 2012-10-25 Microchip Technology Incorporated Configurable logic cells
US9450585B2 (en) 2011-04-20 2016-09-20 Microchip Technology Incorporated Selecting four signals from sixteen inputs
US10061590B2 (en) 2015-01-07 2018-08-28 Micron Technology, Inc. Generating and executing a control flow
US10107902B2 (en) * 2015-09-29 2018-10-23 Microchip Technology Incorporated Core independent peripheral based ultrasonic ranging peripheral
US10223317B2 (en) 2016-09-28 2019-03-05 Amazon Technologies, Inc. Configurable logic platform
US10795742B1 (en) 2016-09-28 2020-10-06 Amazon Technologies, Inc. Isolating unresponsive customer logic from a bus
US10949204B2 (en) * 2019-06-20 2021-03-16 Microchip Technology Incorporated Microcontroller with configurable logic peripheral

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4292548A (en) 1979-07-27 1981-09-29 Instituto Venezolano De Investigaciones Cientificas (Ivic) Dynamically programmable logic circuits
JPH01162971A (ja) 1987-09-09 1989-06-27 Hitachi Ltd シングルチップマイクロコンピュータ
US5298805A (en) 1991-08-29 1994-03-29 National Semiconductor Corporation Versatile and efficient cell-to-local bus interface in a configurable logic array
US5910732A (en) 1997-03-12 1999-06-08 Xilinx, Inc. Programmable gate array having shared signal lines for interconnect and configuration
US6467009B1 (en) * 1998-10-14 2002-10-15 Triscend Corporation Configurable processor system unit
US6260087B1 (en) * 1999-03-03 2001-07-10 Web Chang Embedded configurable logic ASIC
US6803785B1 (en) 2000-06-12 2004-10-12 Altera Corporation I/O circuitry shared between processor and programmable logic portions of an integrated circuit
US6798239B2 (en) 2001-09-28 2004-09-28 Xilinx, Inc. Programmable gate array having interconnecting logic to support embedded fixed logic circuitry
US6476634B1 (en) 2002-02-01 2002-11-05 Xilinx, Inc. ALU implementation in single PLD logic cell
US7028281B1 (en) 2002-07-12 2006-04-11 Lattice Semiconductor Corporation FPGA with register-intensive architecture
US6798240B1 (en) 2003-01-24 2004-09-28 Altera Corporation Logic circuitry with shared lookup table
US8024548B2 (en) * 2003-02-18 2011-09-20 Christopher Joseph Daffron Integrated circuit microprocessor that constructs, at run time, integrated reconfigurable logic into persistent finite state machines from pre-compiled machine code instruction sequences
US7873811B1 (en) 2003-03-10 2011-01-18 The United States Of America As Represented By The United States Department Of Energy Polymorphous computing fabric
US6948147B1 (en) 2003-04-03 2005-09-20 Xilinx, Inc. Method and apparatus for configuring a programmable logic device using a master JTAG port
US7119575B1 (en) 2004-01-12 2006-10-10 Altera Corporation Logic cell with improved multiplexer, barrel shifter, and crossbarring efficiency
US7689726B1 (en) 2004-10-01 2010-03-30 Xilinx, Inc. Bootable integrated circuit device for readback encoding of configuration data
US8082526B2 (en) 2006-03-08 2011-12-20 Altera Corporation Dedicated crossbar and barrel shifter block on programmable logic resources
US7812635B1 (en) 2006-05-08 2010-10-12 Altera Corporation Programmable logic device architecture with the ability to combine adjacent logic elements for the purpose of performing high order logic functions
CN200990088Y (zh) * 2006-09-29 2007-12-12 上海海尔集成电路有限公司 一种新型的8位risc微控制器构架
US8026739B2 (en) * 2007-04-17 2011-09-27 Cypress Semiconductor Corporation System level interconnect with programmable switching
US9564902B2 (en) 2007-04-17 2017-02-07 Cypress Semiconductor Corporation Dynamically configurable and re-configurable data path
CN201083993Y (zh) * 2007-09-25 2008-07-09 上海海尔集成电路有限公司 一种微控制器
US9946667B2 (en) * 2008-11-12 2018-04-17 Microchip Technology Incorporated Microcontroller with configurable logic array
US20120271968A1 (en) 2011-04-21 2012-10-25 Microchip Technology Incorporated Logic device for combining various interrupt sources into a single interrupt source and various signal sources to control drive strength

Also Published As

Publication number Publication date
WO2012145578A1 (en) 2012-10-26
US8710863B2 (en) 2014-04-29
US20120268163A1 (en) 2012-10-25
CN103477561A (zh) 2013-12-25
TWI589120B (zh) 2017-06-21
ES2617318T3 (es) 2017-06-16
CN103477561B (zh) 2017-04-26
TW201310914A (zh) 2013-03-01
EP2700170B1 (en) 2016-11-30
EP2700170A1 (en) 2014-02-26
KR101924439B1 (ko) 2018-12-03

Similar Documents

Publication Publication Date Title
KR101924439B1 (ko) 설정가능한 논리 셀들
US9722613B1 (en) Circuit arrangement for and a method of enabling a partial reconfiguration of a circuit implemented in an integrated circuit device
US5834947A (en) Microcontroller accessible macrocell
US8788756B2 (en) Circuit for and method of enabling the transfer of data by an integrated circuit
EP2243220A1 (en) A circuit for and method of minimizing power consumption in an integrated circuit device
WO2017123476A2 (en) Partial reconfiguration control interface for integrated circuits
US9946667B2 (en) Microcontroller with configurable logic array
US20120271968A1 (en) Logic device for combining various interrupt sources into a single interrupt source and various signal sources to control drive strength
US7068080B1 (en) Method and apparatus for reducing power consumption within a logic device
US9024661B2 (en) Glitch free clock multiplexer
US8384437B2 (en) Method and apparatus for gating a clock signal
US8941427B2 (en) Configurable flip-flop
US8587356B2 (en) Recoverable and reconfigurable pipeline structure for state-retention power gating
CN105843356B (zh) 用于采用异步初始化的多寄存器的共用逻辑
US20120268162A1 (en) Configurable logic cells
CN114026552B (zh) 具有可配置逻辑外围设备的微控制器
Memory Fusion Family of Mixed-Signal Flash FPGAs

Legal Events

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