WO2008023684A1 - Unité d'opération arithmétique de résidus en parallèle et procédé d'opération arithmétique de résidus en parallèle - Google Patents
Unité d'opération arithmétique de résidus en parallèle et procédé d'opération arithmétique de résidus en parallèle Download PDFInfo
- Publication number
- WO2008023684A1 WO2008023684A1 PCT/JP2007/066156 JP2007066156W WO2008023684A1 WO 2008023684 A1 WO2008023684 A1 WO 2008023684A1 JP 2007066156 W JP2007066156 W JP 2007066156W WO 2008023684 A1 WO2008023684 A1 WO 2008023684A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- parallel
- partial
- crc
- sub
- modg
- 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
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/09—Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
- H03M13/091—Parallel or block-wise CRC computation
Definitions
- the present invention relates to a parallel residue calculator and a parallel residue calculation method, for example, to a parallel residue calculator and a parallel residue calculation method for detecting an error in digital information when outputs from a turbo decoder or the like are input in parallel.
- CRC Cyclic Redundancy Check
- a wireless communication system an error correction circuit using CRC is provided because there is a possibility that an error may occur in transmission data in a wireless transmission path because communication is performed via a wireless line.
- a CRC bit is generated based on the transmission data sequence on the transmission side, and added to the end of the transmission data sequence.
- the bit string to which the CRC bits are added is encoded using an encoding method such as convolutional encoding or turbo encoding, and the resulting encoded bit string is transmitted.
- FIG. 1 is a diagram illustrating how the CRC code is used.
- an input data sequence A from an input source (source) 11 is C RC encoded by a CRC encoding unit 12 and transmitted as a transmission data sequence B to a receiving side via a communication path 13.
- the communication path 13 is, for example, a wireless transmission path, and a bit error (noise) E is added thereto.
- the CRC check unit 14 performs CRC check, and the received data A ′ based on the CRC check is passed to the output side (sink) 15.
- the CRC check unit 14 performs CRC check to check the error occurrence status. If no error is detected, the received data A ′ of the data string A is output and an ACK signal is formed as an ACK / NACK signal to be transmitted to the communication partner. On the other hand, if an error occurs, the received data is not output and the communication partner A NACK signal is formed as an ACK / NACK signal to be transmitted to.
- HARQ Hybrid Auto Repeat reQuest
- bit string is represented by a polynomial as shown in the following equation (1).
- a (D) . . "+ ⁇ D" -1 + ⁇ ⁇ + a is + a réelle— 2 D + a sans _,
- the input data string A is CRC-encoded and becomes B in the following equation (2).
- CRC encoding generally used, a bit string of length c is added after an n-bit input data string. The added c bits are sometimes called CRC.
- R (D) ⁇ is-ZT- 1 + ⁇ £>"+ ⁇ ⁇ ⁇ + r c — 2 D + r c _,
- R (D) is determined so that B (D) is completely defeated by G (D) with respect to a predetermined c-th order polynomial G (D). That is, the remainder of A a (D) D e divided by G (D) is R (D).
- G (D) is called a generator polynomial, and is expressed by the following equation (5).
- the order c of the generator polynomial may be referred to as the CRC order.
- n + c bits CRC-encoded as described above are transmitted via the communication path 13.
- a bit error (noise) E (D) is added.
- FIG. 2 is a diagram for explaining how the CRC code applied to a more practical system is used.
- input data A (D) from an information source (source) 21 is CRC-encoded by a CRC encoder 22, and CRC-encoded data B (D) is an error correction encoder. 23 is transmitted as transmission data C (D) to the receiving side via the communication path 24.
- error correction coding is performed after CRC coding.
- Reed-Solomon code, convolutional code, turbo code, or the like is used as a method of error correction coding.
- a bit error (noise) E may be added.
- the transmission data sequence C ′ (D) to which the bit error E is added is received, the error correction decoding unit 25 performs error correction decoding and outputs the transmission data B ′ (D), and the CRC check
- the CRC check is performed by the unit 26, and the received data A ′ based on the CRC check is passed to the output side (sink) 27.
- the error correction code is decoded. This eliminates most of the bit errors added on channel 24.
- the CRC check by the CRC checker 26 checks whether there are errors that could not be removed by error correction decoding.
- FIG. 3 is a diagram showing a configuration of a generally well-known sequential CRC calculation circuit.
- the sequential CRC calculation circuit 30 includes an EXOR (exclusive OR) circuit 31 and [0] to
- FIG. 3 shows a general configuration using a shift register, in which every clock cycle is input every 1 bit from the head of the input data string.
- a to a are set to 1 at the input terminal indicated by a [t].
- the received n + c-bit data B ′ (D) is input bit by bit, and then it is determined whether the value remaining in the flip-flop is zero.
- the first n bits of B ′ (D) may be input to determine whether the value remaining in the flip-flop matches the remaining c bits of B ′ (D).
- Patent Document 1 discloses a partial CRC calculation method that shortens the processing delay time by calculating a partial CRC.
- the partial CRC circuit 40 includes a calculation target bit string A [0] A [15] input terminal 41 and each bit string A [0] A [15].
- An AND circuit 42 that takes the AND of and an adder circuit 43 that collects partial CRCs. [0030] The AND circuit 42 decodes the effective value of each calculation target bit string of the partial CRC calculated in advance into a partial CRC code, and the addition circuit 43 obtains a CRC code for the entire calculation target bit string.
- Patent Documents 2 and 3 disclose sub-block divided parallel CRC circuits that divide data into sub-blocks and perform parallel processing.
- the calculation formula of the remainder R (D) is modified as the following expression (8).
- the most common parallelization method is a serial CRC conversion type parallel CRC circuit.
- FIG. 5A and FIG. 5B are diagrams illustrating a serial CRC conversion type parallel CRC circuit.
- the S / P conversion type parallel CRC circuit 50 includes an S / P converter 51 and a parallel CRC circuit 52.
- the S / P conversion type parallel CRC circuit 50 performs serial / parallel conversion of the input by the S / P converter 51, and the parallel CRC circuit 52 performs CRC calculation by parallel processing.
- parallel processing for example, lbytes are processed.
- This parallelization method has many implementations and application examples, both hardware and software.
- Non-Patent Document 1 Hideki Imai, "Code Theory", IEICE, March 1990 Patent Document 1: JP-A-8-149017
- Patent Document 2 Special Table 2003-No. 523682 Noriyuki
- Patent Document 3 Japanese Patent Laid-Open No. 2005-6188
- the sequential CRC calculation circuit has a portion C in which the processing delay time is very large.
- the RC circuit increases the capacity of the memory that holds the partial CRC and causes an increase in cost.
- the output of the parallel turbo decoder is a sub-block division type
- a sub-block division type parallel CRC circuit can be applied, there is an advantage that it can be directly input without going through a memory. That is, since the output of the parallel turbo decoder is directly input to the CRC calculation circuit, the parallel CRC calculation circuit is not a serial-to-parallel conversion type (for example, processing 1 byte at a time from the beginning), but a sub-block division type (for example, The data series must be divided into small blocks of length M). Therefore, the sub-block division parallel CRC circuit does not require an interface memory compared to the S / P type parallel CRC circuit, leading to a reduction in processing delay and a reduction in circuit size.
- the sub-block division parallel CRC circuit has a great advantage when combined with a parallel turbo decoder that performs sub-block division, but the conventional sub-block division parallel CRC circuit has a processing delay. ⁇ Processing delay with large circuit scale ⁇ CRC circuit with small circuit scale is required.
- An object of the present invention is to provide a parallel residue calculator that can reduce the processing delay and can reduce the circuit scale by eliminating the need for an additional multiplier circuit and a residue circuit. Means to do
- the parallel residue calculator of the present invention is a parallel residue calculator in which input data is divided into a plurality of sub-blocks and input in parallel, and the partial residue corresponding to the head point of each sub-block is calculated.
- An initial value generating means for generating an initial value, and a partial remainder for receiving a partial remainder corresponding to the head of each sub-block from the initial value generating means as an initial value and sequentially generating the remaining partial remainders according to a predetermined recurrence formula Generation means; logic means for calculating the logic of the partial remainder value output from the partial data generation means; and cumulative addition means for cumulatively adding values output from the logic means.
- the parallel remainder computing unit of the present invention is a parallel remainder computing unit in which input data is divided into a plurality of sub-blocks and input in parallel, and a partial remainder corresponding to the final point of each sub-block is calculated.
- An initial value generating means for generating an initial value, and a reverse order part for receiving a partial remainder corresponding to the final point of each sub-block from the initial value generating means as an initial value and sequentially generating the remaining partial remainder according to a predetermined recurrence formula Remainder generation means, the input data, a logic means for calculating the logic of the value of the reverse order partial remainder output from the reverse order partial residue generation means, and a cumulative addition of the values output from the logic means
- a configuration comprising an adding means is adopted.
- the parallel residue calculation method of the present invention converts input data of length n into data strings of length nm and m.
- the processing delay can be reduced, and it is not necessary to store all of the partial CRCs, and the circuit scale is reduced by eliminating the need for an additional multiplier circuit / residue circuit. I can do this.
- the processing delay can be significantly reduced when combined with a parallel turbo decoder that performs sub-block division.
- FIG. 3 Diagram showing the configuration of a conventional CRC calculation circuit
- FIG. 5A is a diagram showing a conventional serial 'parallel conversion type parallel CRC circuit.
- FIG. 5B is a diagram showing a conventional serial to parallel conversion type parallel CRC circuit.
- FIG. 6 is a block diagram showing an overall configuration of a parallel residue calculator according to Embodiment 1 of the present invention.
- FIG. 7 is a timing chart showing data input / output of the parallel remainder computing unit according to the first embodiment.
- FIG. 8 A part to be calculated by the partial CRC generation unit of the parallel remainder computing unit according to the first embodiment.
- FIG. 9 is a diagram showing a circuit configuration of a partial CRC generator of the parallel residue calculator according to the first embodiment.
- FIG. 10 is a timing chart showing the operation of the partial CRC generation unit of the parallel residue calculator according to the first embodiment.
- FIG. 11 is a diagram showing a circuit configuration of an AND unit of the parallel residue arithmetic unit according to the first embodiment.
- FIG. 12 is a timing chart showing an operation of the AND unit of the parallel residue arithmetic unit according to the first embodiment.
- FIG. 13 is a diagram showing a circuit configuration of a cumulative addition unit of the parallel remainder computing unit according to the first embodiment.
- FIG. 14 is a program showing a configuration of an initial value generation unit of the parallel remainder computing unit according to the first embodiment. Illustration
- FIG. 15 is a diagram showing a circuit configuration of an initial value candidate generation unit of the parallel residue calculator according to the first embodiment.
- FIG. 16 is a timing diagram illustrating the operation of the initial value generation unit of the parallel remainder arithmetic unit according to the first embodiment.
- FIG. 17 is a block diagram showing the overall configuration of the parallel residue arithmetic unit according to the second embodiment of the present invention.
- FIG. 18 shows the circuit configuration of the reverse-order partial CRC generation unit of the parallel residue arithmetic unit according to the second embodiment. Illustration
- FIG. 19 is a table in which partial CRCs calculated by the partial CRC generation units of the parallel residue calculator according to Embodiment 2 are summarized in a table.
- FIG. 20 is a timing diagram illustrating the operation of the initial value generation unit of the parallel remainder computing unit according to the second embodiment.
- the present invention has [Point 1] related to the overall configuration, [Point 2] related to the partial CRC generation circuit, and [Point 3] related to the partial CRC generation circuit (reverse order). [0054] [Point 1]: In relation to the overall structure
- the partial remainder (partial CRC) is calculated as follows.
- the input data is sub-block 1 corresponding to (a) in the above formula (9).
- the sub-block division parallel CRC circuit of the present invention does not need to store (1) all partial CRCs. (2) Additional multiplier circuit 'Since no remainder circuit is required, there is a feature of small size and low delay.
- G (D) Z) C + and-]-'+ g 0 D c ⁇ l + gi D +-+ g c — 3 D 2 + g c . 2 D + g c _,
- the lowest order coefficient of) M T () is ⁇ ) ⁇ ⁇ ( ⁇ )). Is the coefficient.
- the sub-block division parallel CRC circuit of the present invention performs the division of the polynomial defined on modG (D). Partial CRC can be calculated with a small circuit that does not need to be performed.
- the parallel CRC calculation circuit that inputs the data of each sub-block in order according to the original data order (for example, a to a) and reverse order (for example, a to a) is also realized. it can. [0064] That is, in the following calculation formula (12), in sub-block 1, support is performed in the order of a to a.
- the sub-block division parallel CRC circuit of the present invention is used when data is (partially) reverse in order.
- FIG. 6 is a block diagram showing the overall configuration of the parallel residue calculator according to Embodiment 1 of the present invention based on the above basic principle.
- the present embodiment is an example corresponding to the above [Point 1] and [Point 2].
- point an example in which data is divided into two (two parallel) is shown, but in the first embodiment, a case of four parallel will be described as an example.
- a parallel CRC calculation circuit (parallel remainder calculator) 100 includes an input terminal 10;
- Partial CRC generators 111 to 114 receive partial CRCs corresponding to the heads of the respective sub-blocks as initial values from initial value generator 110, and the rest. Are sequentially generated based on the recurrence formula. The configuration and operation of the partial CRC generation unit 11;! To 114 will be described later with reference to FIGS.
- AND sections 121 to 124 are 1 bit input from input terminals 101 to 104 and 24 bits output from partial CRC generation sections 111 to 114. Calculate the AND of the values of. Any logic circuit that calculates the logic of the partial CRC value is not limited to AND (logical product). The configuration and operation of the AND units 121 to 124 will be described later with reference to FIGS.
- the cumulative addition unit 130 cumulatively adds the values output from the AND units 121 to 124.
- the length of the input data is N [bits]
- the length of sub-blocks 1 to 3 is M [bits]
- the size of sub-block 4 is the remaining N—3M [bits]. Divided. This division method Is an example and may be determined in any way.
- FIG. 7 is a timing chart showing input / output of data, and the input data is represented as A [n— 1: 0].
- t represents time.
- Signal t in Figure 6 is not specified
- Sub-block 1 data (A [0] A [M-1]) shown in al is input to the input terminal 101 bit by bit starting with A [0].
- the data (A [M] A [2M-1]) force A [M] of sub-block 2 indicated by a2 is input bit by bit.
- the size of sub-block 4 is different from the other sub-blocks (because it is a fraction, it is 1 bit less than the other). Therefore, as indicated by a4 in FIG. 7, 0 is input to the input terminal 104 at time M-1.
- a desired CRC value is output from the CRC output terminal (r).
- a desired CRC value is held at the output terminal (r) as long as the value of the input terminal is held at 0 even after all inputs are completed.
- FIG. 8 is a table summarizing the partial CRCs calculated (in charge) by the partial CRC generation unit 11 ;! 114.
- the notation DM ⁇ T ⁇ (D) was used.
- Partial CRC generators 111 to 114 (partial CRC generators 1> to 4>) generate initial values using the partial CRC corresponding to the head (0 M 2M 3M) of each sub-block as an initial value. Receiving from circuit 110, the remaining partial CRCs are sequentially generated based on the recurrence formula (11) described above.
- the partial CRC generation unit 111 of the circuit number 1 is generated when the input data number 0 M ⁇ 1 and the initial value is DM ⁇ N ⁇ 1 + c ⁇ (D).
- the partial CRCs to be performed are DM ⁇ N ⁇ 1 + c ⁇ 1 ⁇ (D) to DM ⁇ N ⁇ l + c ⁇ (M ⁇ l) ⁇ (D).
- the partial CRC generators 112 to 114 sequentially generate the remaining partial CRCs based on the equation (11) with the partial CRC corresponding to the head (M 2M 3M) of each sub-block as an initial value.
- FIG. 9 is a diagram illustrating a circuit configuration of the partial CRC generation unit 111. Partial CRC generator 111
- partial CRC generation section 111 includes selector 201, D flip-flop (FF) 202
- An EXOR circuit 203 An EXOR circuit 203, and an AND circuit 204.
- the partial CRC generator 111 has a configuration centered on a 24-bit D flip-flop 202.
- a configuration in which flip-flops are connected in a row is often called a shift register.
- [0088] 11 [23: 0] is an initial value, and g [23: 0] is a value representing a generator polynomial.
- the generator polynomial is defined by the following equation (14),
- g [i] is the coefficient of D — 1 . Since the coefficient of D e is always 1, it is not necessary to define g [—l].
- pl [23: 0] is the generated partial CRC.
- FIG. 10 is a timing chart showing the operation of partial CRC generation section 111.
- Id is a control signal.
- ld l
- the initial value II is loaded into the shift register.
- the value of I 1 is specifically DM ⁇ N ⁇ l + c ⁇ (D) as shown in the table of FIG.
- N-l + c 98 for ease of viewing.
- the loaded value itself is output as a partial CRC corresponding to A [0].
- the next DM [97] value is calculated based on the recurrence formula.
- pi is the contents of the shift register before update (eg DM [98]).
- pl, [23: 0] ⁇ pl [22: 0], 0 ⁇ + pl [23] * ⁇ g [22: 0], 1 ⁇ -• (15)
- the partial CRC generation units 111 to 114 of the parallel CRC calculation circuit 100 have only a simple configuration of a shift register and an AND'EXOR for each bit, and a portion that is necessary in a timely manner according to input data. CRC can be calculated.
- FIG. 11 is a diagram showing a circuit configuration of the AND unit 121. As shown in FIG. Since the AND sections 121 to 124 have the same configuration, the AND section 121 will be described as a representative.
- an AND unit 121 includes an AND circuit 211 that calculates an AND of one bit input from the input terminal 101 and a 24-bit value output from the partial CRC generation units 111 to 114. Is done.
- the AND unit 121 shown in FIG. 11 calculates an AND of one bit input from the input terminal 101 and the 24-bit value output from the partial CRC generation units 111 to 114. That is, the following equation (15)! /, A I win.
- FIG. 12 is a timing chart showing the operation of the AND unit 121.
- t representing time is the same as t in FIG. That is, the partial CRC generation units 111 to 114 generate the partial CRC to be associated with the input data with good timing.
- [0102] [Cumulative adder 130]
- FIG. 13 is a diagram illustrating a circuit configuration of the cumulative addition unit 130.
- the cumulative addition unit 130 includes an EXOR circuit 211, a flip-flop (FF) 222, and a switch circuit 223.
- Cumulative addition section 130 cumulatively adds the values output from AND sections ⁇ 1> to ⁇ 4>.
- s is the value of the flip-flop before the update
- s' is the direct value of the flip-flop after the update.
- D wAe "(Z) r modG () has the highest coefficient of 0)
- D c modG (D) G (D) ⁇ D c .
- FIG. 14 is a block diagram showing a configuration of the initial value generation unit 110.
- the initial value generation unit 110 includes an initial value candidate generation unit 230, a data acquisition timing generation unit 231, a data acquisition unit 24;! To 244 (data acquisition units 1> to 4>), And initial value storage unit 25;! To 254 (initial value storage units 1> to 4>).
- FIG. 15 is a diagram showing a circuit configuration of the initial value candidate generation unit 230.
- initial value candidate generation section 230 includes selector 261, flip-flop (FF) 26
- the internal configuration is as shown in Figure 15.
- FIG. 16 is a timing chart showing the operation of the initial value generation unit 110.
- the data acquisition unit 241 acquires the initial value DM ⁇ N—l + c ⁇ (D) used by the partial CRC generation unit 111 (see FIG. 6).
- the storage unit 251 (stored in the initial value storage unit 1. That is, the data acquisition timing generation unit 231 includes the initial value candidate generation unit 230 as DM ⁇ N— 1 + C ⁇ (D), as shown in FIG.
- the data acquisition unit 241 obtains the output of the initial value candidate generation unit 230 in response to the trigger signal of ldl, so that the value DM to be stored in the initial value storage unit 1 is transmitted. ⁇ - 1 + c ⁇ can be obtained.
- parallel CRC calculation circuit 100 has input terminals 101 to 104 to which input data is divided into a plurality of sub-blocks and input in parallel.
- An initial value generation unit 110 that generates a partial CRC corresponding to the head point as an initial value, receives a partial CRC corresponding to the head of each sub-block as an initial value, and the remaining partial CRC
- the partial CRC generators 111 to 114 which sequentially generate the values according to a predetermined recurrence formula, calculate the logical product of the values of the partial CRCs, AND units 121 to 124, and AND units 121 to 124;
- a cumulative addition unit 130 for performing addition automatically.
- the partial CRC corresponding to the head point of each sub-block is generated.
- the processing delay can be reduced, and the circuit scale can be reduced by eliminating the need for an additional multiplier circuit and a redundant circuit.
- turbo code As described above, particularly when combined with a parallel turbo decoder that performs sub-block division, the processing delay can be significantly reduced. Regardless of the type of turbo code, it is applicable to general purposes and easy to implement.
- FIG. 17 is a block diagram showing an overall configuration of the parallel residue calculator according to Embodiment 2 of the present invention.
- the same components as those in FIG. 6 are denoted by the same reference numerals.
- the present embodiment is an example corresponding to [Point 3] described in the basic principle.
- [Point 3] an example was given in which the data input order was reversed for each sub-block. Dividing the data into 4 In the 4 parallel, subblock 2> and subblock 4> will be described as an example.
- a parallel CRC calculation circuit (parallel remainder arithmetic unit) 300 includes an input terminal 10;! To 04 (input terminals 1> to 4>), an initial value generation unit 310, a partial CRC generation unit. 111, 113 (partial RC generators 1>, 3>), reverse partial CRC generators 312, 314 (reverse partial CRC generators 2>, 4>), AND units 121 to 124 (AND units) ⁇ 1> to ⁇ 4>), and a cumulative adder 130.
- the parallel CRC calculation circuit 300 in FIG. 17 has a sub-block size of M and input terminals 102, 1
- the partial CRC generation units 112 and 114 are changed to reverse partial CRC generation units 312 and 314, respectively. Also, the initial value input to the reverse partial CRC generation circuits 312 and 314 was changed. Therefore, the initial value generated by the initial value generating unit 310 is different from that of the initial value generating unit 110 in FIG. 6, but the configuration is the same (see FIG. 14).
- FIG. 18 is a diagram showing a circuit configuration of the reverse order partial CRC generation unit 312. Since the reverse order partial CRC generation units 312 and 314 have the same configuration, the reverse order partial CRC generation unit 312 will be described as a representative.
- the reverse order partial CRC generation unit 312 includes a selector 401, a D flip-flop (F F) Consists of 402, EXOR circuit 403, and AND circuit 404.
- the reverse partial CRC generation unit 312 has a configuration centered around the 24-bit D flip-flop 402, and the generation direction of force data is in the reverse direction. It is.
- FIG. 19 shows respective partial CRC generation units, ie, partial CRC generation unit 111, reverse order portion
- FIG. 7 is a table in which partial CRCs calculated (in charge) by CRC generation unit 312, partial CRC generation unit 113, and reverse order partial CRC generation unit 314 are tabulated.
- the notation DM ⁇ T ⁇ (D) was used.
- the forward partial CRC generators 111 and 113 calculate T in the decreasing direction, while the reverse partial CRC generators 312 and 314 calculate in the direction of increasing T. I'm doing it.
- initial value generation section 310 has the same configuration as partial CRC generation section 111 of the first embodiment.
- the initial value required by the reverse order partial CRC generation unit 312 is not DM ⁇ N — 1 + c— M ⁇ (D) but DM ⁇ N— 1 + c— (2M—1) ⁇ (D).
- FIG. 20 is a timing chart showing the operation of the initial value generation unit 310.
- FIG. 16 which is a timing chart showing the operation of the initial value generation unit 100 of the parallel CRC calculation circuit 100, it can be seen that the trigger output timings for the signals ld2 and ld4 are different.
- the input order of data can be input in reverse order for each sub-block. Therefore, it has a high affinity when combined with a parallel turbo decoder that performs sub-block division.
- the output of the turbo decoder can be directly input to the parallel CRC calculation circuit (parallel remainder calculator) 300.
- the processing delay can be significantly reduced.
- partial CRC generation section 111 calculates one partial CRC per one clock cycle as shown in Fig. 10 using formula (8). It is also possible to calculate two or more partial CRCs per clock cycle by repeatedly using. For example, the partial CRC generation unit 111 obtains two partial CRCs DM ⁇ N—l + c + i + l ⁇ (D) from DM ⁇ N ⁇ l + c + i ⁇ (D) (i is an integer). DM ⁇ N—l + c + i + 2 ⁇ (D) is output. With such a configuration, it becomes possible to input 2 bits of data to each input terminal 101 to 104 in every clock cycle.
- the force obtained by reversing the sub-blocks 2 and 4 and any sub-block may be reversed, and only some of the sub-blocks may be reversed.
- the names of a parallel remainder calculator and a parallel CRC calculation circuit are used. However, this is for convenience of explanation, and includes a CRC calculation circuit, an error correction circuit, an error correction method, and the like. Also good.
- the present invention is realized by software for functioning the parallel residue calculation method, as well as by hardware as long as the parallel residue calculator and the parallel residue calculation method according to the present algorithm can be realized. It is also possible to do.
- This software is Stored on a computer-readable recording medium.
- Each functional block used in the description of each of the above embodiments is typically realized as an LSI which is an integrated circuit. These may be individually made into one chip, or may be made into one chip so as to include a part or all of them. Here, it may be called IC, system LSI, super LSI, or ultra LSI, depending on the difference in power integration as LSI. Also, the method of circuit integration is not limited to LSI, and may be realized by a dedicated circuit or a general-purpose processor. Field programmable gate arrays (FPGAs) that can be programmed after LSI manufacturing and reconfigurable processors that can reconfigure the connection and settings of circuit cells inside the LSI may be used. Furthermore, if integrated circuit technology that replaces LSI emerges as a result of advances in semiconductor technology or other derived technologies, it is naturally possible to integrate functional blocks using this technology. For example, the possibility of applying technology is possible.
- FPGAs Field programmable gate arrays
- the parallel residue computing unit and parallel residue computing method according to the present invention replaces a conventional CRC calculation circuit in a communication system in which outputs of a turbo decoder or the like are inputted in parallel and an error of digital information is detected. It is useful as a new parallel residue calculator and parallel residue calculation method. For example, in order to decode transmission data encoded by convolutional code, turbo coding, etc. for error correction, on the receiving side, whether there is a soft output decoder such as a Viterbi decoder or a turbo decoder, or whether there is a transmission error. It is suitable for use in a communication terminal device such as a receiver or a mobile phone that uses a cyclic code for detection.
Landscapes
- Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Detection And Correction Of Errors (AREA)
Description
Claims
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008530909A JP4976397B2 (ja) | 2006-08-22 | 2007-08-21 | 並列剰余演算器及び並列剰余演算方法 |
US12/377,772 US8700971B2 (en) | 2006-08-22 | 2007-08-21 | Parallel residue arithmetic operation unit and parallel residue arithmetic operating method |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006-225934 | 2006-08-22 | ||
JP2006225934 | 2006-08-22 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2008023684A1 true WO2008023684A1 (fr) | 2008-02-28 |
Family
ID=39106769
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2007/066156 WO2008023684A1 (fr) | 2006-08-22 | 2007-08-21 | Unité d'opération arithmétique de résidus en parallèle et procédé d'opération arithmétique de résidus en parallèle |
Country Status (4)
Country | Link |
---|---|
US (1) | US8700971B2 (ja) |
JP (1) | JP4976397B2 (ja) |
CN (1) | CN101507120A (ja) |
WO (1) | WO2008023684A1 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011505109A (ja) * | 2007-11-28 | 2011-02-17 | クゥアルコム・インコーポレイテッド | 分割された並列的なエンコーディング動作を伴う畳込みエンコーディング |
JP2012169926A (ja) * | 2011-02-15 | 2012-09-06 | Fujitsu Ltd | Crc演算回路 |
US9524206B2 (en) | 2014-08-28 | 2016-12-20 | Fujitsu Limited | Decoding device and error detection method |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8930431B2 (en) * | 2010-12-15 | 2015-01-06 | International Business Machines Corporation | Parallel computation of a remainder by division of a sequence of bytes |
WO2012109872A1 (zh) * | 2011-08-02 | 2012-08-23 | 华为技术有限公司 | 通信系统中的循环冗余校验处理方法、装置和lte终端 |
JP2015019276A (ja) * | 2013-07-11 | 2015-01-29 | 株式会社東芝 | 記憶装置、crc生成装置およびcrc生成方法 |
WO2016050323A1 (en) * | 2014-10-03 | 2016-04-07 | Telefonaktiebolaget L M Ericsson (Publ) | Method and device for calculating a crc code in parallel |
US9787434B2 (en) * | 2014-12-11 | 2017-10-10 | Mediatek Inc. | Cyclic redundancy check device and method |
KR20220083883A (ko) | 2020-12-11 | 2022-06-21 | 삼성전자주식회사 | 메모리 장치, 그것의 데이터 출력 방법 및 그것을 갖는 메모리 시스템 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001036414A (ja) * | 1999-07-21 | 2001-02-09 | Nec Corp | Crc符号生成回路及びcrcエラー検出回路 |
JP2002319867A (ja) * | 2001-04-19 | 2002-10-31 | Nec Microsystems Ltd | パラレル処理回路及びその構成方法 |
WO2003090362A1 (fr) * | 2002-04-22 | 2003-10-30 | Fujitsu Limited | Codeur et decodeur de detection d'erreur, et diviseur |
JP2006521730A (ja) * | 2003-03-28 | 2006-09-21 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 巡回冗長検査(crc)計算のための反復回路を最適化するためのシステムおよび方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3257298B2 (ja) | 1994-11-16 | 2002-02-18 | 松下電器産業株式会社 | Crc符号生成方法 |
CN1333950A (zh) * | 1999-11-15 | 2002-01-30 | 三菱电机株式会社 | 使用循环码的错误控制装置与方法 |
JP2003523682A (ja) | 2000-02-17 | 2003-08-05 | アナログ デバイス インコーポレーテッド | Crc、および他の剰余を基本とする符号の生成に用いる方法、装置、製品 |
US6677869B2 (en) | 2001-02-22 | 2004-01-13 | Panasonic Communications Co., Ltd. | Arithmetic coding apparatus and image processing apparatus |
JP2005006188A (ja) | 2003-06-13 | 2005-01-06 | Mitsubishi Electric Corp | Crc演算方法およびcrc演算装置 |
US7168024B2 (en) * | 2003-10-03 | 2007-01-23 | Jennic Limited | Data processing system and method |
-
2007
- 2007-08-21 WO PCT/JP2007/066156 patent/WO2008023684A1/ja active Application Filing
- 2007-08-21 CN CNA2007800307836A patent/CN101507120A/zh active Pending
- 2007-08-21 US US12/377,772 patent/US8700971B2/en active Active
- 2007-08-21 JP JP2008530909A patent/JP4976397B2/ja not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001036414A (ja) * | 1999-07-21 | 2001-02-09 | Nec Corp | Crc符号生成回路及びcrcエラー検出回路 |
JP2002319867A (ja) * | 2001-04-19 | 2002-10-31 | Nec Microsystems Ltd | パラレル処理回路及びその構成方法 |
WO2003090362A1 (fr) * | 2002-04-22 | 2003-10-30 | Fujitsu Limited | Codeur et decodeur de detection d'erreur, et diviseur |
JP2006521730A (ja) * | 2003-03-28 | 2006-09-21 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 巡回冗長検査(crc)計算のための反復回路を最適化するためのシステムおよび方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011505109A (ja) * | 2007-11-28 | 2011-02-17 | クゥアルコム・インコーポレイテッド | 分割された並列的なエンコーディング動作を伴う畳込みエンコーディング |
JP2012169926A (ja) * | 2011-02-15 | 2012-09-06 | Fujitsu Ltd | Crc演算回路 |
US9524206B2 (en) | 2014-08-28 | 2016-12-20 | Fujitsu Limited | Decoding device and error detection method |
Also Published As
Publication number | Publication date |
---|---|
US8700971B2 (en) | 2014-04-15 |
CN101507120A (zh) | 2009-08-12 |
US20100198892A1 (en) | 2010-08-05 |
JPWO2008023684A1 (ja) | 2010-01-14 |
JP4976397B2 (ja) | 2012-07-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2008023684A1 (fr) | Unité d'opération arithmétique de résidus en parallèle et procédé d'opération arithmétique de résidus en parallèle | |
CN110771047B (zh) | 具有f功能和g功能的llr域计算的极性解码器 | |
WO1999012265A1 (fr) | Codeur/decodeur turbo et procede de codage/decodage turbo | |
JP4124893B2 (ja) | インターレーサ、符号化装置、置換方法、符号化方法、復号化装置およびその方法、これらを使ったシステム | |
JP7365335B2 (ja) | ポーラー符号化のための電子デバイス、集積回路、及び方法 | |
US9444494B2 (en) | Systems and methods for network coding using convolutional codes | |
JP2002009633A (ja) | 復号回路および復号方法、並びに符号化回路および符号化方法 | |
EP1204211A1 (en) | Butterfly processor for telecommunications | |
CN112468161B (zh) | 一种rs高速编码电路 | |
US7539918B2 (en) | System and method for generating cyclic codes for error control in digital communications | |
Zhang et al. | Fast factorization architecture in soft-decision Reed-Solomon decoding | |
KR100876566B1 (ko) | 연산 회로 | |
US7266757B1 (en) | Pipelined architecture implementing recursion processes for forward error correction | |
KR20060121312A (ko) | 컨볼루션 터보 부호 인터리버 | |
US7178090B2 (en) | Error correction code decoding device | |
WO2012109872A1 (zh) | 通信系统中的循环冗余校验处理方法、装置和lte终端 | |
CN1133276C (zh) | 一种高速并行级联码的译码方法及译码器 | |
Benaissa et al. | Reconfigurable hardware architectures for sequential and hybrid decoding | |
Zhu et al. | Efficient Reed-Solomon decoder with adaptive error-correcting capability | |
TWI523437B (zh) | Bch碼編碼與癥狀計算共用設計電路及決定該共用設計電路的方法 | |
Do et al. | High-speed parallel architecture for software-based CRC | |
Kavian et al. | High speed Reed-Solomon decoder with pipeline architecture | |
Lakshmi et al. | Area efficient implementation of short length QC-LDPC codes for Ultra-Reliable Low-Latency Communication (URLLC) application | |
JP3268926B2 (ja) | 誤り訂正回路 | |
Mansour | Parallel channel interleavers for 3GPP2/UMB |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WWE | Wipo information: entry into national phase |
Ref document number: 200780030783.6 Country of ref document: CN |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 07792768 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2008530909 Country of ref document: JP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 12377772 Country of ref document: US |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
NENP | Non-entry into the national phase |
Ref country code: RU |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 07792768 Country of ref document: EP Kind code of ref document: A1 |