KR100864363B1 - 부호화 회로 및 디지털 신호 처리 회로 - Google Patents

부호화 회로 및 디지털 신호 처리 회로 Download PDF

Info

Publication number
KR100864363B1
KR100864363B1 KR1020060131751A KR20060131751A KR100864363B1 KR 100864363 B1 KR100864363 B1 KR 100864363B1 KR 1020060131751 A KR1020060131751 A KR 1020060131751A KR 20060131751 A KR20060131751 A KR 20060131751A KR 100864363 B1 KR100864363 B1 KR 100864363B1
Authority
KR
South Korea
Prior art keywords
data
coefficient
bit
circuit
stored
Prior art date
Application number
KR1020060131751A
Other languages
English (en)
Other versions
KR20070066926A (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 KR20070066926A publication Critical patent/KR20070066926A/ko
Application granted granted Critical
Publication of KR100864363B1 publication Critical patent/KR100864363B1/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • H04L1/0043Realisations of complexity reduction techniques, e.g. use of look-up tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Error Detection And Correction (AREA)

Abstract

부호화 처리를 고속으로 행한다. 부호화 회로는, n 비트의 피부호화 데이터가 저장되는 피부호화 데이터 저장 레지스터와, 피부호화 데이터가 시프트되어 생성되는 m 비트의 연산용 데이터가 저장되는 연산용 데이터 저장 레지스터와, 피부호화 데이터 저장 레지스터에 저장되어 있는 피부호화 데이터를 시프트하여 연산용 데이터 저장 레지스터에 시프트 입력하는 시프터와, 부호화에서의 제1 계수를 나타내는 m 비트의 제1 계수 데이터가 저장되는 제1 계수 레지스터와, 연산용 데이터 저장 레지스터에 저장되어 있는 연산용 데이터와, 제1 계수 레지스터에 저장되어 있는 제1 계수 데이터가 입력되고, 연산용 데이터 및 제1 계수 데이터의 비트마다의 논리곱을 출력하는 제1 논리 회로와, 제1 논리 회로로부터 출력되는 m 비트의 데이터가 입력되고, 해당 m 비트의 데이터의 배타적 논리합을 부호화 데이터로서 출력하는 제2 논리 회로를 구비한다.
피부호화 데이터, 계수 데이터, 저장 레지스터, 논리 회로, 연산용 데이터, 어큐뮬레이터, 캐리 플래그, 시프터

Description

부호화 회로 및 디지털 신호 처리 회로{CODING CIRCUIT AND DIGITAL SIGNAL PROCESSING CIRCUIT}
도 1은 본 발명의 일 실시 형태인 디지털 신호 처리 회로의 구성을 도시하는 도면.
도 2는 DSP가 송수신하는 통신 데이터의 구성예를 도시하는 도면.
도 3은 부호화 회로의 구성예를 도시하는 도면.
도 4는 부호화 데이터와 생성 다항식과의 관계를 도시하는 도면.
도 5는 생성 다항식의 계수 데이터를 선택 가능한 부호화 회로의 구성예를 도시하는 도면.
도 6은 1개의 생성 다항식에 기초하여 부호화 데이터를 생성하는 처리의 일례를 도시하는 도면.
도 7은 2개의 생성 다항식에 기초하여 부호화 데이터를 생성하는 처리의 일례를 도시하는 도면.
<도면의 주요 부분에 대한 부호 설명>
1: DSP
11: 제어 회로
12: 어드레스 생성 회로
13: 부호화 회로
14: 메모리 A
15: 메모리 B
16, 17: 버스
20: 통신 데이터
21: 정보 비트
22: 정정용 비트
31: 어큐뮬레이터
32: 시프터
33: 데이터 레지스터(r0)
34: AND 회로
35: XOR 회로
36: 특수 데이터 레지스터
37: 시프터
38: 캐리 플래그
39: AND 회로
51: 데이터 레지스터(r1)
52: 선택 회로
[특허 문헌 1] 일본 특개평6-44051호 공보
본 발명은, 부호화 회로 및 디지털 신호 처리 회로에 관한 것이다.
휴대 전화 등의 이동체 통신 기기에서, 디지털 신호를 처리하기 위한 프로세서인 DSP(Digital Signal Processor)가 이용되는 경우가 많다. 이와 같은 이동체 통신 기기에 이용되는 DSP에서는, 송수신되는 데이터의 비트 오류를 정정 가능하게 하기 위해, 컨볼루션 부호나 블록 부호 등의 부호화 처리가 일반적으로 행해지고 있다. 그리고, DSP에서는,1 비트의 시프트 처리나 논리곱을 행하는 처리, 배타적 논리합을 행하는 처리 등을 소프트웨어에 의해 실현함으로써 부호화 데이터를 생성할 수 있다(예를 들면, 특허 문헌 1).
그러나, 소프트웨어에 의해 부호화 데이터를 생성하는 경우, 1 비트의 부호화 데이터를 생성하기 위해, 시프트 처리나 논리곱을 행하는 처리, 배타적 논리합을 행하는 처리, 그 밖의 레지스터에의 데이터 로드 처리 등, 수 사이클의 처리가 필요해진다. 따라서, 디지털 신호의 비트수에 비례하여 DSP의 처리량이 증대하게 되어, 통신 속도를 고속화할 때의 지장으로 되었다.
본 발명은 상기 과제를 감안하여 이루어진 것으로, 고속으로 부호화 처리를 행할 수 있는 부호화 회로, 및 그 부호화 회로를 이용하여 고속으로 부호화 처리를 행할 수 있는 디지털 신호 처리 회로를 제공하는 것을 목적으로 한다.
상기 목적을 달성하기 위해, 본 발명의 부호화 회로는, n 비트의 피부호화 데이터가 저장되는 피부호화 데이터 저장 레지스터와, 상기 피부호화 데이터가 시프트되어 생성되는 m 비트의 연산용 데이터가 저장되는 연산용 데이터 저장 레지스터와, 상기 피부호화 데이터 저장 레지스터에 저장되어 있는 상기 피부호화 데이터를 시프트하여 상기 연산용 데이터 저장 레지스터에 시프트 입력하는 시프터와, 부호화를 행하기 위한 m 비트의 제1 계수 데이터가 저장되는 제1 계수 레지스터와, 상기 연산용 데이터 저장 레지스터에 저장되어 있는 상기 연산용 데이터와, 상기 제1 계수 레지스터에 저장되어 있는 상기 제1 계수 데이터가 입력되고, 상기 연산용 데이터를 상기 제1 계수 데이터에 기초하여 부호화한 부호화 데이터를 출력하는 부호화 논리 회로를 구비하는 것으로 한다.
또한, 상기 부호화 논리 회로는, 상기 연산용 데이터 저장 레지스터에 저장되어 있는 상기 연산용 데이터와, 상기 제1 계수 레지스터에 저장되어 있는 상기 제1 계수 데이터가 입력되고, 상기 연산용 데이터 및 상기 제1 계수 데이터의 비트마다의 논리곱을 출력하는 제1 논리 회로와, 상기 제1 논리 회로로부터 출력되는 m 비트의 데이터가 입력되고, 상기 m 비트의 데이터의 배타적 논리합을 부호화 데이터로서 출력하는 제2 논리 회로를 구비하는 것으로 할 수 있다.
그리고, 상기 시프터는, 상기 피부호화 데이터 저장 레지스터에 저장되어 있는 상기 피부호화 데이터를 1 비트씩 순서대로 시프트하여 상기 연산용 데이터 저장 레지스터에 시프트 입력하는 것으로 하여도 된다.
또한, 상기 부호화 회로는, 상기 제2 논리 회로로부터 출력되는 상기 부호화 데이터가 1 비트씩 시프트 입력되어 저장되는 부호화 데이터 저장 시프트 레지스터를 더 구비하는 것으로 하여도 된다.
또한, 상기 부호화 회로는, 부호화에서의 제2 계수를 나타내는 m 비트의 제2 계수 데이터가 저장되는 제2 계수 레지스터와, 상기 제1 계수 레지스터에 저장되어 있는 상기 제1 계수 데이터 또는 상기 제2 계수 레지스터에 저장되어 있는 상기 제2 계수 데이터 중 어느 한쪽을, 입력되는 선택 신호에 기초하여 선택해서 출력하는 선택 회로를 더 구비하고, 상기 제1 논리 회로는, 상기 연산용 데이터 저장 레지스터에 저장되어 있는 상기 연산용 데이터와, 상기 선택 회로로부터 출력되는 상기 제1 계수 데이터 또는 상기 제2 계수 데이터 중 어느 한쪽과의 비트마다의 논리곱을 출력하는 것으로 하여도 된다.
또한, 상기 시프터는, 상기 피부호화 데이터 및 상기 연산용 데이터를 시프트할지의 여부를, 입력되는 제어 신호에 기초하여 절환 가능한 것으로 하여도 된다.
또한, 상기 피부호화 데이터 저장 레지스터는 어큐뮬레이터의 n 비트의 데이터 영역이고, 상기 연산용 데이터 저장 레지스터는 상기 n 비트의 데이터 영역과 연속하는 m 비트의 데이터 영역인 것으로 하여도 된다.
그리고, 상기 제2 논리 회로로부터 출력되는 상기 부호화 데이터가, 상기 어큐뮬레이터의 캐리 플래그에 저장되는 것으로 하여도 된다.
또한, 상기 부호화 회로는, 상기 캐리 플래그에 저장되어 있는 데이터와 상 기 제1 논리 회로로부터 출력되는 m 비트의 데이터와의 배타적 논리합을 부호화 데이터로 하기 위해, 상기 캐리 플래그에 저장되어 있는 상기 데이터를 입력되는 제어 신호에 기초하여 상기 제2 논리 회로에 출력하는 캐리 플래그 출력 회로를 더 구비하는 것으로 하여도 된다.
또한, 본 발명의 디지털 신호 처리 회로는, 피부호화 데이터가 저장되는 n 비트의 피부호화 데이터 저장 영역과, 상기 피부호화 데이터 저장 영역과 연속하며, 상기 피부호화 데이터가 시프트되어 생성되는 연산용 데이터가 저장되는 m 비트의 연산용 데이터 저장 영역을 갖는 어큐뮬레이터와, 상기 어큐뮬레이터에 저장되어 있는 데이터를 시프트하는 시프터와, 부호화를 행하기 위한 제1 계수를 나타내는 m 비트의 제1 계수 데이터가 저장되는 제1 계수 레지스터와, 상기 연산용 데이터 저장 영역에 저장되어 있는 상기 연산용 데이터와, 상기 제1 계수 레지스터에 저장되어 있는 상기 제1 계수 데이터가 입력되고, 상기 연산용 데이터를 상기 제1 계수 데이터에 기초하여 부호화한 부호화 데이터를 출력하는 부호화 논리 회로와, 상기 부호화 논리 회로로부터 출력되는 상기 부호화 데이터가 시프트 입력되어 저장되는 부호화 데이터 저장 시프트 레지스터와, 부호화의 명령에 기초하여, 상기 부호화 논리 회로로부터 출력되는 상기 부호화 데이터를 상기 부호화 데이터 저장 시프트 레지스터에 시프트 입력시키고, 상기 시프터에 상기 어큐뮬레이터에 저장되어 있는 데이터를 상기 피부호화 데이터 저장 영역으로부터 상기 연산용 데이터 저장 영역의 방향으로 시프트시키는 제어 회로를 구비하는 것으로 한다.
또한, 상기 부호화 논리 회로는, 상기 연산용 데이터 저장 영역에 저장되어 있는 상기 연산용 데이터와, 상기 제1 계수 레지스터에 저장되어 있는 상기 제1 계수 데이터가 입력되고, 상기 연산용 데이터 및 상기 제1 계수 데이터의 비트마다의 논리곱을 출력하는 제1 논리 회로와, 상기 제1 논리 회로로부터 출력되는 m 비트의 데이터가 입력되고, 상기 m 비트의 데이터의 배타적 논리합을 부호화 데이터로서 출력하는 제2 논리 회로를 구비하는 것으로 할 수 있다.
그리고, 상기 시프터는, 상기 피부호화 데이터 저장 영역에 저장되어 있는 상기 피부호화 데이터를 1 비트씩 순서대로 시프트하여 상기 연산용 데이터 저장 영역에 시프트 입력하는 것으로 하여도 된다.
또한, 상기 디지털 신호 처리 회로는, 부호화에서의 제2 계수를 나타내는 m 비트의 제2 계수 데이터가 저장되는 제2 계수 레지스터와, 상기 제1 계수 레지스터에 저장되어 있는 상기 제1 계수 데이터 또는 상기 제2 계수 레지스터에 저장되어 있는 상기 제2 계수 데이터 중 어느 한쪽을, 입력되는 선택 신호에 기초하여 선택해서 출력하는 선택 회로를 더 구비하고, 상기 제어 회로는, 상기 부호화의 명령에 기초하여, 상기 선택 신호를 상기 선택 회로에 출력하는 것으로 하여도 된다.
또한, 상기 제어 회로는, 상기 부호화의 명령이 제1 명령인 경우에는, 상기 시프터에 상기 어큐뮬레이터에 저장되어 있는 데이터를 상기 피부호화 데이터 저장 영역으로부터 상기 연산용 데이터 저장 영역의 방향으로 1 비트 시프트시키고, 상기 부호화의 명령이 제2 명령인 경우에는, 상기 시프터에 상기 어큐뮬레이터에 저장되어 있는 데이터를 시프트시키지 않는 것으로 하여도 된다.
또한, 상기 제2 논리 회로로부터 출력되는 상기 부호화 데이터가, 상기 어큐 뮬레이터의 캐리 플래그에 저장되는 것으로 하여도 된다.
또한, 상기 디지털 신호 처리 회로는, 상기 캐리 플래그에 저장되어 있는 데이터와 상기 제1 논리 회로로부터 출력되는 m 비트의 데이터와의 배타적 논리합을 부호화 데이터로 하기 위해, 상기 캐리 플래그에 저장되어 있는 상기 데이터를 입력되는 제어 신호에 기초하여 상기 제2 논리 회로에 출력하는 캐리 플래그 출력 회로를 더 구비하고, 상기 제어 회로는, 상기 부호화의 명령에 기초하여, 상기 제어 신호를 상기 캐리 플래그 출력 회로에 출력하는 것으로 하여도 된다.
<실시예>
== 전체 구성 ==
도 1은, 본 발명의 일 실시 형태인 디지털 신호 처리 회로(이후, DSP(Digital Signal Processor)라고 칭함)의 구성을 도시하는 도면이다. DSP(1)는, 제어 회로(11), 어드레스 생성 회로(12), 부호화 회로(13), 메모리 A(14), 메모리 B(15), 및 버스(16, 17)를 포함하여 구성되어 있다. DSP(1)는, 휴대 전화 등의 통신 기기에 이용되는 것으로서, 통신로에서의 오류 정정을 가능하게 하기 위해, 컨볼루션 부호에 의한 부호화 및 복호 처리를 행한다.
제어 회로(11)는, ROM(Read Only Memory)이나 RAM(Random Access Memory) 등의 메모리(도시 생략)에 저장되어 있는 프로그램을 판독하여 실행함으로써, DSP(1)의 제어를 행하는 회로이다. 어드레스 생성 회로(12)는, 제어 회로(11)의 제어에 의해, 버스(16, 17)에 출력하는 어드레스를 생성하는 회로이다. 그리고, 버스(16, 17)에 출력된 어드레스에 기초하여, 메모리 A(14) 및 메모리 B(15)의 해당 어드레 스에 저장되어 있는 데이터의 부호화 회로(13) 내의 레지스터 등에의 판독, 또는, 부호화 회로(13)가 보유하는 데이터의 메모리 A(14) 및 메모리 B(15)의 해당 어드레스에의 기입이 행하여진다. 부호화 회로(13)는, 제어 회로(11)의 제어에 의해, 메모리 A(14) 또는 메모리 B(15)로부터 판독된 데이터를 부호화하는 회로이다.
메모리 A(14) 및 메모리 B(15)는, 부호화 대상의 데이터나 부호화된 데이터 등이 저장되는 읽기 및 쓰기 가능한 기억 회로로서, 예를 들면 RAM(Random Access Memory) 등이다. 이 메모리 A(14) 및 메모리 B(15)는, DSP(1)의 외부에 설치된 대용량의 SDRAM(Synchronous DRAM) 등의 메모리(도시 생략)와의 사이에서 데이터의 수수를 행할 수도 있다. 이에 의해,DSP(1)에서는, 메모리 A(14) 및 메모리 B(15)에의 병렬 액세스에 의한 처리 고속화와 함께,DSP(1) 내부의 메모리 용량을 삭감하여, DSP(1)의 칩 사이즈를 작게 하고 있다. 또한,DSP(1)는, 메모리 A(14) 및 메모리 B(15) 중 어느 한쪽만을 구비하는 것으로 하여도 되고, 외부에 설치된 SDRAM 등의 메모리(도시 생략)와의 사이의 데이터의 수수는 행하지 않는 것으로 하여도 된다.
도 2는, DSP(1)가 송수신하는 통신 데이터의 구성예를 도시하는 도면이다. 통신 데이터(20)는, 전달할 정보를 나타내는 정보 비트(21) 및 정보 비트(21)의 오류를 정정하기 위한 정정용 비트(22)를 포함하여 구성되어 있다. 데이터를 송신하는 측의 DSP(1)에서는, 정보 비트(21)를 부호화 회로(13)에 공급하여 정정용 비트(22)를 생성하고, 생성된 정정용 비트(22)를 정보 비트(21)에 부가하여 통신 데이터(20)를 생성한다. 그리고, 데이터를 수신하는 측의 DSP(1)에서는, 정정용 비 트(22)가 부가된 통신 데이터(20)를 수신하면, 통신 데이터(20)의 정보 비트(21)를 부호화 회로(13)에 공급하여 정정용 비트를 생성하고, 생성한 정정용 비트와 통신 데이터(20)에 포함되어 있는 정정용 비트(22)가 일치하는지의 여부를 확인한다. 일치하지 않는 경우, DSP(1)는, 정보 비트(21)에 오류가 발생하고 있다라고 판단하고, 정정용 비트(22)를 이용하여 정보 비트(21)의 오류를 정정할 수 있다.
== 부호화 회로 ==
다음으로, 부호화 회로(13)의 구성에 대해서 설명한다. 도 3은, 부호화 회로(13)의 구성예를 도시하는 도면이다. 부호화 회로(13)는, 어큐뮬레이터(ax)(31), 어큐뮬레이터(31)용의 시프터(32), 데이터 레지스터(r0)(33), AND 회로(제1 논리 회로)(34), XOR 회로(제2 논리 회로)(35), 데이터 레지스터(rs)(36), 데이터 레지스터(36)용의 시프터(37), 어큐뮬레이터(31)의 캐리 플래그(38), 및 AND 회로(39)를 포함하여 구성되어 있다.
어큐뮬레이터(31)는, 예를 들면 40 비트로 구성되어 있고, 예를 들면 상위 8 비트의 데이터 영역 ae, 및 하위 32 비트의 데이터 영역이 설정되어 있다. 그리고, 하위 32 비트의 데이터 영역은, 예를 들면 상위 16 비트의 데이터 영역 ah 및 하위 16 비트의 데이터 영역 al로 구성되어 있다. 데이터 영역 ae에는, 제어 회로(11)의 제어에 의해, 정보 비트(21)를 예를 들면 8 비트 단위로 분할한 부호화 대상의 데이터(피부호화 데이터)가, 메모리 A(14), 메모리 B(15), 또는 다른 레지스터 등으로부터 판독되어 저장된다. 시프터(32)는, 제어 회로(11)로부터의 제어 신호에 따라서, 어큐뮬레이터(31)에 저장되어 있는 데이터를 시프트할 수 있다. 즉, 데이터 영역 ae에 저장된 피부호화 데이터는, 시프터(32)에 의해 1 비트씩 우측으로 시프트됨으로써, 데이터 영역 ah, al에 순차적으로 입력되어 가게 된다. 그리고, 데이터 영역 ah, al에 저장된 데이터는, 부호화의 연산을 행하기 위한 데이터(연산용 데이터)로서 이용된다.
데이터 레지스터(r0)(33)는, 예를 들면 32 비트로 구성되어 있고, 예를 들면 상위 16 비트의 데이터 영역 r0h, 및 하위 16 비트의 데이터 영역 r0l이 설정되어 있다. 이 데이터 레지스터(r0)(33)에는, 부호화의 생성 다항식의 계수를 도시하는 계수 데이터가 저장된다. 도 4는, 부호화 데이터와 생성 다항식과의 관계를 도시하는 도면이다. 부호화 데이터 X1을 얻기 위한 생성 다항식은 G(X)=X3+X+1로 되지만, 이 경우, 데이터 레지스터(r0)(33)에는, 상위로부터 순서대로 1011(2진)이 설정된다. 즉, 데이터 영역 r0h에는 0xb000이 설정되고, 데이터 영역 r0l에는 0x0000이 설정된다. 또한,「0x」는, 16진수인 것을 나타낸다. 또한, 부호화 데이터 X2를 얻기 위한 생성 다항식은 G(X)=X3+1로 되지만, 이 경우, 데이터 레지스터(r0)(33)에는, 상위로부터 순서대로 「1001」이 설정된다. 즉, 데이터 영역 r0h에는 0x9000이 설정되고, 데이터 영역 r0l에는 0x0000이 설정된다.
AND 회로(34)는, 어큐뮬레이터(31)의 데이터 영역 ah, al에 저장되어 있는 연산용 데이터와, 데이터 레지스터(r0)(33)에 저장되어 있는 생성 다항식의 계수 데이터와의 비트마다의 논리곱을 출력하는 회로이다. 데이터 영역 ah의 상위로부터 n 비트째를 ah(n), 데이터 영역 al의 상위로부터 n 비트째를 al(n), 데이터 영 역 r0h의 상위로부터 n 비트째를 r0h(n), 데이터 영역 r0l의 상위로부터 n 비트째를 r0l(n)로 나타내는 것으로 하면,AND 회로(34)로부터는, ah(n)×r0h(n) 및 al(n)×r0l(n)(n=1∼16)이 출력된다.
XOR 회로(35)는, AND 회로(34)로부터 출력되는 32 비트의 데이터의 배타적 논리합을, 1 비트의 부호화 데이터로서 출력하는 회로이다. 또한,XOR 회로(35)는, 캐리 플래그(38)에 저장되어 있는 데이터와, AND 회로(34)로부터 출력되는 32 비트의 데이터와의 배타적 논리합을 취할 수도 있다.
데이터 레지스터(rs)(36)는, 예를 들면 32 비트로 구성되어 있고, 예를 들면 상위 16비트의 데이터 영역 rsh, 및 하위 16 비트의 데이터 영역 rsl이 설정되어 있다. 시프터(37)는, 제어 회로(11)로부터의 제어 신호에 따라, 데이터 레지스터(rs)(36)에 저장되어 있는 데이터를 시프트할 수 있다. XOR 회로(35)로부터 출력되는 부호화 데이터를 데이터 레지스터(rs)(36)에 저장할 때에는, 예를 들면, 시프터(37)에 의해 데이터 레지스터(rs)(36)에 저장되어 있는 데이터를 1 비트 좌측으로 시프트한 후에, 데이터 레지스터(rs)(36)의 최하위 비트에 부호화 데이터를 저장할 수 있다.
캐리 플래그(38)에는, XOR 회로(35)로부터 출력되는 1 비트의 부호화 데이터가 저장된다. 캐리 플래그(38)에 저장된 데이터는, 다양한 연산 처리에 이용하는 것이 가능하다. 본 실시 형태에서는, 캐리 플래그(38)에 저장된 데이터는, AND 회로(39)를 통해서 XOR 회로(35)에 입력되어 있다. AND 회로(39)에는, 제어 회로(11)로부터의 제어 신호도 입력되어 있어, 예를 들면 제어 신호가 1인 경우에는, 캐리 플래그(38)에 저장되어 있는 데이터가 XOR 회로(35)에 입력되게 된다. 즉, 부호화 데이터를 생성할 때의 배타적 논리합에 직전의 부호화 데이터를 가할 수 있다.
이와 같은 구성의 부호화 회로(13)에서, 제어 회로(11)의 제어에 의해, 어큐뮬레이터(31)를 1 비트씩 우측으로 시프트하고, 데이터 레지스터(36)를 1 비트씩 좌측으로 시프트함으로써, 데이터 레지스터(36)에 부호화 데이터가 축적되게 된다.
또한, 부호화 회로(13)는, 생성 다항식의 계수 데이터를 선택 가능한 구성으로 할 수도 있다. 도 5는, 생성 다항식의 계수 데이터를 선택 가능한 부호화 회로의 구성예를 도시하는 도면이다. 부호화 회로(13)는, 도 3에 도시한 구성 외에, 데이터 레지스터(r1)(51) 및 선택 회로(52)를 구비하고 있다. 데이터 레지스터(r1)(51)는, 예를 들면 32 비트로 구성되어 있고, 예를 들면 상위 16 비트의 데이터 영역 r1h, 및 하위 16 비트의 데이터 영역 r1l이 설정되어 있다. 이 데이터 레지스터(r1)(51)에는, 데이터 레지스터(r0)(33)와 마찬가지로, 부호화의 생성 다항식의 계수를 나타내는 계수 데이터가 저장된다. 그리고, 선택 회로(52)는, 제어 회로(11)로부터의 선택 신호에 기초하여, 데이터 레지스터(r0)(33) 또는 데이터 레지스터(r1)(51) 중 어느 한쪽에 저장되어 있는 계수 데이터를 AND 회로(34)에 출력한다. 즉, 사용하는 데이터 레지스터를 절환함으로써, 서로 다른 생성 다항식에 기초한 부호화 데이터를 생성할 수 있다. 또한, 본 실시 형태에서는, 계수 데이터가 저장되는 데이터 레지스터를 데이터 레지스터(r0)(33) 및 데이터 레지스터(r1)(51)의 2개로 했지만, 3개 이상의 데이터 레지스터를 이용하는 것으로 하여 도 된다.
또한, 어큐뮬레이터(31)의 데이터 영역 ae가 본 발명의 피부호화 데이터 저장 레지스터에 상당하고, 어큐뮬레이터(31)의 데이터 영역 ah, al이 본 발명의 연산용 데이터 저장 레지스터에 상당한다. 또한, 데이터 레지스터(r0)(33)가 본 발명의 제1 계수 레지스터에 상당하고, 데이터 레지스터(r1)(51)가 본 발명의 제2 계수 레지스터에 상당한다. 또한,AND 회로(39) 및 XOR 회로(35)가 본 발명의 부호화 논리 회로에 상당한다. 또한, 데이터 레지스터(rs)(36) 및 시프터(37)가 본 발명의 부호화 데이터 저장 시프트 레지스터에 상당한다.
== 부호화 처리 ==
다음으로, 도 5에 도시한 부호화 회로(13)를 이용한 부호화 처리에 대해서 설명한다. 또한, 본 실시 형태에서는,DSP(1)에서의 부호화 명령으로서, code 명령, codec 명령, codes 명령, codesc 명령의 4종류가 설정되어 있는 것으로 한다. 이들 명령을 실행함으로써, 인수로 지정되는 데이터 레지스터에 저장된 계수 데이터를 이용하여 1 비트의 부호화 데이터를 생성할 수 있다. code 명령 및 codes 명령에서는,XOR 회로(35)에서의 배타적 논리합의 입력에 캐리 플래그(38)에 저장되어 있는 데이터는 포함되지 않고, codec 명령 및 codesc 명령에서는,XOR 회로(35)에서의 배타적 논리합의 입력에 캐리 플래그(38)에 저장되어 있는 데이터가 포함된다. 또한,code 명령 및 codec 명령에서는,1 비트의 부호화 데이터를 생성한 후에, 어큐뮬레이터(31)의 시프트는 행해지지 않고, codes 명령 및 codesc 명령에서는,1 비트의 부호화 데이터를 생성한 후에, 어큐뮬레이터(31)의 시프트가 행해진 다. 또한,codes 명령 및 codesc 명령이, 본 발명의 제1 명령에 상당하고, code 명령 및 codec 명령이 본 발명의 제2 명령에 상당한다.
도 6은, 1개의 생성 다항식에 기초하여 부호화 데이터를 생성하는 처리의 일례를 도시하는 도면이다. 이 예에서는, 생성 다항식은 G(X)=X3+X+1로 한다. 이 경우, 부호화에서의 계수(제1 계수)는, 1011(2진)로 된다. 그리고, 제어 회로(11)의 제어에 의해, 계수 데이터 0xb000이 데이터 레지스터(33)의 데이터 영역 r0h에 설정되고, 계수 데이터 0x0000이 데이터 레지스터(33)의 데이터 영역 r0l에 설정되어 있는 것으로 한다. 또한, 제어 회로(11)의 제어에 의해, 8 비트의 피부호화 데이터 01010101(2진)이 어큐뮬레이터(31)의 데이터 영역 ae에 설정되어 있는 것으로 한다.
이와 같은 상태에서,codes(r0) 명령이 실행되면(S601), 제어 회로(11)의 제어에 의해 데이터 레지스터(r0)(33)가 선택되고, 어큐뮬레이터(31)의 데이터 영역 ah, al에 저장되어 있는 연산용 데이터와, 데이터 레지스터(33)에 저장되어 있는 계수 데이터와의 비트마다의 논리곱이 AND 회로(34)로부터 출력된다. 이 경우, AND 회로(34)의 출력은 0x0000으로 된다. 또한, 도 6에서는,AND 회로(34)의 출력의 상위 4 비트를 2진으로 나타내고 있다. 또한,codes 명령이기 때문에, 제어 회로(11)는, 예를 들면 AND 회로(39)에 0을 출력한다. 이에 의해,XOR 회로(35)에는, 캐리 플래그(38)에 저장되어 있는 데이터는 입력되지 않는다. 따라서, AND 회로(34)로부터 0x0000이 출력되면,XOR 회로(35)의 출력은 0으로 된다. 그리고, 제 어 회로(11)의 제어에 의해 시프터(37)가 데이터 레지스터(36)에 저장되어 있는 데이터를 1 비트 좌측으로 시프트하고, XOR 회로(35)로부터 출력되는 1 비트의 부호화 데이터 「0」이 데이터 레지스터(36)의 최하위 비트에 저장된다. 또한, 캐리 플래그(38)에도, 1 비트의 부호화 데이터 「0」이 저장된다. 그 후, 제어 회로(11)의 제어에 의해 시프터(32)가 어큐뮬레이터(31)에 저장되어 있는 데이터를 1 비트 우측으로 시프트한다. 여기까지의 일련의 처리가, 1회의 codes(r0) 명령(S601)에 대하여 실행된다.
또한, 명령이 codesc(r0)인 경우에는, 제어 회로(11)는, 예를 들면 AND 회로(39)에 1을 출력한다. 이에 의해,XOR 회로(35)에는, 캐리 플래그(38)에 저장되어 있는 데이터가 입력되어, AND 회로(34)로부터 출력되는 데이터와 함께 배타적 논리합이 행해지게 된다. 이후의 처리에 대해서도 마찬가지이다.
계속해서 codes(r0) 명령이 실행되면(S602), 앞의 처리(S601)와 마찬가지로 부호화 처리가 행해진다. 또한,앞의 처리(S601)에서 어큐뮬레이터(31)에 저장되어 있는 데이터가 1 비트 우측으로 시프트되어 있기 때문에, 어큐뮬레이터(31)의 데이터 영역 ah의 상위 4 비트는 1000(2진)으로 되어 있다. 그 때문에,AND 회로(34)의 출력의 상위 4 비트는 1000(2진)으로 되어, XOR 회로(35)의 출력은 1로 된다. 그리고, 1 비트의 부호화 데이터 「1」은, 데이터 레지스터(36)에 시프트 입력됨과 함께, 캐리 플래그(38)에 저장된다. 그 후, 어큐뮬레이터(31)에 저장되어 있는 데이터가 1 비트 우측으로 시프트된다.
계속해서 마찬가지로, codes(r0) 명령이 실행된다(S603). 앞의 처리(S602) 에서 어큐뮬레이터(31)에 저장되어 있는 데이터가 1 비트 우측으로 시프트되어 있기 때문에, 어큐뮬레이터(31)의 데이터 영역 ah의 상위 4 비트는 0100(2진)으로 되어 있다. 그 때문에,AND 회로(34)의 출력의 상위 4 비트는 0000(2진)으로 되어, XOR 회로(35)의 출력은 0으로 된다. 그리고, 1 비트의 부호화 데이터 「0」은, 데이터 레지스터(36)에 시프트 입력됨과 함께, 캐리 플래그(38)에 저장된다. 그 후, 어큐뮬레이터(31)에 저장되어 있는 데이터가 1 비트 우측으로 시프트된다.
또한 마찬가지로, codes(r0) 명령이 실행된다(S604). 앞의 처리(S603)에서 어큐뮬레이터(31)에 저장되어 있는 데이터가 1 비트 우측으로 시프트되어 있기 때문에, 어큐뮬레이터(31)의 데이터 영역 ah의 상위 4 비트는 1010(2진)으로 되어 있다. 그 때문에,AND 회로(34)의 출력의 상위 4 비트는 1010(2진)으로 되어, XOR 회로(35)의 출력은 0으로 된다. 그리고, 1 비트의 부호화 데이터 「0」은, 데이터 레지스터(36)에 시프트 입력됨과 함께, 캐리 플래그(38)에 저장된다. 그 후, 어큐뮬레이터(31)에 저장되어 있는 데이터가 1 비트 우측으로 시프트된다.
이와 같이, codes(r0) 명령이 반복하여 실행됨으로써, 어큐뮬레이터(31)의 데이터 영역 ae에 저장된 피부호화 데이터를 생성 다항식 G(X)=X3+X+1에 기초하여 부호화한 데이터가 데이터 레지스터(36)에 축적되게 된다.
도 7은, 2개의 생성 다항식에 기초하여 부호화 데이터를 생성하는 처리의 일례를 도시하는 도면이다. 이 예에서는, 생성 다항식은 G(X)=X3+X+1과 G(X)=X3+X2+1의 2개로 한다. 이 경우, 부호화에서의 제1 계수는 1011(2진), 제2 계수는 1101(2진)로 된다. 그리고, 제어 회로(11)의 제어에 의해, 계수 데이터 0xb000이 데이터 레지스터(33)의 데이터 영역 r0h에 설정되고, 계수 데이터 0x0000이 데이터 레지스터(33)의 데이터 영역 r0l에 설정되어 있는 것으로 한다. 또한, 제어 회로(11)의 제어에 의해, 계수 데이터 0xd000이 데이터 레지스터(51)의 데이터 영역 r1h에 설정되고, 계수 데이터 0x0000이 데이터 레지스터(51)의 데이터 영역 r1l에 설정되어 있는 것으로 한다. 또한, 제어 회로(11)의 제어에 의해, 8 비트의 피부호화 데이터 01010101(2진)이 어큐뮬레이터(31)의 데이터 영역 ae에 설정되어 있는 것으로 한다.
이와 같은 상태에서,code(r0) 명령이 실행되면(S701), 제어 회로(11)의 제어에 의해 데이터 레지스터(r0)(33)가 선택되고, 어큐뮬레이터(31)의 데이터 영역 ah, al에 저장되어 있는 연산용 데이터와, 데이터 레지스터(33)에 저장되어 있는 계수 데이터와의 비트마다의 논리곱이 AND 회로(34)로부터 출력된다. 이 경우, AND 회로(34)의 출력은 0x0000으로 된다. 또한,code 명령이기 때문에,codes 명령과 마찬가지로,XOR 회로(35)에는, 캐리 플래그(38)에 저장되어 있는 데이터는 입력되지 않는다. 따라서, AND 회로(34)로부터 0x0000이 출력되면,XOR 회로(35)의 출력은 0으로 된다. 그리고, 제어 회로(11)의 제어에 의해 시프터(37)가 데이터 레지스터(36)에 저장되어 있는 데이터를 1 비트 좌측으로 시프트하고, XOR 회로(35)로부터 출력되는 1 비트의 부호화 데이터 「0」이 데이터 레지스터(36)의 최하위 비트에 저장된다. 또한, 캐리 플래그(38)에도, 1 비트의 부호화 데이터 「0」이 저장된다. 또한,code 명령이기 때문에, 제어 회로(11)는, 어큐뮬레이터(31) 에 저장되어 있는 데이터를 시프트하지 않도록 제어 신호를 시프터(32)에 입력한다. 여기까지의 일련의 처리가, 1회의 code(r0) 명령(S701)에 대하여 실행된다.
계속해서 codes(r1) 명령이 실행된다(S702). 앞의 처리(S701)에서 어큐뮬레이터(31)에 저장되어 있는 데이터가 시프트되어 있지 않기 때문에, 어큐뮬레이터(31)의 데이터 영역 ah의 상위 4 비트는 0000(2진) 그대로이다. 그리고, 제어 회로(11)의 제어에 의해 데이터 레지스터(r1)(51)이 선택되고, 어큐뮬레이터(31)의 데이터 영역 ah, al에 저장되어 있는 연산용 데이터와, 데이터 레지스터(51)에 저장되어 있는 계수 데이터와의 비트마다의 논리곱이 AND 회로(34)로부터 출력된다. 이 경우, AND 회로(34)의 출력의 상위 4 비트는 0000으로 되어, XOR 회로(35)의 출력은 0으로 된다. 그리고, 제어 회로(11)의 제어에 의해 시프터(37)가 데이터 레지스터(36)에 저장되어 있는 데이터를 1 비트 좌측으로 시프트하고, XOR 회로(35)로부터 출력되는 1 비트의 부호화 데이터 「0」이 데이터 레지스터(36)의 최하위 비트에 저장된다. 또한, 캐리 플래그(38)에도, 1 비트의 부호화 데이터 「0」이 저장된다. 그 후, codes 명령이기 때문에, 제어 회로(11)의 제어에 의해 시프터(32)가 어큐뮬레이터(31)에 저장되어 있는 데이터를 1 비트 우측으로 시프트한다.
계속해서 code(r0) 명령이 실행된다(S703). 앞의 처리(S702)에서 어큐뮬레이터(31)에 저장되어 있는 데이터가 1 비트 우측으로 시프트되어 있기 때문에, 어큐뮬레이터(31)의 데이터 영역 ah의 상위 4 비트는 1000(2진)으로 되어 있다. 그리고, 제어 회로(11)의 제어에 의해 데이터 레지스터(r0)(33)가 선택되고, AND 회 로(34)의 출력의 상위 4 비트는 1000(2진)으로 되어, XOR 회로(35)의 출력은 1로 된다. 그리고, 1 비트의 부호화 데이터 「1」은, 데이터 레지스터(36)에 시프트 입력됨과 함께, 캐리 플래그(38)에 저장된다. 또한,code 명령이기 때문에,앞의 처리(S701)와 마찬가지로, 어큐뮬레이터(31)에 저장되어 있는 데이터의 시프트는 행해지지 않는다.
또한 계속해서 codes(r1) 명령이 실행된다(S704). 앞의 처리(S703)에서 어큐뮬레이터(31)에 저장되어 있는 데이터가 시프트되어 있지 않기 때문에, 어큐뮬레이터(31)의 데이터 영역 ah의 상위 4 비트는 1000(2진) 그대로이다. 그리고, 제어 회로(11)의 제어에 의해 데이터 레지스터(r1)(51)가 선택되고, AND 회로(34)의 출력의 상위 4 비트는 1000(2진)으로 되어, XOR 회로(35)의 출력은 1로 된다. 그리고, 1 비트의 부호화 데이터 「1」은, 데이터 레지스터(36)에 시프트 입력됨과 함께, 캐리 플래그(38)에 저장된다. 그 후, codes 명령이기 때문에, 어큐뮬레이터(31)에 저장되어 있는 데이터가 1 비트 우측으로 시프트된다.
이와 같이, code(r0) 명령 및 codes(r1) 명령이 반복하여 실행됨으로써, 어큐뮬레이터(31)의 데이터 영역 ae에 저장된 피부호화 데이터를 생성 다항식 G(X)=X3+X+1 및 G(X)=X3+X2+1에 기초하여 부호화한 데이터가 데이터 레지스터(36)에 축적되게 된다.
이상, 본 실시 형태의 DSP(1)에 대해서 설명했다. 이와 같은 DSP(1)에서는, code 명령, codec 명령, codes 명령, codesc 명령 중 어느 하나가 실행될 때마다, 1 비트의 부호화 데이터가 생성된다. 즉, 1 비트의 부호화 데이터를 생성하기 위해, 시프트 처리나 논리곱을 행하는 처리, 배타적 논리합을 행하는 처리 등의 수 사이클의 처리를 필요로 하지 않아, 고속으로 부호화 처리를 행할 수 있다. 그 때문에,DSP(1)를 이용하여 고속의 데이터 통신에 대응하는 것이 가능하게 된다. 또한, 프로그램 사이즈도 삭감되어, 프로그램 저장에 필요한 메모리 영역을 작게 하는 것도 가능하게 된다.
그리고, 1 비트의 부호화 데이터를 순차적으로 데이터 레지스터(36)에 시프트 입력해 감으로써, 복수 비트의 피부호화 데이터에 대한 복수 비트의 부호화 데이터를 얻을 수 있다.
또한,DSP(1)에서는, 부호화 명령의 인수를 이용하여 생성 다항식을 절환할 수 있다. 즉, 생성 다항식을 절환하기 위해서 레지스터에 계수 데이터를 재설정할 필요가 없어, 고속으로 부호화 처리를 행할 수 있다.
또한,DSP(1)에서는, 부호화 명령의 종류에 따라, 1 비트의 부호화 데이터를 생성한 후에 어큐뮬레이터(31)에 저장되어 있는 데이터를 시프트할지의 여부를 선택할 수 있다. 그 때문에, 복수의 생성 다항식에 기초하여 부호화 데이터를 생성할 때에, 피부호화 데이터를 복수의 레지스터에 저장하여 생성 다항식마다 처리를 행할 필요가 없다. 따라서, 고속으로 부호화 처리를 행할 수 있을 뿐만 아니라, 처리에 필요한 레지스터 등의 자원도 삭감할 수 있다.
또한,DSP(1)에서는, 생성된 1 비트의 부호화 데이터가 캐리 플래그(38)에 저장된다. 따라서, 캐리 플래그(38)에 저장된 부호화 데이터를 DSP(1)에서의 다양 한 처리에 활용할 수 있다. 일례로서는, 캐리 플래그(38)에 「1」이 연속하여 저장되는 횟수를 카운트하고, 그 횟수가 소정의 횟수를 초과한 경우에는 이상 처리를 행하는 등이 생각된다.
그리고, DSP(1)에서는, 부호화 명령의 종류에 따라, 캐리 플래그(38)에 저장된 데이터를 XOR 회로(35)의 입력으로 하는 것도 가능하다. 이에 의해, 직전의 부호화 데이터를 이용한 부호화 데이터를 고속으로 생성할 수 있다.
또한, 상기 실시 형태는 본 발명의 이해를 용이하게 하기 위한 것으로, 본 발명을 한정하여 해석하기 위한 것은 아니다. 본 발명은, 그 취지를 일탈하지 않고, 변경, 개량될 수 있을 뿐만 아니라, 본 발명에는 그 등가물도 포함된다. 예를 들면, 본 실시 형태에서는, 피부호화 데이터를 1 비트씩 순서대로 시프트하는 것으로 했지만, 1회의 명령에 대해서 복수 비트 시프트하는 것도 가능하다. 또한, 부호화 회로(13)는, DSP(1)에 한정되지 않고, 부호화 처리를 행하는 다양한 회로에서 이용할 수 있다. 또한 본 실시 형태에서는, 부호화 방식으로서 컨볼루션 부호를 예시했지만, 부호화 방식은 이에 한정되지 않고, 블록 부호 등에 적용하는 것도 가능하다.
고속으로 부호화 처리를 행할 수 있는 부호화 회로, 및 그 부호화 회로를 이용하여 고속으로 부호화 처리를 행할 수 있는 디지털 신호 처리 회로를 제공할 수 있다.

Claims (16)

  1. n 비트의 피부호화 데이터가 저장되는 피부호화 데이터 저장 레지스터와,
    상기 피부호화 데이터가 시프트되어 생성되는 m 비트의 연산용 데이터가 저장되는 연산용 데이터 저장 레지스터와,
    상기 피부호화 데이터 저장 레지스터에 저장되어 있는 상기 피부호화 데이터를 시프트하여 상기 연산용 데이터 저장 레지스터에 시프트 입력하는 시프터와,
    부호화를 행하기 위한 m 비트의 제1 계수 데이터가 저장되는 제1 계수 레지스터와,
    상기 연산용 데이터 저장 레지스터에 저장되어 있는 상기 연산용 데이터와, 상기 제1 계수 레지스터에 저장되어 있는 상기 제1 계수 데이터가 입력되고, 상기 연산용 데이터를 상기 제1 계수 데이터에 기초하여 부호화한 부호화 데이터를 출력하는 부호화 논리 회로
    를 구비하는 것을 특징으로 하는 부호화 회로.
  2. 제1항에 있어서,
    상기 부호화 논리 회로는,
    상기 연산용 데이터 저장 레지스터에 저장되어 있는 상기 연산용 데이터와, 상기 제1 계수 레지스터에 저장되어 있는 상기 제1 계수 데이터가 입력되고, 상기 연산용 데이터 및 상기 제1 계수 데이터의 비트마다의 논리곱을 출력하는 제1 논리 회로와,
    상기 제1 논리 회로로부터 출력되는 m 비트의 데이터가 입력되고, 상기 m 비트의 데이터의 배타적 논리합을 부호화 데이터로서 출력하는 제2 논리 회로
    를 구비하는 것을 특징으로 하는 부호화 회로.
  3. 제2항에 있어서,
    상기 시프터는, 상기 피부호화 데이터 저장 레지스터에 저장되어 있는 상기 피부호화 데이터를 1 비트씩 순서대로 시프트하여 상기 연산용 데이터 저장 레지스터에 시프트 입력하는 것을 특징으로 하는 부호화 회로.
  4. 제2항 또는 제3항에 있어서,
    상기 제2 논리 회로로부터 출력되는 상기 부호화 데이터가 1 비트씩 시프트 입력되어 저장되는 부호화 데이터 저장 시프트 레지스터를 더 구비하는 것을 특징으로 하는 부호화 회로.
  5. 제2항 또는 제3항에 있어서,
    부호화에서의 제2 계수를 나타내는 m 비트의 제2 계수 데이터가 저장되는 제2 계수 레지스터와,
    상기 제1 계수 레지스터에 저장되어 있는 상기 제1 계수 데이터 또는 상기 제2 계수 레지스터에 저장되어 있는 상기 제2 계수 데이터 중 어느 한쪽을, 입력되 는 선택 신호에 기초하여 선택해서 출력하는 선택 회로
    를 더 구비하며,
    상기 제1 논리 회로는, 상기 연산용 데이터 저장 레지스터에 저장되어 있는 상기 연산용 데이터와, 상기 선택 회로로부터 출력되는 상기 제1 계수 데이터 또는 상기 제2 계수 데이터 중 어느 한쪽과의 비트마다의 논리곱을 출력하는 것을 특징으로 하는 부호화 회로.
  6. 제5항에 있어서,
    상기 시프터는, 상기 피부호화 데이터 및 상기 연산용 데이터를 시프트할지의 여부를, 입력되는 제어 신호에 기초하여 절환 가능한 것을 특징으로 하는 부호화 회로.
  7. 제2항 또는 제3항에 있어서,
    상기 피부호화 데이터 저장 레지스터는 어큐뮬레이터의 n 비트의 데이터 영역이고, 상기 연산용 데이터 저장 레지스터는 상기 n 비트의 데이터 영역과 연속하는 m 비트의 데이터 영역인 것을 특징으로 하는 부호화 회로.
  8. 제7항에 있어서,
    상기 제2 논리 회로로부터 출력되는 상기 부호화 데이터가, 상기 어큐뮬레이터의 캐리 플래그에 저장되는 것을 특징으로 하는 부호화 회로.
  9. 제8항에 있어서,
    상기 캐리 플래그에 저장되어 있는 데이터와 상기 제1 논리 회로로부터 출력되는 m 비트의 데이터와의 배타적 논리합을 부호화 데이터로 하기 위해, 상기 캐리 플래그에 저장되어 있는 상기 데이터를 입력되는 제어 신호에 기초하여 상기 제2 논리 회로에 출력하는 캐리 플래그 출력 회로를 더 구비하는 것을 특징으로 하는 부호화 회로.
  10. 피부호화 데이터가 저장되는 n 비트의 피부호화 데이터 저장 영역과, 상기 피부호화 데이터 저장 영역과 연속하며, 상기 피부호화 데이터가 시프트되어 생성되는 연산용 데이터가 저장되는 m 비트의 연산용 데이터 저장 영역을 갖는 어큐뮬레이터와,
    상기 어큐뮬레이터에 저장되어 있는 데이터를 시프트하는 시프터와,
    부호화를 행하기 위한 제1 계수를 나타내는 m 비트의 제1 계수 데이터가 저장되는 제1 계수 레지스터와,
    상기 연산용 데이터 저장 영역에 저장되어 있는 상기 연산용 데이터와, 상기 제1 계수 레지스터에 저장되어 있는 상기 제1 계수 데이터가 입력되고, 상기 연산용 데이터를 상기 제1 계수 데이터에 기초하여 부호화한 부호화 데이터를 출력하는 부호화 논리 회로와,
    상기 부호화 논리 회로로부터 출력되는 상기 부호화 데이터가 시프트 입력되어 저장되는 부호화 데이터 저장 시프트 레지스터와,
    부호화의 명령에 기초하여, 상기 부호화 논리 회로로부터 출력되는 상기 부호화 데이터를 상기 부호화 데이터 저장 시프트 레지스터에 시프트 입력시키고, 상기 시프터에 상기 어큐뮬레이터에 저장되어 있는 데이터를 상기 피부호화 데이터 저장 영역으로부터 상기 연산용 데이터 저장 영역의 방향으로 시프트시키는 제어 회로
    를 구비하는 것을 특징으로 하는 디지털 신호 처리 회로.
  11. 제10항에 있어서,
    상기 부호화 논리 회로는,
    상기 연산용 데이터 저장 영역에 저장되어 있는 상기 연산용 데이터와, 상기 제1 계수 레지스터에 저장되어 있는 상기 제1 계수 데이터가 입력되고, 상기 연산용 데이터 및 상기 제1 계수 데이터의 비트마다의 논리곱을 출력하는 제1 논리 회로와,
    상기 제1 논리 회로로부터 출력되는 m 비트의 데이터가 입력되고, 상기 m 비트의 데이터의 배타적 논리합을 부호화 데이터로서 출력하는 제2 논리 회로
    를 구비하는 것을 특징으로 하는 디지털 신호 처리 회로.
  12. 제11항에 있어서,
    상기 시프터는, 상기 피부호화 데이터 저장 영역에 저장되어 있는 상기 피부호화 데이터를 1 비트씩 순서대로 시프트하여 상기 연산용 데이터 저장 영역에 시프트 입력하는 것을 특징으로 하는 디지털 신호 처리 회로.
  13. 제11항 또는 제12항에 있어서,
    부호화에서의 제2 계수를 나타내는 m 비트의 제2 계수 데이터가 저장되는 제2 계수 레지스터와,
    상기 제1 계수 레지스터에 저장되어 있는 상기 제1 계수 데이터 또는 상기 제2 계수 레지스터에 저장되어 있는 상기 제2 계수 데이터 중 어느 한쪽을, 입력되는 선택 신호에 기초하여 선택해서 출력하는 선택 회로
    를 더 구비하며,
    상기 제어 회로는, 상기 부호화의 명령에 기초하여, 상기 선택 신호를 상기 선택 회로에 출력하는 것을 특징으로 하는 디지털 신호 처리 회로.
  14. 제13항에 있어서,
    상기 제어 회로는, 상기 부호화의 명령이 제1 명령인 경우에는, 상기 시프터에 상기 어큐뮬레이터에 저장되어 있는 데이터를 상기 피부호화 데이터 저장 영역으로부터 상기 연산용 데이터 저장 영역의 방향으로 1 비트 시프트시키며, 상기 부호화의 명령이 제2 명령인 경우에는, 상기 시프터에 상기 어큐뮬레이터에 저장되어 있는 데이터를 시프트시키지 않는 것을 특징으로 하는 디지털 신호 처리 회로.
  15. 제12항에 있어서,
    상기 제2 논리 회로로부터 출력되는 상기 부호화 데이터가, 상기 어큐뮬레이터의 캐리 플래그에 저장되는 것을 특징으로 하는 디지털 신호 처리 회로.
  16. 제15항에 있어서,
    상기 캐리 플래그에 저장되어 있는 데이터와 상기 제1 논리 회로로부터 출력되는 m 비트의 데이터와의 배타적 논리합을 부호화 데이터로 하기 위해, 상기 캐리 플래그에 저장되어 있는 상기 데이터를 입력되는 제어 신호에 기초하여 상기 제2 논리 회로에 출력하는 캐리 플래그 출력 회로를 더 구비하며,
    상기 제어 회로는, 상기 부호화의 명령에 기초하여, 상기 제어 신호를 상기 캐리 플래그 출력 회로에 출력하는 것을 특징으로 하는 디지털 신호 처리 회로.
KR1020060131751A 2005-12-22 2006-12-21 부호화 회로 및 디지털 신호 처리 회로 KR100864363B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2005369847A JP2007174312A (ja) 2005-12-22 2005-12-22 符号化回路およびデジタル信号処理回路
JPJP-P-2005-00369847 2005-12-22

Publications (2)

Publication Number Publication Date
KR20070066926A KR20070066926A (ko) 2007-06-27
KR100864363B1 true KR100864363B1 (ko) 2008-10-17

Family

ID=38184605

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060131751A KR100864363B1 (ko) 2005-12-22 2006-12-21 부호화 회로 및 디지털 신호 처리 회로

Country Status (5)

Country Link
US (1) US7885989B2 (ko)
JP (1) JP2007174312A (ko)
KR (1) KR100864363B1 (ko)
CN (1) CN1987800A (ko)
TW (1) TW200726096A (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101640543B (zh) * 2008-07-31 2013-06-05 深圳市同洲电子股份有限公司 一种ldpc码的编码装置及方法
CN101505155B (zh) * 2009-02-19 2012-07-04 中兴通讯股份有限公司 实现前缀码构造的装置和方法
US9747105B2 (en) 2009-12-17 2017-08-29 Intel Corporation Method and apparatus for performing a shift and exclusive or operation in a single instruction
CN111786723A (zh) * 2020-06-29 2020-10-16 安徽理工大学 矿工体征检测vlc系统用ppm编码产生装置
CN111726120B (zh) * 2020-07-10 2022-06-07 成都理工大学 Dsp的rlhdb3编码方法、装置、设备及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050061371A (ko) * 2003-12-17 2005-06-22 소니 가부시끼 가이샤 부호화 장치, 프로그램, 및 데이터 처리 방법

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL7709917A (nl) * 1977-09-09 1979-03-13 Philips Nv Systeem voor datatransmissie met behulp van een hoekgemoduleerde draaggolf van constante amplitude.
US4771458A (en) * 1987-03-12 1988-09-13 Zenith Electronics Corporation Secure data packet transmission system and method
JPH0435213A (ja) * 1990-05-28 1992-02-06 Hitachi Ltd フィルタ回路
JPH0644051A (ja) 1992-07-27 1994-02-18 Nec Corp マイクロコンピュータ
US7606850B2 (en) * 2005-03-30 2009-10-20 Lockheed Martin Corporation Method and apparatus for providing a base-2 logarithm approximation to a binary number
US7698352B2 (en) * 2005-09-15 2010-04-13 International Business Machines Corporation System and method for converting from scaled binary coded decimal into decimal floating point

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050061371A (ko) * 2003-12-17 2005-06-22 소니 가부시끼 가이샤 부호화 장치, 프로그램, 및 데이터 처리 방법

Also Published As

Publication number Publication date
KR20070066926A (ko) 2007-06-27
US20070146194A1 (en) 2007-06-28
JP2007174312A (ja) 2007-07-05
CN1987800A (zh) 2007-06-27
US7885989B2 (en) 2011-02-08
TW200726096A (en) 2007-07-01

Similar Documents

Publication Publication Date Title
US8954828B2 (en) Memory controller
KR100864363B1 (ko) 부호화 회로 및 디지털 신호 처리 회로
WO2010115371A1 (zh) 一种循环冗余校验crc码的实现方法和装置
KR100439211B1 (ko) 연산처리장치
US20130322501A1 (en) Encoding/decoding processor and wireless communication apparatus
JP3274668B2 (ja) 演算処理装置及び演算処理方法
US20090031200A1 (en) High Rate, Long Block Length, Low Density Parity Check Encoder
US6442729B1 (en) Convolution code generator and digital signal processor which includes the same
CN112650471A (zh) 用于处理掩蔽数据的处理器和方法
CN114063973B (zh) 伽罗华域乘法器及纠删编解码系统
JP2000004169A (ja) Crc演算方法及びcrc演算回路
JP6875661B2 (ja) 誤り検出用冗長ビットの生成方法および装置
CN111130562A (zh) Crc并行计算方法及系统
CN113485751B (zh) 执行伽罗瓦域乘法的方法、运算单元和电子装置
EP1202488B1 (en) Encryption sub-key generation circuit
JP3607116B2 (ja) 演算処理装置
US20070180007A1 (en) Barrel shift device
US20240126646A1 (en) Error processing circuit, memory and operation method of the memory
US6718514B2 (en) Parity checking device and method in data communication system
CN108540138B (zh) 一种csraa编码电路及编码器
JP2009117883A (ja) 演算処理装置
JP3521558B2 (ja) 伝送装置
JP3622905B2 (ja) 符号化演算回路
US20210344358A1 (en) Processing-in-memory (pim) devices
US20130262549A1 (en) Arithmetic circuit and arithmetic method

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

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20130927

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee