KR100298029B1 - 배럴시프터 - Google Patents

배럴시프터 Download PDF

Info

Publication number
KR100298029B1
KR100298029B1 KR1019940701109A KR19940701109A KR100298029B1 KR 100298029 B1 KR100298029 B1 KR 100298029B1 KR 1019940701109 A KR1019940701109 A KR 1019940701109A KR 19940701109 A KR19940701109 A KR 19940701109A KR 100298029 B1 KR100298029 B1 KR 100298029B1
Authority
KR
South Korea
Prior art keywords
input
barrel shifter
output
circuit
shifter unit
Prior art date
Application number
KR1019940701109A
Other languages
English (en)
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 사와무라 시코
Application granted granted Critical
Publication of KR100298029B1 publication Critical patent/KR100298029B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/01Methods or arrangements for data conversion without changing the order or content of the data handled for shifting, e.g. justifying, scaling, normalising
    • G06F5/015Methods or arrangements for data conversion without changing the order or content of the data handled for shifting, e.g. justifying, scaling, normalising having at least two separately controlled shifting levels, e.g. using shifting matrices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Shift Register Type Memory (AREA)
  • Logic Circuits (AREA)

Abstract

회로규모를 증대하는 일없이, 좌우양방향의 시프트가 가능한 배럴시프터를 제공하기 위해서, 배럴시프터를 구성하는 복수단의 배럴시프터 단위회로내에, 좌시프트용 트라이 스테이트버퍼(11X)와 우시프트용 트라이 스테이트 버퍼회로(12X)를 설치하고, 좌우시프트신호 입력단자(S)에 가하는 좌우시프트신호(DS)에 의해, 좌시프트용 또는 우시프트용 트라이 스테이트버퍼(11X), (12X)의 어느 한편을 동작상태로 할 수 있도록 구성했다.
따라서, 좌우시프트신호(DS)에 의해 입력단자(IX)로부터 입출력선(I0X) 또는 (I3X)에의 데이터 전송경로가 교체되어, 좌시프트 또는 우시프트의 설정이 행하여 진다.
또, 어드레스단자(A0~A3)에 제공하는 어드레스신호에 의해, 시프트량을 설정하면, 그 설정된 시프트량만 입력데이타를 시프트하여 출력할 수 있다.

Description

[발명의 명칭]
배럴 시프터
[발명의 상세한 설명]
[기술분야]
본 발명은 수치연산 프로세서 등에 사용되어 임의의 비트가 좌우 어느 방향으로도 시프트가능한 배럴 시프터에 관한 것이다.
[배경기술]
종래, 이러한 종류의 배럴 시프터로서는, 예를 들면 일본국 특개소 60-236197호 공보에 기재되는 것이 있었다.
상기 문헌에 기재되어 있는 것과 같이, 배럴 시프터는 입력데이터에 대해 필요에 따라 희망하는 자릿수만큼 한번에 비트 시프트를 행하는 회로로서, 그 구성예를 제13도∼제16도에 나타내었다.
제13도는 상기 문헌에 기재된 종래의 우측 시프트용 4비트 배럴 시프터의 구성예를 나타낸 블록도이다.
이 우측 시프트용 4비트 배럴 시프터는, 데이터 길이 4비트로 이루어진 4단의 배럴 시프터 단위회로(비트 슬라이스)(10∼13)를 구비하며, 그것들의 각 입출력 단자가 데이터 라인(15)에 의해 서로 접속되어 있다. 각 단의 배럴 시프터 단위회로(10∼13)는 디코더(20)로부터 출력되는 어드레스 신호에 의해 시프트량이 설정되도록 되어 있다.
제14도는 제13도에 있어서 데이터 길이 4비트의 각 배럴 시프터 단위회로(10∼13)의 일 구성예를 나타낸 회로도이다.
이 데이터 길이 4비트의 배럴 시프터 단위회로는 N채널형의 MOS 트랜지스터를 사용하여 1비트를 구성하고 있다. 즉, 배럴 시프터 단위회로는, 입력단자 I, 디코더(20)의 출력측에 접속되어 있는 어드레스 단자 A0∼A3, 배럴 시프터 단위회로 사이를 데이터 라인(15)으로 접속된 입출력단자 I0∼I3, 출력단자 0, 입력측 인버터(29), N채널형 MOS 트랜지스터로 이루어진 트랜스퍼 게이트(30∼33), 전원전위 Vcc에 접속된 풀업용의 P채널형 MOS 트랜지스터(34) 및 출력측 인버터(35)를 구비하고 있다.
입력단자 I는 인버터(29)를 통해 입출력단자 I0에 접속되어 있다. 각 어드레스 단자 A0∼A3는 트랜스퍼 게이트(30∼33)의 게이트 전극에 각각 접속되어 있다. 또한, 이들의 각 트랜스퍼 게이트(30∼33)의 한쪽 단자는 입출력 단자(I0∼I3)에 접속되고, 다른쪽 단자는 인버터(35)의 입력부에 공통 접속되어 있다. 이 인버터(35)의 출력부는 출력단자 0에 접속되어 있다.
다음에, 이상과 같이 구성된 우측 시프트용 4비트 배럴 시프터의 동작을 설명한다.
제13도에 있어서, 각 배럴 시프터 단위회로(10∼13)의 입력단자 I에서 4비트의 입력 데이터 DI0∼DI3은, 디코더(20)로부터 출력된 어드레스 신호에 근거하여 우측 방향으로 소망하는 자릿수만큼 각각 시프트하고, 각 배럴 시프터 단위회로(10∼13)의 출력단자 0로부터 출력데이터 D00∼D03으로서 출력된다.
제15도는 상기 문헌에 기재된 종래의 좌측 시프트용 4비트 배럴 시프터의 구성 블록도이다. 이 좌측 시프트용 4비트 배럴 시프터는, 제4도의 배럴 시프터에 대해, 데이터 라인(15)의 접속방향을 바꾼 것으로, 입력 데이터의 좌측 시프트를 행하도록 되어 있다.
그러나, 상기 구성의 배럴 시프터에서는, 배럴 시프터 단위회로 사이의 데이터라인(15)의 접속방향으로 우측 시프트인지 또는 좌측 시프트인지가 결정되어, 좌우 어느 한쪽만의 시프트밖에 할 수 없었다. 그 때문에, 좌우 양 방향의 시프트를 실현하기 위해서는, 다음과 같은 수단을 강구해야만 하였다.
즉, 제 1 수단은, 제13도의 우측 시프트용 배럴 시프터와 제15도의 좌측 시프트용 배럴 시프터를 각각 준비하는 것이고, 또한, 제 2 수단은 제16도와 같은 회로구성으로 하는 것이다.
제16도는 종래의 양방향 시프트용 4비트 배럴 시프터의 구성예를 나타낸 블록도이다. 이 배럴 시프터에서는, 제14도에 도시된 배럴 시프터의 입력측에 셀렉터(40∼43)를 설치하는 동시에, 출력측에도 셀렉터(50∼53)를 설치하여, 그것들의 셀렉터(40∼43, 50∼53)를 절환하는 것에 의해 좌우 양방향의 시프트를 실현하고 있다.
그러나, 이와 같이 우측 시프트용 배럴 시프터와 좌측 시프트용 배럴 시프터를 조합하거나, 또는 제16도와 같은 회로구성으로 하면, 소자수가 많아져 회로규모가 대형화된다고 하는 문제가 있었다.
[발명의 개시]
제 1 발명은, 상기 종래기술이 갖고 있던 과제인 좌우 양방향 시프트를 실현하고자 하면 회로규모가 증대한다는 하는 점에 대해서 해결한 좌우 양방향 시프트 가능한 배럴 시프터를 제공하는 것이다.
제 2 발명은, 연산회로에 있어서 통상적으로 행해지는 상위 비트의 부호확장을 행하는 부호확장회로 및 하위 비트의 0 채우기를 행하는 0 충전회로를 구비한 좌우 양방향 시프트 가능한 배럴 시프터를 제공하는 것이다.
제 3 발명은, 이 부호확장 및 0 채우기를 면적을 절감하면서 행하는 좌우 양방향 시프트 가능한 배럴 시프터를 제공하는 것이다.
제 1 발명의 배럴 시프터는, 제 1 내지 제 N(N; N≥ 2, 자연수)의 입출력노드와, 출력단자와, 입력단자와, 상기 출력단자와 상기 제 1 내지 제 N 입력단자 사이에 각각 접속된 제 1 내지 제 N 스위칭 소자와, 상기 입력단자에 입력부가 접속되며, 상기 제 1번째의 입출력노드 및 제 N번째의 입출력노드에 출력부가 접속된 좌우 시프트 선택회로로서, 좌우 시프트 신호에 대응하여, 상기 제 1 번째의 입출력노드 또는 상기 제 N 번째의 입출력노드에 데이터를 출력하는 좌우 시프트 선택회로를 구비한 배럴 시프터 단위회로를 M단(M; M≥ 1, 자연수)을 갖는 배럴 시프터에 있어서, 상기 각 단의 배럴 시프터 단위회로의 상기 제 1 내지 제 N 스위칭소자를 각각 공통으로 구동하기 위한 신호선으로, 제 1 내지 제 N 신호를 각각 갖는 제 1 내지 제 N 신호선과, 상기 M단의 배럴 시프터 단위회로 중에서, P(P; 1≤P<M, 자연수)단째의 배럴 시프터 단위회로와 (P+l)번째의 배럴 시프터 단위회로를 접속하는 제 1 내지 제 (N-1) 접속선으로, 상기 제 1 내지 제 (N-1) 접속선 중에서 Q(Q; 1<Q≤ (N-1))번째의 접속선은 상기 P단째의 배럴 시프터 단위회로의 제 Q 번째 입출력노드와, 상기 (P+1)단째의 배럴 시프터 단위회로의 제 (Q+1)번째 입출력노드를 접속하는 제 1 내지 제 (N-1)의 접속선을 구비한다.
제 2 발명의 배럴 시프터는, 상기 제 1 발명의 배럴 시프터의 상기 M단의 배럴 시프터 단위회로 중에서 상기 제 1 단째의 배럴 시프터 단위회로의 입력단자에 입력부가 접속되고, 상기 제 1 단째의 배럴 시프터 단위회로의 제 1 내지 제 (N-1)번째의 입출력노드에 출력부가 접속된 부호확장용 트라이 스테이트 버퍼와, 상기 M단의 배럴 시프터 단위회로 중에서 상기 제 M 단째의 배럴 시프터 단위회로의 제 2 내지 제 N 번째의 입출력노드에 출력부가 접속되고, 그라운드에 입력부가 접속된 제로 채우기용 트라이 스테이트 버퍼를 구비한다.
제 3 발명의 배럴 시프터는, 제 1 내지 제 N(N; N≥ 2, 자연수) 입출력노드와, 입력단자와, 출력단자와, 상기 출력단자와 상기 제 1 내지 제 N 입력단자 사이에 각각 접속된 제 1 내지 제 N 스위칭소자를 갖는 배럴 시프터 단위회로를 M단(M; M≥ 1, 자연수) 구비하고, 상기 M단의 배럴 시프터 단위회로 중에서, P(P; 1≤P<M, 자연수)단째의 배럴 시프터 단위회로와, (P+l)번째의 배럴 시프터 단위회로를 접속하는 제 1 내지 제 (N-1) 접속선으로, 상기 제 1 내지 제 (N-1)의 접속선 중에서, Q(Q; 1<Q≤ (N-1))번째의 접속선은, 상기 P단째의 배럴 시프터 단위회로의 제 Q번째의 입출력노드와, 상기 (P+l)단째의 배럴 시프터 단위회로의 제 (Q+1)번째의 입출력노드를 접속하는 제 1 내지 제 (N-1) 접속선과, 좌우측 시프트신호를 갖는 좌우 시프트 신호선을 구비한 배럴 시프터에 있어서, 상기 제 1 단째의 배럴 시프터 단위회로는, 상기 제 1 단째 배럴 시프터 단위회로의 상기 제 1 번째의 입출력 노드가 상기 제 M 단째의 배럴 시프터 단위회로의 출력단자에 접속되고, 상기 제 1 단째 배럴 시프터 단위회로의 상기 입력단자에 입력부가 접속되며, 상기 제 N 번째 입출력노드에 출력부가 접속된 우측 시프트용 버퍼회로를 갖는 배럴 시프터 단위회로로서, 상기 제 2∼제 (M-1)단째의 배럴 시프터 단위회로 중에서, P단째(2≤ P≤ M)의 배럴 시프터 단위회로는, 상기 입력단자 및 상기 제 1 단째 배럴 시프터 단위회로의 입력단자에 입력부가 접속되고, 상기 제 1 번째 입출력노드에 출력부가 접속된 선택회로와, 상기 입력단자 및 상기 좌우 시프트 신호선에 입력부가 접속되고, 상기 제 N번째의 입출력노드에 출력부가 접속된 논리회로를 구비한 배럴 시프터 단위회로이며, 상기 제 M단째의 배럴 시프터 단위회로는, 상기 제 M단째의 배럴 시프터 단위회로의 입력단자에 입력부가 접속된 좌측 시프트용 버퍼회로와, 상기 제 M 단째 배럴 시프터 단위회로의 상기 제 1 번째 입출력노드에 출력부가 접속되고, 상기 제 M 단째 배럴 시프터 단위회로의 입력단자 및 상기 제 1 단째 배럴 시프터 단위회로의 입력단자에 입력부가 접속된 선택회로와, 상기 제 M 단째 배럴 시프터 단위회로의 입력단자 및 상기 좌우 시프트 신호선에 입력부가 접속되며, 상기 제 N 번째의 입출력노드에 출력부가 접속된 논리회로를 구비한다.
[도면의 간단한 설명]
제1도는 본 발명의 제1 실시예에서 사용되는 배럴 시프터 단위회로의 회로도.
제2도는 본 발명의 제1 실시예를 나타낸 좌우 양방향 3비트 배럴 시프터의 블록 구성도.
제3도는 제2도 중의 디코더의 회로도.
제4도는 본 발명의 제 2 실시예를 나타낸 좌우 양방향 3비트 배럴 시프터의 블록 구성도.
제5도는 본 발명의 제 3 실시예를 나타낸 좌우 양방향 3비트 배럴 시프터의 블록 구성도.
제6도는 제5도 중의 배럴 시프터 단위회로의 회로도.
제7도는 제5도 중의 셀렉터의 회로도.
제8도는 본 발명의 제1 실시예에 대응하는 좌우 양방향 M비트 배럴 시프터의 블록 구성도.
제9도는 제8도 중의 배럴 시프터 단위 회로도.
제10도는 본 발명의 제 2 실시예에 대응하는 좌우 양방향 M비트 배럴 시프터의 블록 구성도.
제11도는 본 발명의 제 3 실시예에 대응하는 좌우 양방향 M비트 배럴 시프터의 블록 구성도.
제12도는 제11도 중의 배럴 시프터 단위회로의 회로도.
제13도는 종래의 우측 시프트용 4비트 배럴 시프터를 나타낸 블록 구성도.
제14도는 제13도 중의 배럴 시프터 단위회로의 회로도.
제15도는 종래의 좌측 시프트용 4비트 배럴 시프터를 나타낸 블록 구성도.
제16도는 종래의 양방향 시프터용 4비트 배럴 시프터를 나타낸 블록 구성도.
[발명을 실시하기 위한 최량의 상태]
[제1 실시예]
제2도는 본 발명의 제1 실시예를 나타낸 좌우 양방향 3비트 배럴 시프터의 블록 구성도이다.
이 좌우 양방향의 3비트 배럴 시프터는, 4단의 좌우 양방향 배럴 시프터 단위회로(100∼103)를 구비하고, 그것들의 입출력단자가 데이터라인(350)에 의해 상호 접속되어 있다. 그리고, 각 배럴 시프터 단위회로(100∼103)가 디코더(200)로부터 출력된 어드레스 신호에 의해 소망하는 자릿수만큼 시프트 동작한다. 이 디코더(200)에는, 좌우 시프트 입력단자 S로부터 좌우 시프트 신호 DS가 입력되고, 시프트량 데이터 입력단자 D0, D1으로부터 시프트량 데이터 신호 DD0, DD1이 입력된다. 이와 같이, 각 단자에 입력된 신호 또는 각 단자로부터 출력된 신호의 부호는 대응하는 단자를 표시하는 부호 앞에 D를 붙여 표시하였다. 이 좌우측 시프트신호 DS에 의해 시프트 방향이 설정되고, 시프트량 데이터 신호 DD0, DD1에 의해 시프트량이 결정된다. 그 결과, 입력데이터 DI0∼DI3가 시프트량만큼 시프트되어, 각 배럴 시프터 단위회로(100∼103)의 출력단자 00∼03으로부터 출력데이터 D00∼D03의 형태로 출력된다.
제1도는 제2도에 있어서의 각 좌우 양방향 배럴 시프터 단위회로(100∼103)의 구성을 나타낸 회로도이다. 이하에 설명하는 X의 수치는, 좌우 양방향 배럴 시프터 단위회로 100인 경우, X=0, 101인 경우; X=1, 102인 경우; X=2, 103인 경우, X=3이다.
제1도에 도시된 좌우 양방향 배럴 시프터 단위회로는, 입력데이터 DIX가 입력되는 데이터 입력단자 IX, 좌우 시프트신호 DS가 입력되는 좌우 시프트 신호 입력단자 S, 어드레스 신호 DA0∼DA3가 각각 입력되는 어드레스 단자 A0∼A3, 데이터의 입출력을 행하는 입출력 단자(입출력노드) I0X∼I3X, 출력데이터 D0X를 출력하는 출력단자 0X, 좌측 시프트용의 트라이 스테이트버퍼 11X, 우측 시프트용의 트라이 스테이트 버퍼 12X, 좌우 시프트신호 DS를 반전하는 인버터 13X, N채널형 MOS 트랜지스터로 이루어진 트랜스퍼 게이트 16X∼19X, 풀업용의 MOS 트랜지스터 14X, 및 출력용 인버터 15X를 구비하고 있다.
입력단자(IX)는, 좌측 시프트용 트라이 스테이트 버퍼(11X) 및 우측 시프트용 트라이 스테이트 버퍼(12X)를 각각 거쳐 입출력단자(I0X, I3X)에 접속되어 있다. 좌우 시프트신호 입력단자(S)는, 좌측 시프트용 트라이 스테이트 버퍼(11X)의 제어단자에 접속되는 동시에, 인버터(13X)를 통해 우측 시프트용 트라이 스테이트 버퍼(12X)의 제어단자에 접속되어 있다. 좌우측 시프트신호(DS)가 “0”일 때, 트라이 스테이트 버퍼 11X가 동작상태로, 트라이 스테이트 버퍼 12X가 비동작상태로 되어, 트라이 스테이트 버퍼 12X의 출력이 부정 “Z”로 된다. 또한, 좌우 시프트신호(DS)가 “1”일 때, 트라이 스테이트 버퍼 12X가 동작상태로, 트라이 스테이트 버퍼 11X가 비동작상태가 되어, 트라이 스테이트 버퍼 11X의 출력이 부정 “Z”가 된다.
어드레스 단자(A0∼A3)는 제2도에 도시된 디코더(200)에 의해 1 단자만이 활성화된다. 즉, 이 단자에게만 “1”이 입력되는 단자로, 트랜스퍼 게이트(16X∼19X)의 각 게이트전극에 접속되어 있다. 각 트랜스퍼 게이트(16X∼19X)의 한쪽 단자는 각각 입출력단자(I0X∼I3X)에 접속되고, 다른쪽 단자는 출력용 인버터(15X)를 통해 출력단자(0X)에 공통 접속되어 있다. 출력용 인버터(15X)의 입력부 및 출력부에는, 각각 MOS 트랜지스터(14X)의 소스, 게이트가 접속되고, MOS 트랜지스터(14X)의 드레인은 전원전위(Vcc)에 접속되어 있다.
제3도는 제2도 중의 디코더(200)의 구성예를 나타낸 회로도이다. 이 디코더(200)는 통상적인 디코더의 입력측에 반전신호를 생성하는 셀렉터를 설치한 것으로, 제2도의 3비트 배럴 시프터의 시프트량을 생성하는 기능을 갖고 있다. 즉, 이 셀렉터는, 좌우측 시프트 신호 입력단자(S) 및 시프트량 데이터 입력단자(D0, D1)에 각각 접속된 인버터(201∼203) 및, N채널형 MOS 트랜지스터와 P채널 MOS 트랜지스터가 병렬접속되어 구성된 PN 트랜스퍼 게이트(204∼207)를 구비하고 있다. 이 인버터 202, 203의 출력부에는 PN 트랜스퍼 게이트 205, 207의 한쪽 단자가 각각 접속되어 있다. 또한, PN 트랜스퍼 게이트 204, 206의 한쪽 단자는, 시프트량 데이터 입력단자(D0, D1)에 각각 접속되어 있다. PN 트랜스퍼 게이트(204∼207)의 한쪽의 게이트는 인버터 201의 출력부에 접속되고, 다른쪽 게이트는 좌우 시프트 신호 입력단자(S)에 접속되어 있다. 더구나, PN 트랜스퍼 게이트 204, 205의 다른쪽 단자는 인버터 208의 입력부에 접속되는 동시에, 2입력 NOR 게이트 210 및 212의 입력부에 접속되어 있다. 또한, PN 트랜스퍼 게이트 206, 207의 다른쪽 단자는 인버터 209의 입력부에 접속되는 동시에, 2입력 NOR 게이트 210 및 211의 입력부에 접속되어 있다. 이들 인버터 208, 209의 출력부는 각각 2입력 NOR 게이트 211 및 213의 입력부, 2입력 NOR게이트 212 및 213의 입력부에 접속되어 있다. 이들 2입력 NOR게이트(210∼213)의 출력부는 제1도 및 제2도에도 나타낸 어드레스 단자(A0∼A3)에 각각 접속되어 있다. 이 디코더(200)의 진리값 표를 표 1에 나타내었다.
[표 1]
다음에, 제1도∼제3도에 도시된 좌우 양방향 3비트 배럴 시프터의 동작을 표 1의 디코더 진리값 표를 참조하여 설명한다.
이 표 1(좌측)은, 좌우 양방향 3비트 배럴 시프터의 좌측 시프트동작을, 좌우측 시프트 신호입력단자(S) 및 시프트량 데이터 입력단자(D1, D0)에 각각 입력된 신호(DS, DD1 및 DD2)에 대응하여, 위로부터 스루, 좌측 1비트 시프트, 좌측 2비트 시프트 및 좌측 3비트 시프트의 순서로 표시하고 있다. 이 스루는 시프트 동작을 행하지 않고 입력데이터를 그대로 출력시키는 동작이다.
우선, 좌측 1비트 시프트를 예로 들어 설명한다. 좌우측 시프트신호 입력단자(S) 및 시프트량 데이터 입력단자(D1, D0)에 신호 “0”, “0”, “1”을 입력하면, 디코더(200) 내의 셀렉터 204, 206가 동작상태, 셀렉터 205, 207이 비동작상태가 되어, NOR 게이트(210∼213)를 통해 디코더(200)의 출력이 {A0, Al, A2, A3}={0, 1, 0, 0}이 된다. 따라서, 제1도에 도시된 배럴 시프터 단위회로(100∼103)에서는, 어드레스 단자 A1에 접속되어 있는 트랜스퍼 게이트 17X 만이 동작상태로 된다. 이에 따라, 각 배럴 시프터 단위회로(100∼103)의 출력단자(0X)에는 입출력단자 I1X의 신호가 각각 인버터 15X로 반전되어 출력된다.
또한, 좌우 시프트신호(DS)가 “0”이므로 트라이 스테이트 버퍼 11X가 동작하고, 입력단자 IX에 입력된 입력데이터 DIX는, 좌측 시프트용 트라이 스테이트 버퍼 11X에서 반전되어, 입출력단자 I0X 상으로 출력된다(제1도). 여기에서, 제2도에 도시된 것 같이, 배럴 시프터 단위회로 101의 입출력단자 I11은, 배럴 시프터 단위회로 100의 입출력단자 I00에 접속되어 있기 때문에, 입력데이터 DI0이 배럴 시프터 단위회로 101의 출력단자 01로부터 출력데이터 D01으로서 출력된다. 또한, 배럴 시프터 단위회로 102의 입력단자 I12는 배럴 시프터 단위회로 101의 입출력단자 I01에 접속되어 있기 때문에, 입력데이터 DI1이 배럴 시프터 단위회로 I02의 출력단자 02로부터 출력데이터 D02로서 출력된다. 더우기, 배럴 시프터 단위회로 103의 입출력단자 I13은 배럴 시프터 단위회로 102의 입출력단자 I02에 접속되어 있기 때문에, 입력데이터 DI2가 배럴 시프터 단위회로 103의 출력단자 03으로부터 출력데이터 D03으로서 출력된다. 이와 같이, 입력데이터 DI0, DI1 및 DI2는 좌측으로 1비트 시프트하여 배럴 시프터 단위회로 101, 102, 103의 출력단자 01, 02, 03으로부터 각각 출력데이터 D01, D02, D03로서 출력된다.
이때, 일반적으로 연산회로에 있어서는, 배럴 시프터 단위회로 100의 출력단자 00으로부터는 “0”이 출력데이터 D00로서 출력된다. 이와 같이, 좌측 시프트시의 하위 비트는 0 채우기로 된다. 이러한 0 충전회로 및 그 동작에 대해서는 실시예 2에서 상세히 기술한다.
다음에, 표 1(우측)은, 좌우 양방향 3비트 배럴 시프터의 우측 시프트동작을 좌우측 시프트신호 입력단자(S) 및 시프트량 데이터입력단자(D1, D0)에 각각 입력된 신호(DS, DD1 및 DD0)에 대응하여, 위로부터 스루, 우측 1비트 시프트, 우측 2비트 시프트 및 우측 3비트 시프트의 순서로 표시하고 있다. 이 우측 2비트 시프트를 예로 들어 설명한다. 입력단자(S, D1, D0)에 신호 “0”, “0”, “1”을 입력하면, 디코더(200)의 출력이 {A0, Al, A2, A3}={0, 1, 0, 0}이 된다. 따라서, 제1도에 도시된 배럴 시프터 단위회로(100∼103)에서는 어드레스 단자 A1에 접속되어 있는 트랜스퍼 게이트 17X 만이 동작한다. 이에 따라, 출력단자(0X)에는, 입출력 단자 I1X 상의 신호가 인버터 15X에서 반전되어 출력된다.
또한, 입력단자(S)가 “1”이므로 우측 시프트용 트라이 스테이트 버퍼 12X가 동작하고, 입력단자 IX에 입력된 입력데이터 DIX는 버퍼 12X에서 반전되어 입출력단자 I3X 상으로 출력된다(제1도). 여기에서, 배럴 시프터 단위회로 101의 입출력선 I11은 배럴 시프터 단위회로 103의 입출력단자 I33에 접속되어 있으므로, 입력데이터 DI3이 출력단자 01으로부터 출력데이터 D01으로서 출력된다. 또한, 배럴 시프터 단위회로 100의 입출력선 I10은 배럴 시프터 단위회로 102의 입출력선 I32에 접속되어 있으므로, 입력데이터 DI2가 출력단자 00으로부터 출력데이터 D00로서 출력된다. 이와 같이, 입력데이터 DI3 및 DI2는 우측으로 2비트 시프트하여 배럴 시프터 단위회로 101, 100의 출력단자 01, 00으로부터 출력데이터 D01, D00으로서 각각 출력된다.
이때, 일반적으로 연산회로에 있어서는, 배럴 시프터 단위회로 103, 102의 출력단자 03, 02로부터는 데이터 입력단자에 입력된 입력데이터 DI3이 출력데이터의 D03, D02로서 각각 출력된다. 이와 같이, 우측 시프트시의 상위비트는 최상단의 배럴 시프터 단위회로의 입력단자에 입력된 입력데이터와 동일한 데이터가 출력된다(부호확장). 이 부호확장회로 및 그 동작에 대해서는 실시예 2에서 상세하게 기술한다.
여기서는, 좌측 1비트 시프트 및 우측 2비트 시프트를 예로 하여 상세히 설명하였지만, 좌우 시프트신호(DS) 및 시프트량 데이터신호(DD1, DD0)를 표 1에 나타낸 것 같이 적절히 선택하면, 스루, 좌측 2 및 좌측 3비트 시프트, 및 우측 1 및 우측 3비트 시프트도 같은 방식으로 행할 수가 있다. 표 2 및 표 3에 각각 스루, 좌측 1, 2, 3 비트 시프트와, 스루, 우측 1, 2, 3 비트 시프트시의 각 출력단자(00∼03)에서 출력되는 데이터를 나타낸다.
[표 2]
[표 3]
이상과 같이, 본 실시예에서는, 각 배럴 시프터 단위회로(100∼103) 내에 좌우 양방향으로 시프트를 가능케 하는 트라이 스테이트 버퍼(11X, 12X)를 설치하였기 때문에, 디코더(200)의 좌우 시프트 신호입력단자(S)에 입력된 좌우 시프트신호(DS)에 의해, 좌측 또는 우측 방향의 시프트를 행할 수가 있다. 이와 같이, 각 배럴 시프터 단위회로(100∼103) 내에 트라이 스테이트 버퍼(11X, 12X)를 설치하는 것만으로, 좌우 양방향의 시프트가 가능하게 되므로, 종래에 비해 부가되는 회로소자수가 적어져, 회로규모의 증대를 억제할 수 있고, 회로를 형성하기 위한 패턴면적을 작게할 수가 있다.
[제 2 실시예]
전술한 것 같이, 통상적으로 연산회로에 있어서는, 좌측 시프트시의 하위비트 및 우측 시프트시의 상위비트는, 각각 0 채우기, 부호확장이 이루어진다. 이들 0 채우기 및 부호확장은, 제4도에 표시하는 것과 같이 0 충전회로(300), 부호확장회로(310)를 제2도에 도시한 배럴 시프터에 접속함으로써 행할 수 있다.
0 충전회로(300)는 0 충전용 트라이 스테이트 버퍼(301)로 구성되고, 이 0 충전용 트라이 스테이트 버퍼(301)의 구동은 좌우측 시프트신호(DS)에 의해 행해진다. 즉, 0 충전용 트라이 스테이트 버퍼(301)의 제어단자는 좌우 시프트 신호 입력단자(S)에 접속되어, 좌우 시프트신호(DS)가 “0”일 때, 0 충전용 트라이 스테이트 버퍼(301)가 동작상태로 된다. 제4도에 도시한 좌우 양방향 3비트 배럴 시프터회로의 경우, 0 충전용 트라이 스테이트 버퍼(301)의 출력부는 배럴 시프터 단위회로 100의 입출력단자 I10, I20 및 I30에 접속되고, 0 충전용 트라이 스테이트 버퍼(301)의 입력부는 그라운드에 접속되어 있다.
실시예 1에서 설명한 좌측 1비트 시프트의 경우, 배럴 시프터 단위회로 100에서는, 트랜스퍼 게이트(170∼190) 중에서, 170 만이 동작상태이므로, 출력단자 00에는 입출력단자 I10 상의 신호가 인버터 150에서 반전되어 출력된다. 또한, 좌우 시프트신호(DS)는 “0”이므로, 0 충전용 트라이 스테이트 버퍼(301)가 동작하고, 배럴 시프터 단위회로 100의 입출력단자 I10은 0 충전용 트라이 스테이트 버퍼(301)을 통해 그라운드에 접속된다. 이에 따라, 출력단자 00에서는, “0”가 출력데이터 D00으로서 출력된다. 이 0 충전회로의 인버터의 출력부는 최하단의 배럴시프터 단위회로의 좌측 시프트용 트라이 스테이트 버퍼와 접속되어 있는 입출력단자 이외의 입출력단자에 접속하면 좋다.
다음에, 부호확장회로(310)는, 부호확장용 트라이 스테이트 버퍼(311) 및 좌우 시프트 신호 반전용 인버터(312)로 구성되고, 이 부호확장용 트라이 스테이트 버퍼(311)는 좌우 시프트신호의 반전신호에 의해 구동된다. 즉, 부호확장용 트라이 스테이트 버퍼(311)의 제어단자는 인버터(312)의 출력부에 접속되고, 이 인버터(312)의 입력부는 좌우 시프트신호 입력단자(S)에 접속되어 있다. 이 좌우 시프트신호 입력단자(S)에 입력된 좌우 시프트신호(DS)가 “1”일 때, 이 신호가 인버터(312)에서 반전되어, 부호확장용 트라이 스테이트 버퍼(311)의 제어단자에 입력된다. 이때, 부호확장용 트라이 스테이트 버퍼(311)는 동작상태로 된다. 제4도에 도시한 좌우 양방향 3비트 배럴 시프터회로의 경우, 부호확장용 트라이 스테이트 버퍼(311)의 출력부는 배럴 시프터 단위회로 103의 입출력단자 I03, I13 및 I23에 접속되고, 부호확장용 트라이 스테이트 버퍼(311)의 입력부는 입력단자(I3)에 접속되어 있다.
실시예 1에서 설명한 우측 2비트 시프트의 경우, 배럴 시프터 단위회로 103, 102의 트랜스퍼 게이트 173, 172가 동작상태이므로, 출력단자 03, 02에는 입출력단자 I13, I12 상의 신호가 각각 인버터 153, 152에서 반전되어 출력된다. 또한, 부호확장용 트라이 스테이트 버퍼(311)는 동작상태이므로, 배럴 시프터 단위회로 103의 입력단자 I13 및 I23는 부호확장용 트라이 스테이트 버퍼(311)를 거쳐 입력단자 I13에 접속된다. 또한, 입출력단자 I23은 배럴 시프터 단위회로 102의 입출력단자 I12와 접속되어 있다. 이에 따라, 출력단자 03 및 02로부터는 입력단자 I3에 입력된 입력데이터 DI3가 출력데이터 D03, D02로서 출력된다. 이 부호확장회로 트라이 스테이트 버퍼(311)의 출력부는, 최상단의 배럴 시프터 단위회로의 입출력단자 중에서 우측 시프트용 트라이 스테이트 버퍼와 접속되어 있는 입출력단자 이외의 입출력단자에 접속하는 것이 좋다.
여기서는, 좌측 1비트 시프트 및 우측 2비트 시프트를 예로 들어 설명하였지만, 좌측 2, 좌측 3 및 우측 1, 우측 3비트 시프트의 경우도 각각 마찬가지로 0 채우기 또는 부호확장이 행해진다. 표 4 및 표 5에 각각 스루, 좌측 1, 2, 3비트 시프트 및 스루, 우측 1, 2, 3비트 시프트시의 각 출력단자(00∼03)에 출력되는 데이터를 나타내었다.
[표 4]
[표 5]
이상과 같이, 제 2 실시예에서는, 좌우 양방향 배럴 시프터 단위회로 내부에, 우측 시프트시에 최상단의 배럴 시프터 단위회로의 입력데이터를 동일한 배럴 시프터 단위회로의 우측 시프트용 트라이 스테이트 버퍼에 접속되어 있지 않은 출력단자 상으로 출력하는 부호확장회로를 설치하였다. 이에 따라, 우측 시프트시의 상위비트에는 최상위의 입력데이터와 동일한 데이터를 출력(부호확장)할 수 있다. 또한, 좌측 시프트시에, 그라운드 레벨 “0”을 최하단의 배럴 시프터 단위회로의 좌측 시프트용 트라이 스테이트 버퍼에 접속되어 있지 않은 입출력단자 상으로 출력하는 0 충전회로를 설치하였다. 이에 따라, 좌측 시프트시의 하위비트에 0 채우기를 행할 수 있다.
또한, 좌우 양방향 배럴 시프터회로의 좌측 시프트시의 하위비트 또는 우측 시프트시의 상위비트로부터 출력된 출력데이터는, 0 충전회로의 0 충전용 트라이 스테이트 버퍼(301) 및 부호확장회로의 인버터(310)의 입력부를 각각 전원전위, 그라운드 또는 입력단자에 접속함으로써 적절히 선택할 수 있다.
[제 3 실시예]
제5도는 본 발명의 제 3 실시예를 나타낸 좌우 양방향 3비트 배럴 시프터의 블록 구성도이다. 제2도와 같은 구성요소에는 같은 부호를 붙였다.
이 좌우 양방향 3비트 배럴 시프터는, 4단의 배럴 시프터 단위회로(400∼403)를 구비하고, 그것들의 입출력단자가 데이터라인(350)에 의해 상호 접속되어 있다. 그리고, 각 배럴 시프터 단위회로(400∼403)의 입력단자(I0∼I3)에 입력된 입력데이터(DI0∼DI3)가, 디코더(200)로부터 출력된 어드레스신호(DA0∼DA3)에 의해 희망하는 자릿수만큼 시프트 동작하여, 각 배럴 시프터 단위회로(400∼403)의 출력단자(00∼03)로부터 출력데이터(D00∼D03)로서 출력된다. 이 경우, 좌우 시프트신호 입력단자(S)에 입력된 좌우 시프트 신호(DS)에 의해 시프트 방향이 설정되고, 시프트량 데이터 입력단자(D0, D1)에 입력된 시프트량 데이터신호(DD0, DD1)에 의해 시프트량이 결정된다.
디코더(200)의 내부구성은 제1 실시예 중에서 제3도를 사용하여 설명한 디코더와 동일한 회로를 사용할 수 있다.
다음에, 배럴 시프터 단위회로(400∼403)의 구성에 대해 설명한다. 제6도는 제5도에 도시된 배럴 시프터의 배럴 시프터 단위회로(400∼403)의 구성을 나타낸 회로도이다. 이하에 설명하는 X의 수치는, 좌우 앙방향 배럴 시프터 단위회로 400의 경우; X=0, 401의 경우; X=1, 402의 경우; X=2, 403의 경우; X=3이다.
제6도에 도시된 배럴 시프터 단위회로는, 셀렉트 신호단자(LIX) 및 논리신호단자(RIX), 셀렉트 신호 제어단자(LSX) 및 논리신호 제어단자(RSX), 어드레스 신호를 입력하는 어드레스 단자(A0∼A3), 데이터의 입출력을 행하는 입출력단자(I0X∼I3X), 출력데이터를 출력하는 출력단자(0X), 좌측 시프트용의 트라이 스테이트 버퍼(51X), 우측 시프트용의 트라이 스테이트 버퍼(52X), N채널형 MOS 트랜지스터로 이루어진 트랜스퍼 게이트(46X∼49X), 플업용의 MOS 트랜지스터(44X), 출력용 인버터(45X) 및 출력단자(OX)를 구비하고 있다.
셀렉트 신호단자(LIX)는, 좌측 시프트용 트라이 스테이트 버퍼(51X)를 통해 입출력단자 I0X에 접속되어 있다. 또한, 논리신호단자(RIX)는 우측 시프트용 트라이 스테이트 버퍼(52X)를 통해 입출력단자 I3X에 접속되어 있다. 입력단자 LSX 및 RSX는 각각 좌측 시프트용 트라이 스테이트 버퍼(51X) 및 우측 시프트용 트라이 스테이트 버퍼(52X)의 제어단자에 접속되어 있다. 셀렉트 신호 제어단자(LSX)에 입력된 신호가 “0”일 때, 트라이 스테이트 버퍼(51X)가 동작상태로 되고, 논리신호 제어단자(RSX)에 입력된 신호가 “0”일 때, 트라이 스테이트 버퍼(52X)가 동작상태로 된다.
어드레스단자(A0∼A3)에는, 제3도에 도시된 디코더(200)로부터 출력된 어드레스 신호가 입력되어, 1단자 만이 활성화되는 단자로서, 트랜스퍼 게이트(45X∼49X)의 각 게이트 전극에 접속되어 있다. 각각의 트랜스퍼 게이트(46X∼49X)의 한쪽 단자는 각각 입출력단자(I0X∼I3X)에 접속되고, 다른쪽 단자는 인버터(45X)의 입력부에 공통접속되어 있다. 이 인버터(45X)의 출력부는 출력단자(0X)에 접속되어 있다. 또한, 인버터(45X)의 입력부 및 출력부에는 각각 MOS 트랜지스터(44X)의 소스, 게이트가 접속되고, MOS 트랜지스터(44X)의 드레인은 전원전위 Vcc에 접속되어 있다.
이 배럴 시프터 단위회로(400∼403) 중에서, 배럴 시프터 단위회로(400∼402)(X=0, 1, 2)는 각각 좌측 시프트시에 하위비트의 0 채우기를 행하고, 우측 시프트시에는 시프트에 관여하는 2입력 AND 회로(530∼532) 및 우측 시프트시에 상위 비트의 부호확장을 행하며, 좌측 시프트시에는 시프트동작에 관여하는 셀렉터(540∼542)에 접속된다. 우선, 2입력 AND 회로(530∼532)의 한쪽 입력은 각각 입력단자(I0, I1, I2)에 접속되고, 다른쪽 입력은 좌우 시프트 신호 입력단자(S)에 공통접속되어 있다. 또한, 2입력 AND 회로(530∼532)의 출력은 각각 배럴 시프터 단위회로(400, 401, 402)의 논리신호단자(RI0∼RI3)에 접속되어 있다. 다음에, 셀렉터(540∼542)는 2개의 신호가 입력되어, 그 2개의 신호 중에서 어느 한쪽을 선택하는 2-1 셀렉터로서, 그 한쪽 입력은 각각 입력단자 I0, I1, I2에 접속되고, 다른쪽 입력은 입력단자 I3에 공통접속되어 있다. 또한, 셀렉터(540∼542)의 출력은 각각 배럴 시프터 단위회로(400, 401, 402)의 셀렉터 신호단자(LI0∼LI2)에 접속되어 있다. 또한, 이 셀렉터(540∼542)는 좌우 시프트신호(DS)에 의해 구동된다. 즉, 이 셀렉터는 제7도에 도시한 것 같이, N채널형 MOS 트랜지스터 및 P채널형 MOS 트랜지스터가 병렬로 접속된 PN 트랜스퍼 게이트(56X, 57X)를 구비하며, 이 PN 트랜스퍼 게이트(56X 및 57X)의 한쪽 게이트는 좌우 시프트신호 입력단자(S)에 접속되고, 다른 쪽은 인버터(55X)를 통해 좌우 시프트신호 입력단자(S)에 접속되어 있다.
또한, 배럴 시프터 단위회로 403의 셀렉트 신호단자 LI3 및 논리신호단자 RI3은 입력단자 I3에 공통접속되어 있다.
더구나, 각 배럴 시프터 단위회로(400∼403)의 논리제어단자(RS0∼RS3) 및 셀렉트신호 제어단자(LS0∼LS3)는, 배럴 시프터 단위회로 400의 셀렉트 신호제어단자 LS0 및 배럴 시프터 단위회로 403의 논리신호 제어단자 RS3을 제외하고는, 그라운드에 접속되어 있다(LS1∼LS3, RS0∼RS2). 이 배럴 시프터 단위회로 400의 셀렉트 신호 제어단자 LS0는 좌우 시프트신호 입력단자(S)에 접속되고, 배럴 시프터 단위회로 403의 논리신호 제어단자 RS3는 좌우 시프트 신호입력단자(S)에 그 입력부가 접속되어 있는 인버터(583)의 출력부에 접속되어 있다.
다음에, 제5도∼제7도에 도시된 좌우 양방향 3비트 배럴 시프터의 동작을 설명한다. 디코더(200)의 진리값표는 상기 표 1과 같으므로, 실시예 1 과 마찬가지로 상기 표 1을 참조하여 설명한다. 우선, 표 1(좌측)은 좌우 양방향 3비트 배럴 시프저의 좌측 시프트동작을 좌우 시프트신호(DS) 및 시프트량 데이터신호(DD1, DD0)에 대응하여, 위에서부터 스루, 좌측 1비트 시프트, 좌측 2비트 시프트 및 좌측 3비트 시프트의 순서로 표시하고 있다.
좌측 1비트 시프트를 예로 들어 설명한다. 좌우 시프트신호 입력단자(S) 및 시프트량 데이터 입력단자(D1, D0)에 신호 “0”,“0”,“1”이 입력되면, 디코더(200)의 출력이 {A0, A1, A2, A3}={0, 1, 0, 0}으로 된다(제2도). 이에 따라, 각 배럴 시프터 단위회로(400∼403)에서는 어드레스 단자A1에 접속되어 있는 트랜스퍼게이트 47X 만이 동작상태로 된다. 따라서, 각 배럴 시프터 단위회로(400∼403)의 출력단자(0X)에는, 입출력단자 I1X의 신호가 각각 인버터(45X)에서 반전되어 출력된다.
또한, 좌우 시프트신호(DS)가 “0”이므로, 제7도에 도시된 셀렉터(540∼542)의 PN 트랜스퍼 게이트 57X가 동작하여, 각 배럴 시프터 단위회로의 입력데이터 DIX(X=0, 1, 2)가 셀렉트된다. 이에 따라, 셀렉트 신호단자 LIX(X=0, 1, 2)에는 각 배럴 시프터 단위회로의 입력데이터 DIX(X=0, 1, 2)가 입력된다. 또한, 좌우 시프트신호가 “0”이므로 AND 회로(530∼532)에서는 “0”이 출력된다. 이에 따라, 입력단자(RI0∼RI2)에는 “0”이 입력된다.
먼저, 배럴 시프터 단위회로 400의 셀렉트신호 제어단자 LS0에는 좌우 시프트신호 “DS=0”이 입력된다. 논리신호 제어단자 RS0에는 그라운드로부터 “0”이 입력되므로, 좌측 트라이 스테이트 버퍼(510) 및 우측 트라이 스테이트 버퍼(520)가 동작한다. 이에 따라, 셀렉트 신호단자 LI0에 입력된 입력데이터 DI0는 좌측 트라이 스테이트 버퍼(510)에서 반전되어 입출력단자 I00 상으로 출력되고, 논리신호단자 RI0에 입력된 “0”은 트라이 스테이트 버퍼(520)에서 반전되어 입력단자 I30상으로 출력된다.
더우기, 배럴 시프터 단위회로 401, 402의 셀렉트 신호단자 LI1, LI2에는 DI1, DI2가 입력되고, 논리신호단자 RI1, RI2에는 “0”이 입력된다. 또한, 셀렉트 신호 제어단자 LS1, LS2 및 논리신호 제어단자 RS1, RS2에는, 그라운드로부터 “0”이 입력되므로, 우측 트라이 스테이트 버퍼 511, 512 및 좌측 트라이 스테이트 버퍼 511, 512가 동작한다. 이에 따라, 셀렉트 신호단자 LIl, LI2에 입력된 DI1, DI2는 좌측 트라이 스테이트 버퍼 521, 522에서 반전되어, 각각 입출력단자 I01, I02 상으로 출력된다. 또한, 논리신호단자 RI1, RI2에 입력된 “0”은 우측 트라이 스테이트 버퍼 521, 522에서 반전되어, 각각 입출력단자 I31, I32 상으로 출력된다.
또한, 배럴 시프터 단위회로 403의 셀렉트 신호단자 LI3 및 논리신호단자 RI3에는, DI3가 입력된다. 또한, 논리신호 제어단자 RS3에는 좌우 시프트신호 “DS=0”가 인버터 583에서 반전되어 입력되므로, 좌측 트라이 스테이트 버퍼 523은 동작하지 않는다. 또한, 셀렉트신호 제어단자(LS3)에는 그라운드로부터 “0”이 입력되므로, 좌측 트라이 스테이트 버퍼 513은 동작하지 않는다. 이에 따라, 셀렉트 신호단자 LI3에 입력된 입력데이터 DI3는, 좌측 트라이 스테이트 버퍼 513에서 반전되어, 입력단자 I03 상으로 출력된다.
여기에서, 배럴 시프터 단위회로 401의 입출력단자 I11는 배럴 시프터 단위회로 400의 입출력단자 I00에 접속되어 있기 때문에, 입력데이터 DI0가 배럴 시프터 단위회로 401의 출력단자 01로부터 출력데이터 D01로서 출력된다. 또한, 배럴 시프터 단위회로 402의 입출력단자 I12는, 배럴 시프터 단위회로 401의 입출력 단자 I01에 접속되어 있기 때문에, 입력데이터 DI1이 배럴 시프터 단위회로 402의 출력단자 02로부터 출력데이터 D02로서 출력된다. 또한, 배럴 시프터 단위회로 403의 입출력단자 I13은 배럴 시프터 단위회로 402의 입출력단자 I02에 접속되어 있기 때문에, 입력데이터 DI2가 배럴 시프터 단위회로 403의 출력단자 03으로부터 출력데이터 D03으로서 출력된다.
이에 따라, 입력데이터 DI0, DI1, DI2는 좌측으로 1비트 시프트하여 배럴시프터 단위회로 101, 102, 103의 출력단자 01, 02, 03으로부터 각각 출력데이터 D01, D02, D03으로서 출력된다.
또한, 배럴 시프터 단위회로 402의 입출력단자 I32는 배럴 시프터 단위회로 400의 입출력단자 I10에 접속되어 있기 때문에, 배럴 시프터 단위회로400의 단자 00으로부터는 “0”이 출력데이터로서 출력된다. 이와 같이, 하위비트에는 “0”채우기가 이루어진다.
다음에, 표 1(우측)은 좌우 양방향 3비트 배럴 시프터의 우측 시프트 동작을 좌우 시프트신호(DS) 및 시프트량 데이터신호(DD1, DD0)에 대응하여, 위에서부터 스루, 우측 1비트 시프트, 우측 2비트 시프트 및 우측 3비트 시프트의 순서로 표시하고 있다. 이 우측 2비트 시프트를 예로 들어 설명한다. 좌우 시프트신호 입력단자(S) 및 시프트량 데이터신호 입력단자(D1, D0)에 각각 신호 “0”,“0”,“1”을 입력하면, 디코더(200)의 출력이 {A0, A1, A2, A3}={0, 1, 0, 0}으로 된다. 이에 따라, 제6도에 도시된 각 배럴 시프터 단위회로(400∼403)에서는, 어드레스 단자 A1에 접속되어 있는 트랜스퍼 게이트 47X 만이 ON된다. 따라서, 출력단자(0X)에는, 입출력단자 I1X 상의 신호가 각각 인버터 450∼451에서 반전되어 출력된다.
또한, 좌우 시프트신호 “DS=1”이므로, 제7도에 도시된 셀렉터(540∼542)의 PN 트랜스퍼 게이트 56X가 동작하여, 배럴 시프터 단위회로 403의 입력데이터 DI3가 셀렉트된다. 이에 따라, 셀렉트 신호단자 LI0∼LI2에는 DI3가 입력된다. 또한, 좌우 시프트신호 “DS=1”이므로, AND 회로(530∼532)로부터는 각각 각 배럴시프터 단위회로의 입력데이터 DIX(X=0, 1, 2)가 출력된다. 따라서, 논리신호단자(RI0∼RI2)에는, 각각 각 배럴 시프터 단위회로의 입력데이터 DIX(X=0, 1, 2)가 입력된다.
먼저, 시프터회로 400의 셀렉트신호 제어단자 LS0에는 좌우 시프트신호 “DS=1”이 입력되므로, 우측 트라이 스테이트 버퍼 520은 동작하지 않는다. 또한, 논리신호 제어단자 RS0에는 그라운드로부터 “0”이 입력되므로, 좌측 트라이 스테이트 버퍼 510이 동작하고, 셀렉트 신호단자 I00에 입력된 입력데이터 DI3는 좌측 트라이 스테이트 버퍼 510에서 반전되어, 입출력단 I00 상으로 출력된다.
더우기, 배럴 시프터 단위회로 401, 402의 셀렉트 신호단자 LI1, LI2에는 입력데이터 DI3가 입력되고, 논리신호단자 RI1, RI2에는 각각 DI1, DI2가 입력된다. 또한, 셀렉트신호 제어단자 LS1, LS2 및 논리신호 제어단자 RS1, RS2에는 그라운드로부터 “0”이 입력되므로, 좌측 트라이 스테이트 버퍼 511, 512 및 우측 트라이 스테이트 버퍼 521, 522가 동작한다. 이에 따라, 셀렉트신호단자 LI1, LI2에 입력된 입력데이터 DI3은 좌측 트라이 스테이트 버퍼 511, 512에서 반전되어, 각각 입출력단자 DO1, I02 상으로 출력된다. 또한, 논리신호단자 RI1, RI2에 입력된 입력데이터 DI1, DI2는 우측 트라이 스테이트 버퍼 521, 522에서 반전되어, 각각 입출력단자 I31, I32상으로 출력된다.
또한, 배럴 시프터 단위회로 403의 셀렉트 신호단자 LI3 및 논리신호단자 RI3에는 DI3가 입력된다. 또한, 논리신호 제어단자 RS3에는 좌우 시프트신호“DS=1”이 인버터 583에서 반전되어 입력되므로, 우측 트라이 스테이트 버퍼 523가 동작한다. 또한, 셀렉트 신호제어 LS3에는 그라운드로부터 “0”이 입력되므로, 좌측 트라이 스테이트 버퍼 513이 동작한다. 이에 따라, 셀렉트 신호단자 LI3 및 논리신호단자 RI3에 입력된 입력데이터 DI3는, 각각 좌측 트라이 스테이트 버퍼 513 및 우측 트라이 스테이트 버퍼 523에서 반전되어 각각 입출력단자 I03, I33 상으로 출력된다.
여기에서, 배럴 시프터 단위회로 400의 입출력단자 I10은 배럴 시프터 단위회로 402의 입출력단자 I32에 접속되어 있으므로, 입력데이터 DI2가 배럴 시프터 단위회로 400의 출력단자 00으로부터 출력데이터 D00으로서 출력된다. 또한, 배럴 시프터 단위회로 401의 입출력단자 I11은 배럴 시프터 단위회로 403의 입출력단자 I33에 접속되어 있으므로, 입력데이터 DI3가 배럴 시프터 단위회로 401의 출력단자 01로부터 D01으로서 출력된다.
이에 따라, 입력데이터 DI2, DI3은 우측으로 2비트 시프트하여 배럴 시프터 단위회로 400, 401의 출력단자 00, 01으로부터 각각 출력데이터 D00, D01으로서 출력된다.
더구나, 배럴 시프터 단위회로 402의 입출력단자 I12는 배럴 시프터 단위회로 401의 입출력단자 I01에 접속되어 있으므로, 배럴 시프터 단위회로 402의 출력단자 02로부터는 입력데이터 DI3이 출력데이터 D02로서 출력된다. 또한, 배럴 시프터 단위회로 403의 입출력단자 I13은 배럴 시프터 단위회로 402의 입출력단자 I02에 접속되어 있으므로, 배럴 시프터 단위회로 403의 출력단자 03으로부터는 입력데이터 DI3가 출력데이터 D03으로서 출력된다. 이와 같이, 상위비트에는 최상위 입력데이터 DI3가 출력되어 부호확장이 행해진다.
여기에서는, 좌측 1비트 시프트 및 우측 2비트 시프트를 예로 들어 설명하였지만, 좌측 2, 좌측 3 및 우측 1, 우측 3비트 시프트의 경우도 각각 마찬가지의 동작이 행해진다. 제5도에 도시된 3비트 배럴 시프터의 경우, 각각의 시프트시, 즉, 스루, 좌측 1, 2, 3비트 시프트 및 스루, 우측 1, 2, 3비트 시프트시에 각 출력단자(00∼03)로부터 출력되는 데이터는 표 4 및 표 5에 나타낸 것과 같다.
이상과 같이, 제 3 실시예에서는 배럴 시프터를 구성하는 각 배럴 시프터 단위회로 400 및 403 내부에 좌우 양방향으로 시프트를 가능케 하는 트라이 스테이트 버퍼 510 및 523을 설치하여, 이 트라이 스테이트 버퍼 520 및 513을 서로 좌우 시프트신호(DS) 및 좌우 시프트신호에 대해 상보적인 신호에 의해 구동시켰다. 또한, 좌측 시프트시에는, 각 배럴 시프터 단위회로(400∼403)의 입력데이터(DIX)를 입출력단자 I0X 상으로 출력시키고, 또한 우측 시프트시에 배럴 시프터 단위회로의 입력데이터(DIX)를 입출력단자 I3X 상으로 출력시키는 셀렉트회로(540∼542)와, 좌측 시프트시에 그라운드 레벨 “0”을 입출력단자 I3X 상으로 출력시키는 AND 회로(530∼532)를 설치하였다. 이에 따라, 좌측 시프트시의 0 채우기 및 우측 시프트시의 부호확장을 종래보다 절감된 면적의 배럴 시프터로 행할 수가 있다. 특히, 제 3 실시예에서 나타낸 배럴 시프터는 각 배럴 시프터 단위회로 내부의 트랜스퍼 게이트의 개수가 많아졌을 경우에 효과적이다. 예를 들면, 실시예 2에서 설명한 배럴 시프터 회로의 경우, 제4도의 0 충전용 트라이 스테이트 버퍼 301, 311의 출력은, 각각(배럴 시프터 단위회로 내부의 트랜스퍼 게이트의 수 - 1)의 개수의 입출력단자에 접속되어 있다. 따라서, 배럴 시프터 단위회로 내부의 트랜스퍼 게이트의 수가 많아짐에 따라, 이들 트라이 스테이트 버퍼의 구동능력을 크게 할 필요가 있다. 트라이 스테이트 버퍼의 구동능력을 크게 하면, 트라이 스테이트 버퍼의 점유면적이 커진다. 그러나, 제 3 실시예에 있어서는, 배럴 시프터의 단위회로 내부에 입력데이터 또는 부호확장 데이터(최상단의 배럴 시프터 단위회로에 입력되는 입력데이터)를 출력하는 셀렉터회로와, 입력데이터 또는 그라운드 레벨 “0”을 출력하는 AND 회로를 설치하였기 때문에, 제4도에 도시된 트라이 스테이트 버퍼 301, 311이 불필요하게 된다.
이와 같이, 제 3 실시예에서는 회로규모의 증대를 억제할 수 있으므로 회로를 형성하기 위한 패턴면적을 보다 작게 할 수 있다.
[제 4 실시예]
본 발명은 상기 제 1, 제 2 및 제 3 실시예에 한정되지 않으며, 제2도, 제4도 및 제5도에 도시된 배럴 시프터를 임의의 비트수의 배럴 시프터 구성으로 하거나, 이들 배럴 시프터를 구성하는 각 배럴 시프터 단위회로(제1도, 제6도) 내부의 트랜스퍼 게이트를 임의의 개수로 구성하는 등의 다양한 변형이 가능하다.
제2도에 나타낸 배럴 시프터를 N비트 시프트(H; N≥ 1, 자연수)가능한 배럴 시프터로 변형한 N비트 배럴 시프터의 블록도를 제8도에 도시하였다. 제8도에 도시된 N비트 배럴 시프터의 배럴 시프터 단위회로(200∼20M)(M; M≥ 1, 자연수)를 제9도에 도시하였다. 제9도에 도시된 배럴 시프터에 있어서, 디코더(200)는(N+l)개의 어드레스 단자(A0∼AN) 중에서 한개를 활성화하는 디코더로서, 복수의 시프트량 데이터신호(DD0∼DDA)와 시프트신호(DS)가 입력된다. 이 디코더(200)의 출력신호, 즉, 어드레스 단자(A0∼AN)에 입력되는 어드레스 신호를 하기 표 6, 표 7에 나타내었다. 표 6은 좌측 시프트인 경우로, 좌우 시프트신호(DS)는 “0”이다.
표 7은 우측 시프트인 경우로 좌우 시프트신호(DS)는 “1”이다. 이 디코더의 출력신호(어드레스 신호)에 대응하여, 좌우측의 시프트가 행해진다. 제8도에 도시된 좌우 양방향 N비트 배럴 시프터에 있어서, N=M인 경우에 각 시프트시의 출력단자(00∼0M)로부터의 출력데이터를 표 8, 표 9에 나타내었다. 표 8은 좌측 시프트인 경우, 표 9는 우측 시프트인 경우의 출력데이터를 나타낸다.
[표 6]
[표 7]
[표 8]
[표 9]
[제 5 실시예]
제4도에 도시된 배럴 시프터를 N비트(N; N≥ 1, 자연수) 시프트 가능한 배럴 시프터로 변형한 N비트 배럴 시프터의 블록도를 제10도에 도시하였다. 이 N비트 배럴 시프터의 배럴 시프터 단위회로(200∼20M)(M; M≥1, 자연수)는 제9도에 도시된 배럴 시프터 단위회로와 동일하다. 또한, 디코더(200)의 출력(어드레스 신호)은 표 6, 표 7과 같다. 이 디코더(200)의 출력신호에 대응하여, 좌우의 시프트가 행해진다. 제10도에 도시된 좌우 양방향 N비트 배럴 시프터에 있어서, N=M인 경우의 각 시프트시의 출력단자(00∼0M)로부터의 출력데이터를 표 10, 표 11에 나타내었다. 표 10은 좌측 시프트인 경우, 표 11은 우측 시프트인 경우의 출력데이터를 나타낸다. 또한, N<M인 경우의 각 시프트시의 출력단자(00∼0M)로부터의 출력데이터를 표 11, 표 12에 나타내었다. 표 11은 좌측 시프트인 경우, 표 12는 우측 시프트인 경우의 출력데이터를 나타낸다.
[표 10]
[표 11]
[표 12]
[표 13]
[제 6 실시예]
제5도에 도시된 배럴 시프터를 N비트(N: N≥ 1, 자연수) 시프트 가능한 배럴 시프터로 변형한 N비트 배럴 시프터의 블록도를 제11도에 나타내었다. 이 N 비트 배럴 시프터의 배럴 시프터 단위회로(400∼40M)(M; M≥ N, 자연수)를 제12도에 나타내었다. 제11도의 디코더(200)의 출력은 표 6, 표 7과 동일하다. 이 디코더의 출력신호에 대응하여, 좌우의 시프트가 행해진다. 제11도에 도시된 좌우 양방향 N비트 배럴 시프터에 있어서, N≥ M인 경우의 각 시프트시의 출력단자(00∼0M)로부터의 출력데이터는, 제10도에 도시된 좌우 양방향 N비트 배럴 시프터의 경우와 동일하다.
또한, 상기 실시예(제 1∼제 6 실시예)에서 나타낸 셀렉터, 트랜스퍼 게이트, 트라이 스테이트 버퍼 및 디코더도 상기 이외의 회로로 구성하는 등 다양한 변형이 가능하다.
[산업상 이용가능성]
제 1 발명에 따르면, 배럴 시프터를 구성하는 각 배럴 시프터 단위회로 내부에, 우측 시프트용 트라이 스테이트 버퍼 및 좌측 시프트용 트라이 스테이트 버퍼를 설치하고, 좌우 시프트신호에 의해 그 좌측 시프트용 트라이 스테이트 버퍼 또는 우측 시프트용 트라이 스테이트 버퍼 어느 한쪽을 동작상태로 제어하도록 하였기 때문에, 종래보다 면적이 감소된 배럴 시프터로 좌우 양방향의 시프트가 가능하게 된다.
제 2 발명에 따르면, 우측 시프트용 트라이 스테이트 버퍼가 동작하고 있을 때에, 최하단의 배럴 시프터 단위회로의 입력측의 입출력단자 이외의 입출력단자에, 그라운드 레벨 “0”을 입력하는 0 충전회로와, 좌측 시프트용 트라이 스테이트 버퍼가 동작하고 있을 때에, 최상단의 배럴 시프터 단위회로의 출력측의 입출력단자 이외의 입출력단자에, 최상단 배럴 시프터 단위회로의 입력데이터를 입력하는 부호확장회로를 설치하였기 때문에, 좌측 시프트시의 하위비트의 0 채우기 및 우측 시프트시의 상위비트의 부호확장이 가능하게 된다.
제 3 발명에 따르면, 배럴 시프터를 구성하는 최상단의 배럴 시프터 단위회로 내부 및 최하단의 배럴 시프터 단위회로 내부에, 각각 우측 시프트용, 좌측 시프트용 트라이 스테이트 버퍼를 설치하고, 좌우 시프트신호에 의해 이들 좌측 시프트용 트라이 스테이트 버퍼 또는 우측 시프트용 트라이 스테이트 버퍼의 어느 한쪽을 동작상태로 제어하도록 하였기 때문에, 좌우 양방향의 시프트가 가능하게 된다. 덧붙여, 최상단 및 최하단의 배럴 시프터 단위회로 이외의 배럴 시프터 단위회로에 있어서, 좌측 시프트용 트라이 스테이트 버퍼가 동작하고 있을 때에, 각 배럴 시프터 단위회로의 입력데이터를 최입력측의 입출력단자 상으로 출력시키고, 우측 시프트용 트라이 스테이트 버퍼가 동작하고 있을 때에, 최상단의 배럴 시프터 단위회로의 입력데이터를 최입력측의 입출력단자로 출력시키는 선택회로와, 좌측 시프트용 트라이 스테이트 버퍼가 동작하고 있을 때에, 그라운드 레벨 “0”을 최출력측의 입출력단자상으로 출력시키고, 우측 시프트용 트라이 스테이트 버퍼가 동작하고 있을 때에, 각 배럴 시프터 단위회로의 입력데이터를 최출력측의 입출력단자로 출력시키는 논리회로를 설치하였기 때문에, 좌측 시프트시의 0 채우기 및 우측 시프트시의 부호확장을 면적이 감소된 배럴 시프터로 수행할 수 있다.

