KR100840030B1 - 프로그래머블 논리 회로 - Google Patents

프로그래머블 논리 회로 Download PDF

Info

Publication number
KR100840030B1
KR100840030B1 KR1020067016161A KR20067016161A KR100840030B1 KR 100840030 B1 KR100840030 B1 KR 100840030B1 KR 1020067016161 A KR1020067016161 A KR 1020067016161A KR 20067016161 A KR20067016161 A KR 20067016161A KR 100840030 B1 KR100840030 B1 KR 100840030B1
Authority
KR
South Korea
Prior art keywords
data
setting information
logic
circuit
unit
Prior art date
Application number
KR1020067016161A
Other languages
English (en)
Other versions
KR20060110362A (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
Priority claimed from JP2004035042A external-priority patent/JP3837135B2/ja
Priority claimed from JP2004035043A external-priority patent/JP3837136B2/ja
Application filed by 마쓰시타 일렉트릭 인더스트리얼 코우.,엘티디. filed Critical 마쓰시타 일렉트릭 인더스트리얼 코우.,엘티디.
Publication of KR20060110362A publication Critical patent/KR20060110362A/ko
Application granted granted Critical
Publication of KR100840030B1 publication Critical patent/KR100840030B1/ko

Links

Images

Classifications

    • 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/17748Structural details of configuration resources
    • H03K19/17752Structural details of configuration resources for hot reconfiguration
    • 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
    • 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/17724Structural details of logic blocks
    • H03K19/17728Reconfigurable logic blocks, e.g. lookup tables
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/17736Structural details of routing resources
    • 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/17748Structural details of configuration resources
    • H03K19/17756Structural details of configuration resources for partial configuration or partial reconfiguration
    • 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/17748Structural details of configuration resources
    • H03K19/1776Structural details of configuration resources for memories
    • 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/1778Structural details for adapting physical parameters
    • H03K19/17796Structural details for adapting physical parameters for physical disposition of blocks

Abstract

프로그래머블 논리 회로(100)의 프로세서 엘리먼트(101)는, 제1의 설정 정보에 기초하여 기능의 변경이 가능하여 입력 신호에 소정의 논리 연산 처리를 행하여 데이터를 생성하는 로직셀(300)과, 제2의 설정 정보에 기초하여 상기 논리 연산 수단으로부터의 상기 데이터의 정렬과 복제와 반전 처리를 행하여 데이터를 생성하는 크로스커넥트 스위치(301)와, 분기용 설정 정보에 기초하여 메모리 장치(102)의 상기 제1 및 제2의 설정 정보의 어느 것인가를 판독하여 상기 논리 연산 수단과 상기 데이터 처리 수단에게 주어 제어하는 메모리 제어부(201)를 가지고 있다. 복수의 단위 논리 회로의 각각은, 메모리 장치(102)로부터 순차적으로 판독하는 상기 제1 및 제2의 설정 정보에 기초하여 로직셀(300)과 크로스커넥트 스위치(301)의 일부 또는 전부의 기능을 순차적으로 변경하여 소정의 순서 회로의 동작을 행한다.

Description

프로그래머블 논리 회로{PROGRAMMABLE LOGIC CIRCUIT}
본 발명은, 프로그램함으로써 소정의 논리 연산의 기능을 실현할 수 있는 프로그래머블 논리 회로에 관한 것으로서, 특히, 동적으로 내부 구성을 변화시키면서 처리하는 다이내믹(dynamic) 프로그래머블 논리 회로에 관한 것이다.
종래의 프로그래머블 논리 회로로서 특허 문헌 1에 기재된 것이 있다. 이 종래의 프로그래머블 논리 회로는, 동적 상호 접속 어레이(array)와 래치(Latch) 회로와 다이내믹 로직 코어(Dynamic Logic core)를 이용하여, 구현해야 할 회로를 단계적으로 실행하는 동적 재구성 가능한 필드 프로그래머블 로직 디바이스(field Programmable Logic device)이다. 상기 종래의 프로그래머블 논리 회로에 있어서는, 대규모 논리 회로를 실현할 경우에, 복수의 상기 프로그래머블 논리 회로를 직렬로 접속하여, 각 레벨의 논리 처리를 순차적으로 실행하도록 하고 있다.
이 경우에, 상기 종래의 프로그래머블 논리 회로에 있어서는, 회로 레벨을 표시하는 회로 레벨 카운터와 내부 레벨을 표시하는 내부 카운터(counter)를 이용하여, 제1 칩의 내부 레벨이 규정 레벨까지 달하면, 다음 칩을 동작시키도록 제어하고 있다. 즉, 상기 종래의 프로그래머블 논리 회로에 있어서는, 칩 단위로 회로 레벨을 분할하여 구현하고 있다.
[특허 문헌 1] 특표 평성 8-510885호 공보
발명이 해결하려고 하는 과제
그렇지만, 종래의 프로그래머블 논리 회로에 있어서는, 보다 대규모의 논리 회로를 실현하려고 하면, 처리 병렬도를 1칩에 수용될 정도로 억제할 필요가 있기 때문에, 처리 시간이 증가하는 문제가 있다. 또, 종래의 프로그래머블 논리 회로에 있어서는, 처리 시간을 단축하기 위해, 단일 칩에 포함되는 다이내믹 로직 모듈(logic module)의 개수를 증가시킴으로써 처리 병렬도를 높이면, 이에 비례하여 동적 상호 접속 어레이의 접속점이 증가하여 필요한 설정 정보가 증대하기때문에, 실장 회로 면적이 증대해 버리는 문제가 있다.
본 발명은, 이러한 점을 고려하여 되어진 것으로서, 높은 면적 효율을 가져, 대규모의 논리 회로를 고속으로 실현할 수 있는 저가격의 프로그래머블 논리 회로를 제공하는 것을 목적으로 한다.
과제를 해결하기 위한 수단
본 발명의 제1의 것은, 병렬로 접속되어 있는 복수의 단위 논리 회로와, 외부로부터 받는 입력 신호를 상기 복수의 단위 논리 회로에 공급하는 입력 신호 제어 수단과, 상기 복수의 단위 논리 회로의 출력 신호를 외부에 공급하는 출력 신호 제어 수단을 구비하고, 상기 복수의 단위 논리 회로의 각각은, 제1의 설정 정보에 기초하여 기능의 변경이 가능하여 상기 입력 신호에 소정의 논리 연산 처리를 행하여 데이터를 생성하는 논리 연산 수단과, 제2의 설정 정보에 기초하여 상기 논리 연산 수단으로부터의 상기 데이터의 정렬과 복제와 반전 처리를 행하여 데이터를 생성해서 상기 출력 신호로서 상기 출력 신호 제어 수단에게 주는 데이터 처리 수단과, 상기 제1 및 제2의 설정 정보를 기억하는 기억 수단과, 분기(分岐)용 설정 정보를 받아 해당 분기용 설정 정보에 기초하여 상기 기억 수단의 상기 제1 및 제2의 설정 정보의 어느 것인가를 판독하여 상기 논리 연산 수단과 상기 데이터 처리 수단에게 주어 제어하는 메모리 제어 수단을 구비하고, 상기 복수의 단위 논리 회로의 각각은, 상기 기억 수단으로부터 순차적으로 판독하는 상기 제1 및 제2의 설정 정보에 기초하여 상기 논리 연산 수단과 상기 데이터 처리 수단의 일부 또는 전부의 기능을 순차적으로 변경하여 소정의 순서 회로의 동작을 행하는 구성을 취한다.
본 발명의 제2의 것은, 병렬로 접속되어 있는 복수의 단위 논리 회로와, 외부로부터 받는 입력 신호를 상기 복수의 단위 논리 회로에 공급하는 입력 신호 제어 수단과, 상기 복수의 단위 논리 회로의 출력 신호를 외부에 공급하는 출력 신호 제어 수단을 구비하고, 상기 복수의 단위 논리 회로의 각각은, 제1의 설정 정보에 기초하여 기능의 변경이 가능하여 상기 입력 신호에 소정의 논리 연산 처리를 행하여 데이터를 생성하는 논리 연산 수단과, 제2의 설정 정보에 기초하여 상기 논리 연산 수단으로부터의 상기 데이터의 정렬과 복제와 반전 처리를 행하여 데이터를 생성해서 상기 출력 신호로서 상기 출력 신호 제어 수단에게 주는 데이터 처리 수단과, 상기 제1및 제2의 설정 정보를 기억하는 기억 수단과, 정지용 설정 정보를 받아 해당 정지용 설정 정보에 기초하여 상기 논리 연산 수단과 상기 데이터 처리 수단의 정지를 제어하는 메모리 제어 수단을 구비하고, 상기 복수의 단위 논리 회로의 각각은, 상기 기억 수단으로부터 순차적으로 판독하는 상기 제1및 제2의 설정 정보에 기초하여 상기 논리 연산 수단과 상기 데이터 처리 수단의 일부 또는 전부의 기능을 순차적으로 변경하여 소정의 순서 회로의 동작을 행하는 구성을 취한다.
본 발명의 제3의 것은, 병렬로 접속되어 있는 복수의 단위 논리 회로와, 외부로부터 받는 입력 신호를 상기 복수의 단위 논리 회로에 공급하는 입력 신호 제어 수단과, 상기 복수의 단위 논리 회로에 있어서의 1의 상기 단위 논리 회로와 해당1의 상기 단위 논리 회로에 대해서 물리적 배치상으로 인접하는 다른 상기 단위 논리 회로를 접속하는 접속 수단과, 상기 복수의 단위 논리 회로의 출력 신호를 외부에 공급하는 출력 신호 제어 수단을 구비하고, 상기 복수의 단위 논리 회로의 각각은, 제1의 설정 정보에 기초하여 기능의 변경이 가능하여 상기 입력 신호 및 인접한 상기 다른 단위 논리 회로로부터의 데이터의 어느 것인가에 소정의 논리 연산 처리를 행하여 데이터를 생성하는 논리 연산 수단과, 제2의 설정 정보에 기초하여 상기 논리 연산 수단으로부터의 상기 데이터의 정렬과 복제와 반전 처리를 행하여 데이터를 생성해서 상기 출력 신호로서 상기 출력 신호 제어 수단에게 주는 데이터 처리 수단과, 상기 제1및 제2의 설정 정보를 기억하는 기억 수단과, 분기용 설정 정보를 받아 해당 분기용 설정 정보에 기초하여 상기 기억 수단의 상기 제1및 제2의 설정 정보의 어느 것인가를 판독하여 상기 논리 연산 수단과 상기 데이터 처리 수단에게 주어 제어하는 메모리 제어 수단을 구비하고, 상기 복수의 단위 논리 회로의 각각은, 상기 기억 수단으로부터 순차적으로 판독하는 상기 제1및 제2의 설정 정보에 기초하여 상기 논리 연산 수단과 상기 데이터 처리 수단의 일부 또는 전부의 기능을 순차적으로 변경하여 소정의 순서 회로의 동작을 행하는 구성을 취한다.
본 발명의 제4의 것은, 병렬로 접속되어 있는 복수의 단위 논리 회로와, 외부로부터 받는 입력 신호를 상기 복수의 단위 논리 회로에 공급하는 입력 신호 제어 수단과, 상기 복수의 단위 논리 회로에 있어서의 1의 상기 단위 논리 회로와 해당1의 상기 단위 논리 회로에 대해서 물리적 배치상으로 인접하는 다른 상기 단위 논리 회로를 접속하는 접속 수단과, 상기 복수의 단위 논리 회로의 출력 신호를 외부로 공급하는 출력 신호 제어 수단을 구비하고, 상기 복수의 단위 논리 회로의 각각은, 제1의 설정 정보에 기초하여 기능의 변경이 가능하여 상기 입력 신호 및 인접한 상기 다른 단위 논리 회로로부터의 데이터의 어느 것인가에 소정의 논리 연산 처리를 행하여 데이터를 생성하는 논리 연산 수단과, 제2의 설정 정보에 기초하여 상기 논리 연산 수단으로부터의 상기 데이터의 정렬과 복제와 반전 처리를 행하여 데이터를 생성해서 상기 출력 신호로서 상기 출력 신호 제어 수단에게 주는 데이터 처리 수단과, 상기 제1 및 제2의 설정 정보를 기억하는 기억 수단과, 정지용 설정 정보를 받아 해당 정지용 설정 정보에 기초하여 상기 논리 연산 수단과 상기 데이터 처리 수단의 정지를 제어하는 메모리 제어 수단을 구비하고, 상기 복수의 단위 논리 회로의 각각은, 상기 기억 수단으로부터 순차적으로 판독하는 상기 제1 및 제2의 설정 정보에 기초하여 상기 논리 연산 수단과 상기 데이터 처리 수단의 일부 또는 전부의 기능을 순차적으로 변경하여 소정의 순서 회로의 동작을 행하는 구성을 취한다.
본 발명의 제5의 것은, 병렬로 접속되어 있는 복수의 단위 논리 회로와, 외부로부터 받는 입력 신호를 상기 복수의 단위 논리 회로에 공급하는 입력 신호 제어 수단과, 상기 복수의 단위 논리 회로의 출력 신호를 외부에 공급하는 출력 신호 제어 수단을 구비하고, 상기 입력 신호 제어 수단은, 상기 입력 신호에 기초하여 제어 신호를 상기 복수의 단위 논리 회로에게 주는 수단과, 인덱스 지시 신호를 받았을 때에 인덱스 정보를 상기 복수의 단위 논리 회로에게 주는 수단을 가지고, 상기 복수의 단위 논리 회로의 각각이, 제1의 설정 정보의 어느 것인가에 기초하여 기능의 변경이 가능하여 상기 입력 신호에 소정의 논리 연산 처리를 행하여 데이터를 생성하는 논리 연산 수단과, 제2의 설정 정보의 어느 것인가에 기초하여 상기 논리 연산 수단으로부터의 상기 데이터의 정렬과 복제와 반전 처리를 행하여 데이터를 생성해서 상기 출력 신호로 하여 상기 출력 신호 제어 수단에게 주는 데이터 처리 수단과, 상기 제1및 제2의 설정 정보를 기억하는 기억 수단과, 상기 제어 신호 및 상기 인덱스 정보의 어느 것인가를 받았을 때에 해당 제어 신호 및 해당 인덱스 정보의 어느 것인가에 기초하여 상기 기억 수단에 있어서의 상기 제1 및 제2의 설정 정보의 격납 위치 어드레스의 선두 위치를 나타내는 선두 위치 어드레스를 기억하는 메모리 제어 수단을 구비하고, 상기 복수의 단위 논리 회로의 각각이, 상기 메모리 제어 수단에 기억되어 있는 상기 선두 위치 어드레스에 기초하여 상기 기억 수단으로부터 순차적으로 판독하는 상기 제1및 제2의 설정 정보의 어느 것인가에 기초하여 상기 논리 연산 수단과 상기 데이터 처리 수단의 일부 또는 전부의 기능을 순차적으로 변경하여 소정의 순서 회로의 동작을 행하는 구성을 취한다.
본 발명의 제6의 것은, 병렬로 접속되어 있는 복수의 단위 논리 회로와, 상기 복수의 단위 논리 회로에 있어서의 1의 상기 단위 논리 회로와 해당 1의 상기 단위 논리 회로에 대해서 물리적 배치상으로 인접하는 다른 상기 단위 논리 회로를 접속하는 접속 수단과, 외부로부터 받는 입력 신호를 상기 복수의 단위 논리 회로에 공급하는 입력 신호 제어 수단과, 상기 복수의 단위 논리 회로의 출력 신호를 외부로 공급하는 출력 신호 제어 수단을 구비하고, 상기 입력 신호 제어 수단은, 상기 입력 신호에 기초하여 제어 신호를 상기 복수의 단위 논리 회로에게 주는 수단과, 인덱스 지시 신호를 받았을 때에 인덱스 정보를 상기 복수의 단위 논리 회로에게 주는 수단을 가지고, 상기 복수의 단위 논리 회로의 각각이, 제1의 설정 정보의 어느 것인가에 기초하여 기능의 변경이 가능하여 상기 입력 신호 또는 인접하는 상기 다른 단위 논리 회로로부터의 데이터에 소정의 논리 연산 처리를 행하여 데이터를 생성하는 논리 연산 수단과, 제2의 설정 정보의 어느 것인가에 기초하여 상기 논리 연산 수단으로부터의 상기 데이터의 정렬과 복제와 반전 처리를 행하여 데이터를 생성해서 상기 출력 신호로 하여 상기 출력 신호 제어 수단에게 주는 데이터 처리 수단과, 상기 제1 및 제2의 설정 정보를 기억하는 기억 수단과, 상기 제어 신호 및 상기 인덱스 정보의 어느 것인가를 받았을 때에 해당 제어 신호 및 해당 인덱스 정보의 어느 것인가에 기초하여 상기 기억 수단에 있어서의 상기 제1 및 제2의 설정 정보의 격납 위치 어드레스의 선두 위치를 나타내는 선두 위치 어드레스를 기억하는 메모리 제어 수단을 구비하고, 상기 복수의 단위 논리 회로의 각각이, 상기 메모리 제어 수단에 기억되어 있는 상기 선두 위치 어드레스를 기초로 상기 기억 수단으로부터 순차적으로 판독하는 상기 제1 및 제2의 설정 정보의 어느 것인가에 기초하여 상기 논리 연산 수단과 상기 데이터 처리 수단의 일부 또는 전부의 기능을 순차적으로 변경하여 소정의 순서 회로의 동작을 행하는 구성을 취한다.
발명의 효과
본 발명에 의하면, 높은 면적 효율을 가져, 대규모의 논리 회로를 고속으로 실현할 수 있는 저가격의 프로그래머블 논리 회로를 제공할 수 있다.
도 1은 본 발명의 실시형태 1에 따른 프로그래머블 논리 회로의 구성을 나타내는 블록도.
도 2는 본 발명의 실시형태 1에 따른 프로그래머블 논리 회로의 프로세서 엘리먼트의 구성을 나타내는 블록도.
도 3은 본 발명의 실시형태 1에 따른 프로그래머블 논리 회로의 프로세서 엘리먼트의 로직 엘리먼트의 구성을 나타내는 블록도.
도 4는 본 발명의 실시형태 1에 따른 프로그래머블 논리 회로의 설정 정보와 메모리 장치의 구성을 설명하기 위한 도면.
도 5는 본 발명의 실시형태 1에 따른 프로그래머블 논리 회로의 프로세서 엘리먼트의 로직 엘리먼트에 있어서의 로직셀의 기능을 설명하기 위한 블록도.
도 6은 본 발명의 실시형태 1에 따른 프로그래머블 논리 회로의 프로세서 엘리먼트의 로직 엘리먼트에 있어서의 로직셀의 동작을 설명하기 위한 도면.
도 7은 본 발명의 실시형태 1에 따른 프로그래머블 논리 회로의 프로세서 엘 리먼트의 크로스커넥트 스위치의 구성을 나타내는 블록도.
도 8은 본 발명의 실시형태 1에 따른 프로그래머블 논리 회로의 프로세서 엘리먼트의 크로스커넥트 스위치의 동작을 설명하기 위한 도면.
도 9는 본 발명의 실시형태 1에 따른 프로그래머블 논리 회로의 초기화시의 동작을 설명하기 위한 타이밍 도면 .
도 10은 본 발명의 실시형태 1에 따른 프로그래머블 논리 회로의 기동시 및 데이터 처리시의 동작을 설명하기 위한 타이밍 도면.
도 11은 본 발명의 실시형태 1에 따른 프로그래머블 논리 회로의 프로세서 엘리먼트의 로직 엘리먼트에 있어서의 로직셀의 동작을 설명하기 위한 도면.
도 12는 본 발명의 실시형태 1에 따른 프로그래머블 논리 회로에 4비트의 비교 회로를 매핑한 경우의 프로세서 엘리먼트의 동작을 시간축 방향으로 전개한 도면.
도 13은 본 발명의 실시형태 1에 따른 프로그래머블 논리 회로에 4비트의 비교 회로를 매핑한 경우의 프로세서 엘리먼트로 형성하는 4비트의 비교 회로를 나타내는 회로도.
도 14는 본 발명의 실시형태 1에 따른 프로그래머블 논리 회로에 이용하는 분기용 설정 정보를 설명하기 위한 도면.
도 15는 프로그래머블 논리 회로를 실장한 처리 회로를 나타내는 블록도.
도 16은 본 발명의 실시형태 1에 따른 프로그래머블 논리 회로의 분기 제어를 이용하지 않는 경우의 처리 사이클을 설명하기 위한 도면.
도 17은 본 발명의 실시형태 1에 따른 프로그래머블 논리 회로의 분기 제어를 이용한 경우의 처리 사이클을 설명하기 위한 도면.
도 18은 프로그래머블 논리 회로를 실장하는 처리 회로를 나타내는 블록도.
도 19는 본 발명의 실시형태 2에 따른 프로그래머블 논리 회로의 분기 제어를 이용하지 않는 경우에 있어서의 메모리 장치의 내부의 설정 정보의 격납 상태를 설명하기 위한 도면.
도 20은 본 발명의 실시형태 2에 따른 프로그래머블 논리 회로의 분기 제어를 이용한 경우에 있어서의 메모리 장치의 내부의 설정 정보의 격납 상태를 설명하기 위한 도면.
도 21은 본 발명의 실시형태 3에 따른 프로그래머블 논리 회로에 의한 정지 제어에 이용되는 정지용 설정 정보를 설명하기 위한 도면.
도 22는 본 발명의 실시형태 4에 따른 프로그래머블 논리 회로의 구성을 나타내는 블록도.
도 23은 본 발명의 실시형태 4에 따른 프로그래머블 논리 회로의 프로세서 엘리먼트의 구성을 나타내는 블록도
도 24는 본 발명의 실시형태 4에 따른 프로그래머블 논리 회로의 프로세서 엘리먼트의 로직 엘리먼트의 구성을 나타내는 블록도.
도 25는 본 발명의 실시형태 4에 따른 프로그래머블 논리 회로의 메모리 장치의 구성을 나타내는 도면.
이하, 본 발명의 실시형태에 대해서, 도면을 참조하여 상세하게 설명한다.
(실시형태 1)
도 1은, 본 발명의 실시형태 1에 따른 프로그래머블 논리 회로의 구성을 나타내는 블록도이다.
도 1에 나타내는 바와 같이, 본 발명의 실시형태 1에 따른 프로그래머블 논리 회로(100)는, 복수의 프로세서 엘리먼트(101), 복수의 메모리 장치(102), 입출력 제어부(103), 제어 버스(control bus)(104), 입력 버스(105) 및 출력 버스(106)를 구비하고 있다. 프로그래머블 논리 회로(100)에는, 클록(clock) 생성 회로(107) 및 사용자 회로(108)가 접속되어 있다.
복수의 프로세서 엘리먼트(101)와 복수의 메모리 장치(102)는, 1대 1로 접속되어 있다. 1대 1로 접속되어 있는 프로세서 엘리먼트(101)와 메모리 장치(102)는, 단위 논리 회로를 구성하고 있다. 복수의 단위 논리 회로는, 병렬로 접속되어 있다.
복수의 프로세서 엘리먼트(101)의 각각은, 1 차원적으로 일렬 상에 배치되어 있으며, 물리 배치상으로 인접하는 2개의 다른 프로세서 엘리먼트(101)와 접속선(101a)으로 접속되어 있다. 즉, 복수의 단위 논리 회로는, 1 차원적으로 일렬로 배치되어 있으며, 복수의 단위 논리 회로에 있어서의 1의 상기 단위 논리 회로와 해당 1의 상기 단위 논리 회로에 대해서 물리적 배치상으로 인접하는 다른 상기 단위 논리 회로는, 접속선(101a)으로 접속되어 있다.
프로세서 엘리먼트(101)는, 접속선을 이용하여, 인접하는 2개의 다른 프로세 서 엘리먼트(101) 간에서 데이터를 주고 받는다.
입출력 제어부(103)는, 외부와의 인터페이스 회로로 되어 있으며, 사용자 회로(108)와 접속되어 있다. 제어 버스(104)는, 입출력 제어부(103) 및 프로세서 엘리먼트(101)와 접속되어 있다. 제어 버스(104)는, 초기화 및 기동 등의 제어 신호를 입출력 제어부(103)로부터 받아, 각 프로세서 엘리먼트(101)에 전송한다. 입력 버스(105)는, 입출력 제어부(103) 및 프로세서 엘리먼트(101)와 접속되어 있다.
입력 버스(105)는, 논리 연산에 이용하는 데이터를 입출력 제어부(103)로부터 받아, 각 프로세서 엘리먼트(101)에 전송한다.
출력 버스(106)는, 입출력 제어부(103) 및 프로세서 엘리먼트(101)와 접속되어 있다. 출력 버스(106)는, 연산 결과 데이터를 프로세서 엘리먼트(101)로부터 받아, 입출력 제어부(103)에 전송한다. 클록 생성 회로(107)는, 내부 클록 신호(109) 및 사용자 클록 신호(110)를 생성한다. 사용자 클록 신호(110)는, 사용자 회로(108) 및 입출력 제어부(103)에서 사용된다. 내부 클록 신호(109)는, 사용자 클록 신호(110)의 체배(遞倍) 주파수로 되어 있으며, 프로그래머블 논리 회로(100)의 내부에서 사용된다.
다음에, 본 프로그래머블 논리 회로(100)의 기능에 관하여, 도면을 참조해 설명한다.
도 1에 있어서, 프로그래머블 논리 회로(100)가 행하는 논리 연산 처리의 내용은, 메모리 장치(102)에 설정 정보로서 보유되고 있다. 각 프로세서 엘리먼트(101)는, 메모리 장치(102)의 설정 정보를 순차적으로 판독하여, 대응하는 논리 연산 처리를 행한다. 프로그래머블 논리 회로(100)는, 사용자 회로(108)로부터 사용자 클록 신호(110)에 동기(同期)하여 기동 신호 및 논리 연산에 이용하는 데이터를 받는다. 그 후 일정시간 경과 후에, 프로그래머블 논리 회로(100)는, 논리 연산 처리 후의 데이터를 사용자 회로(108)에 사용자 클록 신호(110)에 동기하여 보내준다.
다음에, 프로그래머블 논리 회로(100)의 내부 블록의 기능에 관하여, 도면을 참조하여 설명한다.
도 1에 있어서, 각 메모리 장치(102)에는, 인접한 프로세서 엘리먼트(101)의 설정 정보가 격납되어 있다. 메모리 장치(102)는, 프로세서 엘리먼트(101)로부터 제어 신호와 메모리 어드레스가 입력되면, 어드레스로 지정된 설정 정보를 프로세서 엘리먼트(101)에게 준다. 프로세서 엘리먼트(101)는, 이 설정 정보를 기초로, 실행할 처리 내용을 결정한다.
프로세서 엘리먼트(101)는, 제어 버스(104)로부터 초기화 신호가 입력되면, 메모리 장치(102)의 특정 어드레스를 판독하여, 입력되는 판독 데이터로부터 설정 정보의 격납 위치 어드레스를 추출해서 보유한다. 이 격납 위치 어드레스는, 설정 정보의 선두 위치를 나타내는 어드레스이다.
또, 프로세서 엘리먼트(101)는, 제어 버스(104)로부터 기동 신호가 입력되면, 메모리 장치(102)의 상기 보유하고 있던 격납 위치 어드레스부터 순차적으로 설정 정보를 판독한다. 또, 프로세서 엘리먼트(101)는, 입력 버스(105) 및 인접하는 프로세서 엘리먼트(101)로부터 논리 처리용 데이터를 받아, 설정 정보를 기초로 데이터의 논리 처리를 행한 후에 데이터의 정렬, 복제 및 반전 처리를 행하는 한편, 처리 후의 데이터를 보유한다. 또, 프로세서 엘리먼트(101)는, 보유하고 있던 처리 후의 데이터를 출력 버스(106) 및 인접하는 프로세서 엘리먼트(101)에 출력한다.
이와 같이 하여, 복수의 프로세서 엘리먼트(101)는, 데이터를 주고 받는다. 입출력 제어부(103)는, 사용자 회로(108)로부터 사용자 클록 신호(110)에 동기한 기동 신호 및 논리 처리용 데이터를 받아, 이 데이터를 내부 클록 신호(109)에 동기시켜 입력 버스(105)에 보낸다. 또, 입출력 제어부(103)는, 사용자 회로(108)로부터 사용자 클록 신호(110)에 동기한 초기화 신호를 받아, 이 데이터를 내부 클록 신호(109)에 동기시켜 입력 버스(105)에 출력한다. 또, 입출력 제어부(103)는, 출력 버스(106)로부터 내부 클록 신호(109)에 동기한 논리 처리 후의 데이터를 받아, 이 데이터를 사용자 클록 신호(110)에 동기시켜 사용자 회로(108)에 출력한다. 이와 같이 하여, 입출력 제어부(103)는, 사용자 회로(108)와의 제어 신호, 논리 처리용 및 처리 결과의 데이터를 주고 받는다.
다음에, 프로그래머블 논리 회로(100)의 내부의 프로세서 엘리먼트(101)의 구성에 대해, 도면을 참조하여 설명한다.
도 2는, 프로세서 엘리먼트(101)의 구성을 나타내고 있다. 도 2에 나타내는 바와 같이, 프로세서 엘리먼트(101)는, 로직 엘리먼트(200) 및 메모리 제어부(201)를 구비하고 있다. 프로세서 엘리먼트(101)는, 메모리 장치(102), 제어 버스(104), 입력 버스(105) 및 출력 버스(106)와 접속되어 있다. 메모리 제어 부(201)는, 메모리 장치(102), 로직 엘리먼트(200), 제어 버스(104) 및 데이터 버스(111)와 접속되어 있다. 로직 엘리먼트(200)는, 인접하는 프로세서 엘리먼트(101)의 로직 엘리먼트(200) 및 메모리 제어부(201), 입력 버스(105), 출력 버스(106) 및 데이터 버스(111)와 접속되어 있다.
다음에, 프로세서 엘리먼트(101)의 기능에 대해, 도면을 참조하여 설명한다. 도 2에 있어서, 메모리 제어부(201)는, 제어 버스(104)로부터 초기화 신호를 받으면, 전술한 격납 위치 어드레스의 추출 및 보유 처리를 행한다. 메모리 제어부(201)는, 제어 버스(104)로부터 기동 신호가 입력되면, 메모리 장치(102)의 상기 보유하고 있던 격납 위치 어드레스부터 순차적으로 설정 정보를 판독하여, 로직 엘리먼트(200)에 전송한다.
로직 엘리먼트(200)는, 입력 버스(105) 및 인접하는 프로세서 엘리먼트(101)로 부터 데이터를 받아, 메모리 제어부(201)로부터 전송 되는 설정 정보를 기초로 데이터의 논리 처리를 행한 후에 데이터의 정렬, 복제 및 반전 처리를 행하는 한편, 처리 후의 데이터를 보유한다. 또, 로직 엘리먼트(200)는, 메모리 제어부(201)로부터 전송되는 설정 정보를 기초로, 출력 버스(106) 및 인접하는 프로세서 엘리먼트(101)에 처리 후의 데이터를 출력한다.
다음에, 프로세서 엘리먼트(101)의 내부의 로직 엘리먼트(200)의 구성 및 설정 정보의 구성에 대해서 도면을 참조하여 설명한다.
도 3에는, 로직 엘리먼트(200)의 구성이 표시되어 있다. 도 4에는, 설정 정보와 메모리 장치(102)의 구성이 표시되어 있다.
도 3에 있어서, 로직 엘리먼트(200)는, 로직셀(logic-cell)(300), 크로스커넥트 스위치(Crossconnect switch)(301) 및 플립플롭(flip-flop)(302)을 구비하고 있다. 로직 엘리먼트(200)는, 메모리 제어부(201), 입력 버스(105) 및 출력 버스(106)와 접속되어 있다. 로직셀(300)은, 메모리 제어부(201), 플립플롭(302) 및 크로스커넥트 스위치(301)와 접속되어있다. 크로스커넥트 스위치(301)는, 메모리 제어부(201), 로직셀(300), 플립플롭(302), 입력 버스(105) 및 인접하는 로직 엘리먼트(200)의 내부의 로직셀(300)과 접속되어 있다. 플립플롭(302)은, 로직셀(300), 크로스커넥트 스위치(301), 출력 버스(106) 및 메모리 제어부(201)와 접속되어 있다.
또한, 로직셀(300)은, 논리 연산 회로를 구성하고 있다. 또, 크로스커넥트 스위치(301)는 데이터 처리 장치를 구성하고 있다. 또, 크로스커넥트 스위치(301) 및 플립플롭(302)은, 데이터 처리 장치를 구성하고 있다.
도 4는, 메모리 장치의 구성을 나타내고 있다. 도 4에 있어서, 메모리 장치(102)의 내부의 선두 부분에는, 설정 정보의 격납 어드레스 정보가 격납되어 있다. 메모리 장치(102)의 내부에 있어서의 선두 부분 이외의 특정 영역에는, 설정 정보가 격납되어 있다.
도 4에 있어서, 비트 25~26은 로직셀(300)의 설정 정보이고, 비트 0~24는 크로스커넥트 스위치(301)의 설정 정보이다. 비트 0~24는, 5비트 단위로 크로스커넥트 스위치(301)의 5개의 출력에 대응하는 4비트의 접속 정보 및 1비트의 반전 제어 정보로 구성되어 있다.
다음에, 로직 엘리먼트(200)의 기능에 대해, 도면을 참조하여 설명한다. 도 3에 있어서, 로직셀(300)은, 플립플롭(302)으로부터 입력되는 데이터에 대해, 메모리 제어부(201)로부터 전송되는 설정 정보에 의해 지정되는 특정의 논리 처리를 행하고, 크로스커넥트 스위치(301), 인접하는 프로세서 엘리먼트(101)의 로직 엘리먼트 (200)에 처리 후의 데이터를 출력한다. 크로스커넥트 스위치(301)는, 로직셀(300), 입력 버스(105), 인접하는 프로세서 엘리먼트(101)의 로직 엘리먼트(200)로부터 입력되는 데이터에 대해, 메모리 제어부(201)로부터 전송되는 설정 정보에 의해 지정되는 특정 데이터의 정렬, 복제 및 반전 처리를 행하고, 플립플롭(302)에 처리 후의 데이터를 출력한다. 플립플롭(302)은, 크로스커넥트 스위치(301)로부터 입력되는 데이터를, 내부 클록 신호(109)의 타이밍으로 보유한다. 플립플롭(302)은, 보유한 데이터를 로직셀(300) 및 출력 버스(106)에 출력한다.
다음에, 로직셀(300)의 기능 및 동작에 대해, 구체적인 예를 이용하여 설명한다.
도 5에 있어서, 로직셀(300)에 대해 설정 정보 2비트 및 입력 데이터 2비트가 입력되고, 로직셀(300)은 출력 데이터 1비트를 출력하고 있다. 도 6은, 이 경우의 로직셀(300)의 기능 및 동작의 예를 나타내고 있다. 도 6에 있어서, 설정 정보가 00일 때에는, 로직셀(300)은 입력 데이터의 논리합(OR)을 출력한다. 설정 정보가 01일 때에는, 로직셀(300)은 입력 데이터의 논리곱(AND)을 출력한다. 설정 정보가 10일 때에는, 로직셀(300)은 입력 데이터의 배타적 논리합(XOR)을 출력한다. 설정 정보가 11일 때에는, 로직셀(300)은 입력 데이터의 논리합의 반전 데이 터(NOR)를 출력한다. 이와 같이, 로직셀(300)은, 설정 정보에 기초하여, 다른 복수의 논리 기능을 실현할 수 있는 회로이다.
다음에, 크로스커넥트 스위치(301)의 기능에 대해, 구체적인 예를 이용하여 설명한다.
도 7에는, 크로스커넥트 스위치(301)의 내부 블록 및 기능의 예가 표시되어 있다. 도 7에 있어서, 크로스커넥트 스위치(301)의 내부의 상호 접속부(700)에 대해 설정 정보 4비트 및 입력 데이터 A, B, C의 3비트 및 로우 레벨이 입력되고, 상호 접속부(700)로부터 출력 데이터 OUT1, OUT2의 2비트가 출력되고 있다. 또, 상호 접속부(700)의 각 출력 데이터는, 설정 정보 1비트와 배타적 논리합(XOR)이 취해져 외부에 출력된다. 이 XOR는, 크로스커넥트 스위치(301)로부터의 출력 데이터를 설정 정보에 기초하여 비트 단위로 반전하기 위한 것이다. 이 경우, 출력수는 2이므로 XOR 부분에 2비트의 설정 정보가 사용되기 때문에, 크로스커넥트 스위치(301)의 전체에서 사용하는 설정 정보는 합계 6비트가 된다.
도 8은, 이 경우의 상호 접속부(700)의 기능예를 나타내고 있다. 도 8에 있어서, 상호 접속부(700)는, 설정 정보의 MSB 2비트가 OUT1에 출력되는 데이터를 선택하고, LSB 2비트가 OUT2에 출력되는 데이터를 선택하고 있다. 상호 접속부(700)는, 설정 정보가 00일 때에는 입력 데이터 A를 출력하고, 설정 정보가 01일 때에는 입력 데이터 B를 출력한다. 상호 접속부(700)는, 설정 정보가 10일 때에는 입력 데이터 C를 출력하고, 설정 정보가 11일 때에는 로우 레벨을 출력한다.
이와 같이, 크로스커넥트 스위치(301)는, 설정 정보에 기초하여 복수의 입력 데이터의 정렬, 복제 및 반전 처리가 가능하며 또, 설정 정보로 설정된 고정값을 출력하는 것도 가능한 회로이다.
다음에, 프로그래머블 논리 회로(100)의 동작에 대해, 도면을 참조하여 설명한다. 도 9및 도 10에는, 프로그래머블 논리 회로(100)의 동작 타이밍 예가 표시되어 있다. 도 9에는, 외부로부터의 초기화 동작이 표시되어 있다. 도 10에는, 외부로부터의 기동 및 실제의 논리 처리 동작이 표시되어 있다.
우선, T1 기간에 있어서, 입출력 제어부(103)는, 사용자 회로(108)로부터 사용자 클록 신호(110)에 동기한 초기화 신호(900)를 받아 내부 초기화 신호(901)로서 보유한다. T2 기간에 있어서, 입출력 제어부(103)는, 보유하고 있던 내부 초기화 신호(901)를 내부 클록 신호(109)에 동기시켜 제어 버스(104)에 출력한다. 제어 버스(104)의 내부 초기화 신호(902)는, 모든 프로세서 엘리먼트(101)의 메모리 제어부(201)에 입력된다.
T3 기간에 있어서, 프로세서 엘리먼트(101)의 메모리 제어부(201)는, 입력된 내부 초기화 신호(902)를 트리거(Trigger)로 하여, 메모리 장치(102)의 특정 어드레스(904)에 대해 판독 신호(903)를 출력한다. 그 후, 메모리 제어부(201)는, 입력되는 판독 데이터(905)를 보유 데이터(906)로서 일단 보유하고, 이 보유 데이터(906)로부터 설정 정보의 격납 위치 어드레스(907)를 추출하여 보유한다. T1~T3의 동작에 의해, 설정 정보의 격납 위치 어드레스(907)가 각 프로세서 엘리먼트(101)에 기억되어, 언제라도 처리를 실행할 수 있는 상태가 된다.
T4 기간에 있어서, 프로그래머블 논리 회로(100)는, 기동 대기 상태이다. T5기간에 있어서, 입출력 제어부(103)는, 사용자 회로(108)로부터 사용자 클록 신호(110)에 동기한 기동 신호(1000) 및 처리용 데이터(1001)를 받아 내부 기동 신호(1002) 및 처리용 데이터(1003)로서 보유한다. T6기간에 있어서, 입출력 제어부(103)는, 보유하고 있던 내부 기동 신호(1002)를 내부 클록 신호(109)에 동기시켜 제어 버스(104)에 출력한다. 또, 입출력 제어부(103)는, 보유하고 있던 내부 처리용 데이터(1003)를 내부 클록 신호(109)에 동기시켜 입력 버스(105)에 출력한다.
제어 버스(104)의 내부 기동 신호(1004)는, 모든 프로세서 엘리먼트(101)의 메모리 제어부(201)에 입력된다. 입력 버스(105)의 논리 처리용 데이터(1005)는, 모든 프로세서 엘리먼트(101)의 로직 엘리먼트(200)에 입력된다. T7 기간에 있어서, 각 프로세서 엘리먼트(101)의 메모리 제어부(201)는, 입력된 내부 기동 신호(1004)를 트리거로 하여, 메모리 장치(102)의 T3 기간에 있어서 보유했던 격납 위치 어드레스(907)에 대해 판독 신호(903)를 출력한다. T8 기간에 있어서, 각 메모리 제어부(201)는, 메모리 장치(102)로부터 출력되는 판독 데이터(905)를 보유 데이터(906)로서 보유한다. 동시에, 메모리 제어부(201)는, 메모리 장치(102)의 다음 어드레스에 대해, 판독 신호(603)를 출력한다.
T9 기간에 있어서, 각 메모리 제어부(201)는, 보유 데이터(906)를 로직 엘리먼트(200)에 출력한다. 또, 각 메모리 제어부(201)는, 메모리 장치(102)로부터 출력되는 판독 데이터(905)를 보유한다. 동시에, 각 메모리 제어부(201)는, 메모리 장치(102)의 다음 어드레스에 대해, 판독 신호를 출력한다. 각 로직 엘리먼 트(200)는, 입력되는 보유 데이터(설정 정보)(906)에 기초하여, 입력 버스(105)로부터의 논리 처리용 데이터(1005)의 정렬, 복제 및 반전 처리를 행하고, 처리 후의 데이터를 내부의 플립플롭(302)에 보유한다.
T10 기간에 있어서, 각 메모리 제어부(201)는, 보유하고 있던 데이터(906)를 로직 엘리먼트(200)에 출력한다. 또, 각 메모리 제어부(201)는, 메모리 장치(102)로 부터 출력되는 판독 데이터(905)를 내부에 보유한다. 동시에, 각 메모리 제어부(201)는, 메모리 장치(102)의 다음 어드레스에 대해서 판독 신호를 출력한다.
각 로직 엘리먼트(200)는, 플립플롭(302), 입력 버스(105) 및 인접하는 프로세서 엘리먼트(101)로부터의 논리 처리용 데이터(1005)를, 입력되는 보유 데이터(설정 정보) (906)에 기초하여 논리 처리를 행하고, 처리 후의 데이터를 플립플롭(302)에 보유한다. 이하, T10 기간의 처리를 반복함으로써, 하나의 논리 처리를 실현한다.
모든 기간에 있어서, 플립플롭(302) 데이터는, 출력 버스(106)에 출력되고 있으며, 입출력 제어부(103)는, 이 데이터를 항상 내부 클록 신호(109)에 동기하여 보유하고 있다. 입출력 제어부(103)는, 보유 데이터를 사용자 클록 신호(110)에 동기하여 사용자 회로(108)에 출력한다. 사용자 회로(108)는, 입력되는 데이터의 플래그를 참조하여, 출력 데이터(논리 처리 후의 데이터)를 보유한다, 또는, 결정된 기간 후의 데이터를 보유한다.
다음에, 특정의 논리 처리 기능을 프로그래머블 논리 회로(100)에 매핑한 예를, 도면을 참조하여 설명한다. 설명을 간결하게 하기 위해, 동작예에 나타낸 T9, T10 기간의 로직 엘리먼트(200)의 동작만을 설명한다.
도 11은, 2 입력 2 출력의 로직셀(300)의 기능을 표시하고 있다. 도 12는, 로직셀(300)을 가지는 프로그래머블 논리 회로(100)에 대해서, 4비트의 비교 회로를 매핑한 경우의 예를 나타내고 있다. 도 12에 있어서, 세로 방향으로는 물리적으로 다른 4개의 프로세서 엘리먼트(101)가 표시되어 있고, 가로 방향으로는 동일한 프로세서 엘리먼트(101)가 각 사이클에서 어떠한 처리를 행하는 지가 표시되어 있다.
도 13은, 4비트의 비교 회로를 나타내고 있다. 도 13에 나타내는 바와 같이, 입력 데이터로서 IN0~7의 8비트 데이터가 있고, IN0~3과 IN4~7의 비교 결과가 1비트의 데이터로서 출력된다.
도 12에 있어서, 로직셀(LC)(300)의 입력 및 출력은, 위쪽이 LSB이고, 아래 쪽이 MSB이다. 또, 로직셀(LC)(300)의 하부에 기재되어 있는 데이터는, 로직셀(LC)(300)에 대한 설정 정보이다. 복수의 로직셀(LC)(300)은, 도 13에 나타내는 바와 같이 동작한다. 우선, 사이클 1 및 2에 있어서, 복수의 로직셀(LC)(300)은 입력 데이터를 비트 단위로 정렬한다. 사이클 3에 있어서, 복수의 로직셀(LC)(300)은 각 비트에 대해서 XNOR의 처리를 행한다. 사이클 4에 있어서, 복수의 로직셀(LC)(300)은 사이클 3의 결과에 대해서 AND 처리를 행한다.
사이클 5에 있어서, 복수의 로직셀(LC)(300)은 사이클 4의 결과에 대해서 AND 처리를 행한다. 사이클 6에 있어서, 복수의 로직셀(LC)(300)은 비교 결과를 출력한다. 결과적으로, 내부 클록 신호(109)의 6 사이클로 출력이 확정된다. 내 부 클록 신호(109)의 클록 수가 사용자 클록 신호(110)의 클록 수의 6배일 때에, 사용자 회로(108)로부터는, 1 클록으로 비교 처리가 완료한 것처럼 보인다.
다음에, 본 발명의 실시형태 1에 따른 프로그래머블 논리 회로(100)의 메모리 제어부(201)의 동작을 주로 한 동작에 대해, 도면을 참조해 상세하게 설명한다.
도 3에 나타내는 바와 같이, 메모리 제어부(201)는, 메모리 장치(102), 제어 버스(104) 및 데이터 버스(111)와 접속되어 있다. 또, 메모리 제어부(201)의 입력 단자는, 로직 엘리먼트(200)의 플립플롭(302)의 출력 단자에 접속되어 있다. 또, 메모리 제어부(201)의 출력 단자는, 로직 엘리먼트(200)의 로직셀(300) 및 크로스커넥트 스위치(301)에 접속되어 있다.
메모리 제어부(201)는, 제어 버스(104)로부터의 제어 신호에 기초하여 메모리 장치(102)와 정보를 주고 받는 한편, 데이터 버스(111)로부터의 데이터 버스 데이터(1111)를 받는다. 또, 메모리 제어부(201)는, 플립플롭(302)으로부터의 플립플롭 데이터(3021)를 받는다.
다음에, 프로그래머블 논리 회로(100)에 의한 분기 제어에 대해, 상세하게 설명한다.
도 14는, 프로그래머블 논리 회로(100)에 의한 분기 제어에 이용되는 분기용 설정 정보의 구성을 설명하기 위한 도면이다. 분기용 설정 정보(1400)는, 분기를 나타내는 코드(1401), 분기 판정용 데이터의 선택 코드(REF)(1402), 분기처 어드레스(JMPB)(1403) 및 분기처 어드레스(JMPA)(1404)를 가지고 있다.
분기를 나타내는 코드(1401)는, 비트 24~21로 되며, 「1111」인 경우는 분기 를 나타내고, 「1111」이 아닌 경우는 분기 이외의 통상 처리를 나타내고 있다. 분기 판정용 데이터인 선택 코드(1402)는, 비트 19~16로 되며, 분기 판정에 이용할 데이터를 선택하기 위한 정보이다. 본 예에서는, 분기 판정용 데이터의 선택 코드(1402)는, 데이터 버스 데이터(1111) 및 플립플롭 데이터(3021)로부터 특정의 1비트를 선택하기 위한 정보로서 사용된다. 분기처 어드레스(1403)는, 비트 15~8로 되며, 판정용 비트=1일 때에 건너 뛸 분기처 어드레스를 나타내고 있다. 분기처 어드레스(1404)는, 비트 7~0으로 되며, 판정용 비트=0일 때에 건너 뛸 분기처 어드레스를 나타내고 있다.
도 3에 있어서, 메모리 제어부(201)는, 일련의 메모리 장치(102)로부터의 판독 동작에 있어서, 판독 데이터의 비트 24~21을 참조하여, 데이터값이 「1111」이외일 때에는 판독 데이터가 통상의 설정 정보라고 판단하고, 로직 엘리먼트(200)에 데이터를 그대로 전송하여, 통상 처리를 계속한다. 또, 메모리 제어부(201)는, 비트 24~21이 「1111」일 때에는 판독 데이터가 분기 제어용 정보라고 판단하고, 로직 엘리먼트(200)에 동작을 일시정지하는 의사(擬似) 설정 정보, 이를테면, 모두 「0」인 데이터를 전송하고, 도 14에 있어서의 REF 비트, 즉, 비트 19~16을 참조한다.
다음에, 메모리 제어부(201)는, REF 비트에 따라, 데이터 버스 데이터(1111) 및 플립플롭 데이터(3021)로부터 특정의 1비트를 선택하고, 선택한 상기 비트가 「1」일 때에는 메모리 장치(102)에 출력하는 판독 어드레스에 JMPB로 지정된 어드레스를 세트한다.
메모리 제어부(201)는, 선택한 상기 비트가 「0」일 때에는 메모리 장치(102)에 출력하는 판독 어드레스에 JMPA로 지정된 어드레스를 세트한다. 이 후에 있어서, 메모리 제어부(201)는, 세트 된 어드레스부터 순차적으로 메모리 장치(102)의 설정 정보를 판독하여 로직 엘리먼트(200)에 전송한다.
다음에, 프로그래머블 논리 회로(100)의 분기 제어에 의한 처리에 대해, 도 1 내지 도 3과 함께 도 15 내지 도 17을 참조하여 상세하게 설명한다.
도 15는, 프로그래머블 논리 회로를 실장한 처리 회로를 나타내는 블록도이다.
도 15에 있어서, 처리 회로(1500)는, 회로 C의 처리 결과에 따라 회로 A 및 회로 B의 처리 결과의 어느 것인가의 값을 셀렉터(selector)(1501)가 외부에 출력하도록 동작한다. 간단하기 때문에, 각 회로A, B, C는, 각각 1개의 프로세서 엘리먼트를 이용하여 실현할 수 있다. 또, 처리 회로(LSI)(1500)에 탑재된 프로세서 엘리먼트의 수는 3이라고 한다.
우선, 도 16에, 프로그래머블 논리 회로의 분기 제어를 이용하지 않는 경우의 처리 사이클을 나타낸다. 도 16은, 왼쪽에서 오른쪽 방향으로의 클록 사이클 진행에 있어서의, 각 회로의 처리 레이턴시(latency)를 나타내고 있다. 예를 들면, 회로 A의 처리 레이턴시는 5 사이클이다. 회로 B 및 회로 C의 처리 레이턴시는 각각 5 사이클 및 6 사이클이다. 이 레이턴시의 차이를 흡수하기 위해, 회로 A, B는, 회로 C의 처리 완료까지의 사이클에 데이터 보유만을 행하고 있다. 사이클 7에 있어서, 1개의 프로세서 엘리먼트는, 회로 A, B의 결과를 받아, 도 15에 있 어서의 셀렉터(1501)의 처리를 실행하고 외부로 처리 회로(1500)의 처리 결과 데이터를 출력한다.
도 16에 나타내는 바와 같이, 결과적으로 전체적으로 7 사이클의 처리 시간 및 3개의 프로세서 엘리먼트가 필요하다. 이것은, 1 개의 프로세서 엘리먼트가 1 사이클 사용하는 처리를 1 프로세서 엘리먼트 시간이라고 하면, 3×=21의 프로세서 엘리먼트 시간을 사용하는 것이 된다.
한편, 도 17에는, 프로그래머블 논리 회로(100)의 분기 제어를 이용한 경우의 처리 사이클을 나타낸다. 도 17에 나타내는 예에서는, 도 16에 있어서의 사이클 6까지의 기간에 회로 C만의 처리를 행하고, 사이클 7에 있어서, 회로 C의 결과 데이터를 이용하여 분기 판정을 실행하고 있다. 분기 판정 결과로서 메모리 제어부(201)는, 회로 B의 처리에 대응하는 어드레스를 메모리 장치(100)에 대해 출력하고, 다음 사이클부터 회로 B를 실행하고 있다. 결과적으로 전체 처리 시간은, 14 사이클로 증가했지만, 프로세서 엘리먼트의 필요수는 1로 삭감할 수 있기 때문에, 전체로 1×4=14의 프로세서 엘리먼트 시간으로 처리가 완료하는 것이 된다.
이와 같이, 본 발명의 실시형태 1에 있어서는, 분기 제어를 행함으로써, 동시에 병렬적으로 실행되는 처리 중에서, 결과적으로 불필요한 처리 부분을 삭감할 수 있다. 특히, 출력까지의 요구 시간이 긴 처리에 이 분기 제어를 이용함으로써, 공백 상태가 되는 프로세서 엘리먼트(101)에 다른 처리를 할당할 수 있기 때문에, 전체의 처리 성능을 높일 수 있다. 또, 본 발명의 실시형태 1에 있어서는, 프로세서 엘리먼트의 수가 실장해야 할 회로에 대해서 충분하지 않을 경우에도 특히 효과 적으로 전체의 처리 성능을 높일 수 있다.
(실시형태 2)
다음에, 본 발명의 실시형태 2에 대해, 도면을 참조하여 상세하게 설명한다. 본 발명의 실시형태 2에 따른 프로그래머블 논리 회로의 구성은, 본 발명의 실시형태 1에 따른 프로그래머블 논리 회로(100)와 동일하다.
본 발명의 실시형태 2에 따른 프로그래머블 논리 회로는, 분기 제어 처리를 이용하여 메모리 사용 효율을 향상시키는 것이다.
도 18은, 프로그래머블 논리 회로를 실장하는 처리 회로를 나타내는 블록도이다. 도 18에 있어서, 처리 회로(1800)는, 회로 A, 회로 B, 회로 C, 회로 A 및 회로 D의 순서로 처리를 행하는 회로이다. 최초의 회로 A와 3번째의 회로 A는 입력에 대해서 동일한 처리를 행하는 것으로 한다.
또, 도 19는, 프로그래머블 논리 회로(100)의 분기 제어를 이용하지 않는 경우에 있어서의 메모리 장치(102)의 내부의 설정 정보의 격납 상태를 설명하기 위한 도면이다. 도 19에 있어서, 회로 A는 40 워드의 메모리 영역을 사용하고, 회로 B, C, D는 각각 20 워드의 메모리 영역을 사용한다.
도 18에 있어서의 처리 회로(1800)는, 메모리 장치(102)의 어드레스 10에서 150까지 순서로 실행되며, 합계 140 워드의 영역을 사용하는 것이 된다.
한편, 도 20은, 프로그래머블 논리 회로(100)의 분기 제어를 이용한 경우에 있어서의 메모리 장치(102)의 내부의 설정 정보의 격납 상태를 설명하기 위한 도면이다. 도 20에 있어서, 회로 A의 처리 후에는 회로 B 또는 회로 D의 선두 어드레 스로 건너 뛰는 분기 제어용 정보가 삽입되어 있다. 또, 회로 C의 처리 후에, 회로 A 또는 회로 D의 선두 어드레스로 건너 뛰는 분기 제어용 정보가 삽입되어 있다. 본 예에 있어서 처리 순서는, 먼저, 어드레스 10부터 판독을 행하여 회로 A의 처리 완료 후에, 분기에 의해 어드레스 51로 건너뛰어 회로 B의 처리를 행한다. 그 후에, 회로 C의 처리를 행하고, 처리 완료 후, 분기에 의해 어드레스 10으로 건너뛰어 재차 회로 A를 처리한다.
회로 A의 처리 완료 후에, 분기에 의해 어드레스 92로 건너뛰어, 회로 D의 처리를 행한다. 결과적으로 회로 A의 1 개분 영역이 삭감되어 있다. 분기 방법으로서는, 회로 C의 처리 완료시에 플래그 비트(flag bit)를 생성하여, 이 플래그 비트를 이용하는 방법이 있다.
이와 같이, 본 발명의 실시형태 2에 있어서는, 분기 제어를 행함으로써, 여러 차례 사용되는 회로의 메모리 영역을 삭감할 수 있기 때문에, 회로 전체의 기능 실장 효율이 높아진다. 또, 본 발명의 실시형태 2에 있어서는, 외부로부터의 입력 데이터를 감시하는 처리나 특정의 값까지 카운트업(count up)하는 등의 처리에 있어서는, 동일한 처리가 반복해서 실행되는 경우가 많은 회로, 예를 들면, 100까지 카운트업 한 후에 특정 처리를 행하는 등의 회로에 있어서는, +1의 처리를 행하는 회로의 뒤에 분기 제어용 정보를 삽입하여, 분기 판정 조건으로서 카운터 값과 고정값 100의 비교 결과를 이용함으로써, 크게 면적을 삭감할 수 있다.
또한, 본 발명의 실시형태 2에 있어서, 분기하는 어드레스는, 두 가지로 한정할 필요는 없으며, 참조하는 비트수를 늘려, 많은 분기처 어드레스를 설정해도 좋다.
(실시형태 3)
다음에, 본 발명의 실시형태 3에 대해, 도면을 참조하여 상세하게 설명한다. 본 발명의 실시형태 3에 따른 프로그래머블 논리 회로의 구성은, 본 발명의 실시형태 1에 따른 프로그래머블 논리 회로(100)와 동일하다. 본 발명의 실시형태 3에 따른 프로그래머블 논리 회로는, 정지 제어로 실장 효율을 향상시키는 것이다.
도 21은, 본 발명의 실시형태 3에 따른 프로그래머블 논리 회로(100)에 의한 정지 제어에 이용되는 정지용 설정 정보를 설명하기 위한 도면이다. 정지용 설정 정보(2100)는, 분기를 나타내는 코드(2101), 정지를 나타내는 코드(REF)(2102) 및 정지 사이클수(2103)를 가지고 있다.
분기를 나타내는 코드(2101)는, 비트 24~21로 되며, 「1111」인 경우에는 분기를 나타내고, 「1111」이 아닌 경우에는 분기 이외의 통상 처리를 나타내고 있다. 정지를 나타내는 코드(2102)는, 비트 19~16로 되며, 정지인지 아닌지를 나타내는 정보이다. 정지 사이클수(2103)는, 정지를 나타내는 코드(2102)가 정지를 나타내고 있을 때에 있어서의 정지 사이클수(정지 기간)에 대한 정보이다.
도 3에 있어서, 메모리 제어부(201)는, 메모리 장치(102)로부터의 정보의 판독 동작에 있어서, 판독한 정보의 비트 24~21을 참조하여, 데이터값이 「1111」이외일 때에, 판독한 정보가 통상의 설정 정보라고 판단하고, 로직 엘리먼트(200)에 정보를 그대로 전송하여, 통상 처리를 계속한다. 메모리 제어부(201)는, 판독 정보의 비트 24~21이 「1111」이고, REF 비트가 「1111」이외일 때에, 판독한 정보가 분기 코드라고 판단하고, 전술한 분기 동작을 행한다.
또, 메모리 제어부(201)는, 판독 정보의 비트 24~21이 「1111」인 한편, REF 비트가 「1111」일 때에, 판독 정보가 정지 코드라고 판단하고, 비트 0~7을 내부에 래치하고, 내부 카운터의 카운트업을 개시한다. 카운터값이 상기 래치 데이터의 값에 달할 때까지 카운트업은 계속하고, 동시에 로직 엘리먼트(200)에 동작을 정지하는 의사(擬似) 설정 정보, 예를 들면, 모두 0인 데이터를 계속해서 전송한다. 이 동안에, 메모리 제어부(201)는, 메모리 장치(102)의 정보 판독은 행하지않는다. 그 후에, 카운터값이 상기 래치 데이터의 값에 달한 시점에서, 메모리 제어부(201)는, 재차 메모리 장치(102)의 정보 판독을 개시하고 통상 동작을 재개한다.
이러한 제어를 이용하여, 연대 동작하는 다른 프로세서 엘리먼트(101)의 처리 완료 대기 상태에 있는 프로세서 엘리먼트(101), 또는, 자신의 처리 완료로 동작할 필요가 없어진 프로세서 엘리먼트(101)의 소비 전력을 억제할 수 있는 한편, 메모리 장치(102)에 있어서의 불필요한 영역을 삭감할 수 있다.
예를 들면, 도 15에 있어서, 회로 A 및 회로 B의 처리가 2 사이클로 완료하는 등의 경우에, 회로 C의 처리 완료까지 상기 의사(擬似) 정지 코드를 사이클마다 판독한 경우, 4×2=8 사이클분 메모리 영역이 정지 코드만으로 사용되어 버리게 된다. 정지 코드를 회로 A 및 회로 B의 영역 직후에 삽입함으로써, 6 사이클 분의 불필요한 코드를 삭감할 수 있게 된다. 동시에 이 기간의 메모리 액세스가 정지하기때문에, 그 만큼의 소비 전력을 억제할 수 있다. 또, 정지 사이클수의 영역에 정지 기간이 x 무한이 되는 값을 설정함으로써, 처음부터 사용하지 않는 프로세서 엘리먼트(101)의 소비 전력을 억제하는 것도 가능하다.
이상 설명한 것처럼, 본 발명의 실시형태 1, 2, 3에 따른 프로그래머블 논리 회로(100)는, 복수의 프로세서 엘리먼트(101)가 독립적으로 동작하는 것도 연대 동작하는 것도 가능하여, 복수 종류의 논리 처리를 동시에 병렬적으로 행할 수 있는 한편, 1 개의 논리 처리를 연대해서 행하는 것도 가능하다.
또, 본 발명의 실시형태 1, 2, 3에 따른 프로그래머블 논리 회로(100)는, 동일한 엘리먼트가 1 차원적으로 일렬로 배열되어 있기 때문에, 실장 규모에 따라 유연하게 대응할 수 있어, 확장성이 높다. 또, 본 발명의 실시형태 1, 2, 3에 따른 프로그래머블 논리 회로(100)는, 데이터 주고 받기를 인접한 프로세서 엘리먼트(101) 간으로 한정함으로써, 설정 정보를 큰폭으로 삭감할 수 있어, 회로 면적을 삭감할 수 있는 한편, 실장하는 LSI의 코스트 및 소비 전력을 삭감할 수 있다.
또, 본 발명의 실시형태 1, 2, 3에 따른 프로그래머블 논리 회로(100)는, 실장 엘리먼트수에 관계없이, 임의의 프로세서 엘리먼트(101)의 플립플롭으로부터 인접하는 다른 프로세서 엘리먼트(101)의 플립플롭까지의 배선 거리가 가장 짧으면서도 일정하기 때문에, 동작 주파수를 한계에까지 끌어올릴 수 있어, 종래의 프로그래머블 로직에 비교하여, 고속 동작이 가능해 졌다.
또, 본 발명의 실시형태 1, 2, 3에 따른 프로그래머블 논리 회로(100)는, 동일한 회로상에서, 반복하여 기능을 변경하면서 처리를 행하기 때문에, 회로 면적을 삭감할 수 있는 한편, 실장하는 LSI의 코스트 및 소비 전력을 삭감할 수 있다.
또한, 본 발명의 실시형태 1에 있어서, 내부 클록 신호(109)는, 반드시 사용 자 클록 신호(110)의 체배일 필요는 없으며, 예를 들면, 입출력 제어부(103)에 적절한 클록 승환(乘換) 회로를 이용함으로써, 사용자 클록 신호(110)에 동기하지 않는 클록 신호를 내부 클록 신호로서 이용해도 좋다.
또, 본 발명의 실시형태 1, 2, 3에 있어서, 메모리 장치(102)는, 프로그래머블 논리 회로(100)의 내부에 존재할 필요는 없으며, 프로그래머블 논리 회로(101)의 외부에 존재하는 구성이라도 좋다. 또, 본 발명의 실시형태 1, 2, 3에 있어서, 클록 생성 회로(107)는, 프로그래머블 논리 회로(100)의 내부에 설치해도 좋다.
또, 본 발명의 실시형태 1, 2, 3에 있어서, 메모리 장치(102)와 프로세서 엘리먼트(101)의 사이에 멀티플렉서(multiplexer)등의 선택 회로를 삽입하여, 설정에 따라 메모리 장치(102)와 각 프로세서 엘리먼트(101)와의 접속을 변경 가능하게 해도 좋다. 다만, 이 경우에는 데이터의 처리 지연량이 증가하기 때문에, 주파수를 유지하기 위해서는, 파이프라인(pipeline)등을 이용해 고속화를 꾀할 필요가 있다.
또, 본 발명의 실시형태 1, 2, 3에 있어서, 도 3에 나타내는 로직 엘리먼트(200)의 내부의 각 블록, 로직셀(300), 크로스커넥트 스위치(301) 및 플립플롭(302) 간의 접속 및 상기 각 블록과 입력 버스(105), 출력 버스(106) 및 인접하는 로직 엘리먼트(200)의 접속은, 도 3의 것으로 한정되는 것은 아니며, 예를 들면, 로직셀(300)과 크로스커넥트 스위치(301)의 사이에 플립플롭을 설치하여, 한층 더 동작 주파수를 높여도 좋다. 또, 본 발명의 실시형태 1에 있어서, 입력 버스(105)로부터의 데이터는 크로스커넥트 스위치(301)가 아니라, 로직셀(300) 또는 플립플롭(302)에 입력해도 괜찮다.
또, 본 발명의 실시형태 1에 있어서, 복수의 프로세서 엘리먼트(101)의 각각은, 다른 프로세서 엘리먼트(101)에 접속되어 있지 않아도 좋다.
(실시형태 4)
다음에, 본 발명의 실시형태 4에 대해, 도면을 참조하여 상세하게 설명한다.
도 22는, 본 발명의 실시형태 4에 따른 프로그래머블 논리 회로의 구성을 나타내는 블록도이다. 본 발명의 실시형태 4에 있어서는, 본 발명의 실시형태 1과 동일한 구성요소에는 동일한 참조 부호가 붙으며 그 설명이 생략된다.
도 22에 나타내는 바와 같이, 본 발명의 실시형태 4에 따른 프로그래머블 논리 회로(2200)는, 복수의 프로세서 엘리먼트(101), 복수의 메모리 장치(102), 입출력 제어부(103), 제어 버스(104), 입력 버스(105) 및 출력 버스(106)를 구비하고 있다. 프로그래머블 논리 회로(2200)에는, 클록 생성 회로(107) 및 사용자 회로(108)가 접속되어 있다.
복수의 프로세서 엘리먼트(101)와 복수의 메모리 장치(102)는, 1대 1로 접속되어 있다. 1대 1로 접속되어 있는 프로세서 엘리먼트(101)와 메모리 장치(102)는, 단위 논리 회로를 구성하고 있다. 복수의 단위 논리 회로는, 병렬로 접속되어 있다.
복수의 프로세서 엘리먼트(101)의 각각은, 1 차원적으로 일렬상에 배치되어 있으며, 물리 배치상으로 인접하는 2개의 다른 프로세서 엘리먼트(101)와 접속선(101 a)으로 접속되어 있다. 즉, 복수의 단위 논리 회로는, 1 차원적으로 일렬로 배치되어 있으며, 복수의 단위 논리 회로에 있어서의 1의 상기 단위 논리 회로 와 해당 1의 상기 단위 논리 회로에 대해서 물리적 배치상으로 인접하는 다른 상기 단위 논리 회로는, 접속선(101a)으로 접속되어 있다.
프로세서 엘리먼트(101)는, 접속선을 이용하여 인접하는 2개의 다른 프로세서 엘리먼트(101)와의 사이에서 데이터를 주고받는다.
입출력 제어부(103)는, 외부와의 인터페이스 회로로 되어 있으며, 사용자 회로(108)와 접속되어 있다. 입출력 제어부(103)는, 사용자 회로(108)로부터 입력 신호(1081) 및 인덱스 지시 신호(1082)를 받는다. 제어 버스(104)는, 입출력 제어부(103) 및 프로세서 엘리먼트(101)와 접속되어 있다. 제어 버스(104)는, 초기화 및 기동 등의 제어 신호를 입출력 제어부(103)로부터 받아, 각 프로세서 엘리먼트(101)에 전송한다. 입력 버스(105)는, 입출력 제어부(103) 및 프로세서 엘리먼트(101)와 접속되어 있다. 입력 버스(105)는, 논리 연산에 이용하는 데이터를 입출력 제어부(103)로부터 받아, 각 프로세서 엘리먼트(101)에 전송한다.
출력 버스(106)는, 입출력 제어부(103) 및 프로세서 엘리먼트(101)와 접속되어 있다. 출력 버스(106)는, 연산 결과 데이터를 프로세서 엘리먼트(101)로부터 받아, 입출력 제어부(103)에 전송한다. 클록 생성 회로(107)은, 내부 클록 신호(109) 및 사용자 클록 신호(110)를 생성한다. 사용자 클록 신호(110)는, 사용자 회로(108) 및 입출력 제어부(103)에서 사용된다. 내부 클록 신호(109)는, 사용자 클록 신호(110)의 체배 주파수로 되어 있으며, 프로그래머블 논리 회로(2200)의 내부에서 사용된다. 인덱스 버스(2201)는, 입출력 제어부(103) 및 프로세서 엘리먼트(101)와 접속되어 있다.
다음에, 본 프로그래머블 논리 회로(2200)의 기능에 관해서, 도면을 참조하여 설명한다.
도 22에 있어서, 프로그래머블 논리 회로(2200)가 행하는 논리 연산 처리의 내용은, 메모리 장치(102)에 설정 정보로서 보유되고 있다. 각 프로세서 엘리먼트(101)는, 메모리 장치(102)의 설정 정보를 순차적으로 판독하여, 대응하는 논리 연산 처리를 행한다. 프로그래머블 논리 회로(2200)는, 사용자 회로(108)로 부터 사용자 클록 신호(110)에 동기하여 기동 신호 및 논리 연산에 이용하는 데이터를 받는다. 그 후 일정시간 경과 후에, 프로그래머블 논리 회로(2200)는, 논리 연산 처리 후의 데이터를 사용자 회로(108)에 사용자 클록 신호(110)에 동기해서 보내준다.
다음에, 프로그래머블 논리 회로(2200)의 내부 블록의 기능에 관해서, 도면을 참조하여 설명한다.
도 22에 있어서, 각 메모리 장치(102)에는, 인접하는 프로세서 엘리먼트(101)의 설정 정보가 격납되어 있다. 메모리 장치(102)는, 프로세서 엘리먼트(101)로부터 제어 신호와 메모리 어드레스가 입력되면, 어드레스로 지정된 설정 정보를 프로세서 엘리먼트(101)에게 준다. 프로세서 엘리먼트(101)는, 이 설정 정보에 기초하여, 실행할 처리 내용을 결정한다.
프로세서 엘리먼트(101)는, 제어 버스(104)로부터 초기화 신호가 입력되면, 메모리 장치(102)의 특정 어드레스를 판독하고, 입력되는 판독 데이터로부터 설정 정보의 격납 위치 어드레스를 추출하여 보유한다. 이 격납 위치 어드레스는, 설정 정보의 선두 위치를 나타내는 어드레스이다.
또, 프로세서 엘리먼트(101)는, 제어 버스(104)로부터 기동 신호가 입력되면, 메모리 장치(102)의 상기 보유하고 있던 격납 위치 어드레스부터 순차적으로 설정 정보를 판독한다. 또, 프로세서 엘리먼트(101)는, 입력 버스(105) 및 인접하는 프로세서 엘리먼트(101)로부터 논리 처리용 데이터를 받아, 설정 정보에 기초하여 데이터의 논리 처리를 행한 후에 데이터의 정렬, 복제 및 반전 처리를 행하는 한편, 처리 후의 데이터를 보유한다. 또, 프로세서 엘리먼트(101)는, 보유하고 있던 처리 후의 데이터를 출력 버스(106) 및 인접하는 프로세서 엘리먼트(101)에 출력한다.
이와 같이 하여, 복수의 프로세서 엘리먼트(101)는, 데이터를 주고받는다. 입출력 제어부(103)는, 사용자 회로(108)로부터 사용자 클록 신호(110)에 동기한 기동 신호 및 논리 처리용 데이터를 받아, 이 데이터를 내부 클록 신호(109)에 동기시켜 입력 버스(105)에게 준다. 또, 입출력 제어부(103)는, 사용자 회로(108)로부터 사용자 클록 신호(110)에 동기한 초기화 신호를 받아, 이 데이터를 내부 클록 신호(109)에 동기시켜 입력 버스(105)에 출력한다. 또, 입출력 제어부(103)는, 출력 버스(106)로부터 내부 클록 신호(109)에 동기한 논리 처리 후의 데이터를 받아, 이 데이터를 사용자 클록 신호(110)에 동기시켜 사용자 회로(108)에 출력한다. 이와 같이 하여, 입출력 제어부(103)는, 사용자 회로(108)와의 제어 신호, 논리 처리용 및 처리 결과의 데이터를 주고 받는다.
다음에, 프로그래머블 논리 회로(2200)의 내부의 프로세서 엘리먼트(101)의 구성에 대해, 도면을 참조하여 설명한다.
도 23은, 프로세서 엘리먼트(101)의 구성을 나타내고 있다. 도 23에 나타내는 바와 같이, 프로세서 엘리먼트(101)는, 로직 엘리먼트(200) 및 메모리 제어부(201)를 구비하고 있다. 프로세서 엘리먼트(101)는, 메모리 장치(102), 제어 버스(104), 입력 버스(105) 및 출력 버스(106)와 접속되어 있다. 메모리 제어부(201)는, 메모리 장치(102), 로직 엘리먼트(200) 및 제어 버스(104)와 접속되어 있다. 로직 엘리먼트(200)는, 인접하는 프로세서 엘레먼트(101)의 로직 엘리먼트(200) 및 메모리 제어부(201), 입력 버스(105) 및 출력 버스(106)와 접속되어 있다.
다음에, 프로세서 엘리먼트(101)의 기능에 대해, 도면을 참조하여 설명한다. 도 23에 있어서, 메모리 제어부(201)는, 제어 버스(104)로부터 초기화 신호를 받으면, 전술한 격납 위치 어드레스의 추출 및 보유 처리를 행한다. 메모리 제어부(201)는, 제어 버스(104)로부터 기동 신호가 입력되면, 메모리 장치(102)의 상기 보유하고 있던 격납 위치 어드레스부터 순차적으로 설정 정보를 판독하여, 일시적으로 기억하여 로직 엘리먼트(200)에 전송한다.
로직 엘리먼트(200)는, 입력 버스(105) 및 인접하는 프로세서 엘리먼트(101)로 부터 데이터를 받아, 메모리 제어부(201)로부터 전송되는 설정 정보에 기초하여 데이터의 논리 처리를 행한 후에 데이터의 정렬, 복제 및 반전 처리를 행하는 한편, 처리 후의 데이터를 보유한다. 또, 로직 엘리먼트(200)는, 메모리 제어부(201)로부터 전송되는 설정 정보에 기초하여, 출력 버스(106) 및 인접하는 프로 세서 엘리먼트(101)에 처리 후의 데이터를 출력한다.
다음에, 프로세서 엘리먼트(101)의 내부의 로직 엘리먼트(200)의 구성 및 설정 정보의 구성에 대해, 도면을 참조하여 설명한다.
도 24에는, 로직 엘리먼트(200)의 구성이 표시되어 있다. 도 25에는, 설정 정보와 메모리 장치(102)의 구성이 표시되어 있다.
도 24에 있어서, 로직 엘리먼트(200)는, 로직셀(논리 연산 회로)(300), 크로스커넥트 스위치(데이터 처리 장치) (301) 및 플립플롭(302)을 구비하고 있다. 로직 엘리먼트(200)는, 메모리 제어부(201), 입력 버스(105) 및 출력 버스(106)와 접속되어 있다. 로직셀(300)은, 메모리 제어부(201), 플립플롭(302) 및 크로스커넥트 스위치(301)와 접속되어 있다. 크로스커넥트 스위치(301)는, 메모리 제어부(201), 로직셀(300), 플립플롭(302), 입력 버스(105) 및 인접하는 로직 엘리먼트(200)의 내부의 로직셀(300)과 접속되어 있다. 플립플롭(302)은, 로직셀(300), 크로스커넥트 스위치(301) 및 출력 버스(106)와 접속되어 있다.
또한, 로직셀(300)은, 논리 연산 회로를 구성하고 있다. 또, 크로스커넥트 스위치(301)는, 데이터 처리 장치를 구성하고 있다. 또, 크로스커넥트 스위치(301) 및 플립플롭(302)은, 데이터 처리 장치를 구성하고 있다.
도 25는, 메모리 장치의 구성을 나타내고 있다. 도 25에 있어서, 메모리 장치(102)의 내부의 선두 부분에는, 설정 정보의 격납 어드레스 정보가 격납되어 있다. 메모리 장치(102)의 내부에 있어서의 선두 부분 이외의 특정 영역에는, 설정 정보가 격납되어 있다.
도 25에 있어서, 비트 25~28은 로직셀(300)의 설정 정보이며, 비트 0~24는 크로스커넥트 스위치(301)의 접속 정보이다. 비트 0~24는, 5비트 단위로 크로스커넥트 스위치(301)의 5개의 출력에 대응하는 4비트의 접속 정보 및 1비트의 반전 제어 정보로 구성되어 있다.
다음에, 로직 엘리먼트(200)의 기능에 대해, 도면을 참조하여 설명한다. 도 24에 있어서, 로직셀(300)은, 플립플롭(302)으로부터 입력되는 데이터에 대해, 메모리 제어부(201)로부터 전송 되는 설정 정보에 의해 지정되는 특정의 논리 처리를 행하고, 크로스커넥트 스위치(301), 인접하는 프로세서 엘리먼트(101)의 로직 엘리먼트(200)에 처리 후의 데이터를 출력한다. 크로스커넥트 스위치(301)는, 로직셀(300), 입력 버스(105), 인접하는 프로세서 엘리먼트(101)의 로직 엘리먼트(200)로부터 입력되는 데이터에 대해, 메모리 제어부(201)로부터 전송되는 설정 정보에 의해 지정되는 특정 데이터의 정렬, 복제 및 반전 처리를 행하고, 플립플롭(302)에 처리 후의 데이터를 출력한다. 플립플롭(302)은, 크로스커넥트 스위치(301)로부터 입력되는 데이터를, 내부 클록 신호(109)의 타이밍으로 보유한다.
플립플롭(302)은, 보유하고 있던 데이터를 로직셀(300) 및 출력 버스(106)에 출력한다.
본 발명의 실시형태 4에 따른 로직셀(300) 및 크로스커넥트 스위치(301)의 기능 및 동작은, 본 발명의 실시형태 1에 따른 것과 동일하다. 또, 본 발명의 실시형태 4에 따른 프로그래머블 논리 회로(2200)의 기능 및 동작은, 인덱스 지시 신호(1082)를 처리하는 기능 및 동작, 및, 데이터 버스(111)를 가지지 않는 점을 제 외하면, 본 발명의 실시형태 1에 따른 것과 동일하다.
다음에, 입출력 제어부(103)가 사용자 회로(108)로부터 인덱스 지시 신호(1082)를 받았을 때에 있어서의 동작에 대해, 도면을 참조하여 설명한다.
도 22에 나타내는 바와 같이, 사용자는, 사용자 회로(108)를 조작함으로써, 제1 및 제2의 설정 정보 중 소망하는 것을 우선적으로 지정하기 위한 인덱스 지시 신호를 사용자 회로(108)에 생성시킬 수 있다. 사용자 회로(108)는, 인덱스 지시 신호(1082)를 입출력 제어부(103)에게 준다.
도 23 및 도 24에 나타내는 바와 같이, 입출력 제어부(103)는, 인덱스 지시 신호(1082)를 받았을 때에 이 인덱스 지시 신호(1082)에 따른 인덱스 정보를 생성하여 인덱스 버스(2201)를 경유하여 프로세서 엘리먼트(101)의 메모리 제어부(201)에게 준다.
메모리 제어부(201)는, 인덱스 정보를 받았을 때에 인덱스 정보에 기초하여 메모리 장치(102)의 특정 어드레스를 판독하고, 설정 정보의 격납 위치 어드레스의 선두 위치를 나타내는 선두 위치 어드레스를 추출하여 기억한다.
로직 엘리먼트(200)는, 입출력 제어부(103)로부터 데이터 및 제어 신호를 받으면, 메모리 제어부(201)에 기억되어 있는 설정 정보의 격납 위치 어드레스의 선두 위치를 나타내는 선두 위치 어드레스에 기초하여, 전술한 바와 같이, 메모리 장치(102)로부터 순차적으로 판독하는 설정 정보의 어느 것인가에 기초하여 로직셀(300)과 크로스커넥트 스위치(301)의 일부 또는 전부의 기능을 순차적으로 변경하여 소정의 순서 회로의 동작을 행한다.
이와 같이, 프로그래머블 논리 회로(2200)는, 단독 동작을 행하는 프로세서 엘리먼트(101)의 집합체로서, 각 프로세서 엘리먼트(101)는, 주로 인접하는 프로세서 엘리먼트(101)와의 사이에서 연대 동작을 행한다. 또, 복수의 인접 프로세서 엘리먼트(101)가 하나의 그룹으로서 하나의 논리 처리를 행하는 것도 가능하다.
이상 설명한 것처럼, 본 발명의 실시형태 4에 따른 프로그래머블 논리 회로(2200)는, 복수의 프로세서 엘리먼트(101)가 독립적으로 동작하는 것도 연대 동작하는 것도 가능하여, 복수 종류의 논리 처리를 동시에 병렬적으로 행하는 것이 가능한 한편, 하나의 논리 처리를 연대하여 행하는 것도 가능하다.
또, 본 발명의 실시형태 4에 따른 프로그래머블 논리 회로(2200)는, 동일한 엘리먼트가 1 차원적으로 일렬로 배열되어 있기 때문에, 실장 규모에 따라 유연하게 대응할 수 있어, 확장성이 높다. 또, 본 발명의 실시형태 4에 따른 프로그래머블 논리 회로(2200)는, 데이터의 주고 받기를 인접하는 프로세서 엘리먼트(101) 간으로 한정함으로써, 설정 정보를 큰폭으로 삭감할 수 있어, 회로 면적을 삭감할 수 있는 한편, 실장하는 LSI의 코스트 및 소비 전력을 삭감할 수 있다.
또, 본 발명의 실시형태 4에 따른 프로그래머블 논리 회로(2200)는, 실장 엘리먼트수에 관계없이, 임의의 프로세서 엘리먼트(101)의 플립플롭으로부터 인접하는 다른 프로세서 엘리먼트(101)의 플립플롭까지의 배선 거리가 가장 짧으면서도 일정하기 때문에, 동작 주파수를 한계에까지 끌어올릴 수 있어, 종래의 프로그래머블 로직에 비교하여, 고속 동작이 가능하다.
또, 본 발명의 실시형태 4에 관계되는 프로그래머블 논리 회로(2200)는, 동 일한 회로상에서, 반복 기능을 변경하면서 처리를 행하기 때문에, 회로 면적을 삭감할 수 있는 한편, 실장하는 LSI의 코스트 및 소비 전력을 삭감할 수 있다.
또한, 본 발명의 실시형태 4에 있어서, 내부 클록 신호(109)는, 반드시 사용자 클록 신호(110)의 체배일 필요는 없고, 예를 들면, 입출력 제어부(103)에 적절한 클록 승환(乘換) 회로를 이용함으로써, 사용자 클록 신호(110)에 동기하지 않는 클록 신호를 내부 클록 신호로서 이용해도 좋다.
또, 본 발명의 실시형태 4에 있어서, 메모리 장치(102)는, 프로그래머블 논리 회로(2200)의 내부에 존재할 필요는 없으며, 프로그래머블 논리 회로(2200)의 외부에 존재하는 구성이라도 좋다. 또, 본 발명의 실시형태 4에 있어서, 클록 생성 회로(107)는, 프로그래머블 논리 회로(2200)의 내부에 배치해도 좋다.
또, 본 발명의 실시형태 4에 있어서, 메모리 장치(102)와 프로세서 엘리먼트(101)와의 사이에 멀티플렉서 등의 선택 회로를 삽입하여, 설정에 따라 메모리 장치(102)와 각 프로세서 엘리먼트(101)의 접속을 변경 가능하게 해도 좋다. 다만, 이 경우에는 데이터의 처리의 지연량이 증가하기 때문에, 주파수를 유지하기 위해서는, 파이프라인 등을 이용하여 고속화를 꾀할 필요가 있다.
또, 본 발명의 실시형태 4에 있어서, 도 24에 나타내는 로직 엘리먼트(200)의 내부의 각 블록, 로직셀(300), 크로스커넥트 스위치(301) 및 플립플롭(302) 간의 접속 및 상기 각 블록과 입력 버스(105), 출력 버스(106) 및 인접하는 로직 엘리먼트(200)의 접속은, 도 3의 것으로 한정되는 것은 아니며, 예를 들면, 로직셀(300)과 크로스커넥트 스위치(301)의 사이에 플립플롭을 설치하여, 한층 더 동작 주파수를 높여도 좋다. 또, 본 발명의 실시형태 4에 있어서, 입력 버스(105)로부터의 데이터는 크로스커넥트 스위치(301)가 아니라, 로직셀(300) 또는 플립플롭(302)에 입력해도 좋다.
또, 본 발명의 실시형태 4에 있어서, 복수의 프로세서 엘리먼트(101)의 각각은, 다른 프로세서 엘리먼트(101)와 접속되어 있지 않아도 좋다.
본 발명의 제1의 형태는, 병렬로 접속되어 있는 복수의 단위 논리 회로와, 외부로부터 받는 입력 신호를 상기 복수의 단위 논리 회로에 공급하는 입력 신호 제어 수단과, 상기 복수의 단위 논리 회로의 출력 신호를 외부에 공급하는 출력 신호 제어 수단을 구비하고, 상기 복수의 단위 논리 회로의 각각은, 제1의 설정 정보에 기초하여 기능 변경이 가능하여 상기 입력 신호에 소정의 논리 연산 처리를 행하여 데이터를 생성하는 논리 연산 수단과, 제2의 설정 정보에 기초하여 상기 논리 연산 수단으로부터의 상기 데이터의 정렬과 복제와 반전 처리를 행하여 데이터를 생성해서 상기 출력 신호로서 상기 출력 신호 제어 수단에게 주는 데이터 처리 수단과, 상기 제1 및 제2의 설정 정보를 기억하는 기억 수단과, 분기용 설정 정보를 받아 해당 분기용 설정 정보에 기초하여 상기 기억 수단의 상기 제1 및 제2의 설정 정보의 어느 것인가를 판독하여 상기 논리 연산 수단과 상기 데이터 처리 수단에게 주어 제어하는 메모리 제어 수단을 구비하고, 상기 복수의 단위 논리 회로의 각각은, 상기 기억 수단으로부터 순차적으로 판독하는 상기 제1 및 제2의 설정 정보에 기초하여 상기 논리 연산 수단과 상기 데이터 처리 수단의 일부 또는 전부의 기능을 순차적으로 변경하여 소정의 순서 회로의 동작을 행하는 구성을 취한다.
이 구성에 의하면, 복수의 단위 논리 회로의 각각이 기억 수단으로부터 순차적으로 판독하는 제1 및 제2의 설정 정보에 기초하여 논리 연산 회로와 데이터 처리 수단의 일부 또는 전부의 기능을 순차적으로 변경하여 소정의 순서 회로의 동작을 행하기 때문에, 높은 면적 효율을 가져, 대규모 논리 회로를 고속으로 실현할 수 있는 저가격의 프로그래머블 논리 회로를 제공할 수 있다. 또, 이 구성에 의하면, 복수의 단위 논리 회로의 각각이 분기용 설정 정보를 받아 해당 분기용 설정 정보에 기초하여 상기 기억 수단의 상기 제1 및 제2의 설정 정보의 어느 것인가를 판독하여 논리 연산 수단과 데이터 처리 수단에게 주어 제어하기 때문에, 보다 범용성 있는 프로그래머블 논리 회로를 제공할 수 있다.
본 발명의 제2의 형태는, 병렬로 접속되어 있는 복수의 단위 논리 회로와, 외부로부터 받는 입력 신호를 상기 복수의 단위 논리 회로에 공급하는 입력 신호 제어 수단과, 상기 복수의 단위 논리 회로의 출력 신호를 외부에 공급하는 출력 신호 제어 수단을 구비하고, 상기 복수의 단위 논리 회로의 각각은, 제1의 설정 정보에 기초하여 기능의 변경이 가능하여 상기 입력 신호에 소정의 논리 연산 처리를 행하여 데이터를 생성하는 논리 연산 수단과, 제2의 설정 정보에 기초하여 상기 논리 연산 수단으로부터의 상기 데이터의 정렬과 복제와 반전 처리를 행하여 데이터를 생성해서 상기 출력 신호로서 상기 출력 신호 제어 수단에게 주는 데이터 처리 수단과, 상기 제1 및 제2의 설정 정보를 기억하는 기억 수단과, 정지용 설정 정보를 받아 해당 정지용 설정 정보에 기초하여 상기 논리 연산 수단과 상기 데이터 처리 수단의 정지를 제어하는 메모리 제어 수단을 구비하고, 상기 복수의 단위 논리 회로의 각각은, 상기 기억 수단으로부터 순차적으로 판독하는 상기 제1 및 제2의 설정 정보에 기초하여 상기 논리 연산 수단과 상기 데이터 처리 수단의 일부 또는 전부의 기능을 순차적으로 변경하여 소정의 순서 회로의 동작을 행하는 구성을 취한다.
이 구성에 의하면, 복수의 단위 논리 회로의 각각이 기억 수단으로부터 순차적으로 판독하는 제1 및 제2의 설정 정보에 기초하여 논리 연산 회로와 데이터 처리 수단의 일부 또는 전부의 기능을 순차적으로 변경하여 소정의 순서 회로의 동작을 행하기 때문에, 높은 면적 효율을 가져, 대규모 논리 회로를 고속으로 실현할 수 있는 저가격의 프로그래머블 논리 회로를 제공할 수 있다. 또, 이 구성에 의하면, 정지용 설정 정보를 받아 해당 정지용 설정 정보에 기초하여 논리 연산 수단과 데이터 처리 수단의 정지를 제어하기 때문에, 보다 범용성 있는 프로그래머블 논리 회로를 제공할 수 있다.
본 발명의 제3의 형태는, 본 발명의 제1의 형태에 있어서, 상기 논리 연산 수단이, 상기 제1의 설정 정보에 기초하여 기능의 변경이 가능하여 상기 입력 신호에 소정의 논리 연산 처리를 행하여 상기 데이터를 생성하는 로직셀을 구비하는 구성을 취한다.
이 구성에 의하면, 본 발명의 제1의 형태와 동일한 발명의 효과를 가진다.
본 발명의 제4의 형태는, 본 발명의 제1의 형태에 있어서, 상기 데이터 처리 수단이, 상기 제2의 설정 정보에 기초하여 상기 논리 연산 수단으로부터의 상기 데이터의 정렬과 복제와 반전 처리를 행하여 상기 데이터를 생성하는 크로스커넥트 스위치를 구비하는 구성을 취한다.
이 구성에 의하면, 본 발명의 제1의 형태와 동일한 효과를 가진다.
본 발명의 제5의 형태는, 본 발명의 제4의 형태에 있어서, 상기 데이터 처리 수단이, 상기 크로스커넥트 스위치로부터의 상기 데이터를 보유하여 상기 출력 신호로서 상기 출력 신호 제어 수단에게 주는 플립플롭을 구비하는 구성을 취한다.
이 구성에 의하면, 본 발명의 제4의 형태와 동일한 효과를 가진다.
본 발명의 제6의 형태는, 병렬로 접속되어 있는 복수의 단위 논리 회로와, 외부로부터 받는 입력 신호를 상기 복수의 단위 논리 회로에 공급하는 입력 신호 제어 수단과, 상기 복수의 단위 논리 회로에 있어서의 1의 상기 단위 논리 회로와 해당1의 상기 단위 논리 회로에 대해서 물리적 배치상으로 인접하는 다른 상기 단위 논리 회로를 접속하는 접속 수단과, 상기 복수의 단위 논리 회로의 출력 신호를 외부에 공급하는 출력 신호 제어 수단을 구비하고, 상기 복수의 단위 논리 회로의 각각은, 제1의 설정 정보에 기초하여 기능의 변경이 가능하여 상기 입력 신호 및 인접의 상기 다른 단위 논리 회로로부터의 데이터의 어느 것인가에 소정의 논리 연산 처리를 행하여 데이터를 생성하는 논리 연산 수단과, 제2의 설정 정보에 기초하여 상기 논리 연산 수단으로부터의 상기 데이터의 정렬과 복제와 반전 처리를 행하여 데이터를 생성해서 상기 출력 신호로서 상기 출력 신호 제어 수단에게 주는 데이터 처리 수단과, 상기 제1 및 제2의 설정 정보를 기억하는 기억 수단과, 분기용 설정 정보를 받아 해당 분기용 설정 정보에 기초하여 상기 기억 수단의 상기 제1 및 제2의 설정 정보의 어느 것인가를 판독하는 상기 논리 연산 수단과 상기 데이터 처리 수단에게 주어 제어하는 메모리 제어 수단을 구비하고, 상기 복수의 단위 논리 회로의 각각은, 상기 기억 수단으로부터 순차적으로 판독하는 상기 제 1 및 제2의 설정 정보에 기초하여 상기 논리 연산 수단과 상기 데이터 처리 수단의 일부 또는 전부의 기능을 순차적으로 변경하여 소정의 순서 회로의 동작을 행하는 구성을 취한다.
이 구성에 의하면, 복수의 단위 논리 회로의 각각이 기억 수단으로부터 순차적으로 판독하는 제1 및 제2의 설정 정보에 기초하여 논리 연산 회로와 데이터 처리 수단의 일부 또는 전부의 기능을 순차적으로 변경하여 소정의 순서 회로의 동작을 행하기 때문에, 높은 면적 효율을 가져, 대규모 논리 회로를 고속으로 실현할 수 있는 저가격의 프로그래머블 논리 회로를 제공할 수 있다. 또, 이 구성에 의하면, 입력 신호 및 인접하는 다른 단위 논리 회로로부터의 데이터의 어느 것인가에 소정의 논리 연산 처리를 행하여 데이터를 생성하는 하는 한편, 복수의 단위 논리 회로의 각각이 분기용 설정 정보를 받아 해당 분기용 설정 정보에 기초하여 기억 수단의 제1 및 제2의 설정 정보의 어느 것인가를 판독하여 논리 연산 수단과 데이터 처리 수단에게 주어 제어하기 때문에, 보다 범용성 있는 프로그래머블 논리 회로를 제공할 수 있다.
본 발명의 제7의 형태는, 병렬로 접속되어 있는 복수의 단위 논리 회로와, 외부로부터 받는 입력 신호를 상기 복수의 단위 논리 회로에 공급하는 입력 신호 제어 수단과, 상기 복수의 단위 논리 회로에 있어서의 1의 상기 단위 논리 회로와 해당1의 상기 단위 논리 회로에 대해서 물리적 배치상으로 인접하는 다른 상기 단 위 논리 회로를 접속하는 접속 수단과, 상기 복수의 단위 논리 회로의 출력 신호를 외부에 공급하는 출력 신호 제어 수단을 구비하고, 상기 복수의 단위 논리 회로의 각각은, 제1의 설정 정보에 기초하여 기능의 변경이 가능하여 상기 입력 신호 및 인접하는 상기 다른 단위 논리 회로로부터의 데이터의 어느 것인가에 소정의 논리 연산 처리를 행하여 데이터를 생성하는 논리 연산 수단과, 제2의 설정 정보에 기초하여 상기 논리 연산 수단으로부터의 상기 데이터의 정렬과 복제와 반전 처리를 행하여 데이터를 생성해서 상기 출력 신호로서 상기 출력 신호 제어 수단에게 주는 데이터 처리 수단과, 상기 제1 및 제2의 설정 정보를 기억하는 기억 수단과, 정지용 설정 정보를 받아 해당 정지용 설정 정보에 기초하여 상기 논리 연산 수단과 상기 데이터 처리 수단의 정지를 제어하는 메모리 제어 수단을 구비하고, 상기 복수의 단위 논리 회로의 각각은, 상기 기억 수단으로부터 순차적으로 판독하는 상기 제1 및 제2의 설정 정보에 기초하여 상기 논리 연산 수단과 상기 데이터 처리 수단의 일부 또는 전부의 기능을 순차적으로 변경하여 소정의 순서 회로의 동작을 행하는 구성을 취한다.
이 구성에 의하면, 복수의 단위 논리 회로의 각각이 기억 수단으로부터 순차적으로 판독하는 제1 및 제2의 설정 정보에 기초하여 논리 연산 회로와 데이터 처리 수단의 일부 또는 전부의 기능을 순차적으로 변경해서 소정의 순서 회로의 동작을 행하기 때문에, 높은 면적 효율을 가져, 대규모 논리 회로를 고속으로 실현할 수 있는 저가격의 프로그래머블 논리 회로를 제공할 수 있다. 또, 이 구성에 의하면, 입력 신호 및 인접하는 다른 단위 논리 회로로부터의 데이터의 어느 것인가에 소정의 논리 연산 처리를 행하여 데이터를 생성하는 한편, 정지용 설정 정보를 받아 해당 정지용 설정 정보에 기초하여 논리 연산 수단과 데이터 처리 수단의 정지를 제어하기 때문에, 보다 범용성이 있는 프로그래머블 논리 회로를 제공할 수 있다.
본 발명의 제8의 형태는, 본 발명의 제7의 형태에 있어서, 상기 논리 연산 수단이, 상기 제1의 설정 정보에 기초하여 기능의 변경이 가능하여 상기 입력 신호 또는 인접하는 상기 다른 단위 논리 회로로부터의 상기 데이터에 소정의 논리 연산 처리를 행하여 상기 데이터를 생성하는 로직셀을 구비하는 구성을 취한다.
이 구성에 의하면, 본 발명의 제7의 형태와 동일한 효과를 가진다.
본 발명의 제9의 형태는, 본 발명의 제6의 형태에 있어서, 상기 데이터 처리 수단이, 상기 제2의 설정 정보에 기초하여 상기 논리 연산 수단으로부터의 상기 데이터의 정렬과 복제와 반전 처리를 행하여 상기 데이터를 생성하는 크로스커넥트 스위치를 구비하는 구성을 취한다.
이 구성에 의하면, 본 발명의 제6의 형태와 동일한 효과를 가진다.
본 발명의 제10의 형태는, 본 발명의 제9의 형태에 있어서, 상기 데이터 처리 수단이, 상기 크로스커넥트 스위치로부터의 상기 데이터를 보유하여 상기 출력 신호로서 상기 출력 신호 제어 수단에게 주는 플립플롭을 구비하는 구성을 취한다.
이 구성에 의하면, 본 발명의 제9의 형태와 동일한 효과를 가진다.
본 발명의 제11의 형태는, 병렬로 접속되어 있는 복수의 단위 논리 회로와, 외부로부터 받는 입력 신호를 상기 복수의 단위 논리 회로에 공급하는 입력 신호 제어 수단과, 상기 복수의 단위 논리 회로의 출력 신호를 외부에 공급하는 출력 신호 제어 수단을 구비하고, 상기 입력 신호 제어 수단은, 상기 입력 신호에 기초하여 제어 신호를 상기 복수의 단위 논리 회로에게 주는 수단과, 인덱스 지시 신호를 받았을 때에 인덱스 정보를 상기 복수의 단위 논리 회로에게 주는 수단을 가지며, 상기 복수의 단위 논리 회로의 각각이, 제1의 설정 정보의 어느 것인가에 기초하여 기능의 변경이 가능하여 상기 입력 신호에 소정의 논리 연산 처리를 행하여 데이터를 생성하는 논리 연산 수단과, 제2의 설정 정보의 어느 것인가에 기초하여 상기 논리 연산 수단으로부터의 상기 데이터의 정렬과 복제와 반전 처리를 행하여 데이터를 생성해서 상기 출력 신호로서 상기 출력 신호 제어 수단에게 주는 데이터 처리 수단과, 상기 제1 및 제2의 설정 정보를 기억하는 기억 수단과, 상기 제어 신호 및 상기 인덱스 정보의 어느 것인가를 받았을 때에 해당 제어 신호 및 해당 인덱스 정보의 어느 것인가에 기초하여 상기 기억 수단에 있어서의 상기 제1및 제2의 설정 정보의 격납 위치 어드레스의 선두 위치를 나타내는 선두 위치 어드레스를 기억하는 메모리 제어수단을 구비하고, 상기 복수의 단위 논리 회로의 각각이, 상기 메모리 제어 수단에 기억되어 있는 상기 선두 위치 어드레스에 기초하여 상기 기억 수단으로부터 순차적으로 판독하는 상기 제1및 제2의 설정 정보의 어느 것인가에 기초하여 상기 논리 연산 수단과 상기 데이터 처리 수단의 일부 또는 전부의 기능을 순차적으로 변경하여 소정의 순서 회로의 동작을 행하는 구성을 취한다.
이 구성에 의하면, 복수의 단위 논리 회로의 각각이 제어 신호 및 인덱스 지시 신호에 기초하여 기억 수단으로부터 순차적으로 판독하는 제1 및 제2의 설정 정 보에 기초하여 논리 연산 회로와 데이터 처리 수단의 일부 또는 전부의 기능을 순차적으로 변경하여 소정의 순서 회로의 동작을 행하기 때문에, 높은 면적 효율을 가져, 대규모 논리 회로를 고속으로 실현할 수 있는 저가격의 프로그래머블 논리 회로를 제공할 수 있다.
본 발명의 제12의 형태는, 본 발명의 제11의 형태에 있어서, 상기 논리 연산 수단이, 상기 제1의 설정 정보에 기초하여 기능의 변경이 가능하여 상기 입력 신호에 소정의 논리 연산 처리를 행하여 상기 데이터를 생성하는 로직셀을 구비하는 구성을 취한다.
이 구성에 의하면, 복수의 단위 논리 회로의 각각이 제어 신호 및 인덱스 지시 신호에 기초하여 기억 수단으로부터 순차적으로 판독하는 제1및 제2의 설정 정보에 기초하여 논리 연산 회로와 데이터 처리 수단의 일부 또는 전부의 기능을 순차적으로 변경하여 소정의 순서 회로의 동작을 행하기 때문에, 높은 면적 효율을 가져, 대규모 논리 회로를 고속으로 실현할 수 있는 저가격의 프로그래머블 논리 회로를 제공할 수 있다.
본 발명의 제13의 형태는, 본 발명의 제11의 형태에 있어서, 상기 데이터 처리 수단이, 상기 제2의 설정 정보에 기초하여 상기 논리 연산 수단으로부터의 상기 데이터의 정렬과 복제와 반전 처리를 행하여 상기 데이터를 생성하는 크로스커넥트 스위치를 구비하는 구성을 취한다.
이 구성에 의하면, 복수의 단위 논리 회로의 각각이 제어 신호 및 인덱스 지시 신호에 기초하여 기억 수단으로부터 순차적으로 판독하는 제1및 제2의 설정 정 보에 기초하여 논리 연산 회로와 데이터 처리 수단의 일부 또는 전부의 기능을 순차적으로 변경하여 소정의 순서 회로의 동작을 행하기 때문에, 높은 면적 효율을 가져, 대규모 논리 회로를 고속으로 실현할 수 있는 저가격의 프로그래머블 논리 회로를 제공할 수 있다.
본 발명의 제14의 형태는, 본 발명의 제13의 형태에 있어서, 상기 데이터 처리 수단이, 상기 크로스커넥트 스위치로부터의 상기 데이터를 보유하여 상기 출력 신호로서 상기 출력 신호 제어 수단에게 주는 플립플롭을 구비하는 구성을 취한다.
이 구성에 의하면, 복수의 단위 논리 회로의 각각이 제어 신호 및 인덱스 지시 신호에 기초하여 기억 수단으로부터 순차적으로 판독하는 제1 및 제2의 설정 정보에 기초하여 논리 연산 회로와 데이터 처리 수단의 일부 또는 전부의 기능을 순차적으로 변경하여 소정의 순서 회로의 동작을 행하기 때문에, 높은 면적 효율을 가져, 대규모 논리 회로를 고속으로 실현할 수 있는 저가격의 프로그래머블 논리 회로를 제공할 수 있다.
본 발명의 제15의 형태는, 병렬로 접속되어 있는 복수의 단위 논리 회로와, 상기 복수의 단위 논리 회로에 있어서의 1의 상기 단위 논리 회로와 해당1의 상기 단위 논리 회로에 대해서 물리적 배치상으로 인접하는 다른 상기 단위 논리 회로를 접속하는 접속 수단과, 외부로부터 받는 입력 신호를 상기 복수의 단위 논리 회로에 공급하는 입력 신호 제어 수단과, 상기 복수의 단위 논리 회로의 출력 신호를 외부에 공급하는 출력 신호 제어 수단을 구비하고, 상기 입력 신호 제어 수단은, 상기 입력 신호에 기초하여 제어 신호를 상기 복수의 단위 논리 회로에게 주는 수 단과, 인덱스 지시 신호를 받았을 때에 인덱스 정보를 상기 복수의 단위 논리 회로에게 주는 수단을 가지며, 상기 복수의 단위 논리 회로의 각각이, 제1의 설정 정보의 어느 것인가에 기초하여 기능의 변경이 가능하여 상기 입력 신호 또는 인접의 상기 다른 단위 논리 회로로부터의 데이터에 소정의 논리 연산 처리를 행하여 데이터를 생성하는 논리 연산 수단과, 제2의 설정 정보의 어느 것인가에 기초하여 상기 논리 연산 수단으로부터의 상기 데이터의 정렬과 복제와 반전 처리를 행하여 데이터를 생성해서 상기 출력 신호로서 상기 출력 신호 제어 수단에게 주는 데이터 처리 수단과, 상기 제1및 제2의 설정 정보를 기억하는 기억 수단과, 상기 제어 신호 및 상기 인덱스 정보의 어느 것인가를 받았을 때에 해당 제어 신호 및 해당 인덱스 정보의 어느 것인가에 기초하여 상기 기억 수단에 있어서의 상기 제1및 제2의 설정 정보의 격납 위치 어드레스의 선두 위치를 나타내는 선두 위치 어드레스를 기억하는 메모리 제어 수단을 구비하고, 상기 복수의 단위 논리 회로의 각각이, 상기 메모리 제어 수단에 기억되어 있는 상기 선두 위치 어드레스에 기초하여 상기 기억 수단으로부터 순차적으로 판독하는 상기 제1 및 제2의 설정 정보의 어느것인가에 기초하여 상기 논리 연산 수단과 상기 데이터 처리 수단의 일부 또는 전부의 기능을 순차적으로 변경하여 소정의 순서 회로의 동작을 행하는 구성을 취한다.
이 구성에 의하면, 복수의 단위 논리 회로의 각각이 제어 신호 및 인덱스 지시 신호에 기초하여 기억 수단으로부터 순차적으로 판독하는 제1및 제2의 설정 정보에 기초하여 논리 연산 회로와 데이터 처리 수단의 일부 또는 전부의 기능을 순차적으로 변경하여 소정의 순서 회로의 동작을 행하기 때문에, 높은 면적 효율을 가져, 대규모 논리 회로를 고속으로 실현할 수 있는 저가격의 프로그래머블 논리 회로를 제공할 수 있다.
본 발명의 제16의 형태는, 본 발명의 제15의 형태에 있어서, 상기 논리 연산 수단이, 상기 제1의 설정 정보에 기초하여 기능의 변경이 가능하여 상기 입력 신호 또는 인접하는 상기 다른 단위 논리 회로로부터의 상기 데이터에 소정의 논리 연산 처리를 행하여 상기 데이터를 생성하는 로직셀을 구비하는 구성을 취한다.
이 구성에 의하면, 복수의 단위 논리 회로의 각각이 제어 신호 및 인덱스 지시 신호에 기초하여 기억 수단으로부터 순차적으로 판독하는 제1 및 제2의 설정 정보에 기초하여 논리 연산 회로와 데이터 처리 수단의 일부 또는 전부의 기능을 순차적으로 변경하여 소정의 순서 회로의 동작을 행하기 때문에, 높은 면적 효율을 가져, 대규모 논리 회로를 고속으로 실현할 수 있는 저가격의 프로그래머블 논리 회로를 제공할 수 있다.
본 발명의 제17의 형태는, 본 발명의 제15의 형태에 있어서, 상기 데이터 처리 수단이, 상기 제2의 설정 정보에 기초하여 상기 논리 연산 수단으로부터의 상기 데이터의 정렬과 복제와 반전 처리를 행하여 상기 데이터를 생성하는 크로스커넥트 스위치를 구비하는 구성을 취한다.
이 구성에 의하면, 복수의 단위 논리 회로의 각각이 제어 신호 및 인덱스 지시 신호에 기초하여 기억 수단으로부터 순차적으로 판독하는 제1및 제2의 설정 정보에 기초하여 논리 연산 회로와 데이터 처리 수단의 일부 또는 전부의 기능을 순차적으로 변경하여 소정의 순서 회로의 동작을 행하기 때문에, 높은 면적 효율을 가져, 대규모 논리 회로를 고속으로 실현할 수 있는 저가격의 프로그래머블 논리 회로를 제공할 수 있다.
본 발명의 제18의 형태는, 본 발명의 제17의 형태에 있어서, 상기 데이터 처리 수단이, 상기 크로스커넥트 스위치로부터의 상기 데이터를 보유하여 상기 출력 신호로서 상기 출력 신호 제어 수단에게 주는 플립플롭을 구비하는 구성을 취한다.
이 구성에 의하면, 복수의 단위 논리 회로의 각각이 제어 신호 및 인덱스 지시 신호에 기초하여 기억 수단으로부터 순차적으로 판독하는 제1및 제2의 설정 정보에 기초하여 논리 연산 회로와 데이터 처리 수단의 일부 또는 전부의 기능을 순차적으로 변경하여 소정의 순서 회로의 동작을 행하기 때문에, 높은 면적 효율을 가져, 대규모 논리 회로를 고속으로 실현할 수 있는 저가격의 프로그래머블 논리 회로를 제공할 수 있다.
본 명세서는, 2004년 2월 12일에 출원한 2004-035042 및 2004-035043에 기초하고 있는 것이다. 이 내용은, 모두 여기에 포함시켜 놓는다.
본 발명은, 전자 장치를 제어하는 제어장치 등에 적용할 수 있다.

Claims (20)

  1. 병렬로 접속되어 있는 복수의 단위 논리 회로와,
    외부로부터 받는 입력 신호를 상기 복수의 단위 논리 회로에 공급하는 입력 신호 제어 수단과,
    상기 복수의 단위 논리 회로의 출력 신호를 외부에 공급하는 출력 신호 제어 수단을 구비하고,
    상기 복수의 단위 논리 회로의 각각은,
    제1의 설정 정보에 기초하여 기능의 변경이 가능하여 상기 입력 신호에 소정의 논리 연산 처리를 행하여 데이터를 생성하는 논리 연산 수단과,
    제2의 설정 정보에 기초하여 상기 논리 연산 수단으로부터의 상기 데이터의 정렬과 복제와 반전 처리를 행하여 데이터를 생성해서 상기 출력 신호로서 상기 출력 신호 제어 수단에게 주는 데이터 처리 수단과,
    상기 제1및 제2의 설정 정보를 기억하는 기억 수단과,
    분기용 설정 정보를 받아 해당 분기용 설정 정보에 기초하여 상기 기억 수단의 상기 제1및 제2의 설정 정보의 어느 것인가를 판독하여 상기 논리 연산 수단과 상기 데이터 처리 수단에게 주어 제어하는 메모리 제어 수단을 구비하고,
    상기 복수의 단위 논리 회로의 각각은,
    상기 기억 수단으로부터 순차적으로 판독하는 상기 제1및 제2의 설정 정보에 기초하여 상기 논리 연산 수단과 상기 데이터 처리 수단의 일부 또는 전부의 기능 을 순차적으로 변경하여 소정의 순서 회로의 동작을 행하는 프로그래머블 논리 회로.
  2. 병렬로 접속되어 있는 복수의 단위 논리 회로와,
    외부로부터 받는 입력 신호를 상기 복수의 단위 논리 회로에 공급하는 입력 신호 제어 수단과,
    상기 복수의 단위 논리 회로의 출력 신호를 외부에 공급하는 출력 신호 제어 수단을 구비하고,
    상기 복수의 단위 논리 회로의 각각은,
    제1의 설정 정보에 기초하여 기능의 변경이 가능하여 상기 입력 신호에 소정의 논리 연산 처리를 행하여 데이터를 생성하는 논리 연산 수단과,
    제2의 설정 정보에 기초하여 상기 논리 연산 수단으로부터의 상기 데이터의 정렬과 복제와 반전 처리를 행하여 데이터를 생성해서 상기 출력 신호로서 상기 출력 신호 제어 수단에게 주는 데이터 처리 수단과,
    상기 제1및 제2의 설정 정보를 기억하는 기억 수단과,
    정지용 설정 정보를 받아 해당 정지용 설정 정보에 기초하여 상기 논리 연산 수단과 상기 데이터 처리 수단의 정지를 제어하는 메모리 제어 수단을 구비하고,
    상기 복수의 단위 논리 회로의 각각은,
    상기 기억 수단으로부터 순차적으로 판독하는 상기 제1및 제2의 설정 정보에 기초하여 상기 논리 연산 수단과 상기 데이터 처리 수단의 일부 또는 전부의 기능 을 순차적으로 변경하여 소정의 순서 회로의 동작을 행하는 프로그래머블 논리 회로.
  3. 제 1 항 또는 제 2 항에 있어서,
    상기 논리 연산 수단은, 상기 제1의 설정 정보에 기초하여 기능의 변경이 가능하여 상기 입력 신호에 소정의 논리 연산 처리를 행하여 상기 데이터를 생성하는 논리 셀을 구비하는 프로그래머블 논리 회로.
  4. 제 1 항 또는 제 2 항에 있어서,
    상기 데이터 처리 수단은, 상기 제2의 설정 정보에 기초하여 상기 논리 연산 수단으로부터의 상기 데이터의 정렬과 복제와 반전 처리를 행하여 상기 데이터를 생성하는 크로스커넥트 스위치를 구비하는 프로그래머블 논리 회로.
  5. 제 4 항에 있어서,
    상기 데이터 처리 수단은, 상기 크로스커넥트 스위치로부터의 상기 데이터를 보유하여 상기 출력 신호로서 상기 출력 신호 제어 수단에게 주는 플립플롭을 구비하는 프로그래머블 논리 회로.
  6. 병렬로 접속되어 있는 복수의 단위 논리 회로와,
    외부로부터 받는 입력 신호를 상기 복수의 단위 논리 회로에 공급하는 입력 신호 제어 수단과,
    상기 복수의 단위 논리 회로에 있어서의 1의 상기 단위 논리 회로와 해당 1의 상기 단위 논리 회로에 대해서 물리적 배치상으로 인접하는 다른 상기 단위 논리 회로를 접속하는 접속 수단과,
    상기 복수의 단위 논리 회로의 출력 신호를 외부에 공급하는 출력 신호 제어 수단을 구비하고,
    상기 복수의 단위 논리 회로의 각각은,
    제1의 설정 정보에 기초하여 기능의 변경이 가능하여 상기 입력 신호 및 인접하는 상기 다른 단위 논리 회로로부터의 데이터의 어느 것인가에 소정의 논리 연산 처리를 행하여 데이터를 생성하는 논리 연산 수단과,
    제2의 설정 정보에 기초하여 상기 논리 연산 수단으로부터의 상기 데이터의 정렬과 복제와 반전 처리를 행하여 데이터를 생성해 상기 출력 신호로서 상기 출력 신호 제어 수단에게 주는 데이터 처리 수단과,
    상기 제1및 제2의 설정 정보를 기억하는 기억 수단과,
    분기용 설정 정보를 받아 해당 분기용 설정 정보에 기초하여 상기 기억 수단의 상기 제1및 제2의 설정 정보의 어느 것인가를 판독하여 상기 논리 연산 수단과 상기 데이터 처리 수단에게 주어 제어하는 메모리 제어 수단을 구비하고,
    상기 복수의 단위 논리 회로의 각각은,
    상기 기억 수단으로부터 순차적으로 판독하는 상기 제1및 제2의 설정 정보에 기초하여 상기 논리 연산 수단과 상기 데이터 처리 수단의 일부 또는 전부의 기능 을 순차적으로 변경하여 소정의 순서 회로의 동작을 행하는 프로그래머블 논리 회로.
  7. 병렬로 접속되어 있는 복수의 단위 논리 회로와, 외부로부터 받는 입력 신호를 상기 복수의 단위 논리 회로에 공급하는 입력 신호 제어 수단과,
    상기 복수의 단위 논리 회로에 있어서의 1의 상기 단위 논리 회로와 해당 1의 상기 단위 논리 회로에 대해서 물리적 배치상으로 인접하는 다른 상기 단위 논리 회로를 접속하는 접속 수단과,
    상기 복수의 단위 논리 회로의 출력 신호를 외부에 공급하는 출력 신호 제어 수단을 구비하고,
    상기 복수의 단위 논리 회로의 각각은,
    제1의 설정 정보에 기초하여 기능의 변경이 가능하여 상기 입력 신호 및 인접하는 상기 다른 단위 논리 회로로부터의 데이터의 어느 것인가에 소정의 논리 연산 처리를 행하여 데이터를 생성하는 논리 연산 수단과,
    제2의 설정 정보에 기초하여 상기 논리 연산 수단으로부터의 상기 데이터의 정렬과 복제와 반전 처리를 행하여 데이터를 생성해서 상기 출력 신호로서 상기 출력 신호 제어 수단에게 주는 데이터 처리 수단과,
    상기 제1 및 제2의 설정 정보를 기억하는 기억 수단과, 정지용 설정 정보를 받아 해당 정지용 설정 정보에 기초하여 상기 논리 연산 수단과 상기 데이터 처리 수단의 정지를 제어하는 메모리 제어 수단을 구비하고,
    상기 복수의 단위 논리 회로의 각각은,
    상기 기억 수단으로부터 순차적으로 판독하는 상기 제1및 제2의 설정 정보에 기초하여 상기 논리 연산 수단과 상기 데이터 처리 수단의 일부 또는 전부의 기능을 순차적으로 변경하여 소정의 순서 회로의 동작을 행하는 프로그래머블 논리 회로.
  8. 제 7 항에 있어서,
    상기 논리 연산 수단은, 상기 제1의 설정 정보에 기초하여 기능의 변경이 가능하여 상기 입력 신호 또는 인접하는 상기 다른 단위 논리 회로로부터의 상기 데이터에 소정의 논리 연산 처리를 행하여 상기 데이터를 생성하는 논리 셀을 구비하는 프로그래머블 논리 회로.
  9. 제 6 항 내지 제 8 항 중 어느 한 항에 있어서,,
    상기 데이터 처리 수단은, 상기 제2의 설정 정보에 기초하여 상기 논리 연산 수단으로부터의 상기 데이터의 정렬과 복제와 반전 처리를 행하여 상기 데이터를 생성하는 크로스커넥트 스위치를 구비하는 프로그래머블 논리 회로.
  10. 제 9 항에 있어서,
    상기 데이터 처리 수단은, 상기 크로스커넥트 스위치로부터의 상기 데이터를 보유하여 상기 출력 신호로서 상기 출력 신호 제어 수단에게 주는 플립플롭을 구비 하는 프로그래머블 논리 회로.
  11. 병렬로 접속되어 있는 복수의 단위 논리 회로와,
    외부로부터 받는 입력 신호를 상기 복수의 단위 논리 회로에 공급하는 입력 신호 제어 수단과,
    상기 복수의 단위 논리 회로의 출력 신호를 외부에 공급하는 출력 신호 제어 수단을 구비하고,
    상기 입력 신호 제어 수단은,
    상기 입력 신호에 기초하여 제어 신호를 상기 복수의 단위 논리 회로에게 주는 수단과,
    인덱스 지시 신호를 받았을 때에 인덱스 정보를 상기 복수의 단위 논리 회로에게 주는 수단을 가지며,
    상기 복수의 단위 논리 회로의 각각은,
    제1의 설정 정보의 어느 것인가에 기초하여 기능의 변경이 가능하여 상기 입력 신호에 소정의 논리 연산 처리를 행하여 데이터를 생성하는 논리 연산 수단과,
    제2의 설정 정보의 어느 것인가에 기초하여 상기 논리 연산 수단으로부터의 상기 데이터의 정렬과 복제와 반전 처리를 행하여 데이터를 생성해서 상기 출력 신호로서 상기 출력 신호 제어 수단에게 주는 데이터 처리 수단과,
    상기 제1및 제2의 설정 정보를 기억하는 기억 수단과,
    상기 제어 신호 및 상기 인덱스 정보의 어느 것인가를 받았을 때에 해당 제 어 신호 및 해당 인덱스 정보의 어느 것인가에 기초하여 상기 기억 수단에 있어서의 상기 제1및 제2의 설정 정보의 격납 위치 어드레스의 선두 위치를 나타내는 선두 위치 어드레스를 기억하는 메모리 제어 수단을 구비하고,
    상기 복수의 단위 논리 회로의 각각은,
    상기 메모리 제어 수단에 기억되어 있는 상기 선두 위치 어드레스에 기초하여 상기 기억 수단으로부터 순차적으로 판독하는 상기 제1및 제2의 설정 정보의 어느 것인가에 기초하여 상기 논리 연산 수단과 상기 데이터 처리 수단의 일부 또는 전부의 기능을 순차적으로 변경하여 소정의 순서 회로의 동작을 행하는 프로그래머블 논리 회로.
  12. 제 11 항에 있어서,
    상기 논리 연산 수단은, 상기 제1의 설정 정보에 기초하여 기능의 변경이 가능하여 상기 입력 신호에 소정의 논리 연산 처리를 행하여 상기 데이터를 생성하는 로직셀을 구비하는 프로그래머블 논리 회로.
  13. 제 11 항에 있어서,
    상기 데이터 처리 수단은, 상기 제2의 설정 정보에 기초하여 상기 논리 연산 수단으로부터의 상기 데이터의 정렬과 복제와 반전 처리를 행하여 상기 데이터를 생성하는 크로스커넥트 스위치를 구비하는 프로그래머블 논리 회로.
  14. 제 13 항에 있어서,
    상기 데이터 처리 수단은, 상기 크로스커넥트 스위치로부터의 상기 데이터를 보유하여 상기 출력 신호로서 상기 출력 신호 제어 수단에게 주는 플립플롭을 구비하는 프로그래머블 논리 회로.
  15. 병렬로 접속되어 있는 복수의 단위 논리 회로와,
    상기 복수의 단위 논리 회로에 있어서의 1의 상기 단위 논리 회로와 해당 1의 상기 단위 논리 회로에 대해서 물리적 배치상으로 인접하는 다른 상기 단위 논리 회로를 접속하는 접속 수단과,
    외부로부터 받는 입력 신호를 상기 복수의 단위 논리 회로에 공급하는 입력 신호 제어 수단과,
    상기 복수의 단위 논리 회로의 출력 신호를 외부에 공급하는 출력 신호 제어 수단을 구비하고,
    상기 입력 신호 제어 수단은,
    상기 입력 신호에 기초하여 제어 신호를 상기 복수의 단위 논리 회로에게 주는 수단과,
    인덱스 지시 신호를 받았을 때에 인덱스 정보를 상기 복수의 단위 논리 회로에게 주는 수단을 가지며,
    상기 복수의 단위 논리 회로의 각각은,
    제1의 설정 정보의 어느 것인가에 기초하여 기능의 변경이 가능하여 상기 입 력 신호 또는 인접하는 상기 다른 단위 논리 회로로부터의 데이터에 소정의 논리 연산 처리를 행하여 데이터를 생성하는 논리 연산 수단과,
    제2의 설정 정보의 어느 것인가에 기초하여 상기 논리 연산 수단으로부터의 상기 데이터의 정렬과 복제와 반전 처리를 행하여 데이터를 생성해서 상기 출력 신호로서 상기 출력 신호 제어 수단에게 주는 데이터 처리 수단과,
    상기 제1및 제2의 설정 정보를 기억하는 기억 수단과,
    상기 제어 신호 및 상기 인덱스 정보의 어느것인가를 받았을 때에 해당 제어 신호 및 해당 인덱스 정보의 어느 것인가에 기초하여 상기 기억 수단에 있어서의 상기 제1및 제2의 설정 정보의 격납 위치 어드레스의 선두 위치를 나타내는 선두 위치 어드레스를 기억하는 메모리 제어 수단을 구비하고,
    상기 복수의 단위 논리 회로의 각각은,
    상기 메모리 제어 수단에 기억되어 있는 상기 선두 위치 어드레스에 기초하여 상기 기억 수단으로부터 순차적으로 판독하는 상기 제1및 제2의 설정 정보의 어느 것인가에 기초하여 상기 논리 연산 수단과 상기 데이터 처리 수단의 일부 또는 전부의 기능을 순차적으로 변경하여 소정의 순서 회로의 동작을 행하는 프로그래머블 논리 회로.
  16. 제 15 항에 있어서,
    상기 논리 연산 수단은, 상기 제1의 설정 정보에 기초하여 기능의 변경이 가능하여 상기 입력 신호 또는 인접하는 상기 다른 단위 논리 회로로부터의 상기 데 이터에 소정의 논리 연산 처리를 행하여 상기 데이터를 생성하는 로직셀을 구비하는 프로그래머블 논리 회로.
  17. 제 15 항에 있어서,
    상기 데이터 처리 수단은, 상기 제2의 설정 정보에 기초하여 상기 논리 연산 수단으로부터의 상기 데이터의 정렬과 복제와 반전 처리를 행하여 상기 데이터를 생성하는 크로스커넥트 스위치를 구비하는 프로그래머블 논리 회로.
  18. 제 17 항에 있어서,
    상기 데이터 처리 수단은, 상기 크로스커넥트 스위치로부터의 상기 데이터를 보유하여 상기 출력 신호로서 상기 출력 신호 제어 수단에게 주는 플립플롭을 구비하는 프로그래머블 논리 회로.
  19. 제 3 항에 있어서,
    상기 데이터 처리 수단은, 상기 제2의 설정 정보에 기초하여 상기 논리 연산 수단으로부터의 상기 데이터의 정렬과 복제와 반전 처리를 행하여 상기 데이터를 생성하는 크로스커넥트 스위치를 구비하는 프로그래머블 논리 회로.
  20. 제 19 항에 있어서,
    상기 데이터 처리 수단은, 상기 크로스커넥트 스위치로부터의 상기 데이터를 보유하여 상기 출력 신호로서 상기 출력 신호 제어 수단에게 주는 플립플롭을 구비하는 프로그래머블 논리 회로.
KR1020067016161A 2004-02-12 2005-02-08 프로그래머블 논리 회로 KR100840030B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JPJP-P-2004-00035043 2004-02-12
JPJP-P-2004-00035042 2004-02-12
JP2004035042A JP3837135B2 (ja) 2004-02-12 2004-02-12 プログラマブル論理回路
JP2004035043A JP3837136B2 (ja) 2004-02-12 2004-02-12 プログラマブル論理回路

Publications (2)

Publication Number Publication Date
KR20060110362A KR20060110362A (ko) 2006-10-24
KR100840030B1 true KR100840030B1 (ko) 2008-06-19

Family

ID=34863446

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020067016161A KR100840030B1 (ko) 2004-02-12 2005-02-08 프로그래머블 논리 회로

Country Status (3)

Country Link
US (1) US7365566B2 (ko)
KR (1) KR100840030B1 (ko)
WO (1) WO2005078933A1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009509226A (ja) * 2005-09-21 2009-03-05 エヌエックスピー ビー ヴィ バス回路
JP4861030B2 (ja) * 2006-03-24 2012-01-25 株式会社東芝 半導体装置
US8539420B2 (en) * 2011-07-05 2013-09-17 Xilinx, Inc. Method and apparatus for self-annealing multi-die interconnect redundancy control
EP3107212B1 (en) * 2015-06-16 2018-04-25 Framatome Field programmable gate array comprising plurality of functional blocks and control device for a power plant
US9985611B2 (en) 2015-10-23 2018-05-29 Intel Corporation Tunnel field-effect transistor (TFET) based high-density and low-power sequential
US10482209B1 (en) 2018-08-06 2019-11-19 HLS Logix LLC Field programmable operation block array

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002217709A (ja) * 2001-01-22 2002-08-02 Sharp Corp プログラマブル論理回路
JP2002368092A (ja) * 2001-06-12 2002-12-20 Matsushita Electric Ind Co Ltd プログラマブル論理回路

Family Cites Families (7)

* 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
WO1994028475A1 (en) 1993-05-28 1994-12-08 Regents Of The University Of California Field programmable logic device with dynamic interconnections to a dynamic logic core
JP3351452B2 (ja) * 1995-03-08 2002-11-25 日本電信電話株式会社 プログラマブルゲートアレイ
JPH09231788A (ja) * 1995-12-19 1997-09-05 Fujitsu Ltd シフトレジスタ及びプログラマブル論理回路並びにプログラマブル論理回路システム
JP3587095B2 (ja) * 1999-08-25 2004-11-10 富士ゼロックス株式会社 情報処理装置
US6633181B1 (en) * 1999-12-30 2003-10-14 Stretch, Inc. Multi-scale programmable array
JP4011007B2 (ja) * 2003-01-15 2007-11-21 三洋電機株式会社 リコンフィギュラブル回路を備えた集積回路装置および処理装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002217709A (ja) * 2001-01-22 2002-08-02 Sharp Corp プログラマブル論理回路
JP2002368092A (ja) * 2001-06-12 2002-12-20 Matsushita Electric Ind Co Ltd プログラマブル論理回路

Also Published As

Publication number Publication date
WO2005078933A1 (ja) 2005-08-25
US20070279085A1 (en) 2007-12-06
US7365566B2 (en) 2008-04-29
KR20060110362A (ko) 2006-10-24

Similar Documents

Publication Publication Date Title
US4553203A (en) Easily schedulable horizontal computer
US6486709B2 (en) Distributing data to multiple destinations within an asynchronous circuit
US4712190A (en) Self-timed random access memory chip
CN101694512B (zh) 测试电路和片上系统
KR100840030B1 (ko) 프로그래머블 논리 회로
CN100585852C (zh) 使用最少引脚而被测试的半导体器件、以及测试其的方法
US6356117B1 (en) Asynchronously controlling data transfers within a circuit
US20060004980A1 (en) Address creator and arithmetic circuit
JPH0391188A (ja) Fifoメモリ
US4811201A (en) Interconnect circuit
JP3837135B2 (ja) プログラマブル論理回路
KR0140454B1 (ko) 버스트 억세스에서 고속으로 어드레스를 증가시키기 위한 반도체 메모리 디바이스
JP2005057452A (ja) プログラマブル論理回路
JP3837136B2 (ja) プログラマブル論理回路
CN112486453A (zh) 一种异步先入先出寄存器以及芯片
US6961280B1 (en) Techniques for implementing address recycling in memory circuits
CN218100209U (zh) 多比特异步接口电路
CN112542187B (zh) 一种高速读ID和芯片状态的电路和flash存储器
JP6143577B2 (ja) 半導体集積回路および半導体集積回路の動作方法
JPH0256048A (ja) データ転送方法及びデータバッファ装置
KR100449033B1 (ko) 내장 메모리를 이용한 피엘디내의 대칭형 데이터 릴레이장치 및 그 릴레이 방법
US20140250252A1 (en) First-in First-Out (FIFO) Modular Memory Structure
JP2000341256A (ja) エラスティック回路および集積回路
KR0147702B1 (ko) 고속 실행을 위한 기록용 선입선출 버퍼
JP2005057451A (ja) プログラマブル論理回路

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
FPAY Annual fee payment

Payment date: 20130520

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20140528

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20150527

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee