KR101067727B1 - 프로그래밍 가능한 논리 셀 어레이를 갖는 전자 회로 - Google Patents

프로그래밍 가능한 논리 셀 어레이를 갖는 전자 회로 Download PDF

Info

Publication number
KR101067727B1
KR101067727B1 KR1020057015160A KR20057015160A KR101067727B1 KR 101067727 B1 KR101067727 B1 KR 101067727B1 KR 1020057015160 A KR1020057015160 A KR 1020057015160A KR 20057015160 A KR20057015160 A KR 20057015160A KR 101067727 B1 KR101067727 B1 KR 101067727B1
Authority
KR
South Korea
Prior art keywords
programmable logic
input
circuit
output
carry
Prior art date
Application number
KR1020057015160A
Other languages
English (en)
Other versions
KR20050106014A (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 KR20050106014A publication Critical patent/KR20050106014A/ko
Application granted granted Critical
Publication of KR101067727B1 publication Critical patent/KR101067727B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/50Adding; Subtracting
    • G06F7/501Half or full adders, i.e. basic adder cells for one denomination
    • G06F7/503Half or full adders, i.e. basic adder cells for one denomination using carry switching, i.e. the incoming carry being connected directly, or only via an inverter, to the carry output under control of a carry propagate signal
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • 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/1733Controllable logic circuits
    • H03K19/1737Controllable logic circuits using multiplexers
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/52Multiplying; Dividing
    • G06F7/523Multiplying only
    • G06F7/527Multiplying only in serial-parallel fashion, i.e. one operand being entered serially and the other in parallel
    • G06F7/5272Multiplying only in serial-parallel fashion, i.e. one operand being entered serially and the other in parallel with row wise addition of partial products

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Optimization (AREA)
  • Logic Circuits (AREA)

Abstract

본 발명은 복수의 프로그래밍 가능한 논리 유닛을 갖는 프로그래밍 가능한 논리 셀을 구비하는 전자 회로에 관한 것으로, 이 유닛은 멀티 비트 피연산자 모드 및 다중화 모드에서 동작하도록 구성될 수 있다. 프로그래밍 가능한 논리 유닛은 입력 회로와 출력 회로 사이에 병렬로 접속된다. 멀티 비트 피연산자 처리 모드에서, 입력 회로는 논리 입력 중 상이한 것들로부터의 논리 입력 신호를 프로그래밍 가능한 논리 유닛에 공급한다. 프로그래밍 가능한 논리 유닛은 적어도 멀티 비트 피연산자 모드에서 캐리 체인을 따르는 연속적 위치에 접속되어, 캐리 체인으로부터의 캐리 신호를 처리한다. 출력 회로는 멀티 비트 피연산자 모드에서 병렬로 접속되는 프로그래밍 가능한 논리 유닛으로부터의 출력을 전송한다. 프로그래밍 가능한 논리 유닛은 동일한 구성 비트를 공유하는 룩업 테이블을 갖는다. 또한, 프로그래밍 가능한 논리 유닛은 동작의 다중화 모드에서 동작하는 경우 수신되는 입력 신호 중 하나를 전송하는 다중화기를 가질 수 있다.

Description

프로그래밍 가능한 논리 셀 어레이를 갖는 전자 회로{ELECTRONIC CIRCUIT WITH ARRAY OF PROGRAMMABLE LOGIC CELLS}
본 발명은 프로그래밍 가능한 논리 셀 어레이를 갖는 전자 회로에 관한 것이다.
프로그래밍 가능한 논리 셀(programmable logic cells)은 회로 설계자로 하여금 집적 회로와 같이 대량 생산되는 전자 회로의 개별 대상에 대한 논리 함수를 채택할 수 있게 한다. 이는 회로 작업에 대한 설계에서 제조까지의 시간 간격을 감소시키며 제품의 소형 뱃치(small batches) 제조 및 원형(prototyping)에 대한 제조 비용을 절감시킨다.
구현 일례에서는, 프로그래밍 가능한 셀은 셀의 입력 신호에 의해 어드레싱되는(addressed) 메모리를 포함하는데, 이 메모리는 입력 신호 값의 각 조합에 대한 사전 프로그래밍된 출력 신호를 이들 값에 의해 어드레싱되는 개별 어드레스에 저장한다. 이 메모리는 다양한 입력 신호에 응하여 발생되는 출력 신호를 색인하는 LUT(룩업 테이블) 함수를 갖는 것으로 알려져 있다.
충분한 메모리 공간을 갖는다면 LUT을 이용하여 어떠한 논리 함수도 구현될 수 있다. 그러나, 실제로는 제한된 수, 전형적으로는 4개 미만의 입력을 요구하는 논리 함수만이 LUT를 이용하여 프로그래밍 가능한 논리 셀을 갖는 회로에서 구현될 수 있다. 이러한 LUT는 16개의 메모리 위치를 요구한다. 이는 4개의 입력 비트에 대한 랜덤 논리 함수의 프로그래밍을 허용한다. 많은 경우에서, 4입력 비트 함수를 이용하는 이러한 셀을 갖는 회로가 충족시킨다. 셀의 출력이 다른 셀의 입력에 접속되는 이러한 셀 어레이를 갖는 회로는 설계자로 하여금 보다 복잡한 논리 함수를 구현할 수 있게 한다.
설계자들이, 프로그래밍 가능한 논리 셀 어레이의 일부가 덧셈과 같은 신호 처리 동작을 구현하는 데 이용되는 논리 함수 구현하는 것이 증가하는 추세이다. 많은 신호 처리 동작은, 보다 넓은 입력 피연산자의 많은 비트가 캐리 효과(carry effect)를 통해 각각 출력 결과의 많은 비트에 영향을 줄 수 있다는 특성을 지닌다. 그러나, 이러한 넓은 의존성이 4비트 입력 LUT를 이용하여 구현되는 경우에는 구현은 매우 비효율적이다.
Xillinx™은 4비트 입력 LUT 셀에 캐리 체인(a carry chain)을 추가함으로써 프로그래밍 가능한 논리 소자인 그 Virtex™에서의 이 문제점을 해결하였다. 도 1은 이러한 소자의 프로그래밍 가능한 논리 셀을 도시하고 있다. 이 셀은 LUT 함수를 수행하는 4입력 룩업 테이블(10)과 캐리 입력 및 캐리 출력을 갖는 캐리 회로(12)를 포함한다. 메모리의 출력은 캐리 회로(12)에 접속되며, 캐리 입력 신호와 LUT의 출력 신호를 결합하여 캐리 출력 신호를 구성한다. 배타적 OR 게이트(14)는 LUT의 캐리 입력 신호 및 출력 신호로부터 셀의 출력 신호를 구성하는 데 이용된다. 셀의 캐리 입력 및 캐리 출력은 어레이(도시 생략)의 인접 셀의 캐리 출력 및 캐리 입력에 접속되어 캐리 체인을 형성한다. 캐리 체인은 한 4비트 입력 LUT에서 다른 것으로 캐리 함수를 수행한다. 그 결과, 캐리 함수를 구현하는 데 할당되는 LUT가 필요치 않다. 이는 어떤 신호 처리 동작을 포함하는 논리 함수를 구현하는 데 회로가 이용되는 경우 상당한 수의 LUT을 절감시킨다.
그럼에도 불구하고, 전용 신호 처리 회로와 비교할 때, 랜덤 논리 함수 구현도 가능한 이러한 보다 범용의 회로에서 신호 처리 함수를 구현하는 것은 여전히 훨씬 덜 효율적이다. 이 효율이 향상될 수 있다면 바람직할 것이다.
여러 목적 중에서, 본 발명의 하나의 목적은 신호 처리 동작의 구현을 허용하는 프로그래밍 가능한 논리 셀 어레이를 갖는 전자 회로를 제공하는 것으로, 여기서 구성 비트수가 감소된다.
본 발명에 따른 전자 회로는 청구범위 제 1 항에 기재되어 있다. 전자 회로는 병렬로 접속되는 복수의 프로그래밍 가능한 논리 유닛을 갖는 프로그래밍 가능한 논리 셀을 포함한다. 프로그래밍 가능한 논리 유닛은 입력 회로로부터의 논리 입력 신호를 수신하도록 접속되는 입력들과 하나의 출력을 가지는 구성 가능한 룩업 테이블을 포함하는데, 이 구성 가능한 룩업 테이블은 사전 결정된 수의 구성 비트에 따라 입력 출력 함수를 제공한다. 또한 프로그래밍 가능한 논리 유닛은 룩업 테이블 회로의 출력에 접속되는 입력과 출력을 갖는 제어 가능한 반전기/비-반전기 회로를 가지는데, 이 반전기/비-반전기는 입력 캐리 신호에 의해 제어 가능하다. 사전 결정된 수의 구성 비트는 프로그래밍 가능한 논리 셀의 2개 이상의 프로그래밍 가능한 논리 유닛의 룩업 테이블을 제어한다. 이는 논리 셀에 의해 요구되는 구성 비트 수를 감소시키켜서 요구되는 메모리 크기를 줄이는 장점을 지닌다.
일실시예에서, 프로그래밍 가능한 논리 유닛은 룩업 테이블 회로의 출력 및 반전기/비-반전기 회로의 출력을 수신하도록 접속되는 입력을 가지며 프로그래밍 가능한 논리 유닛으로부터 출력 신호를 공급하는 보조 다중화기를 더 포함한다.
다른 실시예에서, 프로그래밍 가능한 논리 유닛은 입력 회로로부터 논리 입력 신호를 수신하도록 접속되는 입력을 가지며, 다중화기 모드에서 동작하는 경우, 제 1 제어 신호의 제어 하에서 다중화기 출력 신호를 제공하는 다중화기를 포함한다. 이 실시예에서 설명되는 배열은 데이터 경로 기능 외에 다중화 기능을 제공한다는 장점을 지닌다.
본 발명의 이들 및 다른 목적 및 유리한 양태를 다음의 도면을 이용하여 설명할 것이다.
도 1은 종래 프로그래밍 가능한 논리 셀을 도시하고 있다.
도 2는 본 발명에 따른 프로그래밍 가능한 논리 유닛 어레이를 도시하고 있다.
도 3은 다중화 함수를 제공하는 도 2의 프로그래밍 논리 유닛을 보다 상세히 도시하고 있다.
도 4는 다중화 함수를 제공하는 도 2의 프로그래밍 가능한 논리 유닛의 다른 실시예를 도시하고 있다.
도 5는 도 3에 따른 프로그래밍 가능한 논리 유닛 어레이를 구현하는 논리 셀을 도시하고 있다.
도 6은 도 4에 따른 프로그래밍 가능한 논리 유닛 어레이를 구현하는 논리 셀을 도시하고 있다.
도 7은 도 3에 도시된 바와 같은 프로그래밍 논리 유닛을 갖는 경우에 본 발명의 논리 셀을 도시하고 있다.
도 2는 프로그래밍 가능한 논리 유닛(24a-d)의 병렬 배열과 하나의 캐리 체인(28)을 갖는 프로그래밍 가능한 논리 셀을 도시하고 있다. 논리 셀은 입력 신호(A0-3, B0-3)를 수신한다. 캐리 체인(28)은 캐리 입력(Cin) 및 캐리 출력(Cout)을 가지며, 이 체인을 따르는 일련의 위치의 프로그래밍 가능한 논리 유닛에 접속된다.
각 프로그래밍 가능한 논리 유닛(24a-d)은 예를 들어 4:1 다중화기와 같은 선택 논리(403)를 포함하고, 이는 주어진 입력 신호(AnBn) 세트에 응하여 출력 신호(O)를 제공하는 룩업 테이블(400)의 일부를 구성한다. 각 프로그래밍 가능한 논리 유닛의 출력은 구성 메모리(404)에 저장되는 구성 비트에 의해 결정된다. 본 발명에 따르면, 구성 메모리(404)는 복수의 프로그래밍 가능한 논리 유닛(24a-d)에 의해 공유되어, 논리 셀이 데이터 함수의 맵핑(mapping)에 대해 최적화되게 한다. 구성 비트를 프로그래밍함으로써, 논리 셀의 함수가 구성될 수 있다. 구성 비트는 다양한 입력 신호 값에 응하여 프로그래밍 가능한 논리 유닛(24a-d)이 어느 출력 신호 값을 발생시킬지를 결정한다.
멀티 비트 피연산자 처리 모드에서, 각 프로그래밍 가능한 논리 유닛(24a-d)는 상이한 중요도(significance level)와 관련된다. 입력 회로(22)는 상이한 피연산자로부터의 비트를 나타내는 각 프로그래밍 가능한 논리 유닛(24a-d)으로 신호를 전송하며, 각 비트는 프로그래밍 가능한 논리 유닛(24a-d)과 관련되는 중요도에 대응한다. 각 프로그래밍 가능한 논리 유닛(24a-d)은 이 프로그래밍 가능한 논리 유닛와 관련되는 중요도에서 결과의 비트를 연산함으로써 이들 신호에 대응하며, 보다 낮은 중요도로부터 캐리 체인(28)으로부터 수신되는 캐리 입력 신호(Cin)를 고려하고, 보다 높은 중요도에서 사용하기 위해 캐리 출력 신호(Cout)를 캐리 체인에 공급한다. 멀티 비트 피연산자 모드에서, 모든 프로그래밍 가능한 논리 유닛(24a-d)은, 구성 메모리(404)에서의 구성 비트의 공유로 인해, 그들의 입력 신호와 출력 신호간에 동일한 관계를 제공한다. 프로그래밍 가능한 논리 유닛(24a-d) 각각으로부터의 연산된 비트 "0"은 출력 회로(도시 생략)로의 출력 신호로서 병렬로 전송된다.
캐리 체인(28)은 캐리 신호를 연산하고 이들 캐리 신호를 한 프로그래밍 가능한 논리 유닛(24a-d)에서 다른 것으로 전송한다. 캐리 체인(28)의 구성은 캐리 체인(28)이 캐리 입력(Cin)으로부터의 캐리 입력 신호를 이용할지를 제어하여 캐리 신호를 결정한다. 논리 셀이 보다 큰 피연산자의 보다 중요한 비트인 입력 신호를 처리하는 경우, 이러한 캐리 입력 신호가 덜 중요한 피연산자를 처리하는 다른 셀의 캐리 출력 신호를 수신하는 데 이용되도록 셀이 구성된다.
2개의 멀티 비트 피연산자 신호 처리 동작의 상이한 중요도의 구현 연산을 위한 프로그래밍 가능한 논리 유닛을 이용함으로써, 각각 공유되는 구성 비트에 기초하여, 멀티 비트 피연산자 신호 처리의 구현을 지원하는 데 필요한 구성 비트의 수가 최소화된다. 도 2의 예에서, 4개의 2입력 프로그래밍 가능한 논리 유닛(24a-d)를 이용하여, 임의의 2-피연산자 신호 처리 동작의 임의의 4개의 중요도를 정의하는 데에 단지 4개의 구성 비트만이 요구된다. 이와 대조적으로, 4개의 구성 비트가 프로그래밍 가능한 논리 유닛마다 채택되는 상황을 고려하면, 4개의 2-입력 프로그래밍 가능한 논리 유닛을 갖는 논리 셀에 대해 16개의 구성 비트가, 또는 도 1에 도시된 종래 기술에 따른 논리 유닛에 대해 64개의 구성 비트가 필요할 것이다.
또한 도 2는 추가 게이트(50,52)를 도시하고 있는데, 이들은 프로그래밍 가능한 논리 유닛(24)이 외부 보조 장치 없이 수학적 감산 및 1-비트 곱셈-더하기-누적(예를 들어, 멀티 비트 곱셈의 한 단계로서)을 수행할 수 있게 한다. 감산의 구현은 LUT 유닛(400)과 감산되어야 하는 피연산자의 비트신호 입력(An,Bn) 중 하나 사이에 배타적 OR 게이트를 추가함으로써 촉진된다. 감산 제어 신호(SUB)는 배타적 OR 게이트(50)의 입력 중 하나에 공급되어 입력 신호가 논리적으로 전환된다. 가산이 요구되는 경우 감산 제어 신호는 0으로 설정된다. 논리 셀의 프로그래밍 가능한 논리 유닛 모두에 대한 공통 감산 제어 신호가 이 목적을 위해 이용될 수 있다. 감산 신호는 논리 셀의 구성 비트에 의해 제어되거나 논리 셀 외부로부터의 신호에 의해 제어될 수 있다. 감산의 경우, 논리적 높은 캐리 입력 신호는 최저 중요도와 관련되는 프로그래밍 가능한 논리 유닛에 인가된다.
곱셈 더하기 누적의 구현은 LUT 유닛(400)과 곱해져야 하는 피연산자의 비트를 수신하는 신호 입력(A,B) 중 하나 사이에 AND 게이트(52)를 추가하고 이 AND 게이트의 입력 중 하나에 배율(factor) 신호(MUL)를 공급함으로써 지원된다. 논리 셀의 모든 프로그래밍 가능한 논리 유닛에 대한 공통 배율 신호(MUL)는 이 목적을 위해 이용될 수 있다. 이 배율 신호(MUL)는 가산이 요구되는 경우에 설정된다.
도 2는 결합하여 제공되는 AND 게이트(52) 및 배타적 OR 게이트(50)를 도시하고 있지만, 당업자에게 있어서 감산 또는 곱셈이 요구되지 않는 경우에는 어느 한 쪽이 생략될 수도 있음은 명백할 것이다. 또한, 회로의 상이한 위치의 배타적 OR 게이트(50) 및/또는 상이한 LUT 유닛(400) 구성의 등가물을 이용하여, 곱셈 및 감산이 다른 방식으로 구현될 수 있음이 명백할 것이다.
도 3은 프로그래밍 가능한 논리 유닛(24) 및 캐리 체인(28)의 일부(42)를 보 다 상세히 도시하고 있다. 프로그래밍 가능한 논리 유닛(24)은 LUT 유닛(400)을 포함하며, 이는 도 2에서 앞서 설명된 바와 같이 기능한다. 또한 프로그래밍 가능한 논리 유닛(24)은 배타적 OR 게이트(402)를 포함한다. 프로그래밍 가능한 논리 유닛(24)의 신호 입력(A,B)은 LUT 유닛(400)의 입력에 접속된다. LUT 유닛(400)의 출력은 배타적-OR 게이트(402)의 입력에 접속된다. 제 1 배타적 OR 게이트(402)의 제 2 입력은 캐리 체인(28)으로부터의 캐리 입력 신호(Cin)를 수신하도록 접속되며, 배타적 OR 게이트(402)의 출력은 출력 신호(O1)를 구성한다. 다중화기(405)는 XOR 게이트(402)로부터의 출력(O1) 및 LUT(400)로부터의 출력을 수신한다. 다중화기(405)는 구성 메모리(도시 생략)으로부터의 구성 비트(407)의 제어 하에 출력 신호(O)를 발생시킨다.
멀티 비트 피연산자 처리 모드에서의 동작에서, LUT 유닛(400)은, 도 2에서 앞서 설명한 바와 같이, 공유되는 구성 비트를 이용하여 구성 가능한 입력 출력 함수를 실현한다. 이 멀티 비트 피연산자 처리 모드에서, 프로그래밍 가능한 논리 유닛(24)의 출력(O)에서 데이터 경로 출력 신호가 이용 가능하게 구성된다. 이와 달리, 넓은 불 함수(boolean function)가 구현되는 경우, 다중화기(405)는 LUT(400)의 직접 출력(O2)을 선택한다.
XOR 게이트(402)는 다른 방식으로 구현될 수 있다는 것을 유의하자. 예를 들어, XOR 게이트(402)는, 다중화기가 캐리 입력 신호(Cin)에 의해 제어되는 상태로, 제 1 입력에서는 룩업 테이블의 출력을 수신하고 제 2 입력에서는 룩업 테이블 의 출력의 전환된 형태를 수신하는 2:1 다중화기로 교체될 수 있다.
도 4는 다른 실시예를 도시하고 있는데, 이는 멀티 비트 피연산자 처리 함수에 더하여 다중화기 함수를 처리할 수 있다. 프로그래밍 가능한 논리 유닛은 LUT(400), XOR 게이트(402) 및 구성 비트(407)에 의해 제어되는 다중화기를 포함하며, 도 3에 도시된 바와 같은 본 발명의 대응하는 특징과 동일한 기능을 갖는다. 또한, 프로그래밍 가능한 논리 유닛은 동작의 다중화 모드에서 사용하기 위한 추가 다중화기(406)를 포함한다. 프로그래밍 가능한 논리 유닛(24)의 신호 입력(A,B)은 다중화기(406)(예를 들어, 2-비트 LUT용 2:1 다중화기)의 입력에 접속되며, 이는 LUT 유닛(400)과 병렬로 배치된다. 다중화기(406)는 제어 신호(X)에 의해 제어되는데, 이는 논리 셀의 보조 신호이다. 바람직하게는, 각 프로그래밍 가능한 논리 유닛(24)은 동일한 제어 신호(X)를 수신한다. 따라서, 프로그래밍 가능한 논리 유닛(24)은, 멀티 비트 피연산자 처리 모드(즉, 다중화기(45)가 LUT 유닛(400)으로부터의 신호(O1) 또는 넓은 불 함수를 처리하도록 구성되는 경우의 신호(O2) 중 어느 것을 출력함)에서 동작할 때에는 제 1 출력 신호(OD)를 발생시키고, 다중화기로서 기능할 때에는 제 2 출력 신호(OR)를 발생시킨다. 따라서, 다중화기로서 기능하도록 구성되는 경우, 출력 신호(OR)는 LUT 유닛(400)과 XOR 게이트(402)를 바이패스한다. 프로그래밍 가능한 논리 유닛(24)에서의 다중화기(406)의 제공은 논리 셀로 하여금 데이터 경로 또는 수학적 기능에 더하여 다중화 동작이 가능하도록 한다.
도 5는 도 3에 도시된 바와 같은 프로그래밍 가능한 논리 유닛(24a-d)을 갖는 논리 셀(20)의 구현을 도시하고 있다. 각 프로그래밍 가능한 논리 유닛(24a-d) 은 입력 신호(21)를 수신하고, 프로그래밍 가능한 논리 유닛(24a-d) 모두 사이에서 공유되는 구성 비트(도시 생략)에 따라 출력 신호(O)를 발생시킨다. 출력 신호(O)는 출력 회로(26)의 전환 회로(268)에 전송되며, 이는 출력 신호(27)를 발생시킨다.
도 6은 도 4에 도시된 바와 같은 프로그래밍 가능한 논리 유닛(24a-d)을 갖는 논리 셀(20)의 구현을 도시하고 있다. 멀티 비트 피연산자 처리 모드에서 구성되는 경우, 각 프로그래밍 가능한 논리 유닛(24a-d)은 입력 신호(21)를 수신하고, 프로그래밍 가능한 논리 유닛(24a-d) 모두 사이에서 공유되는 구성 비트(도시 생략)에 따라 출력 신호(OD)를 발생시킨다. 출력 신호(OD)는 출력 회로(26)의 전환 회로(268)에 전송되고, 이는 출력 신호(27)를 발생시킨다. 다중화기 모드에서 동작하는 경우, 복수의 프로그래밍 가능한 논리 유닛(24a-d)은 신호(OR)를 발생시키고 출력한다. 출력 신호(OR)는 제어 신호(X)에 의해 선택되는 입력 신호(21) 중 하나이다. 다중화기 모드에서, 출력 신호(OR)는 출력 회로(26)의 다중화기(264a,b)의 제 1 스테이지의 입력으로 전송된다. 다중화기의 제 1 스테이지는 제어 신호(Y)에 의해 제어된다. 추가 다중화기(266)는 다중화기(264a,264b)로부터의 출력 신호를 수신하도록 접속되고, 제어 신호(Z)의 제어 하에 전환 회로(268)에 다중화기 출력 신호를 공급한다.
실제로, 2종류의 다중화기가 애플리케이션에 적용될 수 있는데, 복수의 단일-비트 입력을 수신하고 단일 비트 출력을 발생시키는 랜덤-논리 다중화기(예를 들어 8:1 다중화기)와, 멀티 비트 입력을 수신하고 멀티 비트 출력을 발생시키는 데이터 경로 다중화기(예를 들어, 4-비트 2:1 다중화기)가 있다.
논리 셀은 8개의 주요 입력 신호 외에도 3개에 이르는 보조 신호(X,Y,Z)를 이용하여 두 종류의 다중화기를 제공한다. 이 3개의 보조 신호(X,Y,Z)는 논리 셀 상으로 맵핑되는 논리 다중화기에 대한 선택 신호로서 이용된다. 이 3개의 신호는 최대 1-비트 8:1 다중화기의 경우를 처리하도록 요구된다. 기타의 다중화기 배열에서는, 적은 수의 보조 신호가 요구된다.
제어 신호(X)는 데이터 경로 모드와 다중화 모드 사이에서 공유될 수 있다는 것을 유의하자. 데이터 경로 모드에서, 제어 신호(X)는 캐리 입력 신호(Cin)를 캐리 체인(28)에 제공하며, 다중화기 모드에서는, 제어 신호(X)는 도 4의 다중화기(406)를 제어하는 데 이용된다. 유사한 방식으로, 다중화기 모드의 제어 신호(X,Y)는 제어 신호(MUL)과 멀티 비트 피연산자 처리 모드의 SUB와 공유될 수 있다. 또한, 제어 신호는 전용 보조 제어 신호로부터 유도되거나 복수의 주요 입력 신호로부터 취해질 수 있음을 유의하자.
도 5 및 도 6에 도시된 논리 셀은 4개의 프로세싱 소자를 포함하며, 이들에 의해 4-비트 데이터 경로 함수의 구현이 가능하게 된다. 그럼에도 불구하고, 논리 셀의 프로세싱 소자의 수(비트-슬라이스)는 임의적일 수 있다. 예를 들어, 각 셀은 32비트의 완전한 워드를 처리하도록 구성될 수 있다.
도 7은 도 3의 프로그래밍 가능한 논리 유닛으로 구성되며, XOR 게이트(50a-d)를 자신의 입력에 구비하여 감산을 가능하게 하는 논리 셀의 예시적인 구현을 도 시하고 있다. 프로그래밍 가능한 논리 유닛(24a-d)은 프로그래밍 가능한 논리 유닛들(24a-d)간에서 공유되는 구성 비트(404)에 의해 제어된다. 다중화기(405a-d)는 추가 구성 비트(407)에 의해 제어된다. 감산 신호(SUB)는 구성 비트 또는 외부 동적 신호 중 한 곳에 접속된다. 따라서, 최악의 경우, 6개의 구성 비트만이 논리 셀(20)을 제어하는 데 필요하며, 이는 전형적인 수학 논리 유닛을 제어하는 데 요구되는 구성 비트의 수보다 적은 것임을 볼 수 있다. 도 7의 기능성은, 도 4의 프로그래밍 가능한 논리 유닛이 추가 다중화 맵핑 특성을 제공하기 위해 포함되는 경우 또는 도 2의 AND 게이트(52a-d)가 다중화 맵핑 특성을 제공하기 위해 이용되는 경우에 더욱 향상될 수 있다.
전술한 본 발명은 맵핑 데이터 경로 함수에 대해 최적인 논리 셀을 제공하며, 이에 의해 구성 메모리의 크기를 감소시키며, 재구성 가능한 시스템-온-칩(SoC) 애플리케이션에서의 사용에 적합하게 한다. 그러므로, 논리 셀은 매립형 (FPGA)에 최적화되는 데이터 경로의 기본 논리 블록으로서 이용될 수 있거나, 프로세서 코어 내의 재구성 가능한 기능 유닛으로서 이용될 수 있다. 또한, 전형적 독립형 FPGA의 구현에도 이용될 수 있다. 또한, 이는 파라미터로 나타낼 수 있는(parametrisable) ALU의 구현에도 이용될 수 있으며, 작은 구성 메모리를 요구하고 보다 유연하게 구성되는, 즉, 맵핑 다중화기의 추가 가능성 및 감산 및/또는 곱셈 함수를 가질 수 있는 장점을 지닌다.

Claims (16)

  1. 프로그래밍 가능한 논리 셀들의 어레이를 갖는 전자 회로로서,
    상기 셀의 각각은 입력 회로로부터 논리 입력 신호를 수신하도록 병렬로 접속되고 멀티 비트 피연산자 처리 모드에서 동작하는 복수의 프로그래밍 가능한 논리 유닛을 포함하되,
    상기 복수의 프로그래밍 가능한 논리 유닛 각각은
    상기 입력 회로로부터 상기 논리 입력 신호를 수신하도록 접속되는 입력단들과 하나의 출력단을 갖고, 사전 결정된 수의 구성 비트에 따라 입력 출력 함수를 제공하는 구성 가능한 룩업 테이블(look-up table) 회로와,
    상기 룩업 테이블 회로의 상기 출력단에 접속되는 입력단과 출력단을 갖고 입력 캐리 신호(carry signal)에 의해 제어될 수 있는 제어 가능한 반전기/비-반전기(inverter/non-inverter) 회로를 포함하고,
    상기 사전 결정된 수의 구성 비트는 상기 프로그래밍 가능한 논리 셀 내의 2개 이상의 프로그래밍 가능한 논리 유닛의 상기 룩업 테이블을 제어하는
    프로그래밍 가능한 논리 셀 어레이를 갖는 전자 회로.
  2. 제 1 항에 있어서,
    상기 프로그래밍 가능한 논리 유닛은
    상기 룩업 테이블 회로의 출력 및 상기 반전기/비-반전기 회로의 출력을 수신하도록 접속되는 입력단을 가지며 상기 프로그래밍 가능한 논리 유닛으로부터 출력 신호를 공급하는 보조 다중화기(an auxiliary multiplexer)를 더 포함하는
    프로그래밍 가능한 논리 셀 어레이를 갖는 전자 회로.
  3. 제 2 항에 있어서,
    상기 보조 다중화기는 구성 메모리로부터의 구성 정보에 의해 제어되는
    프로그래밍 가능한 논리 셀 어레이를 갖는 전자 회로.
  4. 제 1 항에 있어서,
    상기 프로그래밍 가능한 논리 유닛은
    상기 입력 회로로부터 상기 논리 입력 신호를 수신하도록 접속되는 입력단들을 가지며, 다중화기 모드에서 동작하는 경우, 제 1 제어 신호(X)의 제어 하에서 다중화기 출력 신호를 공급하는 다중화기를 더 포함하는
    프로그래밍 가능한 논리 셀 어레이를 갖는 전자 회로.
  5. 제 4 항에 있어서,
    출력 회로를 더 포함하되,
    상기 출력 회로는 복수의 프로그래밍 가능한 논리 유닛으로부터 상기 다중화기 출력 신호를 수신하는 다중화기의 제 1 스테이지를 포함하고,
    상기 다중화기의 제 1 스테이지는 제 2 제어 신호(Y)에 의해 제어되는
    프로그래밍 가능한 논리 셀 어레이를 갖는 전자 회로.
  6. 제 5 항에 있어서,
    상기 출력 회로는 추가 다중화 스테이지를 포함하되,
    상기 추가 다중화 스테이지는 상기 다중화기의 제 1 스테이지의 다중화기의 출력을 수신하도록 구성 가능하며 제 3 제어 신호(Z)의 제어 하에서 출력 신호를 공급하는 추가 다중화기를 포함하는
    프로그래밍 가능한 논리 셀 어레이를 갖는 전자 회로.
  7. 제 6 항에 있어서,
    상기 다중화기 모드의 상기 제 1, 제 2 또는 제 3 제어 신호(X,Y,Z) 중 적어도 하나는 상기 멀티 비트 피연산자 처리 모드에서 이용되는 제어 신호와 공유되는
    프로그래밍 가능한 논리 셀 어레이를 갖는 전자 회로.
  8. 제 1 항에 있어서,
    캐리 입력단 및 캐리 출력단을 더 포함하고, 상기 캐리 입력단, 상기 입력 회로 및 상기 캐리 출력단 사이에는 캐리 체인이 접속되며,
    상기 프로그래밍 가능한 논리 유닛은 적어도 상기 멀티 비트 피연산자 모드에서 상기 캐리 체인을 따르는 연속적 위치에 접속되어, 상기 캐리 체인으로부터의 캐리 신호를 처리하고, 상기 프로그래밍 가능한 논리 유닛으로부터의 출력을 상기 멀티 비트 피연산자 모드에서 병렬로 전송하는
    프로그래밍 가능한 논리 셀 어레이를 갖는 전자 회로.
  9. 제 1 항에 있어서,
    상기 셀은 적어도 상기 캐리 체인의 캐리 출력 결정 동작을 제어하는 감산 제어 회로를 포함하되,
    상기 캐리 체인은 입력 신호 및 상기 캐리 체인을 따르는 각 위치에서의 캐리 입력 신호로부터의 캐리 출력 신호를 결정하며, 감산 제어 신호의 제어 하에서, 상기 감산 제어 회로에 의한 제어는 적어도 가산에 대한 결정과 감산에 대한 결정 사이에서 상기 캐리 출력 결정을 전환하는
    프로그래밍 가능한 논리 셀 어레이를 갖는 전자 회로.
  10. 제 1 항에 있어서,
    상기 셀은,
    상기 프로그래밍 가능한 논리 유닛의 상기 입력 신호 중 적어도 하나를 상기 프로그래밍 가능한 논리 유닛의 입력단으로 공급하기 이전에, 피승수(a multiplicand)를 상기 프로그래밍 가능한 논리 유닛의 상기 입력 신호 중 상기 적어도 하나와 곱하도록 접속되는 각 곱셈 회로를 프로그래밍 가능한 논리 유닛마다 포함하는
    프로그래밍 가능한 논리 셀 어레이를 갖는 전자 회로.
  11. 제 1 항에 있어서,
    상기 프로그래밍 가능한 논리 유닛의 각각은 상기 논리 입력으로부터의 신호를 위한 2개의 유닛 입력단을 가지며,
    각 프로그래밍 가능한 논리 유닛은 상기 논리 입력의 임의의 2-입력 비트 논리 함수를 독립적으로 구현하는
    프로그래밍 가능한 논리 셀 어레이를 갖는 전자 회로.
  12. 제 8 항에 있어서,
    상기 캐리 체인은 상기 연속적 위치와 상기 셀의 상기 캐리 입력단 사이에 구성 가능한 접속부를 가져서, 구성 메모리로부터의 구성 정보의 제어 하에서, 상기 캐리 체인으로의 캐리 입력 신호 또는 표준 신호를 구성 가능하게 공급하는
    프로그래밍 가능한 논리 셀 어레이를 갖는 전자 회로.
  13. 제 8 항에 있어서,
    상기 캐리 체인은 복수의 구성 가능한 접속부를 가지되,
    상기 구성 가능한 접속부 각각은 상기 연속적 위치 중 각각의 하나와 상기 프로그래밍 가능한 논리 유닛 중 각각의 하나 사이에 각각 접속되어, 구성 메모리로부터의 구성 정보의 제어 하에서, 상기 위치로부터 상기 프로그래밍 가능한 논리 회로로의 캐리 신호 또는 상기 캐리 체인을 통한 전파(propagation)의 결과가 아닌 추가 신호를 구성 가능하게 공급하는
    프로그래밍 가능한 논리 셀 어레이를 갖는 전자 회로.
  14. 제 1 항에 있어서,
    상기 반전기/비-반전기 회로는 배타적 OR 회로를 포함하는
    프로그래밍 가능한 논리 셀 어레이를 갖는 전자 회로.
  15. 제 1 항에 있어서,
    상기 반전기/비-반전기 회로는 다중화기를 포함하되,
    상기 다중화기는 제 1 입력단에서 상기 룩업 테이블의 출력을 수신하고, 제 2 입력단에서 상기 룩업 테이블의 출력의 반전 형태(an inverted version)를 수신하며, 상기 다중화기는 상기 캐리 신호에 의해 제어되는
    프로그래밍 가능한 논리 셀 어레이를 갖는 전자 회로.
  16. 제 1 항에 있어서,
    멀티 비트 피연산자 신호 처리 기능을 수행하며,
    상기 프로그래밍 가능한 논리 유닛의 각각은 상기 캐리 체인으로부터의 캐리 입력 신호에 따라(subject to carry input signal) 동일한 입력-출력 관계를 제공하며,
    상기 출력 회로는 상기 프로그래밍 가능한 논리 유닛으로부터의 출력 신호를 병렬로 출력하는
    프로그래밍 가능한 논리 셀 어레이를 갖는 전자 회로.
KR1020057015160A 2003-02-19 2004-02-12 프로그래밍 가능한 논리 셀 어레이를 갖는 전자 회로 KR101067727B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP03100383 2003-02-19
EP03100383.3 2003-02-19

Publications (2)

Publication Number Publication Date
KR20050106014A KR20050106014A (ko) 2005-11-08
KR101067727B1 true KR101067727B1 (ko) 2011-09-28

Family

ID=32892951

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020057015160A KR101067727B1 (ko) 2003-02-19 2004-02-12 프로그래밍 가능한 논리 셀 어레이를 갖는 전자 회로

Country Status (9)

Country Link
US (1) US7271617B2 (ko)
EP (1) EP1597825B1 (ko)
JP (1) JP2006518143A (ko)
KR (1) KR101067727B1 (ko)
CN (1) CN100576355C (ko)
AT (1) ATE364260T1 (ko)
DE (1) DE602004006841T2 (ko)
TW (1) TW200505163A (ko)
WO (1) WO2004075403A2 (ko)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7471643B2 (en) 2002-07-01 2008-12-30 Panasonic Corporation Loosely-biased heterogeneous reconfigurable arrays
US7461234B2 (en) * 2002-07-01 2008-12-02 Panasonic Corporation Loosely-biased heterogeneous reconfigurable arrays
EP1854035A1 (en) * 2006-02-28 2007-11-14 Mentor Graphics Corporation Memory-based trigger generation scheme in an emulation environment
US9450585B2 (en) 2011-04-20 2016-09-20 Microchip Technology Incorporated Selecting four signals from sixteen inputs
US20120268162A1 (en) * 2011-04-21 2012-10-25 Microchip Technology Incorporated Configurable logic cells
CN103257842B (zh) * 2012-02-17 2016-05-04 京微雅格(北京)科技有限公司 一种加法进位信息输出的方法和一种加法器
US9515656B2 (en) * 2013-11-01 2016-12-06 Semiconductor Energy Laboratory Co., Ltd. Reconfigurable circuit, storage device, and electronic device including storage device
CN103580678B (zh) * 2013-11-04 2016-08-17 复旦大学 一种基于fgpa的高性能查找表电路
JP2015231205A (ja) * 2014-06-06 2015-12-21 国立大学法人静岡大学 フィールドプログラマブルゲートアレイ、フィールドプログラマブルゲートアレイ開発ツール、及び、フィールドプログラマブルゲートアレイ開発方法
CN105589981B (zh) * 2014-10-22 2019-04-09 京微雅格(北京)科技有限公司 基于fpga的优化布局结构的加法器的工艺映射方法
US9954533B2 (en) * 2014-12-16 2018-04-24 Samsung Electronics Co., Ltd. DRAM-based reconfigurable logic
CN106528920B (zh) * 2016-09-27 2019-07-26 京微齐力(北京)科技有限公司 一种级联查找表的工艺映射方法
CN107885485B (zh) * 2017-11-08 2021-07-06 无锡中微亿芯有限公司 一种基于超前进位实现快速加法的可编程逻辑单元结构
CN108182303B (zh) 2017-12-13 2020-08-28 京微齐力(北京)科技有限公司 基于混合功能存储单元的可编程器件结构
KR101986206B1 (ko) * 2018-01-03 2019-06-05 연세대학교 산학협력단 비휘발성 메모리 소자를 이용한 가변 입출력 구조의 룩업 테이블 회로
US10482209B1 (en) 2018-08-06 2019-11-19 HLS Logix LLC Field programmable operation block array
CN109992255B (zh) * 2019-03-07 2022-06-24 中科亿海微电子科技(苏州)有限公司 具有进位链结构的双输出查找表及可编程逻辑单元
CN114489563B (zh) * 2021-12-13 2023-08-29 深圳市紫光同创电子有限公司 一种电路结构

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6288570B1 (en) * 1993-09-02 2001-09-11 Xilinx, Inc. Logic structure and circuit for fast carry
US5546018A (en) * 1993-09-02 1996-08-13 Xilinx, Inc. Fast carry structure with synchronous input
US6427156B1 (en) * 1997-01-21 2002-07-30 Xilinx, Inc. Configurable logic block with AND gate for efficient multiplication in FPGAS
US5963050A (en) * 1997-02-26 1999-10-05 Xilinx, Inc. Configurable logic element with fast feedback paths
US5920202A (en) * 1997-02-26 1999-07-06 Xilinx, Inc. Configurable logic element with ability to evaluate five and six input functions
US5889411A (en) * 1997-02-26 1999-03-30 Xilinx, Inc. FPGA having logic element carry chains capable of generating wide XOR functions
US6157209A (en) * 1998-12-18 2000-12-05 Xilinx, Inc. Loadable up-down counter with asynchronous reset
US6278290B1 (en) * 1999-08-13 2001-08-21 Xilinx, Inc. Method and circuit for operating programmable logic devices during power-up and stand-by modes
US6466052B1 (en) * 2001-05-15 2002-10-15 Xilinx, Inc. Implementing wide multiplexers in an FPGA using a horizontal chain structure
US6617876B1 (en) * 2002-02-01 2003-09-09 Xilinx, Inc. Structures and methods for distributing high-fanout signals in FPGAs using carry multiplexers
US6937064B1 (en) * 2002-10-24 2005-08-30 Altera Corporation Versatile logic element and logic array block
CN1751439A (zh) * 2003-02-19 2006-03-22 皇家飞利浦电子股份有限公司 具有可编程逻辑单元阵列的电子电路
US7193433B1 (en) * 2005-06-14 2007-03-20 Xilinx, Inc. Programmable logic block having lookup table with partial output signal driving carry multiplexer

Also Published As

Publication number Publication date
CN100576355C (zh) 2009-12-30
EP1597825B1 (en) 2007-06-06
DE602004006841D1 (de) 2007-07-19
DE602004006841T2 (de) 2008-02-07
US7271617B2 (en) 2007-09-18
WO2004075403A3 (en) 2004-11-04
EP1597825A2 (en) 2005-11-23
CN1751361A (zh) 2006-03-22
US20060158218A1 (en) 2006-07-20
TW200505163A (en) 2005-02-01
KR20050106014A (ko) 2005-11-08
JP2006518143A (ja) 2006-08-03
WO2004075403A2 (en) 2004-09-02
ATE364260T1 (de) 2007-06-15

Similar Documents

Publication Publication Date Title
US7196541B2 (en) Electronic circuit with array of programmable logic cells
KR101067727B1 (ko) 프로그래밍 가능한 논리 셀 어레이를 갖는 전자 회로
JP3862658B2 (ja) 再構成可能な論理デバイス
US7372297B1 (en) Hybrid interconnect/logic circuits enabling efficient replication of a function in several sub-cycles to save logic and routing resources
US6427156B1 (en) Configurable logic block with AND gate for efficient multiplication in FPGAS
US5570039A (en) Programmable function unit as parallel multiplier cell
JPH02242425A (ja) プログラム可能論理ユニット及び信号プロセッサ
US7164288B2 (en) Electronic circuit with array of programmable logic cells
US7061268B1 (en) Initializing a carry chain in a programmable logic device
GB2295738A (en) Programmable logic array integrated circuits with enhanced output routing.
US7617269B2 (en) Logic entity with two outputs for efficient adder and other macro implementations
US20060109027A1 (en) Programmable logic cell
CN107885485B (zh) 一种基于超前进位实现快速加法的可编程逻辑单元结构
US20060097750A1 (en) Electronic circuit with array of programmable logic cells
US7167021B1 (en) Logic device logic modules having improved arithmetic circuitry
US7818361B1 (en) Method and apparatus for performing two's complement multiplication
EP1488523B1 (en) Implementation of wide multiplexers in reconfigurable logic

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: 20140917

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150916

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160912

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20170908

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20180912

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20190910

Year of fee payment: 9