Claims (11)

  1. 제 1 내지 제 N(N≥ 2, 자연수) 입출력노드와, 출력 단자와, 입력 단자와, 상기 출력단자와 상기 제 1 내지 제 N 입출력노드 사이에 각각 접속된 제 1 내지 제 N 스위칭소자와, 상기 입력단자에 입력부가 접속되고, 상기 제 1 번째의 입출력노드 및 제 N 번째의 입출력노드에 출력부가 접속된 좌우 시프트 선택회로로서, 우측 시프트신호 또는 좌측 시프트신호가 입력되어, 상기 좌측 시프트신호에 대응하여 상기 제 1 번째 입출력노드에 상기 입력단자에 입력된 데이터에 대응하는 데이터를 출력하고, 상기 우측 시프트신호에 대응하여 상기 제 N 번째 입출력노드에 상기 입력단자에 입력된 데이터에 대응하는 데이터를 출력하는 좌우 시프트 선택회로를 갖는 배럴 시프터 단위회로를 M단(M≥ 1, 자연수) 구비한 배럴 시프터에 있어서, 상기 각 단의 배럴 시프터 단위회로의 상기 제 1 내지 제 N 스위칭소자를 각각 공통으로 구동하며, 상기 제 1 내지 제 N 스위칭소자 중에서 한 개만을 도통상태로 하는 디코더 회로와, P(1≤ P≤M, 자연수)단째의 배럴 시프터 단위회로와 (P+l)단째의 배럴 시프터 단위회로를 접속하는 제 1 내지 제 (N-1) 접속선 중에서 Q(1≤ Q≤ (N-1), 자연수)번째의 접속선은 상기 P단째의 배럴 시프터 단위회로의 제 Q 번째의 입출력노드와 상기 (P+l)단째의 배럴 시프터 단위회로의 제 (Q+l) 번째의 입출력노드를 접속하는, 인접한 배럴 시프터 단위회로의 입출력노드를 상호 접속하는 접속선을 더 구비한 것을 특징으로 하는 배럴 시프터.
  2. 제1항에 있어서, 상기 좌우 시프트 선택회로는 상기 입력단자와 상기 제 1 번째 입출력노드 사이에 접속되고, 상기 좌측 시프트신호에 의해 구동되는 제 1 트라이 스테이트 버퍼와, 상기 입력단자와 상기 제 N 번째 입출력노드 사이에 접속되고, 상기 우측 시프트신호에 의해 구동되는 제 2 트라이 스테이트 버퍼로 구성된 것을 특징으로 하는 배럴 시프터.
  3. 제1항에 있어서, 상기 배럴 시프터는, 상기 M단의 배럴 시프터 단위회로 중에서 상기 제 M단째의 배럴 시프터 단위회로의 입력단자에 입력부가 접속되고, 상기 제 M단째의 배럴 시프터 단위회로의 제 1 내지 제 (N-1)번째의 입출력노드에 출력부가 접속되며, 상기 우측 시프트 신호에 응답하여, 상기 제 M단째의 배럴 시프터 단위회로의 입력단자에 입력된 제 M 입력데이터에 대응하는 데이터를 상기 제 M단째 배럴 시프터 단위회로의 상기 제 1 내지 제 (N-1)번째 입출력노드로 출력하는 부호확장회로와, 상기 M단의 배럴 시프터 단위회로 중에서 상기 제 1 단째의 배럴 시프터 단위회로의 제 2 내지 제 N 번째 입출력노드에 출력부가 접속되고, 제로 전위에 대응하는 노드에 입력부가 접속되며, 상기 제로 전위에 대응하는 데이터를 상기 제 1단째 배럴 시프터 단위회로의 제 2 내지 제 N 번째 입출력노드로 출력하는 제로충전회로를 더 구비한 것을 특징으로 하는 배럴 시프터.
  4. 제1항에 있어서, 상기 우측 시프트신호 및 좌측 시프트신호는 서로 상보적인 것을 특징으로 하는 배럴 시프터.
  5. 제 1 내지 제 N(N≥ 2, 자연수) 입출력노드와, 출력단자와, 입력단자와, 상기 출력단자와 상기 제 1 내지 제 N 입출력노드 사이에 각각 접속된 제 1 내지 제 N 스위칭소자와, 상기 입력단자에 입력부가 접속되고, 상기 제 1 번째 입출력노드 및 제 N 번째 입출력노드에 출력부가 접속된 좌우 시프트 선택회로로서, 우측 시프트신호 또는 좌측 시프트신호가 입력되어, 상기 좌측 시프트신호에 대응하여 상기 제 1 번째의 입출력노드에 상기 입력단자에 입력된 데이터에 대응하는 데이터를 출력하고, 상기 우측 시프트신호에 대응하여 상기 제 N 번째 입출력노드에 상기 입력단자에 입력된 데이터에 응답하는 데이터를 출력하는 좌우 시프트 선택회로를 갖는 배럴 시프터 단위회로를 M단(M≥ 1, 자연수) 구비한 배럴 시프터에 있어서, 상기 각 단의 배럴 시프터 단위회로의 상기 제 1 내지 제 N 스위칭소자를 각각 공통으로 구동하며, 상기 제 1 내지 제 N 스위칭소자 중에서 한 개만을 도통상태로 하는 디코더회로와, P(1≤ P<M)단째의 배럴 시프터 단위회로와 (P+l)단째의 배럴 시프터 단위회로를 접속하는 제 1 내지 제 (N-1) 접속선 중에서 Q(1<Q≤ (N-1), 자연수)번째 접속선이 상기 P(1≤ P<M)단째의 배럴 시프터 단위회로의 제 Q 번째의 입출력노드와 상기 (P+l)단째의 배럴 시프터 단위회로의 제 (Q+1)번째 입출력노드를 접속하는, 인접한 배럴 시프터 단위회로의 입출력노드를 상호 접속하는 제 1 내지 제 (N-1) 접속선과, 상기 M단의 배럴 시프터 단위회로 중에서 상기 제 M단째의 배럴 시프터 단위회로의 입력단자에 입력부가 접속되고, 상기 제 M단째의 배럴 시프터 단위회로의 제 1 내지 제 (N-1)번째 입출력노드에 출력부가 접속되며, 상기 우측 시프트신호에 대응하여 상기 제 M단째 배럴 시프터 단위회로의 입력단자에 입력된 제 M 입력데이터에 대응하는 데이터를 상기 제 M단째의 배럴 시프터 단위회로의 상기 제 1 내지 제 (N-1)번째 입출력노드에 출력하는 부호확장회로와, 상기 M단의 배럴 시프터 단위회로 중에서 상기 제 1단째의 배럴 시프터 단위회로의 제 2 내지 제 N 번째 입출력노드에 출력부가 접속되고, 제로전위에 대응하는 노드에 입력부가 접속되며, 상기 좌측 시프트신호에 응답하여 상기 제로전위에 대응하는 데이터를 상기 제 1 단째 배럴 시프터 단위회로의 제 2 내지 제 N 번째 입출력 노드에 출력하는 제로충전회로를 더 구비한 것을 특징으로 하는 배럴 시프터.
  6. 제5항에 있어서, 상기 좌우 시프트 선택회로는, 상기 입력단자와 상기 제 1 번째 입출력노드 사이에 접속되고, 상기 좌측 시프트신호에 의해 구동되는 제 1 트라이 스테이트 버퍼와, 상기 입력단자와 상기 제 N 번째 입출력노드 사이에 접속되고, 상기 우측 시프트신호에 의해 구동되는 제 2 트라이 스테이트 버퍼로 구성된 것을 특징으로 하는 배럴 시프터.
  7. 제5항에 있어서, 상기 부호확장회로 및 상기 제로출력용 회로는 각각 트라이 스테이트 버퍼인 것을 특징으로 하는 배럴 시프터.
  8. 제5항에 있어서, 상기 우측 시프트 신호 및 좌측 시프트신호는 서로 상보적인 것을 특징으로 하는 배럴 시프터.
  9. 제 1 내지 제 N(N≥ 2, 자연수) 입출력노드와, 입력단자와, 출력단자와, 상기 출력단자와 상기 제 1 내지 제 N 입력단자 사이에 각각 접속된 제 1 내지 제 N 스위칭소자와, 상기 입력단자에 입력부가 접속되고, 상기 제 1 번째 및 상기 제 N 번째 입출력노드에 출력부가 접속된 제어회로를 갖는 배럴 시프터 단위회로를 M단(M≥ 1, 자연수)구비하고, 상기 각 단의 배럴 시프터 단위회로의 상기 제 1 내지 제 N 스위칭소자를 각각 공통으로 구동하며, 상기 제 1 내지 제 N 스위칭소자 중에서 한 개만을 도통상태로 하는 디코더 회로와, P(1≤ P<M, 자연수)단째의 배럴 시프터 단위회로와 (P+l)단째의 배럴 시프터 단위회로를 접속하는 제 1 내지 제 (N-1) 접속선 중에서 Q(1<Q≤ (N-1), 자연수)번째의 접속선은 상기 P(1≤ P<M)단째의 배럴 시프터 단위회로의 제 Q 번째 입출력노드와 상기 (P+l)단째 배럴 시프터 단위회로의 제 (Q+l)번째 입출력노드를 접속하는 제 1 내지 제 (N-1) 접속선과, 상기 각 단의 배럴 시프터 단위회로의 상기 제어회로에 접속되고, 상기 제어회로의 구동을 제어하는 우측 시프트신호가 입력되는 우측 시프트 신호노드와, 상기 각 단의 배럴 시프터 단위회로의 상기 제어회로에 접속되고, 상기 제어회로의 구동을 제어하는 좌측 시프트신호가 입력되는 좌측 시프트 신호노드를 구비한 배럴 시프터에 있어서, 상기 M단째의 배럴 시프터 단위회로의 상기 제어회로는, 상기 입력단자에 입력된 데이터에 대응하는 데이터를 상기 제 1 입출력노드에 출력하고, 상기 우측 시프트 신호에 대응하여 상기 입력단자에 입력된 데이터에 대응하는 데이터를 상기 제 N 입출력 노드에 출력하고, 상기 제 1 내지 제 (M-1)단째의 각 단의 배럴 시프터 단위회로의 제어회로는, 상기 좌측 시프트신호에 응답하여 상기 각 단의 배럴 시프터 단위회로의 입력단자에 입력된 데이터에 대응하는 데이터를 제 1 번째 입출력노드에 출력하고, 제로에 대응하는 데이터를 제 N 번째 입출력노드에 출력하며, 상기 우측 시프트신호에 응답하여 상기 각 단의 배럴 시프터 단위회로의 입력단자에 입력된 데이터에 대응하는 데이터를 제 N 번째 입출력노드에 출력하고, 상기 제 M단째의 배럴 시프터 단위회로의 입력단자에 입력된 데이터에 대응하는 데이터를 제 1 번째 입출력노드에 출력하는 것을 특징으로 하는 배럴 시프터.
  10. 제9항에 있어서, 상기 M단째의 배럴 시프터 단위회로의 상기 제어회로는, 상기 배럴 시프터의 상기 입력단자와 상기 M단째 배럴 시프터 단위회로의 상기 제 N 번째 입출력노드 사이에 접속되며, 그 제어단자가 상기 우측 시프트 신호노드에 접속된 트라이 스테이트 버퍼를 구비하고, 상기 제 2 내지 제 (M-1)단째 배럴 시프터 단위회로 각각의 상기 제어회로는, 그 입력부가 상기 제 M단째의 배럴 시프터 단위회로의 입력단자 및 각 단의 배럴 시프터 단위회로의 입력단자에 접속되고, 그 출력부가 상기 제 1 입출력노드에 접속된 선택회로와, 그 입력부가 상기 좌측 시프트 신호노드 및 각 단의 배럴 시프트 단위 회로의 입력단자에 접속되고, 그 출력부가 상기 제 N 입출력노드에 접속된 4ND 회로를 구비하며, 상기 제 1단째 배럴 시프터 단위회로의 상기 제어회로는, 그 입력부가 상기 제 M단째의 배럴 시프터 단위회로의 입력단자 및 또 다른 배럴 시프터 단위회로의 입력단자에 접속되고, 출력부가 상기 제 1 입출력노드에 접속된 선택회로와, 그 입력부가 상기 선택회로의 출력부에 접속되고, 그 출력부가 상기 제 1 입출력노드에 접속되며, 그 제어단자가 상기 좌측 시프트 신호노드에 접속된 트라이 스테이트 버퍼와, 그 입력부가 상기 배럴 시프터 단위회로의 상기 좌측 시프트 신호노드 및 입력단자에 접속되고, 출력부가 상기 제 N 입출력노드에 접속된 AND 회로를 구비한 것을 특징으로 하는 배럴 시프터.
  11. 제9항에 있어서, 상기 우측 시프트신호 및 좌측 시프트신호는 서로 상보적인 것을 특징으로 하는 배럴 시프터.
KR1019940701109A 1992-01-09 1993-01-11 배럴시프터 KR100298029B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP204592 1992-01-09
JP92-002045 1992-01-09
PCT/JP1993/000025 WO1993014456A1 (en) 1992-01-09 1993-01-11 Barrel shifter

Publications (1)

Publication Number Publication Date
KR100298029B1 true KR100298029B1 (ko) 2001-10-24

Family

ID=11518360

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019940701109A KR100298029B1 (ko) 1992-01-09 1993-01-11 배럴시프터

Country Status (6)

Country Link
US (1) US5465223A (ko)
EP (1) EP0621533B1 (ko)
JP (1) JP3272724B2 (ko)
KR (1) KR100298029B1 (ko)
DE (1) DE69328419T2 (ko)
WO (1) WO1993014456A1 (ko)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1994003901A1 (en) 1992-08-10 1994-02-17 Monolithic System Technology, Inc. Fault-tolerant, high-speed bus system and bus interface for wafer-scale integration
JPH07200252A (ja) * 1993-12-28 1995-08-04 Nec Corp バレルシフタ回路
EP0662657A1 (en) * 1994-01-06 1995-07-12 Texas Instruments Incorporated Barrel shifter with bi-directional multiplexer circuit
US5652718A (en) * 1995-05-26 1997-07-29 National Semiconductor Corporation Barrel shifter
US5941937A (en) * 1996-10-29 1999-08-24 Matsushita Electric Industrial Co., Ltd. Layout structure for barrel shifter with decode circuit
US6078937A (en) 1996-12-19 2000-06-20 Vlsi Technology, Inc. Barrel shifter, circuit and method of manipulating a bit pattern
US5995579A (en) * 1996-12-19 1999-11-30 Vlsi Technology, Inc. Barrel shifter, circuit and method of manipulating a bit pattern
US6314156B1 (en) * 2000-03-02 2001-11-06 Compaq Computer Corporation Space-efficient multi-cycle barrel shifter circuit
KR100579559B1 (ko) * 2004-01-16 2006-05-15 엘지전자 주식회사 진공청소기의 파워브러쉬 운전주파수 결정방법
US8126022B2 (en) * 2007-04-02 2012-02-28 Stmicroelectronics Sa Electronic multimode data shift device, in particular for coding/decoding with an LDPC code
US9959247B1 (en) 2017-02-17 2018-05-01 Google Llc Permuting in a matrix-vector processor

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3747070A (en) * 1971-12-22 1973-07-17 Bell Telephone Labor Inc Data field transfer and modification apparatus
JPH0697431B2 (ja) * 1984-01-23 1994-11-30 株式会社日立製作所 バレルシフタ
JPH0616263B2 (ja) * 1984-05-09 1994-03-02 株式会社東芝 バレルシフタ
JPS6132139A (ja) * 1984-07-24 1986-02-14 Nec Corp 双方向バレルシフト回路
JPS6398729A (ja) * 1986-10-15 1988-04-30 Fujitsu Ltd バレルシフタ
US4843383A (en) * 1988-01-13 1989-06-27 National Semiconductor Corporation Transistor matrix shifter
JPH02130831A (ja) * 1988-11-10 1990-05-18 Toshiba Corp 半導体集積回路
JPH0421025A (ja) * 1990-05-15 1992-01-24 Toshiba Corp 左右シフタ
JP2556612B2 (ja) * 1990-08-29 1996-11-20 日本電気アイシーマイコンシステム株式会社 バレルシフタ回路
US5309382A (en) * 1992-10-01 1994-05-03 Silicon Graphics, Inc. Binary shifter

Also Published As

Publication number Publication date
EP0621533B1 (en) 2000-04-19
EP0621533A4 (en) 1994-12-28
US5465223A (en) 1995-11-07
JP3272724B2 (ja) 2002-04-08
DE69328419T2 (de) 2001-01-04
EP0621533A1 (en) 1994-10-26
DE69328419D1 (de) 2000-05-25
WO1993014456A1 (en) 1993-07-22

Similar Documents

Publication Publication Date Title
US5761099A (en) Programmable logic array integrated circuits with enhanced carry routing
JP3613396B2 (ja) 機能ブロック
USRE40423E1 (en) Multiport RAM with programmable data port configuration
US5256918A (en) Programmable logic circuit
EP0703663A1 (en) Programmable digital delay unit
JPS61224520A (ja) 構成を変更可能な論理要素
KR100298029B1 (ko) 배럴시프터
JPH03132212A (ja) 構成を変更可能な論理アレイ
US4149263A (en) Programmable multi-bit shifter
US5027012A (en) Programmable logic circuit using wired-or tristate gates
GB1573663A (en) Method for manipulating digital signals on ordered data bus lines
US5416731A (en) High-speed barrel shifter
US5465222A (en) Barrel shifter or multiply/divide IC structure
JPH0697431B2 (ja) バレルシフタ
US6738792B1 (en) Parallel mask generator
US6675182B1 (en) Method and apparatus for performing rotate operations using cascaded multiplexers
EP0354534B1 (en) Semiconductor logic circuit
JPH09244873A (ja) 高速バレルシフタ
US6646465B2 (en) Programmable logic device including bi-directional shift register
US8122074B2 (en) Digital electronic binary rotator and reverser
KR0165341B1 (ko) 박막 트랜지스터 액정 디스플레이 구동 회로
JPS62115529A (ja) 多機能双方向バレルシフタ
JP3351672B2 (ja) 加算器
EP0590953B1 (en) Semiconductor memory device
JP2563519B2 (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: 20100525

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee