KR0164129B1 - 큰 차수를 갖는 선형 궤환 쉬프트 레지스터 - Google Patents

큰 차수를 갖는 선형 궤환 쉬프트 레지스터 Download PDF

Info

Publication number
KR0164129B1
KR0164129B1 KR1019950053163A KR19950053163A KR0164129B1 KR 0164129 B1 KR0164129 B1 KR 0164129B1 KR 1019950053163 A KR1019950053163 A KR 1019950053163A KR 19950053163 A KR19950053163 A KR 19950053163A KR 0164129 B1 KR0164129 B1 KR 0164129B1
Authority
KR
South Korea
Prior art keywords
signal
output
outputting
microprocessor
operation means
Prior art date
Application number
KR1019950053163A
Other languages
English (en)
Other versions
KR970049428A (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 양승택
Priority to KR1019950053163A priority Critical patent/KR0164129B1/ko
Publication of KR970049428A publication Critical patent/KR970049428A/ko
Application granted granted Critical
Publication of KR0164129B1 publication Critical patent/KR0164129B1/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)
  • Complex Calculations (AREA)
  • Shift Register Type Memory (AREA)

Abstract

본 발명은 큰 차수를 갖는 선형 궤환 쉬프트 레지스터에 관한 것으로서, 외부로 부터 클럭 신호와 마이크로 프로세서로 부터의 제어 신호(로드(Load), 시작/종료, 데이타(D0~Dn), 쓰기신호)를 입력받아 카운터의 주기를 결정하여 출력 어드레스 값(Q0~Qn)을 출력하고, 업/다운 신호와 리플 클럭 출력(RCO) 신호를 출력하는 업/다운 카운터 동작 수단(1); 초기 마이크로 프로세서의 데이터(D0~Dn)와 쓰기 신호를 통해 메모리에 초기값을 저장하고, 상기 업/다운 카운터 동작 수단(1)의 어드레스(Q0~Qn)를 입력받아 상기 업/다운 카운터 동작 수단(1)의 업/다운 신호에 의해 읽기와 쓰기를 반복하여 입력된 데이터를 쉬프트시켜 출력하는 쉬프트 동작 수단(2); 상기 쉬프트 동작 수단(2)의 출력 Q0~Qd와 업/다운 카운터 동작 수단(1)의 출력 어드레스(Q0~Qn)를 입력받아 각 어드레스에 할당된 궤환점을 설정하여 출력하고, 0어드레스의 최종 단의 값을 선택하여 상기 쉬프트 동작 수단(2)으로 출력하는 궤환점 설정 수단(3); 및 초기 동작시 모듈로-2 가산을 위한 데이터를 마이크로 프로세서로부터 입력받고, 상기 궤환점 설정 수단(3)의 출력을 입력받아 모듈로-2 가산을 수행하여 출력하는 모듈로-2 가산 동작 수단(4)을 구비하여 선형 궤환 쉬프트 레지스터를 메모리로 실현함에 따라 마이크로 프로세서의 제어를 받기 쉽도록 구성 되었으며, 회로의 변경없이 메모리 용량범위 내에서 차수와 궤환점 변경이 프로그래머블하게 이루어질 수 있고, 무작위 신호 발생 주기를 임의로 변경할 수 있는 효과가 있다.

Description

큰 차수를 갖는 선형 궤환 쉬프트 레지스터
제1도는 본 발명의 일실시예에 따른 전체 블럭 구성도.
제2도는 본 발명의 일실시예에 따른 업/다운 카운터 동작부의 블럭 구성도.
제3도는 본 발명의 일실시예에 쉬프트 동작부의 블럭 구성도.
제4도는 본 발명의 일실시예에 따른 궤환점 설정부의 블럭 구성도.
제5도는 본 발명의 일실시예에 따른 모듈로-2 가산 동작부의 블럭 구성도.
* 도면의 주요부분에 대한 부호의 설명
1: 업/다운 카운터 동작부 2: 쉬프트 동작부
3: 궤환점 설정부 4: 모듈로-2 가산 동작부
본 발명은 큰 차수를 갖는 선형 궤환 스프트 레지스터에 관한 것으로서, 특히 무작위 디지털 신호 발생을 위한 선형 궤환 쉬프트 레지스터를 실현함에 있어, 메모리와 카운터를 이용하여 차수와 궤환점 변경이 가능한 매우 큰 차수를 갖는 선형 궤환 쉬프트 레지스터에 관한 것이다.
종래의 선형 궤환 쉬프트 레지스터의 구현은 플립플롭을 이용하며 고정 차수와 궤환점을 갖는다. 따라서 차수를 늘리거나 줄이고, 궤환점을 가변하기 위해서는 회로의 변경이 필요하며, 회로의 복잡성 때문에 그 실현이 어렵다. 수십 차 이내의 선형 궤환 쉬프트 레지스터를 실현한다 할 지라도, 이미 결정된 차수의 변경이 불가능하고, 궤환점의 가변을 위해서는 추가 회로가 필요하다. 각종 통신 장비와 컴퓨터에서 요구되는 무작위 신호 발생은 이러한 선형 궤환 쉬프트 레지스터를 이용하거나, 프로그램에 의해 신호를 발생하여 사용되고 있다. 차수 가변과 궤환점 변경이 가능한 기존의 방법중 하드웨어(H/W)에 의한 방법은 복잡한 회로 구성으로 인해 실현이 어렵고, 소프트웨어(S/W)에 의한 방법은 발생 속도에 제한을 받아 한정된 시스템에만 적용할 수 있었다. 또한 종래의 것으로는 매우 큰 차수(수백차 이상)의 선형 궤환 쉬프트 레지스터를 PLD(Pr ogammable Logic Device)로 구현할 경우, 설정하고자 하는 차수만큼의 레지스터가 요구되므로 PLD의 집적도가 높은 것을 사용하거나 여러 개의 PLD로 구성해야 하는 어려움이 있다.
따라서, 상기와 같은 종래 기술의 문제점을 해결하기 위하여 안출된 본 발명은 마이크로 프로세서의 제어를 받는 메모리와 업/다운 카운터, 랫치, 버퍼를 이용하여, 차수 변경과 궤환점 변경을 용이하게 하며, 종래의 하드웨어로는 실현이 어려운 매우 큰 차수를 생성할 수 있는 큰 차수를 갖는 선형 궤환 쉬프트 레지스터를 제공하는데 그 목적이 있다.
상기와 같은 목적을 달성하기 위한 본 발명은 외부로부터 클럭 신호와 마이크로 프로세서로 부터의 제어 신호(로드(Load), 시작/종료, 데이터(D0~Dn), 쓰기신호)를 입력받아 카운터의 주기를 결정하여 출력 어드레스 값(Q0~Qn)을 출력하고, 업/다운 신호와 리플 클럭 출력(RCO) 신호를 출력하는 업/다운 카운터 동작 수단; 초기 마이크로 프로세서의 데이터(D0~Dn)와 쓰기 신호를 통해 메모리에 초기값을 저장하고, 상기 업/다운 카운터 동작 수단의 어드레스(Q0~Qn)를 입력받아 상기 업/다운 카운터 동작 수단의 업/다운 신호에 의해 읽기와 쓰기를 반복하여 입력된 데이터를 쉬프트시켜 출력하는 쉬프트 동작 수단; 상기 쉬프트 동작 수단의 출력 Q0~Qd와 업/다운 카운터 동작 수단의 출력 어드레스(Q0~Qn)를 입력받아 각 어드레스에 할당된 궤환점을 설정하여 출력하고, 0어드레스의 최종 단의 값을 선택하여 상기 쉬프트 동작 수단으로 출력하는 궤환점 설정 수단; 및 초기 동작시 모듈로-2 가산 동작 수단을 구비한 것을 특징으로 한다.
이하, 첨부된 도면을 참조하여 본 발명의 일실시예를 상세히 설명한다.
제1도는 본 발명의 일실시예에 따른 전체 블록 구성도로서, 도면에서 1은 업/다운 카운터 동작부, 2는 쉬프트 동작부, 3은 궤환점 설정부, 4는 모듈로-2 가산 동작부를 각각 나타낸다.
선형 궤환 쉬프트 레지스터의 원시 다항식은 다음과 같다.
여기서 Xm은 최종 단을 한 원소 aj(aj=0 or 1)는 임의의 궤환점을 나타낸다.
aj=0일 때는 궤환점이 없으며, aj=1일 때는 궤환점을 갖는다.
종래에는 고정된 차수와 궤환점을 갖기 때문에 가변성 있는 시스템의 구축이 어렵고, 무작위 신호 발생 주기를 크게 하는 데는 한계가 있다. 반면, 본 발명은 차수와 궤환점이 가변이 용이하고, 선택된 메모리의 용량에 따라 최대 차수가 결정되며, 결정된 차수 이내에서 주기를 가변할 수 있는 특징을 갖고 있다.
따라서 기존 방식의 주기를 Pr이라고 하며 다음과 같이 나타낼 수 있다.
본 발명에 의한 방식의 주기를 Pm이라고 하면 다음과 같다.
여기서 M은 메모리 용량, d는 메모리의 데이터(Data) 비트(Bit) 수이므로 차수를 현저히 길게 구성할 수 있다.
본 발명에서 궤환점을 결정하는 궤환점 설정부(3)의 메모리는 쉬프트 동작부(2)의 메모리 용량과 같으며, 모듈로-2 가산 동작부(4)의 메모리는 쉬프트 동작부(2)의 메모리의 데이터 버스(Bus)를 어드레스로 사용되는 메모리 용량과 같다. 메모리를 이용한 선형궤환 쉬프트 레지스터의 실현은 최대 주기가 메모리 용량과 관련 있다
는 것과, 메모리를 이용하여 가변성 있게 실현할 수 있다는 것이다.
업/다운 카운터 동작부(1)의 카운터는 업/다운 카운터로서 다운 카운터 모드(Mode)와 업 카운트 모드의 주기는 같다. 주기는 구성하고자 하는 차수에 의해 결정되는데, 이때 메모리의 데이터 버스의 수를 d bits, 차수를 m으로 한다면, 카운터의 주기는
이고, 여기서 q와 r'
이다.
쉬프트 동작부(2)는 구성하고자 하는 선형 궤환 쉬프트 레지스터의 최대 주기가 결정되면, 차수도 결정이 된다. 여기서 쉬프트 동작부(2) 메모리의 데이터 버스 비트 수가 d라고 하면, 메모리의 필요한 어드레스 수는 위에서 나타난 바와 같이 카운터의 주기가 Pc와 같다면, 요구되는 메모리의 용량 M은
가 된다. 여기서 d의 값이 커지면 위 식의 Pc값이 변함에 따라 카운터 주기는 줄어드나 메모리의 용량은 변함이 없다. 그리고, 구성 하고자 하는 전체 차수(xm~x1)를 쉬프트 동작부(2)의 메모리에 기록한다면 m을 d로 나누어 몫의 것을 차례로 최상위 어드레스로부터 순차적으로 할당하고, 최초의 단을 포함한 나머지 값은 '0'어드레스에 할당한다. 쉬프트 동작시 궤환점 설정부(3)의 MUX설정 레지스터에 0어드레스의 마지막 단 위치를 설정하여 그 단위 값을 플립플롭에 기록하고, 다음 어드레스에서 쉬프트 동작부(2) 메모리의 D0에 인가되도록 한다.
궤환점 설정부(3)의 궤환점의 데이터는 마이크로 프로세서로부터 설정이 되며, 쉬프트 동작부(2)의 메모리와 동일한 어드레스로 동작되면서 궤환 되어야 할 단(aj=1)의 값은 모듈로-2 가산 동작부(4)로 인가된다.
모듈로-2 가산 동작부(4)의 메모리에 인가 되는 어드레스의 수는 쉬프트 동작부(2) 메모리의 데이터 버스 비트 수와 같은 d이다. 따라서 모듈로-2 가산 동작부(4) 메모리의 용량은 2d비트이며, 메모리의 데이터 구성은 어드레스로 인가되는 d의 값들 중 홀수의 '1'이 나타나면 '1'의 신호를 짝수의 '1'신호와 전체가 '0'의 신호가 나타나는 경우는 '0'데이타가 출력되도록 하며, 토글 플립플롭은 초기 리셋(Reset)된 상태에서 메모리의 출력데이타가 인가되어 '1'로 입력될 때 마다 토글 동작을 하며 모듈로-2 가산을 하게 된다.
본 발명은 마이크로 프로세서에 의해 초기설정 과정이 필요하다. 초기 설정은 업/다운 카운터의 주기를 설정하면서 선형 궤환 쉬프트 레지스터의 주기를 결정하며, 쉬프트 동작부(2) 메모리의 초기값을 설정하여 선형 궤환 쉬프트 레지스터의 초기값을 결정한다. 역시 궤환점 설정부(3) 메모리의 초기값을 설정하고, 모듈로-2 가산 동작부(4) 메모리의 초기값을 설정하여 모듈로-2 가산 동작을 결정한다. 그리고, 토글 플립플롭을 리셋시킨다. 초기설정 후 동작은 다운 카운트 모드와 업 카운트 모드로 번갈아 가며 동작하게 되며, 다운 카운트 모드에서는 모듈로-2 가산 동작을, 업 카운트 모드에서는 쉬프트 동작을 하게 된다.
본 발명의 동작을 살펴보면, 업/다운 카운터 동작부(1)는 외부로부터 클럭 신호와 마이크로 프로세서로 부터의 제어신호(로드(Load), 시작/종료, 데이터(D0~Dn), 쓰기 신호)를 입력받는다. 클럭 신호가 인가 되는 상태에서는 카운터는 정지된 상태를 유지하여, 카운터의 주기 값을 마이크로 프로세서로부터 쓰기 신호에 의해 데이터 D0~Dn를 입력받아 카운터의 주기를 결정하고, 초기상태를 다운 카운터 모드로 리셋 시켜 둔다. 이 후 마이크로 프로세서로부터 로드(Load) 신호와 시작 신호를 인가받아 다운 카운트 모드로 동작을 시작하게 되고, 설정된 주기가 되면(카운터 출력 값이 0가 되면) 카운터는 업 카운트 모드로 바뀌어 동작한다. 변환된 카운트 모드 신호인 업/다운 신호는 쉬프트 동작부(2), 궤환점 설정부(3), 모듈로-2 가산 동작부(4)에 입력된다. 업 카운트 모드로 동작되면서 초기 설정된 카운터 값과 출력 어드레스 값(Q0~Qn)을 비교하여 같아지면 펄스 업/다운 신호를 발생하여 초기값을 카운터에 인가하고, 다시 다운 카운트 모드로 동작되게 한다. 업/다운 카운터 동작부(1)는 이러한 동작을 반복적으로 수행하며, 마이크로 프로세서로부터 종료 신호가 인가되면 카운터 동작이 중지되고 메모리들은 그 상태를 유지하면서 동작을 정지하게 된다.
쉬프트 동작부(2)는 초기 마이크로 프로세서의 데이터(D0~Dn)와 쓰기 신호를 통해 메모리에 초기값을 저장하고, 상기 업/다운 카운터 동작부(1)의 어드레스(Q1~Qn)를 입력받아 순차적으로 업/다운 신호에 의해 읽기와 쓰기를 번갈아 수행한다. 여기서 업 카운트 모드로 동작될 때 읽기 동작과 쓰기 동작을 통해 저장된 마이크로 프로세서의 초기 데이터(D0~Dn)를 쉬프트 시켜 최종 출력 데이터와 츨력 데이터 Q0~Qd를 출력한다. 다운 카운트 모드에서는 상기 업/다운 카운터 동작부(1)의 업/다운 신호에 의해 쓰기 동작이 중지되고, 즉 쉬프트 동작이 중지되고 모듈로-2 가산 동작을 위해 읽기 동작만 수행하게 된다.
궤환점 설정부(3)는 상기 쉬프트 동작부(2)의 출력 Q0~Qd와 업/다운 카운터 동작부(1)의 어드레스 (Q0~Qn)와 클럭 신호, 마이크로 프로세서로 부터의 쓰기 신호와 시작/종료를 위한 인에이블 신호를 입력받아 모률로-2 가산 동작부(4)에 모듈로-2 가산을 위한 각 단위 궤환점을 설정하여 출력한다. 궤환점 설정부(3)는 0어드레스의 최종 단의 값을 다음 어드레스의 처음 단으로 값으로 쉬프트 시키기 위해 쉬프트 동작부(2)로 출력하고, 마이크로 프로세서로부터 마지막 단의 위치를 설정학; 위해 데이터와 쓰기 신호를 입력받는다. 전체 임의의 m개의 단 중에서 모듈로-2 가산을 위해 설정된 단은 메모리에 마이크로 프로세서에 의해서 기록되는데, 이 값은 사용자에 의해서 결정된다. 즉 쉬프트 동작부(2)의 각 단의 출력 값 중에서 궤환점 설정부(3)의 설정된 값에 의해서 다운 카운트 모드 시 모듈로-2 가산 동작부(4)로 출력한다.
모듈로-2 가산 동작부(4)는 설정된 단의 출력인 궤환점 설정부(3)의 출력 O0~Od 신호가 홀수의 1신호가 인가되면 출력 1을 출력하고, 짝수의 1신호나 전부 0의 신호가 인가되면 0 출력하여 출력이 1이 될 때마다 모듈로-2 계산을 하여 쉬프트 동작부(2)에 출력한다. 업 모드일 경우는 리셋되어 궤환점 설정부(3)의 0어드레스의 최종 단 값을 입력받아 쉬프트 동작부(2)에 출력한다.
제2도는 본 발명의 일실시예에 따른 업/다운 카운터 동작부(1)의 블록 구성도로서, 업/다운 카운터 동작부(1)는 마이크로 프로세서로부터 쓰기 신호에 의해 카운터의 주기 값인 초기 데이터(D0~Dn)를 랫치하는 랫치(10), 상기 랫치(10)의 출력과 쉬프트 동작부(2)로 출력되는 데이터를 비교하여 같아지면 펄스 신호를 출력하는 비교기(11), 상기 비교기(11)의 출력과 리플 클럭 출력(RCO) 신호를 논리 곱하여 출력하는 제1 논리곱 게이트(12), 상기 비교기(11)의 출력과 마이크로 프로세서의 로드 제어 신호를 논리 곱하여 출력하는 제2 논리곱 게이트(13), 상기 제1 논리곱 게이트(12)의 출력을 입력받아 업/다운 신호를 출력하는 토글 플립플롭(14), 외부로부터 클럭을 입력받고, 마이크로 프로세서로 부터 시작/종료 신호를 인에이블 단자에 입력받고, 상기 제2 논리곱 게이트(13)의 출력을 로드 단자에, 상기 토글 플립플롭(14)의 업/다운 신호를 업/다운 단자에 입력받고, 상기 랫치(10)의 출력을 데이터 단자에 입력받아 카운트하여 어드레스(Q0~Qn)를 쉬프트 동작부(2)로 출력하고, 리플 클럭 출력(RCO)을 상기 제1 논리곱 게이트(12)에 출력하는 업/다운 카운터(15)로 구성된다.
외부에서 클럭 신호가 인가되는 상태에서 업/다운 카운터(15)는 정지된 상태를 유지하고, 랫치(10)에 카운터의 주기 값을 마이크로프로세서가 쓰기 신호에 의해 D0~Dn를 랫치하면, 랫치된 값은 업/다운 카운터(15)에 연결되어 주기가 결정되고, 토글 플립플롭(14)은 초기 상태인 다운 카운터 모드로 리셋 시켜 둔다. 이 후 마이크로 프로세서로부터 로드(Load) 신호와 시작 신호를 인가되면 업/로드 카운터(15)는 다운 카운트 모드로 동작을 시작하게 되고, 설정된 주기가 되면(카운터 출력 값이 0이 되면) 업/다운 카운터(15)는 업 카운트 모드로 바뀌어 동작하는 데, 업/다운 카운터(15)의 RCO(Ripple Clock Out) 신호가 제1 논리곱 게이트(12)에 인가되어 토글 플립플롭(14)은 업 카운트 모드로 세트(Set) 되어진다. 변환된 카운트 모드 신호(Up/Down)는 쉬프트 동작부(2)와 궤환점 설정부(3), 모듈로-2 가산 동작부(4)로 출력된다. 업 카운트 모드로 동작되면서 초기 설정된 카운터 값과 업/다운 카운터(15)의 출력 어드레스(Q0~Qn)를 비교기(11)에서 비교하여 같아지면 펄스(Pules)신호를 발생하여 제1 및 제2 논리곱 게이트(12,13)에 출력하여 랫치(10)에 인가되었던 초기 값을 다시 업/다운 카운터(15)에 인가하고, 토글 플립플롭(14)의 상태를 리셋시켜 다시 다운 카운트 모드로 동작되게 한다. 이러한 동작을 반복적으로 수행하여 마이크로 프로세서로부터 종료 신호가 업/다운 카운터(15)의 인에이블 단자에 입력되면 카운터 동작을 정지하게 된다.
제3도는 본 발명의 일실시예에 따른 쉬프트 동작부(2)의 블록 구성도로서, 쉬프트 동작부(2)는 마이크로 프로세서의 읽기 신호와 외부의 클럭 신호를 논리곱하여 출력하는 제1 논리곱 게이트(20), 업/다운 카운터 동작부(1)의 업/다운 신호와 외부의 클럭을 부정 논리곱하여 출력하는 부정 논리곱 게이트(21), 상기 부정 논리곱 게이트(21)의 출력과 마이크로 프로세서의 쓰기 신호를 논리곱하여 출력하는 제2 논리곱 게이트(22), 마이크로 프로세서의 시작/종료 신호와 인에이블 신호를 논리곱하여 출력하는 제3 논리곱 게이트(23), 업/다운 카운터 동작부(1)의 어드레스를 입력받아 상기 제1논리곱 게이트(20)의 읽기 신호와 상기 제2 논리곱 게이트(22)의 쓰기 신호, 상기 제3 논리곱 게이트(23)의 인에이블 신호의 제어에 의해 입력된 데이터를 출력하는 메모리(24), 상기 제1 논리곱 게이트(20)의 읽기 신호를 반전시켜 출력하는 인버터(25), 상기 메모리(24)의 출력을 상기 제1 논리곱 게이트(20)의 출력 신호에 의해 랫치하여 상기 인버터(25)의 출력 신호에 의해 출력하고, 출력 데이터를 피드백 받아 쉬프트 동작을 수행하는 랫치(26), 상기 랫치(26)의 마지막 단의 출력을 버퍼링하여 업/다운 신호에 의해 상기 메모리(24)의 첫 번째 데이터 출력단에 출력하는 버퍼(27)로 구성된다.
쉬프트 동작부(2)는 제3도에 나타난 바와 같이 메모리(24)의 데이터 출력단 D0와 랫치(26)의 데이터 입력단 D0,D1은 D1, Dd는 Dd로 차례로 연결되어지며, 랫치(26)의 출력Q0~Qd는 궤환점 설정부(3)로 출력되고, 랫치(26)의 출력 Q0는 다시 메모리(24)의 출력 D1으로, Q1은 D2, Qd-1은 Dd로 Qd는 D0로 각각 쉬프트 되어 연결되어진다. 또한 모듈로-2 가산 동작부(4)로부터 출력을 메모리(24)의 출력단 D0와 연결되어져 모듈로-2 가산 동작의 결과 갑을 인가 받게 되며, 궤환점 설정부(3)에 의해 설정된 0어드레스의 마지막 단 값을 입력받는다. 초기 마이크로 프로세서의 데이터 버스와 쓰기 신호를 통해 메모리(24)에 초기값을 저장하고, 업/다운 카운터 동작부(1)의 어드레스(Q1~Qn)를 입력받아 순차적으로 클럭 신호에 의해 제1 및. 제2 논리곱 게이트(20,22)의 읽기 신호와 쓰기 신호에 의해 읽기와 쓰기를 번갈아 수행한다. 여기서 업 카운트 모드로 동작될 때 읽기 동작이 시작되면 저장된 데이터 D0~Dn 값이 랫치(26)에 저장되고, 쓰기 동작때는 랫치(26)의 출력 Q0가 메모리(24)의 출력 D1으로 Q1이 D2로 Qd-1이 Dd로,D0로 하나씩 쉬프트되어 랫치(26)에 출력된다. 다운 카우트 모드에서는 업/다운 카운터 동작부(1)의 업/다운 신호에 의해 쓰기 동작이 중지되고, 즉 쉬프트 동작이 중지되고, 모듈로-2 가산 동작을 위해 읽기 동작만 수행하게 된다.
제4도는 본 발명의 일실시예에 따른 궤환점 설정부(3)의 구성도로서, 궤환점 설정부(3)는 마이크로 프로세서의 인에이블 신호와 업/다운 카운터 동작부(1)의 업/다운 신호를 논리곱하여 인에이블 신호를 출력하는 논리곱 게이트(30), 업/다운 카운터 동작부(1)의 어드레스 데이터를 상기 논리곱 게이트(30)의 인에이블 신호와 외부의 클럭 신호, 그리고 마이크로 프로세서의 쓰기 신호에 의해 저장하여 출력하는 메모리(31), 상기 메모리(31)의 출력과 쉬프트 동작부(2)의 출력 데이터를 입력받아 선택하여 출력하는 선택기(32), 마이크로 프로세서로부터 쓰기 신호에 의해 쉬프트 동작부(2)의 마지막 출력단의 설정을 위한 데이터를 랫치하여 선택 신호를 출력하는 랫치(33), 상기 쉬프트 동작부(2)의 출력 데이터를 상기 랫치(33)의 선택 신호에 의해 선택하여 출력하는 MUX(34), 상기MUX(34)의 출력을 버퍼링하여 업/다운 카운터 동작부(1)의 리플 클럭 출력(RCO) 신호의 제어에 의해 출력하는 제1 버퍼(35), 상기 제1 버퍼(35)의 출력을 업/다운 카운터 동작부(1)의 리플 클럭 출력(RCO) 신호에 의해 저장하여 출력하는 플립플롭(36), 상기 플립플롭(36)의 출력을 버퍼링하여 업/다운 카운터 동작부(1)의 1클럭 지연된 리플 클럭 출력(RCO) 신호에 의해 출력하는 제2 버퍼(37)로 구성된다.
상기 쉬프트 동작부(2)의 출력 Q0~Qd가 선택기(32)로 입력되고, 업/다운 카운터 동작부(1)의 어드레스 Q0~Qn와 외부 클럭 신호, 마이크 프로세서로부터의 쓰기 신호와 논리곱 게이트(30)의 인에이블 신호가 메모리(31)에 입력된다. 이것은 모듈로-2 가산 동작부(4)에서 모듈로-2 가산을 위한 각 단위 궤환점 설정을 위한 것이며, MUX(34)와 랫치(33), 플립플롭(36)은 0어드레스의 최종 단의 값을 다음 어드레스의 처음 단으로 값을 쉬프트 시키기 위한 수단으로서, 마이크로 프로세서로부터 마지막 단의 위치를 설정하기 위한 데이터와 쓰기 신호를 랫치(33)에서 입력받는다. MUX(34)는 d : 1의 구조로서 쉬프트 동작부(2)의 랫치(26) 출력 중 최종 단으로 설정된, 즉 Q0~Qd 중의 하나만 선택되어져 출력으로 나오며, 업/다운 카운터 동작부(1)의 RCO 신호에 의해 플립플롭(36)에 저장되고 1클럭 지연된 RCO 신호에 의해 제2 버퍼(37)를 거쳐 쉬프트 동작부(2)의 메모리(24)에 연결되어진다.
전체 m개의 단 중에서 모듈로-2 가산을 위해 설정된 단은 궤환점 설정부(3)의 메모리(31)에 마이크로 프로세서에 의해서 기록되는데, 이 값은 사용자에 의해서 결정된다. 즉 쉬프트 동작부 메모리(24)의 각 단의 출력 값 중에서 궤환점 동작부 메모리(31)에 설정된 값에 의해서 다운 카운트 모드 시 모듈로-2 가산 동작부(4)로 선택기(32)를 통해 출력된다.
제5도는 본 발명의 일실시예에 따른 모듈로-2 가산 동작부(4)의 블록 구성도로서, 모듈로-2 가산 동작부(4)는 외부의 클럭 신호를 반전하여 읽기 신호를 출력하는 제1 인버터(41), 마이크로 프로세서의 인에이블 신호와 업/다운 카운터 동작부(1)의 업/다운 신호를 논리곱하여 인에이블 신호를 출력하는 논리곱 게이트(42), 궤환점 설정부(3)의 출력을 마이크로 프로세서의 쓰기 신호, 상기 논리곱 게이트(42)의 인에이블 신호, 상기 제1 인버터(41)의 읽기 신호에 의해 저장하여 마이크로 프로세서의 값에 의해 데이터를 출력하는 메모리(43), 업/다운 카운터 동작부(1)의 업/다운 신호를 반전시켜 리셋 신호를 출력하는 제2 인버터(44), 상기 제2 인버터(44)의 리셋 신호에 의해 리셋되고 상기 메모리(43)의 출력을 입력받아 출력하는 토글 플립플롭(45), 상기 토글 플립플롭(45)의 출력을 입력받아 출력하는 플립플롭(46), 상기 플립플롭(46)의 출력을 버퍼링하여 업/다운 카운터 동작부(1)의 리플 클럭 출력(RCO) 신호에 의해 쉬프트 동작부(2)로 출력하는 버퍼(47)로 구성된다.
메모리(43)는 궤환점 설정부(3)의 출력 신호를 어드레스로 입력받는다. 메모리(43)의 값은 마이크로 프로세서로부터 기록되는데, 궤환점 설정부 선택기(32)의 출력 O0~0d 가 홀수의 1신호가 인가되면 메모리(43)의 출력은 1이 되고 짝수의 1 신호나 전부 0인 신호가 입력되면 0을 출력하도록 기록한다. 메모리(43)의 출력은 토글 플립플롭(45)에 입력되는데, 1의 신호가 입력될 때마다 모듈로-2 계산을 하게 된다. 토글 플립플롭(45)의 출력 신호는 D 플립플롭(46)과 버퍼(47)를 통해 쉬프트 동작부 메모리(24)의 출력단 D0에 입력된다. 업 모드일 경우는 토글 플립플롭(45)은 제2 인버터(44)의 리셋 신호에 의해 리셋되고, 궤환점 설정부(3)의 플립플롭(36)의 0 어드레스의 최종 단 값을 입력받아 쉬프트 동작부(2)에 출력한다.
상기와 같이 구성되어 동작하는 본 발명은 선형 궤환 쉬프트 레지스터를 메모리로 실현함에 따라 마이크로 프로세서의 제어를 받기 쉽도록 구성되었으며, 회로의 변경없이 메모리 용량 범위 내에서 차수와 궤환점 변경이 프로그래머블하게 이루어질 수 있고, 무작위 신호 발생 주기를 임의로 변경할 수 있는 효과가 있다.

Claims (5)

  1. 외부로부터 클럭 신호와 마이크로 프로세서로 부터의 제어 신호(로드(Load), 시작/종료, 데이터(D0~Dn), 쓰기 신호)를 입력받아 카운터의 주기를 결정하여 출력 어드레스 값(Q0~Qn)을 출력하고, 업/다운 신호와 리플 클럭 출력(RCO) 신호를 출력하는 업/다운 카운터 동작 수단(1), 초기 마이크로 프로세서의 데이터(D0~Dn)와 쓰기 신호를 통해 메모리에 초기값을 저장하고, 상기 업/다운 카운터 동작 수단(1)의 어드레스(Q1~Qn)를 입력받아 상기 업/다운 카운터 동작 수단(1)의 업/다운 신호에 의해 읽기와 쓰기를 반복하여 입력된 쉬프트시켜 출력하는 쉬프트 동작 수단(2), 상기 쉬프트 동작 수단(2)의 출력 Q0~Qd 와 업/다운 카운터 동작 수단(1)의 출력 어드레스(Q0~Qn)를 입력받아 각 어드레스에 할당된 궤환점을 설정하여 출력하고, 0어드레스의 최종 단의 값을 선택하여 상기 쉬프트 동작 수단(2)으로 출력하는 궤환점 설정 수단(3), 및 초기 동작시 모듈로-2 가산을 위한 데이터를 마아크로 프로세서로부터 입력받고, 상기 궤환점 설정 수단(3)의 출력을 입력받아 모듈로-2 가산을 수행하여 출력하는 모듈로-2 가산 동작 수단(4)을 구비한 것을 특징으로 하는 큰 차수를 갖는 선형 궤환 쉬프트 레지스터.
  2. 제1항에 있어서, 상기 업/다운 카운터 동작 수단(1)은, 마이크로 프로세서로부터 쓰기 신호에 의해 카운터의 주기 값인 초기 데이터(D0~Dn)를 랫치하는 랫치 수단(10), 상기 랫치 수단(10)의 출력과 상기 쉬프트 동작 수단(2)으로 출력되는 데이터를 비교하여 같아지면 펄스 신호를 출력하는 비교 수단(11), 상기 비교 수단(11)의 출력과 리플 클럭 출력(RCO) 신호를 논리곱하여 출력하는 제1 논리곱 게이트 수단(12), 상기 비교 수단(11)의 출격과 마이크로 프로세서의 로드 제어 신호를 논리곱하여 출력하는 제2 논리곱 게이트 수단(13), 상기 제1 논리곱 게이트 수단(12)의 출력을 입력받아 업/다운 신호를 출력하는 토글 플립플곱 수단(14), 및 외부로부터 클럭을 입력받고, 마이크로 프로세서로부터 시작/종료 신호를 인에이블 단자에 입력받고, 상기 제2 논리곱 게이트 수단(13)의 출력을 로드 단자에, 상기 토글 플립플롭 수단(14)의 업/다운 신호를 업/다운 단자에 입력받고, 상기 랫치 수단(10)의 출력을 데이터 단자에 입력받아 카운트하여 차수 결정을 위한 어드레스(Q0~Qn)를 출력하고, 리플 클럭 출력(RCO)을 상기 제1 논리곱 게이트 수단(12)에 출력하는 업/다운 카운트 수단(15)을 구비한 것을 특징으로 하는 큰 차수를 갖는 선형 궤환 쉐프트 레지스트.
  3. 제1항에 있어서, 상기 쉬프트 동작 수단(2)은, 마이크로 프로세서의 읽기 신호와 외부의 클럭 신호를 논리곱하여 출력하는 제1 논리곱 게이트 수단(20), 업/다운 카운터 동작 수단(1)의 업/다운 신호와 외부의 클럭을 부정 논리곱하여 출력하는 부정 논리곱 게이트 수단(21), 상기 부정 논리곱 게이트 수단(21)의 출력과 마이크로 프로세서의 쓰기 신호를 논리곱하여 출력하는 제2 논리곱 게이트 수단(22), 마이크로 프로세서의 시작/종료 신호와 인에이블 신호를 논리곱하여 출력하는 제3 논리곱 게이트 수단(23), 업/다운 카운터 동작 수단(1)의 어드레스를 입력받아 상기 제1 논리곱 게이트 수단(20)의 읽기 신호와 상기 제2 논리곱 게이트 수단(22)의 쓰기 신호, 상기 제3 논리곱 게이트 수단(23)의 인에이블 신호의 제어에 의해 입력된 데이터를 출력하는 메모리 수단(24), 상기 제1 논리곱 게이트 수단(20)의 읽기 신호를 반전시켜 출력하는 인버터 수단(25); 상기 메모리 수단(24)의 출력을 상기 제1 논리곱 게이트 수단(20)의 출력 신호에 의해 랫치하여 상기 인버터 수단(25)의 출력 신호에 의해 출력하고, 출력 데이터를 피드백 받아 쉬프트 동작을 수행하는 랫치 수단(26); 및 상기 랫치 수단(26)의 마지막 단의 출력을 버퍼링하여 업/다운 신호에 의해 상기 메모리 수단(24)의 첫 번째 데이터 출력단에 출력하는 버퍼 수단(27)을 구비한 것을 특징으로 하는 큰 차수를 갖는 선형 궤환 쉬프트 레지스터.
  4. 제1항에 있어서, 상기 궤환점 설정 수단(3)은, 마이크로 프로세서의 인에이블 신호와 업/다운 카운터 동작 수단(1)의 업/다운 신 호를 논리곱하여 인에이블 신호를 출력하는 논리곱 게이트 수단(30), 업/다운 카운터 동작 수단(1)의 어드레스 데이터를 상기 논리곱 게이트 수단(30)의 인에이블 신호와 외부의 클럭 신호, 그리고 마이크로 프로세서의 쓰기 신호에 의해 저장하여 출력하는 메모리 수단(31), 상기 메모리 수단(31)의 출력과 쉬프트 동작 수단(2)의 출력 데이터를 입력받아 선택하여 출력하는 선택 수단(32), 마이크로 프로세서로부터 쓰기 신호에 의해 쉬프트 동작 수단(2)의 마지막 출력단의 설정을 위한 데이터를 랫치하여 선택 신호를 출력하는 랫치 수단(33), 상기 쉬프트 동작 수단(2)의 출력 데이터를 상기 랫치 수단(33)의 선택 신호에 의해 선택하여 출력하는 MUX 수단(34), 상기 MUX 수단(34)의 출력을 버퍼링하여 업/다운 카운터 동작 수단(1)의 리플 클럭 출력(RCO) 신호의 제어에 의해 출력하는 제1 버퍼링 수단(35). 상기 제1 버퍼링 수단(35)의 출력을 업/다운 카운터 동작 수단(1)의 리플 클럭 출력(RCO) 신호에 의해 저정하여 출력하는 플립플롭 수단(36); 및 상기 플립플롭 수단(36)의 출력을 버퍼링하여 업/다운 카운터 동작 수단(1)의 1클럭 지연된 리플 클럭 출력(RCO) 신호에 의해 출력하는 제2 버퍼링 수단(37)을 구비한 것을 특징으로 하는 큰 차수를 갖는 선형 궤환 쉬프트 레지스터.
  5. 제 1 항에 있어서, 상기 모듈로-2 가산 동작 수단(4)은 외부의 클럭 신호를 반전하여 읽기 신호를 반전하여 읽기 신호를 출력하는 제1 인버터 수단(41); 마이크로 프로세서의 인에이블 신호와 업/다운 카운터 동작 수단(1)의 업/다운 신호를 논리곱하여 인에이블 신호를 출력하는 논리곱 게이트 수단(42), 궤환점 설정 수단(3)의 출력을 마이크로 프로세서의 쓰기 신호, 상기 논리곱 게이트 수단(42)의 인에이블 신호, 상기 제1 인버터 수단(41)의 읽기 신호에 의해 저장하여 마이크로 프로세서의 값에 의해 데이터를 출력하는 메모리 수단(43), 업/다운 카운터 동작 수단(1)의 업/다운 신호를 반전시켜 리셋 신호를 출력하는 제2 인버터 수단(44), 상기 제2 인버터 수단(44)의 리셋 신호에 의해 리셋되고, 상기 메모리 수단(43)의 출력을 입력받아 출력하는 토글 플립플롭 수단(45); 상기 토글 플립플롭 수단(45)의 출력을 입력받아 출력하는 플립플롭 수단(46), 및 상기 플립플롭 수단(46)의 출력을 버퍼링하여 업/다운 카운터 동작 수단(1)의 리플 클럭 출력(RCO) 신호에 의해 쉬프트 동작 수단(2)으로 출력하는 버퍼(47)을 구비한 것을 특징으로 하는 큰 차수를 갖는 선형 궤환 쉬프트 레지스터.
KR1019950053163A 1995-12-21 1995-12-21 큰 차수를 갖는 선형 궤환 쉬프트 레지스터 KR0164129B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019950053163A KR0164129B1 (ko) 1995-12-21 1995-12-21 큰 차수를 갖는 선형 궤환 쉬프트 레지스터

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019950053163A KR0164129B1 (ko) 1995-12-21 1995-12-21 큰 차수를 갖는 선형 궤환 쉬프트 레지스터

Publications (2)

Publication Number Publication Date
KR970049428A KR970049428A (ko) 1997-07-29
KR0164129B1 true KR0164129B1 (ko) 1998-12-15

Family

ID=19442175

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019950053163A KR0164129B1 (ko) 1995-12-21 1995-12-21 큰 차수를 갖는 선형 궤환 쉬프트 레지스터

Country Status (1)

Country Link
KR (1) KR0164129B1 (ko)

Also Published As

Publication number Publication date
KR970049428A (ko) 1997-07-29

Similar Documents

Publication Publication Date Title
US5563592A (en) Programmable logic device having a compressed configuration file and associated decompression
US4930100A (en) Programmable pulse input/output processing unit having register types specified by instructions
US5627795A (en) Timing generating device
JPH04372285A (ja) イメージバッファーを利用した電子ズーミングシステム
KR0164129B1 (ko) 큰 차수를 갖는 선형 궤환 쉬프트 레지스터
US6839783B2 (en) Programmable state machine interface
US5854755A (en) Clock frequency multiplication device
US6504407B2 (en) Programmable high speed frequency divider
JPH10512084A (ja) インターリーブド及び順次カウンタ
JPH10283340A (ja) 演算プロセッサ
JP3949995B2 (ja) カウンタ回路
US5404564A (en) High speed data train generating system with no restriction on length of generated data train
JP2001290794A (ja) ディジタル信号のサンプリング周波数変換装置
JPH0217828B2 (ko)
US5270981A (en) Field memory device functioning as a variable stage shift register with gated feedback from its output to its input
JPS59112334A (ja) シ−ケンス発生器
US5521872A (en) Apparatus and method for control of a first input first output type device
JPH0256048A (ja) データ転送方法及びデータバッファ装置
JP3567256B2 (ja) ステッピングモータ駆動回路
JPH0225567B2 (ko)
WO2021117112A1 (ja) 演算装置および演算システム
KR0182037B1 (ko) 오버샘플링 디지탈 필터
JP2001177378A (ja) Firデジタルフィルタ
JPH01308978A (ja) パターンデータ発生回路
JP2002156986A (ja) デジタル信号処理回路

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20090701

Year of fee payment: 12

LAPS Lapse due to unpaid annual fee