KR20190039149A - 반도체 장치의 전원 제어 방법 - Google Patents

반도체 장치의 전원 제어 방법 Download PDF

Info

Publication number
KR20190039149A
KR20190039149A KR1020197004755A KR20197004755A KR20190039149A KR 20190039149 A KR20190039149 A KR 20190039149A KR 1020197004755 A KR1020197004755 A KR 1020197004755A KR 20197004755 A KR20197004755 A KR 20197004755A KR 20190039149 A KR20190039149 A KR 20190039149A
Authority
KR
South Korea
Prior art keywords
circuit
programmable logic
logic device
task
state
Prior art date
Application number
KR1020197004755A
Other languages
English (en)
Other versions
KR102420735B1 (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 KR20190039149A publication Critical patent/KR20190039149A/ko
Application granted granted Critical
Publication of KR102420735B1 publication Critical patent/KR102420735B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3275Power saving in memory, e.g. RAM, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3228Monitoring task completion, e.g. by use of idle timers, stop commands or wait commands
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3293Power saving characterised by the action undertaken by switching to a less power-consuming processor, e.g. sub-CPU
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3296Power saving characterised by the action undertaken by lowering the supply or operating voltage
    • 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/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4234Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/41Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming static cells with positive feedback, i.e. cells not needing refreshing or charge regeneration, e.g. bistable multivibrator or Schmitt trigger
    • G11C11/412Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming static cells with positive feedback, i.e. cells not needing refreshing or charge regeneration, e.g. bistable multivibrator or Schmitt trigger using field-effect transistors only
    • G11C11/4125Cells incorporating circuit means for protecting against loss of information
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/0175Coupling arrangements; Interface arrangements
    • H03K19/017581Coupling arrangements; Interface arrangements programmable
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Logic Circuits (AREA)
  • Microcomputers (AREA)
  • Power Sources (AREA)
  • Stored Programmes (AREA)

Abstract

오프 상태이더라도 데이터를 유지할 수 있는 CPU 및 PLD를 포함하는 반도체 장치의 전원 제어 방법을 제공한다. 반도체 장치는 프로세서, 프로그래머블 로직 디바이스, 및 상태 제어 회로를 포함한다. 프로그래머블 로직 디바이스는 제 1 비휘발성 기억 회로를 포함하고 프로그래머블 로직 디바이스가 오프가 될 때 프로그래머블 로직 디바이스의 연산 처리에 의하여 취득되는 데이터를 유지하는 기능을 가진다. 상태 제어 회로는 프로세서의 명령에 따라 프로그래머블 로직 디바이스에 의하여 수행되는 태스크의 양에 대한 데이터를 취득한다. 프로그래머블 로직 디바이스는 태스크의 진행 상태를 검출하고 상태 제어 회로에 신호를 출력한다. 상태 제어 회로는 태스크의 양 및 태스크의 진행 상태를 감시하고 태스크가 종료되면 프로그래머블 로직 디바이스를 오프로 한다.

Description

반도체 장치의 전원 제어 방법
본 발명의 일 형태는 반도체 장치의 전원 제어 방법에 관한 것이다.
사용자에 의하여 회로 구성을 임의로 변경할 수 있는 장치로서, 프로그래머블 로직 디바이스(PLD: programmable logic device)가 알려져 있다.
PLD에 포함되는 논리 소자는 룩업 테이블(LUT) 및 레지스터를 포함한다. LUT에 포함되는 컨피규레이션 메모리에 저장되는 데이터를 바꾸면, 논리 소자의 기능을 바꿀 수 있다.
특허문헌 1에서는 채널 형성 영역에 반도체로서 기능하는 금속 산화물을 함유하는 트랜지스터(OS 트랜지스터)가 채널 형성 영역에 실리콘을 함유하는 트랜지스터(Si 트랜지스터)의 게이트에 접속되는 회로 구성이 개시(開示)되어 있다. 상기 회로 구성으로 하면, PLD가 오프 상태이더라도 컨피규레이션 데이터 및 레지스터의 데이터를 유지할 수 있다.
특허문헌 2에서는 OS 트랜지스터가 Si 트랜지스터의 게이트와 접속되고 중앙 처리 장치(CPU: central processing unit)가 오프 상태이더라도 레지스터의 데이터가 유지되는 구성이 개시되어 있다. CPU는 실시되는 프로그램에 따라 다양한 종류의 연산 처리를 수행한다. PLD 또는 GPU는 CPU의 연산 처리 성능을 향상시키기 위하여 코프로세서(coprocessor)로서 사용될 수 있다.
미국 특허출원공개공보 US2014/0126271호 미국 특허출원공개공보 US2012/0170355호
오프로 하더라도 데이터를 유지할 수 있는 상술한 CPU와 PLD의 조합에 의하여, 연산 처리 성능의 향상 및 저소비전력화를 달성하는 것이 기대된다. 이들을 달성하기 위하여, 적절한 기간 CPU 및/또는 PLD를 오프로 하여, 연산 처리 성능을 저하시키지 않고 소비전력을 저감시킬 수 있는 것이 바람직하다.
본 발명의 일 형태의 과제는 오프 상태이더라도 데이터를 유지할 수 있는 CPU 및 PLD를 포함하는 반도체 장치의 전원 제어 방법을 제공하는 것이다.
본 발명의 일 형태는 프로세서, 프로그래머블 로직 디바이스, 및 상태 제어 회로를 포함하는 반도체 장치의 전원 제어 방법이다. 프로그래머블 로직 디바이스가 오프가 되었을 때, 연산 처리를 수행하여 취득되는 데이터를 제 1 비휘발성 기억 회로에 유지한다. 상태 제어 회로는 프로세서의 명령에 따라 프로그래머블 로직 디바이스에 의하여 수행되는 태스크의 상태에 대응하는 데이터를 유지한다. 프로그래머블 로직 디바이스는 태스크의 진행 상태를 검출하고 상태 제어 회로에 신호를 출력한다. 태스크가 종료되면 상태 제어 회로는 프로그래머블 로직 디바이스를 오프로 한다.
본 발명의 다른 일 형태는 프로세서, 프로그래머블 로직 디바이스, 상태 제어 회로, 및 전원 제어 유닛을 포함하는 반도체 장치의 전원 제어 방법이다. 프로그래머블 로직 디바이스가 오프가 될 때, 연산 처리를 수행하여 취득되는 데이터를 제 1 비휘발성 기억 회로에 유지한다. 프로세서가 오프가 될 때, 연산 처리를 수행하여 취득되는 데이터를 프로세서의 제 2 비휘발성 기억 회로에 유지한다. 상태 제어 회로는 프로세서의 명령에 따라 프로그래머블 로직 디바이스에 의하여 수행되는 태스크의 상태에 대응하는 데이터를 유지한다. 프로그래머블 로직 디바이스는 태스크의 진행 상태를 검출하고 상태 제어 회로에 신호를 출력한다. 태스크가 종료되면 상태 제어 회로는 프로그래머블 로직 디바이스를 오프로 한다. 명령이 종료되면 전원 제어 유닛은 프로세서를 오프로 한다.
상술한 형태 각각에서, 프로그래머블 로직 디바이스는 제 1 프로그래머블 영역 및 제 2 프로그래머블 영역을 포함하는 것이 바람직하다. 제 1 프로그래머블 영역은 태스크의 진행 상태를 검출하는 회로 구성을 가진다. 제 2 프로그래머블 영역은 태스크에 기초한 연산 처리를 수행하는 회로 구성을 가진다.
또한, 본 발명의 다른 형태는 이하의 실시형태 및 도면의 기재에 나타낸다.
본 발명의 일 형태에 따르면, 오프 상태이더라도 데이터를 유지할 수 있는 CPU 및 PLD를 포함하는 반도체 장치의 전원 제어 방법을 제공할 수 있다. 이 제어 방법은 연산 처리 성능의 향상 및 저소비전력을 달성할 수 있다.
도 1은 본 발명의 일 형태를 도시한 블록도.
도 2는 본 발명의 일 형태를 도시한 상태 전이도.
도 3은 본 발명의 일 형태를 나타낸 흐름도.
도 4는 PLD를 도시한 블록도.
도 5는 PLD를 도시한 블록도.
도 6은 본 발명의 일 형태를 도시한 블록도.
도 7은 PLD의 구성의 예를 도시한 도면.
도 8은 LE의 구성의 예를 도시한 도면.
도 9의 (A) 및 (B)는 회로의 구성의 예를 각각 도시한 도면.
도 10은 회로의 구성의 예를 도시한 도면.
도 11의 (A) 및 (B)는 회로의 구성의 예를 각각 도시한 도면.
도 12는 회로의 구성의 예를 도시한 도면.
도 13의 (A) 및 (B)는 회로의 구성의 예를 각각 도시한 도면.
이하, 실시형태에 대하여 도면을 참조하여 설명한다. 또한 실시형태는 다양한 형태로 실시될 수 있고, 본 발명의 취지 및 범위로부터 벗어남이 없이 그 형태 및 자세한 사항을 다양하게 변경할 수 있다는 것은 통상의 기술자에 의하여 용이하게 이해된다. 그러므로, 본 발명의 일 형태는 이하의 실시형태의 설명에 한정하여 해석되지 말아야 한다.
본 명세서 등에서 금속 산화물(metal oxide)이란 넓은 의미에서 금속의 산화물을 뜻한다. 금속 산화물은 산화물 절연체, 산화물 도전체(투명 산화물 도전체를 포함함), 및 산화물 반도체(단순히 OS라고도 함) 등으로 분류된다. 예를 들어, 트랜지스터의 반도체층에 사용되는 금속 산화물을 산화물 반도체라고 부르는 경우가 있다. 즉, 증폭 기능, 정류 기능, 및 스위칭 기능 중 적어도 하나를 가지는 금속 산화물을 금속 산화물 반도체, 또는 줄여서 OS라고 부를 수 있다. 또한, OS FET는 금속 산화물 또는 산화물 반도체를 포함하는 트랜지스터이다.
본 명세서 등에서는, 질소를 포함하는 금속 산화물도 금속 산화물이라고 부르는 경우가 있다. 또한, 질소를 포함하는 금속 산화물을 금속 산질화물(metal oxynitride)이라고 불러도 좋다.
본 명세서 등에서, "CAAC(c-axis aligned crystal)" 또는 "CAC(cloud-aligned composite)"라고 말하는 경우가 있다. CAAC는 결정 구조의 예를 말하고, CAC는 기능 또는 재료 구성의 예를 말한다.
본 명세서 등에서, CAC-OS 또는 CAC metal oxide는 재료의 일부에서는 도전 기능을 가지고, 재료의 다른 일부에서는 절연 기능을 가지고, 전체로서는 CAC-OS 또는 CAC metal oxide는 반도체의 기능을 가진다. CAC-OS 또는 CAC metal oxide를 트랜지스터의 반도체층에 사용하는 경우, 도전 기능은 캐리어로서 기능하는 전자(또는 홀)를 흘리고, 절연 기능은 캐리어로서 기능하는 전자를 흘리지 않는다. 도전 기능과 절연 기능의 상보적인 작용에 의하여, CAC-OS 또는 CAC metal oxide는 스위칭 기능(온/오프 기능)을 가질 수 있다. CAC-OS 또는 CAC metal oxide에서는, 기능을 분리함으로써 각 기능을 최대화시킬 수 있다.
본 명세서 등에서, CAC-OS 또는 CAC metal oxide는 도전 영역 및 절연 영역을 포함한다. 도전 영역은 상술한 도전 기능을 가지고, 절연 영역은 상술한 절연 기능을 가진다. 재료 내에서 도전 영역 및 절연 영역은 나노 입자 레벨로 분리되어 있는 경우가 있다. 도전 영역 및 절연 영역은 재료 내에 고르지 않게 분포되는 경우가 있다. 도전 영역들은 그 경계가 흐릿해져 클라우드상(cloud-like)으로 연결되는 것이 관찰되는 경우가 있다.
또한 CAC-OS 또는 CAC metal oxide에서, 도전 영역 및 절연 영역 각각은 0.5nm 이상 10nm 이하, 바람직하게는 0.5nm 이상 3nm 이하의 크기를 가지고, 재료 내에서 분산되어 있는 경우가 있다.
CAC-OS 또는 CAC metal oxide는 상이한 밴드 갭을 가지는 성분을 포함한다. 예를 들어, CAC-OS 또는 CAC metal oxide는 절연 영역에 의한 넓은 갭을 가지는 성분 및 도전 영역에 의한 좁은 갭을 가지는 성분을 포함한다. 이와 같은 구성의 경우, 캐리어는 주로, 좁은 갭을 가지는 성분에서 흐른다. 좁은 갭을 가지는 성분은 넓은 갭을 가지는 성분을 보완하고, 좁은 갭을 가지는 성분과 함께 넓은 갭을 가지는 성분에서도 캐리어가 흐른다. 그러므로, 상술한 CAC-OS 또는 CAC metal oxide가 트랜지스터의 채널 영역에 사용되는 경우, 트랜지스터의 온 상태에서의 높은 전류 구동 능력, 즉, 높은 온 상태 전류 및 높은 전계 효과 이동도를 얻을 수 있다.
바꿔 말하면, CAC-OS 또는 CAC-metal oxide를 매트릭스 복합재(matrix composite) 또는 금속 매트릭스 복합재(metal matrix composite)라고 부를 수 있다.
(실시형태 1)
본 실시형태에서, 반도체 장치의 전원 제어 방법에 대하여 설명한다. 본 명세서에서, 반도체 장치는 반도체 특성을 이용하여 기능할 수 있는 장치를 일반적으로 의미한다. 구체적으로, 반도체 장치는 CPU 또는 PLD 등의 회로를 포함하는 장치 또는 시스템을 의미한다.
<반도체 장치의 구성>
도 1은 반도체 장치의 블록도이다. 도 1의 반도체 장치는 CPU(11), 메모리(12)(도면에서 "MEM"), 버스(13)(도면에서 "BUS"), PLD(21), 전원 제어 유닛(31)(도면에서 "PMU"), 상태 제어 회로(32)(도면에서 "FCTR"), 멀티플렉서(51)(도면에서 "MUX"), 및 컨피규레이션 ROM(52A, 52B, 및 52C)(도면에서 "ROM1", "ROM2", 및 "ROM3")을 포함한다.
버스(13)는 CPU(11)를 다양한 모듈에 접속하는 기능을 가진다. PLD(21)는 컨피규레이션 데이터에 따라 태스크를 전환하고 태스크를 수행할 수 있는 회로이다. PLD(21)는 FPGA(field programmable gate array)로서 기능한다. 상태 제어 회로(32)는 PLD(21)의 상태를 제어하는 기능을 가진다. 컨피규레이션 ROM(52A 내지 52C)은 각각 PLD(21)의 태스크에 대응하는 컨피규레이션 데이터를 저장하기 위한 회로이다. 멀티플렉서(51)는 컨피규레이션 ROM(52A 내지 52C) 중 어느 하나를 선택하기 위한 회로이다.
도 1에 도시된 바와 같이, 제안되는 시스템은 전원 도메인(10)(도면에서 "Domain 1"), 전원 도메인(20)(도면에서 "Domain 2"), 및 전원 도메인(30)(도면에서 "Domain 3")을 포함한다. 전원 도메인(10)은 CPU(11), 메모리(12), 및 버스(13)를 포함한다. 전원 도메인(20)은 PLD(21)를 포함한다. 전원 도메인(30)은 전원 제어 유닛(31) 및 상태 제어 회로(32)를 포함한다. 또한, 전원 제어 유닛(31) 및 상태 제어 회로(32)는 상이한 도메인에 제공되어도 좋다.
CPU(11)는 프로그램에 따라 다양한 종류의 연산 처리를 수행한다. CPU(11)는 프로세서라고도 한다. CPU(11)는 메모리(12), 전원 제어 유닛(31), 상태 제어 회로(32), 및 PLD(21)를 특정의 논리 어드레스에 할당된 메모리로서 인식한다. 즉, CPU(11)로부터 전송되는 어드레스 신호는 어드레스 신호선 ADD 및 버스(13)를 통하여 원하는 모듈로 전송되어, CPU(11)는 원하는 모듈에 접속할 수 있다. 접속하는 경우, 원하는 데이터가 데이터 신호선 DATA를 통하여 전송된다. 여기서, 메모리(12)의 어드레스 신호선 및 데이터 신호선을 각각 ADDMeDATAMe라고 한다. 전원 제어 유닛(31)의 어드레스 신호선 및 데이터 신호선을 각각 ADDPmDATAPm이라고 한다. 상태 제어 회로(32)의 어드레스 신호선 및 데이터 신호선을 각각 ADDFcDATAFc라고 한다. PLD(21)의 어드레스 신호선 및 데이터 신호선을 각각 ADDFDATAF라고 한다.
또한 CPU(11)는 PLD(21)가 수행하지 않는 연산 처리 또는 데이터 처리를 수행할 수 있다. 또한, CPU(11)는, PLD(21) 또는 CPU(11) 자체의 어느 쪽이 더 높은 효율로 특정의 연산 처리를 수행할 수 있을지 판정할 수 있다.
메모리(12)는 CPU(11)의 작업 메모리이고, CPU(11)의 처리 데이터를 저장하는 기능을 가진다.
전원 제어 유닛(31)은 전원 도메인(10)의 전원을 제어하는 회로로서 기능하고 CPU(11)로부터의 명령에 따라 전원 도메인(10)의 온/오프를 제어한다. 또한, 전원 제어 유닛(31)은 타이머로서 기능한다. 따라서, 전원 도메인(10)이 오프 상태일 때, 전원 도메인(10)은 오프 상태로부터 온 상태로 주기적으로 돌아올 수 있다. 또한, 전원 제어 유닛(31)은 시스템의 외부로부터 트리거 신호 TRIG를 수신할 수 있다. 트리거 신호 TRIG를 사용하여, 전원 도메인(10)은 오프 상태로부터 온 상태로 돌아올 수 있다.
PLD(21)는 어드레스 신호선 ADDF 및 데이터 신호선 DATAF에 접속되고, CPU(11)는 어드레스 신호선 ADDF 및 데이터 신호선 DATAF를 통하여 PLD(21)에 접속할 수 있다. PLD(21)는 신호선 TASK 및 신호 버스 CTR를 통하여 상태 제어 회로(32)에 접속된다. 또한, PLD(21)는 멀티플렉서(51)를 통하여 컨피규레이션 ROM(52A, 52B, 및 52C(ROM1, ROM2, 및 ROM3))에 접속되고, 멀티플렉서(51)에 의하여 선택되는 컨피규레이션 ROM(52A 내지 52C) 중 임의의 것으로부터 컨피규레이션 데이터를 수신할 수 있어, 회로 구성을 변경할 수 있다.
상태 제어 회로(32)는 신호선 TASK를 통한 PLD(21)로부터의 출력 신호에 따라 PLD(21)(전원 도메인(20))의 온/오프를 제어하는 기능을 가진다. 구체적으로, 특정의 태스크가 종료된 경우, PLD(21)는 신호선 TASK를 통하여 특정의 태스크의 종료를 상태 제어 회로(32)에 전달한다. 상태 제어 회로(32)는 특정의 태스크의 상태에 대응하는 데이터를 유지하는 레지스터를 포함하고, 특정의 태스크가 종료되었는지 여부에 대한 데이터가 상기 레지스터에 저장된다. 상태 제어 회로(32)가 특정의 태스크의 종료를 나타내는 데이터를 PLD(21)로부터 수신한 경우, 상태 제어 회로(32)는 PLD(21)(전원 도메인(20))를 오프로 할 수 있다. PLD(21)의 각 논리 소자에 포함되는 레지스터는 비휘발성 영역을 포함하므로, PLD(21)에서의 레지스터의 데이터를 PLD(21)(전원 도메인(20))가 오프가 되기 직전에 비휘발성 영역에 저장할 수 있다. 따라서, PLD(21)(전원 도메인(20))가 오프가 되더라도, PLD(21)에 의한 연산 처리의 결과(레지스터의 데이터)가 장기간 유지될 수 있다.
또한, 상태 제어 회로(32)는 PLD(21)의 회로 구성을 변경하는 기능을 가진다. PLD(21)는 신호 버스 CTR를 통하여 상태 제어 회로(32)로부터 전송되는 출력 신호를 사용하여 컨피규레이션 ROM(52A 내지 52C) 중 원하는 하나로부터 컨피규레이션 데이터를 취득함으로써 회로 구성을 변경할 수 있다. 여기서, 상태 제어 회로(32)는 배선 SEL을 통하여, 어느 컨피규레이션 ROM이 선택되는지에 대한 데이터를 멀티플렉서(51)에 전송함으로써 원하는 컨피규레이션 ROM을 선택할 수 있다. 또한 상술한 제어는 CPU(11)에 의하여 수행할 수도 있다.
CPU(11)는, 상태 제어 회로(32)의 특정의 태스크의 상태에 대응하는 데이터를 유지하는 레지스터에 저장된, 특정의 태스크가 종료되었는지 여부에 대한 데이터를 주기적으로 감시하는 기능을 가진다. 특정의 태스크가 종료된 경우, CPU(11)는 상태 제어 회로(32)가 PLD(21)를 기동시키는 것(전원 도메인(20)을 온으로 하는 것)을 요구한다. 상태 제어 회로(32)는 상기 요구에 따라 PLD(21)(전원 도메인(20))를 온으로 한다. 이때, PLD(21)에서, 각 논리 소자에 포함되는 레지스터의 비휘발성 영역으로부터 데이터를 복원할 수 있다. 즉, PLD(21)(전원 도메인(20))가 오프가 되기 전의 데이터를 복원할 수 있다. CPU(11)는 버스(13)를 통하여 PLD(21)에 접속할 수 있으므로 PLD(21)의 레지스터에 저장된 데이터를 검색할 수 있다.
상술한 식으로, CPU(11)는 PLD(21)에 의한 연산 처리의 결과를 얻을 수 있다.
또한 도 1의 반도체 장치에서, 복수의 PLD(21)가 전원 도메인(20)에 제공되는 구성을 채용하여도 좋다. 복수의 PLD는 상이한 전원 도메인에 제공되어도 좋다. 복수의 PLD(21)가 제공되는 구성으로, CPU(11)는 PLD들(21) 중 어느 것이 연산 처리에 적합한지 판정할 수 있다. 또는, 도 1의 반도체 장치에서, GPU 등을 포함하는 상이한 처리 장치를 포함하는 구성을 채용하여도 좋다. 상기 구성으로, CPU(11)는 PLD(21) 및 GPU 중 어느 쪽이 연산 처리에 적합한지 판정할 수 있다.
도 2는 PLD(21)의 상태 전이도이다. 도 3은 도 1에 도시된 시스템의 동작을 나타낸 타이밍 차트이다. 도 2 및 도 3에서, 상태 "cpu_proc"는 CPU(11)의 처리 상태를 나타낸다.
도 3의 타이밍 차트에서의 상태 및 신호에 대하여 설명한다.
상태 "cpu_moni"는 CPU(11)가 상태 제어 회로(32)를 감시하여 PLD(21)의 태스크가 종료되었는지 여부를 확인하는 상태를 나타낸다. 상태 "cpu_moni"가 "OFF"를 나타내는 경우에는, CPU(11)는 태스크가 종료되었는지 여부를 감시하지 않는다. 상태 "cpu_moni"가 "ON"을 나타내는 경우에는, CPU(11)는 태스크가 종료되었는지 여부를 감시한다.
신호 trig는 전원 제어 유닛(31) 및 상태 제어 회로(32)에 접속되는 신호선 TRIG의 신호이다. 신호 trig는 오프 상태의 전원 도메인(10) 및 전원 도메인(20)을 온으로 하기 위한 신호이다. 신호 trig는 외부로부터 입력되는 신호이다. 또한, 상술한 바와 같이, 전원 제어 유닛(31)은 타이머로서 기능하여도 좋다. 이 경우, 전원 도메인(10) 및 전원 도메인(20)이 온이 되는 타이밍은 타이머를 사용하여 결정된다.
신호 power 1은 전원이 전원 도메인(10)에 공급되는지 여부를 나타내는 신호이다. 신호 power 1이 하이(high) 레벨인 경우, 전원 도메인(10)은 온이다. 신호 power 1이 로(low) 레벨인 경우, 전원 도메인(10)은 오프이다.
신호 power 2는 전원이 전원 도메인(20)에 공급되는지 여부를 나타내는 신호이다. 신호 power 2가 하이 레벨인 경우, 전원 도메인(20)은 온이다. 신호 power 2가 로 레벨인 경우, 전원 도메인(20)은 오프이다.
신호 prog는 PLD(21)의 회로 구성의 컨피규레이션을 제어하기 위한 신호이다. 신호 prog가 하이 레벨이 되면, PLD(21)는 회로의 컨피규레이션을 시작한다. 이때의 컨피규레이션 데이터로서, 원하는 컨피규레이션 ROM의 데이터를 사용한다.
PLD(21)의 태스크가 종료되었는지 여부에 대한 데이터를 가리키는 신호 task는 신호선 TASK를 통하여 PLD(21)로부터 상태 제어 회로(32)에 출력된다. 하이 레벨의 신호 task는 태스크의 종료를 의미한다.
신호 save는 비휘발성 영역에 PLD(21)의 논리 소자에서의 레지스터의 데이터를 저장하기 위한 신호이다. 하이 레벨의 신호 save는 비휘발성 영역에 레지스터의 데이터가 저장되는 것을 의미한다.
신호 load는 PLD(21)의 논리 소자에서의 레지스터의 데이터를 비휘발성 영역으로부터 복원하기 위한 신호이다. 하이 레벨의 신호 load는 레지스터의 데이터가 비휘발성 영역으로부터 복원되는 것을 의미한다.
또한 신호 power 2, 신호 prog, 신호 save, 및 신호 load는 PLD(21)를 제어하기 위하여 사용되는 상태 제어 회로(32)로부터의 신호이고, 신호 버스 CTR를 통하여 전송된다.
다음으로, 도 2의 PLD(21)의 상태 전이도에서의 각 상태에 대하여 설명한다.
모든 상태(도면 중 "ALL STATE")에서, PLD(21)의 리셋 신호 res가 하이 레벨(res=1)이 되면, PLD(21)의 상태는 리셋 상태(60)(도면 중 "RES")가 된다.
PLD(21)의 상태가 상태(60)이고 PLD(21)의 리셋 신호 res가 로 레벨(res=0)이 되면, PLD(21)에서 상태(61)(도면 중 "WAIT")로의 상태 전이가 일어난다. 상태(61)는 CPU(11)로부터의 명령의 대기 상태이다.
PLD(21)의 상태가 상태(61)이고 신호 prog가 하이 레벨(prog=1)이 되면, PLD(21)에서 상태(62)(도면 중 "CFG")로의 상태 전이가 일어난다. 상태(62)는 PLD(21)의 컨피규레이션이 수행되는 상태이다.
PLD(21)의 컨피규레이션이 종료되고 신호 prog가 로 레벨(prog=0)이 되면, PLD(21)에서 상태(63)(도면 중 "PROC")로의 상태 전이가 일어난다. 상태(63)는 CPU(11)로부터의 명령에 따라 PLD(21)가 연산 처리를 수행하는 상태이다.
PLD(21)가 상태(63)에서의 연산 처리를 종료하면, PLD(21)는 신호선 TASK를 통하여 상태 제어 회로(32)에 태스크의 종료를 가리키는 데이터를 전송한다. 구체적으로, 신호 task가 하이 레벨이 되고(task=1), 태스크의 종료를 가리키는 데이터를 전송한다. 신호 task가 하이 레벨이 되면, PLD(21)에서 상태(64)(도면 중 "DONE")로의 상태 전이가 일어난다. 상태(64)는 PLD(21)의 태스크가 종료된 상태이다.
PLD(21)의 태스크가 종료되면, 상태 제어 회로(32)는 신호 버스 CTR를 통하여 PLD(21)에 신호 save를 입력한다. 구체적으로, 신호 save는 하이 레벨(save=1)이 된다. 신호 save가 하이 레벨이 되면, PLD(21)에서 상태(65)(도면 중 "SAVE")로의 상태 전이가 일어난다. 상태(65)는 PLD(21)의 논리 소자에서의 레지스터의 데이터가 비휘발성 영역에 저장되는 상태이다.
상태(65)에서 레지스터의 데이터의 저장이 종료되면, 상태 제어 회로(32)는 신호 버스 CTR를 통하여 신호 power 2의 레벨을 변화시킨다. 구체적으로, 신호 power 2는 하이 레벨로부터 로 레벨로 변화된다. 신호 power 2가 로 레벨(power 2=0)이 되면, PLD(21)에서 상태(66)(도면 중 "SSLEEP")로의 상태 전이가 일어난다. 상태(66)는 PLD(21)가 오프인 상태, 즉 전원이 정지된 상태이다.
PLD(21)가 상태(66)에 있고 신호 power 2가 하이 레벨(power 2=1)이 되면, PLD(21)에서 상태(67)(도면 중 "SWAKE")로의 상태 전이가 일어난다. 상태(67)는 PLD(21)가 오프 상태로부터 온 상태로 변화된 상태, 즉 전원이 공급되는 상태이다.
PLD(21)가 상태(67)에 있고 신호 load가 하이 레벨(load=1)이 되면, PLD(21)에서 상태(68)(도면 중 "LOAD")로의 상태 전이가 일어난다. 상태(68)는 상태(65)에서 비휘발성 영역에 저장된 레지스터의 데이터를 복원하는 상태이다.
PLD(21)가 상태(68)에 있고 CPU(11)의 처리 상태, 즉 상태 "cpu_proc"가, PLD(21)에 의한 연산 처리의 결과가 판독되는 상태(도면 중 "get_data", cpu_proc=get_data)가 되면, PLD(21)에서 상태(69)(도면 중 "SEND")로의 상태 전이가 일어난다. 상태(69)는 PLD(21)에 의한 연산 처리의 결과를 CPU(11)에 전달하는 상태이다. 구체적으로, CPU(11)는 PLD(21)에 의한 연산 처리의 결과를 저장하는 레지스터로부터 데이터를 판독한다.
CPU(11)가 상기 데이터를 수신하면, CPU(11)는 전원 도메인(10) 및 전원 도메인(20)을 오프로 하는 명령을 전원 제어 유닛(31) 및 상태 제어 회로(32)에 수행한다. 전원 제어 유닛(31) 및 상태 제어 회로(32)는 명령에 따라 신호 power 1 및 신호 power를 로 레벨로 한다. PLD(21)가 상태(69)에 있고 신호 power 2가 로 레벨(power 2=0)이 되면, PLD(21)에서 상태(70)(도면 중 "LSLEEP")로의 상태 전이가 일어난다.
PLD(21)가 상태(70)에 있는 동안에 외부로부터의 신호 trig가 하이 레벨이 되면, 전원 제어 유닛(31) 및 상태 제어 회로(32)는 전원 도메인(10) 및 전원 도메인(20)을 온으로 한다. 구체적으로, 전원 제어 유닛(31) 및 상태 제어 회로(32)는 신호 power 1 및 신호 power 2를 하이 레벨로 설정한다. PLD(21)가 상태(70)에 있고 신호 power 2가 하이 레벨(power 2=1)이 되면, PLD(21)에서 상태(61)로의 상태 전이가 일어난다.
도 3의 타이밍 차트에 대하여 설명한다. 또한 도 3의 타이밍 차트에서의 상태 "fpga_state"는 PLD(21)의 상태를 가리킨다. 도 3에서의 상태 "fpga_state"는, 도 2를 참조하여 설명하는 상태(61 내지 70) 중 어느 것에 대응한다.
시각(T0) 전에, PLD(21)는 상태(61)이다. 시각(T0)에서, 신호 prog는 하이 레벨이 된다. 따라서, 상태 "fpga_state"는 상태(62)로 변화되고, 이에 따라 PLD(21)에서 컨피규레이션이 수행된다.
시각(T1)에서, PLD(21)의 컨피규레이션이 종료되고, 신호 prog가 로 레벨로 됨으로써, 상태 "fpga_state"는 상태(63)로 변화되고 PLD(21)에서 특정의 태스크의 연산 처리가 수행된다.
시각(T2) 전에, 상태 "cpu_moni"는 오프이므로, PLD(21)의 태스크가 종료되었는지 여부를 감시하지 않는다. 시각(T2)에서, 상태 "cpu_moni"는 온이 되고, 이에 따라 CPU(11)가 상태 제어 회로(32)를 감시하여 PLD(21)의 태스크가 종료되었는지 여부를 확인한다. 시각(T2) 전에 PLD(21)의 태스크는 종료되지 않기 때문에 아무것도 일어나지 않는다.
시각(T3)에서, 상태 "cpu_moni"는 오프가 되고, 이에 따라 CPU(11)가, PLD(21)의 태스크가 종료되었는지 여부를 감시하는 기간이 종료된다.
시각(T4)에서, PLD(21)의 태스크가 종료되고, 신호 task가 하이 레벨이 된다. 상태 제어 회로(32)는 PLD(21)의 태스크의 종료를 가리키는 데이터를 수신하여 PLD(21)(전원 도메인(20))를 오프로 한다. 구체적으로, 먼저, 신호 save를 하이 레벨로 설정하고, PLD(21)의 각 논리 소자에서의 레지스터의 데이터를 비휘발성 영역에 저장하고, 그 후, 신호 power 2를 시각(T5)에서 로 레벨로 설정함으로써, PLD(21)(전원 도메인(20))를 오프로 한다. PLD(21)가 오프가 되기 전의 기간에, 상태 "fpga_state"는 상태(64), 상태(65), 및 상태(66)로, 이 순서대로 변화된다.
시각(T6)에서, 상태 "cpu_moni"가 온이 되고, 이에 따라 CPU(11)는 상태 제어 회로(32)를 감시하여 PLD(21)의 태스크가 종료되었는지 여부를 확인한다. PLD(21)의 태스크는 종료되었기 때문에, PLD(21)의 태스크의 종료를 가리키는 데이터가 이때 CPU(11)에 전송된다. CPU(11)는 PLD(21)(전원 도메인(20))를 온으로 하는 명령을 상태 제어 회로(32)에 보낸다. 구체적으로, 상태 제어 회로(32)는 PLD(21)(전원 도메인(20))를 온으로 할 수 있다. 즉, 신호 power 2가 하이 레벨이 된다. 여기서, 신호 load는 하이 레벨이 된다. 신호 load가 하이 레벨이 되면, PLD(21)의 각 논리 소자에서의 레지스터의 데이터는 비휘발성 영역으로부터 복원될 수 있다. 레지스터의 데이터가 비휘발성 영역으로부터 복원되기까지의 기간에, 상태 "fpga_state"는 상태(67) 및 상태(68)로, 이 순서대로 변화된다.
시각(T7)에서, 상태 "cpu_proc"는 신호 처리 상태 "get_data"가 된다. 구체적으로, CPU(11)는 PLD(21)에 접속하여 PLD(21)의 각 논리 소자에서의 레지스터에 저장된 데이터를 취득한다. 레지스터에 저장된 데이터를 취득하면, 상태 "fpga_state"는 상태(69)로 변화된다.
시각(T8)에서, CPU(11)는 PLD(21)로부터의 데이터의 취득을 종료한다. 그 후, 전원 제어 유닛(31)은 전원 도메인(10) 및 전원 도메인(20)을 오프로 한다. 구체적으로, 신호 power 1 및 신호 power 2는 로 레벨이 된다. 신호 power 1 및 신호 power 2가 로 레벨이 되면, 상태 "fpga_state"는 상태(70)로 변화된다.
시각(T9)에서, 하이 레벨의 신호 trig가 외부로부터 입력된다. 즉, 전원 도메인(10) 및 전원 도메인(20)은 온이 된다. 구체적으로, 신호 power 1 및 신호 power 2는 하이 레벨이 된다. 신호 power 1 및 신호 power 2가 하이 레벨이 되면, 상태 "fpga_state"는 상태(61)로 변화된다.
상술한 식으로, 태스크의 종료 후 PLD(21)를 오프로 할 수 있고, 데이터를 취득한 후 PLD(21) 및 CPU(11)를 오프로 할 수 있다. 시각(T6)에서 전원 도메인(10) 및 전원 도메인(20)이 오프가 되지만, CPU(11) 또는 PLD(21)가 다른 태스크를 가질 때, 전원 도메인(10) 및 전원 도메인(20)은 오프가 되지 않아 태스크는 계속될 수 있다.
PLD(21)에 의한 태스크의 종료 후에 신호 task가 어떻게 생성되는지에 대하여 도 4 및 도 5를 참조하여 설명한다.
도 4는 도 1의 PLD(21)로서 사용될 수 있는 PLD(21A)의 구성의 예를 도시한 것이다. PLD(21A)는 프로그래머블 영역(22)(도면 중 "Programmable Area 1"), 프로그래머블 영역(23)(도면 중 "Programmable Area 2"), 제어 회로(24)(도면 중 "CC"), 비트선 구동 회로(25)(도면 중 "Bit Driver"), 및 워드선 구동 회로(26)(도면 중 "Word Driver")를 포함한다.
프로그래머블 영역(22 및 23) 각각은 논리 소자, 논리 소자들 사이의 배선, 배선 스위치, 및 유저 I/O(input/output)를 포함한다. 프로그래머블 영역(22)에서는, 어드레스 신호선 ADDF 및 데이터 신호선 DATAF를 통한 CPU(11)로부터의 명령에 따라 회로 구성을 변경할 수 있다. 구체적으로, 프로그래머블 영역(22)은 카운터 등의 단순한 회로의 구성을 가질 수 있다. 프로그래머블 영역(23)에서는, 컨피규레이션 ROM(52A 내지 52C)의 데이터에 따라 회로 구성을 변경할 수 있고, 상기 회로 구성 때문에 복잡한 연산 처리를 수행할 수 있다.
신호 버스 CTR(C)는 프로그래머블 영역(23)의 회로 구성을 변경하기 위한 제어 신호를 전송하기 위한 버스이다. 제어 회로(24)는 신호 버스 CTR(C)를 통하여 제어 신호를 수신하고, 워드선 구동 회로(26) 및 비트선 구동 회로(25)를 사용하여 프로그래머블 영역(23)의 회로 구성을 변경한다.
신호 버스 CTR(SL)는 프로그래머블 영역(23)의 논리 소자에서의 레지스터의 데이터를 비휘발성 영역에 저장하거나 비휘발성 영역으로부터 레지스터로 데이터를 복원하기 위한 제어 신호(save 또는 load)를 전송하기 위한 버스이다. 신호 버스 CTR(SL)를 통한 제어 신호에 따라 레지스터의 데이터를 저장하거나 복원할 수 있다.
<태스크의 종료에 대한 데이터를 취득하기 위한 구성의 예 1>
CPU(11)가 PLD(21A)에 의한 연산 처리량 및 PLD(21A)에 의한 연산 처리에 요구되는 클럭 수에 대한 데이터를 취득하는 것으로 가정한다. CPU(11)에 의하여, 카운터 등의 회로가 프로그래머블 영역(22)에 구성된다. 프로그래머블 영역(22)은 PLD(21A)에 의한 연산 처리에 요구되는 클럭 수를 카운트하는 데 사용될 수 있어 클럭 수가 특정의 값에 도달할 때 신호 task를 전송할 수 있는 회로 구성을 가질 수 있다.
연산 처리가 시작되는 것과 동시에 프로그래머블 영역(22)에서 카운트가 시작된다. 프로그래머블 영역(23)의 연산 처리가 종료되면, 프로그래머블 영역(22)에서 카운트되는 값이 특정의 값에 도달되고, 이에 따라 PLD(21A)에 의한 태스크의 종료를 가리키는 데이터인 신호 task가 신호선 TASK를 통하여 상태 제어 회로(32)에 전송된다.
상술한 식으로, PLD(21A)에 의한 태스크의 종료를 가리키는 데이터를 상태 제어 회로(32)에 전송할 수 있다.
<태스크의 종료에 대한 데이터를 취득하기 위한 구성의 예 2>
PLD(21A)에 의한 태스크의 종료에 대한 데이터의 취득 방법의 다른 예에 대하여 설명한다. PLD(21A)가 특정의 연산 처리를 수행하면, 단일의 연산 처리에 요구되는 클럭 수는 일의(一意)적으로 결정되므로 프로그래머블 영역(23)에서 카운트될 수 있다.
예를 들어, PLD(21A)가 32비트×32비트의 곱셈(multiplication) 처리를 수행하는 경우에 대하여 설명한다. 상기 곱셈 처리가 최대 32클럭으로 종료되는 경우, 프로그래머블 영역(23)은 32클럭을 카운트할 수 있는 회로 구성을 가질 수 있다.
CPU(11)는 PLD(21A)가 단일의 연산 처리를 몇 번 반복하는지에 대한 데이터를 PLD(21A)에 전송할 수 있다. 바꿔 말하면, CPU(11)는 연산 처리가 실행되는 데이터양에 대한 데이터를 PLD(21A)에 미리 전송할 수 있다. 이 경우, 프로그래머블 영역(22)은 연산 처리가 실행되는 데이터양에 대한 데이터를 수신하고 PLD(21A)에 의한 연산 처리가 실행되는 데이터양으로 도달할 때까지 클럭 수를 카운트하는 회로 구성을 가질 수 있다. 프로그래머블 영역(22)에서 카운트된 카운트값이 특정의 값에 도달되면, PLD(21A)에 의한 태스크의 종료를 가리키는 데이터인 신호 task가 신호선 TASK를 통하여 상태 제어 회로(32)에 전송된다.
상술한 식으로, PLD(21A)에 의한 태스크의 종료를 가리키는 데이터를 상태 제어 회로(32)에 전송할 수 있다.
<태스크의 종료에 대한 데이터를 취득하기 위한 구성의 예 3>
도 5는 도 4에 도시된 것과 다른 구성의 예를 도시한 것이다. 도 5에 도시된 구성은 프로그래머블 영역(22)이 포함되지 않는 점에서 도 4에 도시된 것과 상이하다. 도 5에서의 구성에서는, PLD(21B)의 태스크가 종료되었는지 여부를 판정할 수 있는 데이터를 프로그래머블 영역(23)의 회로 구성을 결정하는 컨피규레이션 ROM에 미리 저장한다.
예를 들어, 특정의 연산 처리가 수행될 때, 연산 처리에 요구되는 클럭 수가 결정되므로, 연산 처리에서의 카운트값을 카운트하는 회로가 프로그래머블 영역(23)에 구성된다. 따라서, PLD(21B)에 의한 태스크의 종료를 가리키는 데이터인 신호 task를 생성할 수 있다.
구체적으로는, PLD(21B)가 최대 32클럭으로 종료되는 32비트×32비트의 곱셈 처리를 수행하는 경우, 카운트값이 32가 될 때에 하이 레벨 신호 task를 신호선 TASK에 출력함으로써, PLD(21B)의 태스크가 종료되었는지 여부에 대한 데이터를 상태 제어 회로(32)에 전송할 수 있다.
본 실시형태는 다른 실시형태 중 임의의 것과 적절히 조합할 수 있다.
(실시형태 2)
도 6은 도 1과 다른 구성의 예를 도시한 것이다. 도 6의 블록도에 도시된 구성은 멀티플렉서(53)(도면 중 "MUX") 및 센서 모듈(54A, 54B, 및 54C)(도면 중 "SEN1", "SEN2", 및 "SEN3")이 포함되는 점에서 도 1의 구성과 상이하다.
센서 모듈(54A 내지 54C)의 각각은 예를 들어 조도 센서, 컬러 센서, 가속도 센서, 왜곡 센서, 열 센서, 압력 센서, 또는 거리 센서 등이다.
PLD(21)는 센서 모듈(54A 내지 54C)의 각각으로부터 출력되는 출력값의 연산 처리를 수행하고 CPU(11)에 데이터를 출력하는 기능을 가진다. PLD(21)는 상태 제어 회로(32) 및 컨피규레이션 ROM(52A 내지 52C)으로부터의 데이터에 의하여 결정되는 회로 구성에 따라, 멀티플렉서(53)를 사용하여 센서 모듈(54A 내지 54C) 중 특정의 센서 모듈의 신호를 선택한다.
센서 모듈(54A 내지 54C)은 각각 특정의 변화를 검출하는 기능을 가진다. 센서 모듈은 변화의 유무에 대한 데이터를 상태 제어 회로(32)에 전송할 수 있다. 센서 모듈에서 특정의 변화가 검출되는 경우, 변화의 유무에 대한 신호 detect가 배선 DETECT를 통하여 상태 제어 회로(32)에 전송된다. 예를 들어 센서 모듈들 중 어느 것이 가속도 센서인 경우, 물리적인 변화가 가속도 센서에 의하여 검출되면, 신호 detect가 배선 DETECT를 통하여 전송된다.
상태 제어 회로(32)는 신호 detect에 따라 신호 버스 CTR를 통하여 PLD(21)가 태스크를 시작하게 할 수 있다. 이 경우, 상기 태스크는 센서 모듈로부터 출력되는 출력값 중 어느 것에 원하는 연산 처리를 수행하는 것을 의미한다.
상술한 바와 같이, PLD(21)에 의하여 태스크가 종료된 경우, 태스크의 종료를 가리키는 신호 task를 신호선 TASK를 통하여 상태 제어 회로(32)에 전송하고, PLD(21)의 레지스터의 데이터를 비휘발성 영역에 저장한 후, PLD(21)를 오프로 할 수 있다.
또한 본 실시형태의 구성에서, CPU(11)는 PLD(21)가 태스크를 시작하는 타이밍에 대한 데이터를 반드시 취득할 필요는 없다.
CPU(11)가 PLD(21)에 의하여 태스크가 시작되는 타이밍에 대한 데이터를 취득하지 않는 경우에는, CPU(11)가 주기적으로 상태 제어 회로(32)의 특정의 레지스터를 감시하여 PLD(21)의 태스크가 종료되었는지 여부를 확인하는 것이 효과적이다.
도 6에 도시된 시스템을 사용하는 경우, PLD(21)는 센서 모듈에 의하여 변화가 검출될 때만 온이 되어 연산 처리를 수행할 수 있다. 상기 연산 처리의 종료 후에, PLD(21)를 오프로 하고, 연산 처리의 결과를 CPU(11)에 의하여 요구된 타이밍에 전달할 수 있다.
본 실시형태는 다른 실시형태 중 임의의 것과 적절히 조합할 수 있다.
(실시형태 3)
본 실시형태에서는, 상술한 실시형태에서 설명된 각 반도체 장치에서 사용될 수 있는 PLD의 구성의 예에 대하여 설명한다.
<PLD의 구성의 예>
도 7은 PLD(200)의 구성을 도시한 것이다. PLD(200)는 실시형태 1의 PLD(21)로서 사용할 수 있다. 멀티 컨텍스트 방식을 PLD(200)에 적용할 수 있다.
PLD(200)는 로직부, 입출력부, 및 주변 회로부를 포함한다. 로직부는 로직 어레이(LA)(211 및 212) 및 스위치 어레이(SWA)(221 내지 223)를 포함한다. 입출력부는 입출력 어레이(IOA)(224 및 225)를 포함한다. 주변 회로부는 로직부 및 입출력부를 구동하는 기능을 가지는 회로를 포함한다. 예를 들어, 주변 회로부는 클럭 신호 생성기(230), 컨피규레이션 컨트롤러(231), 컨텍스트 컨트롤러(232), 열 드라이버 회로(234), 및 행 드라이버 회로(235)를 포함한다.
LA(211 및 212)는 각각 복수의 LE(240)를 포함한다. 도 7의 예에서는, LA(211)는 10개의 LE(240)(LE<00> 내지 LE<09>)를 포함하고, LA(212)는 10개의 LE(240)(LE<10> 내지 LE<19>)를 포함하지만, LE(240)의 수는 자유로이 결정될 수 있다. IOA(224 및 225)는 PLD(200)의 외부 단자와 LA(211 및 212) 사이의 신호의 입출력을 제어하는 기능을 가진다.
IOA(224 및 225)는 각각 복수의 입출력 회로(IO)를 포함한다. 도 7의 예에서는, IOA(224)는 10개의 입출력 회로(IO<00> 내지 IO<09>)를 포함하고, IOA(225)는 10개의 입출력 회로(IO<10> 내지 <19>)를 포함한다. IO<00> 내지 IO<19>는 서로 상이한 외부 단자에 접속된다.
SWA(221 내지 223)는 각각 복수의 RS(280)를 포함한다. 도면에서의 RS(280) 내의 표현은 RS(280)의 기능을 나타낸다. 예를 들어, "LE0* to IO00"로 표현되는 RS(280)는 LE<00> 내지 LE<09>의 출력 노드와 IO<00>의 입력 노드 사이의 스위치의 기능을 가지고, 컨피규레이션 데이터 및 컨텍스트를 선택하기 위한 데이터(이하에서 컨텍스트 데이터라고도 함)에 따라 LE<00> 내지 LE<09>와 IO<00> 사이의 접속을 결정한다.
클럭 신호 생성기(230)는 PLD(200)에서 사용되는 하나 이상의 클럭 신호를 생성하는 기능을 가진다. 열 드라이버 회로(234)는 컨피규레이션 데이터를 생성하는 기능을 가진다. 행 드라이버 회로(235)는 컨피규레이션 메모리를 선택하기 위한 신호를 생성하는 기능을 가진다. 컨피규레이션 컨트롤러(231)는 열 드라이버 회로(234) 및 행 드라이버 회로(235)를 제어하는 기능을 가진다. 컨텍스트 컨트롤러(232)는 컨텍스트 데이터를 생성하는 기능을 가진다.
<LE의 구성의 예>
도 8은 LE(240)의 구성의 예를 도시한 것이다. LE(240)는 프로그램 가능한 논리 회로이고 컨피규레이션 메모리부(250) 및 로직 셀(LCELL)(260)을 포함한다.
컨피규레이션 메모리부(250)는 컨피규레이션 데이터를 저장하는 기능을 가진다. LE(240)의 기능은 컨피규레이션 메모리부(250)에 저장된 컨피규레이션 데이터에 따라 결정된다.
LE(240)는 소정의 논리 연산을 입력 데이터 Din에 실행하여 데이터를 생성하고 출력 데이터 Dout로서 데이터를 출력하는 기능을 가진다. LE(240)는 배타적 논리합(XOR) 회로군(261), LUT(262), 캐리 로직(263), 실렉터(SEL)(264), 플립플롭 회로(FF)(265), 및 실렉터(SEL)(266)를 포함한다. FF(265)는 레지스터의 기능을 가진다. FF(265)는 데이터가 입력되는 단자 D, 리셋 신호 RST가 입력되는 단자 XR, 클럭 신호 CLK가 입력되는 단자, 및 데이터가 출력되는 단자 Q를 포함한다. LCELL(260)의 논리 기능은 컨피규레이션 메모리부(250)로부터 출력되는 컨피규레이션 데이터에 의하여 제어된다.
데이터 Din은 RS(280)로부터 입력된다. 또한, 데이터 Dout는 다른 RS(280)에 출력된다. 복수의 LE(240)로 캐리 체인이 형성되는 경우, 복수의 LE(240) 사이에서 캐리 신호의 입출력이 수행된다. 복수의 LE(240)로 레지스터 체인이 형성되는 경우, 인접된 LE들(240) 사이에서 레지스터 체인 신호의 입출력이 수행된다.
<컨피규레이션 메모리의 구성의 예>
PLD(200)의 LE(240) 및 RS(280)는 각각 컨피규레이션 메모리를 포함한다. LE(240) 또는 RS(280)에 사용될 수 있는 컨피규레이션 메모리의 구성의 예에 대하여 이하에 설명한다.
컨피규레이션 메모리는 컨피규레이션 데이터를 저장하는 기능을 가지는 기억 회로를 포함한다. 컨피규레이션 메모리에 포함되는 기억 회로는 휘발성 또는 비휘발성이어도 좋다. 휘발성 기억 회로에 예에는 SRAM가 포함된다. 비휘발성 기억 회로의 예에는 플래시 메모리, 강유전체 랜덤 액세스 메모리(FeRAM), 자기 저항 랜덤 액세스 메모리(MRAM), 상변화 랜덤 액세스 메모리(PRAM), 및 저항 랜덤 액세스 메모리(ReRAM)가 포함된다.
여기서, 기억 회로로서 채널 형성 영역에 산화물 반도체를 포함하는 트랜지스터(이하에서 OS 트랜지스터라고도 함)를 포함하는 회로를 사용하는 것이 특히 바람직하다. 산화물 반도체는 실리콘 등의 다른 반도체보다 넓은 밴드 갭 및 낮은 캐리어 밀도를 가지므로 OS 트랜지스터의 오프 상태 전류는 매우 낮다. 이러한 OS 트랜지스터가 컨피규레이션 메모리에 포함되면, 컨피규레이션 메모리는 상당히 오랜 기간 컨피규레이션 데이터를 유지할 수 있고, 또한 이하에 설명하듯이 컨피규레이션 메모리의 면적을 축소시킬 수 있다.
[구성의 예 1]
도 9의 (A)는 컨피규레이션 메모리로서 사용될 수 있는 기억 회로의 구성의 예를 도시한 것이다. 기억 회로(300)는 복수의 회로(310)를 포함한다. 도 9의 (A)에 도시된 예에 2개의 회로(310)(회로(310[0] 및 310[1]))가 도시되었지만 회로(310)의 개수는 2개에 한정되지 않는다. 소정의 컨피규레이션 데이터가 회로(310)에 저장되므로, 배선 IN과 배선 OUT 사이의 접속을 제어할 수 있다. 그러므로, 기억 회로(300)는 RS(280)로서 사용될 수 있다.
회로(310)는 트랜지스터(311, 312, 및 313) 및 용량 소자(314)를 포함한다. 여기서 트랜지스터(311, 312, 및 313)는 n채널형이지만, 이들은 p채널형이어도 좋다. "OS"로 표시된 트랜지스터는 OS 트랜지스터이다.
트랜지스터(311)의 게이트는 배선 WL에 접속되고, 트랜지스터(311)의 소스 및 드레인 중 한쪽은 트랜지스터(312)의 게이트 및 용량 소자(314)의 한쪽 전극에 접속되고, 다른 쪽은 배선 BL에 접속된다. 트랜지스터(312)의 소스 및 드레인 중 한쪽은 배선 IN에 접속되고, 다른 쪽은 트랜지스터(313)의 소스 및 드레인 중 한쪽에 접속된다. 트랜지스터(313)의 게이트는 배선 CTX에 접속되고, 트랜지스터(313)의 소스 및 드레인 중 다른 쪽은 배선 OUT에 접속된다. 용량 소자(314)의 다른 쪽 전극은 소정 전위가 공급되는 배선에 접속된다. 여기서, 트랜지스터(311)의 소스 및 드레인 중 한쪽, 트랜지스터(312)의 게이트, 및 용량 소자(314)의 한쪽 전극에 접속되는 노드를 노드(N1)라고 한다.
다음으로, 회로(310)의 동작에 대하여 설명한다. 먼저, 배선 WL의 전위를 설정하여 트랜지스터(311)를 온으로 한다. 배선 BL의 전위가 노드(N1)에 공급된다(컨피규레이션 데이터의 기록). 또한 배선 WL은 행 드라이버 회로(235)에 접속된다(도 7 참조). 배선 WL의 전위는 행 드라이버 회로(235)에 의하여 제어될 수 있다.
다음으로, 배선 WL의 전위를 설정하여 트랜지스터(311)를 오프로 함으로써, 노드(N1)가 플로팅 상태로 되고 노드(N1)의 전위가 유지된다(컨피규레이션 데이터의 유지). 여기서, 배선 IN과 배선 OUT 사이에 제공되는 트랜지스터(312)의 도통 상태를 노드(N1)의 전위에 의하여 결정한다. 따라서, 배선 IN과 배선 OUT 사이의 도통 상태를 노드(N1)의 전위의 제어에 의하여 제어할 수 있다. 이러한 회로(310)를 포함하는 기억 회로(300)는 배선들 간의 도통 상태를 제어하기 위한 스위치로서 기능하기 때문에, 기억 회로(300)는 RS(280)의 컨피규레이션 메모리로서 사용될 수 있다. 기억 회로(300)가 RS(280)의 컨피규레이션 메모리로서 사용되는 경우, 배선 IN 및 배선 OUT는 각각 IO 및 LE(240)에 접속된다.
또한 기억 회로(300)는 배선 OUT를 공유하는 회로(310[0]) 및 회로(310[1])를 포함한다. 소정 전위를 배선 CTX[0] 및 CTX[1]에 공급함으로써, 회로(310[0] 및 310[1]) 중 하나가 선택될 수 있다. 따라서, 기억 회로(300)는 멀티 컨텍스트 컨피규레이션 메모리로서 사용될 수 있다.
구체적으로는, context[0]가 선택되면, 배선 CTX[0]를 설정하여 회로(310[0])의 트랜지스터(313)를 온으로 한다. 또한, 배선 CTX[1]를 설정하여 회로(310[1])의 트랜지스터(313)를 오프로 한다. 이와 같이 함으로써, 배선 IN과 배선 OUT 사이의 도통 상태는 회로(310[1])의 노드(N1)의 전위에 의하여 제어된다. context[1]가 선택되는 경우, 배선 CTX[0]를 설정하여 회로(310[0])의 트랜지스터(313)를 오프로 하고, 배선 CTX[1]를 설정하여 회로(310[1])의 트랜지스터(313)를 온으로 한다. 이와 같이 함으로써, 배선 IN과 배선 OUT 사이의 도통 상태는 회로(310[0])의 노드(N1)의 전위에 의하여 제어된다. 따라서, 배선 IN과 배선 OUT 사이의 도통 상태를 제어하기 위한 컨텍스트는 배선 CTX[0] 및 CTX[1]의 전위를 제어함으로써 선택될 수 있다.
여기서, 트랜지스터(311)는 OS 트랜지스터이고 매우 낮은 오프 상태 전류를 가진다. 그러므로, 노드(N1)의 전위는 트랜지스터(311)가 오프 상태인 기간에서 장시간 유지될 수 있다. 이 결과, 컨피규레이션 데이터의 갱신 빈도를 대폭으로 저감시킬 수 있기 때문에, PLD(200)의 소비전력을 저감시킬 수 있다. 또한, 회로(310)로의 전력 공급이 정지된 기간에서라도 컨피규레이션 데이터를 장시간 유지할 수 있다.
또한, OS 트랜지스터를 사용함으로써, 회로(310)는 더 적은 트랜지스터(회로(310)에서는 3개의 트랜지스터)로 형성할 수 있다. 결과적으로, PLD(200)의 면적을 축소할 수 있다. 또한, OS 트랜지스터는 다른 트랜지스터 위에 적층할 수 있다. 트랜지스터(311)가 트랜지스터(312) 또는 트랜지스터(313) 위에 적층되면, 회로(310)의 면적을 축소할 수 있고, 그 결과 PLD(200)의 면적을 더 축소할 수 있다.
또한, 멀티 컨텍스트 방식이 PLD(200)에 사용되는 경우, 복수의 컨텍스트에 대응하는 컨피규레이션 데이터가 컨피규레이션 메모리에 저장될 필요가 있고, 이는 컨피규레이션 메모리의 면적의 대폭적인 확대를 일으킬 수 있다. 그러나, 상술한 바와 같이, OS 트랜지스터를 포함하는 기억 회로(300)의 이용에 의하여 컨피규레이션 메모리의 면적 확대를 억제할 수 있다. 이들 이유로, 멀티 컨텍스트 방식을 채용한 PLD(200)에 OS 트랜지스터를 사용하는 것이 특히 바람직하다.
또한 도 9의 (A)에서 OS 트랜지스터 외의 트랜지스터의 재료는 특별히 한정되지 않는다. 예를 들어, 채널 형성 영역이 단결정 반도체를 포함하는 기판의 일부에 형성되는 트랜지스터(상기 트랜지스터를 이하에서 단결정 트랜지스터라고도 함)가 사용되어도 좋다. 단결정 반도체를 포함하는 기판으로서는, 단결정 실리콘 기판 또는 단결정 저마늄 기판 등을 들 수 있다. 단결정 트랜지스터는 고속 동작을 수행할 수 있기 때문에, 기억 회로에 단결정 트랜지스터를 사용함에 의하여 기억 회로가 더 고속으로 동작하게 된다. OS 트랜지스터 외의 각 트랜지스터로서, 산화물 반도체 외의 반도체를 포함하는 막에 채널 형성 영역이 형성되는 트랜지스터도 사용할 수 있다. 산화물 반도체 외의 반도체의 예에는 실리콘, 저마늄, 실리콘 저마늄, 탄소화 실리콘, 갈륨 비소, 알루미늄 갈륨 비소, 인듐 인, 질화 갈륨, 및 유기 반도체가 포함된다. 상술한 산화물 반도체 외의 각 반도체는 단결정 반도체, 또는 비정질 반도체, 미결정 반도체, 또는 다결정 반도체 등의 비단결정 반도체이어도 좋다. 이들 트랜지스터는 이하에 설명하는 OS 트랜지스터 외의 트랜지스터로서 사용할 수 있다.
도 9의 (B)는 회로(310)의 다른 구성의 예를 도시한 것이다. 도 9의 (B)에 도시된 회로(310)는 도 9의 (A)의 용량 소자(314) 대신에 회로(315)를 포함하는 구성을 가진다. 회로(315)는 인버터 루프를 형성한다. 노드(N1)의 전위는 회로(315)에 의하여 하이 레벨 전위 또는 로 레벨 전위로 유지될 수 있다. 또한 상술한 OS 트랜지스터 외의 트랜지스터는 트랜지스터(311)로서 사용될 수 있다. 이 경우, 회로(310)는 휘발성이다.
[구성의 예 2]
도 10은 컨피규레이션 메모리로서 사용될 수 있는 다른 기억 회로의 구성의 예를 도시한 것이다. 기억 회로(400)는 회로(410)를 포함한다. 도 10에 도시된 예에서 2개의 회로(410)(회로(410[0] 및 410[1])가 도시되었지만 회로(410)의 개수는 2개에 한정되지 않는다.
회로(410)는 트랜지스터(411 및 412), 용량 소자(413), 트랜지스터(414 및 415), 용량 소자(416), 및 트랜지스터(417)를 포함한다. 여기서 트랜지스터(411, 412, 414, 415, 및 417)는 n채널형이지만, 이들은 p채널형이어도 좋다.
트랜지스터(411)의 게이트는 배선 WL에 접속되고, 트랜지스터(411)의 소스 및 드레인 중 한쪽은 트랜지스터(412)의 게이트 및 용량 소자(413)의 한쪽 전극에 접속되고, 다른 쪽은 배선 BL에 접속된다. 트랜지스터(412)의 소스 및 드레인 중 한쪽은 소정 전위(여기서는 고전원 전위 VDD)가 공급되는 배선에 접속되고, 다른 쪽은 트랜지스터(417)의 소스 및 드레인 중 한쪽에 접속된다. 용량 소자(413)의 다른 쪽 전극은 소정 전위가 공급되는 배선에 접속된다. 트랜지스터(414)의 게이트는 배선 WL에 접속되고, 트랜지스터(414)의 소스 및 드레인 중 한쪽은 트랜지스터(415)의 게이트 및 용량 소자(416)의 한쪽 전극에 접속되고, 트랜지스터(414)의 소스 및 드레인 중 다른 쪽은 배선 BLb에 접속된다. 트랜지스터(415)의 소스 및 드레인 중 한쪽은 소정 전위(여기서는 저전원 전위 VSS, 예를 들어 접지 전위)가 공급되는 배선에 접속되고, 트랜지스터(415)의 소스 및 드레인 중 다른 쪽은 트랜지스터(417)의 소스 및 드레인 중 한쪽에 접속된다. 용량 소자(416)의 다른 쪽 전극은 소정 전위가 공급되는 배선에 접속된다. 트랜지스터(417)의 게이트는 배선 CTX에 접속되고, 트랜지스터(417)의 소스 및 드레인 중 다른 쪽은 배선 OUT에 접속된다.
여기서 트랜지스터(411)의 소스 및 드레인 중 한쪽, 트랜지스터(412)의 게이트, 및 용량 소자(413)의 한쪽 전극에 접속되는 노드를 노드(N2)라고 한다. 또한, 트랜지스터(414)의 소스 및 드레인 중 한쪽, 트랜지스터(415)의 게이트, 및 용량 소자(416)의 한쪽 전극에 접속되는 노드를 노드(N3)라고 한다. 또한 배선 BL에 공급되는 신호의 반전 신호는 배선 BLb에 공급된다.
노드(N2) 및 노드(N3) 중 한쪽에 컨피규레이션 데이터로서 하이 레벨 전위가 저장되고, 노드(N2) 및 노드(N3) 중 다른 쪽에 컨피규레이션 데이터로서 로 레벨 전위가 저장된다. 따라서, 트랜지스터들(412 및 415) 중 한쪽은 온이고, 다른 쪽은 오프이다. 따라서, 하이 레벨 전위 또는 로 레벨 전위는 배선 OUT에 선택적으로 공급될 수 있다. 이러한 회로(410)를 포함하는 기억 회로(400)는 배선 OUT에 출력되는 논리값을 제어하는 기능을 가지기 때문에, 기억 회로(400)는 LE(240)의 컨피규레이션 메모리로서 사용할 수 있다. 기억 회로(400)가 LE(240)의 컨피규레이션 메모리로서 사용되는 경우, 배선 OUT는 다른 논리 회로 또는 RS(280) 등에 접속된다. 또한 노드(N2) 및 노드(N3)에서의 컨피규레이션 데이터의 저장은 도 9의 (A)에서의 회로(310)의 동작과 비슷한 동작에 의하여 수행될 수 있다.
또한 기억 회로(400)는 배선 OUT를 공유하는 회로(410[0]) 및 회로(410[1])를 포함한다. 소정 전위를 배선 CTX[0] 및 CTX[1]에 공급함으로써, 회로(410[0]) 및 회로(410[1]) 중 한쪽을 선택할 수 있다. 따라서, 기억 회로(300)는 멀티 컨텍스트 컨피규레이션 메모리로서 사용할 수 있다.
구체적으로는, context[0]가 선택되면, 배선 CTX[0]를 설정하여 회로(410[0])의 트랜지스터(417)를 온으로 한다. 또한, 배선 CTX[1]를 설정하여 회로(410[1])의 트랜지스터(417)를 오프로 한다. 이와 같이 함으로써, 배선 OUT의 전위는 회로(410[0])의 노드(N2 및 N3)의 전위에 의하여 제어된다. context[1]가 선택되는 경우, 배선 CTX[0]를 설정하여 회로(410[0])의 트랜지스터(417)를 오프로 하고, 배선 CTX[1]를 설정하여 회로(410[1])의 트랜지스터(417)를 온으로 한다. 이와 같이 함으로써, 배선 OUT의 전위는 회로(410[1])의 노드(N2 및 N3)의 전위에 의하여 제어된다. 따라서, 배선 OUT의 전위를 제어하기 위한 컨텍스트는 배선 CTX[0] 및 CTX[1]의 전위를 제어함으로써 선택될 수 있다.
회로(410)에서, 트랜지스터(411 및 414)로서 OS 트랜지스터가 사용된다. 그러므로, 회로(310)와 같이 회로(410)에서 소비전력을 저감시키고 면적을 축소할 수 있다.
또한, 기억 회로(400)는 회로(420)를 포함하여도 좋다. 회로(420)는 인버터(421) 및 트랜지스터(422)를 포함한다. 인버터(421)의 입력 단자 및 출력 단자는 각각 배선 OUT 및 트랜지스터(422)의 게이트에 접속된다. 트랜지스터(422)의 소스 및 드레인 중 한쪽은 배선 OUT에 접속되고, 다른 쪽은 소정 전위(여기서는 고전원 전위 VDD)가 공급되는 배선에 접속된다. 회로(420)가 배선 OUT의 전위를 유지하는 기능을 가짐으로써, 배선 OUT가 플로팅이 되는 것을 방지할 수 있다. 따라서, 배선 OUT의 전위가 중간 전위가 되는 것을 방지할 수 있고, 배선 OUT에 접속되는 회로 소자에서의 관통 전류의 발생을 방지할 수 있다.
도 11의 (A) 및 (B) 각각은 회로(410)의 다른 구성의 예를 도시한 것이다. 도 11의 (A)에 도시된 회로(410)는 도 10의 용량 소자(413 및 416) 대신에 회로(418 및 419)를 포함하는 구성을 가진다. 회로(418 및 419)는 각각 인버터 루프를 형성한다. 노드(N2)의 전위는 회로(418)에 의하여 하이 레벨 전위 또는 로 레벨 전위로 유지될 수 있고, 노드(N3)의 전위는 회로(419)에 의하여 하이 레벨 전위 또는 로 레벨 전위로 유지될 수 있다. 또한 상술한 OS 트랜지스터 외의 트랜지스터는 트랜지스터(411 및 414)로서 사용될 수 있다. 이 경우, 회로(410)는 휘발성이다.
도 10 및 도 11의 (A)에서 트랜지스터(411)의 게이트 및 트랜지스터(414)의 게이트는 같은 배선 WL에 접속되지만, 이들은 상이한 배선에 접속되어도 좋다. 도 11의 (B)는 트랜지스터(411)의 게이트가 배선 WLa에 접속되고, 트랜지스터(414)의 게이트가 배선 WLb에 접속되는 구성을 도시한 것이다.
[구성의 예 3]
비휘발성 메모리와 OS 트랜지스터를 조합한 회로를 컨피규레이션 메모리로서 사용할 수 있다. 도 12는 이러한 기억 회로의 구성의 예를 도시한 것이다. 기억 회로(500)의 구성의 예를 도시하였다. 기억 회로(500)는 회로(510) 및 회로(520)를 포함한다. 또한 기억 회로(500)는 예를 들어 도 9의 (B)에서의 트랜지스터(311) 및 회로(315), 도 11의 (A)에서의 트랜지스터(411) 및 회로(418), 또는 도 11의 (A)에서의 트랜지스터(414) 및 회로(419)로서 사용될 수 있다.
회로(510)는 트랜지스터(511 내지 516)를 포함한다. 트랜지스터(511, 512, 515, 및 516)는 n채널형이고, 트랜지스터(513 및 514)는 p채널형이다. 또한 트랜지스터(511 및 512)는 각각 n채널 트랜지스터 및 p채널 트랜지스터의 어느 쪽이어도 좋다.
트랜지스터(511)의 게이트는 배선 WL에 접속된다. 트랜지스터(511)의 소스 및 드레인 중 한쪽은 트랜지스터(513)의 소스 및 드레인 중 한쪽, 트랜지스터(515)의 소스 및 드레인 중 한쪽, 트랜지스터(514)의 게이트, 및 트랜지스터(516)의 게이트에 접속된다. 트랜지스터(511)의 소스 및 드레인 중 다른 쪽은 배선 BL에 접속된다. 트랜지스터(512)의 게이트는 배선 WL에 접속된다. 트랜지스터(512)의 소스 및 드레인 중 한쪽은 트랜지스터(514)의 소스 및 드레인 중 한쪽, 트랜지스터(516)의 소스 및 드레인 중 한쪽, 트랜지스터(513)의 게이트, 및 트랜지스터(515)의 게이트에 접속된다. 트랜지스터(512)의 소스 및 드레인 중 다른 쪽은 배선 BLb에 접속된다. 트랜지스터(513)의 소스 및 드레인 중 다른 쪽 및 트랜지스터(514)의 소스 및 드레인 중 다른 쪽은 각각 소정 전위(여기서는 고전원 전위 VDD)가 공급되는 배선에 접속된다. 트랜지스터(515)의 소스 및 드레인 중 다른 쪽 및 트랜지스터(516)의 소스 및 드레인 중 다른 쪽은 각각 소정 전위(여기서는 저전원 전위 VSS)가 공급되는 배선에 접속된다. 트랜지스터(513)의 게이트 및 트랜지스터(515)의 게이트에 접속되는 노드를 노드(N5)라고 하고, 트랜지스터(514)의 게이트 및 트랜지스터(516)의 게이트에 접속되는 노드를 노드(N4)라고 한다.
이러한 식으로, 회로(510)는 휘발성 메모리인 SRAM 셀의 구성을 가진다. 노드(N4) 및 노드(N5)는 컨피규레이션 데이터가 유지되는 노드에 상당한다.
회로(520)는 트랜지스터(521 및 522) 및 용량 소자(523 및 524)를 포함한다. 여기서, 트랜지스터(521 및 522)는 OS 트랜지스터이다.
트랜지스터(521)의 게이트는 배선 WE에 접속되고, 트랜지스터(521)의 소스 및 드레인 중 한쪽은 용량 소자(523)의 한쪽 전극에 접속되고, 트랜지스터(521)의 소스 및 드레인 중 다른 쪽은 노드(N5)에 접속된다. 트랜지스터(522)의 게이트는 배선 WE에 접속되고, 트랜지스터(522)의 소스 및 드레인 중 한쪽은 용량 소자(524)의 한쪽 전극에 접속되고, 트랜지스터(522)의 소스 및 드레인 중 다른 쪽은 노드(N4)에 접속된다. 용량 소자(523)의 다른 쪽 전극 및 용량 소자(524)의 다른 쪽 전극은 각각 소정 전위가 공급되는 배선에 접속된다. 소정 전위가 공급되는 배선은 고전위 전원선 및 저전위 전원선(예를 들어 접지선)의 어느 쪽이어도 좋다. 또는, 전위가 변화될 수 있는 배선을 사용하여도 좋다. 트랜지스터(521)의 소스 및 드레인 중 한쪽 및 용량 소자(523)의 한쪽 전극에 접속되는 노드를 노드(N6)라고 하고, 트랜지스터(522)의 소스 및 드레인 중 한쪽 및 용량 소자(524)의 한쪽 전극에 접속되는 노드를 노드(N7)라고 한다.
기억 회로(500)에서, 데이터가 유지되는 노드에 상당하는 노드(N4)는 OS 트랜지스터인 트랜지스터(522)를 통하여 노드(N7)에 접속된다. 마찬가지로, 기억 회로(500)에서, 데이터가 유지되는 노드에 상당하는 노드(N5)는 OS 트랜지스터인 트랜지스터(521)를 통하여 노드(N6)에 접속된다. 따라서, SRAM 셀의 구성을 가지는 회로(510)에 유지되는 데이터를 노드(N6) 및 노드(N7)에 저장할 수 있다. 또한, 저장된 데이터는 회로(510)에 복원할 수 있다.
구체적으로, 데이터가 회로(510)에 기록되거나 회로(510)로부터 판독되지 않는 기간에서는, 배선 WE의 전위를 하이 레벨로 설정하여 트랜지스터(521 및 522)를 온으로 함으로써, 노드(N4)에 유지된 데이터 및 노드(N5)에 유지된 데이터는 각각 노드(N7) 및 노드(N6)에 저장될 수 있다. 그 후, 배선 WE의 전위를 로 레벨로 설정하여 트랜지스터(521 및 522)를 오프로 함으로써, 노드(N7 및 N6)의 전위가 유지된다. 그리고, 배선 WE의 전위를 다시 하이 레벨로 설정하여 트랜지스터(521 및 522)를 온으로 함으로써, 노드(N7 및 N6)에 저장된 데이터를 노드(N4 및 N5)에 복원할 수 있다. 고전원 전위 VDD를 데이터 저장 시에 하이로, 데이터 복원 시에 로로 함으로써, 데이터의 저장 및 복원을 더 안정적으로 수행할 수 있다.
여기서, 트랜지스터(521 및 522)는 OS 트랜지스터이고 매우 낮은 오프 상태 전류를 가진다. 그러므로, 트랜지스터(521 및 522)가 오프 상태일 때, 노드(N6)의 전위 및 노드(N7)의 전위는 장시간 유지될 수 있다. 따라서, 기억 회로(500)로의 전력 공급이 정지되기 직전에 노드(N4 및 N5)에서 유지된 데이터를 노드(N6 및 N7)에 저장함으로써, 기억 회로(500)로의 전력 공급이 정지되더라도 기억 회로(500)에 기억된 데이터를 유지할 수 있다. 기억 회로(500)로의 전력 공급이 재개된 후에, 노드(N6 및 N7)에 유지된 데이터를 노드(N4 및 N5)에 복원할 수 있다.
기억 회로(500)가 SRAM 셀의 구성을 가지기 때문에, 트랜지스터(511 내지 516)는 고속으로 동작하는 것이 요구된다. 그러므로, 채널 형성 영역에 실리콘을 포함하는 트랜지스터(이하에서 Si 트랜지스터라고도 함) 등은 트랜지스터(511 내지 516)로서 사용되는 것이 바람직하다.
또한, 기억 회로(500)에 전력이 공급되고 회로(510)가 SRAM 셀로서 동작하는 기간에서는, 트랜지스터(521 및 522)는 오프 상태인 것이 바람직하다. 이것은 회로(510)의 고속 동작에 대한 저해를 방지할 수 있다.
도 12에는 회로(520)가 트랜지스터(521 및 522) 및 용량 소자(523 및 524)를 포함하는 예가 도시되었지만, 트랜지스터(521) 및 용량 소자(523)는 생략되어도 좋고 또는 트랜지스터(522) 및 용량 소자(524)는 생략되어도 좋다.
도 12에서, 휘발성 메모리 셀인, 6개의 트랜지스터를 포함하는 SRAM 셀이 회로(520)로서 사용되지만, 상기 구성은 이에 한정되지 않고, 다른 휘발성 메모리 셀을 회로(520)로서 사용하여도 좋다. 6개의 트랜지스터를 포함하는 SRAM 셀과 다른 휘발성 메모리 셀을 사용하는 경우에도, 도 12에서와 같이 휘발성 메모리 셀에 접속되는 OS 트랜지스터 및 용량 소자가 데이터를 저장 및 복원하는 것이 가능하다.
상술한 식으로, 기억 회로(500)에서, 회로(510)에 저장된 데이터는 회로(520)에 저장되고 회로(520)에 의하여 유지되기 때문에, 전력이 기억 회로(500)에 공급되지 않는 기간에서도 데이터를 유지할 수 있다. 또한, 전력 공급이 재개된 후에는, 회로(520)에 의하여 유지된 데이터를 회로(510)에 복원할 수 있다. 따라서, 기억 회로(500)로의 전력 공급을 데이터 유지 기간에서 정지할 수 있어, 소비전력을 저감시킬 수 있다.
또한, OS 트랜지스터는 Si 트랜지스터 위에 적층할 수 있다. 그러므로, 회로(520)는 회로(510) 위에 적층할 수 있다. 따라서, 기억 회로(500)의 면적의 확대를 억제할 수 있다.
[구성의 예 4]
본 실시형태에서 설명하는 OS 트랜지스터는 한 쌍의 게이트를 포함하여도 좋다. 도 9의 (A) 및 (B) 각각에 도시된 회로(310)를 예로서 들어, OS 트랜지스터에 한 쌍의 게이트가 제공된 구성을 도 13의 (A) 및 (B)에 도시하였다. 또한, 트랜지스터에서의 한 쌍의 게이트 중 한쪽을 프런트 게이트 또는 단순히 게이트라고 하고, 다른 쪽을 백 게이트라고 할 수 있다.
도 13의 (A)에 도시된 트랜지스터(311)는 프런트 게이트에 접속되는 백 게이트를 포함한다. 이 경우, 프런트 게이트의 전위는 백 게이트의 전위와 동등하다.
도 13의 (B)에 도시된 트랜지스터(311)는 배선 BGL에 접속되는 백 게이트를 포함한다. 배선 BGL은 백 게이트에 소정 전위를 공급하는 기능을 가진다. 배선 BGL의 전위를 제어함으로써 트랜지스터(311)의 문턱 전압을 제어할 수 있다. 배선 BGL은 행 드라이버 회로(235)에 접속될 수 있다(도 7 참조). 배선 BGL의 전위는 행 드라이버 회로(235)에 의하여 제어될 수 있다. 또한, 배선 BGL은 같은 행에서 회로(310)에 의하여 공유된다.
도 13의 (A) 및 (B)에서 회로(310)의 트랜지스터(311)에 백 게이트가 제공되는 예를 도시하였지만, 본 실시형태에서의 OS 트랜지스터 중 임의의 것에 마찬가지로 백 게이트를 제공할 수 있다.
상술한 바와 같이, 본 발명의 일 형태에서 OS 트랜지스터를 컨피규레이션 메모리에 사용함으로써 PLD의 면적의 축소 및 소비전력의 저감이 가능해진다.
본 실시형태는 다른 실시형태 중 임의의 것과 적절히 조합할 수 있다.
<본 명세서 등의 설명에 관한 부기>
본 명세서 등에서 "제 1", "제 2", 및 "제 3" 등의 서수사는 구성 요소 간의 혼동을 피하기 위하여 사용된다. 따라서, 상기 용어들은 구성 요소의 개수 또는 순서를 한정하지 않는다.
또한, 본 명세서 등의 블록도에서는, 구성 요소를 기능마다 분류하고 서로 독립된 블록으로서 나타내었다. 그러나, 실제의 회로 등에서는, 그런 구성 요소를 기능마다 분류하기가 어려울 때가 있고, 하나의 회로에 복수의 기능이 관련되는 경우, 또는 복수의 회로에 하나의 기능이 관련되는 경우가 있다. 따라서, 블록도의 블록은 반드시 명세서에서 설명한 구성 요소를 나타내는 것은 아니고, 상황에 따라 적절히 다른 용어로 설명할 수 있다.
도면에 있어서, 같은 요소 또는 비슷한 기능을 가지는 요소, 같은 재료를 사용하여 형성되는 요소, 또는 동시에 형성되는 요소 등을 같은 부호로 나타내고, 그 설명을 반복하지 않는 경우가 있다.
본 명세서 등에서는 "소스 및 드레인 중 한쪽"(또는 제 1 전극 또는 제 1 단자) 및 "소스 및 드레인 중 다른 쪽"(또는 제 2 전극 또는 제 2 단자)이라는 용어를 사용하여 트랜지스터의 접속 관계를 설명한다. 이는, 트랜지스터의 소스 및 드레인이 트랜지스터의 구조 또는 동작 조건 등에 따라 서로 바뀌기 때문이다. 또한, 트랜지스터의 소스 또는 드레인은 상황에 따라 적절히 소스(또는 드레인) 단자 또는 소스(또는 드레인) 전극 등이라고 할 수도 있다.
본 명세서 등에서, "전압" 및 "전위"는 서로 교체될 수 있다. "전압"이라는 용어는 기준 전위로부터의 전위차를 말한다. 기준 전위가 접지 전위인 경우에는 예를 들어, "전압"을 "전위"로 바꿀 수 있다. 접지 전위는 반드시 0V를 의미하지는 않는다. 전위는 상대적인 값이며, 기준 전위에 따라서는 배선 등에 인가되는 전위가 변화되는 경우가 있다.
본 명세서 등에서 스위치는, 도통(온 상태) 또는 비도통(오프 상태)이 되어 전류를 흘릴지 여부를 결정한다. 또는, 스위치는 전류 경로를 선택하고 전환하는 기능을 가진다.
스위치의 예에는 전기적 스위치 및 기계적인 스위치 등이 있다. 즉, 전류를 제어할 수 있기만 하면, 특정의 소자에 한정되지 않고, 임의의 소자를 스위치로서 사용할 수 있다.
트랜지스터를 스위치로서 사용하는 경우, 트랜지스터의 "온 상태"란, 트랜지스터의 소스와 드레인이 전기적으로 단락되어 있는 상태를 말한다. 또한, 트랜지스터의 "오프 상태"란, 트랜지스터의 소스와 드레인이 전기적으로 단절된 상태를 말한다. 트랜지스터가 단순히 스위치로서 동작하는 경우에는, 트랜지스터의 극성(도전형)은 특정의 것에 특별히 한정되지 않는다.
본 명세서 등에서 "AB가 서로 접속된다"라고 기재될 때, AB가 서로 직접 접속되는 경우에 더하여, A와 B가 서로 전기적으로 접속되는 경우가 포함된다. 여기서, "A와 B가 접속된다"라는 표현은, A와 B 사이에 어떠한 전기적 작용을 가지는 물체가 존재할 때 A와 B 사이에서 전기 신호가 송수신될 수 있는 것을 의미한다.
N1: 노드, N2: 노드, N3: 노드, N4: 노드, N5: 노드, N6: 노드, N7: 노드, power 1: 신호, power 2: 신호, ROM3: ROM, SEN3: SEN, T0: 시각, T1: 시각, T2: 시각, T3: 시각, T4: 시각, T5: 시각, T6: 시각, T7: 시각, T8: 시각, T9: 시각, 10: 전원 도메인, 11: CPU, 12: 메모리, 13: 버스, 20: 전원 도메인, 21: PLD(programmable logic device), 21A: PLD, 21B: PLD, 22: 프로그래머블 영역, 23: 프로그래머블 영역, 24: 제어 회로, 25: 비트선 구동 회로, 26: 워드선 구동 회로, 30: 전원 도메인, 31: 전원 제어 유닛, 32: 상태 제어 회로, 51: 멀티플렉서, 52A: 컨피규레이션 ROM, 52C: 컨피규레이션 ROM, 53: 멀티플렉서, 54A: 센서 모듈, 54C: 센서 모듈, 60: 상태, 61: 상태, 62: 상태, 63: 상태, 64: 상태, 65: 상태, 66: 상태, 67: 상태, 68: 상태, 69: 상태, 70: 상태, 200: PLD, 211: LA(로직 어레이), 212: LA, 221: SWA(스위치 어레이), 223: SWA, 224: IOA(입출력 어레이), 225: IOA, 230: 클럭 신호 생성기, 231: 컨피규레이션 컨트롤러, 232: 컨텍스트 컨트롤러, 234: 열 드라이버 회로, 235: 행 드라이버 회로, 240: LE, 250: 컨피규레이션 메모리부, 260: LCELL, 261: 회로군, 262: LUT(룩업 테이블), 263: 캐리 로직, 265: FF, 280: RS, 300: 기억 회로, 310: 회로, 311: 트랜지스터, 312: 트랜지스터, 313: 트랜지스터, 314: 용량 소자, 315: 회로, 400: 기억 회로, 410: 회로, 411: 트랜지스터, 412: 트랜지스터, 413: 용량 소자, 414: 트랜지스터, 415: 트랜지스터, 416: 용량 소자, 417: 트랜지스터, 418: 회로, 419: 회로, 420: 회로, 421: 인버터, 422: 트랜지스터, 500: 기억 회로, 510: 회로, 511: 트랜지스터, 512: 트랜지스터, 513: 트랜지스터, 514: 트랜지스터, 515: 트랜지스터, 516: 트랜지스터, 520: 회로, 521: 트랜지스터, 522: 트랜지스터, 523: 용량 소자, 및 524: 용량 소자.
본 출원은 2016년 8월 19일에 일본 특허청에 출원된 일련 번호 2016-161049의 일본 특허 출원에 기초하고, 본 명세서에 그 전문이 참조로 통합된다.

Claims (16)

  1. 반도체 장치의 제어 방법으로서,
    프로그래머블 로직 디바이스(PLD: programmable logic device)의 비휘발성 기억 회로에 제 1 데이터를 입력하는 단계;
    프로세서에 따라 상태 제어 회로에 제 2 데이터를 유지하는 단계;
    상기 상태 제어 회로에 의하여 상기 프로그래머블 로직 디바이스의 태스크의 진행 상태를 검출하는 단계;
    상기 프로그래머블 로직 디바이스의 상기 태스크의 진행 상태에 대응하는 신호를 상기 상태 제어 회로에 입력하는 단계; 및
    상기 프로그래머블 로직 디바이스의 상기 태스크의 종료 후에 상기 프로그래머블 로직 디바이스를 오프로 하는 단계
    를 포함하고,
    상기 제 1 데이터는 상기 프로그래머블 로직 디바이스를 오프로 하는 단계 전에 상기 프로그래머블 로직 디바이스의 연산 처리에 의하여 취득되고,
    상기 제 2 데이터는 상기 프로그래머블 로직 디바이스의 상기 태스크의 상태에 대응하는, 반도체 장치의 제어 방법.
  2. 제 1 항에 있어서,
    상기 비휘발성 기억 회로는 상기 프로그래머블 로직 디바이스의 레지스터에 포함되는, 반도체 장치의 제어 방법.
  3. 제 1 항에 있어서,
    상기 프로그래머블 로직 디바이스의 레지스터는 휘발성 기억 회로를 더 포함하는, 반도체 장치의 제어 방법.
  4. 제 1 항에 있어서,
    상기 프로세서는 버스를 통하여 상기 비휘발성 기억 회로에 접속하는, 반도체 장치의 제어 방법.
  5. 제 1 항에 있어서,
    상기 비휘발성 기억 회로는 플래시 메모리, 강유전체 랜덤 액세스 메모리(FeRAM), 자기 저항 랜덤 액세스 메모리(MRAM), 상변화 랜덤 액세스 메모리(PRAM), 저항 랜덤 액세스 메모리(ReRAM), 및 산화물 반도체를 포함하는 트랜지스터 중 어느 하나를 포함하는, 반도체 장치의 제어 방법.
  6. 제 1 항에 있어서,
    상기 프로그래머블 로직 디바이스는 제 1 프로그래머블 영역 및 제 2 프로그래머블 영역을 포함하고,
    상기 제 1 프로그래머블 영역은 상기 태스크의 진행 상태를 검출하는 회로 구성을 가지고,
    상기 제 2 프로그래머블 영역은 상기 태스크에 기초한 연산 처리가 수행되는 회로 구성을 가지는, 반도체 장치의 제어 방법.
  7. 반도체 장치의 제어 방법으로서,
    프로그래머블 로직 디바이스의 제 1 비휘발성 기억 회로에 제 1 데이터를 입력하는 단계;
    프로세서의 제 2 비휘발성 기억 회로에 제 2 데이터를 입력하는 단계;
    프로세서의 명령에 따라 상태 제어 회로에 제 3 데이터를 유지하는 단계;
    상기 상태 제어 회로에 의하여 상기 프로그래머블 로직 디바이스의 태스크의 진행 상태를 검출하는 단계;
    상기 프로그래머블 로직 디바이스의 상기 태스크의 진행 상태에 대응하는 신호를 상기 상태 제어 회로에 입력하는 단계;
    상기 프로그래머블 로직 디바이스의 상기 태스크의 종료 후에 상기 프로그래머블 로직 디바이스를 오프로 하는 단계; 및
    상기 프로세서의 상기 명령의 종료 후에 전원 제어 유닛에 의하여 상기 프로세서를 오프로 하는 단계
    를 포함하고,
    상기 제 1 데이터는 상기 프로그래머블 로직 디바이스를 오프로 하는 단계 전에 상기 프로그래머블 로직 디바이스의 연산 처리에 의하여 취득되고,
    상기 제 2 데이터는 상기 프로세서를 오프로 하는 단계 전에 상기 프로세서의 연산 처리에 의하여 취득되고,
    상기 제 3 데이터는 상기 프로그래머블 로직 디바이스의 상기 태스크의 상태에 대응하는, 반도체 장치의 제어 방법.
  8. 제 7 항에 있어서,
    상기 제 1 비휘발성 기억 회로는 상기 프로그래머블 로직 디바이스의 레지스터에 포함되는, 반도체 장치의 제어 방법.
  9. 제 7 항에 있어서,
    상기 프로세서는 버스를 통하여 상기 제 1 비휘발성 기억 회로에 접속하는, 반도체 장치의 제어 방법.
  10. 제 7 항에 있어서,
    상기 프로그래머블 로직 디바이스는 제 1 프로그래머블 영역 및 제 2 프로그래머블 영역을 포함하고,
    상기 제 1 프로그래머블 영역은 상기 태스크의 진행 상태를 검출하는 회로 구성을 가지고,
    상기 제 2 프로그래머블 영역은 상기 태스크에 기초한 연산 처리가 수행되는 회로 구성을 가지는, 반도체 장치의 제어 방법.
  11. 반도체 장치의 제어 방법으로서,
    프로그래머블 로직 디바이스의 태스크가 종료되면 상태 제어 회로에 제 1 신호를 입력하는 단계;
    상기 제 1 신호를 입력한 후, 프로그래머블 로직 디바이스의 비휘발성 기억 회로에 제 1 데이터를 입력하는 단계;
    상기 제 1 데이터를 입력한 후, 프로세서에 의하여 상기 프로그래머블 로직 디바이스를 오프로 하기 위하여 제 2 신호를 출력하는 단계
    를 포함하고,
    상기 제 1 데이터는 상기 프로그래머블 로직 디바이스의 상기 태스크에 의하여 취득되는, 반도체 장치의 제어 방법.
  12. 제 11 항에 있어서,
    상기 상태 제어 회로는 상기 상태 제어 회로의 레지스터에 상기 제 1 신호를 유지하는, 반도체 장치의 제어 방법.
  13. 제 12 항에 있어서,
    상기 프로세서는 버스를 통하여 상기 상태 제어 회로의 상기 레지스터에 접속하는, 반도체 장치의 제어 방법.
  14. 제 11 항에 있어서,
    상기 프로세서는 상기 프로그래머블 로직 디바이스가 상기 프로그래머블 로직 디바이스의 상기 태스크를 시작할 때 제 3 신호를 수신하는, 반도체 장치의 제어 방법.
  15. 제 11 항에 있어서,
    상기 프로그래머블 로직 디바이스의 레지스터는 상기 비휘발성 기억 회로 및 휘발성 기억 회로를 포함하는, 반도체 장치의 제어 방법.
  16. 제 11 항에 있어서,
    상기 비휘발성 기억 회로는 플래시 메모리, 강유전체 랜덤 액세스 메모리, 자기 저항 랜덤 액세스 메모리, 상변화 랜덤 액세스 메모리, 저항 랜덤 액세스 메모리, 및 산화물 반도체를 포함하는 트랜지스터 중 어느 하나를 포함하는, 반도체 장치의 제어 방법.
KR1020197004755A 2016-08-19 2017-08-10 반도체 장치의 전원 제어 방법 KR102420735B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2016161049 2016-08-19
JPJP-P-2016-161049 2016-08-19
PCT/IB2017/054876 WO2018033834A1 (en) 2016-08-19 2017-08-10 Method for controlling power supply in semiconductor device

Publications (2)

Publication Number Publication Date
KR20190039149A true KR20190039149A (ko) 2019-04-10
KR102420735B1 KR102420735B1 (ko) 2022-07-14

Family

ID=61191658

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197004755A KR102420735B1 (ko) 2016-08-19 2017-08-10 반도체 장치의 전원 제어 방법

Country Status (6)

Country Link
US (2) US10564698B2 (ko)
JP (1) JP7073060B2 (ko)
KR (1) KR102420735B1 (ko)
CN (1) CN109565280B (ko)
DE (1) DE112017004148T5 (ko)
WO (1) WO2018033834A1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6006789B2 (ja) * 2011-06-03 2016-10-12 ▲蘇▼州宝▲時▼得▲電▼▲動▼工具有限公司 電池
US10276578B2 (en) * 2017-06-25 2019-04-30 United Microelectronics Corp. Dynamic oxide semiconductor random access memory(DOSRAM) having a capacitor electrically connected to the random access memory (SRAM)
JP7109973B2 (ja) * 2018-04-13 2022-08-01 株式会社半導体エネルギー研究所 半導体装置
JP2020155177A (ja) 2019-03-19 2020-09-24 キオクシア株式会社 半導体装置
CN113126734B (zh) * 2021-04-14 2022-11-22 武汉瑞纳捷半导体有限公司 一种单总线芯片的电源电路

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120170355A1 (en) 2011-01-05 2012-07-05 Semiconductor Energy Laboratory Co., Ltd. Storage element, storage device, and signal processing circuit
US20140126271A1 (en) 2012-11-06 2014-05-08 Semiconductor Energy Laboratory Co., Ltd. Semiconductor device and driving method thereof

Family Cites Families (100)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4870302A (en) 1984-03-12 1989-09-26 Xilinx, Inc. Configurable electrical circuit having configurable logic elements and configurable interconnects
US4609986A (en) 1984-06-14 1986-09-02 Altera Corporation Programmable logic array device using EPROM technology
US4642487A (en) 1984-09-26 1987-02-10 Xilinx, Inc. Special interconnect for configurable logic array
US4896296A (en) 1985-03-04 1990-01-23 Lattice Semiconductor Corporation Programmable logic device configurable input/output cell
JPH0731908B2 (ja) 1985-10-09 1995-04-10 株式会社東芝 半導体記憶装置
US4885719A (en) 1987-08-19 1989-12-05 Ict International Cmos Technology, Inc. Improved logic cell array using CMOS E2 PROM cells
US5343406A (en) 1989-07-28 1994-08-30 Xilinx, Inc. Distributed memory architecture for a configurable logic array and method for using distributed memory
JP3922653B2 (ja) 1993-03-17 2007-05-30 ゲイトフィールド・コーポレイション ランダムアクセスメモリ(ram)ベースのコンフィギュラブルアレイ
US5789942A (en) 1995-09-07 1998-08-04 Nec Corporation High speed signal level converting circuit having a reduced consumed electric power
JP4103968B2 (ja) 1996-09-18 2008-06-18 株式会社半導体エネルギー研究所 絶縁ゲイト型半導体装置
JP3106998B2 (ja) 1997-04-11 2000-11-06 日本電気株式会社 メモリ付加型プログラマブルロジックlsi
US6057707A (en) 1997-06-20 2000-05-02 Altera Corporation Programmable logic device incorporating a memory efficient interconnection device
US6097212A (en) 1997-10-09 2000-08-01 Lattice Semiconductor Corporation Variable grain architecture for FPGA integrated circuits
JP3185727B2 (ja) 1997-10-15 2001-07-11 日本電気株式会社 プログラマブル機能ブロック
JP4493741B2 (ja) 1998-09-04 2010-06-30 株式会社半導体エネルギー研究所 半導体装置の作製方法
KR100317331B1 (ko) 1999-11-11 2001-12-24 박종섭 불휘발성 강유전체 메모리 소자 및 그 제조방법
KR100516693B1 (ko) 2003-04-02 2005-09-22 주식회사 하이닉스반도체 불휘발성 프로그래머블 로직 회로
US6384628B1 (en) 2000-03-31 2002-05-07 Cypress Semiconductor Corp. Multiple voltage supply programmable logic device
DE60039587D1 (de) 2000-05-31 2008-09-04 St Microelectronics Srl Schaltungsanordnung zum Programmieren von Daten in Referenzzellen einer nichtflüchtigen Multibitspeicheranordnung
TW463393B (en) 2000-08-25 2001-11-11 Ind Tech Res Inst Structure of organic light emitting diode display
JP4014801B2 (ja) 2000-12-28 2007-11-28 株式会社ルネサステクノロジ 不揮発性メモリ装置
KR100394574B1 (ko) 2001-04-10 2003-08-14 삼성전자주식회사 워드라인 결함 체크회로를 구비한 불휘발성 반도체메모리장치
US6631146B2 (en) 2001-07-06 2003-10-07 Intel Corporation Tunable laser control system
EP1324495B1 (en) 2001-12-28 2011-03-30 Fujitsu Semiconductor Limited Programmable logic device with ferrroelectric configuration memories
US6809425B1 (en) 2003-08-15 2004-10-26 Silicon Storage Technology, Inc. Integrated circuit with a reprogrammable nonvolatile switch having a dynamic threshold voltage (VTH) for selectively connecting a source for a signal to a circuit
US6756632B1 (en) 2003-08-15 2004-06-29 Silicon Storage Technology, Inc. Integrated circuit with a reprogrammable nonvolatile switch for selectively connecting a source for a signal to a circuit
US6834009B1 (en) 2003-08-15 2004-12-21 Silicon Storage Technology, Inc. Integrated circuit with a three transistor reprogrammable nonvolatile switch for selectively connecting a source for a signal to a circuit
US7221580B1 (en) 2003-08-27 2007-05-22 Analog Devices, Inc. Memory gain cell
US7098689B1 (en) 2003-09-19 2006-08-29 Xilinx, Inc. Disabling unused/inactive resources in programmable logic devices for static power reduction
US6940307B1 (en) 2003-10-22 2005-09-06 Altera Corporation Integrated circuits with reduced standby power consumption
JP2005157620A (ja) 2003-11-25 2005-06-16 Matsushita Electric Ind Co Ltd 半導体集積回路
JP4398281B2 (ja) 2004-02-27 2010-01-13 富士重工業株式会社 データ記録装置およびデータ記録装置のシャットダウン方法
JP2005346819A (ja) 2004-06-02 2005-12-15 Renesas Technology Corp 半導体装置
JP2006107127A (ja) 2004-10-05 2006-04-20 Nec Electronics Corp 半導体集積回路装置
US7863611B2 (en) 2004-11-10 2011-01-04 Canon Kabushiki Kaisha Integrated circuits utilizing amorphous oxides
US20060119382A1 (en) 2004-12-07 2006-06-08 Shumarayev Sergey Y Apparatus and methods for adjusting performance characteristics of programmable logic devices
JP4560502B2 (ja) 2005-09-06 2010-10-13 キヤノン株式会社 電界効果型トランジスタ
JP5078246B2 (ja) 2005-09-29 2012-11-21 株式会社半導体エネルギー研究所 半導体装置、及び半導体装置の作製方法
EP1995787A3 (en) 2005-09-29 2012-01-18 Semiconductor Energy Laboratory Co, Ltd. Semiconductor device having oxide semiconductor layer and manufacturing method therof
CN101313470B (zh) 2005-11-25 2010-09-22 松下电器产业株式会社 逻辑块控制系统及逻辑块控制方法
US7486111B2 (en) 2006-03-08 2009-02-03 Tier Logic, Inc. Programmable logic devices comprising time multiplexed programmable interconnect
US8599111B2 (en) 2006-03-10 2013-12-03 Canon Kabushiki Kaisha Driving circuit of display element and image display apparatus
US7689821B2 (en) * 2006-03-30 2010-03-30 Agere Systems Inc. Processor with configurable association between interface signal lines and clock domains
US7797664B2 (en) 2006-06-23 2010-09-14 National Institute Of Advanced Industrial Science And Technology System for configuring an integrated circuit and method thereof
JP4332545B2 (ja) 2006-09-15 2009-09-16 キヤノン株式会社 電界効果型トランジスタ及びその製造方法
US7800400B2 (en) 2007-01-12 2010-09-21 Altera Corporation Configuration random access memory
JP5196870B2 (ja) 2007-05-23 2013-05-15 キヤノン株式会社 酸化物半導体を用いた電子素子及びその製造方法
US7620926B1 (en) 2007-03-20 2009-11-17 Xilinx, Inc. Methods and structures for flexible power management in integrated circuits
US8429749B2 (en) * 2007-03-27 2013-04-23 National Institute Of Advanced Industrial Science And Technology Packet data comparator as well as virus filter, virus checker and network system using the same
JP5197058B2 (ja) 2007-04-09 2013-05-15 キヤノン株式会社 発光装置とその作製方法
JP5414161B2 (ja) 2007-08-10 2014-02-12 キヤノン株式会社 薄膜トランジスタ回路、発光表示装置と及びそれらの駆動方法
WO2009034953A1 (ja) 2007-09-10 2009-03-19 Idemitsu Kosan Co., Ltd. 薄膜トランジスタ
WO2009063584A1 (ja) 2007-11-13 2009-05-22 Panasonic Corporation プログラマブルデバイス、デバイス制御方法及び情報処理システム
US7652502B2 (en) 2007-12-29 2010-01-26 Unity Semiconductor Corporation Field programmable gate arrays using resistivity sensitive memories
US7816947B1 (en) 2008-03-31 2010-10-19 Man Wang Method and apparatus for providing a non-volatile programmable transistor
US7852114B2 (en) 2008-08-14 2010-12-14 Nantero, Inc. Nonvolatile nanotube programmable logic devices and a nonvolatile nanotube field programmable gate array using same
JP5781720B2 (ja) 2008-12-15 2015-09-24 ルネサスエレクトロニクス株式会社 半導体装置及び半導体装置の製造方法
US7973556B1 (en) 2009-03-05 2011-07-05 Xilinx, Inc. System and method for using reconfiguration ports for power management in integrated circuits
US8072237B1 (en) 2009-06-04 2011-12-06 Altera Corporation Computer-aided design tools and memory element power supply circuitry for selectively overdriving circuit blocks
KR101903918B1 (ko) 2009-10-16 2018-10-02 가부시키가이샤 한도오따이 에네루기 켄큐쇼 논리 회로 및 반도체 장치
KR101996773B1 (ko) 2009-10-21 2019-07-04 가부시키가이샤 한도오따이 에네루기 켄큐쇼 반도체 장치
KR20220153647A (ko) 2009-10-29 2022-11-18 가부시키가이샤 한도오따이 에네루기 켄큐쇼 반도체 장치
EP2526622B1 (en) 2010-01-20 2015-09-23 Semiconductor Energy Laboratory Co. Ltd. Semiconductor device
US20120017035A1 (en) * 2010-07-16 2012-01-19 Plx Technology, Inc. Runtime reprogramming of a processor code space memory area
KR101899880B1 (ko) 2011-02-17 2018-09-18 가부시키가이샤 한도오따이 에네루기 켄큐쇼 프로그래머블 lsi
US8667192B2 (en) 2011-02-28 2014-03-04 Xilinx, Inc. Integrated circuit with programmable circuitry and an embedded processor system
JP5879165B2 (ja) 2011-03-30 2016-03-08 株式会社半導体エネルギー研究所 半導体装置
WO2012157532A1 (en) 2011-05-16 2012-11-22 Semiconductor Energy Laboratory Co., Ltd. Programmable logic device
US9673823B2 (en) 2011-05-18 2017-06-06 Semiconductor Energy Laboratory Co., Ltd. Semiconductor device and method of driving semiconductor device
US8779799B2 (en) 2011-05-19 2014-07-15 Semiconductor Energy Laboratory Co., Ltd. Logic circuit
US8581625B2 (en) 2011-05-19 2013-11-12 Semiconductor Energy Laboratory Co., Ltd. Programmable logic device
JP5820336B2 (ja) 2011-05-20 2015-11-24 株式会社半導体エネルギー研究所 半導体装置
US9762246B2 (en) 2011-05-20 2017-09-12 Semiconductor Energy Laboratory Co., Ltd. Semiconductor device with a storage circuit having an oxide semiconductor
US8760193B2 (en) * 2011-07-01 2014-06-24 Tabula, Inc. Configurable storage elements
JP5795921B2 (ja) * 2011-09-21 2015-10-14 株式会社東芝 Icカード、携帯可能電子装置、icカードの制御方法
JP5899748B2 (ja) * 2011-09-27 2016-04-06 セイコーエプソン株式会社 媒体処理装置、及び、媒体処理装置の制御方法
JP6125850B2 (ja) 2012-02-09 2017-05-10 株式会社半導体エネルギー研究所 半導体装置及び半導体装置の作製方法
JP5876752B2 (ja) * 2012-03-12 2016-03-02 ルネサスエレクトロニクス株式会社 半導体装置及び携帯端末装置
US9372694B2 (en) * 2012-03-29 2016-06-21 Semiconductor Energy Laboratory Co., Ltd. Reducing data backup and recovery periods in processors
US9654107B2 (en) 2012-04-27 2017-05-16 Semiconductor Energy Laboratory Co., Ltd. Programmable LSI
US9285848B2 (en) * 2012-04-27 2016-03-15 Semiconductor Energy Laboratory Co., Ltd. Power reception control device, power reception device, power transmission and reception system, and electronic device
SG10201608665WA (en) 2012-05-02 2016-12-29 Semiconductor Energy Lab Co Ltd Programmable logic device
US9571103B2 (en) 2012-05-25 2017-02-14 Semiconductor Energy Laboratory Co., Ltd. Lookup table and programmable logic device including lookup table
CN104321967B (zh) 2012-05-25 2018-01-09 株式会社半导体能源研究所 可编程逻辑装置及半导体装置
JP6377317B2 (ja) 2012-05-30 2018-08-22 株式会社半導体エネルギー研究所 プログラマブルロジックデバイス
US10127569B2 (en) * 2012-07-06 2018-11-13 Oracle International Corporation Service design and order fulfillment system with service order design and assign provider function
JP2014032723A (ja) 2012-08-03 2014-02-20 Toshiba Corp プログラマブル一致判定機能を備えた回路、それを備えたlut回路、それを備えたmux回路、それを備えたfpga装置、およびデータ書込方法
JP2014052918A (ja) * 2012-09-07 2014-03-20 Canon Inc 演算装置およびその制御方法
JP6254834B2 (ja) 2012-12-06 2017-12-27 株式会社半導体エネルギー研究所 半導体装置
US9286985B2 (en) * 2013-02-12 2016-03-15 Kabushiki Kaisha Toshiba Semiconductor device with power mode transitioning operation
KR102112367B1 (ko) 2013-02-12 2020-05-18 가부시키가이샤 한도오따이 에네루기 켄큐쇼 반도체 장치
JP6368155B2 (ja) 2013-06-18 2018-08-01 株式会社半導体エネルギー研究所 プログラマブルロジックデバイス
US9379713B2 (en) 2014-01-17 2016-06-28 Semiconductor Energy Laboratory Co., Ltd. Data processing device and driving method thereof
JP6036719B2 (ja) 2014-01-30 2016-11-30 コニカミノルタ株式会社 プログラム可能な論理回路デバイスを備えた電子装置および書き換え方法
CN105960633B (zh) 2014-02-07 2020-06-19 株式会社半导体能源研究所 半导体装置、装置及电子设备
US10055232B2 (en) 2014-02-07 2018-08-21 Semiconductor Energy Laboratory Co., Ltd. Semiconductor device comprising memory circuit
JP2015215706A (ja) * 2014-05-08 2015-12-03 株式会社東芝 Icカード発行用データ処理装置、icカード発行装置、icカード発行システム、icカード発行用データ処理プログラム、icカード発行プログラム
US20160132099A1 (en) * 2014-11-10 2016-05-12 Novi Security, Inc. Security Sensor Power Management
JP6418980B2 (ja) 2015-03-02 2018-11-07 倉敷化工株式会社 リンクブラケット
JP2017135698A (ja) 2015-12-29 2017-08-03 株式会社半導体エネルギー研究所 半導体装置、コンピュータ及び電子機器

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120170355A1 (en) 2011-01-05 2012-07-05 Semiconductor Energy Laboratory Co., Ltd. Storage element, storage device, and signal processing circuit
US20140126271A1 (en) 2012-11-06 2014-05-08 Semiconductor Energy Laboratory Co., Ltd. Semiconductor device and driving method thereof

Also Published As

Publication number Publication date
WO2018033834A1 (en) 2018-02-22
US10564698B2 (en) 2020-02-18
KR102420735B1 (ko) 2022-07-14
JP2018033132A (ja) 2018-03-01
CN109565280A (zh) 2019-04-02
JP7073060B2 (ja) 2022-05-23
DE112017004148T5 (de) 2019-05-23
US11281285B2 (en) 2022-03-22
US20200183483A1 (en) 2020-06-11
CN109565280B (zh) 2023-02-17
US20180052508A1 (en) 2018-02-22

Similar Documents

Publication Publication Date Title
KR102420735B1 (ko) 반도체 장치의 전원 제어 방법
US10049740B2 (en) Memory circuit with a bistable circuit and a non-volatile element
US11676660B2 (en) Static random access memory with a supplementary driver circuit and method of controlling the same
JP3711459B2 (ja) 不揮発性メモリ回路の駆動方法
JP6404326B2 (ja) 抵抗変化型記憶素子のデータ書き込み装置
US20150348623A1 (en) Apparatuses and methods for detecting write completion for resistive memory
JP6697015B2 (ja) 1t1d dramセル並びにdramのためのアクセス方法及び関連する装置
CN106997775B (zh) 半导体存储器及其操作方法
US10229725B2 (en) Semiconductor device capable of reducing power consumption
WO2015023290A1 (en) Memory cell with retention using resistive memory
JP5234547B2 (ja) 電子回路
JP2010192053A (ja) 半導体記憶装置
TW201528264A (zh) 存儲器單元和存儲裝置
JP6192209B2 (ja) ワードレベルのパワーゲーティングを有するメモリ
US7705627B1 (en) Semiconductor device using power gating
US20160099074A1 (en) Fuse circuit and semiconductor apparatus including the same
US8405443B2 (en) Pass transistor circuit with memory function, and switching box circuit including the pass transistor circuit
US10867646B2 (en) Bit line logic circuits and methods
US20150008970A1 (en) Period signal generation circuit
JP6288643B2 (ja) 不揮発性ラッチ回路
CN116612793A (zh) 存储器单元、利用该存储器单元实施的查找表及方法

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant