KR20020020545A - Partially shared output buffer architecture of viterbi/turbo decoder in imt2000 mobile modem - Google Patents

Partially shared output buffer architecture of viterbi/turbo decoder in imt2000 mobile modem Download PDF

Info

Publication number
KR20020020545A
KR20020020545A KR1020000053781A KR20000053781A KR20020020545A KR 20020020545 A KR20020020545 A KR 20020020545A KR 1020000053781 A KR1020000053781 A KR 1020000053781A KR 20000053781 A KR20000053781 A KR 20000053781A KR 20020020545 A KR20020020545 A KR 20020020545A
Authority
KR
South Korea
Prior art keywords
ram
output buffer
decoder
viterbi
supplemental
Prior art date
Application number
KR1020000053781A
Other languages
Korean (ko)
Other versions
KR100342497B1 (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 윤종용
Priority to KR1020000053781A priority Critical patent/KR100342497B1/en
Publication of KR20020020545A publication Critical patent/KR20020020545A/en
Application granted granted Critical
Publication of KR100342497B1 publication Critical patent/KR100342497B1/en

Links

Classifications

    • 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/0045Arrangements at the receiver end
    • H04L1/0054Maximum-likelihood or sequential decoding, e.g. Viterbi, Fano, ZJ algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Artificial Intelligence (AREA)
  • Error Detection And Correction (AREA)

Abstract

PURPOSE: A partial share output buffer of a Viterbi/turbo decoder for an international mobile telecommunications(IMT) 2000 modem is provided to prevent wastes of an RAM having 2x16 size and 16 bit register by using it in a channel decoder of an IMT 2000 terminal. CONSTITUTION: An output buffer block(611) includes a demultiplexer(6111), an inverter(6112), an inverter(6112), a first AND gate(6113), a flip-flop(6114), a second AND gate(6115), and four multiplexers(6116,6117,6118,6119). The demultiplexer(6111) generates a control signal. The demultiplexer(6111) enables/disables clock signals of a fundamental output buffer RAM(6120) and a supplemental buffer RAM(6121). The fundamental output buffer RAM(6120) stores a forward fundamental channel frame and a forward dedicated control channel frame. The supplemental buffer RAM(6121) stores forward supplemental channel frame data at an IS-95C mode and forward supplemental code channel frame data at an IS-95B. A multiplexer(6122) selects an RAM data output. 16 bit register(6123) stores the RAM data output value.

Description

차세대 이동 통신 단말기 모뎀용 비터비/터보 디코더의 부분 공유 출력 버퍼{PARTIALLY SHARED OUTPUT BUFFER ARCHITECTURE OF VITERBI/TURBO DECODER IN IMT2000 MOBILE MODEM}Partially shared output buffer of Viterbi / Turbo decoder for next generation mobile terminal modems {PARTIALLY SHARED OUTPUT BUFFER ARCHITECTURE OF VITERBI / TURBO DECODER IN IMT2000 MOBILE MODEM}

본 발명은 이동통신 단말기의 채널 디코더로 사용되는 비터비/터보(viterbi/turbo) 디코더의 설계에 관한 것으로, 특히 차기 데이터 통신을 위한 IMT2000(International Mobile Telecommunications 2000) 단말기의 채널 디코더의 출력 버퍼 구조에 관한 것이다.The present invention relates to the design of a Viterbi / turbo decoder used as a channel decoder of a mobile communication terminal, and more particularly, to an output buffer structure of a channel decoder of an International Mobile Telecommunications 2000 (IMT2000) terminal for future data communication. It is about.

IMT2000용 단말기는 그것의 채널 디코더로서, 종래 CDMA(Code Division Multiple Access) 단말기의 채널 디코더로 사용되었던 비터비 디코더와 함께, 터보 디코더를 추가적으로 채용한다. 터보 디코더는 디코더가 순방향 트래픽 채널(forward traffic channel)의 신호를 디코딩 하는 경우에, F-SCH(Forward Supplemental Channel) 디코딩에 사용된다.The terminal for the IMT2000 additionally employs a turbo decoder as well as a Viterbi decoder which has been used as a channel decoder of a Code Division Multiple Access (CDMA) terminal as its channel decoder. The turbo decoder is used for forward supplemental channel (F-SCH) decoding when the decoder decodes a signal of a forward traffic channel.

순방향 트래픽 채널은 3개의 서브채널(sub-channel)을 가지며, 이는 F-FCH(Forward Fundamental Channel), F-DCCH(Forward Dedicated Control Channel), F-SCH(Forward Supplemental Channel)로 이루어진다. 이러한 3개의 서브채널 중에서, F-FCH 및 F-DCCH의 채널 코드는 길쌈 부호(convolution code, viterbi code)이며, F-SCH의 채널 코드는 길쌈 부호나 터보 코드일 수 있다. 사용되는 채널 코드에 따라 비터비/터보 디코더 중 어느 것이 코딩에 관여할 것인지가 결정된다. 따라서 두 디코더 중 하나가 SCH 디코딩을 수행하게 될 때에 다른 하나는 SCH 디코딩을 수행하지 않는다.The forward traffic channel has three sub-channels, which are composed of a forward fundamental channel (F-FCH), a forward dedicated control channel (F-DCCH), and a forward supplemental channel (F-SCH). Of these three subchannels, the channel codes of the F-FCH and the F-DCCH are convolutional codes (viterbi codes), and the channel codes of the F-SCH may be convolutional codes or turbo codes. The channel code used determines which of the Viterbi / Turbo decoders will be involved in the coding. Accordingly, when one of the two decoders performs SCH decoding, the other does not perform SCH decoding.

이하 첨부 도면을 참조하여 먼저 비터비 디코더의 구성 및 동작을 설명하기로 한다. 도 1은 비터비 디코더의 개략적인 블록 구성도이다. 도 1을 참조하면, 비터비 디코더(11)는 크게 입력 버퍼 블록(111)과, 디코딩 블록(112) 및 출력 버퍼 블록(113)으로 구성된다.Hereinafter, the configuration and operation of the Viterbi decoder will be described with reference to the accompanying drawings. 1 is a schematic block diagram of a Viterbi decoder. Referring to FIG. 1, the Viterbi decoder 11 is largely composed of an input buffer block 111, a decoding block 112, and an output buffer block 113.

도 2에는 종래의 비터비 디코더의 출력 버퍼 블록 및 이를 포함하는 비터비 디코더(21)의 구조를 보인다. 도 2를 참조하면, F-SCH가 최대 153.5kbps인 IMT2000 단말기 디코더의 출력 버퍼(OBUF: Output BUFer)(211)는 256x16 크기의 램(OBUF_RAM)(2111)을 사용하고, 저장된 결과는 16비트의 레지스터(2112)와 멀티플렉서(212)를 통해 CPU로 전달된다.2 shows an output buffer block of a conventional Viterbi decoder and a structure of a Viterbi decoder 21 including the same. Referring to FIG. 2, an output buffer (OBUF) 211 of an IMT2000 terminal decoder having an F-SCH of up to 153.5 kbps uses a 256x16 RAM (OBUF_RAM) 2111. It is delivered to the CPU via register 2112 and multiplexer 212.

도 2에 도시된 바와 같은 비터비 디코더에서는 디코더가 출력 버퍼 램(RAM)을 각각 유지하고, 매 프레임마다 입력 심볼을 디코딩하여 그 결과를 출력 버퍼 램에 저장한다. 출력 버퍼 램에 저장된 프레임 데이터는 이후에 CPU에 의해 읽혀 사용된다. 이의 구성 및 동작을 도 3을 참조하여 보다 상세히 설명하기로 한다.In the Viterbi decoder as shown in FIG. 2, the decoder maintains each of the output buffer RAMs, decodes the input symbols every frame, and stores the result in the output buffer RAM. The frame data stored in the output buffer RAM is later read and used by the CPU. The configuration and operation thereof will be described in more detail with reference to FIG. 3.

도 3을 참조하면, 디코딩된 프레임 데이터는 램(2111)의 첫 번째 주소부터 순차적으로 저장된다. 한 프레임의 디코딩이 끝난 후에, CPU는 디코더 내의 특정 레지스터를 억세스(access)하여 출력 버퍼 램에 저장된 데이터를 읽는다. 이때 한번의 레지스터 억세스마다 버퍼 램(2111)의 주소는 다음 데이터를 읽기 위해 자동으로 1씩 증가한다. IS-95C 모드일 경우는 도 3의 (a)에 도시된 바와 같이, 프레임 데이터는 F-FCH(Full, Half, Quarter, Eighth 레이트 순), F-DCCH, F-SCH의 순서대로 저장되고, IS-95B 모드일 경우에는 도 3의 (b)에 도시된 바와 같이, 프레임 데이터는 F-FCH(Full, Half, Quarter, Eighth 레이트 순), F-SCCH(Supplemental CodeChannel)#0, F-SCCH#1, F-SCCH#2, ..., F-SCCH#N의 순서대로 저장된다.Referring to FIG. 3, the decoded frame data is sequentially stored from the first address of the RAM 2111. After decoding of one frame is finished, the CPU accesses a specific register in the decoder to read the data stored in the output buffer RAM. At this time, for each register access, the address of the buffer RAM 2111 is automatically increased by 1 to read the next data. In the IS-95C mode, as shown in FIG. 3A, the frame data is stored in the order of F-FCH (Full, Half, Quarter, Eighth rate), F-DCCH, F-SCH, In the IS-95B mode, as shown in (b) of FIG. 3, frame data includes F-FCH (Full, Half, Quarter, Eighth rate order), F-SCCH (Supplemental CodeChannel) # 0, F-SCCH It is stored in order of # 1, F-SCCH # 2, ..., F-SCCH # N.

이러한 비터비 디코더와 더불어 터보 디코더를 같이 구성하여야 하는 경우에는 각각의 디코더가 각각 별도의 출력 버퍼 구조를 가지게 된다. 이러한 출력 버퍼의 구성은 도 4에 도시되며, 이때의 출력 버퍼 램의 구성을 도 5에 도시한다. 도 4 및 도 5를 참조하면, 비터비 디코더(41)와, 터보 디코더(42)는 각각 구성되며, 각각의 디코더 내에 각각의 출력 버퍼 블록(411, 421) 및 멀티플렉서(412, 422)가 구성된다. 각각의 출력 버퍼 블록(411, 421) 내에는 각각 출력 버퍼 램(4111, 4211) 및 레지스터(4112, 4212)가 구비된다.When the turbo decoder is to be configured together with the Viterbi decoder, each decoder has a separate output buffer structure. This configuration of the output buffer is shown in Figure 4, the configuration of the output buffer RAM at this time is shown in FIG. 4 and 5, the Viterbi decoder 41 and the turbo decoder 42 are configured respectively, and each output buffer block 411, 421 and the multiplexers 412, 422 are configured in each decoder. do. Each output buffer block 411, 421 is provided with output buffer RAMs 4111, 4211 and registers 4112, 4212, respectively.

먼저 도 5의 (a)를 참조하면, IS-95C 모드일 경우에, 비터비 디코더는 256x16 크기의 버퍼 램(4111)을 사용한다. 이때 F-SCH의 채널 코드가 길쌈 부호라 하면, F-SCH 데이터는 비터비 디코더가 처리하게 되고 터보 디코더는 동작하지 않는다. 이어서 코딩된 F-SCH 프레임 데이터는 비터비 디코더의 출력 버퍼 램(4111)에 저장될 것이며, 터보 디코더의 출력 버퍼 램(4211)은 사용되지 않을 것이다. 한편, F-SCH 채널 코드가 터보 코드라면, 비터비 디코더는 F-FCH, F-DCCH의 데이터만을 디코딩하며, 터보 디코더가 F-SCH 데이터를 디코딩할 것이다. 이때 디코딩된 F-SCH의 프레임 데이터는 터보 디코더의 출력 버퍼 램(4211)에 저장되며, 비터비 디코더의 해당 영역은 사용되지 않을 것이다. 이와 같이 F-SCH의 디코딩에 대해서는 출력 버퍼 램들 중 어느 하나는 항상 사용되지 않고 있게 된다.First, referring to FIG. 5A, in the IS-95C mode, the Viterbi decoder uses a 256x16 buffer RAM 4111. If the channel code of the F-SCH is a convolutional code, the F-SCH data is processed by the Viterbi decoder and the turbo decoder does not operate. The coded F-SCH frame data will then be stored in the output buffer RAM 4111 of the Viterbi decoder, and the output buffer RAM 4211 of the turbo decoder will not be used. On the other hand, if the F-SCH channel code is a turbo code, the Viterbi decoder will only decode the data of the F-FCH and F-DCCH, and the turbo decoder will decode the F-SCH data. In this case, the decoded frame data of the F-SCH is stored in the output buffer RAM 4211 of the turbo decoder, and a corresponding region of the Viterbi decoder will not be used. As such, any one of the output buffer RAMs is not always used for decoding of the F-SCH.

IS-95B 모드일 경우에는 도 5의 (b)에 도시된 바와 같이, 비터비 디코더만이 동작하고 터보 디코더는 동작하지 않는다. 따라서 터보 디코더의 버퍼 램(4211) 및16비트의 레지스터(4212)가 낭비되고 있다.In the IS-95B mode, as shown in FIG. 5B, only the Viterbi decoder is operated and the turbo decoder is not operated. Accordingly, the buffer RAM 4211 and the 16-bit register 4212 of the turbo decoder are wasted.

상기한 바와 같이, 출력 버퍼 램을 디코더마다 각각 두는 것은 항상 램을 낭비하는 것인데, 이는 각각의 디코더에 있는 버퍼 램이 동시에 사용되지 않는다는 조건 때문이다. F-SCH는 고속의 데이터 통신을 목적으로 사용되는 채널이기 때문에 그 프레임은 F-FCH나 F-DCCH 프레임보다 상대적으로 그 길이가 길고 그에 대응하는 출력 버퍼 램의 크기도 비교적 크므로, 이러한 버퍼 램의 낭비의 문제는 해결하여야 함이 바람직하다As mentioned above, placing each output buffer RAM per decoder always wastes RAM because of the condition that the buffer RAM in each decoder is not used at the same time. Since the F-SCH is a channel used for high-speed data communication, the frame is relatively longer than the F-FCH or F-DCCH frame and the corresponding output buffer RAM is relatively large. It is desirable to solve the problem of waste.

따라서 본 발명의 목적은 종래의 방식에서 항상 낭비되고 있는 출력 버퍼 램을 절약하기 위한 비터비 디코더와 터보 디코더에서 이의 공유 구조를 제공함에 있다.It is therefore an object of the present invention to provide a shared structure in a Viterbi decoder and a turbo decoder to save the output buffer RAM, which is always wasted in the conventional manner.

상기한 목적을 달성하기 위하여 본 발명은 이동 통신 단말기 모뎀용 비터비/터보 디코더의 부분 공유 출력 버퍼에 있어서, F-FCH와 F-DCCH 프레임을 저장하기 위한 기본 출력 버퍼 램과, IS-95C 모드인 경우에 F-SCH 프레임 데이터를 저장하며, IS-95B 모드인 경우에 F-SCCH 프레임 데이터를 저장하는 보충 버퍼 램을 가지며, IS-95C 모드 또는 IS-95B 모드에 따라 보충 버퍼 램으로 상기 F-SCH 프레임 데이터 또는 F-SCCH 프레임 데이터를 제공하여 저장토록 함을 특징으로 한다.In order to achieve the above object, the present invention provides a basic output buffer RAM for storing F-FCH and F-DCCH frames in a Viterbi / Turbo decoder of a mobile communication terminal modem, and an IS-95C mode. F-SCH frame data is stored in case of, and F-SCCH frame data is stored in case of IS-95B mode, and F-SCH is supplementary buffer RAM according to IS-95C mode or IS-95B mode. It is characterized in that the SCH frame data or F-SCCH frame data is provided to be stored.

도 1은 비터비 디코더의 개략적인 블록 구성도1 is a schematic block diagram of a Viterbi decoder

도 2는 종래의 비터비 디코더의 출력 버퍼의 구성을 나타낸 도면2 is a diagram illustrating a configuration of an output buffer of a conventional Viterbi decoder.

도 3은 종래의 비터비 디코더의 출력 버퍼 램의 구조 및 동작을 설명하기 위한 도면3 is a diagram for explaining the structure and operation of an output buffer RAM of a conventional Viterbi decoder.

도 4는 비터비/터보 디코더의 출력 버퍼의 구성을 나타낸 도면4 is a diagram illustrating a configuration of an output buffer of a Viterbi / Turbo decoder.

도 5는 비터비/터보 디코더의 출력 버퍼 램의 구조 및 동작을 설명하기 위한 도면5 is a diagram for explaining the structure and operation of an output buffer RAM of a Viterbi / Turbo decoder.

도 6은 본 발명의 일 실시예에 따른 비터비/터보 디코더의 출력 버퍼의 구성을 나타낸 도면6 is a diagram illustrating a configuration of an output buffer of a Viterbi / Turbo decoder according to an embodiment of the present invention.

도 7은 본 발명의 일 실시예에 따른 비터비/터보 디코더의 출력 버퍼 램의 구조 및 동작을 설명하기 위한 도면FIG. 7 illustrates a structure and an operation of an output buffer RAM of a Viterbi / Turbo decoder according to an embodiment of the present invention.

이하 본 발명에 따른 바람직한 실시예를 첨부한 도면을 참조하여 상세히 설명한다. 하기 설명에서는 구체적인 구성 소자 등과 같은 특정 사항들이 나타나고 있는데 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐 이러한 특정 사항들이 본 발명의 범위 내에서 소정의 변형이나 또는 변경이 이루어질 수 있음은 이 기술분야에서 통상의 지식을 가진 자에게는 자명하다 할 것이다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. In the following description, specific details such as specific components are shown, which are provided to help a more general understanding of the present invention, and it is understood that such specific matters may be changed or changed within the scope of the present invention. It is self-evident to those of ordinary knowledge in Esau.

도 6은 본 발명의 일 실시예에 따른 비터비 디코더와 그의 출력 버퍼 블록 구성을 보이며, 도 7은 본 발명의 일 실시예에 따른 출력 버퍼 램 구조를 보인다. 다. 도 6 및 도 7을 참조하면, 본 발명의 비터비 디코더(61)는 출력 버퍼 블록(OBUF)(611)과 데이터 버스 멀티플렉서(612)를 포함한다. OBUF(611)은 제어 신호 생성을 위한 디멀티플렉서(6111), 인버터(6112), 제1 AND 게이트(6113), 플립플롭(6114), 제2 AND 게이트(6115)와 램 제어신호 선택을 위한 4개의 멀티플렉서(6116, 6117, 6118, 6119), 두 개의 버퍼 램(6120, 6121), 램 데이터 출력의 선택을 위한 멀티플렉서(6122)와, 램 데이터 출력값의 유지를 위한 16비트 레지스터(6123)를 포함하고 있다.6 shows a Viterbi decoder and its output buffer block configuration according to an embodiment of the present invention, and FIG. 7 shows an output buffer RAM structure according to an embodiment of the present invention. All. 6 and 7, the Viterbi decoder 61 of the present invention includes an output buffer block (OBUF) 611 and a data bus multiplexer 612. The OBUF 611 has four demultiplexers 6111, an inverter 6112, a first AND gate 6113, a flip-flop 6114, a second AND gate 6115 and a RAM control signal for generating control signals. A multiplexer (6116, 6117, 6118, 6119), two buffer RAMs (6120, 6121), a multiplexer (6122) for selecting the RAM data output, and a 16-bit register (6123) for holding the RAM data output values. have.

상기에서 디멀티플렉서(6111)는 현재 주소가 가리키는 램(6120, 6121)의 클럭 신호를 인에이블/디스에이블(enable/disable)하며, 인버터(6112)와 제1 AND 게이트(6113)는 터보 모드에서 읽기/쓰기 모드에 따른 제어신호를 생성하며, 플립플롭(6114)과 제2 AND 게이트(6115)는 터보 모드에서 SUP_RAM(6121)에 제공되는 클럭 신호에 글리치가 발생하는 것을 방지한다. OBUF_RAM(6120)은 F-FCH와 F-DCCH 프레임을 저장하며, SUP_RAM(6121)은 F-SCH 또는 F-SCCH 프레임 데이터를 저장한다. 상기 4개의 멀티플렉서(6116, 6117, 6118, 6119)는 상기 SUP_RAM(6121)이 F-SCH 프레임 데이터를 저장하는지 또는 F-SCCH 프레임 데이터를 저장하는 지의 여부에 따라 SUP_RAM(6121)의 주소를 선택하는 멀티플렉서(6116), SUP_RAM(6121)의 데이터 입력을 선택하는 멀티플렉서(6117), SUP_RAM(6121) 클럭을 선택하는 멀티플렉서(6118), SUP_RAM(6121) 쓰기 인에이블 신호를 선택하는 멀티플렉서(6119)로 이루어진다.In the above, the demultiplexer 6111 enables / disables the clock signals of the RAMs 6120 and 6121 indicated by the current address, and the inverter 6112 and the first AND gate 6113 read in the turbo mode. The control signal according to the / write mode is generated, and the flip-flop 6114 and the second AND gate 6115 prevent the glitch from occurring in the clock signal provided to the SUP_RAM 6121 in the turbo mode. The OBUF_RAM 6120 stores F-FCH and F-DCCH frames, and the SUP_RAM 6121 stores F-SCH or F-SCCH frame data. The four multiplexers 6161, 6117, 6118, and 6119 select an address of the SUP_RAM 6121 according to whether the SUP_RAM 6121 stores the F-SCH frame data or the F-SCCH frame data. The multiplexer 6216 includes a multiplexer 6171 for selecting data input of the SUP_RAM 6121, a multiplexer 6118 for selecting a SUP_RAM 6121 clock, and a multiplexer 6119 for selecting a SUP_RAM 6121 write enable signal. .

상기와 같이, 본 발명에 따른 버퍼 램은 F-FCH 및 F-DCCH 프레임 데이터를 저장하는 64x16 크기의 기본 출력 버퍼 램(OBUF_RAM)(6120)과, F-SCH(또는 F-SCCH) 프레임 데이터를 저장하는 192x16 크기의 보충 버퍼 램(SUP_RAM)(6121)으로 나누어 구성된다. 이때 터보 디코더에서는 출력 버퍼 램이 구비되지 않으며, 터보 디코더의 각각 데이터 및 어드레스 버스와 클럭 및 쓰기 인에이블 신호들은 상기 램 제어신호 선택을 위한 4개의 멀티플렉서(6116, 6117, 6118, 6119)를 통해 상기 보충 버퍼(SUP_RAM)(6121)와 연결된다. 즉, SUP_RAM(6121)은 상기 도 6에 도시된 바와 같은 일 예에서는 비터비 디코더(61)의 OBUF(611)내에 구비되지만, 비터비 디코더 뿐만 아니라 터보 디코더의 출력 버퍼 램의 역할을 함께 담당하게 된다. 이에 따라 본 발명에 따른 비터비/터보 디코더의 출력 버퍼 램의 총 크기는 256x16(64x16 + 192x16)으로서, 상기 도 4에 도 5에 도시된 바와 같은 종래의 비터비/터보 디코더에 비해 줄어들게 된다.As described above, the buffer RAM according to the present invention uses the 64x16 basic output buffer RAM (OBUF_RAM) 6120 and F-SCH (or F-SCCH) frame data to store the F-FCH and F-DCCH frame data. It is divided into a supplemental buffer RAM (SUP_RAM) 6121 having a size of 192x16. In this case, the output decoder RAM is not provided in the turbo decoder, and the data and address buses, the clock, and the write enable signals of the turbo decoder are respectively transmitted through the four multiplexers 6161, 6117, 6118, and 6119 for RAM control signal selection. And a supplemental buffer (SUP_RAM) 6121. That is, the SUP_RAM 6121 is provided in the OBUF 611 of the Viterbi decoder 61 in the example as shown in FIG. 6, but also serves as the output buffer RAM of the turbo decoder as well as the Viterbi decoder. do. Accordingly, the total size of the output buffer RAM of the Viterbi / Turbo decoder according to the present invention is 256x16 (64x16 + 192x16), which is reduced compared to the conventional Viterbi / Turbo decoder shown in FIG. 4.

IS-95C 모드일 경우에는 도 7의 (a)에 도시된 바와 같이, F-FCH와 F-DCCH의 프레임 데이터는 OBUF-RAM(6120)에 저장되고 F-SCH의 프레임 데이터는 SUP-RAM(6121)에 저장된다. SUP-RAM(6121)은 비터비 모드와 터보 모드에 관계없이 사용된다. 디코딩이 완료된 후, CPU가 버퍼 램에 저장된 프레임 데이터를 읽을 때 마다 램 주소는 자동적으로 1씩 증가한다. F-DCCH 프레임의 최후에서 RAM 주소는 자동으로 SUP_RAM(6121)의 0번째 주소로 이동하고, 마찬가지로 F-SCH 프레임의 최후에서 램 주소는 자동으로 OBUF-RAM의 0번째 주소로 이동한다.In the IS-95C mode, as shown in FIG. 7A, the frame data of the F-FCH and the F-DCCH are stored in the OBUF-RAM 6120, and the frame data of the F-SCH is stored in the SUP-RAM ( 6121). The SUP-RAM 6121 is used regardless of the Viterbi mode and the turbo mode. After decoding is complete, the RAM address is automatically incremented by 1 each time the CPU reads frame data stored in the buffer RAM. At the end of the F-DCCH frame, the RAM address automatically moves to the 0th address of the SUP_RAM 6121. Likewise, at the end of the F-SCH frame, the RAM address automatically moves to the 0th address of the OBUF-RAM.

IS-95B 모드일 경우에는 도 7의 (b)에 도시된 바와 같이, F-FCH의 프레임 데이터는 OBUF_RAM(6120)에 저장되고 F-SCCH의 프레임 데이터는 SUP_RAM(6121)에 저장된다. IS-95C모드와 마찬가지로, CPU가 버퍼 램(6120, 6121)에 저장된 프레임 데이터를 읽을 때마다 램 주소는 자동적으로 1씩 증가한다. F-FCH 프레임의 최후에서 램 주소는 자동적으로 SUP_RAM(6121)의 0번째 주소로 이동하고, 마찬가지로 N번째 F-SCCH 프레임의 최후에서 RAM 주소는 자동으로 OBUF_RAM(6120)의 0번째 주소로 이동한다.In the IS-95B mode, as shown in FIG. 7B, the frame data of the F-FCH is stored in the OBUF_RAM 6120, and the frame data of the F-SCCH is stored in the SUP_RAM 6121. As in the IS-95C mode, whenever the CPU reads frame data stored in the buffer RAMs 6120 and 6121, the RAM address is automatically increased by one. At the end of the F-FCH frame, the RAM address automatically moves to the 0th address of the SUP_RAM 6121. Likewise, at the end of the Nth F-SCCH frame, the RAM address automatically moves to the 0th address of the OBUF_RAM 6120. .

버퍼 램(6120, 6121)의 제어신호는 디코더가 어떤 모드로 동작하는가와 현재의 상태는 어떠한가에 따라 달라진다. IS-95B 모드나 IS-95C 비터비 모드에서 램의 모든 제어 신호는 비터비 디코더의 OBUF 블록(611) 내에서 만들어진다. IS-95B 모드나 IS-95C 모드일 경우에 도 6의 터보 모드 신호 "TURBO_ON"의 값은 0이다. OBUF_RAM(6120)과 SUP_RAM(6121)은 OBUF_RAM(6120)의 어드레스 버스 "OBUF_ADDR"와, 입력 데이터 버스 "OBUF_DI" 및 쓰기 인에이블 신호 "OBUF_WEB"들을 공통으로 사용하고 있다. 단, 직접 램을 구동하는 클럭 신호 "CK"는 램 선택 신호 "CURRENT_RAM"에 의해 결정된다. 이 동작은 디멀티플렉서(6111)에서 이루어지는데, 신호 "CURRENT_RAM"의 값이 0인 것은 램 주소가 OBUF_RAM(6120)을 가리키고 있다는것을 의미하며, 신호 "CURRENT_RAM"의 값이 1인 것은 램 주소가 SUP_RAM(6121)을 가리키고 있다는 것을 의미한다. 신호 "CURRENT_RAM"의 값은 디코딩 중에, 또는 CPU가 프레임 데이터를 읽을 때 바뀔 수 있다. 이 값이 바뀌는 램 주소는 각 채널의 라디오 구성(RC: Radio Configuration)이나 데이터 레이트에 따라 달라진다.The control signals of the buffer RAMs 6120 and 6121 depend on the mode in which the decoder operates and the current state. In the IS-95B mode or the IS-95C Viterbi mode, all control signals of the RAM are produced in the OBUF block 611 of the Viterbi decoder. In the IS-95B mode or the IS-95C mode, the value of the turbo mode signal "TURBO_ON" in FIG. 6 is zero. The OBUF_RAM 6120 and the SUP_RAM 6121 use the address bus "OBUF_ADDR", the input data bus "OBUF_DI", and the write enable signal "OBUF_WEB" of the OBUF_RAM 6120 in common. However, the clock signal "CK" for directly driving the RAM is determined by the RAM select signal "CURRENT_RAM". This operation is performed in the demultiplexer 6111, where the value of the signal "CURRENT_RAM" is 0, which means that the RAM address is pointing to the OBUF_RAM 6120, and the value of the signal "CURRENT_RAM" is 1, the RAM address is SUP_RAM ( 6121). The value of the signal "CURRENT_RAM" may change during decoding or when the CPU reads frame data. The RAM address whose value is changed depends on the radio configuration (RC) or data rate of each channel.

IS-95C 터보 모드일 경우에 상기 신호 "TURBO_ON"의 값은 1이 된다. 이때 OBUF-RAM(6120)의 제어신호는 신호 "TURBO_ON" 값이 0일 때와 비교하여 변화가 없다. SUP_RAM(6121)의 제어 신호는 터보 모드시 SUP_RAM(6121)의 쓰기 인에이블 신호 "TURBO_WEB"의 값에 따라 달라진다. SUP_RAM(6121)에 디코딩한 프레임 데이터를 쓸 때 신호 "TURBO_WEB"의 값은 0이고, 터보 디코더가 만들어낸 신호들(TURBO_ADDR, TURBO_DI, TURBO_WEB, TURBO_CLK)이 램의 제어 신호 입력이 된다. 이때, 신호 "TURBO_WEB"을 반클럭 지연시키는 플립플롭(6114)과 이것에 이어있는 제2 AND 게이트(6115)의 역할은 램의 클럭 입력에 글리치(glitch)가 발생하지 않도록 하는 것이다. CPU가 SUP_RAM(6121)에서 프레임 데이터를 읽을 때 신호 "TURBO_WEB"의 값은 1이고, 램의 제어신호 입력은 신호 "TURBO_ON" 값이 0일 때와 같다. 이는 비터비 모드나 터보 모드에 관계없이 프레임 데이터를 읽기 위해 사용되는 시스템 레지스터는 같다는 것을 의미한다.In the IS-95C turbo mode, the value of the signal "TURBO_ON" is one. At this time, the control signal of the OBUF-RAM 6120 is not changed compared to when the signal "TURBO_ON" is 0. The control signal of the SUP_RAM 6121 depends on the value of the write enable signal " TURBO_WEB " of the SUP_RAM 6121 in turbo mode. When the decoded frame data is written to the SUP_RAM 6121, the value of the signal "TURBO_WEB" is 0, and the signals TURBO_ADDR, TURBO_DI, TURBO_WEB, and TURBO_CLK produced by the turbo decoder are used as RAM control signals. At this time, the role of the flip-flop 6114 and the second AND gate 6115 subsequent to the delayed signal "TURBO_WEB" is to prevent glitches on the clock input of the RAM. When the CPU reads frame data from the SUP_RAM 6121, the value of the signal "TURBO_WEB" is 1 and the control signal input of the RAM is the same as when the signal "TURBO_ON" value is 0. This means that the system registers used to read frame data are the same regardless of Viterbi or Turbo mode.

상기와 같은 본 발명의 특징에 따른 비터비/터보 디코더의 부분 공유 출력 버퍼가 구성될 수 있다.The partial shared output buffer of the Viterbi / Turbo decoder according to the above features of the present invention may be configured.

한편 상기한 본 발명의 설명에서는 구체적인 실시예에 관해 설명하였으나 여러 가지 변형이 본 발명의 범위를 벗어나지 않고 실시될 수 있다. 따라서 본 발명의 범위는 설명된 실시예에 의하여 정할 것이 아니고 청구범위와 청구범위의 균등한 것에 의하여 정하여져야 할 것이다.Meanwhile, in the above description of the present invention, specific embodiments have been described, but various modifications may be made without departing from the scope of the present invention. Therefore, the scope of the present invention should not be defined by the described embodiments, but by the claims and equivalents of the claims.

상기한 바와 같이 본 발명에 따른 비터비/터보 디코더의 출력 버퍼를 IMT2000 단말기의 채널 디코더에 사용하여 192x16 크기의 램과 16비트 레지스터의 낭비를 막을 수 있다. 이는 0.25um 램 제조 공정에서 약 7000 게이트에 해당하는 크기를 줄일 수 있다.As described above, the output buffer of the Viterbi / Turbo decoder according to the present invention can be used in the channel decoder of the IMT2000 terminal to prevent waste of 192x16 RAM and 16-bit registers. This can reduce the size of about 7000 gates in a 0.25um RAM fabrication process.

Claims (2)

차세대 이동 통신 단말기 모뎀용 비터비/터보 디코더의 부분 공유 출력 버퍼에 있어서,A partially shared output buffer of a Viterbi / Turbo decoder for a next generation mobile terminal modem, F-FCH(Forward Fundamental Channel)와 F-DCCH(Forward Dedicated Control Channel) 프레임을 저장하는 기본 출력 버퍼 램과,A basic output buffer RAM for storing Forward Fundamental Channel (F-FCH) and Forward Dedicated Control Channel (F-DCCH) frames, IS-95C 모드인 경우에 F-SCH(Forward Supplemental Channel) 프레임 데이터를 저장하며, IS-95B 모드인 경우에 F-SCCH(Supplemental Code Channel) 프레임 데이터를 저장하는 보충 버퍼 램과,A supplementary buffer RAM that stores forward supplemental channel (F-SCH) frame data in the IS-95C mode and a supplemental code channel (F-SCCH) frame data in the IS-95B mode, 상기 IS-95C 모드 또는 IS-95B 모드에 따라 상기 보충 버퍼 램으로 상기 F-SCH 프레임 데이터 또는 상기 F-SCCH 프레임 데이터를 제공하기 위하여, 비터비 디코더와 터보 디코더의 어드레스, 데이터, 클럭 및 읽기 쓰기 인에이블 신호를 포함하는 신호/버스를 선택적으로 상기 보충 버퍼 램에 제공하는 회로부를 포함하여 구성함을 특징으로 하는 비터비/터보 디코더의 부분 공유 출력 버퍼.Address, data, clock, read and write of a Viterbi decoder and a turbo decoder to provide the F-SCH frame data or the F-SCCH frame data to the supplemental buffer RAM in accordance with the IS-95C mode or the IS-95B mode. And a circuit section for selectively providing a signal / bus including an enable signal to the supplemental buffer RAM. 제1항에 있어서, 상기 기본 출력 버퍼 램과 상기 보충 버퍼 램의 데이터 출력값의 유지를 위한 레지스터를 더 포함하여 구성함을 특징으로 하는 비터비/터보 디코더의 부분 공유 출력 버퍼.2. The partially shared output buffer of claim 1, further comprising a register for maintaining data output values of the basic output buffer RAM and the supplemental buffer RAM.
KR1020000053781A 2000-09-09 2000-09-09 Partially shared output buffer architecture of viterbi/turbo decoder in imt2000 mobile modem KR100342497B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020000053781A KR100342497B1 (en) 2000-09-09 2000-09-09 Partially shared output buffer architecture of viterbi/turbo decoder in imt2000 mobile modem

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020000053781A KR100342497B1 (en) 2000-09-09 2000-09-09 Partially shared output buffer architecture of viterbi/turbo decoder in imt2000 mobile modem

Publications (2)

Publication Number Publication Date
KR20020020545A true KR20020020545A (en) 2002-03-15
KR100342497B1 KR100342497B1 (en) 2002-06-28

Family

ID=19688458

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020000053781A KR100342497B1 (en) 2000-09-09 2000-09-09 Partially shared output buffer architecture of viterbi/turbo decoder in imt2000 mobile modem

Country Status (1)

Country Link
KR (1) KR100342497B1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100415116B1 (en) * 2001-02-19 2004-01-13 삼성전자주식회사 Method for integrated decoding and integrated decoder of viterbi decoder and turbo decoder
KR100717275B1 (en) * 2004-02-10 2007-05-15 삼성전자주식회사 Decoding system supporting turbo decoding and viterbi decoding
KR100771601B1 (en) * 2004-12-22 2007-10-31 엘지전자 주식회사 Viterbi decoder in digital multimedia broadcasting a receiving set
KR100932273B1 (en) * 2007-12-11 2009-12-16 한국전자통신연구원 Terminal modem control device and method

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3104429B2 (en) * 1992-10-08 2000-10-30 株式会社日立製作所 Common buffer type ATM switch having copy function and copy method thereof
JPH07200488A (en) * 1993-12-28 1995-08-04 Hitachi Ltd Method for common memory access adjustment and common memory access adjusting circuit using the same
JPH1141286A (en) * 1997-07-22 1999-02-12 Oki Electric Ind Co Ltd Audio packet generating circuit
KR100305146B1 (en) * 1998-09-28 2001-09-24 박종섭 Data Output Buffer of Semiconductor Device

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100415116B1 (en) * 2001-02-19 2004-01-13 삼성전자주식회사 Method for integrated decoding and integrated decoder of viterbi decoder and turbo decoder
KR100717275B1 (en) * 2004-02-10 2007-05-15 삼성전자주식회사 Decoding system supporting turbo decoding and viterbi decoding
US7343530B2 (en) 2004-02-10 2008-03-11 Samsung Electronics Co., Ltd. Turbo decoder and turbo interleaver
KR100771601B1 (en) * 2004-12-22 2007-10-31 엘지전자 주식회사 Viterbi decoder in digital multimedia broadcasting a receiving set
KR100932273B1 (en) * 2007-12-11 2009-12-16 한국전자통신연구원 Terminal modem control device and method

Also Published As

Publication number Publication date
KR100342497B1 (en) 2002-06-28

Similar Documents

Publication Publication Date Title
US5151904A (en) Reconfigurable, multi-user viterbi decoder
KR20020007352A (en) Highly parallel map decoder
US6182265B1 (en) Method for encoding a channel using a parallel convolutional encoder
JP2016502369A (en) Method and apparatus for realizing multimode decoder
KR100342497B1 (en) Partially shared output buffer architecture of viterbi/turbo decoder in imt2000 mobile modem
US20060101319A1 (en) Input buffer device for de-rate matching in high speed turbo decoding block and method thereof
US20050289432A1 (en) Read enable generator for a turbo decoder deinterleaved symbol memory
CA2340366C (en) Memory architecture for map decoder
US6304617B1 (en) Viterbi decoder
KR20070029744A (en) Turbo decoder input reordering
US6992948B2 (en) Memory device having address generating circuit using phase adjustment by sampling divided clock to generate address signal of several bits having one bit changed in sequential order
KR100306580B1 (en) The path memory device of the Viterbi decoder
KR100194641B1 (en) Multiplexing Input Signal of Modulator
KR0127236B1 (en) Information utilizsation circuit of memory chip
Kang et al. A 0.24 mW, 14.4 kbps, r= 1/2, K= 9 Viterbi decoder
KR0181486B1 (en) Viterbi decoding device
US7031204B2 (en) Low power register apparatus having a two-way gating structure and method thereof
KR19990051804A (en) Turbocode encoder
KR100298075B1 (en) Viterbi decoder
Kong et al. A fast serial Viterbi decoder ASIC for CDMA cellular base station
JPH02104130A (en) D/a converter
KR920002027Y1 (en) A circuit for generating wait valve of computer
JP2000011638A (en) Semiconductor storage and memory access method
KR20020067769A (en) Method for integrated decoding and integrated decoder of viterbi decoder and turbo decoder
KR100306880B1 (en) Viterbi decoding device and method using one memory

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

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee