GB2375463A - Configurable encoder - Google Patents

Configurable encoder Download PDF

Info

Publication number
GB2375463A
GB2375463A GB0111214A GB0111214A GB2375463A GB 2375463 A GB2375463 A GB 2375463A GB 0111214 A GB0111214 A GB 0111214A GB 0111214 A GB0111214 A GB 0111214A GB 2375463 A GB2375463 A GB 2375463A
Authority
GB
United Kingdom
Prior art keywords
register
encoding apparatus
points
output
input
Prior art date
Legal status (The legal status 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 status listed.)
Withdrawn
Application number
GB0111214A
Other versions
GB0111214D0 (en
Inventor
Robert Larkin
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Aeroflex Cambridge Ltd
Original Assignee
Ubinetics Ltd
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 Ubinetics Ltd filed Critical Ubinetics Ltd
Priority to GB0111214A priority Critical patent/GB2375463A/en
Publication of GB0111214D0 publication Critical patent/GB0111214D0/en
Priority to PCT/GB2002/002131 priority patent/WO2002091593A1/en
Publication of GB2375463A publication Critical patent/GB2375463A/en
Withdrawn legal-status Critical Current

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/65Purpose and implementation aspects
    • H03M13/6508Flexibility, adaptability, parametrability and configurability of the implementation
    • H03M13/6516Support of multiple code parameters, e.g. generalized Reed-Solomon decoder for a variety of generator polynomials or Galois fields
    • 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error 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/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Error Detection And Correction (AREA)

Abstract

A shift line of flip-flops D0 to D23 is used to generate a code word from an incoming bit-stream DATA. The output of the shift line is used to modify the incoming bit-stream at XOR gate 210. A multiplexer 212 selects one of the flip-flops to be the output of the shift line, thus controlling the length of the code word generated. Clock signals CLK are removed from the flip-flops which are not used to generate the code word. The input to the shift line can be used modify the outputs of the flip-flops in XOR operations, under the control of AND gates, e.g. 216. The AND gates dictate where the XOR operations occur in accordance with signals provided from a look-up table. Alternatively, the control signals for the AND gates may come from a logic circuit (Figure 3) or a programmable register (Figure 4).

Description

<Desc/Clms Page number 1>
CONFIGURABLE ENCODER The invention relates to encoders and encoding methods for generating code words from a bit-stream using a shift register.
In telecommunications, a known encoder produces cyclic redundancy checksums (CRCs) from data to be transmitted. The CRCs are transmitted with the data and can be used by equipment receiving the transmission in order to check'for errors in the received data.
Figure 1 illustrates a circuit for generating a CRC. The circuit comprises a linear feedback shift register (LFSR) 10 comprising a series of interconnected flip-flops DO to D7. The input to the LFSR 10 is provided to flip-flop DO and the output of the LFSR is taken from the output of flip-flop D7. The input bit-stream to the circuit, for which CRCs are to be generated, is input to an exclusive-or (XOR) gate 12, to the other input of which is supplied the output of the LFSR 10. The output of XOR gate 12 is provided as the input to the LFSR 10. Some more XOR gates 14,16, 18 and 20 are interspersed with the flip-flops of the LFSR 10. The purpose of each of the XOR gates 14 to 20 within the LFSR 10 is to modify the signal passing between the adjacent flip-flops by performing an XOR operation on the signal passing between the elements and the input to the LFSR (supplied by XOR gate 12). The CRC is the 8 bit word comprised by the contents of the LFSR.
As will be readily apparent to the skilled person, various types of CRC can be generated by altering the number of flip-flops in the LFSR, by altering the number of XOR gates interspersed with the flip-flops of the LFSR, and by altering the position of the XOR gates interspersed with the flip-flops of the LFSR. In practice, a device may need to generate several types of CRC, with the result that several types of CRC generator circuits are required.
An aim of the invention is to provide a more versatile way of generating code words such as CRCs.
According to one aspect, the invention provides encoding apparatus for generating code words from a bit-stream, comprising a shift register having an input, an output and a
<Desc/Clms Page number 2>
number of modification points at which signals passing through the register can be modified, combining means for combining a signal from the register output with the bit-stream to produce an input signal for the register input, modifying means suitable for combining, at the modification point or points, the input signal with the signals passing through the register, and configuring means for selecting a point along the register to be the register output.
, Thus, the invention provides a way in which the length of a shift register used to generate a code word, such as a CRC, can be varied between a maximum and a minimum value.
In a preferred embodiment, only the shift register elements up to and including the element selected to provide the register output are clocked. This saves electrical energy because the redundant shift line elements, i. e. the elements beyond the element selected to provide the register output, are not clocked.
In a preferred embodiment, the configuring means dictates the modification points at which the modifying means operates on the signals passing through the register. The modifying means may be instructed to operate at a single modification point or even not to operate at all. Advantageously, it is possible to use a control signal to select the point within the register which becomes the register output and also to dictate the modification point or points (if any) at which the modifying means operates on the signals passing through the register.
According to another aspect, the invention also provides encoding apparatus for generating code words from a bit-stream, comprising a shift register having an input, an output and a number of modification points at which signals passing through the register can be modified, combining means for combining a signal from the register output with the bit-stream to produce an input signal for the register input, modifying means suitable for combining, at the modification point or points, the input signal with the signals passing through the register, and configuring means for dictating the modification point or points at which the modifying means operates on the signals passing through the register.
<Desc/Clms Page number 3>
Thus, the invention provides a versatile way of generating code words since one can select the points within a register at which the signals being transferred through the register are to be modified.
In one embodiment, the points within the shift register at which modification occurs, i. e. the active modification points, are dictated by the output of a look-up table. Thus, a LUT
can be provided with data to cause the shift register to implement different types of , encoding, wherein the type of encoding employed is dependent upon a signal used to address the LUT. In another embodiment, the active modification points are dictated by the output of a logic circuit. A simple selection signal can be used as an input to the logic circuit to produce a relatively complex group of output signals for selecting the active modification points. In a further embodiment, the active modification points are dictated by the content of a reprogrammable memory which gives a useful amount of flexibility in the selection of the active modification points.
The term shift register, as used herein, refers to a sequence of storage elements through which data items can be passed (or"clocked"), regardless of whether the storage elements are co-located.
By way of example only, some embodiments of the invention will now be described with reference to the accompanying drawings, in which: Figure 1 illustrates a CRC encoder of conventional type; Figure 2 illustrates a configurable CRC encoder; Figure 3 illustrates a second type of configurable CRC encoder ; and Figure 4 illustrates a third type of configurable CRC encoder.
The configurable CRC encoder 200 of Figure 2 is based on a linear feedback shift register (LFSR) formed from flip-flops DO to D23. Data for which a CRC is to be generated is
<Desc/Clms Page number 4>
supplied as an input to XOR gate 210. The other input to XOR gate 210 is a feedback signal from the LFSR which is provided by multiplexer 212. The output of XOR gate 210 is provided to flip-flop DO as the input to the LFSR. The CRC generated by the encoder 200 is read from the LFSR as a signal CRCOUT. Data is stepped through the flip-flops of
the LFSR under the control of a clock signal CLK which is provided by a clock generator 214.
, The input signal to the LFSR (i. e. the output from XOR gate 210) is provided as an input to each of a group of AND gates, e. g. 216. Each of these AND gates receives a control signal as its other input. The output of each of the AND gates is provided as an input to a corresponding XOR gate, e. g. 218. These XOR gates are interleaved with the flip-flops of the LFSR. Each of these XOR gates follows a flip-flop from which it receives its other input. Each of these XOR gates provides its output as the input to the following flip-flop.
In essence, each of the AND gates acts as a switch for enabling and disabling the XOR gate connected to its output. Thus, by supplying appropriate selection signals to the AND gates, any desired number of the XOR gates in the LFSR can be enabled. This gives the encoder 200 the versatility to generate various types of CRCs.
In addition to varying the number of XOR gates within the LFSR that are active, the encoder 200 can also vary the length of the CRC that it generates. The inputs to the multiplexer 212 are provided by the outputs of flip-flops D7, Dll, D15 and D23. Thus, the length of the CRC generated is determined by which one of its inputs multiplexer 212 connects to its output.
The CRC generator 200 is arranged so that it can generate one of four possible types of CRC. The type of CRC generated is dictated by a control signal, MODE. The MODE signal is a 2-bit signal, which is therefore capable of assuming four 2-bit values. The MODE signal is supplied to the multiplexer 212 and the value of the MODE signal is used to select which of the four multiplexer inputs becomes the multiplexer output. The MODE signal is also supplied to a four entry look-up table (LUT) 220. The value of the MODE signal is used to address the LUT 220 and retrieve one of the four entries. Each of the four
<Desc/Clms Page number 5>
entries in the LUT 220 is a 23-bit number. Each of the bits is then used as the selection signal for a corresponding one of the AND gates.
When the MODE signal instructs the multiplexer to truncate the line of flip-flops in the LFSR, then the clock generator 214 removes the signal CLK from the unused flip-flops in order to save power. For example, if the multiplexer is controlled to pass the output of flip-flop D7 to the input of XOR gate 210, then the clock generator 214 removes the clock signal CLK from flip-flops D8 to D23.
Figure 3 illustrates a configurable CRC encoder 300 which differs from the encoder 200 in that the LUT 220 is replaced by a logic circuit 310. The 2-bits of the MODE signal form two inputs to the logic circuit 310. The outputs of the logic circuit 310 are the selection signals for the AND gate switches that control the XOR gates in the LFSR. The two single bit inputs to the logic circuit 310 provide four possible input states, which means that the outputs of the logic circuit 310 can assume only four states. The logic circuit 310 is configured so that it provides four desired output states, each corresponding to one of the four states of the MODE signal. In all other respects, the operation of encoder 300 is the same as encoder 200.
The configurable CRC encoder 400 of Figure 4 differs from the encoder 200 in that the LUT 220 has been replaced by a programmable register 410 and in that the MODE signal is now only supplied to the multiplexer 212. The programmable register is such that it can be loaded with a 23-bit word. Each of the bits of the word in the register 410 is used as a selection signal for controlling a respective one of the AND gate switches that control the XOR gates in the LFSR. The encoder 400 is particularly versatile since the register 410 can be reprogrammed as necessary to enable any desired combination of the XOR gates in the LFSR. The MODE signal is used by the multiplexer 212 in the same way as in previous embodiments, and in all other respects the operation of the encoder 400 is the same as that of encoder 200.
<Desc/Clms Page number 6>
It will be appreciated by the skilled person that the encoders shown in Figures 2 to 4 can be modified in many ways without departing from the scope of the invention. Some modifications will now be described by way of example.
The number of flip-flops in the LFSR can be changed from 24. Increasing the number of flip-flops increases the versatility in the type of CRC that can be generated, whereas reducing the number of flip-flops decreases this versatility.
I The multiplexer for feeding back the output of the LFSR can take its inputs from any of the flip-flops within the LFSR. In Figures 2 to 4, the multiplexer 212 takes its inputs from the outputs of flip-flops D7, D 11, D 15 and D23, which corresponds to the generation of 8,12, 16 and 24-bit CRCs respectively. The described embodiments use the outputs of these flip-flops to supply the multiplexer because they are for use with UMTS which utilises 8, 12,16 and 24-bit CRCs.
In the case where only certain known types of CRC are going to be used, the encoder can be optimised accordingly. For example, if only four types of CRC are to be generated, and none of these CRCs requires the use of a particular XOR gate, then that XOR gate, together with its controlling AND gate, can be omitted from the circuit. Similarly, if an XOR gate is always to be used, then its controlling AND gate can be replaced by a direct connection to the LFSR input signal (i. e. the signal output by XOR gate 210 in Figure 2).
Other modifications to the encoder will be apparent to the skilled person.

Claims (12)

  1. CLAIMS 1. Encoding apparatus for generating code words from a bit-stream, comprising a shift register having an input, an output and a number of modification points at which signals passing through the register can be modified, combining means for combining a signal from the register output with the bit-stream to produce an input signal for the register input, modifying means suitable for combining, at the modification point or points, the input signal with the signals passing through the register, and configuring means for selecting a point along the register to be the register output.
  2. 2. Encoding apparatus according to claim 1, further comprising clock signal distribution means for supplying clock signals only to parts of the register upto the output.
  3. 3. Encoding apparatus according to claim 1 or 2, wherein the configuring means is capable of dictating the modification point or points at which the modifying means operates on the signals passing through the register.
  4. 4. Encoding apparatus according to claim 3, wherein the configuring means uses a control signal to select the point which is to serve as the register output and to dictate the modification point or points at which the modifying means operates.
  5. 5. Encoding apparatus for generating code words from a bit-stream, comprising a shift register having an input, an output and a number of modification points at which signals passing through the register can be modified, combining means for combining a signal from the register output with the bit-stream to produce an input signal for the register input, modifying means suitable for combining, at the modification point or points, the input signal with the signals passing through the register, and configuring means for dictating the modification point or points at which the modifying means operates on the signals passing through the register.
    <Desc/Clms Page number 8>
  6. 6. Encoding apparatus according to any one of claims 3 to 5, wherein the configuring means comprises a look up table which is addressed using a control signal to produce signals for dictating the modification point or points at which the modifying means operates.
  7. 7. Encoding apparatus according to any one of claims 3 to 5, wherein the configuring
    means comprises logic means to which a control signal is input to produce signals for t dictating the modification point or points at which the modifying means operates.
  8. 8. Encoding apparatus according to any one of claims 3 to 5, wherein the configuring means comprises re-writable storage means for holding information for dictating the modification point or points at which the modifying means operates.
  9. 9. Encoding apparatus according to any one of claims 1 to 8, wherein the modification means is capable, at the or each modification point, of performing an XOR operation on the input signal and the signals passing through the register.
  10. 10. Encoding apparatus according to claim 9, wherein the or each modification point has an associated switch means for dictating whether the modifying means performs, at the corresponding modification point, the XOR operation on the input signal and the signals passing through the register.
  11. 11. Encoding apparatus according to any one of claims 1 to 10, wherein the combining means combines the bit-stream and the signal from the register output by performing an XOR operation on them.
  12. 12. Encoding apparatus substantially as hereinbefore described with reference to any one of Figures 2 to 4.
GB0111214A 2001-05-08 2001-05-08 Configurable encoder Withdrawn GB2375463A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
GB0111214A GB2375463A (en) 2001-05-08 2001-05-08 Configurable encoder
PCT/GB2002/002131 WO2002091593A1 (en) 2001-05-08 2002-05-08 Configurable crc-encoder

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB0111214A GB2375463A (en) 2001-05-08 2001-05-08 Configurable encoder

Publications (2)

Publication Number Publication Date
GB0111214D0 GB0111214D0 (en) 2001-06-27
GB2375463A true GB2375463A (en) 2002-11-13

Family

ID=9914211

Family Applications (1)

Application Number Title Priority Date Filing Date
GB0111214A Withdrawn GB2375463A (en) 2001-05-08 2001-05-08 Configurable encoder

Country Status (2)

Country Link
GB (1) GB2375463A (en)
WO (1) WO2002091593A1 (en)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7292620B2 (en) * 2002-12-31 2007-11-06 Intel Corporation Method and apparatus to generate a clock-based transmission
DE102007028767B4 (en) 2007-06-22 2016-01-28 Continental Teves Ag & Co. Ohg Bus communication circuit for the secure serial transmission of data and their use
CN102916706B (en) * 2012-11-21 2015-09-02 荣成市鼎通电子信息科技有限公司 QC-LDPC encoder and coding method in the CMMB of highly-parallel
CN102932013B (en) * 2012-11-21 2015-09-09 荣成市鼎通电子信息科技有限公司 Based on QC-LDPC parallel encoding method in the near-earth communication of look-up table
CN102938652B (en) * 2012-11-21 2015-09-09 荣成市鼎通电子信息科技有限公司 Based on parallel encoder and the coding method of the QC-LDPC code of look-up table
CN102970046B (en) * 2012-11-21 2015-10-28 荣成市鼎通电子信息科技有限公司 QC-LDPC encoder and coding method in the near-earth communication of highly-parallel
CN102932007B (en) * 2012-11-21 2016-06-22 苏州威士达信息科技有限公司 QC-LDPC encoder and coded method in the deep space communication of highly-parallel
CN102932011B (en) * 2012-11-22 2016-06-22 苏州威士达信息科技有限公司 Based on QC-LDPC parallel encoding method in the CMMB of look-up table

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3798597A (en) * 1972-06-26 1974-03-19 Honeywell Inf Systems System and method for effecting cyclic redundancy checking
US4713605A (en) * 1984-05-17 1987-12-15 Advanced Micro Devices, Inc. Linear feedback shift register for circuit design technology validation
EP0609595A1 (en) * 1993-02-05 1994-08-10 Hewlett-Packard Company Method and apparatus for verifying CRC codes
US5598424A (en) * 1991-01-16 1997-01-28 Xilinx, Inc. Error detection structure and method for serial or parallel data stream using partial polynomial check

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3678469A (en) * 1970-12-01 1972-07-18 Ibm Universal cyclic division circuit
JPS60257627A (en) * 1984-06-04 1985-12-19 Nippon Telegr & Teleph Corp <Ntt> Programmable syndrome arithmetic circuit
GB2302634A (en) * 1995-06-24 1997-01-22 Motorola Ltd Cyclic redundancy coder

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3798597A (en) * 1972-06-26 1974-03-19 Honeywell Inf Systems System and method for effecting cyclic redundancy checking
US4713605A (en) * 1984-05-17 1987-12-15 Advanced Micro Devices, Inc. Linear feedback shift register for circuit design technology validation
US5598424A (en) * 1991-01-16 1997-01-28 Xilinx, Inc. Error detection structure and method for serial or parallel data stream using partial polynomial check
EP0609595A1 (en) * 1993-02-05 1994-08-10 Hewlett-Packard Company Method and apparatus for verifying CRC codes

Also Published As

Publication number Publication date
GB0111214D0 (en) 2001-06-27
WO2002091593A1 (en) 2002-11-14

Similar Documents

Publication Publication Date Title
KR100206128B1 (en) Built-in self test circuit
EP0260413A2 (en) Circuit combining functions of cyclic redundancy check code and pseudo-random number generators
US6388466B1 (en) FPGA logic element with variable-length shift register capability
JP3512939B2 (en) Pseudo random number generation circuit and bidirectional shift register
GB2375463A (en) Configurable encoder
US6735239B1 (en) Sequence generator
US6501816B1 (en) Fully programmable multimodulus prescaler
US5574673A (en) Parallel architecture for generating pseudo-random sequences
US10200046B1 (en) High resolution and low power interpolator for delay chain
US6442579B1 (en) Low power linear feedback shift registers
KR960042749A (en) Programmable binary / interleaved sequence counters
US8122302B2 (en) Semiconductor device having adaptive power function
JP5119417B2 (en) Pseudo random number generator
US5144571A (en) Direct digital synthesizer with feedback shift register
US6738792B1 (en) Parallel mask generator
US6639435B2 (en) Adjustable frequency divider
US7054894B2 (en) Generator circuit for generating large numbers
EP0486851A2 (en) Direct digital synthesizer with feedback shift register
JP2009212930A (en) Input-level determination circuit
US10395703B2 (en) Column decoder of memory device
Wikner et al. D/A conversion with linear-coded weights
JP2002042484A5 (en)
JPH0798995A (en) Linear feedback shift register
CN116453578A (en) Cyclic redundancy check circuit and DDR memory
KR0157153B1 (en) Random number generator

Legal Events

Date Code Title Description
WAP Application withdrawn, taken to be withdrawn or refused ** after publication under section 16(1)