KR101981723B1 - 설정가능 로직 어레이를 구비한 마이크로컨트롤러 - Google Patents

설정가능 로직 어레이를 구비한 마이크로컨트롤러 Download PDF

Info

Publication number
KR101981723B1
KR101981723B1 KR1020117004829A KR20117004829A KR101981723B1 KR 101981723 B1 KR101981723 B1 KR 101981723B1 KR 1020117004829 A KR1020117004829 A KR 1020117004829A KR 20117004829 A KR20117004829 A KR 20117004829A KR 101981723 B1 KR101981723 B1 KR 101981723B1
Authority
KR
South Korea
Prior art keywords
input
signal
signals
logic device
programmable logic
Prior art date
Application number
KR1020117004829A
Other languages
English (en)
Other versions
KR20110093987A (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 KR20110093987A publication Critical patent/KR20110093987A/ko
Application granted granted Critical
Publication of KR101981723B1 publication Critical patent/KR101981723B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt
    • 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

Landscapes

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

Abstract

마이크로컨트롤러는 중앙처리장치(CPU); 입력 신호들을 수신하고 외부 핀들과 연결된 입력/출력들을 갖는 프로그램가능 로직 디바이스; 및 상기 내부 입력 신호들 중 적어도 하나를 수신하거나 또는 상기 입력/출력들 중 적어도 하나와 연결되고 상기 CPU에 공급되는 인터럽트 신호를 발생시키는 인터럽트 제어 유닛을 가질 수 있다.

Description

설정가능 로직 어레이를 구비한 마이크로컨트롤러{MICROCONTROLLER WITH CONFIGURABLE LOGIC ARRAY}
본 발명은 마이크로컨트롤러들에 관한 것이다.
마이크로컨트롤러들은 복수의 제품들에 적용될 수 있는 SoC(system on chip)를 이루기 위해 일반적으로 마이크로프로세서, 메모리, 및 복수의 주변 디바이스들을 포함한다. 일반적으로, 마이크로컨트롤러가 집적되어 있는 시스템을 제어하는데 사용되는 인쇄회로기판을 설계하는데 필요한 추가 하드웨어는 거의 없다. 하지만, 디바이스들 간의 신호들을 조절하기 위해 종종 단일 또는 복수의 인버터, XOR 게이트 또는 비슷한 것이 필요하다. 이것들은 종종 고가이며 상당한 기판 공간을 필요로 한다.
보다 많은 유연성을 위해, US 6,066,961은 마이크로컨트롤러와 프로그램가능 로직 디바이스와의 연결을 개시한다. 하지만, 이 해결책은 여전히 상당한 기판 공간을 필요로 한다. US 6,898,101은 집적된 프로그램가능 로직 디바이스를 포함하는 마이크로컨트롤러를 개시한다. 하지만, 이들 문헌에 개시된 서로 다른 실시예들은 프로그램가능 로직 디바이스를 구비하고 있으며 그 입력 및 출력들은 여전히 마이크로컨트롤러들로부터 분리되어 있다. 시스템 설계에서의 필수 로직이 프로그램 로직 디바이스와 마이크로컨트롤러의 결합된 기능을 필요로 하는 경우에, 이들 실시예들은 여전히 앞서 설명한 동일한 문제들에 직면한다.
따라서, 단일 칩에 집적된 마이크로컨트롤러와 프로그램가능 로직 디바이스의 개선된 결합물에 대한 요구가 있다.
일실시예에 있어서, 마이크로컨트롤러는 중앙처리장치(CPU); 입력 신호들을 수신하고 외부 핀들과 연결된 입력/출력들을 갖는 프로그램가능 로직 디바이스; 및 상기 내부 입력 신호들 중 적어도 하나를 수신하거나 또는 상기 입력/출력들 중 적어도 하나와 연결되고 상기 CPU에 공급되는 인터럽트 신호를 발생시키는 인터럽트 제어 유닛을 포함할 수 있다.
추가 실시예에 따르면, 상기 인터럽트 제어 유닛은 상기 입력 신호들과 상기 입력/출력들로부터의 입력/출력 신호들로 이루어진 그룹에서 선택된 적어도 하나의 신호를 수신할 수 있다. 추가 실시예에 따르면, 상기 인터럽트 제어 유닛은 상기 입력신호들 또는 입력/출력 신호들을 마스킹하도록 동작가능하다. 추가 실시예에 따르면, 상기 인터럽트 신호를 발생시키는 상기 인터럽트 제어 유닛은 상기 입력 신호들 또는 입력/출력 신호들의 극성을 정하도록 동작가능하다. 추가 실시예에 따르면, 상기 인터럽트 신호를 발생시키는 상기 인터럽트 제어 유닛은 상기 인터럽트 신호들 또는 입력/출력 신호들의 라이징 또는 폴링 에지를 정하도록 동작가능하다. 추가 실시예에 따르면, 상기 프로그램가능 로직 디바이스는 프로그램가능 AND 어레이 및 복수의 입력/출력 셀들을 포함할 수 있다. 추가 실시예에 따르면, 마이크로컨트롤러는 상기 프로그램가능 로직 디바이스에 공급되는 클록 신호를 발생시키는 클록 선택 유닛을 더 포함할 수 있다. 추가 실시예에 따르면, 상기 클록 선택 유닛은 적어도 하나의 주변 타이머 유닛에 의해 발생된 복수의 클록 신호들 중에서 선택하도록 동작가능하다. 추가 실시예에 따르면, 상기 클록 선택 유닛은 내부 클록 신호와 외부 클록 신호 중에서 선택하도록 동작가능하다. 추가 실시예에 따르면, 상기 프로그램가능 로직 디바이스는 복수의 특수 기능 레지스터들을 통해 재프로그램가능하다. 추가 실시예에 따르면, 마이크로컨트롤러는 상기 입력 신호들을 수신하는 외부 입력 패드들을 포함할 수 있다. 추가 실시예에 따르면, 마이크로컨트롤러는 상기 입력 신호들을 제공하기 위해 상기 프로그램가능 로직 디바이스와 연결된 입력 레지스터를 포함할 수 있다. 추가 실시예에 따르면, 마이크로컨트롤러는 외부 입력 패드 또는 내부 레지스터에서 적어도 하나의 입력 신호를 선택하도록 제어되는 적어도 하나의 멀티플렉서를 포함할 수 있다.
또 하나의 실시예에 따르면, 마이크로컨트롤러는 중앙처리장치(CPU); 및 입력 신호들을 수신하는 매트릭스를 갖는 프로그램가능 로직 디바이스로서, 상기 매트릭스는 외부 입력/출력들 핀들과 연결된 제1 복수의 로직 셀들과 상기 CPU의 인터럽트 입력과 연결된 제2 복수의 로직 셀들을 포함하는 프로그램가능 로직 디바이스를 포함할 수 있다.
추가 실시예에 따르면, 상기 프로그램가능 로직 디바이스는 프로그램가능 AND 어레이 및 복수의 입력/출력 셀들을 포함할 수 있다. 추가 실시예에 따르면, 마이크로컨트롤러는 상기 프로그램가능 로직 디바이스에 공급되는 클록 신호를 발생시키는 클록 선택 유닛을 더 포함할 수 있다. 추가 실시예에 따르면, 상기 클록 선택 유닛은 적어도 하나의 주변 타이머 유닛에 의해 발생된 복수의 클록 신호들 중에서 선택하도록 동작가능하다. 추가 실시예에 따르면, 상기 클록 선택 유닛은 내부 클록 신호와 외부 클록 신호 중에서 선택하도록 동작가능하다. 추가 실시예에 따르면, 상기 프로그램가능 로직 디바이스는 복수의 특수 기능 레지스터들을 통해 재프로그램가능하다. 추가 실시예에 따르면, 마이크로컨트롤러는 상기 입력 신호들을 수신하는 외부 입력 패드들을 포함할 수 있다. 추가 실시예에 따르면, 마이크로컨트롤러는 상기 입력 신호들을 제공하기 위해 상기 프로그램가능 로직 디바이스와 연결된 입력 레지스터를 포함할 수 있다. 추가 실시예에 따르면, 마이크로컨트롤러는 외부 입력 패드 또는 내부 레지스터에서 적어도 하나의 입력 신호를 선택하도록 제어되는 적어도 하나의 멀티플렉서를 포함할 수 있다.
또 하나의 실시예에 따르면, 중앙처리장치(CPU)와, 입력 신호들을 수신하고 외부 핀들과 연결된 입력/출력들을 가지는 프로그램가능 로직 디바이스와, 상기 입력 신호들 중 적어도 하나 또는 상기 입력/출력들로부터의 적어도 하나의 신호를 수신하고 상기 CPU에 공급되는 인터럽트 신호를 발생시키는 인터럽트 제어 유닛을 포함하는 마이크로컨트롤러의 동작 방법은, 상기 CPU를 통해 상기 프로그램가능 로직 디바이스를 프로그래밍하는 단계; 및 상기 입력 신호들과 상기 프로그램가능 로직 디바이스의 상기 입력/출력들로부터의 신호들로 이루어진 그룹에서 선택된 적어도 하나의 신호의 동적 또는 정적 신호 상태에 따라 인터럽트 신호를 발생시키도록 상기 인터럽트 제어 유닛을 설정하는 단계를 포함할 수 있다.
추가 실시예에 따르면, 상기 방법은 상기 입력 신호들 또는 상기 입력/출력들로부터의 신호들로 이루어진 그룹에서 선택된 상기 인터럽트 제어 유닛에서의 복수의 신호들을 수신하는 단계를 더 포함할 수 있다. 추가 실시예에 따르면, 상기 설정 단계는 상기 신호들을 마스킹하는 단계를 포함할 수 있다. 추가 실시예에 따르면, 상기 설정 단계는 상기 신호들의 극성을 정하는 단계를 포함할 수 있다. 추가 실시예에 따르면, 상기 설정 단계는 상기 인터럽트 신호를 발생시키는 상기 신호들의 라이징 또는 폴링 에지를 정하는 단계를 포함할 수 있다. 추가 실시예에 따르면, 상기 방법은 클록 신호를 선택하고 상기 선택된 클록 신호를 상기 프로그램가능 로직 디바이스에 공급하는 단계를 더 포함할 수 있다. 추가 실시예에 따르면, 상기 방법은 내부 클록 신호와 외부 클록 신호 중에서 선택하여 상기 선택된 클록 신호를 상기 프로그램가능 로직 디바이스에 공급하는 단계를 더 포함할 수 있다. 추가 실시예에 따르면, 상기 프로그램가능 로직 디바이스는 복수의 특수 기능 레지스터들을 통해 재프로그램가능하다.
본 발명의 다른 기술적인 장점들은 다음의 도면들, 설명들, 및 청구항들로부터 이 기술분야의 당업자에게 명백할 것이다. 본 발명의 다양한 실시예들은 설명한 장점들의 서브셋만을 얻을 수 있다.
따라서, 본 발명은 목적들을 수행하고 상술한 목적들 및 장점들 뿐만 아니라 거기에 속하는 다른 것들도 이룰 수 있다. 본 발명이 특정 실시예를 참조하여 특별히 도시되고 설명되었지만, 이러한 참조는 본 발명의 한정을 내포하지 않고 이러한 한정을 의미하지도 않는다. 본 발명은 이 기술분야의 당업자에 의해 형태와 기능에 있어서 수정물, 대체물, 및 등가물이 고려될 수 있다. 본 발명의 도시되고 설명된 실시예들은 단지 예로서, 본 발명의 범위를 한정하지 않는다. 따라서, 본 발명은 모든 측면들에 있어 등가물에 대한 완전한 인식범위를 나타내는 첨부한 청구항들의 정신과 범위에 의해서만 한정되어야 한다.
동일한 참조부호들은 동일한 구성요소들을 지시하는 첨부한 도면과 관련된 다음의 설명을 참조하면 본 발명과 그 장점들을 보다 완전히 이해할 수 있다.
도 1은 일실시예에 따른 마이크로컨트롤러의 블록도이다.
도 2는 프로그램가능 AND 어레이와 매크로 셀의 일실시예를 나타낸 도면이다.
도 3은 4개의 입력들과 4개의 입력들/출력들 뿐만 아니라 선택가능 클록 소스들도 구비한 프로그램가능 로직 디바이스의 일실시예를 나타낸 도면이다.
도 4는 도 3에 도시한 프로그램가능 로직 디바이스의 입력측의 또 하나의 실시예를 나타낸 도면이다.
도 5는 프로그램가능 로직 디바이스와 마이크로컨트롤러 사이의 링크로서의 인터럽트 제어 유닛의 일실시예의 블록도이다.
도 6은 프로그램가능 로직 디바이스와 마이크로컨트롤러 사이의 링크로서의 인터럽트 제어 유닛의 또 하나의 실시예의 블록도이다.
도 7은 인터럽트 라인들이 매트릭스에 추가된 프로그램가능 로직 디바이스의 또 하나의 실시예를 나타낸 도면이다.
도 8은 도 2 및 3에 도시한 프로그램가능 AND 어레이의 매트릭스에서의 연결점의 일예를 나타낸 도면이다.
도 1은 일실시예에 따른 마이크로컨트롤러의 블록도이다. 집적 칩은 복수의 외부 핀들(140)을 갖는 하우징(100)에 내장된다. 마이크로컨트롤러들의 전형으로서, 집적 칩은 중앙처리장치(110), 복수의 주변 디바이스(120), 및 메모리(130)를 포함한다. 또한, 일실시예에 따르면, 마이크로컨트롤러는 외부 입력 핀들 및 외부 입력/출력 핀들과 연결된 프로그램가능 로직 디바이스(PLD)(150)를 포함한다. 또한, PLD(150)는 예를 들어 내부 시스템 또는 주변 버스를 통해 CPU와 연결된다. 또한, 프로그램가능 로직 디바이스는 특수 기능 레지스터 블록(160)에 포함된 특수 기능 레지스터들을 통해 프로그램될 수 있다. 다양한 클록 신호들이 클록 신호 유닛(180)을 통해 PLD(150)에 제공될 수 있다. CPU(110)와 PLD(150) 사이의 연결 링크로서 인터럽트 마스크 제어 유닛(170)이 제공된다. 이를 위해, 인터럽트 마스크 제어 유닛(170)은 집적 PLD를 갖는 마이크로컨트롤러의 구현 및 설계에 따라 외부 입력 및/또는 입력/출력 신호들 중 선택된 것들, 또는 이들 신호들 모두와 연결될 수 있다. 인터럽트 마스크 제어 유닛은 CPU(110) 또는 인터럽트 제어기(190)에 직접 공급되는 적어도 하나의 인터럽트 신호를 발생시킬 수 있다.
PLD(150)는 프로그램가능 어레이 로직(PAL) 디바이스의 기능을 포함하도록 구현될 수 있다. PAL 디바이스는 AND 게이트들의 어레이, 인버터들, 및 플립-플롭들을 이용하여 조합 로직을 만드는 수단을 제공한다. 이러한 기능은 제한된 수의 핀들을 이용하여 구현될 수 있다. 일반적으로 PAL에서 구현되지 못하는 부가적인 특징들이 추가될 수 있다. 예를 들면, 일실시예에 따르면, 프로그램가능 로직 디바이스는 재프로그램가능하도록 구현될 수 있다. 또한, 이후에 설명될 실시예에 따르면, 프로그램가능 로직 디바이스는 전용 인터럽트 마스크 제어 유닛(170)을 이용하는 마이크로컨트롤러 시스템 아키텍쳐에 결부된다.
일실시예에 따르면, 도 2에 도시한 바와 같이, 프로그램가능 로직 디바이스(150)는 프로그램가능 외부 핀들에의 조합 또는 순차 출력을 가능하게 하는 I/O 매크로셀과 결합된 프로그램가능 AND 어레이로 구성될 수 있다. I/O 매크로셀은 AND 어레이로의 조합 또는 순차 피드백이 초기 상태기 기능 동작을 인에이블시키도록 설계될 수 있다. 프로그램가능 AND 어레이는 다양한 방식들로 만들어질 수 있다.
도 2는 프로그램가능 AND 어레이와 단일 I/O 매크로 셀의 결합물의 일실시예를 나타낸 도면이다. 외부 핀(210)을 통해 프로그램가능 AND 어레이(240)에 외부 신호 Ix가 공급될 수 있다. 반전 신호들의 처리가 가능하도록, 핀(210)은 각각 드라이버(225) 및 인버터(230)를 통해 프로그램가능 AND 어레이(240)와 연결된다. 드라이버(215) 및 인버터(220)를 이용하여 유사한 방식으로 외부 클록 신호 CLK가 프로그램가능 AND 어레이(240)에 공급될 수 있다. 다른 실시예에 있어서, 외부 클록 신호 CLK 대신에 내부 클록 신호가 제공될 수 있다. 또 다른 실시예에 있어서, 아래에 보다 상세히 설명된 바와 같이, 각 멀티플렉서 회로를 통해 다양한 내부 및 외부 클록 신호들이 선택가능하다. 프로그램가능 AND 어레이(240)는 출력 드라이버(275)에 공급되는 인에이블 출력 신호를 발생시킬 수 있다. 출력 신호는 아래에 보다 상세히 설명된 다른 프로그램가능 AND 어레이 출력 신호들과의 결합을 위해 로직 게이트(245)에 공급될 수 있다. 그리고, 로직 게이트(245)의 출력 신호는 I/O 매크로셀내의 드라이버(255) 및 인버터(260)에 의해 포지티브 신호와 반전 신호로 분할된다. 또한, I/O 매크로셀은 프로그램가능 AND 어레이(240)로부터의 구동 출력 신호를 수신하는 플립-플롭(250)의 클록 입력과 연결될 수 있는 선택 클록 신호를 수신한다. 플립-플롭(250)으로부터의 포지티브 출력 신호와 반전 출력 신호는 드라이버(255) 및 인버터(265)의 출력 신호들과 함께 멀티플렉서(270)의 입력들에 공급된다. 멀티플렉서(270)는 제어가능 드라이버(275)를 통해 외부 입력/출력 핀 IOx(280)에 공급되는 출력 신호를 발생시킨다. 또한, 핀(280)으로부터의 잠재적인 입력 신호를 수신하는 멀티플렉서(295)의 입력에 플립-플롭(240)의 반전 출력 신호가 공급될 수 있다. 각 선택 신호들이 멀티플렉서들(270 및 295)에 제공된다. 멀티플렉서(295)의 출력은 드라이버(285) 및 인버터(290)를 통해 포지티브 및 반전 피드백 신호로 분할되어 프로그램가능 AND 어레이(240)로 피드백되는 피드백 신호를 제공한다.
AND 어레이(240) 및 I/O 매크로셀내의 멀티플렉서들 선택 신호들의 설정은 레지스터 기반일 수 있다. 이를 위해, 특수 기능 레지스터 뱅크(160)는 전용 제어 레지스터들을 제공할 수 있다. 모듈에 대한 설정 정보는 여러 방식들로 저장될 수 있다. 예를 들면, 일실시예에 따르면, 이 정보는 플래시 메모리 인포블록, 사용자 플래시 영역으로부터 프리-로드되거나 또는 사용자 소프트웨어 코드를 통해 직접 프로그램될 수 있다. 전원을 켤 때 설정 방법들은 DMA 채널, 모듈 버스 마스터링을 통해 자동-로드되거나, 또는 소프트웨어를 통해 사용자-프로그램될 수 있다. 예를 들면, 베릴로그 언어는 회로 설계 분야에서 잘 알려져 있기 때문에 베릴로그 언어가 상태 방정식들 위한 기준선으로 사용될 수 있다. 이 언어는 로직 어레이의 부가적인 하드웨어 설계가 가능하도록 마이크로컨트롤러의 개발 소프트웨어 슈트에 용이하게 통합될 수 있다.
도 3은 마이크로컨트롤러에 적합한 도 2에 도시한 주요 구조의 응용을 나타낸 도면이다. 이 구현에 따르면, 4개의 외부 입력 핀들(I1-I4)과 4개의 외부 입력/출력 핀들(IO1-IO4)이 제공된다. 프로그램가능 AND 어레이는 수평 라인들(H0-H33)과 수직 라인들(V0-V15)의 교차점들로 표시되며 그 프로그램가능성은 아래에 보다 상세히 설명될 것이다. 수평 라인들은 8개의 라인들을 갖는 그룹들로 나누어진다. 이들 8개의 수평 라인들은 8개의 AND 게이트들(320)과 1개의 OR 게이트(325)를 통해 하나의 I/O 매크로셀로 공급된다. 각 AND 게이트(320)는 각 수평 그룹(예를 들면, H0-H7)으로부터의 모든 출력들을 수신하며, 도 6을 참조하여 보다 상세히 설명될 것이다. OR 게이트(325)는 모든 AND 게이트들(320)의 출력들(도 6 참조) 또는 도 3에 도시한 그룹들(H1-H7)로부터의 출력들을 수신할 수 있다. 일실시예에 따르면, 제1 수평 출력 라인은 출력 드라이브(355)의 인에이블 라인으로 사용된다. 도 3에 도시한 실시예에서, I/O 매크로셀은 도 2에 도시한 드라이버/인버터쌍 대신에 단일 인버터(345)만을 포함한다. 또한, 포지티브 및 반전 신호들의 출력은 각각 밸런스드 드라이버들(315 및 335)에 의해 제공된다.
도 3은 가능한 클록 선택 구현을 상부 좌측 코너에 나타낸다. 제1 멀티플렉서(305)는 각 주변 타이머 디바이스들에 의해 발생될 수 있는 4개의 서로다른 클록 신호들 Timer1, Timer2, Timer3, 및 Timer4를 수신한다. 타이머 선택신호 sel_tim은 멀티플렉서(305)를 제어하는데 사용된다. 멀티플렉서(305)의 출력 신호는 제2 멀티플렉서(310)의 하나의 입력에 공급되며, 제2 멀티플렉서(310)는 내부 시스템 클록 int_clk를 수신하며, 외부 클록 신호 ext_clk를 수신하는 외부 핀에 연결된다. 멀티플렉서(310)는 어느 클록 신호가 프로그램가능 로직 디바이스에 의해 사용될지를 정하는 제어 신호 sel_clk에 의해 제어된다. 클록 신호는 4개의 I/P 매크로셀들 각각의 모든 플립-플롭들(250)에 공급된다. 이들 플립-플롭들은 수평 출력 라인들(H32 및 H33)을 통해 AND 매트릭스에 의해 제어되는 세트 및 리셋 입력들을 갖는다.
도 4는 도 3에 도시한 매트릭스에의 입력 구조의 다른 실시예를 나타낸 도면이다. 따라서, 더 좋은 개관을 위해, 도 3에서의 입력 라인들(316 및 317)만이 도 4에 도시된다. 각 입력 그룹에 대하여, 입력 패드(I1-4)에 의해 제공된 신호들 또는 플립-플롭(450)에 의해 제공된 출력 신호들을 선택하는 멀티플렉서(4601-4)가 제공된다. 플립-플롭(450)은 레지스터 reg[0..3](430)로부터 입력 신호를 수신하고 클록 신호(470)를 통해 클록 구동되고 리셋 신호(480)를 통해 리셋될 수 있다. 선택 신호(410)가 예를 들어 선택 레지스터 srcsel[0..3]에 의해 제공된다. 따라서, 선택 레지스터 srcsel[0..3]의 각 비트들을 통해, 각 멀티플렉서(4601-4)는 입력 패드(I1-4) 또는 레지스터 reg[0..3]를 선택하도록 제어된다. 다양한 실시예들에 따르면, 프로그램가능 디바이스는 오로지 외부 입력 패드들로부터의 입력 신호들, 오로지 내부 레지스터들로부터의 입력 신호들, 또는 두 소스로부터 멀티플렉서에 의해 선택가능한 입력 신호들을 수신할 수 있다.
프로그램가능 로직 디바이스는 특별히 설계된 인터럽트 제어 로직을 통해 마이크로컨트롤러에 내장된다. 이를 위해, 도 5에 도시한 특정 인터럽트 마스크 제어 유닛(170)은 프로그램가능 인터럽트 발생을 제공할 수 있다. 도 3 또는 4에 도시한 프로그램가능 로직 디바이스를 이용하는 일실시예에 따르면, 모두 4개의 입력 신호들(I1-I4)과 모두 4개의 입력/출력 신호들(IO1-I04)이 인터럽트 마스크 제어 유닛(170)의 8개의 입력들에 공급된다. 인터럽트 마스크 제어 유닛은 인터럽트 출력 신호의 발생과 관련하여 프로그램가능하도록 설계될 수 있다. 예를 들면, 제1 제어 신호 EDGE는 각 입력에서의 라이징 또는 폴링 에지에 대한 인터럽트가 발생될 것인지를 정의할 수 있다. 다른 실시예에 따르면, 인터럽트를 트리거하는 극성이 제어 신호 Int_Polarity를 통해 각 입력에 대하여 프로그램될 수 있다. 신호 Int_Mask는 단일 입력 신호들을 선택적으로 마스킹하는데 사용될 수 있다. 또한, 일반적인 인에이블 신호 Int-Enable은 인터럽트 마스크 제어 유닛(170)을 활성화시키는데 사용될 수 있다. 이들 옵션들 중 어느 것이든 조합될 수 있으며 다른 제어 옵션들이 포함될 수 있다. 예를 들면, 인터럽트 마스크 제어 유닛은 다른 극성들을 갖는 복수의 인터럽트 출력 신호들을 발생시킬 수 있다.
도 6은 보다 제한된 수의 입력 신호들이 인터럽트 마스크 제어 유닛에 사용되는 또 하나의 실시예를 나타낸 도면이다. 이 실시예에서, 멀티플렉서(520)는 8개의 입력 신호들 중에서 4개를 선택하고 그것들을 인터럽트 마스크 제어 유닛(510)에 공급하는데 사용된다. 이 실시예는 오로지 4개의 입력 신호들만이 존재하기 때문에 보다 적은 제어 신호들을 필요로 한다. 다른 실시예에 따르면, 프로그램가능 로직 디바이스의 선택된 수의 입력 및/또는 출력 신호들만이 인터럽트를 발생시키는데 사용된다. 이러한 실시예에서, 멀티플렉서(520)는 생략될 수 있다.
도 7은 인터럽트 신호들이 매트릭스로부터 직접 발생되는 또 하나의 실시예를 나타낸 도면이다. 이를 위해, 프로그램가능 로직 디바이스에 사용되는 셀들과 유사한 각 매트릭스 셀들을 통해 인터럽트 신호(730)가 발생될 수 있다. 따라서, 일실시예에 따르면, 수직 라인들(V0-15)과 함께 각 매트릭스를 형성하기 위해 4개의 입력 라인들(34-37)이 부가된다. 그리고, 각 그룹은 각 AND 게이트(710)에 연결되며 각 OR 게이트(720)는 도 3에 도시한 각 입력 그룹에서와 마찬가지로 그룹들을 인터럽트 출력 신호(730)로 결합한다. 다양한 실시예들에 따르면, 개시된 인터럽트 소스들의 어떠한 결합으로부터도 인터럽트 신호들이 선택될 수 있다. 따라서, 디바이스는 입력 신호들 및/또는 입력/출력 신호들로부터 발생된 매트릭스 발생 인터럽트들 또는 인터럽트 신호들의 조합을 가질 수 있다.
도 8은 도 3, 4, 및 7에 도시한 수평 및 수직 라인의 교차점으로 표현되는 프로그램가능 설정 셀의 가능한 구현을 나타낸 도면이다. 다른 실시예들에 따라 다른 구현들이 사용될 수 있다. 수평/수직 매트릭스에서의 각 연결점은, 예를 들어 도 8의 점선 박스(600)로 나타낸 셀로 구현될 수 있다. 예를 들면, 매트릭스점 V[1]/H[0]에 대하여, 그 출력이 OR 게이트(640)의 제1 입력과 연결된 AND 게이트(610)에 두 라인들이 공급된다. 플립-플롭(630)은 예를 들어 각 퓨즈에 의해 발생된 퓨즈 신호 FUS_H0[V[1]]에 의해 정의될 수 있는 초기 설정 신호를 세트하는데 사용될 수 있다. 이 퓨즈 신호는, 플립-플롭(630)의 세트 및 리셋 입력들을 제어하는 AND 게이트들(620 및 660)을 통해 리셋이 적용된 후의 플립-플롭(630)의 상태를 정의한다. 이를 위해, 퓨즈 신호가 AND 게이트(620)의 제1 입력에 공급되고 인버터(650)에 의해 반전되어 AND 게이트(660)의 제1 입력에 공급된다. AND 게이트들(620 및 660)의 제2 입력들은 리셋 신호를 수신한다. 디바이스의 동작동안, 즉 디바이스의 리셋 후에, 사용자는 퓨즈 신호에 의해 정의된 플립-플롭(630)의 상태를 Pb_write 및 Pb_clk 신호들을 이용하여 겹쳐 쓸 수 있다. 플립-플롭(630)은 설정 플롭으로서, 설정 플롭의 상태는 V[1] 및 H[0] 교점이 연결되어야 하는지 여부를 정의한다. 플립-플롭(630)은 클록 신호 Pb_clk에 의해 클록킹된다. 플립-플롭(630)의 출력은 OR 게이트(640)의 제2 입력과 연결된다. 이 매트릭스 연결 셀(600)의 출력은 AND 게이트(320)의 16개의 입력들중 하나에 공급된다. 그리고, AND 게이트(320)의 출력은 도 3에도 도시한 OR 게이트(325)의 8개의 입력들 중 하나에 공급된다.
다른 실시예에 따르면, 로직(620,630,650,660)은 전적으로 퓨즈 기반 PAL 로직으로 대체될 수 있다. 그리고, 퓨즈 신호 FUS_H0[V[1]]만이 각 매트릭스 점을 정할 수 있다.
다른 부가적인 로직 요건들을 갖는 시스템들을 설계하기 위해 다양한 실시예들은 매우 유연한 부가적인 온 보드 하드웨어를 제공하도록 구성될 수 있다. 예를 들면, 유연한 인터럽트 제어 유닛을 통해 마이크로컨트롤러에 확고하게 집적될 수 있는 간단한 상태기를 이루도록 프로그램가능 로직 디바이스가 프로그램될 수 있다. 일실시예에 따르면, 이러한 상태기는 직렬 비트 시퀀스를 검출하고 이러한 시퀀스의 검출시 인터럽트를 발생시키도록 프로그램될 수 있다. 이러한 검출가능 비트 시퀀스의 길이는 프로그램가능 로직 디바이스의 복잡성에만 의존한다. 시스템의 재프로그램가능성은 그 설정의 동적 변화를 가능하게 한다. 따라서, 동작중에 재프로그램될 수 있는 매우 유연한 시스템이 만들어질 수 있다.
다양한 실시예들의 장점들은 실행 시간에 사용자 설정가능성으로 보여질 수 있다. 사용자는 각 설정 레지스터들을 재프로그램함으로써 어떠한 동작점에서도 설정을 변경할 수 있다. 다양한 내부 마이크로컨트롤러 소스들 또는 외부 핀들로부터의 클록 소스는 프로그램가능하다. 회로의 동작은 마이크로컨트롤러 주변 버스 클록만큼 빠를 수 있다. 사용자가 로직 함수들을 위한 로직 방정식들을 만들어 실제 커스텀 솔루션을 구축하기 쉽게 만들도록 플래폼들 전체에 걸친 유용성을 위해 예를 들어 JAVA로 쓰여진 소프트웨어의 자매품이 제공될 수 있다. 일실시예에 따르면, 상태 방정식들에 대한 디스크립션 언어로서 베릴로그-유사 언어가 사용될 수 있다. 이러한 애플리케이션은 사용자가 사용자 플래쉬로 프로그램하여 설정 레지스터들에 쓸 수 있는 16진법의 데이터 파일로 변환되는 퓨즈 맵으로 로직 방정식들을 효과적으로 컴파일링할 수 있다. 이러한 방법은 사용자가 언제든지 프로그램할 수 있는 유연한 설정들을 가능하게 할 것이다. 소정의 로직 기능들이 프로그램가능 로직에 의해 수행될 수 있기 때문에 다양한 실시예들은 다른 태스크들을 위해 마이크로컨트롤러의 마이크로프로세서를 자유롭게 할 수 있다.

Claims (30)

  1. 중앙처리장치;
    입력 신호들을 수신하고, 외부 핀들과 연결된 입력/출력들을 갖는 프로그램가능 로직 디바이스; 및
    상기 입력 신호들 중 적어도 하나를 수신하거나 또는 상기 입력/출력들 중 적어도 하나와 연결되고 상기 중앙처리장치에 공급되는 인터럽트 신호를 발생시키는 인터럽트 제어 유닛을 포함하고,
    상기 프로그램가능 로직 디바이스는 복수의 수평 및 수직 라인들에 의해 정의되는 AND 어레이를 포함하고,
    상기 AND 어레이는 각각이 일군의 수평 라인들 각각에 의해 정의되는 복수의 서브세트들과 복수의 프로그램가능 입력/출력 셀들을 포함하고,
    각 프로그램가능 입력/출력 셀은 상기 AND 어레이의 상기 서브세트들 중 하나와 관련되고, 상기 AND 어레이의 관련 서브세트로부터 수신되는 신호에 따라 출력 신호를 발생하도록 프로그램가능하고, 또한 추가로 상기 AND 어레이에 프로그램가능 피드백 신호를 제공하도록 프로그램가능하고, 그리고
    상기 인터럽트 제어 유닛은 상기 입력 신호들 또는 입력/출력 신호들을 마스킹하도록 동작가능한 것을 특징으로 하는, 마이크로컨트롤러.
  2. 제1항에 있어서,
    각 프로그램가능 입력/출력 셀은 클록 신호를 수신하고, 상기 AND 어레이의 상기 관련 서브세트로부터 상기 신호와 상기 클록 신호를 수신하는 플립-플롭을 포함하는 것을 특징으로 하는 마이크로컨트롤러.
  3. 삭제
  4. 제2항에 있어서,
    상기 인터럽트 제어 유닛은 다음의 프로그램가능 조건들: 상기 입력 신호들 또는 입력/출력 신호들의 극성과, 상기 입력 신호들 또는 입력/출력 신호들의 라이징 에지 또는 폴링 에지와, 및 마스크 값 중 적어도 하나에 따라 상기 인터럽트 신호를 발생하도록 프로그램가능한 것을 특징으로 하는 마이크로컨트롤러.
  5. 제2항에 있어서,
    상기 입력/출력 셀은 상기 AND 어레이의 상기 관련 서브세트로부터의 상기 신호와 또한 상기 플립-플롭으로부터의 신호를 수신하고, 그리고 관련 입력/출력과 연결되는 출력을 갖는 제1 멀티플렉서를 더 포함하는 것을 특징으로 하는 마이크로컨트롤러.
  6. 제5항에 있어서,
    상기 입력/출력 셀은 상기 플립-플롭으로부터의 상기 신호와 또한 상기 입력/출력으로부터의 신호를 수신하는 제2 멀티플렉서를 더 포함하는 것을 특징으로 하는 마이크로컨트롤러.
  7. 제2항에 있어서,
    상기 프로그램가능 로직 디바이스에 공급되는 클록 신호를 발생시키는 클록 선택 유닛을 더 포함하는 것을 특징으로 하는 마이크로컨트롤러.
  8. 제7항에 있어서,
    상기 클록 선택 유닛은 적어도 하나의 주변 타이머 유닛에 의해 발생되는 복수의 클록 신호들로부터 선택하도록 동작가능한 것을 특징으로 하는 마이크로컨트롤러.
  9. 제7항에 있어서,
    상기 클록 선택 유닛은 내부 클록 신호와 외부 클록 신호로부터 선택하도록 동작가능한 것을 특징으로 하는 마이크로컨트롤러.
  10. 제1항에 있어서,
    상기 프로그램가능 로직 디바이스는 복수의 특수 기능 레지스터들을 통해 재프로그램가능한 것을 특징으로 하는 마이크로컨트롤러.
  11. 제1항에 있어서,
    외부 입력 신호들을 수신하는 외부 입력 패드들과, 내부 입력 신호들을 제공하는 입력 레지스터와, 및 상기 프로그램가능 로직 디바이스를 위해 상기 외부 입력 신호와 상기 내부 입력 신호 중 어느 하나를 선택하도록 제어되는 입력 멀티플렉서를 포함하는 것을 특징으로 하는 마이크로컨트롤러.
  12. 제11항에 있어서,
    상기 입력 레지스터와 상기 입력 멀티플렉서 사이에 연결된 입력 플립-플롭을 더 포함하고,
    상기 입력 플립-플롭은 클록으로 구동되는 것을 특징으로 하는 마이크로컨트롤러.
  13. 제1항, 제2항 및 제4항 내지 제12항 중 어느 한 항에 있어서,
    상기 AND 어레이의 상기 관련 서브세트로부터의 신호는, 상기 AND 어레이의 상기 서브세트와 관련된 상기 복수의 라인들로부터 복수의 출력 신호들을 수신하는 OR 게이트에 의해 발생되는 것을 특징으로 하는 마이크로컨트롤러.
  14. 제1항, 제2항 및 제4항 내지 제12항 중 어느 한 항에 있어서,
    상기 인터럽트 제어 유닛은 상기 프로그램가능 로직 디바이스 내의 상기 AND 어레이의 추가의 서브세트에 의해 형성되는 것을 특징으로 하는 마이크로컨트롤러.
  15. 제14항에 있어서,
    상기 AND 어레이 및 상기 관련 입력/출력 셀들은 상태기로부터 프로그램되는 것을 특징으로 하는 마이크로컨트롤러.
  16. 중앙처리장치와, 입력 신호들을 수신하고 외부 핀들과 연결된 입력/출력들을 갖는 프로그램가능 로직 디바이스로서, 상기 프로그램가능 로직 디바이스는 복수의 수평 및 수직 라인들에 의해 정의되는 AND 어레이를 포함하고, 상기 AND 어레이는 일군의 수평 라인들 각각에 의해 정의되는 복수의 서브세트들과 복수의 프로그램가능 입력/출력 셀들을 포함하는, 로직 디바이스와, 상기 입력 신호들 중 적어도 하나 또는 상기 입력/출력들로부터의 적어도 하나의 신호를 수신하고 상기 중앙처리장치에 공급되는 인터럽트 신호를 발생시키는 인터럽트 제어 유닛을 포함하는 마이크로컨트롤러의 동작 방법으로서,
    상기 중앙처리장치를 통해 상기 프로그램가능 로직 디바이스를 프로그래밍하는 단계; 및
    상기 입력 신호들과 상기 프로그램가능 로직 디바이스의 상기 입력/출력들로부터의 신호들로 이루어진 그룹에서 선택된 적어도 하나의 신호의 동적 또는 정적 신호 상태들에 따라 인터럽트 신호를 발생시키도록 상기 인터럽트 제어 유닛을 설정하는 단계를 포함하고, 그리고
    상기 설정하는 단계는 상기 신호들을 마스킹하는 것을 포함하는 것을 특징으로 하는, 마이크로컨트롤러의 동작 방법.
  17. 제16항에 있어서,
    상기 입력 신호들 또는 상기 입력/출력들로부터의 신호들로 이루어진 그룹에서 선택된 상기 인터럽트 제어 유닛에서의 복수의 신호들을 수신하는 단계를 더 포함하는 것을 특징으로 하는 마이크로컨트롤러의 동작 방법.
  18. 삭제
  19. 제17항에 있어서,
    상기 설정하는 단계는 상기 신호들의 극성을 결정하는 것을 포함하는 것을 특징으로 하는 마이크로컨트롤러의 동작 방법.
  20. 제17항에 있어서,
    상기 설정하는 단계는 상기 인터럽트 신호를 발생시키는 상기 신호들의 라이징 에지 또는 폴링 에지를 결정하는 것을 포함하는 것을 특징으로 하는 마이크로컨트롤러의 동작 방법.
  21. 제16항에 있어서,
    클록 신호를 선택하고, 상기 선택된 클록 신호를 상기 프로그램가능 로직 디바이스에 공급하는 단계를 더 포함하는 것을 특징으로 하는 마이크로컨트롤러의 동작 방법.
  22. 제16항에 있어서,
    내부 클록 신호와 외부 클록 신호로부터 선택하고, 상기 선택된 클록 신호를 상기 프로그램가능 로직 디바이스에 공급하는 단계를 더 포함하는 것을 특징으로 하는 마이크로컨트롤러의 동작 방법.
  23. 제16항에 있어서,
    상기 프로그램가능 로직 디바이스는 복수의 특수 기능 레지스터들을 통해 재프로그램가능한 것을 특징으로 하는 마이크로컨트롤러의 동작 방법.
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
KR1020117004829A 2008-11-12 2009-11-11 설정가능 로직 어레이를 구비한 마이크로컨트롤러 KR101981723B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US11375308P 2008-11-12 2008-11-12
US61/113,753 2008-11-12
US12/560,688 US9946667B2 (en) 2008-11-12 2009-09-16 Microcontroller with configurable logic array
US12/560,688 2009-09-16
PCT/US2009/063990 WO2010056719A2 (en) 2008-11-12 2009-11-11 Microcontroller with configurable logic array

Publications (2)

Publication Number Publication Date
KR20110093987A KR20110093987A (ko) 2011-08-19
KR101981723B1 true KR101981723B1 (ko) 2019-05-23

Family

ID=42166223

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020117004829A KR101981723B1 (ko) 2008-11-12 2009-11-11 설정가능 로직 어레이를 구비한 마이크로컨트롤러

Country Status (6)

Country Link
US (1) US9946667B2 (ko)
EP (1) EP2350844B1 (ko)
KR (1) KR101981723B1 (ko)
CN (1) CN102209959B (ko)
TW (1) TWI505103B (ko)
WO (1) WO2010056719A2 (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8710863B2 (en) * 2011-04-21 2014-04-29 Microchip Technology Incorporated Configurable logic cells
US9450585B2 (en) 2011-04-20 2016-09-20 Microchip Technology Incorporated Selecting four signals from sixteen inputs
US20120268162A1 (en) * 2011-04-21 2012-10-25 Microchip Technology Incorporated Configurable logic cells
CN103077137A (zh) * 2011-10-25 2013-05-01 北京大豪科技股份有限公司 中断控制方法及中断控制单元
CN106298772A (zh) * 2012-05-02 2017-01-04 株式会社半导体能源研究所 可编程逻辑器件
US20160269016A1 (en) * 2015-03-12 2016-09-15 Microchip Technology Incorporated Combinatorial/sequential pulse width modulation
US10949204B2 (en) * 2019-06-20 2021-03-16 Microchip Technology Incorporated Microcontroller with configurable logic peripheral
US10936771B1 (en) * 2019-10-02 2021-03-02 Microsoft Technology Licensing, Llc Using a common fuse controller hardware design for different applications

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050010707A1 (en) * 2003-07-07 2005-01-13 Arm Limited Data processing apparatus and method for handling interrupts
US20050102573A1 (en) * 2003-11-03 2005-05-12 Macronix International Co., Ltd. In-circuit configuration architecture for embedded configurable logic array
US20060186917A1 (en) * 2000-06-12 2006-08-24 Altera Corporation, A Corporation Of Delaware I/O circuitry shared between processor and programmable logic portions of an integrated circuit

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3419852A (en) * 1966-02-14 1968-12-31 Burroughs Corp Input/output control system for electronic computers
US5142625A (en) * 1985-06-12 1992-08-25 Minolta Camera Kabushiki Kaisha One-chip microcomputer including a programmable logic array for interrupt control
US5386155A (en) * 1993-03-30 1995-01-31 Intel Corporation Apparatus and method for selecting polarity and output type in a programmable logic device
US5768598A (en) * 1993-09-13 1998-06-16 Intel Corporation Method and apparatus for sharing hardward resources in a computer system
JP3672634B2 (ja) * 1994-09-09 2005-07-20 株式会社ルネサステクノロジ データ処理装置
GB2304438A (en) 1995-08-17 1997-03-19 Kenneth Austin Re-configurable application specific device
US5594367A (en) * 1995-10-16 1997-01-14 Xilinx, Inc. Output multiplexer within input/output circuit for time multiplexing and high speed logic
US5923897A (en) * 1996-04-01 1999-07-13 Microsoft Corporation System for adapter with status and command registers to provide status information to operating system and processor operative to write eject command to command register
US5834947A (en) 1996-11-01 1998-11-10 Waferscale Integration Inc. Microcontroller accessible macrocell
US6898101B1 (en) * 1997-12-16 2005-05-24 Cypress Semiconductor Corp. Microcontroller with programmable logic on a single chip
US6182235B1 (en) * 1998-12-30 2001-01-30 Dallas Semiconductor Corporation Microcontroller with a user configurable pulse width modulator
US7676640B2 (en) * 2000-01-06 2010-03-09 Super Talent Electronics, Inc. Flash memory controller controlling various flash memory cells
JP2001216152A (ja) * 2000-01-28 2001-08-10 Rooran:Kk 論理集積回路及びそのcpuコアのソースを記録したコンピュータ読み取り可能な記録媒体
JP3993438B2 (ja) * 2002-01-25 2007-10-17 株式会社ルネサステクノロジ 半導体装置
KR20040006762A (ko) * 2002-07-15 2004-01-24 주식회사 하이닉스반도체 신호 극성 자동 검출 시스템
JP3904493B2 (ja) * 2002-07-24 2007-04-11 株式会社ルネサステクノロジ 半導体装置
DE10244757B3 (de) * 2002-09-25 2004-07-29 Siemens Ag Programmierung eines Speicherbausteins über ein Boundary Scan-Register
US20040250147A1 (en) * 2003-06-03 2004-12-09 Christopher Chang Uninterrupted system operation
US7412588B2 (en) * 2003-07-25 2008-08-12 International Business Machines Corporation Network processor system on chip with bridge coupling protocol converting multiprocessor macro core local bus to peripheral interfaces coupled system bus
GB2409543B (en) * 2003-12-23 2006-11-01 Advanced Risc Mach Ltd Interrupt masking control
CN1595383A (zh) * 2004-06-25 2005-03-16 南京航空航天大学 可编程总线式控制端口扩展模块
TWI259396B (en) * 2004-11-05 2006-08-01 Macronix Int Co Ltd In-circuit configuration architecture and method for embedded configurable logic array
US7536669B1 (en) * 2006-08-30 2009-05-19 Xilinx, Inc. Generic DMA IP core interface for FPGA platform design
US20080212590A1 (en) * 2007-03-02 2008-09-04 Imagestream Internet Solutions Flexible protocol engine for multiple protocol processing
US9564902B2 (en) * 2007-04-17 2017-02-07 Cypress Semiconductor Corporation Dynamically configurable and re-configurable data path
US7653762B1 (en) * 2007-10-04 2010-01-26 Xilinx, Inc. Profiling circuit arrangement
US8151031B2 (en) * 2007-10-31 2012-04-03 Texas Instruments Incorporated Local memories with permutation functionality for digital signal processors
US20100088446A1 (en) * 2008-10-06 2010-04-08 Texas Instruments Incorporated Prioritizing interrupt controller
US8321614B2 (en) * 2009-04-24 2012-11-27 Empire Technology Development Llc Dynamic scheduling interrupt controller for multiprocessors
US8135884B1 (en) * 2009-05-04 2012-03-13 Cypress Semiconductor Corporation Programmable interrupt routing system
US8575993B2 (en) * 2011-08-17 2013-11-05 Broadcom Corporation Integrated circuit with pre-heating for reduced subthreshold leakage

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060186917A1 (en) * 2000-06-12 2006-08-24 Altera Corporation, A Corporation Of Delaware I/O circuitry shared between processor and programmable logic portions of an integrated circuit
US20050010707A1 (en) * 2003-07-07 2005-01-13 Arm Limited Data processing apparatus and method for handling interrupts
US20050102573A1 (en) * 2003-11-03 2005-05-12 Macronix International Co., Ltd. In-circuit configuration architecture for embedded configurable logic array

Also Published As

Publication number Publication date
TWI505103B (zh) 2015-10-21
WO2010056719A3 (en) 2010-07-08
EP2350844B1 (en) 2019-03-20
US9946667B2 (en) 2018-04-17
TW201025030A (en) 2010-07-01
EP2350844A2 (en) 2011-08-03
KR20110093987A (ko) 2011-08-19
CN102209959B (zh) 2015-05-20
WO2010056719A2 (en) 2010-05-20
CN102209959A (zh) 2011-10-05
US20100122007A1 (en) 2010-05-13

Similar Documents

Publication Publication Date Title
KR101981723B1 (ko) 설정가능 로직 어레이를 구비한 마이크로컨트롤러
USRE37195E1 (en) Programmable switch for FPGA input/output signals
US5737235A (en) FPGA with parallel and serial user interfaces
US4771285A (en) Programmable logic cell with flexible clocking and flexible feedback
US7301822B1 (en) Multi-boot configuration of programmable devices
US6937063B1 (en) Method and apparatus of memory clearing with monitoring RAM memory cells in a field programmable gated array
US5402014A (en) Peripheral port with volatile and non-volatile configuration
US7340596B1 (en) Embedded processor with watchdog timer for programmable logic
US9047474B1 (en) Circuits for and methods of providing isolation in an integrated circuit
JP2011172280A (ja) プログラマブル論理集積回路
US10855285B2 (en) Field programmable transistor arrays
US6430719B1 (en) General port capable of implementing the JTAG protocol
CN101076866B (zh) 配置集成电路的***和方法
US7358762B1 (en) Parallel interface for configuring programmable devices
US20080288909A1 (en) Template-Based Domain-Specific Reconfigurable Logic
US7656193B1 (en) Programmable logic device and method of testing
Smith Intel's FLEXlogic FPGA architecture
JPS6186855A (ja) 出力ロジツク回路
US20050206406A1 (en) Programmable function generator and method operating as combinational, sequential and routing cells
US7876125B1 (en) Register data retention systems and methods during reprogramming of programmable logic devices
US20210083673A1 (en) Field Programmable Transistor Arrays
CN114026552B (zh) 具有可配置逻辑***设备的微控制器
US5862365A (en) Configuration pin emulation circuit for a field programmable gate array
EP0769223B1 (en) Programmable switch for fpga input/output signals
US7560953B1 (en) Power management systems and methods for programmable logic devices

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
E902 Notification of reason for refusal
J301 Trial decision

Free format text: TRIAL NUMBER: 2017101003668; TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20170731

Effective date: 20190308

S901 Examination by remand of revocation
GRNO Decision to grant (after opposition)