KR19980020269A - Interleaving and Deinterleaving Address Generators - Google Patents

Interleaving and Deinterleaving Address Generators Download PDF

Info

Publication number
KR19980020269A
KR19980020269A KR1019960038702A KR19960038702A KR19980020269A KR 19980020269 A KR19980020269 A KR 19980020269A KR 1019960038702 A KR1019960038702 A KR 1019960038702A KR 19960038702 A KR19960038702 A KR 19960038702A KR 19980020269 A KR19980020269 A KR 19980020269A
Authority
KR
South Korea
Prior art keywords
address
burst
interleaving
deinterleaving
read
Prior art date
Application number
KR1019960038702A
Other languages
Korean (ko)
Other versions
KR100189539B1 (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 KR1019960038702A priority Critical patent/KR100189539B1/en
Publication of KR19980020269A publication Critical patent/KR19980020269A/en
Application granted granted Critical
Publication of KR100189539B1 publication Critical patent/KR100189539B1/en

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/27Coding, 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 using interleaving techniques
    • H03M13/276Interleaving address generation

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)

Abstract

가. 청구범위에 기재된 발명이 속한 기술분야end. The technical field to which the invention described in the claims belongs

본 발명은 인터리빙 및 디인터리빙 어드레스 생성기에 관한 것이다.The present invention relates to an interleaving and deinterleaving address generator.

나. 발명이 해결하고자 하는 기술적 과제I. The technical problem to be solved by the invention

GSM 단말기의 인터리빙 및 디인터리빙 어드레스 생성기를 간단히 구성한다.Simple configuration of the interleaving and deinterleaving address generator of the GSM terminal.

다. 발명의 해결방법의 요지All. Summary of Solution of the Invention

인터리빙 라이트 및 디인터리빙 리드 어드레스 생성기는 1버스트부터 8버스트까지 순차적인 증가를 반복하는 버스트 어드레스를 생성하고, 4에서 5버스트로의 증가시에는 15비트가, 8에서 1버스트로 변화시에는 17비트가, 그 외의 버스트 증가시에는 16비트가 감소하는 비트 어드레스를 생성하여, 상기 버스트 어드레스와 비트 어드레스를 결합하여 인터리빙 라이트 및 디인터리빙 리드 어드레스를 생성한다. 인터리빙 리드 및 디인터리빙 라이트 어드레스 생성기는 1버스트부터 8버스트까지 순차적으로 증가하고, 다시 상기 증가를 반복하는 버스트 어드레스를 발생하고, 상기 버스트가 증가할 때마다 0에서 113까지의 비트를 순차적으로 증가하는 비트 어드레스를 생성하여, 상기 버스트 어드레스와 비트 어드레스를 결합하여 인터리빙 라이트 및 디인터리빙 리드 어드레스를 생성한다.The interleaving write and deinterleaving read address generators generate burst addresses that repeat sequential increments from 1 burst to 8 bursts, with 15 bits increasing from 4 to 5 bursts and 17 bits changing from 8 to 1 bursts. When the other burst increases, a bit address of which 16 bits is decreased is generated, and the burst address and the bit address are combined to generate an interleaving write and deinterleaving read address. The interleaving read and deinterleaving write address generator sequentially increases from 1 burst to 8 bursts, generates a burst address that repeats the increase again, and sequentially increases the bits from 0 to 113 as the burst increases. A bit address is generated to combine the burst address and the bit address to generate an interleaving write and deinterleaving read address.

라. 발명의 중요한 용도la. Important uses of the invention

GSM 단말기의 인터리버 및 디인터리버에 사용될 수 있다.It can be used for interleaver and deinterleaver of GSM terminal.

Description

인터리빙 및 디인터리빙 어드레스 생성기Interleaving and Deinterleaving Address Generators

본 발명은 GSM(Grobal System for Mobile communication)에 관한 것으로, 특히 GSM 단말기의 풀레이트 스피치(Full Rate Speech)용 인터리빙(Interleaving) 및 디인터리빙(Deinterleaving) 어드레스 생성기에 관한 것이다.The present invention relates to a Global System for Mobile communication (GSM), and more particularly to an interleaving and deinterleaving address generator for full rate speech of a GSM terminal.

GSM 규정에서 인터리빙과 디인터리빙을 수행하기 위한 규정은 원 신호의 순서와 원 신호를 인터리빙하여 출력하는 순서의 관계로 규정되어 있다. 상기 원 신호의 순서와 원 신호를 인터리빙하여 출력하는 순서의 관계는 하기 수학식 1과 같다.In the GSM regulation, a rule for performing interleaving and deinterleaving is defined as a relationship between an order of an original signal and an order of interleaving and outputting an original signal. The relationship between the order of the original signal and the order of interleaving and outputting the original signal is expressed by Equation 1 below.

상기 i(B,i)는 인터리빙되어 출력되는 데이터의 순서를 나타낸다. 그리고, c(n,k)는 인터리빙되기 위하여 입력되는 원데이타의 순서를 나타낸다.I (B, i) represents the order of data interleaved and output. And c (n, k) represents the order of one data input to be interleaved.

한편 상기 수학식 1의 B와 n의 관계를 규정한 것이 하기 수학식 2이다.On the other hand, the relationship between B and n in Equation 1 is defined in Equation 2 below.

상기 수학식 2의 B는 출력되는 데이터의 버스트를 나타낸다. 상기 수학식 2에서 n은 입력되는 데이터 블록을 나타낸다. k는 입력되는 데이터 블록 내의 비트 위치를 나타난다. 여기서 상기 풀 레이트 스피치인 경우에 하나의 데이터 블록은 456개의 비트로 구성된다. 이에따라 상기 k는 0에서 455까지의 비트위치를 나타낼 수 있다.B in Equation 2 represents a burst of data to be output. In Equation 2, n represents an input data block. k represents the bit position in the data block to be input. In the case of the full rate speech, one data block includes 456 bits. Accordingly, k may represent bit positions from 0 to 455.

여기서 상기 B가 상기 B0,n,k에 따라 어떤 값을 가지는 지를 상세히 설명한다. 상기 초기에는 상기 B0가 0이고, 상기 n과 k도 0이다. 상기 B0나 n은 입력되는 데이터 블록이 증가함에 따라 증가하고, 상기 k는 상기 데이터 블록의 비트가 증가됨에 따라 증가한다. 상기 제1데이타 블록 c(0,k)가 입력되는 경우에는 상기 k가 순차적으로 증가함에 따라 상기 B 값도 순차적으로 증가한다. 그러나 상기 k가 8이 되면 mod(8)에 의하여 B 값은 다시 0이 되고, 다시 k 값의 증가에 따라 다시 B 값이 0에서부터 증가한다. 이에따라 상기 제1데이타 블록이 c(0,k)이 입력될 경우에 B는 0,1,2∼5,6,7,0,1∼6,7,0,1∼의 순으로 출력된다.Here, it will be described in detail what value the B has according to the B 0 , n, k. Initially, the B 0 is 0, and the n and k are also 0. The B 0 or n increases as the input data block increases, and the k increases as the bit of the data block increases. When the first data block c (0, k) is input, the B value increases sequentially as k increases sequentially. However, when k becomes 8, the B value becomes 0 again by mod (8), and again, the B value increases from 0 as the k value increases. Accordingly, when c (0, k) is input to the first data block, B is output in the order of 0,1,2 to 5,6,7,0,1 to 6,7,0,1 to.

한편 상기 j와 k의 관계를 규정한 것이 수학식 3이다.On the other hand, Equation 3 defines the relationship between j and k.

상기 수학식 3에 따라 생성되는 j는 49k가 57보다 작으면 49k에 2을 곱한다. 그리고, kmod(8) 값을 4로 나누어 생성된 몫을 상기 곱한 값과 더함으로써 구해진다.J generated according to Equation 3 multiplies 49k by 2 when 49k is less than 57. The quotient generated by dividing the value of kmod (8) by 4 is obtained by adding the product of the product.

한편 상기 49K가 57보다 크면 다시 0으로 돌아간다. 상기 수학식 3에 따라 생성되는 j는 0,98,82,66,51∼이다.On the other hand, if the 49K is greater than 57, it goes back to zero. J generated according to Equation 3 is 0,98,82,66,51 to.

이에따라 순차적으로 입력되는 데이터의 출력순서를 보면 c(n,0) ⇒ c(n-1,228) ⇒ c(n,64) ⇒ c(n-1,292) ⇒ c(n,128) ⇒ c(n-1,356) ⇒ c(n,192)∼이다. 상기 n은 현재 데이터 블록을 나타내고, n-1은 이전 데이터 블록을 나타낸다.As a result, the order of data input sequentially is c (n, 0) ⇒ c (n-1,228) ⇒ c (n, 64) ⇒ c (n-1,292) ⇒ c (n, 128) ⇒ c (n- 1,356) ⇒ c (n, 192)-. N represents the current data block, and n-1 represents the previous data block.

상기와 같이 순차적으로 입력되는 데이터를 출력할 순서대로 표로 나타난 것이 도1이다. 상기 도 1의 가로는 8개의 버스트 b0 내지 b7이 나타나 있다. 그리고, 세로는 출력되는 비트를 나타내는 0에서 112개의 비트가 나타나 있다. 상기 도 1에 도시한 제1입력 데이터 c(0,k)의 첫 비트 c(0,0)는 출력시에 첫 버스트의 첫비트 즉 i(B0,0)에 위치한다. 다음 비트 c(0,1)는 출력시에 i(B1,98)에 위치한다. 그리고, c(0,2)는 i(B2,82), c(0,3)는 i(B3,66), c(0,4)는 i(B4,51), c(0,5)는 i(B5,35), c(0,6)는 i(B6,19), c(0,7)는 i(B7,3), c(0,8)는 i(B1,100)∼에 위치한다. 이와 같이 상기 제1입력 데이터 i(0,k)는 8 버스트에 고루 분산된다. 한편 제2입력 데이타 c(1,k)의 첫 비트 c(1,0)는 출력시에 첫 버스트의 다섯 번째 비트 즉 I(B4,0)에 위치한다. 다음 비트 c(1,1)는 출력시에 i(B5,98)에 위치한다. 그리고, c(1,2)는 i(B6,82), c(1,3)는 i(B7,66), c(1,4)는 i(B0,51), c(1,5)는 i(B1,35), c(1,6)는 i(B2,19), c(1,7)는 i(B3,3), c(1,8)는 i(B4,100)∼에 위치한다. 이와 같이 제2입력 데이터 i(1,k)는 다섯 번째 버스트에서부터 확산을 시작하여 8개의 버스트에 고루 확산된다.As shown in the table in order of outputting data sequentially input as described above is FIG. The horizontal of FIG. 1 shows eight bursts b0 to b7. In addition, 0 to 112 bits are shown in which the vertical indicates the output bits. The first bit c (0,0) of the first input data c (0, k) shown in FIG. 1 is located at the first bit of the first burst, i (B0,0), at the time of output. The next bit c (0,1) is located at i (B1,98) at output. C (0,2) is i (B2,82), c (0,3) is i (B3,66), c (0,4) is i (B4,51), c (0,5) Is i (B5,35), c (0,6) is i (B6,19), c (0,7) is i (B7,3), c (0,8) is i (B1,100) to Located in In this manner, the first input data i (0, k) is evenly distributed over eight bursts. Meanwhile, the first bit c (1,0) of the second input data c (1, k) is located at the fifth bit of the first burst, that is, I (B4,0) at the time of output. The next bit c (1,1) is located at i (B5,98) at output. C (1,2) is i (B6,82), c (1,3) is i (B7,66), c (1,4) is i (B0,51), c (1,5) Is i (B1,35), c (1,6) is i (B2,19), c (1,7) is i (B3,3), c (1,8) is i (B4,100) to Located in As described above, the second input data i (1, k) starts spreading from the fifth burst and spreads evenly among the eight bursts.

한편 상기와 같이 인터리빙되어 확산된 데이터를 수신하여 디인터리빙할 때에는 상술한 수학식 1 내지 수학식 3을 역으로 이용하면 원 데이타를 얻을 수 있다.On the other hand, when receiving and deinterleaving the data interleaved and spread as described above, original data can be obtained by using the above Equations 1 to 3 inversely.

상기와 같이 입력되는 데이터의 출력순서를 변환하여 인터리빙하고, 디인터리빙하기 위하여 종래에는 인터리빙 및 디인터리빙 장치를 사용하였다.An interleaving and deinterleaving apparatus is conventionally used to convert, interleave, and deinterleave the output order of input data.

종래의 인터리빙 및 디인터리빙 장치는 상기 수학식 1 내지 수학식 3에 대응하는 하드웨어적인 장치를 구비하여서 인터리빙과 디인터리빙을 수행하였다. 그러나 상기 수학식 1 내지 수학식 3을 그대로 하드웨어로 옮김에 따라 상기 인터리빙 내지 디인터리빙 장치는 하드웨어의 크기가 매우 커지게 되었다. 왜냐하면 상기 수학식 1 내지 수학식 3을 그대로 하드웨어로 구현하기 위해서는 다수의 승산기와 제산기가 필요한 데, 상기 승산기와 제산기는 통상적으로 다른 연산기에 비하여 부피가 크기 때문이다.The conventional interleaving and deinterleaving apparatus includes a hardware apparatus corresponding to Equations 1 to 3 to perform interleaving and deinterleaving. However, as the equations 1 to 3 are transferred to the hardware, the interleaving to the deinterleaving device have a very large hardware. This is because a plurality of multipliers and dividers are required to implement the above Equations 1 to 3 in hardware, because the multipliers and dividers are generally larger in volume than other calculators.

상술한 바와 같이 종래의 인터리빙 및 디인터리빙 장치는 하드웨어적인 크기가 커서 원가를 상승시키고, 장치의 부피가 커지는 곤란한 점이 있었다.As described above, the conventional interleaving and deinterleaving apparatus has a large hardware size, thereby increasing the cost and increasing the volume of the apparatus.

본 발명의 목적은 간단한 하드웨어로 인터리빙 및 디인터리빙을 수행하는 인터리빙 및 디인터리빙장치를 제공함에 있다.An object of the present invention is to provide an interleaving and deinterleaving apparatus for performing interleaving and deinterleaving with simple hardware.

도 1은 인터리빙된 데이터의 출력순서를 도시한 것이다.1 shows the output order of interleaved data.

도 2는 인터리빙되어 출력되는 데이터를 출력순서에 따라 저장한 메모리 맵을 도시한 것이다.2 illustrates a memory map in which data interleaved and output is stored in an output order.

도 3은 본 발명의 바람직한 실시예에 따른 인터리빙 장치의 블록도이다.3 is a block diagram of an interleaving apparatus according to a preferred embodiment of the present invention.

도 4는 본 발명의 바람직한 실시예에 따른 디인터리빙 장치의 블록도이다.4 is a block diagram of a deinterleaving apparatus according to a preferred embodiment of the present invention.

도 5는 본 발명의 바람직한 실시예에 따른 인터리빙 라이트 및 디인터리빙 리드 어드레스 생성기를 도시한 것이다.5 illustrates an interleaving write and deinterleaving read address generator according to a preferred embodiment of the present invention.

도 6은 도 5의 동작 타이밍도이다.6 is an operation timing diagram of FIG. 5.

도 7은 본 발명의 바람직한 실시예에 따른 인터리빙 리드 및 디인터리빙 라이트 어드레스 생성기를 도시한 것이다.7 illustrates an interleaving read and deinterleaving write address generator according to a preferred embodiment of the present invention.

도 8은 도 6의 동작 타이밍도이다.8 is an operation timing diagram of FIG. 6.

상술한 목적을 달성하기 위한 인터리빙 라이트 및 디인터리빙 리드 어드레스 생성기는 1버스트부터 8버스트까지 순차적인 증가를 반복하는 버스트 어드레스를 생성하고, 4에서 5버스트로의 증가시에는 15비트가, 8에서 1버스트로 변화시에는 17비트가, 그 외의 버스트 증가시에는 16비트가 감소하는 비트 어드레스를 생성하여, 상기 버스트 어드레스와 비트 어드레스를 결합하여 인터리빙 라이트 및 디인터리빙 리드 어드레스를 생성한다. 인터리빙 리드 및 디인터리빙 라이트 어드레스 생성기는 1버스트부터 8버스트까지 순차적으로 증가하고, 다시 상기 증가를 반복하는 버스트 어드레스를 발생하고, 상기 버스트가 증가할 때마다 0에서 113까지의 비트를 순차적으로 증가하는 비트 어드레스를 생성하여, 상기 버스트 어드레스와 비트 어드레스를 결합하여 인터리빙 라이트 및 디인터리빙 리드 어드레스를 생성한다.The interleaving write and deinterleaving read address generators for achieving the above-mentioned objects generate burst addresses that repeat sequential increments from one burst to eight bursts, and 15 bits for four to five bursts, and eight to one. By generating a bit address that decreases 17 bits when changing to a burst and 16 bits when increasing another burst, the interleaved write and deinterleaving read addresses are generated by combining the burst address and the bit address. The interleaving read and deinterleaving write address generator sequentially increases from 1 burst to 8 bursts, generates a burst address that repeats the increase again, and sequentially increases the bits from 0 to 113 as the burst increases. A bit address is generated to combine the burst address and the bit address to generate an interleaving write and deinterleaving read address.

이하 본 발명의 바람직한 실시예를 첨부한 도면을 참조하여 상세히 설명한다. 하기 설명 및 첨부도면에서 많은 특정 상세들이 본 발명의 보다 전반적인 이해를 제공하기 위해 나타나 있다. 이들 특정 상세들 없이 본 발명이 실시될 수 있다는 것은 이 기술분야에서 통상의 지식을 가진자에게 자명할 것이다. 그리고 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능 및 구성에 대한 상세한 설명은 생략한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. In the following description and the annexed drawings, numerous specific details are set forth in order to provide a more thorough understanding of the present invention. It will be apparent to those skilled in the art that the present invention may be practiced without these specific details. And a detailed description of known functions and configurations that may unnecessarily obscure the subject matter of the present invention will be omitted.

도 2는 본 발명의 바람직한 실시예에 따라 인터리빙되어 출력할 데이터를 저장한 메모리의 메모리 맵을 도시한 것이다. 상기 메모리 맵에는 상기 수학식 1 내지 수학식 3에 따라 1 내지 8 버스트에 확산한 제1입력 데이터 c(0.k)와, 8개의 버스트에 확산된 제2입력 데이터 c(1,k) 중에 5 내지 8버스트에 확산되어 있는 제2입력데이타 c(1,k)를 대략적으로 도시하였다. 상기 도 2에 빗금으로 표시한 부분, 즉 각 버스트의 101 비트에서 113 비트는 본 발명에서 사용되지 않는 영역이다. 상기 도 2에 도시한 메모리 맵에서 입력 데이타의 비트가 증가와 출력되는 위치의 변화를 좀더 상세히 살펴보자. 상기 제1입력데이타 c(0.k) 중 처음 8개의 비트의 출력 위치 변화를 나타낸 것이 하기 표 1이다. 하기 표 1에 나타낸 버스트 변환치에서 모든 버스트는 8개이므로 7버스트에서 0버스트로의 변화치를 1로 한다.2 illustrates a memory map of a memory storing data to be interleaved and output according to an exemplary embodiment of the present invention. The memory map includes first input data c (0.k) spread in 1 to 8 bursts and second input data c (1, k) spread in eight bursts according to Equation 1 to Formula 3 above. The second input data c (1, k) diffused in 5 to 8 bursts is shown schematically. The hatched portion shown in FIG. 2, that is, 113 bits in 101 bits of each burst is an area not used in the present invention. In the memory map shown in FIG. 2, the bit of the input data increases and the change of the output position will be described in more detail. Table 1 shows the output position change of the first eight bits of the first input data c (0.k). In the burst conversion values shown in Table 1, since all bursts are eight, the value of change from 7 bursts to 0 bursts is set to 1.

입력 데이타Input data 출력 버스트Output burst 출력 비트Output bit 버스트 변화치Burst change 비트 변화치Bit change c(0,0) ⇒ c(0,1)c (0,0) ⇒ c (0,1) 0 ⇒ 10 ⇒ 1 0 ⇒ 980 ⇒ 98 1One (0+114)-16(0 + 114) -16 c(0,1) ⇒ c(0,2)c (0,1) ⇒ c (0,2) 1 ⇒ 21 ⇒ 2 98 ⇒ 8298 ⇒ 82 1One -16-16 c(0,2) ⇒ c(0,3)c (0,2) ⇒ c (0,3) 2 ⇒ 32 ⇒ 3 82 ⇒ 6682 ⇒ 66 1One -16-16 c(0,3) ⇒ c(0,4)c (0,3) ⇒ c (0,4) 3 ⇒ 43 ⇒ 4 66 ⇒ 5166 ⇒ 51 1One -15-15 c(0.4) ⇒ c(0,5)c (0.4) ⇒ c (0,5) 4 ⇒ 54 ⇒ 5 51 ⇒ 3351 ⇒ 33 1One -16-16 c(0,5) ⇒ c(0,6)c (0,5) ⇒ c (0,6) 5 ⇒ 65 ⇒ 6 33 ⇒ 1933 ⇒ 19 1One -16-16 c(0,6) ⇒ c(0,7)c (0,6) ⇒ c (0,7) 6 ⇒ 76 ⇒ 7 19 ⇒ 319 ⇒ 3 1One -16-16 c(0,7) ⇒ c(0,8)c (0,7) ⇒ c (0,8) 7 ⇒ 07 ⇒ 0 3 ⇒ 1003 ⇒ 100 1One (3+114)-17(3 + 114) -17

상기 표 1에 도시한 바와 같이 버스트가 0 ⇒1, 1 ⇒2, 2 ⇒3, 4 ⇒5, 5⇒6, 6⇒7로 변화할 때에 비트는 16개가 변화한다. 그리고, 상기 버스트가 3⇒4로 변화할 때에 비트는 15개가 변화한다. 그리고, 상기 버스트가 7⇒0으로 변화할 때에 비트는 17개가 변화한다. 그리고 비트의 변화는 현재의 비트수에서 15 또는 16 또는 17이 감소되는 데, 현재의 비트 수가 상기 감소시키고자 하는 수보다 작은 값일 경우에는 현재의 값에 114을 더한 후에 감소한 값으로 변화된다. 상기와 같은 비트 수의 변화치는 도 2에 도시한 바와 같이 버스트의 변화에 따라 일정하다.As shown in Table 1, when the burst changes from 0 to 1, 1 to 2, 2 to 3, 4 to 5, 5 to 6, and 6 to 7, 16 bits are changed. When the burst changes from 3 to 4, 15 bits change. When the burst changes from 7 to 0, 17 bits change. The bit change is reduced to 15, 16, or 17 in the current number of bits. When the current number of bits is smaller than the number to be reduced, it is changed to the value after adding 114 to the current value. The change in the number of bits as described above is constant as the burst changes, as shown in FIG.

이와 같이 GSM 규정에 따라 인터리빙한 입력데이타의 출력순서에는 상술한 일정한 형식이 있음을 알 수 있다. 이에따라 본 발명은 상기 일정한 형식에 근거하여 인터리빙과 디인터리빙 장치를 구현하였다. 상기 인터리빙 장치는 송신 데이타를 입력받아 인터리빙 램에 저장하는 데, 저장시에 라이트 어드레스를 상기와 같이 제공하여 라이트시에 상기와 같은 형태로 라이트되도록 한다. 그리고, 상기와 같이 라이트되어 있는 송신 데이타를 첫 어드레스에서부터 순차적으로 리드하여 송신장치에 제공하도록 한다. 그리고, 디인터리빙 장치는 수신데이타를 입력받아 수신된 순서대로 디인터리빙 램에 라이트하고, 라이트된 데이터를 원데이터의 인터리빙 라이트시에 라이트 어드레스와 동일한 어드레스로 리드를 수행하여 원데이타로 복구한다.As described above, it can be seen that the output order of the interleaved input data according to the GSM regulation has the above-described constant format. Accordingly, the present invention implements the interleaving and deinterleaving apparatus based on the above-described form. The interleaving apparatus receives the transmission data and stores the received data in the interleaving RAM. The interleaving apparatus provides the write address as described above so that the data is written in the form as described above. The read data written as described above is sequentially read from the first address to be provided to the transmitting apparatus. The deinterleaving apparatus receives the received data, writes the received data to the deinterleaving RAM in the received order, and reads the written data to the same address as the write address when interleaving the raw data.

상기와 같은 인터리빙 장치의 블록도를 도시한 것이 도 3이다. 인터리빙 장치의 인터리빙 라이트 어드레스 생성기(10)는 송신데이터를 도 2에 도시한 바와 같은 데이터 출력순서에 따라 인터리브 램(16)에 라이트 하기 위한 라이트 어드레스를 생성한다. 상기 생성된 라이트 어드레스는 멀티플렉서(14)에 제공된다. 한편 리드 어드레스 생성기(12)는 인터리브 램(16)에 저장되어 있는 데이터를 리드하기 위한 리드 어드레스를 생성한다. 상기 리드 어드레스는 멀티플렉서(14)에 제공된다. 상기 멀티플렉스(14)는 GSM 단말기의 제어부에서 제공하는 선택신호 IL-WR 에 따라 입력되는 리드 어드레스와 라이트 어드레스를 중 어느 하나를 출력하여 인터리브 램(16)에 제공한다. 상기 인터리브 램(16)은 상기 라이트 어드레스를 입력받아 송신데이타를 상기 라이트 어드레스에 대응하는 위치에 라이트하고, 리드 어드레스를 입력받아 리드 어드레스에 대응하는 위치에 기록되어 있는 데이터를 리드한다.3 is a block diagram of the interleaving apparatus as described above. The interleaving write address generator 10 of the interleaving apparatus generates a write address for writing the transmission data to the interleave RAM 16 in the data output order as shown in FIG. The generated write address is provided to the multiplexer 14. Meanwhile, the read address generator 12 generates a read address for reading data stored in the interleaved RAM 16. The read address is provided to the multiplexer 14. The multiplex 14 outputs any one of a read address and a write address input according to the selection signal IL-WR provided by the control unit of the GSM terminal to provide to the interleaved RAM 16. The interleaved RAM 16 receives the write address, writes transmission data to a position corresponding to the write address, and reads a read address to read data recorded at a position corresponding to the read address.

한편 상기와 같이 인터리브되어 송신되는 데이터를 수신할 경우에 디인리빙하는 본 발명의 바람직한 실시예에 따른 디인터리빙 장치를 도시한 것이 도 4이다. 상기 디인터리빙 장치의 라이트 어드레스 생성기(20)는 입력되는 송신데이타를 입력되는 순으로 디인터리브 램(18)상에 라이트할 라이트 어드레스를 생성한다. 상기 라이트 어드레스는 멀티플렉서(24)에 제공된다. 디인터리빙 리드 어드레스 생성기(22)는 디인터리브 램(18)상에 라이트되어 있는 수신데이타를 인터리빙되기 전의 원데이타로 복구하기 위하여 인터리빙시의 라이트 어드레스와 동일한 어드레스의 리드 어드레스를 생성한다. 상기 리드 어드레스는 멀티플렉서(24)에 제공된다. 상기 멀티플렉서(24)는 제어부로부터 제공되는 선택신호 DIL-WR 에 따라 입력되는 리드 어드레스와 라이트 어드레스 중 어느 하나를 출력한다. 상기 디인터리빙 램(18)은 상기 라이트 어드레스를 입력받아 수신데이타를 상기 라이트 어드레스에 대응하는 위치에 라이트하고, 리드 어드레스를 입력받아 리드 어드레스에 대응하는 위치에 라이트되어 있는 데이터를 리드하여 출력한다.Meanwhile, FIG. 4 illustrates a deinterleaving apparatus according to a preferred embodiment of the present invention for deinterleaving when receiving interleaved data. The write address generator 20 of the deinterleaving apparatus generates a write address to be written on the deinterleave RAM 18 in the order of inputted transmission data. The write address is provided to the multiplexer 24. The deinterleaving read address generator 22 generates a read address of the same address as the write address at the time of interleaving in order to recover the received data written on the deinterleaved RAM 18 to the original data before interleaving. The read address is provided to the multiplexer 24. The multiplexer 24 outputs any one of a read address and a write address input according to the selection signal DIL-WR provided from the controller. The deinterleaving RAM 18 receives the write address and writes the reception data to a position corresponding to the write address. The deinterleaving RAM 18 reads the read address and reads and writes the data written at the position corresponding to the read address.

상기 인터리빙 장치와 디인터리빙 장치의 인터리빙 라이트 어드레스 생성기(10)와 디인터리빙 리드 어드레스 생성기(22)는 동일한 어드레스를 생성한다. 즉 송신데이타를 인터리빙 램(16)에 라이트할 때의 어드레스나, 디인터리빙 램(18)에 라이트되어 있는 수신데이타를 리드할 때의 어드레스는 동일하다. 이에따라 상기 인터리빙 라이트 어드레스 생성기(10)와 디인터리빙 리드 어드레스 생성기(22)는 동일한 구성을 가진다.The interleaving write address generator 10 and the deinterleaving read address generator 22 of the interleaving apparatus and the deinterleaving apparatus generate the same address. That is, the address for writing the transmission data to the interleaving RAM 16 and the address for reading the reception data written to the deinterleaving RAM 18 are the same. Accordingly, the interleaving write address generator 10 and the deinterleaving read address generator 22 have the same configuration.

상기 인터리빙 라이트 어드레스 생성기(10)와 디인터리빙 리드 어드레스 생성기(22)의 상세블럭도를 도시한 것이 도 5이다. 또한 상기 인터리빙 라이트 어드레스 생성기와 디인터리빙 리드 어드레스 생성기의 동작타이밍도를 도시한 것이 도 6이다. 이제 상기 도 5와 도 6을 참조하여 본 발명을 상세히 설명한다. 상기 도 5의 WRRST는 라이트 리셋 신호로 한 데이터 블록마다 발생하는 신호로 해당 제어부에서 제공한다. WRSCK은 라이트 클럭으로 해당 제어부에서 제공한다. 상기 WRRST는 도 6에 도시한 바와 같이 456개의 WRCLK클럭마다 발생된다.FIG. 5 shows a detailed block diagram of the interleaving write address generator 10 and the deinterleaving read address generator 22. As shown in FIG. 6 illustrates an operation timing diagram of the interleaving write address generator and the deinterleaving read address generator. The present invention will now be described in detail with reference to FIGS. 5 and 6. The WRRST of FIG. 5 is a signal generated for each data block as a write reset signal and is provided by the controller. WRSCK is provided by the controller as a write clock. The WRRST is generated every 456 WRCLK clocks as shown in FIG.

상기 WRRST는 MOD8 카운터에 입력(CNT1)된다. 상기 MOD8 카운터(CNT1)는 클럭의 하강에지에서 카운트 값을 늘리고, 상기 카운트 값이 8이되면 다시 처음부터 카운트를 수행하는 카운터이다. 또한 MOD8 카운터(CNT1)는 상기 카운트가 카운트를 시작하여 8번카운트를 수행하는 동안 하이로 발생하는 REG1RST을 발생한다. 상기 REG1RST는 레지스터(R1)의 리셋단자에 입력된다. 그리고, 상기 MOD8 카운터(CNT1)의 카운트 값을 MOD80(2:0)이라 한다. 상기 MOD80(2:0)은 도 6에 도시한 바와 같이 WRCLK을 0부터 7까지 카운트를 수행하는 것을 반복한다. 상기와 같은 MOD80(2:0)은 제1디코더(DEC1)에 입력된다. 상기 제1디코더(DEC1)는 MOD8(2:0)이 0이면 0을 출력하고, MOD8(2:0)이 0이 아니면 1을 출력한다. 상기 제1디코더(DEC1)의 출력을 ADD1I(2:0)라한다.상기 ADD1I(2:0)는 제1가산기(ADD1)에 입력된다.The WRRST is input to the MOD8 counter (CNT1). The MOD8 counter CNT1 is a counter that increases the count value at the falling edge of the clock and counts again from the beginning when the count value reaches 8. The MOD8 counter CNT1 also generates a REG1RST that occurs high while the count starts counting and performing count eight. The REG1RST is input to the reset terminal of the register R1. The count value of the MOD8 counter CNT1 is referred to as MOD80 (2: 0). The MOD80 (2: 0) repeats counting the WRCLK from 0 to 7, as shown in FIG. The MOD80 (2: 0) as described above is input to the first decoder DEC1. The first decoder DEC1 outputs 0 when MOD8 (2: 0) is 0, and outputs 1 when MOD8 (2: 0) is not 0. The output of the first decoder DEC1 is called ADD1I (2: 0). The ADD1I (2: 0) is input to the first adder ADD1.

한편 상기 REG1RST는 제1레지스터(R1)의 리셋단자에 입력된다. 상기 제1레지스터(R1)의 클럭단자에는 WRCLK이 입력된다. 상기 제1레지스터(R1)는 제1가산기(ADD1)의 출력을 입력받아 WRCLK의 하강에지에서 래치하고, 상기 제1레지스터(R1)는 REG1RST의 상승에지에서 리셋된다. 이때 상기 제1레지스터(R1)의 출력을 REG10(2:0)이라 한다. 상기 REG10(2:0)은 제1가산기(ADD1)에 입력된다. 상기 제1가산기(ADD1)는 상기 REG10(2:0)와 ADD1I(2:0)를 입력받아 가산한다. 이때 제1가산기(ADD1)의 출력을 ADD10(2:0)이라 한다. 상기 제1가산기(ADD1)는 첫 WRCLK시에 제1디코더(DEC1)로부터 0을 입력받는다. 그리고, 제1가산기(ADD1)는 초기에 클리어된다. 이에따라 제1가산기(ADD1)의 출력은 0이고, 제1디코더(DEC1)를 통하여 첫 WRCLK의 하강에지에서 출력되는 데이터 역시 0이다. 이에따라 첫 WRCLK의 하강에지에서 제1가산기(ADD1)는 상기 0과 0을 가산함으로 ADD10(2:0)은 0이다. 상기 ADD10(2:0)은 제1레지스터(R1)에 입력되어 제1레지스터(R1)는 상기 0을 래치한다.The REG1RST is input to the reset terminal of the first register R1. WRCLK is input to the clock terminal of the first register R1. The first register R1 receives the output of the first adder ADD1 and latches it at the falling edge of WRCLK, and the first register R1 is reset at the rising edge of REG1RST. At this time, the output of the first register (R1) is referred to as REG10 (2: 0). The REG10 (2: 0) is input to the first adder ADD1. The first adder ADD1 receives and adds the REG10 (2: 0) and the ADD1I (2: 0). In this case, the output of the first adder ADD1 is referred to as ADD10 (2: 0). The first adder ADD1 receives 0 from the first decoder DEC1 at the first WRCLK. The first adder ADD1 is initially cleared. Accordingly, the output of the first adder ADD1 is 0, and the data output from the falling edge of the first WRCLK through the first decoder DEC1 is also 0. Accordingly, the first adder ADD1 adds 0 and 0 at the falling edge of the first WRCLK, so that ADD10 (2: 0) is zero. The ADD10 (2: 0) is input to the first register R1 so that the first register R1 latches the zero.

한편 두 번째 하강에지에서 MOD8 카운터(CNT1)는 카운트를 수행하고, MOD8 카운터(CNT1)의 카운트값 1은 제1디코더(DEC1)에 입력되고, 제1디코더(DEC1)는 상기 카운트 값이 0이 아니므로 1을 출력한다. 상기 제1디코더(DEC1)의 출력 ADD1I(2:0)은 제1가산기(ADD1)에 입력되고, 제1가산기(ADD1)는 1인 ADD1I(2:0)와 제1레지스터(R1)의 래치값 0을 가산하여 1을 출력한다. 상기 1은 다시 제1레지스터(R1)에 입력되고, 상기 제1레지스터(R1)는 상기 1을 래치한다. 이와 같이 연산이 수행됨에 따라 REG10(2:0)은 도6과 같이 0에서 6까지 증가를 반복하고, ADD10(2:0)은 0에서 7까지 증가를 반복한다. 상기 ADD10(2:0)은 제2가산기(ADD2)에 입력된다.On the other hand, at the second falling edge, the MOD8 counter CNT1 performs a count, the count value 1 of the MOD8 counter CNT1 is input to the first decoder DEC1, and the first decoder DEC1 has a count value of 0. 1 is outputted. The output ADD1I (2: 0) of the first decoder DEC1 is input to the first adder ADD1, and the first adder ADD1 is latched by the first register ADD1I (2: 0) and the first register R1. Add 1 and output 1. The first is input to the first register R1 again, and the first register R1 latches the first. As the operation is performed as described above, REG10 (2: 0) repeats an increase from 0 to 6 as shown in FIG. 6, and ADD10 (2: 0) repeats an increase from 0 to 7 as shown in FIG. The ADD10 (2: 0) is input to the second adder ADD2.

한편 DBNLSB는 WRRST의 상승에지에서 논리상태를 변화하는 신호로서 해당되는 제어부에서 제공된다. 상기 첫 WRRST의 상승에지에서 DBSLSB는 하이로 나타나고, 다음 WRRST에서 로우로 다음에는 다시 하이로 변환다. 상기 DBNLSB는 제2디코더(DEC2)에 입력된다. 상기 제2디코더(DEC2)는 상기 DBNLSB가 로우이면 0을 출력하고, 하이이면 4를 출력한다. 상기 제2디코더(DEC2)의 출력을 ADD2I(2:0)라 한다. 상기 ADD2I(2:0)는 제2가산기(ADD2)에 입력된다. 상기 제2가산기(ADD2)는 상기 ADD2I(2:0)와 ADD10(2:0)을 입력받아 가산한다. 상기 제2가산기(ADD2)의 출력을 ADD20(3:0)라 한다. 상기 ADD20(3:0)은 도 6에 도시한 바와 같이 첫번째 WRRST의 상승에지 후에는 0에서 7까지 증가를 반복하고, 두번째 WRRST의 상승에지 후에는 4에서 11까지 증가를 반복한다. 한편 상기 ADD20(3:0)은 결합기(CON1)에 입력된다.On the other hand, DBNLSB is provided by the corresponding controller as a signal for changing the logic state at the rising edge of WRRST. The DBSLSB appears high at the rising edge of the first WRRST, and then goes high again at the next WRRST. The DBNLSB is input to the second decoder DEC2. The second decoder DEC2 outputs 0 when the DBNLSB is low and 4 when the DBNLSB is low. The output of the second decoder DEC2 is referred to as ADD2I (2: 0). The ADD2I (2: 0) is input to the second adder ADD2. The second adder ADD2 receives and adds the ADD2I (2: 0) and ADD10 (2: 0). The output of the second adder ADD2 is referred to as ADD20 (3: 0). As shown in FIG. 6, ADD20 (3: 0) repeats the increase from 0 to 7 after the rising edge of the first WRRST and increases from 4 to 11 after the rising edge of the second WRRST. Meanwhile, the ADD20 (3: 0) is input to the combiner CON1.

한편 상기 MOD80(2:0)은 제3디코더(DEC3)에 입력된다. 상기 제3디코더(DEC3)는 상기 MOD80(2;0)이 1,2,3,5,6,7이면 16을 출력하고, 0이면 17을 출력하고, 4이면 15을 출력한다. 상기 제3디코더(DEC3)의 출력을 SUB1I(7:0)라 한다. 상기 SUB1I(7:0)는 제1감산기(SUB1)에 입력된다.Meanwhile, the MOD80 (2: 0) is input to the third decoder DEC3. The third decoder DEC3 outputs 16 when the MOD80 (2; 0) is 1,2,3,5,6,7, 17 when 0, and 15 when 4. The output of the third decoder DEC3 is referred to as SUB1I (7: 0). The SUB1I (7: 0) is input to the first subtractor SUB1.

한편 LOAD는 해당 제어부로부터 제공되는 로드신호이다. 상기 로드신호는 제1멀티플렉서(MUX1)에 입력된다. 상기 제1멀티플렉서(MUX1)는 로드신호가 입력될 경우에는 입력단자 1로부터 입력되는 17을 출력하고, 로드신호가 입력되지 않을 경우에는 입력단자 0으로부터 입력되는 신호를 출력한다. 한편 상기 제1멀티플렉서(MUX1)의 출력은 제2레지스터(R2)에 입력된다.LOAD is a load signal provided from the controller. The load signal is input to the first multiplexer MUX1. The first multiplexer MUX1 outputs 17 input from the input terminal 1 when the load signal is input, and outputs a signal input from the input terminal 0 when the load signal is not input. Meanwhile, the output of the first multiplexer MUX1 is input to the second register R2.

한편 해당 제어부로부터 제공되는 로드클럭신호 LOADCLK과 상기 WRCLK은 제1오아게이트(OR1)에 입력된다. 상기 제1오아게이트(OR1)는 상기 두 신호가 동시에 로우인 경우에만 로우로 나타나는 신호를 출력한다. 상기 신호는 제2레지스터(R2)의 클럭단자에 입력된다. 상기 제2레지스터(R2)는 상기 신호를 입력받아 상기 제3디코더(DEC3)의 출력을 래치한다. 상기 제2레지스터(R2)의 출력을 REG20(7:0)이라 한다. 상기 REG20(7:0)은 제1감산기(SUB1)에 입력된다. 상기 제1감산기(SUB1)는 상기 REG20(7:0)과 SUB1I(7:0)을 입력받아 REG20(7:0)에서 SUB1I(7:0)을 감산한다. 상기 제1감산기(SUB)의 출력을 SUB10(7:0)이라 한다. 상기 SUB10(7:0)은 첫 감산시에 상기 REG20(7:0)이 17이고, SUB1I(7:0)가 17이므로 0이 출력된다. 상기 SUB10(7:0)은 제4디코더(DEC4)와 제3가산기(ADD3)와 제2멀티플렉서(MUX2)에 입력된다. 상기 제3가산기(ADD3)는 114를 입력받아 SUB10(7:0)과 가산하여 출력한다. 상기 출력은 제2멀티플렉서(MUX2)에 입력된다.On the other hand, the load clock signal LOADCLK and the WRCLK provided from the control unit are input to the first or gate OR1. The first oA gate OR1 outputs a signal appearing low only when the two signals are simultaneously low. The signal is input to the clock terminal of the second register R2. The second register R2 receives the signal and latches the output of the third decoder DEC3. The output of the second register R2 is referred to as REG20 (7: 0). The REG20 (7: 0) is input to the first subtractor SUB1. The first subtractor SUB1 receives the REG20 (7: 0) and the SUB1I (7: 0) and subtracts the SUB1I (7: 0) from the REG20 (7: 0). The output of the first subtractor SUB is referred to as SUB10 (7: 0). When SUB10 (7: 0) is first subtracted, 0 is outputted because REG20 (7: 0) is 17 and SUB1I (7: 0) is 17. The SUB10 (7: 0) is input to the fourth decoder DEC4, the third adder ADD3, and the second multiplexer MUX2. The third adder ADD3 receives 114 and adds it to SUB10 (7: 0) for output. The output is input to the second multiplexer MUX2.

한편 상기 제4디코더(DEC4)는 상기 SUB10(7:0)을 입력받아 상기 SUB10(7:0)이 0보다 작으면 0을 출력하고, 그외의 값이면 1을 출력한다. 이때 상기 제4디코더(DEC4)의 출력은 제2멀티플렉서(MUX2)에 입력된다. 상기 제2멀티플렉서(MUX2)는 상기 제4디코더(DEC4)의 출력이 0이면 입력단자 0으로 입력되는 제3가산기(ADD3)의 출력을 출력하고, 1이면 입력단자 1로 입력되는 SUB10(7:0)을 출력한다. 이때 상기 제2멀티플렉서(MUX2)의 출력을 MUX20(7:0)이라 한다. 상기 MUX20(7:0)은 도 6에 도시한 바와 같이 0,98,82,66,51,35∼이다. 이는 제2도에 도시한 비트 어드레스 순서와 동일하다On the other hand, the fourth decoder DEC4 receives the SUB10 (7: 0) and outputs 0 when the SUB10 (7: 0) is less than 0, and outputs 1 when the SUB10 (7: 0) is smaller than zero. At this time, the output of the fourth decoder DEC4 is input to the second multiplexer MUX2. If the output of the fourth decoder DEC4 is 0, the second multiplexer MUX2 outputs the output of the third adder ADD3, which is input to the input terminal 0, and if it is 1, the SUB10 inputted to the input terminal 1 (7: Output 0). At this time, the output of the second multiplexer MUX2 is referred to as MUX20 (7: 0). The MUX20 (7: 0) is 0, 98, 82, 66, 51, 35, as shown in FIG. This is the same as the bit address order shown in FIG.

한편 상기 제1결합기(CON1)는 상기 ADD20(3:0)과 MUX20(6:0)을 입력받아 ADD20(3:0)은 CON(10:7)로 MUX20(6:0)은 CON(6:0)으로 결합하여 출력한다. 상기 제1결합기(CON)의 출력을 CON(10:0)이라 한다. 상기 출력은 제3멀티플렉서(DEC3)와 제2감산기(SUB2)와 제5디코더(DEC5)의 입력단자 1에 입력된다. 상기 제5디코더(DEC5)는 상기 값이 1023보다 크면 0을 출력하고, 그밖의 수이면 1을 출력한다. 상기 제5디코더(DEC5)의 값은 제3멀티플렉서(MUX3)에 입력된다. 상기 제2감산기(SUB2)는 1024를 입력받아 CON(10:0)에서 1024를 감산한다. 상기 제2감산기(SUB2)의 출력은 제3멀티플렉서(MUX3)의 입력단자 0에 입력된다. 상기 제3멀티플렉서(MUX3)는 제5디코더(DEC5)의 출력이 0이면 입력단자 0으로 입력되는 제2감산기(SUB2)의 출력을 출력하고, 1이면 입력단자 1로 입력되는 CON(10:0)을 출력한다. 상기 제3멀티플렉서(MUX3)의 출력은 제3레지스터(R3)에 입력된다. 상기 제3레지스터(R3)는 WRRCLK의 하강에지마다 제3멀티플렉서(MUX3)의 출력을 래치한다. 이때 래치되는 값이 인터리빙 램(16)과 디인터리빙 램(18)상의 어드레스를 나타낸다.Meanwhile, the first coupler CON1 receives the ADD20 (3: 0) and the MUX20 (6: 0), and the ADD20 (3: 0) is CON (10: 7), and the MUX20 (6: 0) is CON (6). Output by combining: 0). The output of the first coupler CON is called CON (10: 0). The output is input to an input terminal 1 of the third multiplexer DEC3, the second subtractor SUB2, and the fifth decoder DEC5. The fifth decoder DEC5 outputs 0 when the value is greater than 1023, and 1 when the other number is other. The value of the fifth decoder DEC5 is input to the third multiplexer MUX3. The second subtractor SUB2 receives 1024 and subtracts 1024 from CON (10: 0). The output of the second subtractor SUB2 is input to an input terminal 0 of the third multiplexer MUX3. When the output of the fifth decoder DEC5 is 0, the third multiplexer MUX3 outputs the output of the second subtractor SUB2 that is input to the input terminal 0, and when 1, the CON (10: 0) input to the input terminal 1 ) The output of the third multiplexer MUX3 is input to the third register R3. The third register R3 latches the output of the third multiplexer MUX3 every falling edge of WRRCLK. The latched value indicates an address on the interleaving RAM 16 and the deinterleaving RAM 18.

한편 상기 인터리빙 장치와 디인터리빙 장치의 인터리빙 리드 어드레스 생성기(12)와 디인터리빙 라이트 어드레스 생성기(20)는 동일한 어드레스를 생성한다. 즉 인터리빙 램(16)에 라이트되어 있는 송신데이타를 리드할 때의 어드레스나, 수신데이타를 디인터리빙 램(18)에 라이트할 때의 어드레스는 동일하다. 이에따라 상기 인터리빙 장치의 리드 어드레스 생성기(12)와 디인터리빙 장치의 라이트 어드레스 생성기(20)는 동일한 구성을 가진다.Meanwhile, the interleaving read address generator 12 and the deinterleaving write address generator 20 of the interleaving apparatus and the deinterleaving apparatus generate the same address. That is, the address at the time of reading the transmission data written to the interleaving RAM 16 and the address at the time of writing the reception data to the deinterleaving RAM 18 are the same. Accordingly, the read address generator 12 of the interleaving apparatus and the write address generator 20 of the deinterleaving apparatus have the same configuration.

상기 리드 어드레스 생성기(12) 및 라이트 어드레스 생성기(20)의 상세 블럭도를 도시한 것이 도 7이다. 또한 상기 리드 어드레스 생성기(12)와 라이트 어드레스 생성기(20)의 동작 타이밍도를 도시한 것이 도 8이다. 이제 상기 도 7과 도 8을 참조하여 본 발명을 상세히 설명한다. 상기 도7의 버스트 클럭 BurstCLK는 제어부에서 제공하며, 도 8에 도시한 바와 같이 매 버스트 마다 발생한다. 상기 BurstCLK는 MOD8 카운터(CNT2)에 입력된다. 상기 MO8 카운터(CNT2)는 상기 버스트 클럭을 카운트 하며, 0부터 7까지의 증가를 반복한다. 상기 MOD8 카운터(CNT2)의 출력을 MOD8RO(2:0)이라 한다. 상기 MOR8RO(2:0)은 제8도에 도시한 바와 같이 매 BurstCLK마다 1씩 증가하고, 0에서 7까지 증가하면 다시 0부터 증가를 반복한다. 상기 MOD8RO(2:0)은 제4레지스터(R4)에 입력된다. 상기 제4레지스터(R4)는 MOD8R0(2:0)을 입력받아 래치한다. 상기 제4레지스터(R4)의 출력을 REG1RO(2:0)라 한다. 상기 REG1RO(2:0)는 상기 MOD8RO(2:0)이 한 BurstCLK마다 지연되어 출력된다. 상기 REG1RO(2:0)은 제2결합기(CON2)에 입력된다.7 shows a detailed block diagram of the read address generator 12 and the write address generator 20. 8 illustrates an operation timing diagram of the read address generator 12 and the write address generator 20. The present invention will now be described in detail with reference to FIGS. 7 and 8. The burst clock BurstCLK of FIG. 7 is provided by the controller, and occurs in each burst as shown in FIG. The BurstCLK is input to the MOD8 counter CNT2. The MO8 counter CNT2 counts the burst clock and repeats increments from 0 to 7. The output of the MOD8 counter CNT2 is called MOD8RO (2: 0). As shown in FIG. 8, MOR8RO (2: 0) is incremented by 1 every BurstCLK. When MOR8RO (2: 0) is increased from 0 to 7, the increase is repeated from 0 again. The MOD8RO (2: 0) is input to the fourth register R4. The fourth register R4 receives and latches MOD8R0 (2: 0). The output of the fourth register R4 is referred to as REG1RO (2: 0). The REG1RO (2: 0) is output after being delayed for each BurstCLK of the MOD8RO (2: 0). The REG1RO (2: 0) is input to the second combiner CON2.

한편 RDCLK은 MOD114카운터(CNT3)에 입력된다. 상기 RDCLK는 한 BurstCLK안에 114 클럭으로 구성되는 클럭이다. 상기 MOD114카운터(CNT3)는 상기 RDCLK을 0에서 113까지 카운트하는 것을 반복한다. 상기 카운트 값을 MOD114RO(6:0)라 한다. 상기 MOD114RO(6:0)은 도 8에 도시한 바와 같이 첫 RDCLK의 상승에지에서 1을 카운트하기 시작하여, 113 상승에지에서 다시 카운트 값이 0이 된다. 상기 MOD114RO(6:0)는 제2결합기(CON2)에 입력된다. 상기 제2결합기(CON2)는 REG1RO(2:0)와 MOD114RO(6:0)을 입력받아 상기 REG1RO(2:0)를 CONR(9:7)로, MOD114RO(6:0)를 CONR(6:0)으로 결합한다. 상기와 같이 결합된 CONR(9:0)은 제5레지스터(R5)에 입력된다. 상기 제5레지스터(R5)는 RDCLK을 클럭단자에 입력받아 상기 CONR(9:0)을 래치한다. 이때 상기 제5레지스터(R5)의 출력을 RDADDR(9:0)이라 한다. 상기 RDADDR(9:0)은 상기 REG1RO(2:0)와 MOD114RO(6:0)이 가르키는 어드레스를 나타낸다. 상기 도 8에 도시한 값들은 모두 십진수로 환산한 값이다.RDCLK is input to the MOD 114 counter CNT3. The RDCLK is a clock composed of 114 clocks in one BurstCLK. The MOD 114 counter CNT3 repeats counting the RDCLK from 0 to 113. The count value is referred to as MOD114RO (6: 0). The MOD114RO (6: 0) starts counting 1 at the rising edge of the first RDCLK as shown in FIG. 8, and counts back to 0 at the 113 rising edge. The MOD114RO (6: 0) is input to the second combiner CON2. The second coupler CON2 receives REG1RO (2: 0) and MOD114RO (6: 0) and converts REG1RO (2: 0) to CONR (9: 7) and MOD114RO (6: 0) to CONR (6). Combine with: 0). The combined CONR (9: 0) as described above is input to the fifth register R5. The fifth register R5 receives RDCLK from the clock terminal to latch the CONR (9: 0). At this time, the output of the fifth register R5 is referred to as RDADDR (9: 0). The RDADDR (9: 0) represents an address indicated by the REG1RO (2: 0) and the MOD114RO (6: 0). The values shown in FIG. 8 are all converted to decimal numbers.

상술한 바와 같이 GSM 단말기의 풀레이트 스피치용 인터리빙과 디인터리빙의 규정을 이용하면 인터리빙 및 디인터리빙 어드레스 생성기를 모드 카운터와 디코더 등을 이용하여 간단히 구성할 수 있다.As described above, using the provision of full rate speech interleaving and deinterleaving of a GSM terminal, the interleaving and deinterleaving address generator can be simply configured using a mode counter and a decoder.

상술한 바와 같이 본 발명은 GSM 단말기의 풀레이트 스피치용 인터리빙 및 디인터리빙 장치에서 인터리빙 내지 디인터리빙을 수행하기 위하여 필요한 인터리빙 라이트 어드레스 및 디인터리빙 리드 어드레스 생성기와 인터리빙 리드 어드레스 및 디인터리빙 라이트 어드레스 생성기를 간단히 구성할 수 있다. 이에따라 상기 GSM 단말기는 간단한 어드레스 생성기를 구비하므로, 원가가 절감되고 GSM 단말기의 크기를 작게 할 수 있는 이점이 있다.As described above, the present invention provides a simple interleaving write address and deinterleaving read address generator and interleaving read address and deinterleaving write address generator necessary for performing interleaving or deinterleaving in a full rate speech interleaving and deinterleaving apparatus of a GSM terminal. Can be configured. Accordingly, since the GSM terminal has a simple address generator, there is an advantage that the cost can be reduced and the size of the GSM terminal can be reduced.

Claims (3)

GSM단말기의 인터리빙 및 디인터리빙 어드레스 생성기에 있어서,In the interleaving and deinterleaving address generator of the GSM terminal, 인터리빙 라이트 및 디인터리빙 리드를 수행하기 위하여 8개의 버스트와 114개의 비트를 가지는 메모리 영역에 송신데이타를 확산 라이트하고, 상기와 같은 메모리 영역에 확산 라이트된 수신데이타를 확산 전의 원데이타의 순서에 따라 리드하기 위하여, 첫 번째 버스트부터 8번째 버스트까지 순차적으로 증가하고, 다시 상기 증가를 반복하는 버스트 어드레스를 생성하고, 상기 4에서 5버스트로의 증가시에는 15비트가, 8에서 첫 버스트로 변환시에는 17비트가, 그 외의 버스트 증가시에는 16비트가 감소하는 비트 어드레스를 생성하여, 상기 버스트 어드레스와 비트 어드레스를 결합하여 인터리빙 라이트 및 디인터리빙 리드 어드레스를 생성하는 인터리빙 라이트 및 디인터리빙 리드 어드레스 생성기와,In order to perform interleaving and deinterleaving reads, the transmission data is spread written to a memory area having 8 bursts and 114 bits, and the received data spread in the memory area is read in accordance with the order of one data before diffusion. To do this, we generate a burst address that increments sequentially from the first burst to the eighth burst, and repeats the increment again, with 15 bits increasing from 4 to 5 bursts and 17 converting from 8 to the first burst. An interleaving write and deinterleaving read address generator for generating a bit address in which a bit decreases when the other burst increases, and combining the burst address and the bit address to generate an interleaving write and deinterleaving read address; 인터리빙 리드 및 디인터리빙 라이트를 수행하기 위하여 인터리빙 리드시에는 상기와 같은 메모리 영역에 확산되어 기록되어 있는 송신데이타를 첫 버스트의 처음 비트부터 순차적으로 송신데이타를 리드하고, 디인터리빙 라이트시에는 수신데이타를 상기와 같은 메모리 영역의 첫 버스트의 처음비트부터 순차적으로 기록하기 위하여, 첫 번째 버스트부터 8번째 버스트까지 순차적으로 증가하고, 다시 상기 증가를 반복하는 버스트 어드레스를 생성하고, 상기 한 버스트가 증가할 때마다 0에서 113까지의 비트를 순차적으로 증가하는 비트 어드레스를 생성하여, 상기 버스트 어드레스와 비트 어드레스를 결합하여 인터리빙 라이트 및 디인터리빙 리드 어드레스를 생성하는 인터리빙 리드 및 디인터리빙 라이트 어드레스 생성기를 구비하는 것을 특징으로 하는 GSM 단말기의 인터리빙 및 디인터리빙 어드레스 생성기.In order to perform interleaving read and deinterleaving write, transmission data spread out in the memory area as described above is read sequentially from the first bit of the first burst during interleaving read, and reception data is received during deinterleaving write. In order to write sequentially from the first bit of the first burst of such a memory area, a burst address that sequentially increases from the first burst to the eighth burst, repeats the increment again, and when the one burst increases And an interleaving read and deinterleaving write address generator that generates a bit address that sequentially increases the bits from 0 to 113 every time, and combines the burst address and the bit address to generate an interleaving write and a deinterleaving read address. Ugh Interleaving and de-interleaving address generator of the GSM terminal. 제1항에 있어서, 상기 인터리빙 라이트 및 디인터리빙 리드 어드레스 생성기가, 라이트 클럭에 대응하여 모드8 카운트를 수행하는 모드8 카운터와,The method of claim 1, wherein the interleaving write and deinterleaving read address generator comprises: a mode 8 counter for performing a mode 8 count in response to a write clock; 상기 모드8 카운트가 114회 수행될 때마다 4를 더하는 버스트 가산부와,A burst adder for adding 4 every time the mode 8 count is performed 114 times, 초기 비트 어드레스를 래치하고, 이후에는 생성되는 비트 어드레스를 래치하는 래치부와,A latch unit for latching an initial bit address and then latching a generated bit address; 상기 모드6 카운터의 카운트 값이 4이면 상기 래치 값에서 15를 감산하고, 모드8 카운터의 카운트 값이 0이면 상기 래치 값에서 17를 감산하고, 그 외의 경우에는 상기 래치 값에서 16를 감산하는 비트 감산부와,A bit for subtracting 15 from the latch value if the count value of the mode 6 counter is 4; subtracting 17 from the latch value if the count value of the mode 8 counter is 0; otherwise, subtracting 16 from the latch value Subtraction part, 상기 감산 값이 0보다 작으면, 감산 값에 114을 더하여 비트 어드레스를 출력하고, 상기 래치부에 입력하는 비트 가산부와,A bit adder for outputting a bit address by adding 114 to the subtracted value when the subtracted value is less than 0, and inputting the latch unit; 상기 비트 어드레스와 상기 버스트 어드레스를 하나의 어드레스로 결합하고, 상기 어드레스가 1024보다 크면, 상기 어스레스에서 1024를 감산하여 출력하는 어드레스 출력부를 구비하는 것을 특징으로 하는 GSM 단말기의 인터리빙 및 디인터리빙 어드레스 생성기.An interleaving and deinterleaving address generator of a GSM terminal, comprising: an address output unit for combining the bit address and the burst address into one address and subtracting 1024 from the address when the address is greater than 1024 . 제1항에 있어서, 상기 인터리빙 리드 및 디인터리빙 라이트 어드레스 생성기가,The apparatus of claim 1, wherein the interleaving read and deinterleaving write address generator comprises: 리드 클럭에 따라 모드114 카운트를 수행하는 모드114카운터와,A mode 114 counter that performs mode 114 counts according to the read clock; 리드 클럭이 114회 발생할 경우에 1회 발생하는 버스트 클럭을 입력받아 모드8 카운트를 수행하는모드8 카운터와,A mode 8 counter that receives a burst clock that occurs once when the read clock occurs 114 times and performs a mode 8 count; 상기 모드114 카운트 값과 모드8 카운트 값을 하나의 어드레스로 결합하여 출력하는 어드레스 출력부를 구비하는 것을 특징으로 하는 GSM 단말기의 인터리빙 및 디인터리빙 어드레스 생성기.And an address output unit for combining and outputting the mode 114 count value and the mode 8 count value into one address.
KR1019960038702A 1996-09-06 1996-09-06 Interleaving and deinterleaving address generator KR100189539B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019960038702A KR100189539B1 (en) 1996-09-06 1996-09-06 Interleaving and deinterleaving address generator

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019960038702A KR100189539B1 (en) 1996-09-06 1996-09-06 Interleaving and deinterleaving address generator

Publications (2)

Publication Number Publication Date
KR19980020269A true KR19980020269A (en) 1998-06-25
KR100189539B1 KR100189539B1 (en) 1999-06-01

Family

ID=19473000

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960038702A KR100189539B1 (en) 1996-09-06 1996-09-06 Interleaving and deinterleaving address generator

Country Status (1)

Country Link
KR (1) KR100189539B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8219782B2 (en) 2008-09-18 2012-07-10 Xilinx, Inc. Address generation

Also Published As

Publication number Publication date
KR100189539B1 (en) 1999-06-01

Similar Documents

Publication Publication Date Title
US7210076B2 (en) Interleaving order generator, interleaver, turbo encoder, and turbo decoder
US6411654B1 (en) Convolutional interleaver, convolutional deinterleaver, convolutional interleaving method, and convolutional deinterleaving method
KR980012968A (en) Structure of convolutional interleaver using static RAM
CN106502309B (en) DA return-to-zero retention function-based time domain interleaving arbitrary waveform synthesis device and method
GB2329804A (en) Time and frequency interleaving device for a multicarrier system
US6748033B1 (en) De-interleave circuit
JP3535833B2 (en) Block interleave device, block deinterleave device, block interleave method, and block deinterleave method
KR19980020269A (en) Interleaving and Deinterleaving Address Generators
JP3549756B2 (en) Block interleave circuit
WO1996024208A1 (en) System for signal transmission between plurality of lsis
JPH11328947A (en) Large scale fifo circuit
JP2007538452A (en) Turbo decoder input reordering
JP3420923B2 (en) Multipath fading simulator
KR100255304B1 (en) Convolutional deinterleaver for digital communication device
KR100416569B1 (en) Turbo permutator and Turbo decoder using the same
US6714606B1 (en) Integrated services digital broadcasting deinterleaver architecture
JP2001332980A (en) Device and method for interleave
JPH08265177A (en) Interleave data processing unit
KR0155516B1 (en) Implementation method for state metric memory arrangement with one memory in viterbi decoder
JP2827978B2 (en) Interleave device
KR100258355B1 (en) 8-bit parallel cell unit interleaver
KR20000040826A (en) Convolutional deinterleaver
KR100215565B1 (en) Address forming method of static ram
KR100273962B1 (en) Method and system for symbol combiner in cdma system
JPH10209884A (en) Interleave circuit and de-interleave circuit

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

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee