KR0175340B1 - 공유 메모리를 갖는 디지탈 프로세서 및 비터비 디코더를 구비하는 집적회로 - Google Patents
공유 메모리를 갖는 디지탈 프로세서 및 비터비 디코더를 구비하는 집적회로 Download PDFInfo
- Publication number
- KR0175340B1 KR0175340B1 KR1019940029233A KR19940029233A KR0175340B1 KR 0175340 B1 KR0175340 B1 KR 0175340B1 KR 1019940029233 A KR1019940029233 A KR 1019940029233A KR 19940029233 A KR19940029233 A KR 19940029233A KR 0175340 B1 KR0175340 B1 KR 0175340B1
- Authority
- KR
- South Korea
- Prior art keywords
- coprocessor
- memory
- digital processor
- eccp
- flag
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/65—Purpose and implementation aspects
- H03M13/6502—Reduction of hardware complexity or efficient processing
- H03M13/6505—Memory efficient implementations
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/39—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
- H03M13/41—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/65—Purpose and implementation aspects
- H03M13/6569—Implementation on processors, e.g. DSPs, or software implementations
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
- Detection And Correction Of Errors (AREA)
- Memory System (AREA)
Abstract
집적 회로가 디지탈 신호 프로세서(DSP)(101), 및 비터비 디코딩 기능을 실행하는 오류 정정 코프로세서(ECCP)(113)을 포함하고 있다. 이들 DSP와 ECCP는 일반적으로 이중 포트 RAM을 버스 다중화함으로써 다중 포트 메모리(116)의 블럭을 공유한다. 상기 ECCP가 상기 RAM을 점유하고 있으면, EBUSY 플래그를 제공함으로써 상기 RAM의 블럭에 대한 상기 DSP의 액세스가 금지된다. 이 기술은 RAM의 이용을 유지 및 최적화하며, 이에 따라 상기 DSP와 ECCP은 동일한 집적 회로 칩상에 유리하게 형성될 수 있다.
Description
제1도는 본 발명을 구현한 집적 회로의 일실시예를 나타낸 도면.
제2도는 메모리의 시분할을 나타낸 타이밍도.
제3도는 파라메트릭 경계부를 가지고 있는 메모리 공간을 보인 도면.
* 도면의 주요부분에 대한 부호의 설명
101 : 디지탈 프로세서 110,111 : 멀티플렉서
113 : 코프로세서 116 : 공유 메모리
[발명의 분야]
본 발명은 디지탈 프로세서, 비터비 디코더(Viterbi decoder) 및 공유 메모리를 가지고 있는 집적 회로에 관한 것이다.
[종래의 기술]
비터비 디코더는 채널 잡음에도 불구하고 수신된 디지탈 신호 시퀀스(digital signal sequence)의 추정(estimate)을 개선하기 위해서 신호 처리 응용에 사용된다. 예컨대, 셀룰러 전화기(Cellular telephone)는 여러 가지 종류의 디지탈 전송 기술로 점차 변화되고 있다. 한가지 디지탈 표준(GSM)이 유럽에서 널리 사용되고 있고, 북아메리카에서는 다른 디지탈 표준(IS54)이 사용되고 있으며, 이 디지탈 표준은 다른 국가에서도 고려 중에 있다. 하지만, 차량이나 보행자가 이동할 때에 흔히 생기는 셀룰러 송신 및 수신의 특성에 의해서 각종 채널 방해가 생긴다. 예커대, 근처에 있는 물체로부터의 반사에 의해서 원래 신호로부터 시간 지연된 여러 가지 신호가 수신될 때에 다중 경로 간섭이 존재한다. 그러므로, 상기 수신된 디지탈 시퀀스가 송신된 시퀀스와 정확하게 일치되지 않을 수도 있다. 상기 디지탈 시퀀스는 송신의 어려움을 보상해 주기 위해서, 원하는 개수의 디지탈 비트를 가지고 있는 패킷 형태로 전송되며, 이때 상기 개수는 고정되거나 변동될 수도 있다. 상기 표준에 의해서 여러 가지 형태의 전진형 오류 정정(Forward Error Correction : FEC)이 제공되며, 이에 의해 송신시에 용장도(a degree of redundancy)를 제공하기 위해서 추가적인 비트가 상기 패킷에 포함되며, 이에 따라 수신측에서 오류가 검출되어 어느 정도 정정될 수 있다. 상기 패킷은 디지탈화된 음성 정보를, 또는 컴퓨터 파일, 영상 정보 등을 포함한 기타 다른 형태의 데이타를 포함하고 있을 수도 있다.
비터비 트렐리스 디코더(Viterbi trellis decoder)는 송신된 시퀀스를 복원하기 위해서 상기 수신된 패킷을 디코딩하는 흔히 사용되는 한가지 방법이다. 즉, 사용된 FEC 인코더의 특성이 주어지면, 일부 비트 시퀀스는 기타 다른 비트 시퀀스보다 많아질 가능성이 있다. 그러므로, 상기 비터비 디코더는 채널 잡음 및 여러 가지 형태의 왜곡에도 불구하고 송신된 시퀀스를 보다 정확하게 복원하기 위해서 MLSE(Most Likely Sequence Estimation)을 제공한다. 불규칙적인 잡음으로 인한 오류를 정정하는 것 이외에, 비터비 디코더는 다중 경로 간섭이 존재할 때에도 수신기 성능을 개선할 수 있으며, 이것은 이때 수신된 디지트들이 서로 독립적이지 않고 어느 정도 관련되어 있기 때문에 가능하다. 이때, 기존의 비트 시퀀스의 디코딩이, 다중 경로 간섭을 보상해 주기 위해서 탭 가중치(tap weight)를 조절하는데 사용될 수 있다. 그러므로, 수신된 신호 시퀀스의 이전 내용에 관한 정보가 실제로 송신된 신호 시퀀스를 복원하는 정확도를 개선하는데 사용될 수 있다. 상기 비터비 디코딩 기술의 개요는 비터비 알고리즘의 개요(영국, 런던, 펜텍의 무선 이동 통신, 알, 스틸(R.Steele)(편집자), 1992)에 게시되어 있다.
종래에는 상기 비터비 디코더가 하나 이상의 집적 회로로 구현되어 있다. 비터비를 명령하는 제어 회로는 하나 이상의 기타 다른 집적 회로상에 구현된다. 일부 경우에, 상기 제어 회로에서는 상기 비터비 디코더측으로 명령을 쉽게 전달할수 있도록 하기 위해서 융통성이 제한되었다. 또한, 회로 기능이 복잡하여 단일의 집적 회로의 경제성이 저하되었다. 원하는 기능을 실행하는데에 필요한 집적 회로의 전체 개수를 줄이면서, 기능이 개선되고 프로그래밍이 용이한 비터비 디코더를 구현하는 것이 바람직하다.
[발명의 개요]
디지탈 프로세서와 비터비 디코더를 포함하고 있는 집적 회로가 발명되었다. 상기 디지탈 프로세서와 상기 비터비 디코더는 하나의 메모리를 시분할한다. 메모리 공간은 상기 비터비 디코더의 요구에 따라 변하는 양으로 상기 비터비 디코더에 할당될 수도 있다.
[상세한 설명]
이하의 상세한 설명은 시분할되어 있는 메모리와 더불어 디지탈 프로세서와 비터비 디코더를 포함하고 있는 집적 회로에 관한 것이다. 여기에서 사용된 바와같이, 용어 디지탈 프로세서로는 다른 종류중에서도 마이크로프로세서, 마이크로제어기 및 디지탈 신호 프로세서(DSP)를 들 수 있다. 본 발명의 기술은 여기에서 예시되어 있는 DSP로 구현되면 특히 유리하다. 이는 디지탈화된 아날로그 통신뿐만 아니라 디지탈 통신과 관련된 각종 신호 처리 기능을 효과적으로 처리할 수 있는 DSP의 잘 알려진 능력 때문이다. 이 기능으로는 고속 푸우리에 변환(FFT), 디지탈 필터링, 톤 발생, 스피치(speech) 엔코딩 및 디코딩 등을 들 수 있다. 여기에서 사용된 바와 같이, 비터비 디코더는, (1) 다중 경로 간겁을 보상해주는 등화(equalization)(흔히, 기술 분야에서는 MLSE 등화하고 함), 및/또는 (2)송신된 신호를 복원하기 위한 채널 디콘벌루션(deconvolution)을 얻기 위해서 비터비 알고리즘을 구현한 디코더를 포함하고 있다.
제1도를 참조하면, 본 발명의 예시적인 실시예가 도시되어 있다. 디지탈 신호 프로세서의 코어(core)(101)는 고정(X) 데이타(일반적으로, 프로그램 명령과 계수)를 액세스하기 위한 주소 지정 유닛, 가변(Y) 데이타를 액세스하기 위한 다른 주소 지정 유닛, 및 데이타 산술 유닛(DAU)을 구비하고 있다. 여러 가지의 기타 다른 기능은 직렬-병렬(및 병렬-직렬) 입/출력 기능과, 정규화, 지수 구하기, 비트 추출 및 삽입, 배럴 시프팅(barrel fhifting) 등을 수행하기 위한 비트 처리를 포함한 기타 다른 기능 블록(도시되지 않음)으로 임의로 구현될 수도 있다. 일반적으로, ROM(102)은 상기 코어측에 명령과 계수를 제공한다. 랜덤 액세스 메모리는 메모리 뱅크(103, 104, 105)를 구비하고 있다. 이들 뱅크는 초기에 ROM에 저장되어 있는 프로그램 명령과 계수를 상기 코어측에 고속으로 제공하기 위한 고속 캐시 메모리의 역할을 하며, 그리고 또한 상기 코어측에 데이타를 공급한다. 상기 메모리 뱅크의 크기는 실시예에서는 각각 16비트 워드를 이용하는 1 킬로 워드이다. 버스(106)는 상기 코어의 X 주소 지정 유닛과 상기 메모리사이에서 주소와 데이타 정보를 통신하기 위해 제공되어 있다. 버스(107)는 상기 코어의 Y 주소 지정 유닛과 상기 메모리사이에서 주소와 데이타 정보를 통신하기 위해 제공되어 있다. 상업용 DSP에서 흔히 사용되고 있는 이러한 종류의 캐시 메모리 구조는 가능한 여러 가지의 기타 다른 종류와 함께 미국 특허 제4,896,264호에 도시되어 있다. 상기 메모리(뱅크 103, 104, 105)는 주어진 시간에 하나의 버스 또는 다른 버스를 선택하여 있을 수 있는 경쟁을 회피하기 위해서 멀티플렉서(도시되지 않음)를 사용하여 X 및 Y 버스(106,107)를 다중화함으로써, 이중 포트 랜덤 액세스 메모리(DPRAM)로서 기능할 수 있음을 주목해야 한다.
상기 코어는 비터비 디코딩 기능을 실행하는 ECCP(Error Correction Co-Processor, 오류 정정 코프로세서)(113)의 레지스터를 판독 및 기록할 수 있다. 예컨데, 상기 DSP 코어는 상기 ECCP에 파라미터 및 제어 워드를 로딩할 수 있다. 상기 코어는 또한 상기 ECCP로부터 인터럽트와 플래그를 수신할 수 있다. 상기 DSP 코어는 또한 멀티플렉서(110, 111)에 의해서 본 실시예에서 3 포트로 된 다중 포트 설계를 가지고 있는 다른(즉, 제4의) 메모리 블럭(116)과 통신한다. 상기 멀티플렉서(110)는 상기 멀티플렉서(111)측에 하나의 입력을 공급하기 위해서 X 주소 버스(108) 또는 Y 주소 버스(109)를 선택한다. 멀티플렉서(111)는 상기 멀티플렉서(110)의 출력 또는 상기 ECCP(113)로부터의 Z 주소 버스(112)를 선택한다. 이때, 선택된 버스는 엑세스를 위해서 원하는 메모리 위치를 선택하기 위해 (버스(114)를 통해) 상기 공유 메모리(116)측에 주소를 공급한다. 이 공유 메모리(116)는 Z 데이타 버스(123)에 의해서 상기 ECCP와 데이타를 통신하고, 그리고 다중화된 X 및 Y 데이타 버스(124)에 의해서 상기 DSP와 데이타를 통신한다. 본 발명에서는 상기 DSP 코어와 상기 ECCP사이에서 메모리 블럭(116)을 시분할함으로써 메모리 이용이 개선된다. 상기 ECCP는 비터비 디코딩 기능을 수행할 때 트레이스 백 메모리(trace-back memory)의 내부의 최적의 경로를 결정하는데에 사용되는 트렐리스를 저장하기 위해서 상기 메모리 블럭(116)의 제1부분을 사용한다. 한편, 상기 DSP는 어떤 기능을 수행하든지간에 상기 메모리 블럭의 제2부분을 사용한다. 따라서, 명령 코드 및/또는 데이타는 상기 제2부분에 저장될 수 있다.
실시예에서, 상기 DSP는 제어 명령과 데이타를 레지스터(117, 118, 119)에 의해서 ECCP측으로 전달한다. 예시적으로 11 비트의 길이인 ECCP 주소 레지스터(EAR)(117)에는 상기 DSP가 통신해야 하는 각종 데이타 레지스터의 주소가 공급된다. 예시적으로 16 비트인 상기 ECCP 데이타 레지스터(EDR)(118)는 다수의 ECCP 레지스터(120)에 대한 액세스를 허용하는 포트이다. 예시적인 경우에서 최고 211개의 위치를 가지고 있는 이들 다른 ECCP 레지스터는 상기 DSP로부터 상기 ECCP측으로 전달되는 입력 기호와 채널 파라미터를 저장한다. 예시적으로 3 비트인 ECCP 명령 레지스터(EIR)(119)는 ECCP가 수행해야 하는 상기 DSP로부터의 제어 명령을 저장한다. 상기 레지스터 기술은 ECCP를 간접적으로 주소 지정하는 것을 가능하게 하며, 또한 본 발명이 사용된 기술의 특성에 제한되지 않고 상기 ECCP는 상기 DSP 메모리 공간에 직접 매핑될 수 있다.
제2도를 참조하면, EBUSY 라인상의 전압이 도시되어 있다. 이 EBUSY 라인(122)의 제1부분은 상기 DSP 코어(101)에 EBUSY 플래그 신호를 공급하고, EBUSY 라인(115)의 제2부분은 멀티플렉서(111)를 제어한다. 이들 부분상의 신호들은 논리적으로 동일하다. 그러므로, 이들 부분(115, 122)은 전기적으로 함께 접속될 수 있거나, 상기 ECCP에 의해서 별개로 구동될 수 있다. 시간(T0)에서 상기 ECCP는 상기 DSP가 상기 공유 메모리 블럭에 대한 배타적 액세스를 가지고 있음을 지시해 주기 위해서 저전압 상태(논리 0)로 EBUSY를 설정한다. 이에 따라, 상기 DSP에 의해 수행될 필요가 있는 어떤 기능을 위해 상기 DSP는 비-ECCP 코드를 실행할 수 있다. 상기 DSP는 시간(T1)에서 이 코드의 실행이 완료되면 상기 ECCP를 초기화시킨다. 시간(T2)에서, 상기 DSP는 ECCP 명령으로 상기 EIR을 기록한다. 결과적으로, ECCP는 이 ECCP가 상기 공유 메모리 블럭에 대해 배타적 액세스를 가지고 있음을 지시해 주기 위해 고전압 상태(논리 1)로 EBUSY를 설정한다. 바꾸어 말하면, ECCP가 액티브되면 EBUSY가 제공되며, 이에 따라 상기 DSP에 의해서 제공된 새로운 신호 값을 이용하여 상기 비터비 디코딩이 실행될 수 있다. 각각의 입력 기호가 처리된 후에, 상기 ECCP는 시간(T4)에서 EBUSY를 로우로 다시 설정함으로써 상기 메모리의 제어를 포기하며, 이에 따라 상기 DSP가 상기 공유 메모리를 액세스할 수 있다. 또한, 상기 DSP가 상기 비터비 디코딩으로부터 얻어진 디코딩된 기호를 결정하기 위해서 상기 ECCP를 판독할 수도 있다. 상기 EBUSY 신호는 상기 DSP와 상기 ECCP간의 이와 같은 형태의 핸드세이킹으로 플래그를 나타내는 것으로 생각될 숟 있다.
또한, 인터럽트 신호(EREADY)가 상기 DSP와 상기 ECCP간의 핸드세이킹을 용이하게 하는데 사용될 수도 있다. 상기 인터럽트 신호는 일반적으로, 상기 ECCP가 상기 DSP에 대한 상기 공유 메모리의 제어를 포기하려고 하는 시간(T3)에 송신되는 펄스의 형태를 가지고 있다. 그러므로, 제1도에 도시된 바와 같이, 상기 EREADY 라인(121)은 또한 상기 ECCP에 의해서 제어된다. 상기 ECCP는 자신의 원하는 동작이 종료될 때까지 제어를 유지한 후에, 상기 DSP측으로 제어를 되돌린다.
상기 방식에서는, 입력 기호의 전체 프레임이 상기 ECCP에 의해서 디코딩될 수도 있다. 일반적으로, 각각의 프레임은 대략 120 내지 150개의 입력 기호를 포함하고 있으며, 이때 이들 각각의 기호는 일반적으로 디코딩하기 위해서 20개 내지 150개의 클록 사이클을 필요로 한다. 동작시에, 상기 DSP와 상기 ECCP는 서로 통신을 행하며, 상기 공유 메모리 블럭은 초기에 상기 ECCP가 디코딩 동작을 실행하고 있는 것으로 가정한다.
1. 상기 공유 메모리를 액세스하기 전에, 상기 DSP는 조건부 명령을 통해 상기 EBUSY 플래그의 상태를 체크한다. 이 값이 로우로 될 때까지 상기 EBUSY 플래그(라인 122)가 폴링)polling)되며, 이때 상기 DSP는 상기 공유 메모리를 안전하게 액세스할 수 있다. 일반적인 명령 시퀀스는 다음과 같다:
wait:
if EBUSY goto wait
continue: access RAM
2. 상기 공유 메모리 블럭을 포기하기 전에, 상기 ECCP는 디코딩 동작을 수행하며, 일반적으로 이 디코딩 동작은 위에서 언급한 바와 같이 다수의 클록 사이클 동안 행해져서 하나의 기호를 처리한다.
3. 완료되면, 상기 ECCP는 상기 인터럽트 라인(121)(EREADY)에 의해서 상기 DSP를 인터럽트하며, 이에 따라 상기 DSP에 의한 상기 메모리 블럭(116)의 사용이 포기된다.
4. 상기 DSP는 원하는 동작을 수행하기 위해서 상기 공유 메모리 블럭을 액세스한다.
따라서, 상기 실시예에서, 상기 DSP와 ECCP는 상기 메모리(116)의 공유를 얻기 위해서 플래그 및/또는 인터럽트를 이용하여 통신한다. 상기 플래그는 상기 ECCP가 디코딩 동작을 아직도 실행하고 있는지를 결정하기 위해서 상기 DSP가 폴링하는 단일 비트 라인의 예이다. 상기 인터럽트는 상기 ECCP가 현재 동작으로 종료됨을 지시해 주기 위해서 상기 ECCP가 상기 DSP측에 제공하는 신호이다. 하지만 상기 메모리의 공유를 얻기 위해서 기타 다른 형태의 핸드세이킹도 가능하다. 상기 메모리 블럭(116)의 상기 공유는 일반적인 동작에서 상기 ECCP가 상기 시간의 1/2 이하, 그리고 상기 시간의 10% 이하의 공유 메모리에 대한 액세스를 요구하는 사실에 의해서 용이해진다. 따라서, DSP는 시간의 대부분동안 공유 메모리를 사용하여 여러 가지 다른 동작을 수행하는데 자유롭다. 물론, DSP는 ECCP동작이 관련되는 한, 모든 시간에서 여러가지 비공유 메모리 자원(예컨데, 블럭(103, 104, 105))를 사용하는데 자유롭다.
제3도에 있어서, ECCP에 의해 사용되는 제1부분(301) 및 DSP에 의한 제2부분(302)과 함께, 공유 메모리 블럭(116)이 예시되어 있다. 제2부분(302)은 EBUSY가 로우일때마다 DSP에 이용가능하며, 301은 프레임 사이에서만 DSP에 이용가능하다. 경계부(303)는 이들 부분을 분리하여 도시된다. 이 경계부는 ECCP를 제어하는 소프트웨어에 표준 실행되고, 따라서 물리적인 경계부가 아니다. 그러나, 경계부(303)는, 어떤 메모리 주소 기억장소(예컨데, 0 내지 X)가 ECCP 부분내에 있고 다른 메모리 주소 기억 장소(예컨대, X + 1 내지 1023)는 실례로 1024 비트(1 킬로비트) 메모리의 DSP 부분내에 있음을 나타낸다. 경계부(303)는 현재 양호한 실시예에서 매개 변수적이며, ECCP는 소정 시간에 필요한 메모리의 용량만을 사용한다. 따라서,메모리의 최대량은 그 기능들을 실행하기 위해 DSP에 자유롭게 사용된다.
일반적인 실시예에서, 상기 ECCP에 의해서 사용되는 메모리의 용량은 원하는 구속 길이(constraint length)에 주로 기초를 두고 있으며, 이 길이는 예시적인 경우에 있어서 상기 EAR(117)에 의해서 간접적으로 주소 지정된 상기 레지스터(120)중 하나인 ECCP 제어 레지스터의 3비트 프로그래밍 가능 필드에 포함되어 있다. 이들 3비트는 상기 예시적인 경우에서 최대 512워드(워드당 16비트)까지 8개의 상이한 메모리 요건을 제공한다. 또한, ECCP 제어 레지스터의 4번째 비트는 메모리에 저장된 데이타에 대한 정확도를 결정하는데 사용될 수 있다. 이 비트는 각각의 입력 기호가 8비트(256 레벨) 워드로 양자화되는 소프트 디코딩의 경우와 각각의 입력 기호가 2진(2 레벨) 비트에 의해서 표현되는 하드 디코딩의 경우중에서 어느 하나를 선택한다. 본 발명의 공유 메모리 기술의 기타 다른 구현도 가능하다.
Claims (9)
- 신호 처리 기능을 수행하는 디지탈 프로세서(101)을 구비하고 있고, 명령 워드, 데이타 워드 및 계수로 구성된 그룹으로부터 선택된 적어도 한 종류의 정보를 저장하는 메모리(116)을 더 구비하고 있는 집적 회로에 있어서, 비터비 디코딩 기능을 실행하는 코프로세서(113)을 더 구비하고 있고, 상기 메모리는 상기 디지탈 프로세서와 상기 코프로세서사이에 시분할되어 있고, 제1주소 공간에 의해서 정의돈 제1부분(301)이 상기 코프로세서에 의해서 사용되고 제2주소 공간에 의해서 정의된 제2부분(302)이 상기 디지탈 프로세서에 의해서 사용되도록, 상기 메모리가 상기 디지탈 프로세서와 상기 코프로세서사이에 분할되어 있는 것을 특징으로 하는 집적 회로.
- 제1항에 있어서, 상기 제1부분과 상기 제2부분간의 경계부(303)는 상기 코프로세서가 필요로 하는 메모리 용량만이 상기 제1부분에 포함되도록 상기 코프로세서에 의해서 제어되는 것을 특징으로 하는 집적 회로.
- 제1항에 있어서 상기 시분할된 메모리는 상기 코프로세서에 의해서 제어되는 멀티플렉서(111)를 통해 상기 디지탈 프로세서와 상기 코프로세서에 의해서 액세스되는 집적 회로.
- 제1항에 있어서, 상기 코프로세서는 플래그 라인(112)에 의해서 상기 디지탈 프로세서측에 플래그 신호(EBUSY)를 공급하며, 상기 코프로세서는 이 코프로세서가 디코딩 동작을 수행하고 있을 때에는 상기 플래그 라인측에 제1신호 레벨을 제공하고 디코딩 동작을 수행하고 있지 않을 때에는 상기 플래그 라인측에 제2신호 레벨을 제공하는 집적 회로.
- 제1항에 있어서, 상기 코프로세서는 이 코프로세서가 상기 디지탈 프로세서에 대한 상기 공유된 메모리의 제어를 포기할 때, 인터럽트 라인(121)에 의해서 상기 디지탈 프로세서측에 인터럽트 신호 펄스(SREADY)를 공급하는 집적 회로.
- 신호 처리 기능을 수행하는 디지탈 프로세서(101)을 구비하고 있고, 명령 워드, 데이타 워드 및 계수로 구성된 그룹으로부터 선택된 적어도 한가지 종류의 정보를 저장하는 메모리(116)을 더 구비하고 있는 집적 회로에 있어서, 비터비 디코딩 기능을 실행하는 코프로세서(113)을 더 구비하고 있고, 상기 메모리는 상기 디지탈 프로세서와 상기 코프로세서사이에서 시분할되어 있으며, 상기 시분할된 메모리는 제어 라인(115)에 의해서 상기 코프로세서에 의해 공급된 제어 신호(EBUSY)에 의해서 제어되는 멀티플렉서(111)를 통해 상기 디지탈 프로세서와 상기 코프로세서에 의해서 액세스되며, 상기 코프로세서는 이 코프로세서가 디코딩 동작을 수행하고 있을 때에는 상기 제어 라인측에 제1신호 레벨을 제공하고 디코딩 동작을 수행하고 있지 않을 때에는 상기 제어 라인측에 제2신호 레벨을 제공하는 것을 특징으로 하는 집적 회로.
- 제6항에 있어서, 상기 코프로세서는 플래그 라인(122)에 의해서 상기 디지탈 프로세서측에 플래그 신호(EBUSY)를 더 공급하고, 상기 코프로세서는 이 코프로세서가 디코딩 동작을 수행하고 있을 때에는 상기 플래그 라인측에 제1신호 레벨을 제공하고 디코딩 동작을 수행하고 있지 않을 때에는 상기 플래그 라인측에 제2신호 레벨을 제공하는 집적 회로.
- 제6항에 있어서, 상기 메모리는 제1주소 공간에 의해서 정의된 제1부분(301)은 상기 코프로세서에 의해서 사용되고, 제2주소 공간에 의해서 정의된 제2부분(302)은 상기 디지탈 프로세서에 의해서 사용되도록, 상기 디지탈 프로세서와 상기 코프로세서사이에서 분할되어 있는 것을 특징으로 하는 집적 회로.
- 제8항에 있어서, 상기 제1부분과 상기 제2부분간의 경계부(303)는 상기 코프로세서가 필요로 하는 메모리 용량만이 상기 제1부분에 포함되도록 상기 코프로세서에 의해서 제어되는 것을 특징으로 하는 집적 회로.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US153,405 | 1993-11-16 | ||
US08/153,405 US5432804A (en) | 1993-11-16 | 1993-11-16 | Digital processor and viterbi decoder having shared memory |
Publications (2)
Publication Number | Publication Date |
---|---|
KR950016066A KR950016066A (ko) | 1995-06-17 |
KR0175340B1 true KR0175340B1 (ko) | 1999-04-01 |
Family
ID=22547091
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019940029233A KR0175340B1 (ko) | 1993-11-16 | 1994-11-09 | 공유 메모리를 갖는 디지탈 프로세서 및 비터비 디코더를 구비하는 집적회로 |
Country Status (6)
Country | Link |
---|---|
US (1) | US5432804A (ko) |
EP (1) | EP0653847A3 (ko) |
JP (1) | JP3280529B2 (ko) |
KR (1) | KR0175340B1 (ko) |
SG (1) | SG43762A1 (ko) |
TW (1) | TW283219B (ko) |
Families Citing this family (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0656712A1 (en) * | 1993-11-16 | 1995-06-07 | AT&T Corp. | Viterbi equaliser using variable length tracebacks |
TW243568B (en) * | 1993-11-16 | 1995-03-21 | At & T Corp | Digital signal processor with an embedded viterbi co-processor |
FR2724273B1 (fr) * | 1994-09-05 | 1997-01-03 | Sgs Thomson Microelectronics | Circuit de traitement de signal pour mettre en oeuvre un algorithme de viterbi |
US6330644B1 (en) * | 1994-10-27 | 2001-12-11 | Canon Kabushiki Kaisha | Signal processor with a plurality of kinds of processors and a shared memory accessed through a versatile control means |
US6327648B1 (en) * | 1994-12-09 | 2001-12-04 | Cirrus Logic, Inc. | Multiprocessor system for digital signal processing |
US5822341A (en) * | 1995-04-06 | 1998-10-13 | Advanced Hardware Architectures, Inc. | Multiport RAM for use within a viterbi decoder |
US5742621A (en) * | 1995-11-02 | 1998-04-21 | Motorola Inc. | Method for implementing an add-compare-select butterfly operation in a data processing system and instruction therefor |
US5802116A (en) * | 1996-04-04 | 1998-09-01 | Lucent Technologies Inc. | Soft decision Viterbi decoding with large constraint lengths |
US5754590A (en) * | 1996-05-17 | 1998-05-19 | Lucent Technologies, Inc. | Modem architecture for integrated controller and data pump applications |
US5960453A (en) | 1996-06-13 | 1999-09-28 | Micron Technology, Inc. | Word selection logic to implement an 80 or 96-bit cache SRAM |
US5808573A (en) * | 1996-08-01 | 1998-09-15 | Nec Electronics Incorporated | Methods and structure for sampled-data timing recovery with reduced complexity and latency |
US5949820A (en) * | 1996-08-01 | 1999-09-07 | Nec Electronics Inc. | Method for optimizing an equalization and receive filter |
US5862154A (en) | 1997-01-03 | 1999-01-19 | Micron Technology, Inc. | Variable bit width cache memory architecture |
US5914989A (en) * | 1997-02-19 | 1999-06-22 | Nec Electronics, Inc. | PRML system with reduced complexity maximum likelihood detector |
EP0911984A1 (en) * | 1997-10-21 | 1999-04-28 | Deutsche Thomson-Brandt Gmbh | Reed solomon error correction with shared memory approach |
EP0911982A1 (en) * | 1997-10-21 | 1999-04-28 | Deutsche Thomson-Brandt Gmbh | Reed Solomon error correction with shared memory approach |
GB2333014A (en) * | 1997-12-31 | 1999-07-07 | Samsung Electronics Co Ltd | Virerbi equalizer using dsp's |
EP0945989A1 (en) * | 1998-03-12 | 1999-09-29 | Hitachi Micro Systems Europe Limited | Viterbi decoding |
KR100437757B1 (ko) * | 1998-12-17 | 2004-08-16 | 엘지전자 주식회사 | 보코더용메모리관리방법 |
GB0001577D0 (en) * | 2000-01-24 | 2000-03-15 | Radioscape Ltd | Software for designing modelling or performing digital signal processing |
AU2001291311A1 (en) * | 2000-09-08 | 2002-03-22 | Avaz Networks | Programmable and multiplierless viterbi accelerator |
KR100438537B1 (ko) | 2001-07-19 | 2004-07-03 | 엘지전자 주식회사 | 이동 통신 단말기에서의 복호 장치 및 그 제어 방법 |
US7043682B1 (en) | 2002-02-05 | 2006-05-09 | Arc International | Method and apparatus for implementing decode operations in a data processor |
DE10310812B4 (de) * | 2003-03-12 | 2007-11-22 | Infineon Technologies Ag | Dekodiervorrichtung, Trellis-Prozessor und Verfahren |
KR100771601B1 (ko) * | 2004-12-22 | 2007-10-31 | 엘지전자 주식회사 | 비터비 복호기를 포함한 디지털 멀티미디어 방송 수신장치 |
KR101064878B1 (ko) * | 2005-03-17 | 2011-09-16 | 엠텍비젼 주식회사 | 복수의 프로세서에 의한 메모리 공유 방법 및 메모리 공유구조를 가지는 휴대형 단말기 |
US7752530B2 (en) * | 2005-11-10 | 2010-07-06 | Samsung Electronics Co., Ltd. | Apparatus and method for a collision-free parallel turbo decoder in a software-defined radio system |
US20170177435A1 (en) * | 2015-12-16 | 2017-06-22 | Cognitive Systems Corp. | Sharing Memory Between Processors in a Wireless Sensor Device |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4536878A (en) * | 1982-09-20 | 1985-08-20 | Sperry Corporation | Bit serial convolutional decoder for VLSI implementation |
JPS6081925A (ja) * | 1983-10-12 | 1985-05-10 | Nec Corp | 誤り訂正装置 |
JP2564805B2 (ja) * | 1985-08-08 | 1996-12-18 | 日本電気株式会社 | 情報処理装置 |
US4730322A (en) * | 1985-09-27 | 1988-03-08 | California Institute Of Technology | Method and apparatus for implementing a maximum-likelihood decoder in a hypercube network |
JPS62101128A (ja) * | 1985-10-29 | 1987-05-11 | Fujitsu Ltd | ビタビ復号器の試験方法 |
US4896264A (en) * | 1986-09-08 | 1990-01-23 | American Telephone And Telegraph Company | Microprocess with selective cache memory |
US5144644A (en) * | 1989-10-13 | 1992-09-01 | Motorola, Inc. | Soft trellis decoding |
US5193094A (en) * | 1990-03-07 | 1993-03-09 | Qualcomm Incorporated | Method and apparatus for generating super-orthogonal convolutional codes and the decoding thereof |
US5151904A (en) * | 1990-09-27 | 1992-09-29 | The Titan Corporation | Reconfigurable, multi-user viterbi decoder |
FR2669445B1 (fr) * | 1990-11-15 | 1993-01-08 | Alcatel Radiotelephone | Dispositif prevu pour le traitement de l'algorithme de viterbi comprenant un processeur et un operateur specialise. |
US5220570A (en) * | 1990-11-30 | 1993-06-15 | The Board Of Trustees Of The Leland Stanford Junior University | Programmable viterbi signal processor |
BE1004814A3 (nl) * | 1991-05-08 | 1993-02-02 | Bell Telephone Mfg | Decodeerinrichting. |
US5204874A (en) * | 1991-08-28 | 1993-04-20 | Motorola, Inc. | Method and apparatus for using orthogonal coding in a communication system |
-
1993
- 1993-11-16 US US08/153,405 patent/US5432804A/en not_active Expired - Lifetime
- 1993-12-06 TW TW082110295A patent/TW283219B/zh not_active IP Right Cessation
-
1994
- 1994-11-09 SG SG1996000664A patent/SG43762A1/en unknown
- 1994-11-09 EP EP94308225A patent/EP0653847A3/en not_active Withdrawn
- 1994-11-09 KR KR1019940029233A patent/KR0175340B1/ko not_active IP Right Cessation
- 1994-11-15 JP JP27963194A patent/JP3280529B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
US5432804A (en) | 1995-07-11 |
EP0653847A2 (en) | 1995-05-17 |
KR950016066A (ko) | 1995-06-17 |
EP0653847A3 (en) | 1996-02-14 |
JPH07193515A (ja) | 1995-07-28 |
TW283219B (ko) | 1996-08-11 |
JP3280529B2 (ja) | 2002-05-13 |
SG43762A1 (en) | 1997-11-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR0175340B1 (ko) | 공유 메모리를 갖는 디지탈 프로세서 및 비터비 디코더를 구비하는 집적회로 | |
US5151904A (en) | Reconfigurable, multi-user viterbi decoder | |
JP2932963B2 (ja) | 効率的なビット移動能力を有するデータ・プロセッサとその方法 | |
US8458380B2 (en) | Off-line task list architecture utilizing tightly coupled memory system | |
US5559837A (en) | Efficient utilization of present state/next state registers | |
US7269208B2 (en) | Device for sending/receiving digital data capable of processing different bit rates, in particular in a VDSL environment | |
WO2002021699A2 (en) | Programmable and multiplierless viterbi accelerator | |
JP3256388B2 (ja) | 電力および時間を節約した初期トレースバック | |
US5619514A (en) | In-place present state/next state registers | |
WO2015077066A1 (en) | Devices and methods for facilitating data inversion to limit both instantaneous current and signal transitions | |
EP1111798B1 (en) | Digital signal processor with co-processor for Viterbi decoding | |
KR950016118A (ko) | 디지탈 통신 시스템 운영 시스템 및 집적회로 | |
WO2001031869A1 (en) | Cache and caching method for convolutional decoders | |
EP0661840A2 (en) | Viterbi decoder using decreasing length tracebacks | |
JP2007538452A (ja) | ターボ復号器入力並べ換え | |
EP1315090A1 (en) | Memory access controller | |
CA2095647A1 (en) | Integrated control and signal processing in a cellular telephone | |
US6031876A (en) | Trellis decoder for ATSC 8VSB | |
US6928599B2 (en) | Method and apparatus for decoding data | |
US8006066B2 (en) | Method and circuit configuration for transmitting data between a processor and a hardware arithmetic-logic unit | |
KR0155516B1 (ko) | 비터비 복호기에서 한개의 메모리를 사용한 상태 매트릭 메모리 운용방법 및 그 장치 | |
US5513220A (en) | Digital receiver with minimum cost index register | |
US6950884B2 (en) | Device and method for bidirectional data transfer between two processors wherein DMA channel provides improved data transfer between processors | |
KR100277467B1 (ko) | 비터비 디코더 | |
KR19980065350A (ko) | 비터비 디코더의 디펀처링 장치 및 방법 |
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: 20121019 Year of fee payment: 15 |
|
FPAY | Annual fee payment |
Payment date: 20131017 Year of fee payment: 16 |
|
EXPY | Expiration of term |